UNPKG

@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
"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(), });