@mastra/server 1.81.0-alpha.1 → 1.81.0-alpha.2
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/dist/_types/@internal_core/dist/storage/index.d.ts +11 -0
- package/dist/{a2a-CSz0rw8E.js → a2a-UYs7rzN2.js} +2 -2
- package/dist/{a2a-CSz0rw8E.js.map → a2a-UYs7rzN2.js.map} +1 -1
- package/dist/{a2a-CmMIWPuz.cjs → a2a-eUB3oDRN.cjs} +2 -2
- package/dist/{a2a-CmMIWPuz.cjs.map → a2a-eUB3oDRN.cjs.map} +1 -1
- package/dist/{agent-builder-XhBB0Svr.js → agent-builder-5dpawFJf.js} +2 -2
- package/dist/{agent-builder-XhBB0Svr.js.map → agent-builder-5dpawFJf.js.map} +1 -1
- package/dist/{agent-builder-DIEX-as5.cjs → agent-builder-DwfHzUnt.cjs} +2 -2
- package/dist/{agent-builder-DIEX-as5.cjs.map → agent-builder-DwfHzUnt.cjs.map} +1 -1
- package/dist/{agents-D36tukip.cjs → agents-BjdRPzyV.cjs} +3 -2
- package/dist/agents-BjdRPzyV.cjs.map +1 -0
- package/dist/{agents-BVjnYswL.js → agents-BuI0JjjX.js} +3 -2
- package/dist/agents-BuI0JjjX.js.map +1 -0
- package/dist/{api-schema-manifest-BVPhF1ZS.js → api-schema-manifest-DafznVYs.js} +2 -2
- package/dist/{api-schema-manifest-BVPhF1ZS.js.map → api-schema-manifest-DafznVYs.js.map} +1 -1
- package/dist/{api-schema-manifest-BWId44SV.cjs → api-schema-manifest-GgyfF4dw.cjs} +2 -2
- package/dist/{api-schema-manifest-BWId44SV.cjs.map → api-schema-manifest-GgyfF4dw.cjs.map} +1 -1
- package/dist/{builder-registry-DWusXgse.cjs → builder-registry-CamBJItc.cjs} +2 -2
- package/dist/{builder-registry-DWusXgse.cjs.map → builder-registry-CamBJItc.cjs.map} +1 -1
- package/dist/{builder-registry-CtGv0Gj6.js → builder-registry-DHVK50Ba.js} +2 -2
- package/dist/{builder-registry-CtGv0Gj6.js.map → builder-registry-DHVK50Ba.js.map} +1 -1
- package/dist/{conversations-CJn0ioOZ.cjs → conversations-ORTpTqBg.cjs} +2 -2
- package/dist/{conversations-CJn0ioOZ.cjs.map → conversations-ORTpTqBg.cjs.map} +1 -1
- package/dist/{conversations-CABVTBQY.js → conversations-fdXV9K0J.js} +2 -2
- package/dist/{conversations-CABVTBQY.js.map → conversations-fdXV9K0J.js.map} +1 -1
- package/dist/{dist-BK1fCE4z.cjs → dist-BEtxPxkM.cjs} +1 -1
- package/dist/dist-BQ1uFC_1.js +1 -0
- package/dist/{dist-OpNBTIST.cjs → dist-CR3PolEz.cjs} +5 -4
- package/dist/{dist-OpNBTIST.cjs.map → dist-CR3PolEz.cjs.map} +1 -1
- package/dist/{dist-BLjE21MA.js → dist-CmG4sN60.js} +5 -4
- package/dist/{dist-BLjE21MA.js.map → dist-CmG4sN60.js.map} +1 -1
- package/dist/docs/SKILL.md +2 -2
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/reference-observability-tracing-advanced-queries.md +226 -86
- package/dist/docs/references/reference-server-routes.md +18 -14
- package/dist/{editor-builder-CeiISBIO.cjs → editor-builder-6l27BFzD.cjs} +2 -2
- package/dist/{editor-builder-CeiISBIO.cjs.map → editor-builder-6l27BFzD.cjs.map} +1 -1
- package/dist/{editor-builder-DeD6EVm8.js → editor-builder-DxGZ7IN5.js} +2 -2
- package/dist/{editor-builder-DeD6EVm8.js.map → editor-builder-DxGZ7IN5.js.map} +1 -1
- package/dist/{mcp-Bt3h1lO7.cjs → mcp-B7Q8qwjn.cjs} +118 -3
- package/dist/mcp-B7Q8qwjn.cjs.map +1 -0
- package/dist/{mcp-mpYrlkUA.cjs → mcp-CMw0sq0y.cjs} +177 -4
- package/dist/mcp-CMw0sq0y.cjs.map +1 -0
- package/dist/{mcp-D4Cprr8R.js → mcp-CQ_pR-JC.js} +77 -4
- package/dist/mcp-CQ_pR-JC.js.map +1 -0
- package/dist/{mcp-D3F3iYew.js → mcp-DN9mT9q4.js} +154 -5
- package/dist/mcp-DN9mT9q4.js.map +1 -0
- package/dist/{observability-DHuljMXO.cjs → observability-DRbDeN1X.cjs} +2 -2
- package/dist/{observability-DHuljMXO.cjs.map → observability-DRbDeN1X.cjs.map} +1 -1
- package/dist/{observability-new-endpoints-CaTskbSh.cjs → observability-new-endpoints-BrB2CKix.cjs} +15 -4
- package/dist/observability-new-endpoints-BrB2CKix.cjs.map +1 -0
- package/dist/{observability-new-endpoints-CsUP8y2j.js → observability-new-endpoints-CQNVjYYq.js} +16 -5
- package/dist/observability-new-endpoints-CQNVjYYq.js.map +1 -0
- package/dist/{observability-BgIU0otL.js → observability-pX3wmG8T.js} +2 -2
- package/dist/{observability-BgIU0otL.js.map → observability-pX3wmG8T.js.map} +1 -1
- package/dist/{plans-Dydti0sT.cjs → plans-BHQFsFRU.cjs} +2 -2
- package/dist/{plans-Dydti0sT.cjs.map → plans-BHQFsFRU.cjs.map} +1 -1
- package/dist/{plans-B5GgYqx-.js → plans-D9BGMVkL.js} +2 -2
- package/dist/{plans-B5GgYqx-.js.map → plans-D9BGMVkL.js.map} +1 -1
- package/dist/{probe-image-size-BqH96zcz.js → probe-image-size-BjNoJxWf.js} +2 -2
- package/dist/{probe-image-size-BqH96zcz.js.map → probe-image-size-BjNoJxWf.js.map} +1 -1
- package/dist/{probe-image-size-BIZUe8Bp.cjs → probe-image-size-jS0ECSlc.cjs} +2 -2
- package/dist/{probe-image-size-BIZUe8Bp.cjs.map → probe-image-size-jS0ECSlc.cjs.map} +1 -1
- package/dist/{responses-CxvSoOLt.cjs → responses-4_RCBNJB.cjs} +2 -2
- package/dist/{responses-CxvSoOLt.cjs.map → responses-4_RCBNJB.cjs.map} +1 -1
- package/dist/{responses-DbiqhxP3.js → responses-Cb-9JV9A.js} +2 -2
- package/dist/{responses-DbiqhxP3.js.map → responses-Cb-9JV9A.js.map} +1 -1
- package/dist/{routes-CBrxFxzL.js → routes-4X2kSYEG.js} +19 -15
- package/dist/{routes-CBrxFxzL.js.map → routes-4X2kSYEG.js.map} +1 -1
- package/dist/{routes-By3cLbPV.cjs → routes-BqWcvAcz.cjs} +19 -15
- package/dist/routes-BqWcvAcz.cjs.map +1 -0
- package/dist/{scores-CnozEyM4.cjs → scores-DnEcBe2i.cjs} +2 -2
- package/dist/{scores-CnozEyM4.cjs.map → scores-DnEcBe2i.cjs.map} +1 -1
- package/dist/{scores-BjclMqFa.js → scores-DqImg-o-.js} +2 -2
- package/dist/{scores-BjclMqFa.js.map → scores-DqImg-o-.js.map} +1 -1
- package/dist/server/handlers/a2a.cjs +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +1 -1
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/builder-registry.cjs +1 -1
- package/dist/server/handlers/builder-registry.js +1 -1
- package/dist/server/handlers/conversations.cjs +1 -1
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +1 -1
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/error.cjs +5 -4
- package/dist/server/handlers/error.cjs.map +1 -1
- package/dist/server/handlers/error.d.ts.map +1 -1
- package/dist/server/handlers/error.js +5 -4
- package/dist/server/handlers/error.js.map +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +1 -1
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/mcp.cjs +5 -1
- package/dist/server/handlers/mcp.d.ts +507 -245
- package/dist/server/handlers/mcp.d.ts.map +1 -1
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +1 -1
- package/dist/server/handlers/observability-new-endpoints.d.ts +80 -16
- package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability-shared.cjs +56 -0
- package/dist/server/handlers/observability-shared.cjs.map +1 -1
- package/dist/server/handlers/observability-shared.d.ts +29 -0
- package/dist/server/handlers/observability-shared.d.ts.map +1 -1
- package/dist/server/handlers/observability-shared.js +50 -1
- package/dist/server/handlers/observability-shared.js.map +1 -1
- package/dist/server/handlers/observability.cjs +2 -2
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/plans.cjs +1 -1
- package/dist/server/handlers/plans.js +1 -1
- package/dist/server/handlers/responses.cjs +1 -1
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/scores.cjs +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agent-favorites.cjs +1 -1
- package/dist/server/handlers/stored-agent-favorites.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +1 -1
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-skill-favorites.cjs +1 -1
- package/dist/server/handlers/stored-skill-favorites.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +1 -1
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/system.cjs +2 -2
- package/dist/server/handlers/system.d.ts +8 -0
- package/dist/server/handlers/system.d.ts.map +1 -1
- package/dist/server/handlers/system.js +2 -2
- package/dist/server/handlers/tools.cjs +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/workspace.cjs +1 -1
- package/dist/server/handlers/workspace.d.ts +4 -0
- package/dist/server/handlers/workspace.d.ts.map +1 -1
- package/dist/server/handlers/workspace.js +1 -1
- package/dist/server/handlers.cjs +11 -11
- package/dist/server/handlers.js +11 -11
- package/dist/server/schemas/index.cjs +3 -3
- package/dist/server/schemas/index.js +3 -3
- package/dist/server/schemas/mcp.d.ts +141 -0
- package/dist/server/schemas/mcp.d.ts.map +1 -1
- package/dist/server/schemas/system.d.ts +8 -0
- package/dist/server/schemas/system.d.ts.map +1 -1
- package/dist/server/schemas/workspace.d.ts +2 -0
- package/dist/server/schemas/workspace.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +1 -1
- package/dist/server/server-adapter/index.js +1 -1
- package/dist/server/server-adapter/routes/mcp.d.ts +256 -0
- package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/observability.d.ts +42 -10
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/system.d.ts +8 -0
- package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/workspace.d.ts +4 -0
- package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -1
- package/dist/{system-BxHpBJiq.cjs → system-CHCn8IQ3.cjs} +5 -1
- package/dist/system-CHCn8IQ3.cjs.map +1 -0
- package/dist/{system-CxwzIMsy.js → system-DOwo7OGf.js} +5 -1
- package/dist/system-DOwo7OGf.js.map +1 -0
- package/dist/{tools-Ck35EVD7.js → tools-BFpuzQsz.js} +2 -2
- package/dist/{tools-Ck35EVD7.js.map → tools-BFpuzQsz.js.map} +1 -1
- package/dist/{tools-CeJrnYDf.cjs → tools-Dy_j6URC.cjs} +2 -2
- package/dist/{tools-CeJrnYDf.cjs.map → tools-Dy_j6URC.cjs.map} +1 -1
- package/dist/{workspace-CyH_iu8w.cjs → workspace-BU6sQpbV.cjs} +14 -10
- package/dist/{workspace-C9dE6D1U.js.map → workspace-BU6sQpbV.cjs.map} +1 -1
- package/dist/{workspace-KeHGZvNV.cjs → workspace-C5BBUatQ.cjs} +3 -1
- package/dist/workspace-C5BBUatQ.cjs.map +1 -0
- package/dist/{workspace-C9dE6D1U.js → workspace-CS-GYTve.js} +14 -10
- package/dist/workspace-CS-GYTve.js.map +1 -0
- package/dist/{workspace-muaSMxVS.js → workspace-DBDA3UQl.js} +3 -1
- package/dist/workspace-DBDA3UQl.js.map +1 -0
- package/package.json +4 -4
- package/dist/agents-BVjnYswL.js.map +0 -1
- package/dist/agents-D36tukip.cjs.map +0 -1
- package/dist/dist-_M1jEPcL.js +0 -1
- package/dist/mcp-Bt3h1lO7.cjs.map +0 -1
- package/dist/mcp-D3F3iYew.js.map +0 -1
- package/dist/mcp-D4Cprr8R.js.map +0 -1
- package/dist/mcp-mpYrlkUA.cjs.map +0 -1
- package/dist/observability-new-endpoints-CaTskbSh.cjs.map +0 -1
- package/dist/observability-new-endpoints-CsUP8y2j.js.map +0 -1
- package/dist/routes-By3cLbPV.cjs.map +0 -1
- package/dist/system-BxHpBJiq.cjs.map +0 -1
- package/dist/system-CxwzIMsy.js.map +0 -1
- package/dist/workspace-CyH_iu8w.cjs.map +0 -1
- package/dist/workspace-KeHGZvNV.cjs.map +0 -1
- package/dist/workspace-muaSMxVS.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scores-CnozEyM4.cjs","names":["createRoute","listScorersResponseSchema","scorerIdPathParams","scorerEntrySchema","runIdSchema","listScoresByRunIdQuerySchema","scoresWithPaginationResponseSchema","handleError","listScoresByScorerIdQuerySchema","entityPathParams","listScoresByEntityIdQuerySchema","getAgentFromSystem","saveScoreBodySchema","saveScoreResponseSchema","HTTPException"],"sources":["../src/server/handlers/scores.ts"],"sourcesContent":["import type { MastraScorerEntry, ScoreRowData } from '@mastra/core/evals';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport { HTTPException } from '../http-exception';\nimport { runIdSchema } from '../schemas/common';\nimport {\n listScorersResponseSchema,\n scorerEntrySchema,\n scorerIdPathParams,\n entityPathParams,\n listScoresByRunIdQuerySchema,\n listScoresByScorerIdQuerySchema,\n listScoresByEntityIdQuerySchema,\n saveScoreBodySchema,\n scoresWithPaginationResponseSchema,\n saveScoreResponseSchema,\n} from '../schemas/scores';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\n\nasync function listScorersFromSystem({\n mastra,\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n}) {\n const agents = mastra.listAgents();\n const workflows = mastra.listWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & {\n agentIds: string[];\n agentNames: string[];\n workflowIds: string[];\n isRegistered: boolean;\n source: 'code' | 'stored' | 'fs';\n }\n >();\n\n // Helper function to process an agent's scorers\n const processAgentScorers = async (agent: {\n id: string;\n name: string;\n listScorers: (typeof agents)[string]['listScorers'];\n }) => {\n const scorers =\n (await agent.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerId = scorer.scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.id);\n scorersMap.get(scorerId)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agent.id],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n };\n\n // Process code-defined agents\n for (const [_, agent] of Object.entries(agents)) {\n await processAgentScorers(agent);\n }\n\n // Process stored agents (database-backed agents)\n try {\n const editor = mastra.getEditor();\n const storedAgentsResult = await editor?.agent.list();\n if (storedAgentsResult?.agents) {\n for (const storedAgentConfig of storedAgentsResult.agents) {\n try {\n const agent = await editor?.agent.getById(storedAgentConfig.id);\n if (agent) {\n await processAgentScorers(agent);\n }\n } catch {\n // Skip individual agents that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured - not all setups have storage\n }\n\n // Process stored scorers (standalone CMS-created scorers)\n try {\n const editor = mastra.getEditor();\n const storedScorersResult = await editor?.scorer.list();\n if (storedScorersResult?.scorerDefinitions) {\n for (const storedScorerConfig of storedScorersResult.scorerDefinitions) {\n try {\n await editor?.scorer.getById(storedScorerConfig.id);\n } catch {\n // Skip individual scorers that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.listScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerId = scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)!.isRegistered = true;\n } else {\n scorersMap.set(scorerId, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n source: scorer.source ?? 'code',\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers',\n responseType: 'json',\n responseSchema: listScorersResponseSchema,\n summary: 'List all scorers',\n description: 'Returns a list of all registered scorers with their configuration and associated agents and workflows',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n return scorers;\n }) as any,\n});\n\nexport const GET_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n responseSchema: scorerEntrySchema.nullable(),\n summary: 'Get scorer by ID',\n description: 'Returns details for a specific scorer including its configuration and associations',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, scorerId, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n }) as any,\n});\n\nexport const LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/run/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listScoresByRunIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by run ID',\n description: 'Returns all scores for a specific execution run',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { page, perPage } = params;\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorer/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n queryParamSchema: listScoresByScorerIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by scorer ID',\n description: 'Returns all scores generated by a specific scorer',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, scorerId, ...params }) => {\n try {\n const { page, perPage, entityId, entityType } = params;\n const filters = Object.fromEntries(Object.entries({ entityId, entityType }).filter(([_, v]) => v !== undefined));\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByScorerId?.({\n scorerId,\n pagination: { page: page ?? 0, perPage: perPage ?? 10 },\n ...filters,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/entity/:entityType/:entityId',\n responseType: 'json',\n pathParamSchema: entityPathParams,\n queryParamSchema: listScoresByEntityIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by entity ID',\n description: 'Returns all scores for a specific entity (agent or workflow)',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, entityId, entityType, ...params }) => {\n try {\n const { page, perPage } = params;\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = await getAgentFromSystem({ mastra, agentId: entityId });\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scoresStore?.listScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n },\n});\n\nexport const SAVE_SCORE_ROUTE = createRoute({\n method: 'POST',\n path: '/scores',\n responseType: 'json',\n bodySchema: saveScoreBodySchema,\n responseSchema: saveScoreResponseSchema,\n summary: 'Save score',\n description: 'Saves a new score record to storage',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const { score } = params as { score: ScoreRowData };\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const result = await scoresStore?.saveScore?.(score);\n if (!result) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n return result;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scores-DnEcBe2i.cjs","names":["createRoute","listScorersResponseSchema","scorerIdPathParams","scorerEntrySchema","runIdSchema","listScoresByRunIdQuerySchema","scoresWithPaginationResponseSchema","handleError","listScoresByScorerIdQuerySchema","entityPathParams","listScoresByEntityIdQuerySchema","getAgentFromSystem","saveScoreBodySchema","saveScoreResponseSchema","HTTPException"],"sources":["../src/server/handlers/scores.ts"],"sourcesContent":["import type { MastraScorerEntry, ScoreRowData } from '@mastra/core/evals';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport { HTTPException } from '../http-exception';\nimport { runIdSchema } from '../schemas/common';\nimport {\n listScorersResponseSchema,\n scorerEntrySchema,\n scorerIdPathParams,\n entityPathParams,\n listScoresByRunIdQuerySchema,\n listScoresByScorerIdQuerySchema,\n listScoresByEntityIdQuerySchema,\n saveScoreBodySchema,\n scoresWithPaginationResponseSchema,\n saveScoreResponseSchema,\n} from '../schemas/scores';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\n\nasync function listScorersFromSystem({\n mastra,\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n}) {\n const agents = mastra.listAgents();\n const workflows = mastra.listWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & {\n agentIds: string[];\n agentNames: string[];\n workflowIds: string[];\n isRegistered: boolean;\n source: 'code' | 'stored' | 'fs';\n }\n >();\n\n // Helper function to process an agent's scorers\n const processAgentScorers = async (agent: {\n id: string;\n name: string;\n listScorers: (typeof agents)[string]['listScorers'];\n }) => {\n const scorers =\n (await agent.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerId = scorer.scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.id);\n scorersMap.get(scorerId)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agent.id],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n };\n\n // Process code-defined agents\n for (const [_, agent] of Object.entries(agents)) {\n await processAgentScorers(agent);\n }\n\n // Process stored agents (database-backed agents)\n try {\n const editor = mastra.getEditor();\n const storedAgentsResult = await editor?.agent.list();\n if (storedAgentsResult?.agents) {\n for (const storedAgentConfig of storedAgentsResult.agents) {\n try {\n const agent = await editor?.agent.getById(storedAgentConfig.id);\n if (agent) {\n await processAgentScorers(agent);\n }\n } catch {\n // Skip individual agents that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured - not all setups have storage\n }\n\n // Process stored scorers (standalone CMS-created scorers)\n try {\n const editor = mastra.getEditor();\n const storedScorersResult = await editor?.scorer.list();\n if (storedScorersResult?.scorerDefinitions) {\n for (const storedScorerConfig of storedScorersResult.scorerDefinitions) {\n try {\n await editor?.scorer.getById(storedScorerConfig.id);\n } catch {\n // Skip individual scorers that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.listScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerId = scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)!.isRegistered = true;\n } else {\n scorersMap.set(scorerId, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n source: scorer.source ?? 'code',\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers',\n responseType: 'json',\n responseSchema: listScorersResponseSchema,\n summary: 'List all scorers',\n description: 'Returns a list of all registered scorers with their configuration and associated agents and workflows',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n return scorers;\n }) as any,\n});\n\nexport const GET_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n responseSchema: scorerEntrySchema.nullable(),\n summary: 'Get scorer by ID',\n description: 'Returns details for a specific scorer including its configuration and associations',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, scorerId, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n }) as any,\n});\n\nexport const LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/run/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listScoresByRunIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by run ID',\n description: 'Returns all scores for a specific execution run',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { page, perPage } = params;\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorer/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n queryParamSchema: listScoresByScorerIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by scorer ID',\n description: 'Returns all scores generated by a specific scorer',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, scorerId, ...params }) => {\n try {\n const { page, perPage, entityId, entityType } = params;\n const filters = Object.fromEntries(Object.entries({ entityId, entityType }).filter(([_, v]) => v !== undefined));\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByScorerId?.({\n scorerId,\n pagination: { page: page ?? 0, perPage: perPage ?? 10 },\n ...filters,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/entity/:entityType/:entityId',\n responseType: 'json',\n pathParamSchema: entityPathParams,\n queryParamSchema: listScoresByEntityIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by entity ID',\n description: 'Returns all scores for a specific entity (agent or workflow)',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, entityId, entityType, ...params }) => {\n try {\n const { page, perPage } = params;\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = await getAgentFromSystem({ mastra, agentId: entityId });\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scoresStore?.listScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n },\n});\n\nexport const SAVE_SCORE_ROUTE = createRoute({\n method: 'POST',\n path: '/scores',\n responseType: 'json',\n bodySchema: saveScoreBodySchema,\n responseSchema: saveScoreResponseSchema,\n summary: 'Save score',\n description: 'Saves a new score record to storage',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const { score } = params as { score: ScoreRowData };\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const result = await scoresStore?.saveScore?.(score);\n if (!result) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n return result;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n },\n});\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { t as HTTPException } from "./http-exception-CzaWkxMl.js";
|
|
|
3
3
|
import { u as runIdSchema } from "./common-J-yUnHk9.js";
|
|
4
4
|
import { n as createRoute } from "./route-builder-BxPrwNog.js";
|
|
5
5
|
import { handleError } from "./server/handlers/error.js";
|
|
6
|
-
import { G as getAgentFromSystem } from "./agents-
|
|
6
|
+
import { G as getAgentFromSystem } from "./agents-BuI0JjjX.js";
|
|
7
7
|
import { a as listScoresByScorerIdQuerySchema, c as scorerEntrySchema, i as listScoresByRunIdQuerySchema, l as scorerIdPathParams, n as listScorersResponseSchema, o as saveScoreBodySchema, r as listScoresByEntityIdQuerySchema, s as saveScoreResponseSchema, t as entityPathParams, u as scoresWithPaginationResponseSchema } from "./scores-BULd4ZBI.js";
|
|
8
8
|
// src/server/handlers/scores.ts
|
|
9
9
|
var scores_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -284,4 +284,4 @@ const SAVE_SCORE_ROUTE = createRoute({
|
|
|
284
284
|
});
|
|
285
285
|
export { LIST_SCORES_BY_SCORER_ID_ROUTE as a, LIST_SCORES_BY_RUN_ID_ROUTE as i, LIST_SCORERS_ROUTE as n, SAVE_SCORE_ROUTE as o, LIST_SCORES_BY_ENTITY_ID_ROUTE as r, scores_exports as s, GET_SCORER_ROUTE as t };
|
|
286
286
|
|
|
287
|
-
//# sourceMappingURL=scores-
|
|
287
|
+
//# sourceMappingURL=scores-DqImg-o-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scores-BjclMqFa.js","names":[],"sources":["../src/server/handlers/scores.ts"],"sourcesContent":["import type { MastraScorerEntry, ScoreRowData } from '@mastra/core/evals';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport { HTTPException } from '../http-exception';\nimport { runIdSchema } from '../schemas/common';\nimport {\n listScorersResponseSchema,\n scorerEntrySchema,\n scorerIdPathParams,\n entityPathParams,\n listScoresByRunIdQuerySchema,\n listScoresByScorerIdQuerySchema,\n listScoresByEntityIdQuerySchema,\n saveScoreBodySchema,\n scoresWithPaginationResponseSchema,\n saveScoreResponseSchema,\n} from '../schemas/scores';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\n\nasync function listScorersFromSystem({\n mastra,\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n}) {\n const agents = mastra.listAgents();\n const workflows = mastra.listWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & {\n agentIds: string[];\n agentNames: string[];\n workflowIds: string[];\n isRegistered: boolean;\n source: 'code' | 'stored' | 'fs';\n }\n >();\n\n // Helper function to process an agent's scorers\n const processAgentScorers = async (agent: {\n id: string;\n name: string;\n listScorers: (typeof agents)[string]['listScorers'];\n }) => {\n const scorers =\n (await agent.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerId = scorer.scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.id);\n scorersMap.get(scorerId)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agent.id],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n };\n\n // Process code-defined agents\n for (const [_, agent] of Object.entries(agents)) {\n await processAgentScorers(agent);\n }\n\n // Process stored agents (database-backed agents)\n try {\n const editor = mastra.getEditor();\n const storedAgentsResult = await editor?.agent.list();\n if (storedAgentsResult?.agents) {\n for (const storedAgentConfig of storedAgentsResult.agents) {\n try {\n const agent = await editor?.agent.getById(storedAgentConfig.id);\n if (agent) {\n await processAgentScorers(agent);\n }\n } catch {\n // Skip individual agents that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured - not all setups have storage\n }\n\n // Process stored scorers (standalone CMS-created scorers)\n try {\n const editor = mastra.getEditor();\n const storedScorersResult = await editor?.scorer.list();\n if (storedScorersResult?.scorerDefinitions) {\n for (const storedScorerConfig of storedScorersResult.scorerDefinitions) {\n try {\n await editor?.scorer.getById(storedScorerConfig.id);\n } catch {\n // Skip individual scorers that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.listScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerId = scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)!.isRegistered = true;\n } else {\n scorersMap.set(scorerId, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n source: scorer.source ?? 'code',\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers',\n responseType: 'json',\n responseSchema: listScorersResponseSchema,\n summary: 'List all scorers',\n description: 'Returns a list of all registered scorers with their configuration and associated agents and workflows',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n return scorers;\n }) as any,\n});\n\nexport const GET_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n responseSchema: scorerEntrySchema.nullable(),\n summary: 'Get scorer by ID',\n description: 'Returns details for a specific scorer including its configuration and associations',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, scorerId, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n }) as any,\n});\n\nexport const LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/run/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listScoresByRunIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by run ID',\n description: 'Returns all scores for a specific execution run',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { page, perPage } = params;\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorer/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n queryParamSchema: listScoresByScorerIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by scorer ID',\n description: 'Returns all scores generated by a specific scorer',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, scorerId, ...params }) => {\n try {\n const { page, perPage, entityId, entityType } = params;\n const filters = Object.fromEntries(Object.entries({ entityId, entityType }).filter(([_, v]) => v !== undefined));\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByScorerId?.({\n scorerId,\n pagination: { page: page ?? 0, perPage: perPage ?? 10 },\n ...filters,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/entity/:entityType/:entityId',\n responseType: 'json',\n pathParamSchema: entityPathParams,\n queryParamSchema: listScoresByEntityIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by entity ID',\n description: 'Returns all scores for a specific entity (agent or workflow)',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, entityId, entityType, ...params }) => {\n try {\n const { page, perPage } = params;\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = await getAgentFromSystem({ mastra, agentId: entityId });\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scoresStore?.listScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n },\n});\n\nexport const SAVE_SCORE_ROUTE = createRoute({\n method: 'POST',\n path: '/scores',\n responseType: 'json',\n bodySchema: saveScoreBodySchema,\n responseSchema: saveScoreResponseSchema,\n summary: 'Save score',\n description: 'Saves a new score record to storage',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const { score } = params as { score: ScoreRowData };\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const result = await scoresStore?.saveScore?.(score);\n if (!result) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n return result;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scores-DqImg-o-.js","names":[],"sources":["../src/server/handlers/scores.ts"],"sourcesContent":["import type { MastraScorerEntry, ScoreRowData } from '@mastra/core/evals';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport { HTTPException } from '../http-exception';\nimport { runIdSchema } from '../schemas/common';\nimport {\n listScorersResponseSchema,\n scorerEntrySchema,\n scorerIdPathParams,\n entityPathParams,\n listScoresByRunIdQuerySchema,\n listScoresByScorerIdQuerySchema,\n listScoresByEntityIdQuerySchema,\n saveScoreBodySchema,\n scoresWithPaginationResponseSchema,\n saveScoreResponseSchema,\n} from '../schemas/scores';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\n\nasync function listScorersFromSystem({\n mastra,\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n}) {\n const agents = mastra.listAgents();\n const workflows = mastra.listWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & {\n agentIds: string[];\n agentNames: string[];\n workflowIds: string[];\n isRegistered: boolean;\n source: 'code' | 'stored' | 'fs';\n }\n >();\n\n // Helper function to process an agent's scorers\n const processAgentScorers = async (agent: {\n id: string;\n name: string;\n listScorers: (typeof agents)[string]['listScorers'];\n }) => {\n const scorers =\n (await agent.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerId = scorer.scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.id);\n scorersMap.get(scorerId)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agent.id],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n };\n\n // Process code-defined agents\n for (const [_, agent] of Object.entries(agents)) {\n await processAgentScorers(agent);\n }\n\n // Process stored agents (database-backed agents)\n try {\n const editor = mastra.getEditor();\n const storedAgentsResult = await editor?.agent.list();\n if (storedAgentsResult?.agents) {\n for (const storedAgentConfig of storedAgentsResult.agents) {\n try {\n const agent = await editor?.agent.getById(storedAgentConfig.id);\n if (agent) {\n await processAgentScorers(agent);\n }\n } catch {\n // Skip individual agents that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured - not all setups have storage\n }\n\n // Process stored scorers (standalone CMS-created scorers)\n try {\n const editor = mastra.getEditor();\n const storedScorersResult = await editor?.scorer.list();\n if (storedScorersResult?.scorerDefinitions) {\n for (const storedScorerConfig of storedScorersResult.scorerDefinitions) {\n try {\n await editor?.scorer.getById(storedScorerConfig.id);\n } catch {\n // Skip individual scorers that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.listScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerId = scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)!.isRegistered = true;\n } else {\n scorersMap.set(scorerId, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n source: scorer.source ?? 'code',\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers',\n responseType: 'json',\n responseSchema: listScorersResponseSchema,\n summary: 'List all scorers',\n description: 'Returns a list of all registered scorers with their configuration and associated agents and workflows',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n return scorers;\n }) as any,\n});\n\nexport const GET_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n responseSchema: scorerEntrySchema.nullable(),\n summary: 'Get scorer by ID',\n description: 'Returns details for a specific scorer including its configuration and associations',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, scorerId, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n }) as any,\n});\n\nexport const LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/run/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listScoresByRunIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by run ID',\n description: 'Returns all scores for a specific execution run',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { page, perPage } = params;\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorer/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n queryParamSchema: listScoresByScorerIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by scorer ID',\n description: 'Returns all scores generated by a specific scorer',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, scorerId, ...params }) => {\n try {\n const { page, perPage, entityId, entityType } = params;\n const filters = Object.fromEntries(Object.entries({ entityId, entityType }).filter(([_, v]) => v !== undefined));\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByScorerId?.({\n scorerId,\n pagination: { page: page ?? 0, perPage: perPage ?? 10 },\n ...filters,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/entity/:entityType/:entityId',\n responseType: 'json',\n pathParamSchema: entityPathParams,\n queryParamSchema: listScoresByEntityIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by entity ID',\n description: 'Returns all scores for a specific entity (agent or workflow)',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, entityId, entityType, ...params }) => {\n try {\n const { page, perPage } = params;\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = await getAgentFromSystem({ mastra, agentId: entityId });\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scoresStore?.listScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n },\n});\n\nexport const SAVE_SCORE_ROUTE = createRoute({\n method: 'POST',\n path: '/scores',\n responseType: 'json',\n bodySchema: saveScoreBodySchema,\n responseSchema: saveScoreResponseSchema,\n summary: 'Save score',\n description: 'Saves a new score record to storage',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const { score } = params as { score: ScoreRowData };\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const result = await scoresStore?.saveScore?.(score);\n if (!result) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n return result;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n },\n});\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../rolldown-runtime-10nMEhjP.cjs");
|
|
3
|
-
const require_a2a = require("../../a2a-
|
|
3
|
+
const require_a2a = require("../../a2a-eUB3oDRN.cjs");
|
|
4
4
|
exports.AGENT_EXECUTION_ROUTE = require_a2a.AGENT_EXECUTION_ROUTE;
|
|
5
5
|
exports.GET_AGENT_CARD_ROUTE = require_a2a.GET_AGENT_CARD_ROUTE;
|
|
6
6
|
exports.getAgentCardByIdHandler = require_a2a.getAgentCardByIdHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as AGENT_EXECUTION_ROUTE, n as GET_AGENT_CARD_ROUTE, i as getAgentCardByIdHandler, a as getAgentExecutionHandler, o as handleDeleteTaskPushNotificationConfig, s as handleGetTaskPushNotificationConfig, c as handleListTaskPushNotificationConfig, l as handleMessageSend, u as handleMessageStream, d as handleSetTaskPushNotificationConfig, f as handleTaskCancel, p as handleTaskGet, m as handleTaskList, h as handleTaskResubscribe, g as resolveA2AProtocolVersion } from "../../a2a-
|
|
1
|
+
export { t as AGENT_EXECUTION_ROUTE, n as GET_AGENT_CARD_ROUTE, i as getAgentCardByIdHandler, a as getAgentExecutionHandler, o as handleDeleteTaskPushNotificationConfig, s as handleGetTaskPushNotificationConfig, c as handleListTaskPushNotificationConfig, l as handleMessageSend, u as handleMessageStream, d as handleSetTaskPushNotificationConfig, f as handleTaskCancel, p as handleTaskGet, m as handleTaskList, h as handleTaskResubscribe, g as resolveA2AProtocolVersion } from "../../a2a-UYs7rzN2.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../rolldown-runtime-10nMEhjP.cjs");
|
|
3
|
-
const require_agent_builder = require("../../agent-builder-
|
|
3
|
+
const require_agent_builder = require("../../agent-builder-DwfHzUnt.cjs");
|
|
4
4
|
exports.CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE = require_agent_builder.CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE;
|
|
5
5
|
exports.CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE = require_agent_builder.CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE;
|
|
6
6
|
exports.GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE = require_agent_builder.GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE, n as CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE, r as GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE, i as GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE, a as LIST_AGENT_BUILDER_ACTIONS_ROUTE, o as LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE, s as OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE, c as OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE, l as RESUME_AGENT_BUILDER_ACTION_ROUTE, u as RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE, d as RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE, f as RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE, p as START_AGENT_BUILDER_ACTION_RUN_ROUTE, m as START_ASYNC_AGENT_BUILDER_ACTION_ROUTE, h as STREAM_AGENT_BUILDER_ACTION_ROUTE, g as STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE } from "../../agent-builder-
|
|
1
|
+
export { t as CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE, n as CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE, r as GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE, i as GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE, a as LIST_AGENT_BUILDER_ACTIONS_ROUTE, o as LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE, s as OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE, c as OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE, l as RESUME_AGENT_BUILDER_ACTION_ROUTE, u as RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE, d as RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE, f as RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE, p as START_AGENT_BUILDER_ACTION_RUN_ROUTE, m as START_ASYNC_AGENT_BUILDER_ACTION_ROUTE, h as STREAM_AGENT_BUILDER_ACTION_ROUTE, g as STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE } from "../../agent-builder-5dpawFJf.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../rolldown-runtime-10nMEhjP.cjs");
|
|
3
|
-
const require_agents = require("../../agents-
|
|
3
|
+
const require_agents = require("../../agents-BjdRPzyV.cjs");
|
|
4
4
|
exports.ABORT_AGENT_RUN_ROUTE = require_agents.ABORT_AGENT_RUN_ROUTE;
|
|
5
5
|
exports.ABORT_AGENT_THREAD_ROUTE = require_agents.ABORT_AGENT_THREAD_ROUTE;
|
|
6
6
|
exports.APPROVE_NETWORK_TOOL_CALL_ROUTE = require_agents.APPROVE_NETWORK_TOOL_CALL_ROUTE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/agents.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAhPsB,IAAI;eAAS,MAAM;iBAAW,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnSsB,IAAI;eAAS,MAAM;iBAAW,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/agents.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAhPsB,IAAI;eAAS,MAAM;iBAAW,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnSsB,IAAI;eAAS,MAAM;iBAAW,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as ABORT_AGENT_RUN_ROUTE, n as ABORT_AGENT_THREAD_ROUTE, r as APPROVE_NETWORK_TOOL_CALL_ROUTE, i as APPROVE_TOOL_CALL_GENERATE_ROUTE, a as APPROVE_TOOL_CALL_ROUTE, o as CANCEL_AGENT_PENDING_SIGNALS_ROUTE, s as CLONE_AGENT_ROUTE, c as DECLINE_NETWORK_TOOL_CALL_ROUTE, l as DECLINE_TOOL_CALL_GENERATE_ROUTE, u as DECLINE_TOOL_CALL_ROUTE, d as ENHANCE_INSTRUCTIONS_ROUTE, f as GENERATE_AGENT_ROUTE, p as GENERATE_AGENT_VNEXT_ROUTE, m as GENERATE_LEGACY_ROUTE, h as GET_AGENT_BY_ID_ROUTE, g as GET_AGENT_SKILL_ROUTE, _ as GET_PROVIDERS_ROUTE, v as LIST_AGENTS_ROUTE, y as LIST_SUSPENDED_RUNS_ROUTE, b as OBSERVE_AGENT_STREAM_ROUTE, x as QUEUE_AGENT_MESSAGE_ROUTE, S as QUEUE_AGENT_SIGNAL_ROUTE, C as RECOVER_ROUTE, w as REORDER_AGENT_MODEL_LIST_ROUTE, T as RESET_AGENT_MODEL_ROUTE, E as RESUME_STREAM_ROUTE, D as RESUME_STREAM_UNTIL_IDLE_ROUTE, O as SEND_AGENT_MESSAGE_ROUTE, k as SEND_AGENT_SIGNAL_ROUTE, A as SEND_TOOL_APPROVAL_ROUTE, j as STREAM_GENERATE_LEGACY_ROUTE, M as STREAM_GENERATE_ROUTE, N as STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE, P as STREAM_NETWORK_ROUTE, F as STREAM_UI_MESSAGE_DEPRECATED_ROUTE, I as STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE, L as STREAM_UNTIL_IDLE_GENERATE_ROUTE, R as STREAM_VNEXT_DEPRECATED_ROUTE, z as SUBSCRIBE_AGENT_THREAD_ROUTE, B as UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE, V as UPDATE_AGENT_MODEL_ROUTE, U as buildProvidersList, W as extractVersionOptions, G as getAgentFromSystem, K as getBrowserToolsFromAgent, q as getSerializedAgentTools, J as getSerializedProcessors, Y as getSerializedSkillsFromAgent, X as getWorkspaceToolsFromAgent, Z as isProviderConnected } from "../../agents-
|
|
1
|
+
export { t as ABORT_AGENT_RUN_ROUTE, n as ABORT_AGENT_THREAD_ROUTE, r as APPROVE_NETWORK_TOOL_CALL_ROUTE, i as APPROVE_TOOL_CALL_GENERATE_ROUTE, a as APPROVE_TOOL_CALL_ROUTE, o as CANCEL_AGENT_PENDING_SIGNALS_ROUTE, s as CLONE_AGENT_ROUTE, c as DECLINE_NETWORK_TOOL_CALL_ROUTE, l as DECLINE_TOOL_CALL_GENERATE_ROUTE, u as DECLINE_TOOL_CALL_ROUTE, d as ENHANCE_INSTRUCTIONS_ROUTE, f as GENERATE_AGENT_ROUTE, p as GENERATE_AGENT_VNEXT_ROUTE, m as GENERATE_LEGACY_ROUTE, h as GET_AGENT_BY_ID_ROUTE, g as GET_AGENT_SKILL_ROUTE, _ as GET_PROVIDERS_ROUTE, v as LIST_AGENTS_ROUTE, y as LIST_SUSPENDED_RUNS_ROUTE, b as OBSERVE_AGENT_STREAM_ROUTE, x as QUEUE_AGENT_MESSAGE_ROUTE, S as QUEUE_AGENT_SIGNAL_ROUTE, C as RECOVER_ROUTE, w as REORDER_AGENT_MODEL_LIST_ROUTE, T as RESET_AGENT_MODEL_ROUTE, E as RESUME_STREAM_ROUTE, D as RESUME_STREAM_UNTIL_IDLE_ROUTE, O as SEND_AGENT_MESSAGE_ROUTE, k as SEND_AGENT_SIGNAL_ROUTE, A as SEND_TOOL_APPROVAL_ROUTE, j as STREAM_GENERATE_LEGACY_ROUTE, M as STREAM_GENERATE_ROUTE, N as STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE, P as STREAM_NETWORK_ROUTE, F as STREAM_UI_MESSAGE_DEPRECATED_ROUTE, I as STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE, L as STREAM_UNTIL_IDLE_GENERATE_ROUTE, R as STREAM_VNEXT_DEPRECATED_ROUTE, z as SUBSCRIBE_AGENT_THREAD_ROUTE, B as UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE, V as UPDATE_AGENT_MODEL_ROUTE, U as buildProvidersList, W as extractVersionOptions, G as getAgentFromSystem, K as getBrowserToolsFromAgent, q as getSerializedAgentTools, J as getSerializedProcessors, Y as getSerializedSkillsFromAgent, X as getWorkspaceToolsFromAgent, Z as isProviderConnected } from "../../agents-BuI0JjjX.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../rolldown-runtime-10nMEhjP.cjs");
|
|
3
|
-
const require_builder_registry = require("../../builder-registry-
|
|
3
|
+
const require_builder_registry = require("../../builder-registry-CamBJItc.cjs");
|
|
4
4
|
exports.BUILDER_REGISTRY_INSTALL_ROUTE = require_builder_registry.BUILDER_REGISTRY_INSTALL_ROUTE;
|
|
5
5
|
exports.BUILDER_REGISTRY_POPULAR_ROUTE = require_builder_registry.BUILDER_REGISTRY_POPULAR_ROUTE;
|
|
6
6
|
exports.BUILDER_REGISTRY_PREVIEW_ROUTE = require_builder_registry.BUILDER_REGISTRY_PREVIEW_ROUTE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as BUILDER_REGISTRY_INSTALL_ROUTE, n as BUILDER_REGISTRY_POPULAR_ROUTE, r as BUILDER_REGISTRY_PREVIEW_ROUTE, i as BUILDER_REGISTRY_SEARCH_ROUTE, a as LIST_BUILDER_REGISTRIES_ROUTE } from "../../builder-registry-
|
|
1
|
+
export { t as BUILDER_REGISTRY_INSTALL_ROUTE, n as BUILDER_REGISTRY_POPULAR_ROUTE, r as BUILDER_REGISTRY_PREVIEW_ROUTE, i as BUILDER_REGISTRY_SEARCH_ROUTE, a as LIST_BUILDER_REGISTRIES_ROUTE } from "../../builder-registry-DHVK50Ba.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../rolldown-runtime-10nMEhjP.cjs");
|
|
3
|
-
const require_conversations = require("../../conversations-
|
|
3
|
+
const require_conversations = require("../../conversations-ORTpTqBg.cjs");
|
|
4
4
|
exports.CREATE_CONVERSATION_ROUTE = require_conversations.CREATE_CONVERSATION_ROUTE;
|
|
5
5
|
exports.DELETE_CONVERSATION_ROUTE = require_conversations.DELETE_CONVERSATION_ROUTE;
|
|
6
6
|
exports.GET_CONVERSATION_ITEMS_ROUTE = require_conversations.GET_CONVERSATION_ITEMS_ROUTE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as CREATE_CONVERSATION_ROUTE, n as DELETE_CONVERSATION_ROUTE, r as GET_CONVERSATION_ITEMS_ROUTE, i as GET_CONVERSATION_ROUTE } from "../../conversations-
|
|
1
|
+
export { t as CREATE_CONVERSATION_ROUTE, n as DELETE_CONVERSATION_ROUTE, r as GET_CONVERSATION_ITEMS_ROUTE, i as GET_CONVERSATION_ROUTE } from "../../conversations-fdXV9K0J.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../rolldown-runtime-10nMEhjP.cjs");
|
|
3
|
-
const require_editor_builder = require("../../editor-builder-
|
|
3
|
+
const require_editor_builder = require("../../editor-builder-6l27BFzD.cjs");
|
|
4
4
|
exports.GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE = require_editor_builder.GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE;
|
|
5
5
|
exports.GET_EDITOR_BUILDER_SETTINGS_ROUTE = require_editor_builder.GET_EDITOR_BUILDER_SETTINGS_ROUTE;
|
|
6
6
|
exports.GET_INFRASTRUCTURE_STATUS_ROUTE = require_editor_builder.GET_INFRASTRUCTURE_STATUS_ROUTE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE, n as GET_EDITOR_BUILDER_SETTINGS_ROUTE, r as GET_INFRASTRUCTURE_STATUS_ROUTE, i as isBuilderFeatureEnabled, a as requireBuilderFeature } from "../../editor-builder-
|
|
1
|
+
export { t as GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE, n as GET_EDITOR_BUILDER_SETTINGS_ROUTE, r as GET_INFRASTRUCTURE_STATUS_ROUTE, i as isBuilderFeatureEnabled, a as requireBuilderFeature } from "../../editor-builder-DxGZ7IN5.js";
|
|
@@ -16,9 +16,10 @@ const MODEL_NOT_ALLOWED_CODE = "MODEL_NOT_ALLOWED";
|
|
|
16
16
|
function isModelNotAllowedError(error) {
|
|
17
17
|
return error instanceof Error && error.code === MODEL_NOT_ALLOWED_CODE;
|
|
18
18
|
}
|
|
19
|
-
const
|
|
20
|
-
function
|
|
21
|
-
|
|
19
|
+
const SCHEMA_VALIDATION_FAILED_CODES = /* @__PURE__ */ new Set(["WORKFLOW_SCHEMA_VALIDATION_FAILED", "AGENT_REQUEST_CONTEXT_VALIDATION_FAILED"]);
|
|
20
|
+
function isSchemaValidationError(error) {
|
|
21
|
+
const id = error?.id;
|
|
22
|
+
return error instanceof Error && typeof id === "string" && SCHEMA_VALIDATION_FAILED_CODES.has(id);
|
|
22
23
|
}
|
|
23
24
|
const RUN_CLAIM_CONFLICT_CODES = /* @__PURE__ */ new Set([
|
|
24
25
|
"WORKFLOW_RESUME_ALREADY_CLAIMED",
|
|
@@ -129,7 +130,7 @@ function handleError(error, defaultMessage) {
|
|
|
129
130
|
stack: error.stack,
|
|
130
131
|
cause: error
|
|
131
132
|
});
|
|
132
|
-
if (
|
|
133
|
+
if (isSchemaValidationError(error)) throw new require_http_exception.HTTPException(400, {
|
|
133
134
|
message: error.message,
|
|
134
135
|
stack: error.stack,
|
|
135
136
|
cause: error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.cjs","names":["HTTPException"],"sources":["../../../src/server/handlers/error.ts"],"sourcesContent":["import type { ZodError } from 'zod';\n\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport type { ApiError } from '../types';\n\n/**\n * Duck-typed interface for ZodError-like objects.\n * Note: Zod v4 uses PropertyKey[] (string | number | symbol) for path.\n */\nexport interface ZodErrorLike {\n issues: Array<{\n path: PropertyKey[];\n message: string;\n }>;\n}\n\n/**\n * Recognition for `ModelNotAllowedError` from `@mastra/core/agent-builder/ee`.\n *\n * Inlined as a duck check rather than imported so that `handleError` (wired\n * into every route) does not force a load-time dependency on the\n * `@mastra/core/agent-builder/ee` subpath. That subpath only ships in\n * `@mastra/core >= 1.34.0`; deploys whose bundled `@mastra/server` resolves\n * against an older core would otherwise crash at startup with\n * `ERR_MODULE_NOT_FOUND` on `@mastra/core/dist/agent-builder/ee/index.js`.\n */\nconst MODEL_NOT_ALLOWED_CODE = 'MODEL_NOT_ALLOWED';\n\ninterface ModelNotAllowedErrorLike extends Error {\n code: typeof MODEL_NOT_ALLOWED_CODE;\n allowed?: unknown;\n attempted?: unknown;\n offendingLabel?: string;\n}\n\nfunction isModelNotAllowedError(error: unknown): error is ModelNotAllowedErrorLike {\n return error instanceof Error && (error as { code?: unknown }).code === MODEL_NOT_ALLOWED_CODE;\n}\n\nconst WORKFLOW_SCHEMA_VALIDATION_FAILED_CODE = 'WORKFLOW_SCHEMA_VALIDATION_FAILED';\n\nfunction isWorkflowSchemaValidationError(error: unknown): error is Error {\n return error instanceof Error && (error as { id?: unknown }).id === WORKFLOW_SCHEMA_VALIDATION_FAILED_CODE;\n}\n\n// A resume or time travel the run can't accept: another caller claimed it, it is still running,\n// or it isn't waiting to be resumed.\nconst RUN_CLAIM_CONFLICT_CODES = new Set([\n 'WORKFLOW_RESUME_ALREADY_CLAIMED',\n 'AGENT_RESUME_ALREADY_CLAIMED',\n 'WORKFLOW_RUN_NOT_SUSPENDED',\n 'AGENT_RESUME_RUN_NOT_SUSPENDED',\n 'WORKFLOW_TIME_TRAVEL_ALREADY_CLAIMED',\n 'WORKFLOW_TIME_TRAVEL_RUN_RUNNING',\n]);\n\nfunction isRunClaimConflictError(error: unknown): error is Error & { id: string } {\n return error instanceof Error && RUN_CLAIM_CONFLICT_CODES.has((error as { id?: unknown }).id as string);\n}\n\n/**\n * Durable agent errors for a request that conflicts with the run's state:\n * another execution owns the run, it is already being recovered, it lost a\n * concurrent claim, or it is suspended (recover). Matched by id, like the\n * other checks here, so the server doesn't depend on core exporting them.\n */\nconst DURABLE_RUN_CONFLICT_CODES = new Set([\n 'DURABLE_AGENT_RUN_ACTIVE',\n 'DURABLE_AGENT_RECOVER_RUN_ACTIVE_LOCALLY',\n 'DURABLE_AGENT_RECOVER_ALREADY_IN_PROGRESS',\n 'DURABLE_AGENT_RECOVER_RUN_SUSPENDED',\n 'DURABLE_AGENT_RECOVER_RUN_NOT_ACTIVE',\n 'DURABLE_AGENT_EXECUTION_CONFLICT',\n]);\n\nfunction isDurableRunConflictError(error: unknown): error is Error {\n const id = (error as { id?: unknown } | undefined)?.id;\n return error instanceof Error && typeof id === 'string' && DURABLE_RUN_CONFLICT_CODES.has(id);\n}\n\nconst FEEDBACK_REVIEW_STATUS_CONFLICT_CODE = 'OBSERVABILITY_UPDATE_FEEDBACK_REVIEW_STATUS_CONFLICT';\n\nfunction isFeedbackReviewStatusConflictError(error: unknown): error is Error {\n return error instanceof Error && (error as { id?: unknown }).id === FEEDBACK_REVIEW_STATUS_CONFLICT_CODE;\n}\n\n/**\n * Matches the `OBSERVABILITY_STORAGE_*_NOT_IMPLEMENTED` MastraError the base\n * observability store throws for every optional method a store doesn't\n * implement. Checked by id (not `instanceof`) so it holds across duplicated\n * `@mastra/core` installs.\n */\nfunction isObservabilityStorageNotImplementedError(error: unknown): error is Error {\n const id = error && typeof error === 'object' && 'id' in error ? error.id : undefined;\n return typeof id === 'string' && id.startsWith('OBSERVABILITY_STORAGE_') && id.endsWith('_NOT_IMPLEMENTED');\n}\n\n/**\n * Structural check for ZodError instances.\n *\n * Avoids `instanceof ZodError` because consumers can resolve `'zod'` to a\n * different package instance (e.g. `zod@^3`) than the one a server adapter is\n * bundled with (`zod@^4`). In that case `instanceof` is false and validation\n * errors fall through to a generic response that drops field-path information.\n *\n * See https://github.com/mastra-ai/mastra/issues/17167.\n */\nexport function isZodError(error: unknown): error is ZodError<any> {\n return (\n !!error &&\n typeof error === 'object' &&\n (error as { name?: unknown }).name === 'ZodError' &&\n Array.isArray((error as { issues?: unknown }).issues)\n );\n}\n\n/**\n * Formats a ZodError into a structured validation error response.\n * Returns an object with an error message and an array of field-specific issues.\n */\nexport function formatZodError(\n error: ZodErrorLike,\n context: string,\n): { error: string; issues: Array<{ field: string; message: string }> } {\n const issues = error.issues.map(e => ({\n field: e.path.length > 0 ? e.path.map(p => String(p)).join('.') : 'root',\n message: e.message,\n }));\n\n return {\n error: `Invalid ${context}`,\n issues,\n };\n}\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string): never {\n if (isModelNotAllowedError(error)) {\n const body = {\n error: {\n code: error.code,\n message: error.message,\n allowed: error.allowed,\n attempted: error.attempted,\n offendingLabel: error.offendingLabel,\n },\n };\n const res = new Response(JSON.stringify(body), {\n status: 422,\n headers: { 'content-type': 'application/json' },\n });\n throw new HTTPException(422, {\n res,\n message: error.message,\n cause: error,\n });\n }\n\n // A losing concurrent resume or time travel, or a recover of a run that is live or suspended, is\n // a conflict on run state, not a malformed request, so it maps to 409 and clients can\n // distinguish it from a 400/500 and re-read the run.\n if (isRunClaimConflictError(error) || isDurableRunConflictError(error)) {\n const res = isRunClaimConflictError(error)\n ? new Response(JSON.stringify({ error: error.message, code: error.id }), {\n status: 409,\n headers: { 'content-type': 'application/json' },\n })\n : undefined;\n throw new HTTPException(409, {\n res,\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // The feedback row changed under a review-status update, so the caller re-reads and retries;\n // that is a conflict, not a broken store.\n if (isFeedbackReviewStatusConflictError(error)) {\n throw new HTTPException(409, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n if (isWorkflowSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // Optional observability APIs (feedback, metrics, logs, scores, ...) throw\n // `*_NOT_IMPLEMENTED` on stores that don't support them. That's a missing\n // capability, not a server fault, so it maps to 501 — which server adapters\n // log as a warning instead of an error. The message is preserved because\n // clients match on it to detect unsupported operations. Clients should check\n // `GET /observability/capabilities` before calling optional routes.\n if (isObservabilityStorageNotImplementedError(error)) {\n throw new HTTPException(501, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n const apiError = error as ApiError;\n\n const apiErrorStatus = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(apiErrorStatus as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"error.cjs","names":["HTTPException"],"sources":["../../../src/server/handlers/error.ts"],"sourcesContent":["import type { ZodError } from 'zod';\n\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport type { ApiError } from '../types';\n\n/**\n * Duck-typed interface for ZodError-like objects.\n * Note: Zod v4 uses PropertyKey[] (string | number | symbol) for path.\n */\nexport interface ZodErrorLike {\n issues: Array<{\n path: PropertyKey[];\n message: string;\n }>;\n}\n\n/**\n * Recognition for `ModelNotAllowedError` from `@mastra/core/agent-builder/ee`.\n *\n * Inlined as a duck check rather than imported so that `handleError` (wired\n * into every route) does not force a load-time dependency on the\n * `@mastra/core/agent-builder/ee` subpath. That subpath only ships in\n * `@mastra/core >= 1.34.0`; deploys whose bundled `@mastra/server` resolves\n * against an older core would otherwise crash at startup with\n * `ERR_MODULE_NOT_FOUND` on `@mastra/core/dist/agent-builder/ee/index.js`.\n */\nconst MODEL_NOT_ALLOWED_CODE = 'MODEL_NOT_ALLOWED';\n\ninterface ModelNotAllowedErrorLike extends Error {\n code: typeof MODEL_NOT_ALLOWED_CODE;\n allowed?: unknown;\n attempted?: unknown;\n offendingLabel?: string;\n}\n\nfunction isModelNotAllowedError(error: unknown): error is ModelNotAllowedErrorLike {\n return error instanceof Error && (error as { code?: unknown }).code === MODEL_NOT_ALLOWED_CODE;\n}\n\n// Input the caller sent failed a workflow or agent schema (including an agent's requestContextSchema),\n// so it is a bad request, not a server fault.\nconst SCHEMA_VALIDATION_FAILED_CODES = new Set([\n 'WORKFLOW_SCHEMA_VALIDATION_FAILED',\n 'AGENT_REQUEST_CONTEXT_VALIDATION_FAILED',\n]);\n\nfunction isSchemaValidationError(error: unknown): error is Error {\n const id = (error as { id?: unknown } | undefined)?.id;\n return error instanceof Error && typeof id === 'string' && SCHEMA_VALIDATION_FAILED_CODES.has(id);\n}\n\n// A resume or time travel the run can't accept: another caller claimed it, it is still running,\n// or it isn't waiting to be resumed.\nconst RUN_CLAIM_CONFLICT_CODES = new Set([\n 'WORKFLOW_RESUME_ALREADY_CLAIMED',\n 'AGENT_RESUME_ALREADY_CLAIMED',\n 'WORKFLOW_RUN_NOT_SUSPENDED',\n 'AGENT_RESUME_RUN_NOT_SUSPENDED',\n 'WORKFLOW_TIME_TRAVEL_ALREADY_CLAIMED',\n 'WORKFLOW_TIME_TRAVEL_RUN_RUNNING',\n]);\n\nfunction isRunClaimConflictError(error: unknown): error is Error & { id: string } {\n return error instanceof Error && RUN_CLAIM_CONFLICT_CODES.has((error as { id?: unknown }).id as string);\n}\n\n/**\n * Durable agent errors for a request that conflicts with the run's state:\n * another execution owns the run, it is already being recovered, it lost a\n * concurrent claim, or it is suspended (recover). Matched by id, like the\n * other checks here, so the server doesn't depend on core exporting them.\n */\nconst DURABLE_RUN_CONFLICT_CODES = new Set([\n 'DURABLE_AGENT_RUN_ACTIVE',\n 'DURABLE_AGENT_RECOVER_RUN_ACTIVE_LOCALLY',\n 'DURABLE_AGENT_RECOVER_ALREADY_IN_PROGRESS',\n 'DURABLE_AGENT_RECOVER_RUN_SUSPENDED',\n 'DURABLE_AGENT_RECOVER_RUN_NOT_ACTIVE',\n 'DURABLE_AGENT_EXECUTION_CONFLICT',\n]);\n\nfunction isDurableRunConflictError(error: unknown): error is Error {\n const id = (error as { id?: unknown } | undefined)?.id;\n return error instanceof Error && typeof id === 'string' && DURABLE_RUN_CONFLICT_CODES.has(id);\n}\n\nconst FEEDBACK_REVIEW_STATUS_CONFLICT_CODE = 'OBSERVABILITY_UPDATE_FEEDBACK_REVIEW_STATUS_CONFLICT';\n\nfunction isFeedbackReviewStatusConflictError(error: unknown): error is Error {\n return error instanceof Error && (error as { id?: unknown }).id === FEEDBACK_REVIEW_STATUS_CONFLICT_CODE;\n}\n\n/**\n * Matches the `OBSERVABILITY_STORAGE_*_NOT_IMPLEMENTED` MastraError the base\n * observability store throws for every optional method a store doesn't\n * implement. Checked by id (not `instanceof`) so it holds across duplicated\n * `@mastra/core` installs.\n */\nfunction isObservabilityStorageNotImplementedError(error: unknown): error is Error {\n const id = error && typeof error === 'object' && 'id' in error ? error.id : undefined;\n return typeof id === 'string' && id.startsWith('OBSERVABILITY_STORAGE_') && id.endsWith('_NOT_IMPLEMENTED');\n}\n\n/**\n * Structural check for ZodError instances.\n *\n * Avoids `instanceof ZodError` because consumers can resolve `'zod'` to a\n * different package instance (e.g. `zod@^3`) than the one a server adapter is\n * bundled with (`zod@^4`). In that case `instanceof` is false and validation\n * errors fall through to a generic response that drops field-path information.\n *\n * See https://github.com/mastra-ai/mastra/issues/17167.\n */\nexport function isZodError(error: unknown): error is ZodError<any> {\n return (\n !!error &&\n typeof error === 'object' &&\n (error as { name?: unknown }).name === 'ZodError' &&\n Array.isArray((error as { issues?: unknown }).issues)\n );\n}\n\n/**\n * Formats a ZodError into a structured validation error response.\n * Returns an object with an error message and an array of field-specific issues.\n */\nexport function formatZodError(\n error: ZodErrorLike,\n context: string,\n): { error: string; issues: Array<{ field: string; message: string }> } {\n const issues = error.issues.map(e => ({\n field: e.path.length > 0 ? e.path.map(p => String(p)).join('.') : 'root',\n message: e.message,\n }));\n\n return {\n error: `Invalid ${context}`,\n issues,\n };\n}\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string): never {\n if (isModelNotAllowedError(error)) {\n const body = {\n error: {\n code: error.code,\n message: error.message,\n allowed: error.allowed,\n attempted: error.attempted,\n offendingLabel: error.offendingLabel,\n },\n };\n const res = new Response(JSON.stringify(body), {\n status: 422,\n headers: { 'content-type': 'application/json' },\n });\n throw new HTTPException(422, {\n res,\n message: error.message,\n cause: error,\n });\n }\n\n // A losing concurrent resume or time travel, or a recover of a run that is live or suspended, is\n // a conflict on run state, not a malformed request, so it maps to 409 and clients can\n // distinguish it from a 400/500 and re-read the run.\n if (isRunClaimConflictError(error) || isDurableRunConflictError(error)) {\n const res = isRunClaimConflictError(error)\n ? new Response(JSON.stringify({ error: error.message, code: error.id }), {\n status: 409,\n headers: { 'content-type': 'application/json' },\n })\n : undefined;\n throw new HTTPException(409, {\n res,\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // The feedback row changed under a review-status update, so the caller re-reads and retries;\n // that is a conflict, not a broken store.\n if (isFeedbackReviewStatusConflictError(error)) {\n throw new HTTPException(409, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // Optional observability APIs (feedback, metrics, logs, scores, ...) throw\n // `*_NOT_IMPLEMENTED` on stores that don't support them. That's a missing\n // capability, not a server fault, so it maps to 501 — which server adapters\n // log as a warning instead of an error. The message is preserved because\n // clients match on it to detect unsupported operations. Clients should check\n // `GET /observability/capabilities` before calling optional routes.\n if (isObservabilityStorageNotImplementedError(error)) {\n throw new HTTPException(501, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n const apiError = error as ApiError;\n\n const apiErrorStatus = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(apiErrorStatus as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAMpC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,WAAW,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAMpC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,WAAW,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAyFD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,CAOjE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAUtE;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,KAAK,CAiFzE"}
|
|
@@ -14,9 +14,10 @@ const MODEL_NOT_ALLOWED_CODE = "MODEL_NOT_ALLOWED";
|
|
|
14
14
|
function isModelNotAllowedError(error) {
|
|
15
15
|
return error instanceof Error && error.code === MODEL_NOT_ALLOWED_CODE;
|
|
16
16
|
}
|
|
17
|
-
const
|
|
18
|
-
function
|
|
19
|
-
|
|
17
|
+
const SCHEMA_VALIDATION_FAILED_CODES = /* @__PURE__ */ new Set(["WORKFLOW_SCHEMA_VALIDATION_FAILED", "AGENT_REQUEST_CONTEXT_VALIDATION_FAILED"]);
|
|
18
|
+
function isSchemaValidationError(error) {
|
|
19
|
+
const id = error?.id;
|
|
20
|
+
return error instanceof Error && typeof id === "string" && SCHEMA_VALIDATION_FAILED_CODES.has(id);
|
|
20
21
|
}
|
|
21
22
|
const RUN_CLAIM_CONFLICT_CODES = /* @__PURE__ */ new Set([
|
|
22
23
|
"WORKFLOW_RESUME_ALREADY_CLAIMED",
|
|
@@ -127,7 +128,7 @@ function handleError(error, defaultMessage) {
|
|
|
127
128
|
stack: error.stack,
|
|
128
129
|
cause: error
|
|
129
130
|
});
|
|
130
|
-
if (
|
|
131
|
+
if (isSchemaValidationError(error)) throw new HTTPException(400, {
|
|
131
132
|
message: error.message,
|
|
132
133
|
stack: error.stack,
|
|
133
134
|
cause: error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","names":[],"sources":["../../../src/server/handlers/error.ts"],"sourcesContent":["import type { ZodError } from 'zod';\n\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport type { ApiError } from '../types';\n\n/**\n * Duck-typed interface for ZodError-like objects.\n * Note: Zod v4 uses PropertyKey[] (string | number | symbol) for path.\n */\nexport interface ZodErrorLike {\n issues: Array<{\n path: PropertyKey[];\n message: string;\n }>;\n}\n\n/**\n * Recognition for `ModelNotAllowedError` from `@mastra/core/agent-builder/ee`.\n *\n * Inlined as a duck check rather than imported so that `handleError` (wired\n * into every route) does not force a load-time dependency on the\n * `@mastra/core/agent-builder/ee` subpath. That subpath only ships in\n * `@mastra/core >= 1.34.0`; deploys whose bundled `@mastra/server` resolves\n * against an older core would otherwise crash at startup with\n * `ERR_MODULE_NOT_FOUND` on `@mastra/core/dist/agent-builder/ee/index.js`.\n */\nconst MODEL_NOT_ALLOWED_CODE = 'MODEL_NOT_ALLOWED';\n\ninterface ModelNotAllowedErrorLike extends Error {\n code: typeof MODEL_NOT_ALLOWED_CODE;\n allowed?: unknown;\n attempted?: unknown;\n offendingLabel?: string;\n}\n\nfunction isModelNotAllowedError(error: unknown): error is ModelNotAllowedErrorLike {\n return error instanceof Error && (error as { code?: unknown }).code === MODEL_NOT_ALLOWED_CODE;\n}\n\nconst WORKFLOW_SCHEMA_VALIDATION_FAILED_CODE = 'WORKFLOW_SCHEMA_VALIDATION_FAILED';\n\nfunction isWorkflowSchemaValidationError(error: unknown): error is Error {\n return error instanceof Error && (error as { id?: unknown }).id === WORKFLOW_SCHEMA_VALIDATION_FAILED_CODE;\n}\n\n// A resume or time travel the run can't accept: another caller claimed it, it is still running,\n// or it isn't waiting to be resumed.\nconst RUN_CLAIM_CONFLICT_CODES = new Set([\n 'WORKFLOW_RESUME_ALREADY_CLAIMED',\n 'AGENT_RESUME_ALREADY_CLAIMED',\n 'WORKFLOW_RUN_NOT_SUSPENDED',\n 'AGENT_RESUME_RUN_NOT_SUSPENDED',\n 'WORKFLOW_TIME_TRAVEL_ALREADY_CLAIMED',\n 'WORKFLOW_TIME_TRAVEL_RUN_RUNNING',\n]);\n\nfunction isRunClaimConflictError(error: unknown): error is Error & { id: string } {\n return error instanceof Error && RUN_CLAIM_CONFLICT_CODES.has((error as { id?: unknown }).id as string);\n}\n\n/**\n * Durable agent errors for a request that conflicts with the run's state:\n * another execution owns the run, it is already being recovered, it lost a\n * concurrent claim, or it is suspended (recover). Matched by id, like the\n * other checks here, so the server doesn't depend on core exporting them.\n */\nconst DURABLE_RUN_CONFLICT_CODES = new Set([\n 'DURABLE_AGENT_RUN_ACTIVE',\n 'DURABLE_AGENT_RECOVER_RUN_ACTIVE_LOCALLY',\n 'DURABLE_AGENT_RECOVER_ALREADY_IN_PROGRESS',\n 'DURABLE_AGENT_RECOVER_RUN_SUSPENDED',\n 'DURABLE_AGENT_RECOVER_RUN_NOT_ACTIVE',\n 'DURABLE_AGENT_EXECUTION_CONFLICT',\n]);\n\nfunction isDurableRunConflictError(error: unknown): error is Error {\n const id = (error as { id?: unknown } | undefined)?.id;\n return error instanceof Error && typeof id === 'string' && DURABLE_RUN_CONFLICT_CODES.has(id);\n}\n\nconst FEEDBACK_REVIEW_STATUS_CONFLICT_CODE = 'OBSERVABILITY_UPDATE_FEEDBACK_REVIEW_STATUS_CONFLICT';\n\nfunction isFeedbackReviewStatusConflictError(error: unknown): error is Error {\n return error instanceof Error && (error as { id?: unknown }).id === FEEDBACK_REVIEW_STATUS_CONFLICT_CODE;\n}\n\n/**\n * Matches the `OBSERVABILITY_STORAGE_*_NOT_IMPLEMENTED` MastraError the base\n * observability store throws for every optional method a store doesn't\n * implement. Checked by id (not `instanceof`) so it holds across duplicated\n * `@mastra/core` installs.\n */\nfunction isObservabilityStorageNotImplementedError(error: unknown): error is Error {\n const id = error && typeof error === 'object' && 'id' in error ? error.id : undefined;\n return typeof id === 'string' && id.startsWith('OBSERVABILITY_STORAGE_') && id.endsWith('_NOT_IMPLEMENTED');\n}\n\n/**\n * Structural check for ZodError instances.\n *\n * Avoids `instanceof ZodError` because consumers can resolve `'zod'` to a\n * different package instance (e.g. `zod@^3`) than the one a server adapter is\n * bundled with (`zod@^4`). In that case `instanceof` is false and validation\n * errors fall through to a generic response that drops field-path information.\n *\n * See https://github.com/mastra-ai/mastra/issues/17167.\n */\nexport function isZodError(error: unknown): error is ZodError<any> {\n return (\n !!error &&\n typeof error === 'object' &&\n (error as { name?: unknown }).name === 'ZodError' &&\n Array.isArray((error as { issues?: unknown }).issues)\n );\n}\n\n/**\n * Formats a ZodError into a structured validation error response.\n * Returns an object with an error message and an array of field-specific issues.\n */\nexport function formatZodError(\n error: ZodErrorLike,\n context: string,\n): { error: string; issues: Array<{ field: string; message: string }> } {\n const issues = error.issues.map(e => ({\n field: e.path.length > 0 ? e.path.map(p => String(p)).join('.') : 'root',\n message: e.message,\n }));\n\n return {\n error: `Invalid ${context}`,\n issues,\n };\n}\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string): never {\n if (isModelNotAllowedError(error)) {\n const body = {\n error: {\n code: error.code,\n message: error.message,\n allowed: error.allowed,\n attempted: error.attempted,\n offendingLabel: error.offendingLabel,\n },\n };\n const res = new Response(JSON.stringify(body), {\n status: 422,\n headers: { 'content-type': 'application/json' },\n });\n throw new HTTPException(422, {\n res,\n message: error.message,\n cause: error,\n });\n }\n\n // A losing concurrent resume or time travel, or a recover of a run that is live or suspended, is\n // a conflict on run state, not a malformed request, so it maps to 409 and clients can\n // distinguish it from a 400/500 and re-read the run.\n if (isRunClaimConflictError(error) || isDurableRunConflictError(error)) {\n const res = isRunClaimConflictError(error)\n ? new Response(JSON.stringify({ error: error.message, code: error.id }), {\n status: 409,\n headers: { 'content-type': 'application/json' },\n })\n : undefined;\n throw new HTTPException(409, {\n res,\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // The feedback row changed under a review-status update, so the caller re-reads and retries;\n // that is a conflict, not a broken store.\n if (isFeedbackReviewStatusConflictError(error)) {\n throw new HTTPException(409, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n if (isWorkflowSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // Optional observability APIs (feedback, metrics, logs, scores, ...) throw\n // `*_NOT_IMPLEMENTED` on stores that don't support them. That's a missing\n // capability, not a server fault, so it maps to 501 — which server adapters\n // log as a warning instead of an error. The message is preserved because\n // clients match on it to detect unsupported operations. Clients should check\n // `GET /observability/capabilities` before calling optional routes.\n if (isObservabilityStorageNotImplementedError(error)) {\n throw new HTTPException(501, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n const apiError = error as ApiError;\n\n const apiErrorStatus = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(apiErrorStatus as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"error.js","names":[],"sources":["../../../src/server/handlers/error.ts"],"sourcesContent":["import type { ZodError } from 'zod';\n\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport type { ApiError } from '../types';\n\n/**\n * Duck-typed interface for ZodError-like objects.\n * Note: Zod v4 uses PropertyKey[] (string | number | symbol) for path.\n */\nexport interface ZodErrorLike {\n issues: Array<{\n path: PropertyKey[];\n message: string;\n }>;\n}\n\n/**\n * Recognition for `ModelNotAllowedError` from `@mastra/core/agent-builder/ee`.\n *\n * Inlined as a duck check rather than imported so that `handleError` (wired\n * into every route) does not force a load-time dependency on the\n * `@mastra/core/agent-builder/ee` subpath. That subpath only ships in\n * `@mastra/core >= 1.34.0`; deploys whose bundled `@mastra/server` resolves\n * against an older core would otherwise crash at startup with\n * `ERR_MODULE_NOT_FOUND` on `@mastra/core/dist/agent-builder/ee/index.js`.\n */\nconst MODEL_NOT_ALLOWED_CODE = 'MODEL_NOT_ALLOWED';\n\ninterface ModelNotAllowedErrorLike extends Error {\n code: typeof MODEL_NOT_ALLOWED_CODE;\n allowed?: unknown;\n attempted?: unknown;\n offendingLabel?: string;\n}\n\nfunction isModelNotAllowedError(error: unknown): error is ModelNotAllowedErrorLike {\n return error instanceof Error && (error as { code?: unknown }).code === MODEL_NOT_ALLOWED_CODE;\n}\n\n// Input the caller sent failed a workflow or agent schema (including an agent's requestContextSchema),\n// so it is a bad request, not a server fault.\nconst SCHEMA_VALIDATION_FAILED_CODES = new Set([\n 'WORKFLOW_SCHEMA_VALIDATION_FAILED',\n 'AGENT_REQUEST_CONTEXT_VALIDATION_FAILED',\n]);\n\nfunction isSchemaValidationError(error: unknown): error is Error {\n const id = (error as { id?: unknown } | undefined)?.id;\n return error instanceof Error && typeof id === 'string' && SCHEMA_VALIDATION_FAILED_CODES.has(id);\n}\n\n// A resume or time travel the run can't accept: another caller claimed it, it is still running,\n// or it isn't waiting to be resumed.\nconst RUN_CLAIM_CONFLICT_CODES = new Set([\n 'WORKFLOW_RESUME_ALREADY_CLAIMED',\n 'AGENT_RESUME_ALREADY_CLAIMED',\n 'WORKFLOW_RUN_NOT_SUSPENDED',\n 'AGENT_RESUME_RUN_NOT_SUSPENDED',\n 'WORKFLOW_TIME_TRAVEL_ALREADY_CLAIMED',\n 'WORKFLOW_TIME_TRAVEL_RUN_RUNNING',\n]);\n\nfunction isRunClaimConflictError(error: unknown): error is Error & { id: string } {\n return error instanceof Error && RUN_CLAIM_CONFLICT_CODES.has((error as { id?: unknown }).id as string);\n}\n\n/**\n * Durable agent errors for a request that conflicts with the run's state:\n * another execution owns the run, it is already being recovered, it lost a\n * concurrent claim, or it is suspended (recover). Matched by id, like the\n * other checks here, so the server doesn't depend on core exporting them.\n */\nconst DURABLE_RUN_CONFLICT_CODES = new Set([\n 'DURABLE_AGENT_RUN_ACTIVE',\n 'DURABLE_AGENT_RECOVER_RUN_ACTIVE_LOCALLY',\n 'DURABLE_AGENT_RECOVER_ALREADY_IN_PROGRESS',\n 'DURABLE_AGENT_RECOVER_RUN_SUSPENDED',\n 'DURABLE_AGENT_RECOVER_RUN_NOT_ACTIVE',\n 'DURABLE_AGENT_EXECUTION_CONFLICT',\n]);\n\nfunction isDurableRunConflictError(error: unknown): error is Error {\n const id = (error as { id?: unknown } | undefined)?.id;\n return error instanceof Error && typeof id === 'string' && DURABLE_RUN_CONFLICT_CODES.has(id);\n}\n\nconst FEEDBACK_REVIEW_STATUS_CONFLICT_CODE = 'OBSERVABILITY_UPDATE_FEEDBACK_REVIEW_STATUS_CONFLICT';\n\nfunction isFeedbackReviewStatusConflictError(error: unknown): error is Error {\n return error instanceof Error && (error as { id?: unknown }).id === FEEDBACK_REVIEW_STATUS_CONFLICT_CODE;\n}\n\n/**\n * Matches the `OBSERVABILITY_STORAGE_*_NOT_IMPLEMENTED` MastraError the base\n * observability store throws for every optional method a store doesn't\n * implement. Checked by id (not `instanceof`) so it holds across duplicated\n * `@mastra/core` installs.\n */\nfunction isObservabilityStorageNotImplementedError(error: unknown): error is Error {\n const id = error && typeof error === 'object' && 'id' in error ? error.id : undefined;\n return typeof id === 'string' && id.startsWith('OBSERVABILITY_STORAGE_') && id.endsWith('_NOT_IMPLEMENTED');\n}\n\n/**\n * Structural check for ZodError instances.\n *\n * Avoids `instanceof ZodError` because consumers can resolve `'zod'` to a\n * different package instance (e.g. `zod@^3`) than the one a server adapter is\n * bundled with (`zod@^4`). In that case `instanceof` is false and validation\n * errors fall through to a generic response that drops field-path information.\n *\n * See https://github.com/mastra-ai/mastra/issues/17167.\n */\nexport function isZodError(error: unknown): error is ZodError<any> {\n return (\n !!error &&\n typeof error === 'object' &&\n (error as { name?: unknown }).name === 'ZodError' &&\n Array.isArray((error as { issues?: unknown }).issues)\n );\n}\n\n/**\n * Formats a ZodError into a structured validation error response.\n * Returns an object with an error message and an array of field-specific issues.\n */\nexport function formatZodError(\n error: ZodErrorLike,\n context: string,\n): { error: string; issues: Array<{ field: string; message: string }> } {\n const issues = error.issues.map(e => ({\n field: e.path.length > 0 ? e.path.map(p => String(p)).join('.') : 'root',\n message: e.message,\n }));\n\n return {\n error: `Invalid ${context}`,\n issues,\n };\n}\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string): never {\n if (isModelNotAllowedError(error)) {\n const body = {\n error: {\n code: error.code,\n message: error.message,\n allowed: error.allowed,\n attempted: error.attempted,\n offendingLabel: error.offendingLabel,\n },\n };\n const res = new Response(JSON.stringify(body), {\n status: 422,\n headers: { 'content-type': 'application/json' },\n });\n throw new HTTPException(422, {\n res,\n message: error.message,\n cause: error,\n });\n }\n\n // A losing concurrent resume or time travel, or a recover of a run that is live or suspended, is\n // a conflict on run state, not a malformed request, so it maps to 409 and clients can\n // distinguish it from a 400/500 and re-read the run.\n if (isRunClaimConflictError(error) || isDurableRunConflictError(error)) {\n const res = isRunClaimConflictError(error)\n ? new Response(JSON.stringify({ error: error.message, code: error.id }), {\n status: 409,\n headers: { 'content-type': 'application/json' },\n })\n : undefined;\n throw new HTTPException(409, {\n res,\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // The feedback row changed under a review-status update, so the caller re-reads and retries;\n // that is a conflict, not a broken store.\n if (isFeedbackReviewStatusConflictError(error)) {\n throw new HTTPException(409, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n // Optional observability APIs (feedback, metrics, logs, scores, ...) throw\n // `*_NOT_IMPLEMENTED` on stores that don't support them. That's a missing\n // capability, not a server fault, so it maps to 501 — which server adapters\n // log as a warning instead of an error. The message is preserved because\n // clients match on it to detect unsupported operations. Clients should check\n // `GET /observability/capabilities` before calling optional routes.\n if (isObservabilityStorageNotImplementedError(error)) {\n throw new HTTPException(501, {\n message: error.message,\n stack: error.stack,\n cause: error,\n });\n }\n\n const apiError = error as ApiError;\n\n const apiErrorStatus = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(apiErrorStatus as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../rolldown-runtime-10nMEhjP.cjs");
|
|
3
3
|
const require_server_handlers_authorship = require("./authorship.cjs");
|
|
4
|
-
const require_editor_builder = require("../../editor-builder-
|
|
4
|
+
const require_editor_builder = require("../../editor-builder-6l27BFzD.cjs");
|
|
5
5
|
// src/server/handlers/favorites-enrichment.ts
|
|
6
6
|
/**
|
|
7
7
|
* Resolve the EE feature flag plus the caller's favorited set for a list of
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getCallerAuthorId } from "./authorship.js";
|
|
2
|
-
import { i as isBuilderFeatureEnabled } from "../../editor-builder-
|
|
2
|
+
import { i as isBuilderFeatureEnabled } from "../../editor-builder-DxGZ7IN5.js";
|
|
3
3
|
// src/server/handlers/favorites-enrichment.ts
|
|
4
4
|
/**
|
|
5
5
|
* Resolve the EE feature flag plus the caller's favorited set for a list of
|