@mastra/server 1.61.0-alpha.2 → 1.61.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/dist/{api-schema-manifest-Bx_zU5qw.js → api-schema-manifest-BxnLWV5l.js} +2 -2
- package/dist/{api-schema-manifest-Bx_zU5qw.js.map → api-schema-manifest-BxnLWV5l.js.map} +1 -1
- package/dist/{api-schema-manifest-DPgfugJT.cjs → api-schema-manifest-Cbonk0PF.cjs} +2 -2
- package/dist/{api-schema-manifest-DPgfugJT.cjs.map → api-schema-manifest-Cbonk0PF.cjs.map} +1 -1
- package/dist/{datasets-D2JdQI44.cjs → datasets-CNtKg_3d.cjs} +80 -6
- package/dist/datasets-CNtKg_3d.cjs.map +1 -0
- package/dist/{datasets-Dr1pCC6P.js → datasets-DmN9V4rU.js} +57 -7
- package/dist/datasets-DmN9V4rU.js.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/reference-server-routes.md +111 -0
- package/dist/{routes-Bh2p-WqG.js → routes-B6F4QBgN.js} +5 -2
- package/dist/routes-B6F4QBgN.js.map +1 -0
- package/dist/{routes-CdbboDwv.cjs → routes-DGwUTyHr.cjs} +4 -1
- package/dist/routes-DGwUTyHr.cjs.map +1 -0
- package/dist/server/handlers/datasets.cjs +125 -6
- package/dist/server/handlers/datasets.cjs.map +1 -1
- package/dist/server/handlers/datasets.d.ts +470 -22
- package/dist/server/handlers/datasets.d.ts.map +1 -1
- package/dist/server/handlers/datasets.js +123 -7
- package/dist/server/handlers/datasets.js.map +1 -1
- package/dist/server/handlers/system.cjs +1 -1
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/schemas/datasets.d.ts +117 -10
- package/dist/server/schemas/datasets.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +5 -1
- package/dist/server/schemas/index.js +2 -2
- package/dist/server/server-adapter/index.cjs +1 -1
- package/dist/server/server-adapter/index.js +1 -1
- package/dist/server/server-adapter/routes/datasets.d.ts +467 -22
- package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/datasets-D2JdQI44.cjs.map +0 -1
- package/dist/datasets-Dr1pCC6P.js.map +0 -1
- package/dist/routes-Bh2p-WqG.js.map +0 -1
- package/dist/routes-CdbboDwv.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasets-DmN9V4rU.js","names":[],"sources":["../src/server/schemas/datasets.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema } from './common';\n\n// ============================================================================\n// JSON Schema Types (for inputSchema/groundTruthSchema fields)\n// ============================================================================\n\n// JSON Schema type (simplified for storage - full spec too complex)\nconst jsonSchemaObject: z.ZodType<Record<string, unknown>> = z.lazy(() => z.record(z.string(), z.unknown()));\n\n// JSON Schema field (object or null to disable)\nconst jsonSchemaField = z.union([jsonSchemaObject, z.null()]).optional();\n\n// ============================================================================\n// Trajectory Expectation Schema (2 levels deep, children at level 2 use z.unknown())\n// ============================================================================\n\n// Shared base fields for expected steps (level 2 — children typed as z.unknown())\nconst expectedStepBase = {\n name: z.string().describe('Step name to match'),\n durationMs: z.number().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n children: z.unknown().optional().describe('Nested trajectory expectation (untyped at this depth)'),\n};\n\n// Typed step variants keyed by stepType\nconst expectedToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedMcpToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('mcp_tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n mcpServer: z.string().optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedModelGenerationStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('model_generation'),\n modelId: z.string().optional(),\n promptTokens: z.number().optional(),\n completionTokens: z.number().optional(),\n finishReason: z.string().optional(),\n});\n\nconst expectedAgentRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('agent_run'),\n agentId: z.string().optional(),\n});\n\nconst expectedWorkflowStepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_step'),\n stepId: z.string().optional(),\n status: z.string().optional(),\n output: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst expectedWorkflowRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_run'),\n workflowId: z.string().optional(),\n status: z.string().optional(),\n});\n\nconst expectedWorkflowConditionalStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_conditional'),\n conditionCount: z.number().optional(),\n selectedSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowParallelStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_parallel'),\n branchCount: z.number().optional(),\n parallelSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowLoopStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_loop'),\n loopType: z.string().optional(),\n totalIterations: z.number().optional(),\n});\n\nconst expectedWorkflowSleepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_sleep'),\n sleepDurationMs: z.number().optional(),\n sleepType: z.string().optional(),\n});\n\nconst expectedWorkflowWaitEventStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_wait_event'),\n eventName: z.string().optional(),\n eventReceived: z.boolean().optional(),\n});\n\nconst expectedProcessorRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('processor_run'),\n processorId: z.string().optional(),\n});\n\n// Generic step (no stepType — matches by name only)\nconst expectedGenericStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.undefined().optional(),\n});\n\n// Union of all expected step types\nconst expectedStepSchema = z.union([\n z.discriminatedUnion('stepType', [\n expectedToolCallStepSchema,\n expectedMcpToolCallStepSchema,\n expectedModelGenerationStepSchema,\n expectedAgentRunStepSchema,\n expectedWorkflowStepStepSchema,\n expectedWorkflowRunStepSchema,\n expectedWorkflowConditionalStepSchema,\n expectedWorkflowParallelStepSchema,\n expectedWorkflowLoopStepSchema,\n expectedWorkflowSleepStepSchema,\n expectedWorkflowWaitEventStepSchema,\n expectedProcessorRunStepSchema,\n ]),\n expectedGenericStepSchema,\n]);\n\n// Full TrajectoryExpectation schema\nconst trajectoryExpectationSchema = z\n .object({\n // Accuracy\n steps: z.array(expectedStepSchema).optional().describe('Expected steps for accuracy checking'),\n ordering: z\n .enum(['strict', 'relaxed', 'unordered'])\n .optional()\n .describe('How to compare step ordering (default: relaxed)'),\n allowRepeatedSteps: z.boolean().optional().describe('Whether to allow repeated steps (default: true)'),\n\n // Efficiency\n maxSteps: z.number().int().optional().describe('Maximum number of steps allowed'),\n maxTotalTokens: z.number().int().optional().describe('Maximum total tokens across all model_generation steps'),\n maxTotalDurationMs: z.number().optional().describe('Maximum total duration in milliseconds'),\n noRedundantCalls: z\n .boolean()\n .optional()\n .describe('Whether to penalize redundant calls (same tool + same args consecutively, default: true)'),\n\n // Blacklist\n blacklistedTools: z.array(z.string()).optional().describe('Tool names that should never appear'),\n blacklistedSequences: z\n .array(z.array(z.string()))\n .optional()\n .describe('Tool name sequences that should never appear'),\n\n // Tool failure tolerance\n maxRetriesPerTool: z.number().int().optional().describe('Maximum retries per tool before penalizing (default: 2)'),\n })\n .optional()\n .nullable()\n .describe('Expected trajectory configuration for trajectory scoring');\n\n// Dataset item source tracking\nconst datasetItemSourceSchema = z\n .object({\n type: z\n .enum(['csv', 'json', 'trace', 'llm', 'experiment-result', 'candidate-screener'])\n .describe('How this item was created'),\n referenceId: z.string().optional().describe('Reference identifier (e.g., trace id, csv filename)'),\n })\n .optional()\n .describe('Source/provenance of this dataset item');\n\n// Item-level static tool mocks (agent targets only).\nconst itemToolMockSchema = z.object({\n toolName: z.string().describe('Name of the tool this mock applies to'),\n args: z.record(z.string(), z.unknown()).describe('Arguments to match against the tool call'),\n output: z.unknown().describe('Output served to the agent when matched'),\n matchArgs: z\n .enum(['strict', 'ignore'])\n .optional()\n .describe(\"Argument matching mode. 'strict' (default) deep-equals args; 'ignore' matches on toolName only\"),\n});\n\nconst toolMocksSchema = z\n .array(itemToolMockSchema)\n .optional()\n .describe('Ordered item-level static tool mocks served in place of executing the real tool');\n\nconst unmockedToolPolicySchema = z\n .enum(['allow', 'deny'])\n .optional()\n .describe(\"Policy for undeclared tool calls. 'allow' runs them live; 'deny' fails the experiment item\");\n\n// Diagnostic receipt for item-level tool mocks, persisted on experiment results.\nconst toolMockReportSchema = z\n .object({\n served: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n unconsumed: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n liveCalls: z.array(z.object({ toolName: z.string(), args: z.unknown() })),\n failure: z\n .object({\n code: z.enum(['TOOL_MOCK_MISMATCH', 'TOOL_MOCK_EXHAUSTED', 'TOOL_MOCK_NOT_DECLARED']),\n toolName: z.string(),\n args: z.unknown(),\n })\n .optional(),\n })\n .optional()\n .describe('Diagnostic receipt for item-level tool mocks');\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const datasetIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n});\n\nexport const experimentIdPathParams = z.object({\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const itemIdPathParams = z.object({\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndExperimentIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const experimentResultIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n resultId: z.string().describe('Unique identifier for the experiment result'),\n});\n\nexport const datasetExperimentAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\nexport const paginationQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n});\n\nexport const listExperimentsQuerySchema = paginationQuerySchema.extend({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.coerce.number().int().min(0).optional(),\n});\n\nexport const tenancyQuerySchema = z.object({\n organizationId: z.string().optional().describe('Restrict lookup to the given organization'),\n projectId: z.string().optional().describe('Restrict lookup to the given project'),\n});\n\nexport const listItemsQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n});\n\n// ============================================================================\n// Request Body Schemas\n// ============================================================================\n\nexport const createDatasetBodySchema = z.object({\n name: z.string().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const updateDatasetBodySchema = z.object({\n name: z.string().optional().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n tags: z.array(z.string()).optional().describe('Tag definitions for categorizing experiment results'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const addItemBodySchema = z.object({\n externalId: z.string().optional().nullable().describe('Caller-defined, dataset-local item identity'),\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers selected for this item'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const updateItemBodySchema = z.object({\n input: z.unknown().optional().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers selected for this item'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const triggerExperimentBodySchema = z.object({\n start: z\n .boolean()\n .optional()\n .describe(\n 'When true (default), spawns the in-process runner. When false, creates the experiment without running it: the caller drives the loop via run-item (targeted) or result submission (target-less).',\n ),\n targetType: z\n .enum(['agent', 'workflow', 'scorer'])\n .optional()\n .describe('Type of target to run against. Required when start is true. Optional for create-only experiments.'),\n targetId: z.string().optional().describe('ID of the target. Required when targetType is set.'),\n id: z\n .string()\n .optional()\n .describe(\n 'Caller-supplied experiment id (e.g. a workflow run id) for idempotent create-only requests. Ignored when start is true.',\n ),\n name: z.string().optional().describe('Name of the experiment'),\n description: z.string().optional().describe('Description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers to apply'),\n version: z.coerce.number().int().optional().describe('Pin to specific dataset version'),\n agentVersion: z.string().optional().describe('Agent version ID to use for experiment'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .optional()\n .describe('Caller-provided provenance claims for the experiment execution'),\n grouping: z\n .object({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.number().int().min(0).optional(),\n })\n .optional()\n .describe('Stable grouping dimensions for comparisons and repeated trials'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional()\n .describe('Version overrides for sub-agent delegation during experiment execution'),\n});\n\nexport const runExperimentItemBodySchema = z.object({\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n requestContext: z\n .record(z.string(), z.unknown())\n .optional()\n .describe(\"Request context merged with the item's own request context (item wins)\"),\n});\n\nexport const submitExperimentResultBodySchema = z.object({\n itemId: z.string().describe('Dataset item this result belongs to'),\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n input: z.unknown().optional().describe('Input replayed by the external runner. Defaults to the dataset item input.'),\n output: z.unknown().optional().describe('Output produced by the external runner'),\n groundTruth: z.unknown().optional().describe('Ground truth. Defaults to the dataset item groundTruth.'),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable()\n .optional()\n .describe('Failure info when the item run failed'),\n startedAt: z.coerce.date().optional(),\n completedAt: z.coerce.date().optional(),\n traceId: z.string().optional(),\n scores: z\n .array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string().optional(),\n score: z.number(),\n reason: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .optional()\n .describe('Externally computed scores, persisted keyed by runId = experimentId'),\n});\n\nexport const compareExperimentsBodySchema = z.object({\n experimentIdA: z.string().describe('ID of baseline experiment'),\n experimentIdB: z.string().describe('ID of candidate experiment'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n// Dataset entity schema\nexport const datasetResponseSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n inputSchema: z.record(z.string(), z.unknown()).optional(),\n groundTruthSchema: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.record(z.string(), z.unknown()).optional(),\n tags: z.array(z.string()).optional().nullable(),\n targetType: z.string().optional().nullable(),\n targetIds: z.array(z.string()).optional().nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Dataset item entity schema\nexport const datasetItemResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Experiment entity schema\nexport const experimentResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string().nullable(),\n datasetVersion: z.number().int().nullable(),\n agentVersion: z.string().nullable().optional(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']).nullable(),\n targetId: z.string().nullable(),\n scorerIds: z.array(z.string()).nullable().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .nullable()\n .optional(),\n runnerAttestation: z\n .object({\n runnerId: z.string(),\n invocationId: z.string(),\n runnerVersion: z.string().optional(),\n })\n .nullable()\n .optional(),\n experimentSetId: z.string().nullable().optional(),\n comparisonId: z.string().nullable().optional(),\n variantId: z.string().nullable().optional(),\n trialIndex: z.number().int().nullable().optional(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n skippedCount: z.number(),\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Scorer result schema\nexport const scorerResultSchema = z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n});\n\n// Experiment result entity schema\nexport const experimentResultResponseSchema = z.object({\n id: z.string(),\n experimentId: z.string(),\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n expectedTrajectory: z.unknown().optional(),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n attempt: z.number().int().optional(),\n traceId: z.string().nullable(),\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n comment: z.string().nullable().optional(),\n toolMockReport: toolMockReportSchema.nullable(),\n createdAt: z.coerce.date(),\n});\n\n// Returned by the run-item route: the upserted result row plus the scorer runs.\nexport const runExperimentItemResponseSchema = z.object({\n result: experimentResultResponseSchema,\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n failedStep: z.string().optional(),\n completedSteps: z.array(z.string()).optional(),\n targetScope: z.enum(['span', 'trajectory']).optional(),\n stepId: z.string().optional(),\n }),\n ),\n});\n\nexport const updateExperimentResultBodySchema = z.object({\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).optional(),\n comment: z.string().nullable().optional(),\n});\n\n// Comparison item schema (MVP shape)\nconst comparisonItemSchema = z.object({\n itemId: z.string(),\n input: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n results: z.record(\n z.string(),\n z\n .object({\n output: z.unknown().nullable(),\n scores: z.record(z.string(), z.number().nullable()),\n })\n .nullable(),\n ),\n});\n\n// Comparison result schema\nexport const comparisonResponseSchema = z.object({\n baselineId: z.string(),\n items: z.array(comparisonItemSchema),\n});\n\n// Experiment summary schema (returned by trigger experiment)\n// Note: completedAt is nullable for pending/running experiments (async trigger)\nexport const experimentSummaryResponseSchema = z.object({\n experimentId: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n datasetVersion: z.number().int().optional().describe('Dataset version pinned on the experiment (create-only)'),\n // Nullable: a create-only request returns the persisted startedAt, which is\n // null until the experiment transitions to running.\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n results: z.array(\n z.object({\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n toolMockReport: toolMockReportSchema.nullable(),\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n }),\n ),\n }),\n ),\n});\n\n// ============================================================================\n// List Response Schemas\n// ============================================================================\n\nexport const listDatasetsResponseSchema = z.object({\n datasets: z.array(datasetResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentsResponseSchema = z.object({\n experiments: z.array(experimentResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentResultsResponseSchema = z.object({\n results: z.array(experimentResultResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const experimentReviewCountsSchema = z.object({\n experimentId: z.string(),\n total: z.number().int(),\n needsReview: z.number().int(),\n reviewed: z.number().int(),\n complete: z.number().int(),\n});\n\nexport const reviewSummaryResponseSchema = z.object({\n counts: z.array(experimentReviewCountsSchema),\n});\n\n// ============================================================================\n// Version Schemas\n// ============================================================================\n\n// Path params for item version routes\nexport const datasetItemVersionPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n datasetVersion: z.coerce.number().int().describe('Dataset version number'),\n});\n\n// Item history row response schema (SCD-2 DatasetItemRow shape)\nexport const itemVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n validTo: z.number().int().nullable(),\n isDeleted: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const listItemVersionsResponseSchema = z.object({\n history: z.array(itemVersionResponseSchema),\n});\n\n// Dataset version response schema\nexport const datasetVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n});\n\nexport const listDatasetVersionsResponseSchema = z.object({\n versions: z.array(datasetVersionResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Batch Operation Schemas\n// ============================================================================\n\nexport const batchInsertItemsBodySchema = z.object({\n items: z.array(\n z.object({\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\n }),\n ),\n});\n\nexport const batchInsertItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n count: z.number(),\n});\n\nexport const batchDeleteItemsBodySchema = z.object({\n itemIds: z.array(z.string()),\n});\n\nexport const batchDeleteItemsResponseSchema = z.object({\n success: z.boolean(),\n deletedCount: z.number(),\n});\n\n// ============================================================================\n// AI Generation Schemas\n// ============================================================================\n\nexport const generateItemsBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n prompt: z.string().describe('Description of the kind of test data to generate'),\n count: z.number().int().min(1).max(50).default(5).describe('Number of items to generate'),\n agentContext: z\n .object({\n description: z.string().optional(),\n instructions: z.string().optional(),\n tools: z.array(z.string()).optional(),\n })\n .optional()\n .describe('Context about the agent to generate relevant test data'),\n});\n\nconst generatedItemSchema = z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n});\n\nexport const generateItemsResponseSchema = z.object({\n items: z.array(generatedItemSchema),\n});\n\n// ============================================================================\n// Cluster Failures\n// ============================================================================\n\nexport const clusterFailuresBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n items: z\n .array(\n z.object({\n id: z.string(),\n input: z.unknown(),\n output: z.unknown().optional(),\n error: z.string().optional(),\n scores: z.record(z.string(), z.number()).optional(),\n existingTags: z.array(z.string()).optional().describe('Tags already applied to this item'),\n }),\n )\n .min(1)\n .max(200)\n .describe('Failure items to cluster'),\n availableTags: z\n .array(z.string())\n .optional()\n .describe('Existing tag vocabulary from the dataset. The LLM should prefer reusing these tags when applicable.'),\n prompt: z\n .string()\n .optional()\n .describe('Optional user instructions to guide the analysis (e.g., \"focus on tool usage failures\")'),\n});\n\nconst failureClusterSchema = z.object({\n id: z.string().describe('A unique cluster identifier'),\n label: z.string().describe('Short label for this failure pattern'),\n description: z.string().describe('Description of the common pattern'),\n itemIds: z.array(z.string()).describe('IDs of items belonging to this cluster'),\n});\n\nexport const clusterFailuresResponseSchema = z.object({\n clusters: z.array(failureClusterSchema),\n /** Per-item proposed tag assignments. Each entry maps an item ID to the tags the LLM suggests adding. */\n proposedTags: z\n .array(\n z.object({\n itemId: z.string(),\n tags: z.array(z.string()),\n reason: z.string().describe('Brief explanation of why these tags were assigned to this item'),\n }),\n )\n .optional(),\n});\n"],"mappings":"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"}
|
package/dist/docs/SKILL.md
CHANGED
|
@@ -368,6 +368,117 @@ On authenticated servers, the read routes require the `stored-workflows:read` pe
|
|
|
368
368
|
}
|
|
369
369
|
```
|
|
370
370
|
|
|
371
|
+
## Datasets and experiments
|
|
372
|
+
|
|
373
|
+
| Method | Path | Description |
|
|
374
|
+
| -------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
375
|
+
| `GET` | `/api/datasets` | List datasets |
|
|
376
|
+
| `POST` | `/api/datasets` | Create a dataset |
|
|
377
|
+
| `GET` | `/api/datasets/:datasetId` | Get dataset by ID |
|
|
378
|
+
| `PATCH` | `/api/datasets/:datasetId` | Update a dataset |
|
|
379
|
+
| `DELETE` | `/api/datasets/:datasetId` | Delete a dataset |
|
|
380
|
+
| `GET` | `/api/datasets/:datasetId/items` | List dataset items |
|
|
381
|
+
| `POST` | `/api/datasets/:datasetId/items` | Add a dataset item |
|
|
382
|
+
| `GET` | `/api/experiments` | List experiments across datasets |
|
|
383
|
+
| `GET` | `/api/datasets/:datasetId/experiments` | List experiments for a dataset |
|
|
384
|
+
| `POST` | `/api/datasets/:datasetId/experiments` | Trigger an experiment, or create one without starting it (`start: false`) |
|
|
385
|
+
| `POST` | `/api/datasets/:datasetId/experiments/:experimentId/items/:itemId/run` | Execute one experiment item server-side |
|
|
386
|
+
| `POST` | `/api/datasets/:datasetId/experiments/:experimentId/results` | Submit an externally computed item result |
|
|
387
|
+
| `POST` | `/api/datasets/:datasetId/experiments/:experimentId/finalize` | Finalize a caller-driven experiment |
|
|
388
|
+
| `GET` | `/api/datasets/:datasetId/experiments/:experimentId` | Get experiment by ID |
|
|
389
|
+
| `GET` | `/api/datasets/:datasetId/experiments/:experimentId/results` | List experiment results |
|
|
390
|
+
| `POST` | `/api/datasets/:datasetId/compare` | Compare two experiments |
|
|
391
|
+
|
|
392
|
+
### Caller-driven experiment routes
|
|
393
|
+
|
|
394
|
+
Use these routes when your own orchestrator (for example a Temporal workflow) owns the experiment loop and Mastra acts as the system of record. Item runs, result submission, and finalization are safe to retry. Creation is safe to retry only when the request includes a caller-supplied `id`; without one, each retry creates a new experiment. Item runs and result submissions upsert on `(experimentId, itemId, attempt)`. Finalize returns the stored record if the experiment is already completed.
|
|
395
|
+
|
|
396
|
+
#### Create experiment request body
|
|
397
|
+
|
|
398
|
+
Post to `/api/datasets/:datasetId/experiments` with `start: false` to create the experiment without running it. Include `targetType` and `targetId` when Mastra should execute items via the run-item route. Omit both for pure ingestion via the results route.
|
|
399
|
+
|
|
400
|
+
```typescript
|
|
401
|
+
{
|
|
402
|
+
start?: boolean; // false creates the experiment without running it. Defaults to true.
|
|
403
|
+
id?: string; // Caller-supplied experiment id (e.g. a workflow run id) for idempotent creates
|
|
404
|
+
targetType?: 'agent' | 'workflow' | 'scorer'; // Provide with targetId, or omit both
|
|
405
|
+
targetId?: string;
|
|
406
|
+
scorerIds?: string[]; // Run-level scorer ids, resolved server-side. Requires a target when start is false.
|
|
407
|
+
name?: string;
|
|
408
|
+
description?: string;
|
|
409
|
+
metadata?: Record<string, unknown>;
|
|
410
|
+
version?: number; // Pin to a specific dataset version (defaults to latest)
|
|
411
|
+
provenance?: {
|
|
412
|
+
source?: string;
|
|
413
|
+
sourceId?: string;
|
|
414
|
+
sourceVersion?: string;
|
|
415
|
+
metadata?: Record<string, unknown>;
|
|
416
|
+
};
|
|
417
|
+
grouping?: { // Stable grouping dimensions for comparisons and repeated trials
|
|
418
|
+
experimentSetId?: string;
|
|
419
|
+
comparisonId?: string;
|
|
420
|
+
variantId?: string;
|
|
421
|
+
trialIndex?: number;
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Returns `{ experimentId, status, totalItems, datasetVersion }` when `start` is `false`.
|
|
427
|
+
|
|
428
|
+
#### Run experiment item request body
|
|
429
|
+
|
|
430
|
+
`POST /api/datasets/:datasetId/experiments/:experimentId/items/:itemId/run` executes the experiment's target against one item and runs the resolved scorers, then upserts the result. Requires an experiment created with a target.
|
|
431
|
+
|
|
432
|
+
```typescript
|
|
433
|
+
{
|
|
434
|
+
attempt?: number; // Zero-based repetition index. Defaults to 0.
|
|
435
|
+
requestContext?: Record<string, unknown>; // Merged with the item's own request context (item wins)
|
|
436
|
+
}
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
Returns `{ result, scores }` with the persisted result row and the scores produced for the item.
|
|
440
|
+
|
|
441
|
+
#### Submit experiment result request body
|
|
442
|
+
|
|
443
|
+
```typescript
|
|
444
|
+
{
|
|
445
|
+
itemId: string; // Dataset item this result belongs to
|
|
446
|
+
attempt?: number; // Zero-based repetition index. Defaults to 0.
|
|
447
|
+
input?: unknown; // Defaults to the dataset item input
|
|
448
|
+
output?: unknown; // Output produced by the external runner
|
|
449
|
+
groundTruth?: unknown; // Defaults to the dataset item groundTruth
|
|
450
|
+
error?: { // Failure info when the item run failed
|
|
451
|
+
message: string;
|
|
452
|
+
stack?: string;
|
|
453
|
+
code?: string;
|
|
454
|
+
} | null;
|
|
455
|
+
startedAt?: string; // ISO date
|
|
456
|
+
completedAt?: string; // ISO date
|
|
457
|
+
traceId?: string;
|
|
458
|
+
scores?: Array<{ // Externally computed scores, persisted keyed by runId = experimentId
|
|
459
|
+
scorerId: string;
|
|
460
|
+
scorerName?: string;
|
|
461
|
+
score: number;
|
|
462
|
+
reason?: string;
|
|
463
|
+
metadata?: Record<string, unknown>;
|
|
464
|
+
}>;
|
|
465
|
+
}
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
Returns the persisted experiment result row.
|
|
469
|
+
|
|
470
|
+
#### Finalize experiment
|
|
471
|
+
|
|
472
|
+
`POST /api/datasets/:datasetId/experiments/:experimentId/finalize` takes no body. The server computes per-item counts from the persisted result rows and marks the experiment `completed`: `succeededCount` (at least one attempt without an error), `failedCount` (every attempt errored), and `skippedCount` (never submitted). Returns the updated experiment record.
|
|
473
|
+
|
|
474
|
+
#### Caller-driven experiment error responses
|
|
475
|
+
|
|
476
|
+
| Status | Condition |
|
|
477
|
+
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
478
|
+
| `400` | Result submitted to an experiment that has a target (`EXPERIMENT_HAS_TARGET`), item run requested on a target-less experiment (`EXPERIMENT_HAS_NO_TARGET`), `targetType` and `targetId` weren't provided together (`EXPERIMENT_INVALID_TARGET`), or the dataset has no items at the pinned version (`EXPERIMENT_NO_ITEMS`) |
|
|
479
|
+
| `404` | Dataset, experiment, dataset item, or target not found (`EXPERIMENT_TARGET_NOT_FOUND`) |
|
|
480
|
+
| `409` | Caller-supplied experiment `id` already exists for a different dataset or target (`EXPERIMENT_ID_CONFLICT`), or a call arrived after finalization (`EXPERIMENT_ALREADY_FINALIZED`) |
|
|
481
|
+
|
|
371
482
|
## MCP
|
|
372
483
|
|
|
373
484
|
| Method | Path | Description |
|
|
@@ -23,7 +23,7 @@ import { ACTIVATE_AGENT_VERSION_ROUTE, COMPARE_AGENT_VERSIONS_ROUTE, CREATE_AGEN
|
|
|
23
23
|
import { n as GET_BACKGROUND_TASK_ROUTE, r as LIST_BACKGROUND_TASKS_ROUTE, t as BACKGROUND_TASK_STREAM_ROUTE } from "./background-tasks-BtWM0sZs.js";
|
|
24
24
|
import { a as LIST_BUILDER_REGISTRIES_ROUTE, i as BUILDER_REGISTRY_SEARCH_ROUTE, n as BUILDER_REGISTRY_POPULAR_ROUTE, r as BUILDER_REGISTRY_PREVIEW_ROUTE, t as BUILDER_REGISTRY_INSTALL_ROUTE } from "./builder-registry-DnEa4qnF.js";
|
|
25
25
|
import { i as LIST_CHANNEL_PLATFORMS_ROUTE, n as DISCONNECT_CHANNEL_ROUTE, r as LIST_CHANNEL_INSTALLATIONS_ROUTE, t as CONNECT_CHANNEL_ROUTE } from "./channels-BO3Zd38V.js";
|
|
26
|
-
import { ADD_ITEM_ROUTE, BATCH_DELETE_ITEMS_ROUTE, BATCH_INSERT_ITEMS_ROUTE, CLUSTER_FAILURES_ROUTE, COMPARE_EXPERIMENTS_ROUTE, CREATE_DATASET_ROUTE, DELETE_DATASET_ROUTE, DELETE_ITEM_ROUTE, EXPERIMENT_REVIEW_SUMMARY_ROUTE, GENERATE_ITEMS_ROUTE, GET_DATASET_ROUTE, GET_EXPERIMENT_ROUTE, GET_ITEM_ROUTE, GET_ITEM_VERSION_ROUTE, LIST_ALL_EXPERIMENTS_ROUTE, LIST_DATASETS_ROUTE, LIST_DATASET_VERSIONS_ROUTE, LIST_EXPERIMENTS_ROUTE, LIST_EXPERIMENT_RESULTS_ROUTE, LIST_ITEMS_ROUTE, LIST_ITEM_VERSIONS_ROUTE, TRIGGER_EXPERIMENT_ROUTE, UPDATE_DATASET_ROUTE, UPDATE_EXPERIMENT_RESULT_ROUTE, UPDATE_ITEM_ROUTE } from "./server/handlers/datasets.js";
|
|
26
|
+
import { ADD_ITEM_ROUTE, BATCH_DELETE_ITEMS_ROUTE, BATCH_INSERT_ITEMS_ROUTE, CLUSTER_FAILURES_ROUTE, COMPARE_EXPERIMENTS_ROUTE, CREATE_DATASET_ROUTE, DELETE_DATASET_ROUTE, DELETE_ITEM_ROUTE, EXPERIMENT_REVIEW_SUMMARY_ROUTE, FINALIZE_EXPERIMENT_ROUTE, GENERATE_ITEMS_ROUTE, GET_DATASET_ROUTE, GET_EXPERIMENT_ROUTE, GET_ITEM_ROUTE, GET_ITEM_VERSION_ROUTE, LIST_ALL_EXPERIMENTS_ROUTE, LIST_DATASETS_ROUTE, LIST_DATASET_VERSIONS_ROUTE, LIST_EXPERIMENTS_ROUTE, LIST_EXPERIMENT_RESULTS_ROUTE, LIST_ITEMS_ROUTE, LIST_ITEM_VERSIONS_ROUTE, RUN_EXPERIMENT_ITEM_ROUTE, SUBMIT_EXPERIMENT_RESULT_ROUTE, TRIGGER_EXPERIMENT_ROUTE, UPDATE_DATASET_ROUTE, UPDATE_EXPERIMENT_RESULT_ROUTE, UPDATE_ITEM_ROUTE } from "./server/handlers/datasets.js";
|
|
27
27
|
import { n as GET_EDITOR_BUILDER_SETTINGS_ROUTE, r as GET_INFRASTRUCTURE_STATUS_ROUTE, t as GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE } from "./editor-builder-EP9FAtQm.js";
|
|
28
28
|
import { ACTIVATE_MCP_CLIENT_VERSION_ROUTE, COMPARE_MCP_CLIENT_VERSIONS_ROUTE, CREATE_MCP_CLIENT_VERSION_ROUTE, DELETE_MCP_CLIENT_VERSION_ROUTE, GET_MCP_CLIENT_VERSION_ROUTE, LIST_MCP_CLIENT_VERSIONS_ROUTE, RESTORE_MCP_CLIENT_VERSION_ROUTE } from "./server/handlers/mcp-client-versions.js";
|
|
29
29
|
import { GET_PROCESSOR_PROVIDER_ROUTE, LIST_PROCESSOR_PROVIDERS_ROUTE } from "./server/handlers/processor-providers.js";
|
|
@@ -200,6 +200,9 @@ const DATASETS_ROUTES = [
|
|
|
200
200
|
EXPERIMENT_REVIEW_SUMMARY_ROUTE,
|
|
201
201
|
LIST_EXPERIMENTS_ROUTE,
|
|
202
202
|
TRIGGER_EXPERIMENT_ROUTE,
|
|
203
|
+
RUN_EXPERIMENT_ITEM_ROUTE,
|
|
204
|
+
SUBMIT_EXPERIMENT_RESULT_ROUTE,
|
|
205
|
+
FINALIZE_EXPERIMENT_ROUTE,
|
|
203
206
|
GET_EXPERIMENT_ROUTE,
|
|
204
207
|
LIST_EXPERIMENT_RESULTS_ROUTE,
|
|
205
208
|
UPDATE_EXPERIMENT_RESULT_ROUTE,
|
|
@@ -612,4 +615,4 @@ const SERVER_ROUTES = [
|
|
|
612
615
|
//#endregion
|
|
613
616
|
export { SERVER_ROUTES as t };
|
|
614
617
|
|
|
615
|
-
//# sourceMappingURL=routes-
|
|
618
|
+
//# sourceMappingURL=routes-B6F4QBgN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes-B6F4QBgN.js","names":[],"sources":["../src/server/server-adapter/routes/a2a.ts","../src/server/server-adapter/routes/agent-builder.ts","../src/server/server-adapter/routes/agent-controller.ts","../src/server/server-adapter/routes/agents.ts","../src/server/server-adapter/routes/background-tasks.ts","../src/server/server-adapter/routes/channels.ts","../src/server/server-adapter/routes/conversations.ts","../src/server/server-adapter/routes/datasets.ts","../src/server/server-adapter/routes/dynamic-workflows.ts","../src/server/server-adapter/routes/editor-builder.ts","../src/server/server-adapter/routes/legacy.ts","../src/server/server-adapter/routes/logs.ts","../src/server/server-adapter/routes/mcp.ts","../src/server/server-adapter/routes/memory.ts","../src/server/server-adapter/routes/observability.ts","../src/server/server-adapter/routes/processor-providers.ts","../src/server/server-adapter/routes/processors.ts","../src/server/server-adapter/routes/responses.ts","../src/server/server-adapter/routes/schedules.ts","../src/server/server-adapter/routes/scorers.ts","../src/server/server-adapter/routes/stored-agents.ts","../src/server/server-adapter/routes/stored-mcp-clients.ts","../src/server/server-adapter/routes/stored-prompt-blocks.ts","../src/server/server-adapter/routes/stored-scorers.ts","../src/server/server-adapter/routes/stored-skills.ts","../src/server/server-adapter/routes/stored-workspaces.ts","../src/server/server-adapter/routes/system.ts","../src/server/server-adapter/routes/tool-providers.ts","../src/server/server-adapter/routes/tools.ts","../src/server/server-adapter/routes/vectors.ts","../src/server/server-adapter/routes/workflows.ts","../src/server/server-adapter/routes/workspace.ts","../src/server/server-adapter/routes/index.ts"],"sourcesContent":["import { GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE } from '../../handlers/a2a';\n\nexport const A2A_ROUTES = [GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE] as const;\n","import {\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n} from '../../handlers/agent-builder';\n\nexport const AGENT_BUILDER_ROUTES = [\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n] as const;\n","import {\n LIST_AGENT_CONTROLLERS_ROUTE,\n CREATE_AGENT_CONTROLLER_SESSION_ROUTE,\n GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n STREAM_AGENT_CONTROLLER_SESSION_ROUTE,\n SEND_AGENT_CONTROLLER_MESSAGE_ROUTE,\n STEER_AGENT_CONTROLLER_SESSION_ROUTE,\n ABORT_AGENT_CONTROLLER_SESSION_ROUTE,\n AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE,\n AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODE_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODEL_ROUTE,\n SWITCH_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_MODES_ROUTE,\n LIST_AGENT_CONTROLLER_ACTIVE_RUNS_ROUTE,\n LIST_AGENT_CONTROLLER_THREADS_ROUTE,\n SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE,\n CREATE_AGENT_CONTROLLER_THREAD_ROUTE,\n DELETE_AGENT_CONTROLLER_THREAD_ROUTE,\n RENAME_AGENT_CONTROLLER_THREAD_ROUTE,\n CLONE_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE,\n FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE,\n LIST_AGENT_CONTROLLER_MODELS_ROUTE,\n GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE,\n GET_AGENT_CONTROLLER_OM_RECORD_ROUTE,\n SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE,\n GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE,\n GET_AGENT_CONTROLLER_GOAL_ROUTE,\n SET_AGENT_CONTROLLER_GOAL_ROUTE,\n UPDATE_AGENT_CONTROLLER_GOAL_ROUTE,\n CLEAR_AGENT_CONTROLLER_GOAL_ROUTE,\n GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE,\n SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n} from '../../handlers/agent-controller';\nimport type { ServerRoute } from '.';\n\n/**\n * Canonical `AgentController` session API, served under `/agent-controller/...`.\n */\nexport const AGENT_CONTROLLER_ROUTES: readonly ServerRoute[] = [\n LIST_AGENT_CONTROLLERS_ROUTE,\n LIST_AGENT_CONTROLLER_MODES_ROUTE,\n LIST_AGENT_CONTROLLER_MODELS_ROUTE,\n LIST_AGENT_CONTROLLER_ACTIVE_RUNS_ROUTE,\n CREATE_AGENT_CONTROLLER_SESSION_ROUTE,\n GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n LIST_AGENT_CONTROLLER_THREADS_ROUTE,\n CREATE_AGENT_CONTROLLER_THREAD_ROUTE,\n DELETE_AGENT_CONTROLLER_THREAD_ROUTE,\n RENAME_AGENT_CONTROLLER_THREAD_ROUTE,\n CLONE_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE,\n STREAM_AGENT_CONTROLLER_SESSION_ROUTE,\n SEND_AGENT_CONTROLLER_MESSAGE_ROUTE,\n STEER_AGENT_CONTROLLER_SESSION_ROUTE,\n FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE,\n ABORT_AGENT_CONTROLLER_SESSION_ROUTE,\n AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE,\n AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODE_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODEL_ROUTE,\n SWITCH_AGENT_CONTROLLER_THREAD_ROUTE,\n SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE,\n GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE,\n GET_AGENT_CONTROLLER_OM_RECORD_ROUTE,\n SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE,\n GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE,\n GET_AGENT_CONTROLLER_GOAL_ROUTE,\n SET_AGENT_CONTROLLER_GOAL_ROUTE,\n UPDATE_AGENT_CONTROLLER_GOAL_ROUTE,\n CLEAR_AGENT_CONTROLLER_GOAL_ROUTE,\n GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE,\n SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n];\n","import {\n // Agent route objects\n LIST_AGENTS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n CLONE_AGENT_ROUTE,\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n OBSERVE_AGENT_STREAM_ROUTE,\n SEND_AGENT_MESSAGE_ROUTE,\n QUEUE_AGENT_MESSAGE_ROUTE,\n SEND_AGENT_SIGNAL_ROUTE,\n ABORT_AGENT_THREAD_ROUTE,\n SUBSCRIBE_AGENT_THREAD_ROUTE,\n GET_PROVIDERS_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n SEND_TOOL_APPROVAL_ROUTE,\n LIST_SUSPENDED_RUNS_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n RESUME_STREAM_ROUTE,\n RECOVER_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n STREAM_NETWORK_ROUTE,\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n ENHANCE_INSTRUCTIONS_ROUTE,\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n GET_AGENT_SKILL_ROUTE,\n STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n RESUME_STREAM_UNTIL_IDLE_ROUTE,\n} from '../../handlers/agents';\nimport { READ_AGENT_PLAN_ROUTE } from '../../handlers/plans';\nimport { GET_AGENT_TOOL_ROUTE, EXECUTE_AGENT_TOOL_ROUTE } from '../../handlers/tools';\nimport {\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n} from '../../handlers/voice';\nimport type { ServerRoute } from '.';\n\nexport const AGENTS_ROUTES: readonly ServerRoute[] = [\n // ============================================================================\n // Agent Core Routes\n // ============================================================================\n LIST_AGENTS_ROUTE,\n GET_PROVIDERS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n CLONE_AGENT_ROUTE,\n\n // ============================================================================\n // Voice Routes\n // ============================================================================\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Agent Execution Routes\n // ============================================================================\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Resumable Stream Routes\n // ============================================================================\n OBSERVE_AGENT_STREAM_ROUTE,\n SEND_AGENT_MESSAGE_ROUTE,\n QUEUE_AGENT_MESSAGE_ROUTE,\n SEND_AGENT_SIGNAL_ROUTE,\n ABORT_AGENT_THREAD_ROUTE,\n SUBSCRIBE_AGENT_THREAD_ROUTE,\n\n // ============================================================================\n // Tool Routes\n // ============================================================================\n EXECUTE_AGENT_TOOL_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n SEND_TOOL_APPROVAL_ROUTE,\n LIST_SUSPENDED_RUNS_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n RESUME_STREAM_ROUTE,\n RECOVER_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n RESUME_STREAM_UNTIL_IDLE_ROUTE,\n\n // ============================================================================\n // Network Routes\n // ============================================================================\n STREAM_NETWORK_ROUTE,\n\n // ============================================================================\n // Model Management Routes\n // ============================================================================\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n\n // ============================================================================\n // Instruction Enhancement Routes\n // ============================================================================\n ENHANCE_INSTRUCTIONS_ROUTE,\n\n // ============================================================================\n // Agent Tool Routes\n // ============================================================================\n GET_AGENT_TOOL_ROUTE,\n READ_AGENT_PLAN_ROUTE,\n\n // ============================================================================\n // Agent Skill Routes\n // ============================================================================\n GET_AGENT_SKILL_ROUTE,\n\n // ============================================================================\n // Voice/Speech Routes\n // ============================================================================\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n\n // ============================================================================\n // Deprecated Routes\n // ============================================================================\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n\n/**\n * Type-level tuple preserving each agent route's specific schema types.\n * Used by ServerRoutes to build the type-level route map.\n */\nexport type AgentRoutes = readonly [\n typeof LIST_AGENTS_ROUTE,\n typeof GET_PROVIDERS_ROUTE,\n typeof GET_AGENT_BY_ID_ROUTE,\n typeof CLONE_AGENT_ROUTE,\n typeof GET_SPEAKERS_ROUTE,\n typeof GET_SPEAKERS_DEPRECATED_ROUTE,\n typeof GENERATE_AGENT_ROUTE,\n typeof GENERATE_AGENT_VNEXT_ROUTE,\n typeof STREAM_GENERATE_ROUTE,\n typeof STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n typeof STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n typeof SEND_AGENT_MESSAGE_ROUTE,\n typeof QUEUE_AGENT_MESSAGE_ROUTE,\n typeof SEND_AGENT_SIGNAL_ROUTE,\n typeof ABORT_AGENT_THREAD_ROUTE,\n typeof SUBSCRIBE_AGENT_THREAD_ROUTE,\n typeof EXECUTE_AGENT_TOOL_ROUTE,\n typeof APPROVE_TOOL_CALL_ROUTE,\n typeof SEND_TOOL_APPROVAL_ROUTE,\n typeof LIST_SUSPENDED_RUNS_ROUTE,\n typeof DECLINE_TOOL_CALL_ROUTE,\n typeof RESUME_STREAM_ROUTE,\n typeof RECOVER_ROUTE,\n typeof RESUME_STREAM_UNTIL_IDLE_ROUTE,\n typeof APPROVE_TOOL_CALL_GENERATE_ROUTE,\n typeof DECLINE_TOOL_CALL_GENERATE_ROUTE,\n typeof APPROVE_NETWORK_TOOL_CALL_ROUTE,\n typeof DECLINE_NETWORK_TOOL_CALL_ROUTE,\n typeof STREAM_NETWORK_ROUTE,\n typeof UPDATE_AGENT_MODEL_ROUTE,\n typeof RESET_AGENT_MODEL_ROUTE,\n typeof REORDER_AGENT_MODEL_LIST_ROUTE,\n typeof UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n typeof ENHANCE_INSTRUCTIONS_ROUTE,\n typeof GET_AGENT_TOOL_ROUTE,\n typeof READ_AGENT_PLAN_ROUTE,\n typeof GET_AGENT_SKILL_ROUTE,\n typeof GENERATE_SPEECH_ROUTE,\n typeof GENERATE_SPEECH_DEPRECATED_ROUTE,\n typeof TRANSCRIBE_SPEECH_ROUTE,\n typeof TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n typeof GET_LISTENER_ROUTE,\n typeof STREAM_VNEXT_DEPRECATED_ROUTE,\n typeof STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n typeof STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n","import {\n BACKGROUND_TASK_STREAM_ROUTE,\n GET_BACKGROUND_TASK_ROUTE,\n LIST_BACKGROUND_TASKS_ROUTE,\n} from '../../handlers/background-tasks';\nimport type { ServerRoute } from '.';\n\nexport const BACKGROUND_TASK_ROUTES: ServerRoute<any, any, any>[] = [\n BACKGROUND_TASK_STREAM_ROUTE,\n LIST_BACKGROUND_TASKS_ROUTE,\n GET_BACKGROUND_TASK_ROUTE,\n];\n","import {\n LIST_CHANNEL_PLATFORMS_ROUTE,\n LIST_CHANNEL_INSTALLATIONS_ROUTE,\n CONNECT_CHANNEL_ROUTE,\n DISCONNECT_CHANNEL_ROUTE,\n} from '../../handlers/channels';\n\nexport const CHANNELS_ROUTES = [\n LIST_CHANNEL_PLATFORMS_ROUTE,\n LIST_CHANNEL_INSTALLATIONS_ROUTE,\n CONNECT_CHANNEL_ROUTE,\n DISCONNECT_CHANNEL_ROUTE,\n] as const;\n","import {\n CREATE_CONVERSATION_ROUTE,\n DELETE_CONVERSATION_ROUTE,\n GET_CONVERSATION_ITEMS_ROUTE,\n GET_CONVERSATION_ROUTE,\n} from '../../handlers/conversations';\n\nexport const CONVERSATIONS_ROUTES = [\n CREATE_CONVERSATION_ROUTE,\n GET_CONVERSATION_ROUTE,\n GET_CONVERSATION_ITEMS_ROUTE,\n DELETE_CONVERSATION_ROUTE,\n] as const;\n","import {\n LIST_DATASETS_ROUTE,\n CREATE_DATASET_ROUTE,\n GET_DATASET_ROUTE,\n UPDATE_DATASET_ROUTE,\n DELETE_DATASET_ROUTE,\n LIST_ITEMS_ROUTE,\n ADD_ITEM_ROUTE,\n GET_ITEM_ROUTE,\n UPDATE_ITEM_ROUTE,\n DELETE_ITEM_ROUTE,\n LIST_ALL_EXPERIMENTS_ROUTE,\n EXPERIMENT_REVIEW_SUMMARY_ROUTE,\n LIST_EXPERIMENTS_ROUTE,\n TRIGGER_EXPERIMENT_ROUTE,\n RUN_EXPERIMENT_ITEM_ROUTE,\n SUBMIT_EXPERIMENT_RESULT_ROUTE,\n FINALIZE_EXPERIMENT_ROUTE,\n GET_EXPERIMENT_ROUTE,\n LIST_EXPERIMENT_RESULTS_ROUTE,\n UPDATE_EXPERIMENT_RESULT_ROUTE,\n COMPARE_EXPERIMENTS_ROUTE,\n LIST_DATASET_VERSIONS_ROUTE,\n LIST_ITEM_VERSIONS_ROUTE,\n GET_ITEM_VERSION_ROUTE,\n BATCH_INSERT_ITEMS_ROUTE,\n BATCH_DELETE_ITEMS_ROUTE,\n GENERATE_ITEMS_ROUTE,\n CLUSTER_FAILURES_ROUTE,\n} from '../../handlers/datasets';\n\nexport const DATASETS_ROUTES = [\n // Dataset CRUD\n LIST_DATASETS_ROUTE,\n CREATE_DATASET_ROUTE,\n GET_DATASET_ROUTE,\n UPDATE_DATASET_ROUTE,\n DELETE_DATASET_ROUTE,\n // Item list and add\n LIST_ITEMS_ROUTE,\n ADD_ITEM_ROUTE,\n // Batch operations - MUST come before item-specific routes to avoid /items/batch matching /items/:itemId\n BATCH_INSERT_ITEMS_ROUTE,\n BATCH_DELETE_ITEMS_ROUTE,\n // Item-specific CRUD (uses :itemId param)\n GET_ITEM_ROUTE,\n UPDATE_ITEM_ROUTE,\n DELETE_ITEM_ROUTE,\n // Version operations\n LIST_DATASET_VERSIONS_ROUTE,\n LIST_ITEM_VERSIONS_ROUTE,\n GET_ITEM_VERSION_ROUTE,\n // All experiments (cross-dataset) - MUST come before dataset-scoped experiments\n LIST_ALL_EXPERIMENTS_ROUTE,\n // Experiment review summary (cross-dataset) - MUST come before dataset-scoped experiments\n EXPERIMENT_REVIEW_SUMMARY_ROUTE,\n // Experiment operations (dataset-scoped)\n LIST_EXPERIMENTS_ROUTE,\n TRIGGER_EXPERIMENT_ROUTE,\n // Caller-driven experiments (run one item, submit results, finalize)\n RUN_EXPERIMENT_ITEM_ROUTE,\n SUBMIT_EXPERIMENT_RESULT_ROUTE,\n FINALIZE_EXPERIMENT_ROUTE,\n GET_EXPERIMENT_ROUTE,\n LIST_EXPERIMENT_RESULTS_ROUTE,\n UPDATE_EXPERIMENT_RESULT_ROUTE,\n // Analytics\n COMPARE_EXPERIMENTS_ROUTE,\n // AI generation\n GENERATE_ITEMS_ROUTE,\n // Failure analysis\n CLUSTER_FAILURES_ROUTE,\n] as const;\n","import {\n DELETE_DYNAMIC_WORKFLOW_ROUTE,\n GET_DYNAMIC_WORKFLOW_ROUTE,\n LIST_DYNAMIC_WORKFLOWS_ROUTE,\n UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n} from '../../handlers/dynamic-workflows';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for dynamic workflow definitions: list / get / upsert / delete.\n * Upsert is the path the chat-driven workflow-builder agent (and Studio's\n * future \"Save\" button) uses to persist + live-register a workflow without\n * a server restart.\n */\nexport const DYNAMIC_WORKFLOWS_ROUTES: readonly ServerRoute[] = [\n LIST_DYNAMIC_WORKFLOWS_ROUTE,\n UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n GET_DYNAMIC_WORKFLOW_ROUTE, // After UPSERT (POST) since both are on the same /stored/workflows base\n DELETE_DYNAMIC_WORKFLOW_ROUTE,\n];\n\nexport type DynamicWorkflowRoutes = readonly [\n typeof LIST_DYNAMIC_WORKFLOWS_ROUTE,\n typeof UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n typeof GET_DYNAMIC_WORKFLOW_ROUTE,\n typeof DELETE_DYNAMIC_WORKFLOW_ROUTE,\n];\n","import {\n BUILDER_REGISTRY_INSTALL_ROUTE,\n BUILDER_REGISTRY_POPULAR_ROUTE,\n BUILDER_REGISTRY_PREVIEW_ROUTE,\n BUILDER_REGISTRY_SEARCH_ROUTE,\n LIST_BUILDER_REGISTRIES_ROUTE,\n} from '../../handlers/builder-registry';\nimport {\n GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE,\n GET_EDITOR_BUILDER_SETTINGS_ROUTE,\n GET_INFRASTRUCTURE_STATUS_ROUTE,\n} from '../../handlers/editor-builder';\n\n/**\n * Editor Builder Routes\n *\n * Routes for agent builder settings, infrastructure status, and external\n * skill registries.\n */\nexport const EDITOR_BUILDER_ROUTES = [\n GET_EDITOR_BUILDER_SETTINGS_ROUTE,\n GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE,\n GET_INFRASTRUCTURE_STATUS_ROUTE,\n LIST_BUILDER_REGISTRIES_ROUTE,\n BUILDER_REGISTRY_SEARCH_ROUTE,\n BUILDER_REGISTRY_POPULAR_ROUTE,\n BUILDER_REGISTRY_PREVIEW_ROUTE,\n BUILDER_REGISTRY_INSTALL_ROUTE,\n] as const;\n","/**\n * Legacy routes that are deprecated but still exist in deployer for backward compatibility.\n * These routes should not be used in new code and will be removed in a future version.\n */\n\nimport { GENERATE_LEGACY_ROUTE, STREAM_GENERATE_LEGACY_ROUTE } from '../../handlers/agents';\nimport { STREAM_LEGACY_WORKFLOW_ROUTE, OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE } from '../../handlers/workflows';\n\nexport const LEGACY_ROUTES = [\n // ============================================================================\n // Legacy Agent Routes\n // ============================================================================\n GENERATE_LEGACY_ROUTE,\n STREAM_GENERATE_LEGACY_ROUTE,\n\n // ============================================================================\n // Legacy Workflow Routes\n // ============================================================================\n STREAM_LEGACY_WORKFLOW_ROUTE,\n OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE,\n] as const;\n","import { LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE } from '../../handlers/logs';\n\nexport const LOGS_ROUTES = [LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE] as const;\n","import {\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n LIST_MCP_SERVER_RESOURCES_ROUTE,\n READ_MCP_SERVER_RESOURCE_ROUTE,\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n} from '../../handlers/mcp';\n\n/**\n * MCP Routes\n *\n * Registry routes provide access to the MCP server registry and tools.\n * Transport routes handle the MCP protocol communication (HTTP and SSE).\n */\nexport const MCP_ROUTES = [\n // ============================================================================\n // MCP Server Registry Routes\n // ============================================================================\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n\n // ============================================================================\n // MCP Server Tool Routes\n // ============================================================================\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n\n // ============================================================================\n // MCP Server Resource Routes\n // ============================================================================\n LIST_MCP_SERVER_RESOURCES_ROUTE,\n READ_MCP_SERVER_RESOURCE_ROUTE,\n\n // ============================================================================\n // MCP Transport Routes (handled by adapters)\n // ============================================================================\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n] as const;\n","import {\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n GET_OBSERVATIONAL_MEMORY_ROUTE,\n AWAIT_BUFFER_STATUS_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n} from '../../handlers/memory';\n\nexport const MEMORY_ROUTES = [\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n GET_OBSERVATIONAL_MEMORY_ROUTE,\n AWAIT_BUFFER_STATUS_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n] as const;\n","import {\n LIST_TRACES_ROUTE,\n LIST_TRACES_LIGHT_ROUTE,\n LIST_BRANCHES_ROUTE,\n GET_BRANCH_ROUTE,\n GET_TRACE_ROUTE,\n GET_TRACE_LIGHT_ROUTE,\n GET_SPAN_ROUTE,\n GET_TRACE_TRAJECTORY_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n} from '../../handlers/observability';\nimport {\n LIST_METRICS,\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n} from '../../handlers/observability-new-endpoints';\n\nexport const OBSERVABILITY_ROUTES = [\n // Legacy\n LIST_TRACES_ROUTE,\n LIST_TRACES_LIGHT_ROUTE,\n LIST_BRANCHES_ROUTE,\n GET_BRANCH_ROUTE,\n GET_TRACE_ROUTE,\n GET_TRACE_LIGHT_ROUTE,\n GET_SPAN_ROUTE,\n GET_TRACE_TRAJECTORY_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n // New observability routes\n LIST_METRICS,\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n] as const;\n","import { LIST_PROCESSOR_PROVIDERS_ROUTE, GET_PROCESSOR_PROVIDER_ROUTE } from '../../handlers/processor-providers';\n\nexport const PROCESSOR_PROVIDER_ROUTES = [LIST_PROCESSOR_PROVIDERS_ROUTE, GET_PROCESSOR_PROVIDER_ROUTE] as const;\n","import { LIST_PROCESSORS_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, EXECUTE_PROCESSOR_ROUTE } from '../../handlers/processors';\n\nexport const PROCESSORS_ROUTES = [LIST_PROCESSORS_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, EXECUTE_PROCESSOR_ROUTE] as const;\n","import { CREATE_RESPONSE_ROUTE, DELETE_RESPONSE_ROUTE, GET_RESPONSE_ROUTE } from '../../handlers/responses';\n\nexport const RESPONSES_ROUTES = [CREATE_RESPONSE_ROUTE, GET_RESPONSE_ROUTE, DELETE_RESPONSE_ROUTE] as const;\n","import {\n CREATE_SCHEDULE_ROUTE,\n DELETE_SCHEDULE_ROUTE,\n GET_SCHEDULE_ROUTE,\n LIST_SCHEDULES_ROUTE,\n LIST_SCHEDULE_TRIGGERS_ROUTE,\n PAUSE_SCHEDULE_ROUTE,\n RESUME_SCHEDULE_ROUTE,\n RUN_SCHEDULE_ROUTE,\n UPDATE_SCHEDULE_ROUTE,\n} from '../../handlers/schedules';\nimport type { ServerRoute } from '.';\n\nexport const SCHEDULES_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_SCHEDULES_ROUTE,\n GET_SCHEDULE_ROUTE,\n CREATE_SCHEDULE_ROUTE,\n UPDATE_SCHEDULE_ROUTE,\n DELETE_SCHEDULE_ROUTE,\n LIST_SCHEDULE_TRIGGERS_ROUTE,\n PAUSE_SCHEDULE_ROUTE,\n RESUME_SCHEDULE_ROUTE,\n RUN_SCHEDULE_ROUTE,\n];\n","import {\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n} from '../../handlers/scores';\n\nexport const SCORES_ROUTES = [\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n] as const;\n","import {\n LIST_AGENT_VERSIONS_ROUTE,\n CREATE_AGENT_VERSION_ROUTE,\n GET_AGENT_VERSION_ROUTE,\n ACTIVATE_AGENT_VERSION_ROUTE,\n RESTORE_AGENT_VERSION_ROUTE,\n DELETE_AGENT_VERSION_ROUTE,\n COMPARE_AGENT_VERSIONS_ROUTE,\n} from '../../handlers/agent-versions';\nimport { FAVORITE_STORED_AGENT_ROUTE, UNFAVORITE_STORED_AGENT_ROUTE } from '../../handlers/stored-agent-favorites';\nimport {\n LIST_STORED_AGENTS_ROUTE,\n GET_STORED_AGENT_ROUTE,\n GET_STORED_AGENT_DEPENDENTS_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n PREVIEW_INSTRUCTIONS_ROUTE,\n EXPORT_STORED_AGENT_ROUTE,\n OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE,\n} from '../../handlers/stored-agents';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for stored agents CRUD operations and version management.\n * These routes provide API access to agent configurations stored in the database,\n * enabling dynamic creation and management of agents via Mastra Studio.\n */\nexport const STORED_AGENTS_ROUTES: readonly ServerRoute[] = [\n // ============================================================================\n // Stored Agents CRUD Routes\n // IMPORTANT: Routes with literal paths (e.g., /preview-instructions) must come\n // BEFORE routes with path parameters (e.g., /:storedAgentId) to ensure correct matching.\n // ============================================================================\n LIST_STORED_AGENTS_ROUTE,\n PREVIEW_INSTRUCTIONS_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n GET_STORED_AGENT_DEPENDENTS_ROUTE, // Must be before GET_STORED_AGENT_ROUTE (longer literal)\n EXPORT_STORED_AGENT_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n GET_STORED_AGENT_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n\n // ============================================================================\n // Agent Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n // ============================================================================\n LIST_AGENT_VERSIONS_ROUTE,\n CREATE_AGENT_VERSION_ROUTE,\n COMPARE_AGENT_VERSIONS_ROUTE, // Must be before GET_AGENT_VERSION_ROUTE\n GET_AGENT_VERSION_ROUTE,\n ACTIVATE_AGENT_VERSION_ROUTE,\n RESTORE_AGENT_VERSION_ROUTE,\n DELETE_AGENT_VERSION_ROUTE,\n\n // ============================================================================\n // Favorites (EE)\n // ============================================================================\n FAVORITE_STORED_AGENT_ROUTE,\n UNFAVORITE_STORED_AGENT_ROUTE,\n];\n\n/**\n * Type-level tuple preserving each stored agent route's specific schema types.\n * Used by ServerRoutes to build the type-level route map.\n */\nexport type StoredAgentRoutes = readonly [\n typeof LIST_STORED_AGENTS_ROUTE,\n typeof PREVIEW_INSTRUCTIONS_ROUTE,\n typeof GET_STORED_AGENT_DEPENDENTS_ROUTE,\n typeof EXPORT_STORED_AGENT_ROUTE,\n typeof OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE,\n typeof GET_STORED_AGENT_ROUTE,\n typeof CREATE_STORED_AGENT_ROUTE,\n typeof UPDATE_STORED_AGENT_ROUTE,\n typeof DELETE_STORED_AGENT_ROUTE,\n typeof LIST_AGENT_VERSIONS_ROUTE,\n typeof CREATE_AGENT_VERSION_ROUTE,\n typeof COMPARE_AGENT_VERSIONS_ROUTE,\n typeof GET_AGENT_VERSION_ROUTE,\n typeof ACTIVATE_AGENT_VERSION_ROUTE,\n typeof RESTORE_AGENT_VERSION_ROUTE,\n typeof DELETE_AGENT_VERSION_ROUTE,\n typeof FAVORITE_STORED_AGENT_ROUTE,\n typeof UNFAVORITE_STORED_AGENT_ROUTE,\n];\n","import {\n LIST_MCP_CLIENT_VERSIONS_ROUTE,\n CREATE_MCP_CLIENT_VERSION_ROUTE,\n GET_MCP_CLIENT_VERSION_ROUTE,\n ACTIVATE_MCP_CLIENT_VERSION_ROUTE,\n RESTORE_MCP_CLIENT_VERSION_ROUTE,\n DELETE_MCP_CLIENT_VERSION_ROUTE,\n COMPARE_MCP_CLIENT_VERSIONS_ROUTE,\n} from '../../handlers/mcp-client-versions';\nimport {\n LIST_STORED_MCP_CLIENTS_ROUTE,\n GET_STORED_MCP_CLIENT_ROUTE,\n CREATE_STORED_MCP_CLIENT_ROUTE,\n UPDATE_STORED_MCP_CLIENT_ROUTE,\n DELETE_STORED_MCP_CLIENT_ROUTE,\n} from '../../handlers/stored-mcp-clients';\n\nexport const STORED_MCP_CLIENTS_ROUTES = [\n // Stored MCP Clients CRUD Routes\n LIST_STORED_MCP_CLIENTS_ROUTE,\n GET_STORED_MCP_CLIENT_ROUTE,\n CREATE_STORED_MCP_CLIENT_ROUTE,\n UPDATE_STORED_MCP_CLIENT_ROUTE,\n DELETE_STORED_MCP_CLIENT_ROUTE,\n\n // MCP Client Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_MCP_CLIENT_VERSIONS_ROUTE,\n CREATE_MCP_CLIENT_VERSION_ROUTE,\n COMPARE_MCP_CLIENT_VERSIONS_ROUTE,\n GET_MCP_CLIENT_VERSION_ROUTE,\n ACTIVATE_MCP_CLIENT_VERSION_ROUTE,\n RESTORE_MCP_CLIENT_VERSION_ROUTE,\n DELETE_MCP_CLIENT_VERSION_ROUTE,\n] as const;\n","import {\n LIST_PROMPT_BLOCK_VERSIONS_ROUTE,\n CREATE_PROMPT_BLOCK_VERSION_ROUTE,\n GET_PROMPT_BLOCK_VERSION_ROUTE,\n ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE,\n RESTORE_PROMPT_BLOCK_VERSION_ROUTE,\n DELETE_PROMPT_BLOCK_VERSION_ROUTE,\n COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE,\n} from '../../handlers/prompt-block-versions';\nimport {\n LIST_STORED_PROMPT_BLOCKS_ROUTE,\n GET_STORED_PROMPT_BLOCK_ROUTE,\n CREATE_STORED_PROMPT_BLOCK_ROUTE,\n UPDATE_STORED_PROMPT_BLOCK_ROUTE,\n DELETE_STORED_PROMPT_BLOCK_ROUTE,\n} from '../../handlers/stored-prompt-blocks';\n\nexport const STORED_PROMPT_BLOCKS_ROUTES = [\n // Stored Prompt Blocks CRUD Routes\n LIST_STORED_PROMPT_BLOCKS_ROUTE,\n GET_STORED_PROMPT_BLOCK_ROUTE,\n CREATE_STORED_PROMPT_BLOCK_ROUTE,\n UPDATE_STORED_PROMPT_BLOCK_ROUTE,\n DELETE_STORED_PROMPT_BLOCK_ROUTE,\n\n // Prompt Block Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_PROMPT_BLOCK_VERSIONS_ROUTE,\n CREATE_PROMPT_BLOCK_VERSION_ROUTE,\n COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE,\n GET_PROMPT_BLOCK_VERSION_ROUTE,\n ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE,\n RESTORE_PROMPT_BLOCK_VERSION_ROUTE,\n DELETE_PROMPT_BLOCK_VERSION_ROUTE,\n] as const;\n","import {\n LIST_SCORER_VERSIONS_ROUTE,\n CREATE_SCORER_VERSION_ROUTE,\n GET_SCORER_VERSION_ROUTE,\n ACTIVATE_SCORER_VERSION_ROUTE,\n RESTORE_SCORER_VERSION_ROUTE,\n DELETE_SCORER_VERSION_ROUTE,\n COMPARE_SCORER_VERSIONS_ROUTE,\n} from '../../handlers/scorer-versions';\nimport {\n LIST_STORED_SCORERS_ROUTE,\n GET_STORED_SCORER_ROUTE,\n CREATE_STORED_SCORER_ROUTE,\n UPDATE_STORED_SCORER_ROUTE,\n DELETE_STORED_SCORER_ROUTE,\n} from '../../handlers/stored-scorers';\n\nexport const STORED_SCORERS_ROUTES = [\n // Stored Scorers CRUD Routes\n LIST_STORED_SCORERS_ROUTE,\n GET_STORED_SCORER_ROUTE,\n CREATE_STORED_SCORER_ROUTE,\n UPDATE_STORED_SCORER_ROUTE,\n DELETE_STORED_SCORER_ROUTE,\n\n // Scorer Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_SCORER_VERSIONS_ROUTE,\n CREATE_SCORER_VERSION_ROUTE,\n COMPARE_SCORER_VERSIONS_ROUTE,\n GET_SCORER_VERSION_ROUTE,\n ACTIVATE_SCORER_VERSION_ROUTE,\n RESTORE_SCORER_VERSION_ROUTE,\n DELETE_SCORER_VERSION_ROUTE,\n] as const;\n","import { FAVORITE_STORED_SKILL_ROUTE, UNFAVORITE_STORED_SKILL_ROUTE } from '../../handlers/stored-skill-favorites';\nimport {\n LIST_STORED_SKILLS_ROUTE,\n GET_STORED_SKILL_ROUTE,\n CREATE_STORED_SKILL_ROUTE,\n UPDATE_STORED_SKILL_ROUTE,\n DELETE_STORED_SKILL_ROUTE,\n PUBLISH_STORED_SKILL_ROUTE,\n} from '../../handlers/stored-skills';\n\nexport const STORED_SKILLS_ROUTES = [\n // Stored Skills CRUD Routes\n LIST_STORED_SKILLS_ROUTE,\n GET_STORED_SKILL_ROUTE,\n CREATE_STORED_SKILL_ROUTE,\n UPDATE_STORED_SKILL_ROUTE,\n DELETE_STORED_SKILL_ROUTE,\n // Publish\n PUBLISH_STORED_SKILL_ROUTE,\n // Favorites (EE)\n FAVORITE_STORED_SKILL_ROUTE,\n UNFAVORITE_STORED_SKILL_ROUTE,\n] as const;\n","import {\n LIST_STORED_WORKSPACES_ROUTE,\n GET_STORED_WORKSPACE_ROUTE,\n CREATE_STORED_WORKSPACE_ROUTE,\n UPDATE_STORED_WORKSPACE_ROUTE,\n DELETE_STORED_WORKSPACE_ROUTE,\n} from '../../handlers/stored-workspaces';\n\nexport const STORED_WORKSPACES_ROUTES = [\n // Stored Workspaces CRUD Routes\n LIST_STORED_WORKSPACES_ROUTE,\n GET_STORED_WORKSPACE_ROUTE,\n CREATE_STORED_WORKSPACE_ROUTE,\n UPDATE_STORED_WORKSPACE_ROUTE,\n DELETE_STORED_WORKSPACE_ROUTE,\n] as const;\n","import { GET_API_SCHEMA_ROUTE, GET_SYSTEM_PACKAGES_ROUTE } from '../../handlers/system';\n\n/**\n * System Routes\n *\n * Routes for system information and diagnostics.\n */\nexport const SYSTEM_ROUTES = [GET_SYSTEM_PACKAGES_ROUTE, GET_API_SCHEMA_ROUTE] as const;\n","import {\n AUTHORIZE_TOOL_PROVIDER_ROUTE,\n DISCONNECT_TOOL_PROVIDER_CONNECTION_ROUTE,\n GET_TOOL_PROVIDER_AUTH_STATUS_ROUTE,\n GET_TOOL_PROVIDER_CONNECTION_USAGE_ROUTE,\n GET_TOOL_PROVIDER_HEALTH_ROUTE,\n GET_TOOL_PROVIDER_TOOL_SCHEMA_ROUTE,\n LIST_TOOL_PROVIDERS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTIONS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTION_FIELDS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLKITS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLS_ROUTE,\n TOOL_PROVIDER_CONNECTION_STATUS_ROUTE,\n UPDATE_TOOL_PROVIDER_CONNECTION_ROUTE,\n} from '../../handlers/tool-providers';\n\nexport const TOOL_PROVIDER_ROUTES = [\n LIST_TOOL_PROVIDERS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLKITS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLS_ROUTE,\n GET_TOOL_PROVIDER_TOOL_SCHEMA_ROUTE,\n AUTHORIZE_TOOL_PROVIDER_ROUTE,\n GET_TOOL_PROVIDER_AUTH_STATUS_ROUTE,\n TOOL_PROVIDER_CONNECTION_STATUS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTIONS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTION_FIELDS_ROUTE,\n DISCONNECT_TOOL_PROVIDER_CONNECTION_ROUTE,\n UPDATE_TOOL_PROVIDER_CONNECTION_ROUTE,\n GET_TOOL_PROVIDER_CONNECTION_USAGE_ROUTE,\n GET_TOOL_PROVIDER_HEALTH_ROUTE,\n] as const;\n","import { LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE } from '../../handlers/tools';\n\nexport const TOOLS_ROUTES = [LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE] as const;\n","import {\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n LIST_VECTORS_ROUTE,\n LIST_EMBEDDERS_ROUTE,\n} from '../../handlers/vector';\n\nexport const VECTORS_ROUTES = [\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n LIST_VECTORS_ROUTE,\n LIST_EMBEDDERS_ROUTE,\n] as const;\n","import {\n LIST_WORKFLOWS_ROUTE,\n LIST_WORKFLOW_RUN_COUNTS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_NO_WAIT_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n EXECUTE_WORKFLOW_STEP_ROUTE,\n RECEIVE_WORKFLOW_EVENT_ROUTE,\n} from '../../handlers/workflows';\n\nexport const WORKFLOWS_ROUTES = [\n LIST_WORKFLOWS_ROUTE,\n // Static path must register before the parameterized /workflows/:workflowId\n // route below, or the router would capture \"run-counts\" as a workflowId.\n LIST_WORKFLOW_RUN_COUNTS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_NO_WAIT_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n EXECUTE_WORKFLOW_STEP_ROUTE,\n RECEIVE_WORKFLOW_EVENT_ROUTE,\n] as const;\n","/**\n * Workspace Routes\n *\n * All routes for workspace operations under /api/workspaces/*\n */\n\nimport {\n LIST_WORKSPACES_ROUTE,\n GET_WORKSPACE_ROUTE,\n WORKSPACE_FS_ROUTES,\n WORKSPACE_SEARCH_ROUTES,\n WORKSPACE_SKILLS_ROUTES,\n WORKSPACE_SKILLS_SH_ROUTES,\n} from '../../handlers/workspace';\n\nexport const WORKSPACE_ROUTES = [\n // List all workspaces route (at /api/workspaces)\n LIST_WORKSPACES_ROUTE,\n\n // Get workspace route (at /api/workspaces/:workspaceId)\n GET_WORKSPACE_ROUTE,\n\n // Filesystem routes (at /api/workspaces/:workspaceId/fs/*)\n ...WORKSPACE_FS_ROUTES,\n\n // Search routes (at /api/workspaces/:workspaceId/search, /api/workspaces/:workspaceId/index)\n ...WORKSPACE_SEARCH_ROUTES,\n\n // Skills routes (search must come before parameterized routes)\n ...WORKSPACE_SKILLS_ROUTES,\n\n // skills.sh proxy routes (at /api/workspaces/:workspaceId/skills-sh/*)\n ...WORKSPACE_SKILLS_SH_ROUTES,\n] as const;\n","import type { Mastra } from '@mastra/core';\nimport type { ToolsInput } from '@mastra/core/agent';\nimport type { FGARouteConfig, MastraFGAPermissionInput } from '@mastra/core/auth/ee';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { ApiRoute, ValidationErrorHook } from '@mastra/core/server';\nimport type * as z from 'zod/v4';\nimport type { InMemoryTaskStore } from '../../a2a/store';\nimport type { OpenAPIRoute } from '../openapi-utils';\nimport { A2A_ROUTES } from './a2a';\nimport { AGENT_BUILDER_ROUTES } from './agent-builder';\nimport { AGENT_CONTROLLER_ROUTES } from './agent-controller';\nimport { AGENTS_ROUTES } from './agents';\nimport type { AgentRoutes } from './agents';\nimport { AUTH_ROUTES } from './auth';\nimport { BACKGROUND_TASK_ROUTES } from './background-tasks';\nimport { CHANNELS_ROUTES } from './channels';\nimport { CONVERSATIONS_ROUTES } from './conversations';\nimport { DATASETS_ROUTES } from './datasets';\nimport { DYNAMIC_WORKFLOWS_ROUTES } from './dynamic-workflows';\nimport { EDITOR_BUILDER_ROUTES } from './editor-builder';\nimport { LEGACY_ROUTES } from './legacy';\nimport { LOGS_ROUTES } from './logs';\nimport { MCP_ROUTES } from './mcp';\nimport { MEMORY_ROUTES } from './memory';\nimport { OBSERVABILITY_ROUTES } from './observability';\nimport { PROCESSOR_PROVIDER_ROUTES } from './processor-providers';\nimport { PROCESSORS_ROUTES } from './processors';\nimport { RESPONSES_ROUTES } from './responses';\nimport { SCHEDULES_ROUTES } from './schedules';\nimport { SCORES_ROUTES } from './scorers';\nimport { STORED_AGENTS_ROUTES } from './stored-agents';\nimport type { StoredAgentRoutes } from './stored-agents';\nimport { STORED_MCP_CLIENTS_ROUTES } from './stored-mcp-clients';\nimport { STORED_PROMPT_BLOCKS_ROUTES } from './stored-prompt-blocks';\nimport { STORED_SCORERS_ROUTES } from './stored-scorers';\nimport { STORED_SKILLS_ROUTES } from './stored-skills';\nimport { STORED_WORKSPACES_ROUTES } from './stored-workspaces';\nimport type { MastraStreamReturn } from './stream-types';\nimport { SYSTEM_ROUTES } from './system';\nimport { TOOL_PROVIDER_ROUTES } from './tool-providers';\nimport { TOOLS_ROUTES } from './tools';\nimport { VECTORS_ROUTES } from './vectors';\nimport { WORKFLOWS_ROUTES } from './workflows';\nimport { WORKSPACE_ROUTES } from './workspace';\n\n/**\n * Server context fields that are available to route handlers.\n * These are injected by the server adapters (Express, Hono, etc.)\n * Fields other than `mastra` are optional to allow direct handler testing.\n */\nexport type ServerContext = {\n mastra: Mastra;\n requestContext: RequestContext;\n registeredTools?: ToolsInput;\n taskStore?: InMemoryTaskStore;\n abortSignal: AbortSignal;\n /** The route prefix configured for the server (e.g., '/api') */\n routePrefix?: string;\n /** The web-standard Request object for accessing headers, cookies, etc. */\n request?: Request;\n};\n\n/**\n * Utility type to infer parameters from Zod schemas.\n * Merges path params, query params, and body params into a single type.\n */\nexport type InferParams<\n TPathSchema extends z.ZodTypeAny | undefined,\n TQuerySchema extends z.ZodTypeAny | undefined,\n TBodySchema extends z.ZodTypeAny | undefined,\n> = (TPathSchema extends z.ZodTypeAny ? z.infer<TPathSchema> : {}) &\n (TQuerySchema extends z.ZodTypeAny ? z.infer<TQuerySchema> : {}) &\n (TBodySchema extends z.ZodTypeAny ? z.infer<TBodySchema> : {});\n\n/**\n * All supported response types for server routes.\n * - 'json': Standard JSON response\n * - 'stream': Streaming response (SSE or raw stream)\n * - 'datastream-response': Pre-built Response object for data streams\n * - 'mcp-http': MCP Streamable HTTP transport (handled by adapter)\n * - 'mcp-sse': MCP SSE transport (handled by adapter)\n */\nexport type ResponseType = 'stream' | 'json' | 'datastream-response' | 'mcp-http' | 'mcp-sse';\n\nexport type ServerRouteHandler<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = (\n params: TParams & ServerContext,\n) => Promise<\n TResponseType extends 'stream'\n ? MastraStreamReturn\n : TResponseType extends 'datastream-response'\n ? Response\n : TResponse\n>;\n\n/**\n * Phantom type for preserving Zod schema types on routes.\n * Not present at runtime — used only for type-level inference via RouteMap.\n */\nexport interface RouteSchemas<\n TPathSchema = unknown,\n TQuerySchema = unknown,\n TBodySchema = unknown,\n TResponseSchema = unknown,\n> {\n readonly pathParams: TPathSchema;\n readonly queryParams: TQuerySchema;\n readonly body: TBodySchema;\n readonly response: TResponseSchema;\n}\n\nexport type ServerRoute<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = ResponseType,\n TSchemas extends RouteSchemas = RouteSchemas,\n TMethod extends string = string,\n TPath extends string = string,\n> = Omit<ApiRoute, 'handler' | 'createHandler' | 'method' | 'path' | 'openapi'> & {\n method: TMethod;\n path: TPath;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream', defaults to 'stream'\n sseFlushOnConnect?: boolean;\n // Method signature is bivariant in params, allowing heterogeneous route arrays\n // while still preserving specific param types on individual routes.\n handler(params: TParams & ServerContext): ReturnType<ServerRouteHandler<TParams, TResponse, TResponseType>>;\n pathParamSchema?: z.ZodSchema;\n queryParamSchema?: z.ZodSchema;\n bodySchema?: z.ZodSchema;\n responseSchema?: z.ZodSchema;\n openapi?: OpenAPIRoute; // Auto-generated OpenAPI spec for this route\n maxBodySize?: number; // Optional route-specific body size limit in bytes\n deprecated?: boolean; // Flag for deprecated routes (used for route parity, skipped in tests)\n /**\n * Permission required to access this route (EE feature).\n * If set, the user must have this permission to access the route.\n * Uses the format: `resource:action` or `resource:action:resourceId`\n *\n * When an array is provided, the user needs ANY ONE of the listed permissions\n * (logical OR). This is useful for routes that serve multiple resource types,\n * e.g. a streaming endpoint used by both runtime and stored agents.\n *\n * @example\n * requiresPermission: MastraFGAPermissions.AGENTS_READ\n * requiresPermission: MastraFGAPermissions.WORKFLOWS_EXECUTE\n */\n requiresPermission?: MastraFGAPermissionInput | MastraFGAPermissionInput[];\n /**\n * FGA authorization config for this route (EE feature).\n * If set, the user must have the specified permission on the resource.\n *\n * @example\n * fga: { resourceType: 'agent', resourceIdParam: 'agentId', permission: MastraFGAPermissions.AGENTS_EXECUTE }\n */\n fga?: FGARouteConfig;\n onValidationError?: ValidationErrorHook;\n /** @internal Phantom type — not present at runtime. Used for type-level schema inference. */\n readonly __schemas?: TSchemas;\n};\n\nexport const SERVER_ROUTES: readonly ServerRoute[] = [\n ...AGENTS_ROUTES,\n ...AUTH_ROUTES,\n ...WORKFLOWS_ROUTES,\n ...TOOLS_ROUTES,\n ...PROCESSORS_ROUTES,\n ...RESPONSES_ROUTES,\n ...CONVERSATIONS_ROUTES,\n ...MEMORY_ROUTES,\n ...SCORES_ROUTES,\n ...OBSERVABILITY_ROUTES,\n ...LOGS_ROUTES,\n ...VECTORS_ROUTES,\n ...A2A_ROUTES,\n ...WORKSPACE_ROUTES,\n ...LEGACY_ROUTES,\n ...MCP_ROUTES,\n ...STORED_AGENTS_ROUTES,\n ...DYNAMIC_WORKFLOWS_ROUTES,\n ...STORED_MCP_CLIENTS_ROUTES,\n ...STORED_PROMPT_BLOCKS_ROUTES,\n ...STORED_SCORERS_ROUTES,\n ...STORED_WORKSPACES_ROUTES,\n ...STORED_SKILLS_ROUTES,\n ...TOOL_PROVIDER_ROUTES,\n ...PROCESSOR_PROVIDER_ROUTES,\n ...SYSTEM_ROUTES,\n ...DATASETS_ROUTES,\n ...BACKGROUND_TASK_ROUTES,\n ...EDITOR_BUILDER_ROUTES,\n ...AGENT_BUILDER_ROUTES,\n ...SCHEDULES_ROUTES,\n ...CHANNELS_ROUTES,\n ...AGENT_CONTROLLER_ROUTES,\n];\n\n/**\n * Union type of all individual route arrays.\n * Built from the per-domain `as const` tuples to preserve each route's specific schema types.\n */\nexport type ServerRoutes = readonly [\n ...AgentRoutes,\n ...typeof AUTH_ROUTES,\n ...typeof WORKFLOWS_ROUTES,\n ...typeof TOOLS_ROUTES,\n ...typeof PROCESSORS_ROUTES,\n ...typeof RESPONSES_ROUTES,\n ...typeof CONVERSATIONS_ROUTES,\n ...typeof MEMORY_ROUTES,\n ...typeof SCORES_ROUTES,\n ...typeof OBSERVABILITY_ROUTES,\n ...typeof LOGS_ROUTES,\n ...typeof VECTORS_ROUTES,\n ...typeof A2A_ROUTES,\n ...typeof AGENT_BUILDER_ROUTES,\n ...typeof WORKSPACE_ROUTES,\n ...typeof LEGACY_ROUTES,\n ...typeof MCP_ROUTES,\n ...StoredAgentRoutes,\n ...typeof STORED_MCP_CLIENTS_ROUTES,\n ...typeof STORED_PROMPT_BLOCKS_ROUTES,\n ...typeof STORED_SCORERS_ROUTES,\n ...typeof STORED_WORKSPACES_ROUTES,\n ...typeof STORED_SKILLS_ROUTES,\n ...typeof TOOL_PROVIDER_ROUTES,\n ...typeof PROCESSOR_PROVIDER_ROUTES,\n ...typeof SYSTEM_ROUTES,\n ...typeof DATASETS_ROUTES,\n ...typeof EDITOR_BUILDER_ROUTES,\n ...typeof CHANNELS_ROUTES,\n];\n\n// Export route builder and OpenAPI utilities\nexport { createRoute, createPublicRoute, pickParams, jsonQueryParam, wrapSchemaForQueryParams } from './route-builder';\nexport { generateOpenAPIDocument } from '../openapi-utils';\n\n// Export permission utilities\nexport { derivePermission, extractResource, deriveAction, getEffectivePermission } from './permissions';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAa,aAAa,CAAC,sBAAsB,qBAAqB;;;ACiBtE,MAAa,uBAAuB;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;ACMA,MAAa,0BAAkD;CAC7D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AC1BA,MAAa,gBAAwC;CAInD;CACA;CACA;CACA;CAKA;CACA;CAKA;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAKA;CAKA;CACA;CACA;CACA;CAKA;CAKA;CACA;CAKA;CAKA;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;AACF;;;AC3IA,MAAa,yBAAuD;CAClE;CACA;CACA;AACF;;;ACJA,MAAa,kBAAkB;CAC7B;CACA;CACA;CACA;AACF;;;ACLA,MAAa,uBAAuB;CAClC;CACA;CACA;CACA;AACF;;;ACmBA,MAAa,kBAAkB;CAE7B;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CAEA;CAEA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CAEA;CAEA;CAEA;AACF;;;;;;;;;AC1DA,MAAa,2BAAmD;CAC9D;CACA;CACA;CACA;AACF;;;;;;;;;ACAA,MAAa,wBAAwB;CACnC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;;ACpBA,MAAa,gBAAgB;CAI3B;CACA;CAKA;CACA;AACF;;;AClBA,MAAa,cAAc;CAAC;CAA2B;CAAiB;AAAyB;;;;;;;;;ACiBjG,MAAa,aAAa;CAIxB;CACA;CAKA;CACA;CACA;CAKA;CACA;CAKA;CACA;CACA;AACF;;;ACjBA,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACZA,MAAa,uBAAuB;CAElC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AChFA,MAAa,4BAA4B,CAAC,gCAAgC,4BAA4B;;;ACAtG,MAAa,oBAAoB;CAAC;CAAuB;CAA2B;AAAuB;;;ACA3G,MAAa,mBAAmB;CAAC;CAAuB;CAAoB;AAAqB;;;ACWjG,MAAa,mBAAiD;CAC5D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACdA,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;;;ACYA,MAAa,uBAA+C;CAM1D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAOA;CACA;CACA;CACA;CACA;CACA;CACA;CAKA;CACA;AACF;;;AC7CA,MAAa,4BAA4B;CAEvC;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AClBA,MAAa,8BAA8B;CAEzC;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AClBA,MAAa,wBAAwB;CAEnC;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACzBA,MAAa,uBAAuB;CAElC;CACA;CACA;CACA;CACA;CAEA;CAEA;CACA;AACF;;;ACdA,MAAa,2BAA2B;CAEtC;CACA;CACA;CACA;CACA;AACF;;;;;;;;ACRA,MAAa,gBAAgB,CAAC,2BAA2B,oBAAoB;;;ACS7E,MAAa,uBAAuB;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AC5BA,MAAa,eAAe;CAAC;CAAkB;CAAsB;AAAkB;;;ACSvF,MAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACQA,MAAa,mBAAmB;CAC9B;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;;;ACzCA,MAAa,mBAAmB;CAE9B;CAGA;CAGA,GAAG;CAGH,GAAG;CAGH,GAAG;CAGH,GAAG;AACL;;;ACmIA,MAAa,gBAAwC;CACnD,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACL"}
|
|
@@ -200,6 +200,9 @@ const DATASETS_ROUTES = [
|
|
|
200
200
|
require_server_handlers_datasets.EXPERIMENT_REVIEW_SUMMARY_ROUTE,
|
|
201
201
|
require_server_handlers_datasets.LIST_EXPERIMENTS_ROUTE,
|
|
202
202
|
require_server_handlers_datasets.TRIGGER_EXPERIMENT_ROUTE,
|
|
203
|
+
require_server_handlers_datasets.RUN_EXPERIMENT_ITEM_ROUTE,
|
|
204
|
+
require_server_handlers_datasets.SUBMIT_EXPERIMENT_RESULT_ROUTE,
|
|
205
|
+
require_server_handlers_datasets.FINALIZE_EXPERIMENT_ROUTE,
|
|
203
206
|
require_server_handlers_datasets.GET_EXPERIMENT_ROUTE,
|
|
204
207
|
require_server_handlers_datasets.LIST_EXPERIMENT_RESULTS_ROUTE,
|
|
205
208
|
require_server_handlers_datasets.UPDATE_EXPERIMENT_RESULT_ROUTE,
|
|
@@ -617,4 +620,4 @@ Object.defineProperty(exports, "SERVER_ROUTES", {
|
|
|
617
620
|
}
|
|
618
621
|
});
|
|
619
622
|
|
|
620
|
-
//# sourceMappingURL=routes-
|
|
623
|
+
//# sourceMappingURL=routes-DGwUTyHr.cjs.map
|