@mastra/server 1.36.0-alpha.8 → 1.36.0-alpha.9
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 +11 -0
- package/dist/{api-schema-manifest-HYLH35UU.cjs → api-schema-manifest-4VHMCJM3.cjs} +4 -4
- package/dist/{api-schema-manifest-HYLH35UU.cjs.map → api-schema-manifest-4VHMCJM3.cjs.map} +1 -1
- package/dist/{api-schema-manifest-WY623UST.js → api-schema-manifest-DZFKQXHM.js} +3 -3
- package/dist/{api-schema-manifest-WY623UST.js.map → api-schema-manifest-DZFKQXHM.js.map} +1 -1
- package/dist/{chunk-3FLL7GNJ.js → chunk-32CLLOUG.js} +3 -3
- package/dist/{chunk-3FLL7GNJ.js.map → chunk-32CLLOUG.js.map} +1 -1
- package/dist/{chunk-YQYYIRDS.cjs → chunk-35SOHRUB.cjs} +90 -90
- package/dist/{chunk-YQYYIRDS.cjs.map → chunk-35SOHRUB.cjs.map} +1 -1
- package/dist/{chunk-E3UHRQZ7.js → chunk-3HMSFYGA.js} +12 -12
- package/dist/{chunk-E3UHRQZ7.js.map → chunk-3HMSFYGA.js.map} +1 -1
- package/dist/{chunk-JZ2K5LY4.cjs → chunk-5R2TJISH.cjs} +4 -4
- package/dist/{chunk-JZ2K5LY4.cjs.map → chunk-5R2TJISH.cjs.map} +1 -1
- package/dist/{chunk-D4HVKF56.js → chunk-ADCOCQN6.js} +3 -3
- package/dist/{chunk-D4HVKF56.js.map → chunk-ADCOCQN6.js.map} +1 -1
- package/dist/{chunk-KME4O3RJ.cjs → chunk-ADOALG4G.cjs} +3 -2
- package/dist/chunk-ADOALG4G.cjs.map +1 -0
- package/dist/{chunk-CY2WDWFQ.cjs → chunk-BXXP2OVD.cjs} +3 -3
- package/dist/{chunk-CY2WDWFQ.cjs.map → chunk-BXXP2OVD.cjs.map} +1 -1
- package/dist/{chunk-A4FTF4A7.cjs → chunk-CUCQCEE7.cjs} +63 -63
- package/dist/{chunk-A4FTF4A7.cjs.map → chunk-CUCQCEE7.cjs.map} +1 -1
- package/dist/{chunk-L6U4LZZX.cjs → chunk-CYRYTJ4B.cjs} +24 -24
- package/dist/{chunk-L6U4LZZX.cjs.map → chunk-CYRYTJ4B.cjs.map} +1 -1
- package/dist/{chunk-CODPCBGN.cjs → chunk-EQICIFWJ.cjs} +25 -25
- package/dist/{chunk-CODPCBGN.cjs.map → chunk-EQICIFWJ.cjs.map} +1 -1
- package/dist/{chunk-7X6KGLPA.js → chunk-FTCTH6EC.js} +4 -4
- package/dist/{chunk-7X6KGLPA.js.map → chunk-FTCTH6EC.js.map} +1 -1
- package/dist/{chunk-HFESVWJ6.js → chunk-GYC5P37S.js} +3 -3
- package/dist/{chunk-HFESVWJ6.js.map → chunk-GYC5P37S.js.map} +1 -1
- package/dist/{chunk-MERLF4UP.cjs → chunk-GZ4HIOSP.cjs} +7 -7
- package/dist/{chunk-MERLF4UP.cjs.map → chunk-GZ4HIOSP.cjs.map} +1 -1
- package/dist/{chunk-XM54QZ3G.js → chunk-JHFU2P6Z.js} +3 -3
- package/dist/{chunk-XM54QZ3G.js.map → chunk-JHFU2P6Z.js.map} +1 -1
- package/dist/{chunk-ZRU7KWNW.cjs → chunk-JIB75MHZ.cjs} +7 -3
- package/dist/chunk-JIB75MHZ.cjs.map +1 -0
- package/dist/{chunk-WM2RUEBO.js → chunk-K5ED24PC.js} +3 -3
- package/dist/{chunk-WM2RUEBO.js.map → chunk-K5ED24PC.js.map} +1 -1
- package/dist/{chunk-TNXHSUIL.cjs → chunk-KIR4MF3S.cjs} +117 -117
- package/dist/{chunk-TNXHSUIL.cjs.map → chunk-KIR4MF3S.cjs.map} +1 -1
- package/dist/{chunk-KWREVMMS.js → chunk-LO3JBCO6.js} +7 -3
- package/dist/chunk-LO3JBCO6.js.map +1 -0
- package/dist/{chunk-HKM5KOOK.cjs → chunk-LRIYO7KQ.cjs} +4 -4
- package/dist/{chunk-HKM5KOOK.cjs.map → chunk-LRIYO7KQ.cjs.map} +1 -1
- package/dist/{chunk-HWT5YD7H.cjs → chunk-M2CPNUSL.cjs} +4 -4
- package/dist/{chunk-HWT5YD7H.cjs.map → chunk-M2CPNUSL.cjs.map} +1 -1
- package/dist/{chunk-I3RWQGD7.js → chunk-MRG75BLC.js} +3 -3
- package/dist/{chunk-I3RWQGD7.js.map → chunk-MRG75BLC.js.map} +1 -1
- package/dist/{chunk-Y3KIKJW6.js → chunk-P673H7LK.js} +3 -3
- package/dist/{chunk-Y3KIKJW6.js.map → chunk-P673H7LK.js.map} +1 -1
- package/dist/{chunk-CBHBMWZ2.cjs → chunk-PQKBBJOP.cjs} +5 -5
- package/dist/{chunk-CBHBMWZ2.cjs.map → chunk-PQKBBJOP.cjs.map} +1 -1
- package/dist/{chunk-4Z24UGLY.cjs → chunk-RDR3XN2X.cjs} +17 -17
- package/dist/{chunk-4Z24UGLY.cjs.map → chunk-RDR3XN2X.cjs.map} +1 -1
- package/dist/{chunk-IRJQQYII.js → chunk-SAPM56NU.js} +3 -3
- package/dist/{chunk-IRJQQYII.js.map → chunk-SAPM56NU.js.map} +1 -1
- package/dist/{chunk-IFYVRBFS.js → chunk-VVLD43MX.js} +3 -2
- package/dist/chunk-VVLD43MX.js.map +1 -0
- package/dist/{chunk-664F5XOW.js → chunk-YZPXWF6M.js} +4 -4
- package/dist/{chunk-664F5XOW.js.map → chunk-YZPXWF6M.js.map} +1 -1
- package/dist/{chunk-GW6T4HLN.js → chunk-ZUWPQVWA.js} +4 -4
- package/dist/{chunk-GW6T4HLN.js.map → chunk-ZUWPQVWA.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/server/handlers/a2a.cjs +14 -14
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +41 -41
- package/dist/server/handlers/agents.d.ts +8 -0
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +26 -26
- package/dist/server/handlers/datasets.d.ts +2 -0
- package/dist/server/handlers/datasets.d.ts.map +1 -1
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/responses.cjs +4 -4
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +26 -26
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +18 -18
- package/dist/server/handlers.js +9 -9
- package/dist/server/schemas/agents.d.ts +8 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/datasets.d.ts +2 -0
- package/dist/server/schemas/datasets.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +90 -90
- package/dist/server/schemas/index.js +2 -2
- package/dist/server/server-adapter/index.cjs +13 -13
- package/dist/server/server-adapter/index.js +2 -2
- package/dist/server/server-adapter/routes/datasets.d.ts +2 -0
- package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-IFYVRBFS.js.map +0 -1
- package/dist/chunk-KME4O3RJ.cjs.map +0 -1
- package/dist/chunk-KWREVMMS.js.map +0 -1
- package/dist/chunk-ZRU7KWNW.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/workflows.ts"],"names":[],"mappings":"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","file":"chunk-IRJQQYII.js","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport type { RequestContext } from '@mastra/core/di';\nimport type { Event } from '@mastra/core/events';\nimport { createCachingTransformStream, createReplayStream } from '@mastra/core/stream';\nimport type { WorkflowInfo, ChunkType, StreamEvent, WorkflowStateField } from '@mastra/core/workflows';\nimport { z } from 'zod/v4';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport { streamResponseSchema } from '../schemas/agents';\nimport { optionalRunIdSchema, runIdSchema } from '../schemas/common';\nimport {\n createWorkflowRunBodySchema,\n createWorkflowRunResponseSchema,\n listWorkflowRunsQuerySchema,\n listWorkflowsResponseSchema,\n restartBodySchema,\n timeTravelBodySchema,\n resumeBodySchema,\n startAsyncWorkflowBodySchema,\n streamWorkflowBodySchema,\n workflowControlResponseSchema,\n workflowExecutionResultSchema,\n workflowIdPathParams,\n workflowInfoSchema,\n workflowRunPathParams,\n workflowRunsResponseSchema,\n workflowRunResultQuerySchema,\n workflowRunResultSchema,\n observeWorkflowQuerySchema,\n} from '../schemas/workflows';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { getWorkflowInfo, WorkflowRegistry } from '../utils';\nimport { handleError } from './error';\nimport { getEffectiveResourceId, validateRunOwnership } from './utils';\n\nexport interface WorkflowContext extends Context {\n workflowId?: string;\n runId?: string;\n requestContext?: RequestContext;\n}\n\nasync function listWorkflowsFromSystem({ mastra, workflowId }: WorkflowContext) {\n const logger = mastra.getLogger();\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n let workflow;\n\n // First check registry for temporary workflows\n workflow = WorkflowRegistry.getWorkflow(workflowId);\n\n if (!workflow) {\n try {\n workflow = mastra.getWorkflowById(workflowId);\n } catch (error) {\n logger.debug('Error getting workflow, searching agents for workflow', error);\n }\n }\n\n if (!workflow) {\n logger.debug('Workflow not found, searching agents for workflow', { workflowId });\n const agents = mastra.listAgents();\n\n if (Object.keys(agents || {}).length) {\n for (const [_, agent] of Object.entries(agents)) {\n try {\n const workflows = await agent.listWorkflows();\n\n if (workflows[workflowId]) {\n workflow = workflows[workflowId];\n break;\n }\n } catch (error) {\n logger.debug('Error getting workflow from agent', error);\n }\n }\n }\n }\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n return { workflow };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_WORKFLOWS_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows',\n responseType: 'json',\n queryParamSchema: z.object({\n partial: z.string().optional(),\n }),\n responseSchema: listWorkflowsResponseSchema,\n summary: 'List all workflows',\n description: 'Returns a list of all available workflows in the system',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: (async ({ mastra, partial, requestContext }: any) => {\n try {\n const workflows = mastra.listWorkflows({ serialized: false });\n const isPartial = partial === 'true';\n const _workflows = Object.entries(workflows).reduce<Record<string, WorkflowInfo>>((acc, [key, workflow]) => {\n acc[key] = getWorkflowInfo(workflow as any, isPartial);\n return acc;\n }, {});\n\n // Filter workflows by FGA if configured\n const fgaProvider = mastra.getServer?.()?.fga;\n const user = requestContext?.get('user');\n if (fgaProvider) {\n if (!user) {\n return {};\n }\n const workflowList = Object.entries(_workflows).map(([id, w]) => ({ id, ...w }));\n const accessible = await fgaProvider.filterAccessible(\n user,\n workflowList,\n 'workflow',\n MastraFGAPermissions.WORKFLOWS_READ,\n );\n const accessibleSet = new Set(accessible.map((w: any) => w.id));\n for (const id of Object.keys(_workflows)) {\n if (!accessibleSet.has(id)) {\n delete _workflows[id];\n }\n }\n }\n\n return _workflows;\n } catch (error) {\n return handleError(error, 'Error getting workflows');\n }\n }) as any,\n});\n\nexport const GET_WORKFLOW_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows/:workflowId',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n responseSchema: workflowInfoSchema,\n summary: 'Get workflow by ID',\n description: 'Returns details for a specific workflow',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: (async ({ mastra, workflowId }: any) => {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n return getWorkflowInfo(workflow);\n } catch (error) {\n return handleError(error, 'Error getting workflow');\n }\n }) as any,\n});\n\nexport const LIST_WORKFLOW_RUNS_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows/:workflowId/runs',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: listWorkflowRunsQuerySchema,\n responseSchema: workflowRunsResponseSchema,\n summary: 'List workflow runs',\n description: 'Returns a paginated list of execution runs for the specified workflow',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({\n mastra,\n workflowId,\n fromDate,\n toDate,\n page,\n perPage,\n limit,\n offset,\n resourceId,\n status,\n requestContext,\n }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n // Support both page/perPage and limit/offset for backwards compatibility\n // If page/perPage provided, use directly; otherwise convert from limit/offset\n let finalPage = page;\n let finalPerPage = perPage;\n\n if (finalPerPage === undefined && limit !== undefined) {\n finalPerPage = limit;\n }\n if (finalPage === undefined && offset !== undefined && finalPerPage !== undefined && finalPerPage > 0) {\n finalPage = Math.floor(offset / finalPerPage);\n }\n\n if (\n finalPerPage !== undefined &&\n (typeof finalPerPage !== 'number' || !Number.isInteger(finalPerPage) || finalPerPage <= 0)\n ) {\n throw new HTTPException(400, { message: 'perPage must be a positive integer' });\n }\n if (finalPage !== undefined && (!Number.isInteger(finalPage) || finalPage < 0)) {\n throw new HTTPException(400, { message: 'page must be a non-negative integer' });\n }\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n const workflowRuns = (await workflow.listWorkflowRuns({\n fromDate: fromDate ? (typeof fromDate === 'string' ? new Date(fromDate) : fromDate) : undefined,\n toDate: toDate ? (typeof toDate === 'string' ? new Date(toDate) : toDate) : undefined,\n perPage: finalPerPage,\n page: finalPage,\n resourceId: effectiveResourceId,\n status,\n })) || {\n runs: [],\n total: 0,\n };\n return workflowRuns;\n } catch (error) {\n return handleError(error, 'Error getting workflow runs');\n }\n },\n});\n\nexport const GET_WORKFLOW_RUN_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows/:workflowId/runs/:runId',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n queryParamSchema: workflowRunResultQuerySchema,\n responseSchema: workflowRunResultSchema,\n summary: 'Get workflow run by ID',\n description:\n 'Returns a workflow run with metadata and processed execution state. Use the fields query parameter to reduce payload size by requesting only specific fields (e.g., ?fields=status,result,metadata)',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, fields, withNestedWorkflows, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'Run ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n // Parse fields parameter (comma-separated string)\n const fieldList = fields ? (fields.split(',').map((f: string) => f.trim()) as WorkflowStateField[]) : undefined;\n\n const run = await workflow.getWorkflowRunById(runId, {\n withNestedWorkflows: withNestedWorkflows !== 'false', // Default to true unless explicitly 'false'\n fields: fieldList,\n });\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n return run;\n } catch (error) {\n return handleError(error, 'Error getting workflow run');\n }\n },\n});\n\nexport const DELETE_WORKFLOW_RUN_BY_ID_ROUTE = createRoute({\n method: 'DELETE',\n path: '/workflows/:workflowId/runs/:runId',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Delete workflow run by ID',\n description: 'Deletes a specific workflow run by ID',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'Run ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n // Validate ownership before deletion\n const run = await workflow.getWorkflowRunById(runId);\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n await validateRunOwnership(run, effectiveResourceId);\n\n await workflow.deleteWorkflowRunById(runId);\n\n return { message: 'Workflow run deleted' };\n } catch (error) {\n return handleError(error, 'Error deleting workflow run');\n }\n },\n});\n\nexport const CREATE_WORKFLOW_RUN_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/create-run',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: createWorkflowRunBodySchema,\n responseSchema: createWorkflowRunResponseSchema,\n summary: 'Create workflow run',\n description: 'Creates a new workflow execution instance with an optional custom run ID',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, disableScorers, requestContext }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.createRun({ runId, resourceId: effectiveResourceId, disableScorers });\n\n return { runId: run.runId };\n } catch (error) {\n return handleError(error, 'Error creating workflow run');\n }\n },\n});\n\nexport const STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/stream',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: streamWorkflowBodySchema,\n summary: 'Stream workflow execution',\n description: 'Executes a workflow and streams the results in real-time',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to stream workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n const serverCache = mastra.getServerCache();\n\n const run = await workflow.createRun({ runId, resourceId: effectiveResourceId });\n const result = run.stream({ ...params, requestContext });\n\n if (serverCache) {\n const { transform } = createCachingTransformStream<ChunkType>({\n cache: serverCache,\n cacheKey: runId,\n });\n return result.fullStream.pipeThrough(transform);\n }\n\n return result.fullStream;\n } catch (error) {\n return handleError(error, 'Error streaming workflow');\n }\n },\n});\n\nexport const RESUME_STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/resume-stream',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: resumeBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Resume workflow stream',\n description: 'Resumes a suspended workflow execution and continues streaming results',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n\n const resumeResult = _run.resumeStream({ ...params, requestContext });\n\n if (serverCache) {\n const { transform } = createCachingTransformStream<ChunkType>({\n cache: serverCache,\n cacheKey: runId,\n });\n return resumeResult.fullStream.pipeThrough(transform);\n }\n\n return resumeResult.fullStream;\n } catch (error) {\n return handleError(error, 'Error resuming workflow');\n }\n },\n});\n\nexport const START_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/start-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: startAsyncWorkflowBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Start workflow asynchronously',\n description: 'Starts a workflow execution asynchronously without streaming results',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const _run = await workflow.createRun({ runId, resourceId: effectiveResourceId });\n const result = await _run.start({ ...params, requestContext });\n return result;\n } catch (error) {\n return handleError(error, 'Error starting async workflow');\n }\n },\n});\n\nexport const START_WORKFLOW_RUN_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/start',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: startAsyncWorkflowBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Start specific workflow run',\n description: 'Starts execution of a specific workflow run by ID',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to start run' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n void _run.start({\n ...params,\n requestContext,\n });\n\n return { message: 'Workflow run started' };\n } catch (e) {\n return handleError(e, 'Error starting workflow run');\n }\n },\n});\n\nexport const OBSERVE_STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/observe',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: observeWorkflowQuerySchema,\n responseSchema: streamResponseSchema,\n summary: 'Observe workflow stream',\n description:\n 'Observes and streams updates from an already running workflow execution. Supports position-based resume with offset for efficient reconnection.',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, offset, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to observe workflow stream' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n if (!serverCache) {\n throw new HTTPException(500, { message: 'Server cache not found' });\n }\n\n // Get cached chunks from the specified index (or 0 if not specified)\n const startIndex = offset ?? 0;\n const cachedRunChunks = (await serverCache.listFromTo(runId, startIndex)) as ChunkType[];\n const liveStream = _run.observeStream();\n\n return createReplayStream<ChunkType>({\n history: cachedRunChunks,\n liveSource: liveStream,\n });\n } catch (error) {\n return handleError(error, 'Error observing workflow stream');\n }\n },\n});\n\nexport const RESUME_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/resume-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: resumeBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Resume workflow asynchronously',\n description: 'Resumes a suspended workflow execution asynchronously without streaming',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const result = await _run.resume({ ...params, requestContext });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error resuming workflow step');\n }\n },\n});\n\nexport const RESUME_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/resume',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: resumeBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Resume workflow',\n description: 'Resumes a suspended workflow execution from a specific step',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n void _run.resume({ ...params, requestContext });\n\n return { message: 'Workflow run resumed' };\n } catch (error) {\n return handleError(error, 'Error resuming workflow');\n }\n },\n});\n\nexport const RESTART_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: restartBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Restart workflow asynchronously',\n description: 'Restarts an active workflow execution asynchronously',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to restart workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const result = await _run.restart({ ...params, requestContext });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const RESTART_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: restartBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Restart workflow',\n description: 'Restarts an active workflow execution',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to restart workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n void _run.restart({ ...params, requestContext });\n\n return { message: 'Workflow run restarted' };\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart-all-active-workflow-runs-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Restart all active workflow runs asynchronously',\n description: 'Restarts all active workflow runs asynchronously',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId }) => {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n await workflow.restartAllActiveWorkflowRuns();\n\n return { message: 'All active workflow runs restarted' };\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart-all-active-workflow-runs',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Restart all active workflow runs',\n description: 'Restarts all active workflow runs',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId }) => {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n void workflow.restartAllActiveWorkflowRuns();\n\n return { message: 'All active workflow runs restarted' };\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/time-travel-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: timeTravelBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Time travel workflow asynchronously',\n description: 'Time travels a workflow run asynchronously without streaming',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to time travel workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const result = await _run.timeTravel({ ...params, requestContext });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error time traveling workflow');\n }\n },\n});\n\nexport const TIME_TRAVEL_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/time-travel',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: timeTravelBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Time travel workflow',\n description: 'Time travels a workflow run, starting from a specific step',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to time travel workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n void _run.timeTravel({ ...params, requestContext });\n\n return { message: 'Workflow run time travel started' };\n } catch (error) {\n return handleError(error, 'Error time traveling workflow');\n }\n },\n});\n\nexport const TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/time-travel-stream',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: timeTravelBodySchema,\n summary: 'Time travel workflow stream',\n description: 'Time travels a workflow run, starting from a specific step, and streams the results in real-time',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to time travel workflow stream' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n // Validate ownership of existing run before time traveling\n const existingRun = await workflow.getWorkflowRunById(runId);\n if (!existingRun) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n await validateRunOwnership(existingRun, effectiveResourceId);\n\n const serverCache = mastra.getServerCache();\n\n const run = await workflow.createRun({ runId, resourceId: existingRun.resourceId });\n const result = run.timeTravelStream({ ...params, requestContext });\n\n if (serverCache) {\n const { transform } = createCachingTransformStream<ChunkType>({\n cache: serverCache,\n cacheKey: runId,\n });\n return result.fullStream.pipeThrough(transform);\n }\n\n return result.fullStream;\n } catch (error) {\n return handleError(error, 'Error time traveling workflow stream');\n }\n },\n});\n\nexport const CANCEL_WORKFLOW_RUN_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/runs/:runId/cancel',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Cancel workflow run',\n description: 'Cancels an in-progress workflow execution',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to cancel workflow run' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n await _run.cancel();\n\n return { message: 'Workflow run cancelled' };\n } catch (error) {\n return handleError(error, 'Error canceling workflow run');\n }\n },\n});\n\n// Legacy routes (deprecated)\nexport const STREAM_LEGACY_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/stream-legacy',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: streamWorkflowBodySchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Stream workflow with legacy format',\n description: 'Legacy endpoint for streaming workflow execution. Use /workflows/:workflowId/stream instead.',\n tags: ['Workflows', 'Legacy'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const serverCache = mastra.getServerCache();\n\n const run = await workflow.createRun({ runId, resourceId: effectiveResourceId });\n const result = run.streamLegacy({\n ...params,\n requestContext,\n onChunk: async chunk => {\n if (serverCache) {\n const cacheKey = runId;\n await serverCache.listPush(cacheKey, chunk);\n }\n },\n });\n\n return result.stream;\n } catch (error) {\n return handleError(error, 'Error executing workflow');\n }\n },\n});\n\nexport const OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/observe-stream-legacy',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Observe workflow stream with legacy format',\n description: 'Legacy endpoint for observing workflow stream. Use /workflows/:workflowId/observe instead.',\n tags: ['Workflows', 'Legacy'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to observe workflow stream' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n if (!serverCache) {\n throw new HTTPException(500, { message: 'Server cache not found' });\n }\n\n // Get cached chunks and create replay stream\n const cachedRunChunks = (await serverCache.listFromTo(runId, 0)) as StreamEvent[];\n const result = _run.observeStreamLegacy();\n\n if (!result.stream) {\n throw new HTTPException(500, { message: 'Failed to create observe stream' });\n }\n\n return createReplayStream<StreamEvent>({\n history: cachedRunChunks,\n liveSource: result.stream,\n });\n } catch (error) {\n return handleError(error, 'Error observing workflow stream');\n }\n },\n});\n\n// ============================================================================\n// Worker Step Execution Endpoint\n// Used by standalone OrchestrationWorker instances with HttpRemoteStrategy.\n// ============================================================================\n\n// `workflowId` and `runId` are taken from path params (single source of\n// truth); they are intentionally omitted from the request body schema.\nconst stepExecutionBodySchema = z.object({\n stepId: z.string(),\n executionPath: z.array(z.number().int().nonnegative()),\n stepResults: z.record(z.string(), z.any()),\n state: z.record(z.string(), z.any()),\n requestContext: z.record(z.string(), z.any()),\n input: z.any().optional(),\n resumeData: z.any().optional(),\n retryCount: z.number().int().nonnegative().optional(),\n foreachIdx: z.number().int().nonnegative().optional(),\n format: z.enum(['legacy', 'vnext']).optional(),\n perStep: z.boolean().optional(),\n validateInputs: z.boolean().optional(),\n});\n\ntype StepExecutionBody = z.infer<typeof stepExecutionBodySchema>;\n\ninterface StepExecutionHandlerArgs extends StepExecutionBody {\n mastra: Mastra;\n workflowId: string;\n runId: string;\n}\n\n// Reuse the InProcessStrategy across requests for a given Mastra instance.\n// The strategy is stateless beyond its mastra reference, but allocating it\n// per request triggers a dynamic import on the hot path.\n//\n// The dynamic import is required by `pnpm --filter ./packages/server\n// check:core-imports`: `@mastra/core/worker` is a new subpath that older\n// peer-dep floors don't expose, so a static import would fail the check.\n// Once the floor is bumped, this can become a static import.\ntype StepStrategy = { executeStep: (p: unknown) => Promise<unknown> };\nconst strategyByMastra = new WeakMap<Mastra, StepStrategy>();\n\nasync function getStepStrategy(mastra: Mastra): Promise<StepStrategy> {\n let cached = strategyByMastra.get(mastra);\n if (!cached) {\n const { InProcessStrategy } = await import('@mastra/core/worker');\n cached = new InProcessStrategy({ mastra }) as unknown as StepStrategy;\n strategyByMastra.set(mastra, cached);\n }\n return cached;\n}\n\n// Step execution returns the worker's StepResult. Its shape is dynamic\n// (depends on the step's output schema), so we use a permissive z.any().\nconst stepExecutionResponseSchema = z.any();\n\nexport const EXECUTE_WORKFLOW_STEP_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/runs/:runId/steps/execute',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n bodySchema: stepExecutionBodySchema,\n responseSchema: stepExecutionResponseSchema,\n summary: 'Execute a workflow step',\n description:\n 'Internal endpoint used by standalone OrchestrationWorker instances to execute workflow steps remotely via HttpRemoteStrategy.',\n tags: ['Workflows', 'Worker'],\n requiresAuth: true,\n handler: (async ({ mastra, workflowId, runId, ...body }: StepExecutionHandlerArgs) => {\n try {\n // Auth is enforced by the framework via `requiresAuth: true` and the\n // deployer's `authenticateToken` provider. Note that when NO auth\n // provider is configured, the framework currently treats the route\n // as public (see ServerAdapter.checkRouteAuth). Operators deploying\n // standalone workers must configure an auth provider to gate this\n // endpoint — there is no implicit fail-closed.\n const strategy = await getStepStrategy(mastra);\n const result = await strategy.executeStep({\n workflowId,\n runId,\n stepId: body.stepId,\n executionPath: body.executionPath,\n stepResults: body.stepResults,\n state: body.state,\n requestContext: body.requestContext,\n input: body.input,\n resumeData: body.resumeData,\n retryCount: body.retryCount,\n foreachIdx: body.foreachIdx,\n format: body.format,\n perStep: body.perStep,\n validateInputs: body.validateInputs,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing workflow step');\n }\n }) as any,\n});\n\n// Wire shape of an Event delivered through a push-mode broker. Validates the\n// fields `WorkflowEventProcessor` depends on; broker envelopes routinely carry\n// extra metadata that isn't part of `Event` itself, so we passthrough the rest.\n// `createdAt` is an ISO timestamp on the wire — the handler converts it to a\n// `Date` before forwarding to `Mastra.handleWorkflowEvent`.\nconst workflowEventSchema = z.object({\n id: z.string(),\n type: z.string(),\n data: z.unknown(),\n runId: z.string(),\n createdAt: z.string(),\n index: z.number().optional(),\n deliveryAttempt: z.number().optional(),\n});\n\nconst receiveWorkflowEventBodySchema = z.object({\n event: workflowEventSchema.passthrough(),\n});\n\nconst receiveWorkflowEventResponseSchema = z.object({\n ok: z.boolean(),\n retry: z.boolean().optional(),\n});\n\ninterface ReceiveWorkflowEventHandlerArgs {\n mastra: Mastra;\n event: Event;\n}\n\n/**\n * Generic push receive endpoint for workflow events. A push-mode broker\n * (GCP Pub/Sub push subscription, SNS, EventBridge) — or a per-broker adapter\n * that decodes the broker's envelope first — POSTs each event here and the\n * response code tells the broker whether to retry:\n *\n * - 200/204 → ack\n * - 5xx → transient, retry with backoff\n * - 4xx → poison, drop / send to DLQ\n *\n * Auth is enforced through the framework's standard `requiresAuth` flow.\n * Operators MUST configure an `authenticateToken` provider that recognizes\n * whatever credential the broker attaches (e.g. a Google-signed OIDC token\n * for GCP Pub/Sub push). Without an auth provider the endpoint is effectively\n * public — same caveat as `EXECUTE_WORKFLOW_STEP_ROUTE`.\n */\nexport const RECEIVE_WORKFLOW_EVENT_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/events',\n responseType: 'json',\n bodySchema: receiveWorkflowEventBodySchema,\n responseSchema: receiveWorkflowEventResponseSchema,\n summary: 'Receive a workflow event from a push-mode broker',\n description:\n 'Push-mode entry point for workflow events. Brokers (GCP Pub/Sub push, SNS, EventBridge) POST each event here; Mastra processes it through the same pipeline as pull-mode workers.',\n tags: ['Workflows', 'Worker'],\n requiresAuth: true,\n handler: (async ({ mastra, event }: ReceiveWorkflowEventHandlerArgs) => {\n try {\n // The wire schema carries `createdAt` as a string; coerce to Date here\n // before handing off to the in-process pipeline, which expects an `Event`.\n const rawCreatedAt = (event as unknown as { createdAt: unknown }).createdAt;\n const createdAt = rawCreatedAt instanceof Date ? rawCreatedAt : new Date(rawCreatedAt as string);\n if (Number.isNaN(createdAt.getTime())) {\n throw new HTTPException(400, { message: 'Invalid createdAt' });\n }\n return await mastra.handleWorkflowEvent({ ...event, createdAt });\n } catch (error) {\n return handleError(error, 'Error receiving workflow event');\n }\n }) as any,\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/workflows.ts"],"names":[],"mappings":"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","file":"chunk-SAPM56NU.js","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport type { RequestContext } from '@mastra/core/di';\nimport type { Event } from '@mastra/core/events';\nimport { createCachingTransformStream, createReplayStream } from '@mastra/core/stream';\nimport type { WorkflowInfo, ChunkType, StreamEvent, WorkflowStateField } from '@mastra/core/workflows';\nimport { z } from 'zod/v4';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport { streamResponseSchema } from '../schemas/agents';\nimport { optionalRunIdSchema, runIdSchema } from '../schemas/common';\nimport {\n createWorkflowRunBodySchema,\n createWorkflowRunResponseSchema,\n listWorkflowRunsQuerySchema,\n listWorkflowsResponseSchema,\n restartBodySchema,\n timeTravelBodySchema,\n resumeBodySchema,\n startAsyncWorkflowBodySchema,\n streamWorkflowBodySchema,\n workflowControlResponseSchema,\n workflowExecutionResultSchema,\n workflowIdPathParams,\n workflowInfoSchema,\n workflowRunPathParams,\n workflowRunsResponseSchema,\n workflowRunResultQuerySchema,\n workflowRunResultSchema,\n observeWorkflowQuerySchema,\n} from '../schemas/workflows';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { getWorkflowInfo, WorkflowRegistry } from '../utils';\nimport { handleError } from './error';\nimport { getEffectiveResourceId, validateRunOwnership } from './utils';\n\nexport interface WorkflowContext extends Context {\n workflowId?: string;\n runId?: string;\n requestContext?: RequestContext;\n}\n\nasync function listWorkflowsFromSystem({ mastra, workflowId }: WorkflowContext) {\n const logger = mastra.getLogger();\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n let workflow;\n\n // First check registry for temporary workflows\n workflow = WorkflowRegistry.getWorkflow(workflowId);\n\n if (!workflow) {\n try {\n workflow = mastra.getWorkflowById(workflowId);\n } catch (error) {\n logger.debug('Error getting workflow, searching agents for workflow', error);\n }\n }\n\n if (!workflow) {\n logger.debug('Workflow not found, searching agents for workflow', { workflowId });\n const agents = mastra.listAgents();\n\n if (Object.keys(agents || {}).length) {\n for (const [_, agent] of Object.entries(agents)) {\n try {\n const workflows = await agent.listWorkflows();\n\n if (workflows[workflowId]) {\n workflow = workflows[workflowId];\n break;\n }\n } catch (error) {\n logger.debug('Error getting workflow from agent', error);\n }\n }\n }\n }\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n return { workflow };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_WORKFLOWS_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows',\n responseType: 'json',\n queryParamSchema: z.object({\n partial: z.string().optional(),\n }),\n responseSchema: listWorkflowsResponseSchema,\n summary: 'List all workflows',\n description: 'Returns a list of all available workflows in the system',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: (async ({ mastra, partial, requestContext }: any) => {\n try {\n const workflows = mastra.listWorkflows({ serialized: false });\n const isPartial = partial === 'true';\n const _workflows = Object.entries(workflows).reduce<Record<string, WorkflowInfo>>((acc, [key, workflow]) => {\n acc[key] = getWorkflowInfo(workflow as any, isPartial);\n return acc;\n }, {});\n\n // Filter workflows by FGA if configured\n const fgaProvider = mastra.getServer?.()?.fga;\n const user = requestContext?.get('user');\n if (fgaProvider) {\n if (!user) {\n return {};\n }\n const workflowList = Object.entries(_workflows).map(([id, w]) => ({ id, ...w }));\n const accessible = await fgaProvider.filterAccessible(\n user,\n workflowList,\n 'workflow',\n MastraFGAPermissions.WORKFLOWS_READ,\n );\n const accessibleSet = new Set(accessible.map((w: any) => w.id));\n for (const id of Object.keys(_workflows)) {\n if (!accessibleSet.has(id)) {\n delete _workflows[id];\n }\n }\n }\n\n return _workflows;\n } catch (error) {\n return handleError(error, 'Error getting workflows');\n }\n }) as any,\n});\n\nexport const GET_WORKFLOW_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows/:workflowId',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n responseSchema: workflowInfoSchema,\n summary: 'Get workflow by ID',\n description: 'Returns details for a specific workflow',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: (async ({ mastra, workflowId }: any) => {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n return getWorkflowInfo(workflow);\n } catch (error) {\n return handleError(error, 'Error getting workflow');\n }\n }) as any,\n});\n\nexport const LIST_WORKFLOW_RUNS_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows/:workflowId/runs',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: listWorkflowRunsQuerySchema,\n responseSchema: workflowRunsResponseSchema,\n summary: 'List workflow runs',\n description: 'Returns a paginated list of execution runs for the specified workflow',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({\n mastra,\n workflowId,\n fromDate,\n toDate,\n page,\n perPage,\n limit,\n offset,\n resourceId,\n status,\n requestContext,\n }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n // Support both page/perPage and limit/offset for backwards compatibility\n // If page/perPage provided, use directly; otherwise convert from limit/offset\n let finalPage = page;\n let finalPerPage = perPage;\n\n if (finalPerPage === undefined && limit !== undefined) {\n finalPerPage = limit;\n }\n if (finalPage === undefined && offset !== undefined && finalPerPage !== undefined && finalPerPage > 0) {\n finalPage = Math.floor(offset / finalPerPage);\n }\n\n if (\n finalPerPage !== undefined &&\n (typeof finalPerPage !== 'number' || !Number.isInteger(finalPerPage) || finalPerPage <= 0)\n ) {\n throw new HTTPException(400, { message: 'perPage must be a positive integer' });\n }\n if (finalPage !== undefined && (!Number.isInteger(finalPage) || finalPage < 0)) {\n throw new HTTPException(400, { message: 'page must be a non-negative integer' });\n }\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n const workflowRuns = (await workflow.listWorkflowRuns({\n fromDate: fromDate ? (typeof fromDate === 'string' ? new Date(fromDate) : fromDate) : undefined,\n toDate: toDate ? (typeof toDate === 'string' ? new Date(toDate) : toDate) : undefined,\n perPage: finalPerPage,\n page: finalPage,\n resourceId: effectiveResourceId,\n status,\n })) || {\n runs: [],\n total: 0,\n };\n return workflowRuns;\n } catch (error) {\n return handleError(error, 'Error getting workflow runs');\n }\n },\n});\n\nexport const GET_WORKFLOW_RUN_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/workflows/:workflowId/runs/:runId',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n queryParamSchema: workflowRunResultQuerySchema,\n responseSchema: workflowRunResultSchema,\n summary: 'Get workflow run by ID',\n description:\n 'Returns a workflow run with metadata and processed execution state. Use the fields query parameter to reduce payload size by requesting only specific fields (e.g., ?fields=status,result,metadata)',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, fields, withNestedWorkflows, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'Run ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n // Parse fields parameter (comma-separated string)\n const fieldList = fields ? (fields.split(',').map((f: string) => f.trim()) as WorkflowStateField[]) : undefined;\n\n const run = await workflow.getWorkflowRunById(runId, {\n withNestedWorkflows: withNestedWorkflows !== 'false', // Default to true unless explicitly 'false'\n fields: fieldList,\n });\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n return run;\n } catch (error) {\n return handleError(error, 'Error getting workflow run');\n }\n },\n});\n\nexport const DELETE_WORKFLOW_RUN_BY_ID_ROUTE = createRoute({\n method: 'DELETE',\n path: '/workflows/:workflowId/runs/:runId',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Delete workflow run by ID',\n description: 'Deletes a specific workflow run by ID',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'Run ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n // Validate ownership before deletion\n const run = await workflow.getWorkflowRunById(runId);\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n await validateRunOwnership(run, effectiveResourceId);\n\n await workflow.deleteWorkflowRunById(runId);\n\n return { message: 'Workflow run deleted' };\n } catch (error) {\n return handleError(error, 'Error deleting workflow run');\n }\n },\n});\n\nexport const CREATE_WORKFLOW_RUN_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/create-run',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: createWorkflowRunBodySchema,\n responseSchema: createWorkflowRunResponseSchema,\n summary: 'Create workflow run',\n description: 'Creates a new workflow execution instance with an optional custom run ID',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, disableScorers, requestContext }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.createRun({ runId, resourceId: effectiveResourceId, disableScorers });\n\n return { runId: run.runId };\n } catch (error) {\n return handleError(error, 'Error creating workflow run');\n }\n },\n});\n\nexport const STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/stream',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: streamWorkflowBodySchema,\n summary: 'Stream workflow execution',\n description: 'Executes a workflow and streams the results in real-time',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to stream workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n const serverCache = mastra.getServerCache();\n\n const run = await workflow.createRun({ runId, resourceId: effectiveResourceId });\n const result = run.stream({ ...params, requestContext });\n\n if (serverCache) {\n const { transform } = createCachingTransformStream<ChunkType>({\n cache: serverCache,\n cacheKey: runId,\n });\n return result.fullStream.pipeThrough(transform);\n }\n\n return result.fullStream;\n } catch (error) {\n return handleError(error, 'Error streaming workflow');\n }\n },\n});\n\nexport const RESUME_STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/resume-stream',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: resumeBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Resume workflow stream',\n description: 'Resumes a suspended workflow execution and continues streaming results',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n\n const resumeResult = _run.resumeStream({ ...params, requestContext });\n\n if (serverCache) {\n const { transform } = createCachingTransformStream<ChunkType>({\n cache: serverCache,\n cacheKey: runId,\n });\n return resumeResult.fullStream.pipeThrough(transform);\n }\n\n return resumeResult.fullStream;\n } catch (error) {\n return handleError(error, 'Error resuming workflow');\n }\n },\n});\n\nexport const START_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/start-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: startAsyncWorkflowBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Start workflow asynchronously',\n description: 'Starts a workflow execution asynchronously without streaming results',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {\n try {\n // Use effective resourceId (context key takes precedence over client-provided value)\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const _run = await workflow.createRun({ runId, resourceId: effectiveResourceId });\n const result = await _run.start({ ...params, requestContext });\n return result;\n } catch (error) {\n return handleError(error, 'Error starting async workflow');\n }\n },\n});\n\nexport const START_WORKFLOW_RUN_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/start',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: startAsyncWorkflowBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Start specific workflow run',\n description: 'Starts execution of a specific workflow run by ID',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to start run' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n void _run.start({\n ...params,\n requestContext,\n });\n\n return { message: 'Workflow run started' };\n } catch (e) {\n return handleError(e, 'Error starting workflow run');\n }\n },\n});\n\nexport const OBSERVE_STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/observe',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: observeWorkflowQuerySchema,\n responseSchema: streamResponseSchema,\n summary: 'Observe workflow stream',\n description:\n 'Observes and streams updates from an already running workflow execution. Supports position-based resume with offset for efficient reconnection.',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, offset, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to observe workflow stream' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n if (!serverCache) {\n throw new HTTPException(500, { message: 'Server cache not found' });\n }\n\n // Get cached chunks from the specified index (or 0 if not specified)\n const startIndex = offset ?? 0;\n const cachedRunChunks = (await serverCache.listFromTo(runId, startIndex)) as ChunkType[];\n const liveStream = _run.observeStream();\n\n return createReplayStream<ChunkType>({\n history: cachedRunChunks,\n liveSource: liveStream,\n });\n } catch (error) {\n return handleError(error, 'Error observing workflow stream');\n }\n },\n});\n\nexport const RESUME_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/resume-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: resumeBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Resume workflow asynchronously',\n description: 'Resumes a suspended workflow execution asynchronously without streaming',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const result = await _run.resume({ ...params, requestContext });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error resuming workflow step');\n }\n },\n});\n\nexport const RESUME_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/resume',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: resumeBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Resume workflow',\n description: 'Resumes a suspended workflow execution from a specific step',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n void _run.resume({ ...params, requestContext });\n\n return { message: 'Workflow run resumed' };\n } catch (error) {\n return handleError(error, 'Error resuming workflow');\n }\n },\n});\n\nexport const RESTART_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: restartBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Restart workflow asynchronously',\n description: 'Restarts an active workflow execution asynchronously',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to restart workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const result = await _run.restart({ ...params, requestContext });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const RESTART_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: restartBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Restart workflow',\n description: 'Restarts an active workflow execution',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to restart workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n void _run.restart({ ...params, requestContext });\n\n return { message: 'Workflow run restarted' };\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart-all-active-workflow-runs-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Restart all active workflow runs asynchronously',\n description: 'Restarts all active workflow runs asynchronously',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId }) => {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n await workflow.restartAllActiveWorkflowRuns();\n\n return { message: 'All active workflow runs restarted' };\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/restart-all-active-workflow-runs',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Restart all active workflow runs',\n description: 'Restarts all active workflow runs',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId }) => {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n void workflow.restartAllActiveWorkflowRuns();\n\n return { message: 'All active workflow runs restarted' };\n } catch (error) {\n return handleError(error, 'Error restarting workflow');\n }\n },\n});\n\nexport const TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/time-travel-async',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: timeTravelBodySchema,\n responseSchema: workflowExecutionResultSchema,\n summary: 'Time travel workflow asynchronously',\n description: 'Time travels a workflow run asynchronously without streaming',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to time travel workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const result = await _run.timeTravel({ ...params, requestContext });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error time traveling workflow');\n }\n },\n});\n\nexport const TIME_TRAVEL_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/time-travel',\n responseType: 'json',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: timeTravelBodySchema,\n responseSchema: workflowControlResponseSchema,\n summary: 'Time travel workflow',\n description: 'Time travels a workflow run, starting from a specific step',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to time travel workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n void _run.timeTravel({ ...params, requestContext });\n\n return { message: 'Workflow run time travel started' };\n } catch (error) {\n return handleError(error, 'Error time traveling workflow');\n }\n },\n});\n\nexport const TIME_TRAVEL_STREAM_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/time-travel-stream',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: timeTravelBodySchema,\n summary: 'Time travel workflow stream',\n description: 'Time travels a workflow run, starting from a specific step, and streams the results in real-time',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to time travel workflow stream' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n // Validate ownership of existing run before time traveling\n const existingRun = await workflow.getWorkflowRunById(runId);\n if (!existingRun) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n await validateRunOwnership(existingRun, effectiveResourceId);\n\n const serverCache = mastra.getServerCache();\n\n const run = await workflow.createRun({ runId, resourceId: existingRun.resourceId });\n const result = run.timeTravelStream({ ...params, requestContext });\n\n if (serverCache) {\n const { transform } = createCachingTransformStream<ChunkType>({\n cache: serverCache,\n cacheKey: runId,\n });\n return result.fullStream.pipeThrough(transform);\n }\n\n return result.fullStream;\n } catch (error) {\n return handleError(error, 'Error time traveling workflow stream');\n }\n },\n});\n\nexport const CANCEL_WORKFLOW_RUN_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/runs/:runId/cancel',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n responseSchema: workflowControlResponseSchema,\n summary: 'Cancel workflow run',\n description: 'Cancels an in-progress workflow execution',\n tags: ['Workflows'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to cancel workflow run' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n\n await _run.cancel();\n\n return { message: 'Workflow run cancelled' };\n } catch (error) {\n return handleError(error, 'Error canceling workflow run');\n }\n },\n});\n\n// Legacy routes (deprecated)\nexport const STREAM_LEGACY_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/stream-legacy',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n bodySchema: streamWorkflowBodySchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Stream workflow with legacy format',\n description: 'Legacy endpoint for streaming workflow execution. Use /workflows/:workflowId/stream instead.',\n tags: ['Workflows', 'Legacy'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, resourceId, requestContext, ...params }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const serverCache = mastra.getServerCache();\n\n const run = await workflow.createRun({ runId, resourceId: effectiveResourceId });\n const result = run.streamLegacy({\n ...params,\n requestContext,\n onChunk: async chunk => {\n if (serverCache) {\n const cacheKey = runId;\n await serverCache.listPush(cacheKey, chunk);\n }\n },\n });\n\n return result.stream;\n } catch (error) {\n return handleError(error, 'Error executing workflow');\n }\n },\n});\n\nexport const OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/observe-stream-legacy',\n responseType: 'stream',\n pathParamSchema: workflowIdPathParams,\n queryParamSchema: runIdSchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Observe workflow stream with legacy format',\n description: 'Legacy endpoint for observing workflow stream. Use /workflows/:workflowId/observe instead.',\n tags: ['Workflows', 'Legacy'],\n requiresAuth: true,\n handler: async ({ mastra, workflowId, runId, requestContext }) => {\n try {\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to observe workflow stream' });\n }\n\n const { workflow } = await listWorkflowsFromSystem({ mastra, workflowId });\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getWorkflowRunById(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n await validateRunOwnership(run, effectiveResourceId);\n\n const _run = await workflow.createRun({ runId, resourceId: run.resourceId });\n const serverCache = mastra.getServerCache();\n if (!serverCache) {\n throw new HTTPException(500, { message: 'Server cache not found' });\n }\n\n // Get cached chunks and create replay stream\n const cachedRunChunks = (await serverCache.listFromTo(runId, 0)) as StreamEvent[];\n const result = _run.observeStreamLegacy();\n\n if (!result.stream) {\n throw new HTTPException(500, { message: 'Failed to create observe stream' });\n }\n\n return createReplayStream<StreamEvent>({\n history: cachedRunChunks,\n liveSource: result.stream,\n });\n } catch (error) {\n return handleError(error, 'Error observing workflow stream');\n }\n },\n});\n\n// ============================================================================\n// Worker Step Execution Endpoint\n// Used by standalone OrchestrationWorker instances with HttpRemoteStrategy.\n// ============================================================================\n\n// `workflowId` and `runId` are taken from path params (single source of\n// truth); they are intentionally omitted from the request body schema.\nconst stepExecutionBodySchema = z.object({\n stepId: z.string(),\n executionPath: z.array(z.number().int().nonnegative()),\n stepResults: z.record(z.string(), z.any()),\n state: z.record(z.string(), z.any()),\n requestContext: z.record(z.string(), z.any()),\n input: z.any().optional(),\n resumeData: z.any().optional(),\n retryCount: z.number().int().nonnegative().optional(),\n foreachIdx: z.number().int().nonnegative().optional(),\n format: z.enum(['legacy', 'vnext']).optional(),\n perStep: z.boolean().optional(),\n validateInputs: z.boolean().optional(),\n});\n\ntype StepExecutionBody = z.infer<typeof stepExecutionBodySchema>;\n\ninterface StepExecutionHandlerArgs extends StepExecutionBody {\n mastra: Mastra;\n workflowId: string;\n runId: string;\n}\n\n// Reuse the InProcessStrategy across requests for a given Mastra instance.\n// The strategy is stateless beyond its mastra reference, but allocating it\n// per request triggers a dynamic import on the hot path.\n//\n// The dynamic import is required by `pnpm --filter ./packages/server\n// check:core-imports`: `@mastra/core/worker` is a new subpath that older\n// peer-dep floors don't expose, so a static import would fail the check.\n// Once the floor is bumped, this can become a static import.\ntype StepStrategy = { executeStep: (p: unknown) => Promise<unknown> };\nconst strategyByMastra = new WeakMap<Mastra, StepStrategy>();\n\nasync function getStepStrategy(mastra: Mastra): Promise<StepStrategy> {\n let cached = strategyByMastra.get(mastra);\n if (!cached) {\n const { InProcessStrategy } = await import('@mastra/core/worker');\n cached = new InProcessStrategy({ mastra }) as unknown as StepStrategy;\n strategyByMastra.set(mastra, cached);\n }\n return cached;\n}\n\n// Step execution returns the worker's StepResult. Its shape is dynamic\n// (depends on the step's output schema), so we use a permissive z.any().\nconst stepExecutionResponseSchema = z.any();\n\nexport const EXECUTE_WORKFLOW_STEP_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/:workflowId/runs/:runId/steps/execute',\n responseType: 'json',\n pathParamSchema: workflowRunPathParams,\n bodySchema: stepExecutionBodySchema,\n responseSchema: stepExecutionResponseSchema,\n summary: 'Execute a workflow step',\n description:\n 'Internal endpoint used by standalone OrchestrationWorker instances to execute workflow steps remotely via HttpRemoteStrategy.',\n tags: ['Workflows', 'Worker'],\n requiresAuth: true,\n handler: (async ({ mastra, workflowId, runId, ...body }: StepExecutionHandlerArgs) => {\n try {\n // Auth is enforced by the framework via `requiresAuth: true` and the\n // deployer's `authenticateToken` provider. Note that when NO auth\n // provider is configured, the framework currently treats the route\n // as public (see ServerAdapter.checkRouteAuth). Operators deploying\n // standalone workers must configure an auth provider to gate this\n // endpoint — there is no implicit fail-closed.\n const strategy = await getStepStrategy(mastra);\n const result = await strategy.executeStep({\n workflowId,\n runId,\n stepId: body.stepId,\n executionPath: body.executionPath,\n stepResults: body.stepResults,\n state: body.state,\n requestContext: body.requestContext,\n input: body.input,\n resumeData: body.resumeData,\n retryCount: body.retryCount,\n foreachIdx: body.foreachIdx,\n format: body.format,\n perStep: body.perStep,\n validateInputs: body.validateInputs,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing workflow step');\n }\n }) as any,\n});\n\n// Wire shape of an Event delivered through a push-mode broker. Validates the\n// fields `WorkflowEventProcessor` depends on; broker envelopes routinely carry\n// extra metadata that isn't part of `Event` itself, so we passthrough the rest.\n// `createdAt` is an ISO timestamp on the wire — the handler converts it to a\n// `Date` before forwarding to `Mastra.handleWorkflowEvent`.\nconst workflowEventSchema = z.object({\n id: z.string(),\n type: z.string(),\n data: z.unknown(),\n runId: z.string(),\n createdAt: z.string(),\n index: z.number().optional(),\n deliveryAttempt: z.number().optional(),\n});\n\nconst receiveWorkflowEventBodySchema = z.object({\n event: workflowEventSchema.passthrough(),\n});\n\nconst receiveWorkflowEventResponseSchema = z.object({\n ok: z.boolean(),\n retry: z.boolean().optional(),\n});\n\ninterface ReceiveWorkflowEventHandlerArgs {\n mastra: Mastra;\n event: Event;\n}\n\n/**\n * Generic push receive endpoint for workflow events. A push-mode broker\n * (GCP Pub/Sub push subscription, SNS, EventBridge) — or a per-broker adapter\n * that decodes the broker's envelope first — POSTs each event here and the\n * response code tells the broker whether to retry:\n *\n * - 200/204 → ack\n * - 5xx → transient, retry with backoff\n * - 4xx → poison, drop / send to DLQ\n *\n * Auth is enforced through the framework's standard `requiresAuth` flow.\n * Operators MUST configure an `authenticateToken` provider that recognizes\n * whatever credential the broker attaches (e.g. a Google-signed OIDC token\n * for GCP Pub/Sub push). Without an auth provider the endpoint is effectively\n * public — same caveat as `EXECUTE_WORKFLOW_STEP_ROUTE`.\n */\nexport const RECEIVE_WORKFLOW_EVENT_ROUTE = createRoute({\n method: 'POST',\n path: '/workflows/events',\n responseType: 'json',\n bodySchema: receiveWorkflowEventBodySchema,\n responseSchema: receiveWorkflowEventResponseSchema,\n summary: 'Receive a workflow event from a push-mode broker',\n description:\n 'Push-mode entry point for workflow events. Brokers (GCP Pub/Sub push, SNS, EventBridge) POST each event here; Mastra processes it through the same pipeline as pull-mode workers.',\n tags: ['Workflows', 'Worker'],\n requiresAuth: true,\n handler: (async ({ mastra, event }: ReceiveWorkflowEventHandlerArgs) => {\n try {\n // The wire schema carries `createdAt` as a string; coerce to Date here\n // before handing off to the in-process pipeline, which expects an `Event`.\n const rawCreatedAt = (event as unknown as { createdAt: unknown }).createdAt;\n const createdAt = rawCreatedAt instanceof Date ? rawCreatedAt : new Date(rawCreatedAt as string);\n if (Number.isNaN(createdAt.getTime())) {\n throw new HTTPException(400, { message: 'Invalid createdAt' });\n }\n return await mastra.handleWorkflowEvent({ ...event, createdAt });\n } catch (error) {\n return handleError(error, 'Error receiving workflow event');\n }\n }) as any,\n});\n"]}
|
|
@@ -383,6 +383,7 @@ var itemVersionResponseSchema = z.object({
|
|
|
383
383
|
datasetVersion: z.number().int(),
|
|
384
384
|
input: z.unknown(),
|
|
385
385
|
groundTruth: z.unknown().optional(),
|
|
386
|
+
expectedTrajectory: z.unknown().optional(),
|
|
386
387
|
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
387
388
|
validTo: z.number().int().nullable(),
|
|
388
389
|
isDeleted: z.boolean(),
|
|
@@ -476,5 +477,5 @@ var clusterFailuresResponseSchema = z.object({
|
|
|
476
477
|
});
|
|
477
478
|
|
|
478
479
|
export { addItemBodySchema, batchDeleteItemsBodySchema, batchDeleteItemsResponseSchema, batchInsertItemsBodySchema, batchInsertItemsResponseSchema, clusterFailuresBodySchema, clusterFailuresResponseSchema, compareExperimentsBodySchema, comparisonResponseSchema, createDatasetBodySchema, datasetAndExperimentIdPathParams, datasetAndItemIdPathParams, datasetIdPathParams, datasetItemResponseSchema, datasetItemVersionPathParams, datasetResponseSchema, datasetVersionResponseSchema, experimentIdPathParams, experimentResponseSchema, experimentResultIdPathParams, experimentResultResponseSchema, experimentReviewCountsSchema, experimentSummaryResponseSchema, generateItemsBodySchema, generateItemsResponseSchema, itemIdPathParams, itemVersionResponseSchema, listDatasetVersionsResponseSchema, listDatasetsResponseSchema, listExperimentResultsResponseSchema, listExperimentsResponseSchema, listItemVersionsResponseSchema, listItemsQuerySchema, listItemsResponseSchema, paginationQuerySchema, reviewSummaryResponseSchema, scorerResultSchema, triggerExperimentBodySchema, updateDatasetBodySchema, updateExperimentResultBodySchema, updateItemBodySchema };
|
|
479
|
-
//# sourceMappingURL=chunk-
|
|
480
|
-
//# sourceMappingURL=chunk-
|
|
480
|
+
//# sourceMappingURL=chunk-VVLD43MX.js.map
|
|
481
|
+
//# sourceMappingURL=chunk-VVLD43MX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/datasets.ts"],"names":[],"mappings":"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","file":"chunk-VVLD43MX.js","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.any())\n// ============================================================================\n\n// Shared base fields for expected steps (level 2 — children typed as z.any())\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.any().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.enum(['csv', 'json', 'trace', 'llm', 'experiment-result']).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// ============================================================================\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 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 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 input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\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 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 targetType: z.enum(['agent', 'workflow', 'scorer']).describe('Type of target to run against'),\n targetId: z.string().describe('ID of the target'),\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 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 })\n .optional()\n .describe('Version overrides for sub-agent delegation during experiment execution'),\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 input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().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']),\n targetId: z.string(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).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 traceId: z.string().nullable(),\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n createdAt: z.coerce.date(),\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});\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 startedAt: z.coerce.date(),\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 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 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 input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: trajectoryExpectationSchema,\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"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getAgentFromSystem } from './chunk-
|
|
2
|
-
import { voiceSpeakersResponseSchema, agentIdPathParams, speakResponseSchema, generateSpeechBodySchema, transcribeSpeechResponseSchema, transcribeSpeechBodySchema, getListenerResponseSchema } from './chunk-
|
|
1
|
+
import { getAgentFromSystem } from './chunk-MRG75BLC.js';
|
|
2
|
+
import { voiceSpeakersResponseSchema, agentIdPathParams, speakResponseSchema, generateSpeechBodySchema, transcribeSpeechResponseSchema, transcribeSpeechBodySchema, getListenerResponseSchema } from './chunk-LO3JBCO6.js';
|
|
3
3
|
import { validateBody } from './chunk-BWNJBSXL.js';
|
|
4
4
|
import { handleError } from './chunk-GA4BG5JK.js';
|
|
5
5
|
import { createRoute } from './chunk-F2FAL5CZ.js';
|
|
@@ -191,5 +191,5 @@ var GET_LISTENER_ROUTE = createRoute({
|
|
|
191
191
|
});
|
|
192
192
|
|
|
193
193
|
export { GENERATE_SPEECH_DEPRECATED_ROUTE, GENERATE_SPEECH_ROUTE, GET_LISTENER_ROUTE, GET_SPEAKERS_DEPRECATED_ROUTE, GET_SPEAKERS_ROUTE, TRANSCRIBE_SPEECH_DEPRECATED_ROUTE, TRANSCRIBE_SPEECH_ROUTE, voice_exports };
|
|
194
|
-
//# sourceMappingURL=chunk-
|
|
195
|
-
//# sourceMappingURL=chunk-
|
|
194
|
+
//# sourceMappingURL=chunk-YZPXWF6M.js.map
|
|
195
|
+
//# sourceMappingURL=chunk-YZPXWF6M.js.map
|