@agentscope/studio
Version:
AgentScope Studio is a powerful local monitoring and visualization tool designed to provide real-time insights into your system's performance and behavior.
165 lines (164 loc) • 6.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetTraceStatisticParamsSchema = exports.GetTraceParamsSchema = exports.SocketEvents = exports.SocketRoomName = exports.TableRequestParamsSchema = exports.RegisterReplyParamsSchema = exports.ArrayElementContainsFilterOperator = exports.ArrayFilterOperator = exports.StringFilterOperator = exports.RangeFilterOperator = exports.NumericFilterOperator = void 0;
const zod_1 = require("zod");
/**
* Filter operators for table filtering
*/
// Numeric filter operators
var NumericFilterOperator;
(function (NumericFilterOperator) {
NumericFilterOperator["EQUALS"] = "eq";
NumericFilterOperator["NOT_EQUALS"] = "ne";
NumericFilterOperator["GREATER_THAN"] = "gt";
NumericFilterOperator["GREATER_THAN_OR_EQUAL"] = "gte";
NumericFilterOperator["LESS_THAN"] = "lt";
NumericFilterOperator["LESS_THAN_OR_EQUAL"] = "lte";
})(NumericFilterOperator || (exports.NumericFilterOperator = NumericFilterOperator = {}));
// Range filter operators
var RangeFilterOperator;
(function (RangeFilterOperator) {
RangeFilterOperator["BETWEEN"] = "between";
RangeFilterOperator["NOT_BETWEEN"] = "notBetween";
})(RangeFilterOperator || (exports.RangeFilterOperator = RangeFilterOperator = {}));
// String filter operators
var StringFilterOperator;
(function (StringFilterOperator) {
StringFilterOperator["CONTAINS"] = "contains";
StringFilterOperator["NOT_CONTAINS"] = "notContains";
})(StringFilterOperator || (exports.StringFilterOperator = StringFilterOperator = {}));
// Array filter operators
var ArrayFilterOperator;
(function (ArrayFilterOperator) {
// Check if a value is in an array of possible values
// e.g., status IN ['active', 'pending'] - checks if status value is one of ['active', 'pending']
ArrayFilterOperator["IN"] = "in";
ArrayFilterOperator["NOT_IN"] = "notIn";
})(ArrayFilterOperator || (exports.ArrayFilterOperator = ArrayFilterOperator = {}));
var ArrayElementContainsFilterOperator;
(function (ArrayElementContainsFilterOperator) {
// Check if any element in array contains a substring
// e.g., tags ARRAY_ELEMENT_CONTAINS 'ab' - checks if any element in ['abc', 'def'] contains 'ab'
// any(element.includes(value) for element in array)
ArrayElementContainsFilterOperator["ARRAY_ELEMENT_CONTAINS"] = "arrayElementContains";
ArrayElementContainsFilterOperator["ARRAY_ELEMENT_NOT_CONTAINS"] = "arrayElementNotContains";
})(ArrayElementContainsFilterOperator || (exports.ArrayElementContainsFilterOperator = ArrayElementContainsFilterOperator = {}));
// Define filter value schemas for different operator types
const NumericFilterSchema = zod_1.z.object({
operator: zod_1.z.nativeEnum(NumericFilterOperator),
value: zod_1.z.number(),
});
const RangeFilterSchema = zod_1.z.object({
operator: zod_1.z.nativeEnum(RangeFilterOperator),
value: zod_1.z.tuple([zod_1.z.number(), zod_1.z.number()]),
});
// String range filter for timestamp comparisons (BigInt as string)
const StringRangeFilterSchema = zod_1.z.object({
operator: zod_1.z.nativeEnum(RangeFilterOperator),
value: zod_1.z.tuple([zod_1.z.string(), zod_1.z.string()]),
});
const StringFilterSchema = zod_1.z.object({
operator: zod_1.z.nativeEnum(StringFilterOperator),
value: zod_1.z.string(),
});
const ArrayFilterSchema = zod_1.z.object({
operator: zod_1.z.nativeEnum(ArrayFilterOperator),
value: zod_1.z.array(zod_1.z.unknown()),
});
const ArrayElementContainsFilterSchema = zod_1.z.object({
operator: zod_1.z.nativeEnum(ArrayElementContainsFilterOperator),
value: zod_1.z.string(), // Substring to search for in array elements
});
const BasicTableParamsSchema = {
pagination: zod_1.z.object({
page: zod_1.z.number().int().min(1),
pageSize: zod_1.z.number().int().min(10),
}),
sort: zod_1.z
.object({
field: zod_1.z.string(),
order: zod_1.z.enum(['asc', 'desc']),
})
.optional(),
filters: zod_1.z
.record(zod_1.z.union([
NumericFilterSchema,
RangeFilterSchema,
StringRangeFilterSchema,
StringFilterSchema,
ArrayFilterSchema,
ArrayElementContainsFilterSchema,
]))
.optional(),
};
exports.RegisterReplyParamsSchema = zod_1.z.object({
runId: zod_1.z.string(),
replyId: zod_1.z.string(),
replyRole: zod_1.z.string(),
replyName: zod_1.z.string(),
createdAt: zod_1.z.string(),
});
/**
* Zod schema for table request parameters.
* This schema validates the structure of the request parameters used for table-related operations.
*/
exports.TableRequestParamsSchema = zod_1.z.object(BasicTableParamsSchema);
exports.SocketRoomName = {
ProjectListRoom: 'ProjectListRoom',
OverviewRoom: 'OverviewRoom',
FridayAppRoom: 'FridayAppRoom',
};
exports.SocketEvents = {
python: {
requestUserInput: 'requestUserInput',
},
server: {
// To client:
// dashboard room
pushOverviewData: 'pushOverviewData',
// projectList room
pushProjects: 'pushProjects',
// project room
pushRunsData: 'pushRunsData',
// run room
pushRunData: 'pushRunData',
pushInputRequests: 'pushInputRequests',
clearInputRequests: 'clearInputRequests',
pushMessages: 'pushMessages',
pushSpeech: 'pushSpeech',
pushSpans: 'pushSpans',
pushModelInvocationData: 'pushModelInvocationData',
// Friday app room
pushReplies: 'pushReplies',
pushReplyingState: 'pushReplyingState',
interruptReply: 'interrupt',
// To python:
// send the user input
forwardUserInput: 'forwardUserInput',
},
client: {
cleanHistoryOfFridayApp: 'cleanHistoryOfFridayApp',
joinOverviewRoom: 'joinOverviewRoom',
joinProjectListRoom: 'joinProjectListRoom',
joinProjectRoom: 'joinProjectRoom',
joinRunRoom: 'joinRunRoom',
getFridayConfig: 'getFridayConfig',
saveFridayConfig: 'saveFridayConfig',
installFridayRequirements: 'installFridayRequirements',
joinFridayAppRoom: 'joinFridayAppRoom',
verifyFridayConfig: 'verifyFridayConfig',
leaveRoom: 'leaveRoom',
sendUserInputToServer: 'sendUserInputToServer',
sendUserInputToFridayApp: 'sendUserInputToFridayApp',
interruptReplyOfFridayApp: 'interruptReplyOfFridayApp',
deleteProjects: 'deleteProjects',
deleteRuns: 'deleteRuns',
},
};
exports.GetTraceParamsSchema = zod_1.z.object({
traceId: zod_1.z.string(),
});
exports.GetTraceStatisticParamsSchema = zod_1.z.object({
startTime: zod_1.z.string().optional(),
endTime: zod_1.z.string().optional(),
});