@mastra/server 0.0.0-update-scorers-api-20250801170445 → 0.0.0-usechat-duplicate-20251016110554
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4048 -0
- package/README.md +0 -5
- package/dist/chunk-2PLXW4ZX.cjs +2777 -0
- package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
- package/dist/chunk-2S4IMB6E.cjs +130 -0
- package/dist/chunk-2S4IMB6E.cjs.map +1 -0
- package/dist/{chunk-X5SDJOY6.cjs → chunk-3LTO44EP.cjs} +66 -53
- package/dist/chunk-3LTO44EP.cjs.map +1 -0
- package/dist/{chunk-4US5W7PH.cjs → chunk-3SNGNFUJ.cjs} +23 -15
- package/dist/chunk-3SNGNFUJ.cjs.map +1 -0
- package/dist/{chunk-OW4FX5TS.js → chunk-4QCXUEAT.js} +10 -3
- package/dist/chunk-4QCXUEAT.js.map +1 -0
- package/dist/{chunk-SQ7KKIH3.js → chunk-67GYDFSB.js} +22 -5
- package/dist/chunk-67GYDFSB.js.map +1 -0
- package/dist/{chunk-ILCWPBYQ.cjs → chunk-6ZR275MD.cjs} +23 -5
- package/dist/chunk-6ZR275MD.cjs.map +1 -0
- package/dist/chunk-7HDOBOGG.cjs +17517 -0
- package/dist/chunk-7HDOBOGG.cjs.map +1 -0
- package/dist/{chunk-4MQU6AJN.js → chunk-ABRFV4XP.js} +4 -4
- package/dist/{chunk-4MQU6AJN.js.map → chunk-ABRFV4XP.js.map} +1 -1
- package/dist/{chunk-YS66MFDY.js → chunk-AHB4JCIQ.js} +48 -12
- package/dist/chunk-AHB4JCIQ.js.map +1 -0
- package/dist/{chunk-TXAQU2XN.js → chunk-AW5BU3RQ.js} +63 -22
- package/dist/chunk-AW5BU3RQ.js.map +1 -0
- package/dist/chunk-BATEJLED.js +124 -0
- package/dist/chunk-BATEJLED.js.map +1 -0
- package/dist/chunk-BZLZFHAT.cjs +682 -0
- package/dist/chunk-BZLZFHAT.cjs.map +1 -0
- package/dist/{chunk-BUOJL3MN.js → chunk-DB63UMTV.js} +220 -89
- package/dist/chunk-DB63UMTV.js.map +1 -0
- package/dist/{chunk-NCS2OXX6.cjs → chunk-EP3JQDPD.cjs} +4 -4
- package/dist/{chunk-NCS2OXX6.cjs.map → chunk-EP3JQDPD.cjs.map} +1 -1
- package/dist/chunk-FWO7VQDC.js +17481 -0
- package/dist/chunk-FWO7VQDC.js.map +1 -0
- package/dist/chunk-FZNS32WJ.js +46 -0
- package/dist/chunk-FZNS32WJ.js.map +1 -0
- package/dist/{chunk-4QSNRCOT.cjs → chunk-G4PUALCE.cjs} +10 -2
- package/dist/chunk-G4PUALCE.cjs.map +1 -0
- package/dist/chunk-GU4EWMZB.cjs +769 -0
- package/dist/chunk-GU4EWMZB.cjs.map +1 -0
- package/dist/{chunk-TRWPUPGD.js → chunk-HPXAM2PG.js} +109 -138
- package/dist/chunk-HPXAM2PG.js.map +1 -0
- package/dist/{chunk-JGVY3KWV.cjs → chunk-I3C4ODGV.cjs} +12 -11
- package/dist/chunk-I3C4ODGV.cjs.map +1 -0
- package/dist/chunk-JSLAYFEW.js +662 -0
- package/dist/chunk-JSLAYFEW.js.map +1 -0
- package/dist/chunk-LF2ZLOFP.js +767 -0
- package/dist/chunk-LF2ZLOFP.js.map +1 -0
- package/dist/{chunk-UVOSITKU.js → chunk-LLUOPR3J.js} +11 -10
- package/dist/chunk-LLUOPR3J.js.map +1 -0
- package/dist/chunk-LPM6BBAX.cjs +1043 -0
- package/dist/chunk-LPM6BBAX.cjs.map +1 -0
- package/dist/{chunk-S37KCGOR.cjs → chunk-MQDBNHBT.cjs} +222 -88
- package/dist/chunk-MQDBNHBT.cjs.map +1 -0
- package/dist/{chunk-G7NVCO5M.js → chunk-MYR4PVGN.js} +3 -3
- package/dist/{chunk-G7NVCO5M.js.map → chunk-MYR4PVGN.js.map} +1 -1
- package/dist/chunk-O7I5CWRX.cjs +44 -0
- package/dist/{chunk-Q7SFCCGT.cjs.map → chunk-O7I5CWRX.cjs.map} +1 -1
- package/dist/{chunk-HXIOPAHT.js → chunk-OEOGYAQC.js} +54 -42
- package/dist/chunk-OEOGYAQC.js.map +1 -0
- package/dist/chunk-OYL5TBJW.cjs +48 -0
- package/dist/chunk-OYL5TBJW.cjs.map +1 -0
- package/dist/chunk-PR4QN5HX.js +39 -0
- package/dist/{chunk-PZ5AY32C.js.map → chunk-PR4QN5HX.js.map} +1 -1
- package/dist/{chunk-HWHKM67I.js → chunk-QQXMIP6C.js} +21 -13
- package/dist/chunk-QQXMIP6C.js.map +1 -0
- package/dist/chunk-RQK4FQUD.js +1012 -0
- package/dist/chunk-RQK4FQUD.js.map +1 -0
- package/dist/chunk-SIW6CYO3.js +254 -0
- package/dist/chunk-SIW6CYO3.js.map +1 -0
- package/dist/{chunk-VIGPWTDA.cjs → chunk-SPRRK3P7.cjs} +64 -23
- package/dist/chunk-SPRRK3P7.cjs.map +1 -0
- package/dist/{chunk-GASWM5HJ.cjs → chunk-TOP25AIO.cjs} +110 -139
- package/dist/chunk-TOP25AIO.cjs.map +1 -0
- package/dist/{chunk-O4I563YW.cjs → chunk-TRGAMKHX.cjs} +50 -13
- package/dist/chunk-TRGAMKHX.cjs.map +1 -0
- package/dist/chunk-VY4ENABS.cjs +135 -0
- package/dist/chunk-VY4ENABS.cjs.map +1 -0
- package/dist/{chunk-BED2O446.cjs → chunk-XN74I6VW.cjs} +7 -7
- package/dist/{chunk-BED2O446.cjs.map → chunk-XN74I6VW.cjs.map} +1 -1
- package/dist/chunk-XVPBGW6Y.cjs +256 -0
- package/dist/chunk-XVPBGW6Y.cjs.map +1 -0
- package/dist/chunk-YWOK4F5A.js +131 -0
- package/dist/chunk-YWOK4F5A.js.map +1 -0
- package/dist/chunk-ZULZ2752.js +2774 -0
- package/dist/chunk-ZULZ2752.js.map +1 -0
- package/dist/dist-4MVGNSRL.cjs +1150 -0
- package/dist/dist-4MVGNSRL.cjs.map +1 -0
- package/dist/dist-FZYCV3VB.cjs +940 -0
- package/dist/dist-FZYCV3VB.cjs.map +1 -0
- package/dist/dist-G2BYZJOC.cjs +928 -0
- package/dist/dist-G2BYZJOC.cjs.map +1 -0
- package/dist/dist-P4MXBQ3U.cjs +16 -0
- package/dist/dist-P4MXBQ3U.cjs.map +1 -0
- package/dist/dist-PQZUVLPC.js +937 -0
- package/dist/dist-PQZUVLPC.js.map +1 -0
- package/dist/dist-R7WYX6LC.js +925 -0
- package/dist/dist-R7WYX6LC.js.map +1 -0
- package/dist/dist-RFMYFILX.cjs +764 -0
- package/dist/dist-RFMYFILX.cjs.map +1 -0
- package/dist/dist-X7XR3M3Z.js +1147 -0
- package/dist/dist-X7XR3M3Z.js.map +1 -0
- package/dist/dist-XVBSOGFK.js +761 -0
- package/dist/dist-XVBSOGFK.js.map +1 -0
- package/dist/dist-YREX2TJT.js +3 -0
- package/dist/dist-YREX2TJT.js.map +1 -0
- package/dist/index.cjs +4 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/server/a2a/store.cjs +25 -0
- package/dist/server/a2a/store.cjs.map +1 -0
- package/dist/server/a2a/store.d.ts +3 -3
- package/dist/server/a2a/store.d.ts.map +1 -1
- package/dist/server/a2a/store.js +23 -0
- package/dist/server/a2a/store.js.map +1 -0
- package/dist/server/a2a/tasks.d.ts +7 -7
- package/dist/server/a2a/tasks.d.ts.map +1 -1
- package/dist/server/handlers/a2a.cjs +11 -11
- package/dist/server/handlers/a2a.d.ts +17 -15
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +68 -0
- package/dist/server/handlers/agent-builder.cjs.map +1 -0
- package/dist/server/handlers/agent-builder.d.ts +94 -0
- package/dist/server/handlers/agent-builder.d.ts.map +1 -0
- package/dist/server/handlers/agent-builder.js +3 -0
- package/dist/server/handlers/agent-builder.js.map +1 -0
- package/dist/server/handlers/agents.cjs +53 -9
- package/dist/server/handlers/agents.d.ts +156 -33
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/legacyWorkflows.cjs +11 -11
- package/dist/server/handlers/legacyWorkflows.d.ts +1 -1
- package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -1
- package/dist/server/handlers/legacyWorkflows.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/memory.cjs +19 -15
- package/dist/server/handlers/memory.d.ts +24 -19
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +24 -0
- package/dist/server/handlers/observability.cjs.map +1 -0
- package/dist/server/handlers/observability.d.ts +49 -0
- package/dist/server/handlers/observability.d.ts.map +1 -0
- package/dist/server/handlers/observability.js +3 -0
- package/dist/server/handlers/observability.js.map +1 -0
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.d.ts +110 -7
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/telemetry.cjs +7 -3
- package/dist/server/handlers/telemetry.d.ts +2 -1
- package/dist/server/handlers/telemetry.d.ts.map +1 -1
- package/dist/server/handlers/telemetry.js +1 -1
- package/dist/server/handlers/tools.cjs +9 -5
- package/dist/server/handlers/tools.d.ts +5 -1
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +6 -2
- package/dist/server/handlers/utils.d.ts +6 -0
- package/dist/server/handlers/utils.d.ts.map +1 -1
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +7 -7
- package/dist/server/handlers/vector.d.ts +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +5 -5
- package/dist/server/handlers/voice.d.ts +7 -5
- package/dist/server/handlers/voice.d.ts.map +1 -1
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +28 -16
- package/dist/server/handlers/workflows.d.ts +37 -34
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +38 -33
- package/dist/server/handlers.d.ts +13 -12
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +13 -12
- package/dist/server/utils.d.ts +44 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/token-53CFGXUO.cjs +64 -0
- package/dist/token-53CFGXUO.cjs.map +1 -0
- package/dist/token-WAEKDUVY.js +62 -0
- package/dist/token-WAEKDUVY.js.map +1 -0
- package/dist/token-util-LY37VCIN.js +7 -0
- package/dist/token-util-LY37VCIN.js.map +1 -0
- package/dist/token-util-S4A355II.cjs +9 -0
- package/dist/token-util-S4A355II.cjs.map +1 -0
- package/package.json +36 -14
- package/dist/chunk-2XIJW7SV.cjs +0 -310
- package/dist/chunk-2XIJW7SV.cjs.map +0 -1
- package/dist/chunk-4CEZIJWJ.cjs +0 -150
- package/dist/chunk-4CEZIJWJ.cjs.map +0 -1
- package/dist/chunk-4QSNRCOT.cjs.map +0 -1
- package/dist/chunk-4US5W7PH.cjs.map +0 -1
- package/dist/chunk-7FHF55WA.js +0 -2041
- package/dist/chunk-7FHF55WA.js.map +0 -1
- package/dist/chunk-BUOJL3MN.js.map +0 -1
- package/dist/chunk-GASWM5HJ.cjs.map +0 -1
- package/dist/chunk-HWHKM67I.js.map +0 -1
- package/dist/chunk-HXIOPAHT.js.map +0 -1
- package/dist/chunk-ILCWPBYQ.cjs.map +0 -1
- package/dist/chunk-JGVY3KWV.cjs.map +0 -1
- package/dist/chunk-LRUH33B4.cjs +0 -2044
- package/dist/chunk-LRUH33B4.cjs.map +0 -1
- package/dist/chunk-O4I563YW.cjs.map +0 -1
- package/dist/chunk-OW4FX5TS.js.map +0 -1
- package/dist/chunk-PZ5AY32C.js +0 -9
- package/dist/chunk-Q7SFCCGT.cjs +0 -11
- package/dist/chunk-S37KCGOR.cjs.map +0 -1
- package/dist/chunk-SQ7KKIH3.js.map +0 -1
- package/dist/chunk-TRWPUPGD.js.map +0 -1
- package/dist/chunk-TXAQU2XN.js.map +0 -1
- package/dist/chunk-UVOSITKU.js.map +0 -1
- package/dist/chunk-VIGPWTDA.cjs.map +0 -1
- package/dist/chunk-VOY6MGKA.js +0 -301
- package/dist/chunk-VOY6MGKA.js.map +0 -1
- package/dist/chunk-X5SDJOY6.cjs.map +0 -1
- package/dist/chunk-Y3J45CVZ.js +0 -144
- package/dist/chunk-Y3J45CVZ.js.map +0 -1
- package/dist/chunk-YS66MFDY.js.map +0 -1
- package/dist/server/handlers/network.cjs +0 -24
- package/dist/server/handlers/network.cjs.map +0 -1
- package/dist/server/handlers/network.d.ts +0 -50
- package/dist/server/handlers/network.d.ts.map +0 -1
- package/dist/server/handlers/network.js +0 -3
- package/dist/server/handlers/network.js.map +0 -1
- package/dist/server/handlers/vNextNetwork.cjs +0 -220
- package/dist/server/handlers/vNextNetwork.cjs.map +0 -1
- package/dist/server/handlers/vNextNetwork.d.ts +0 -179
- package/dist/server/handlers/vNextNetwork.d.ts.map +0 -1
- package/dist/server/handlers/vNextNetwork.js +0 -213
- package/dist/server/handlers/vNextNetwork.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { validateBody } from './chunk-
|
|
1
|
+
import { validateBody } from './chunk-4QCXUEAT.js';
|
|
2
2
|
import { handleError } from './chunk-CY4TP3FK.js';
|
|
3
|
-
import { __export } from './chunk-
|
|
3
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
4
4
|
|
|
5
5
|
// src/server/handlers/logs.ts
|
|
6
6
|
var logs_exports = {};
|
|
@@ -79,5 +79,5 @@ async function getLogTransports({ mastra }) {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
export { getLogTransports, getLogsByRunIdHandler, getLogsHandler, logs_exports };
|
|
82
|
-
//# sourceMappingURL=chunk-
|
|
83
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-ABRFV4XP.js.map
|
|
83
|
+
//# sourceMappingURL=chunk-ABRFV4XP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/logs.ts"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/logs.ts"],"names":[],"mappings":"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","file":"chunk-ABRFV4XP.js","sourcesContent":["import type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\nimport type { Mastra } from '@mastra/core/mastra';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ntype LogsContext = {\n mastra: Mastra;\n transportId?: string;\n runId?: string;\n params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: string | string[];\n page?: number;\n perPage?: number;\n };\n};\n\nexport async function getLogsHandler({\n mastra,\n transportId,\n params,\n}: Pick<LogsContext, 'mastra' | 'transportId' | 'params'>): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n}> {\n try {\n validateBody({ transportId });\n\n const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};\n\n // Parse filter query parameter if present\n const filters = _filters\n ? Object.fromEntries(\n (Array.isArray(_filters) ? _filters : [_filters]).map(attr => {\n const [key, value] = attr.split(':');\n return [key, value];\n }),\n )\n : undefined;\n\n const logs = await mastra.getLogs(transportId!, {\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs');\n }\n}\n\nexport async function getLogsByRunIdHandler({\n mastra,\n runId,\n transportId,\n params,\n}: Pick<LogsContext, 'mastra' | 'runId' | 'transportId' | 'params'>) {\n try {\n validateBody({ runId, transportId });\n\n const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};\n\n // Parse filter query parameter if present\n const filters = _filters\n ? Object.fromEntries(\n (Array.isArray(_filters) ? _filters : [_filters]).map(attr => {\n const [key, value] = attr.split(':');\n return [key, value];\n }),\n )\n : undefined;\n\n const logs = await mastra.getLogsByRunId({\n runId: runId!,\n transportId: transportId!,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs by run ID');\n }\n}\n\nexport async function getLogTransports({ mastra }: Pick<LogsContext, 'mastra'>) {\n try {\n const logger = mastra.getLogger();\n const transports = logger.getTransports();\n\n return {\n transports: transports ? [...transports.keys()] : [],\n };\n } catch (error) {\n return handleError(error, 'Error getting log Transports');\n }\n}\n"]}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { validateBody } from './chunk-4QCXUEAT.js';
|
|
2
|
+
import { stringify } from './chunk-LF2ZLOFP.js';
|
|
3
3
|
import { handleError } from './chunk-CY4TP3FK.js';
|
|
4
4
|
import { HTTPException } from './chunk-MMROOK5J.js';
|
|
5
|
-
import { __export } from './chunk-
|
|
5
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
6
6
|
import { isVercelTool } from '@mastra/core/tools';
|
|
7
|
+
import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
|
|
7
8
|
|
|
8
9
|
// src/server/handlers/tools.ts
|
|
9
10
|
var tools_exports = {};
|
|
10
11
|
__export(tools_exports, {
|
|
11
12
|
executeAgentToolHandler: () => executeAgentToolHandler,
|
|
12
13
|
executeToolHandler: () => executeToolHandler,
|
|
14
|
+
getAgentToolHandler: () => getAgentToolHandler,
|
|
13
15
|
getToolByIdHandler: () => getToolByIdHandler,
|
|
14
16
|
getToolsHandler: () => getToolsHandler
|
|
15
17
|
});
|
|
@@ -23,8 +25,8 @@ async function getToolsHandler({ tools }) {
|
|
|
23
25
|
const tool = _tool;
|
|
24
26
|
acc[id] = {
|
|
25
27
|
...tool,
|
|
26
|
-
inputSchema: tool.inputSchema ? stringify(
|
|
27
|
-
outputSchema: tool.outputSchema ? stringify(
|
|
28
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
29
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
28
30
|
};
|
|
29
31
|
return acc;
|
|
30
32
|
},
|
|
@@ -43,8 +45,8 @@ async function getToolByIdHandler({ tools, toolId }) {
|
|
|
43
45
|
}
|
|
44
46
|
const serializedTool = {
|
|
45
47
|
...tool,
|
|
46
|
-
inputSchema: tool.inputSchema ? stringify(
|
|
47
|
-
outputSchema: tool.outputSchema ? stringify(
|
|
48
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
49
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
48
50
|
};
|
|
49
51
|
return serializedTool;
|
|
50
52
|
} catch (error) {
|
|
@@ -79,7 +81,11 @@ function executeToolHandler(tools) {
|
|
|
79
81
|
context: data,
|
|
80
82
|
mastra,
|
|
81
83
|
runId,
|
|
82
|
-
runtimeContext
|
|
84
|
+
runtimeContext,
|
|
85
|
+
// TODO: Pass proper tracing context when server API supports tracing
|
|
86
|
+
tracingContext: { currentSpan: void 0 },
|
|
87
|
+
suspend: async () => {
|
|
88
|
+
}
|
|
83
89
|
});
|
|
84
90
|
return result;
|
|
85
91
|
} catch (error) {
|
|
@@ -87,6 +93,32 @@ function executeToolHandler(tools) {
|
|
|
87
93
|
}
|
|
88
94
|
};
|
|
89
95
|
}
|
|
96
|
+
async function getAgentToolHandler({
|
|
97
|
+
mastra,
|
|
98
|
+
agentId,
|
|
99
|
+
toolId,
|
|
100
|
+
runtimeContext
|
|
101
|
+
}) {
|
|
102
|
+
try {
|
|
103
|
+
const agent = agentId ? mastra.getAgent(agentId) : null;
|
|
104
|
+
if (!agent) {
|
|
105
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
106
|
+
}
|
|
107
|
+
const agentTools = await agent.getTools({ runtimeContext });
|
|
108
|
+
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
109
|
+
if (!tool) {
|
|
110
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
111
|
+
}
|
|
112
|
+
const serializedTool = {
|
|
113
|
+
...tool,
|
|
114
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
115
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
116
|
+
};
|
|
117
|
+
return serializedTool;
|
|
118
|
+
} catch (error) {
|
|
119
|
+
return handleError(error, "Error getting agent tool");
|
|
120
|
+
}
|
|
121
|
+
}
|
|
90
122
|
async function executeAgentToolHandler({
|
|
91
123
|
mastra,
|
|
92
124
|
agentId,
|
|
@@ -111,7 +143,11 @@ async function executeAgentToolHandler({
|
|
|
111
143
|
context: data,
|
|
112
144
|
runtimeContext,
|
|
113
145
|
mastra,
|
|
114
|
-
runId: agentId
|
|
146
|
+
runId: agentId,
|
|
147
|
+
// TODO: Pass proper tracing context when server API supports tracing
|
|
148
|
+
tracingContext: { currentSpan: void 0 },
|
|
149
|
+
suspend: async () => {
|
|
150
|
+
}
|
|
115
151
|
});
|
|
116
152
|
return result;
|
|
117
153
|
} catch (error) {
|
|
@@ -119,6 +155,6 @@ async function executeAgentToolHandler({
|
|
|
119
155
|
}
|
|
120
156
|
}
|
|
121
157
|
|
|
122
|
-
export { executeAgentToolHandler, executeToolHandler, getToolByIdHandler, getToolsHandler, tools_exports };
|
|
123
|
-
//# sourceMappingURL=chunk-
|
|
124
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
export { executeAgentToolHandler, executeToolHandler, getAgentToolHandler, getToolByIdHandler, getToolsHandler, tools_exports };
|
|
159
|
+
//# sourceMappingURL=chunk-AHB4JCIQ.js.map
|
|
160
|
+
//# sourceMappingURL=chunk-AHB4JCIQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["tool","result"],"mappings":"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","file":"chunk-AHB4JCIQ.js","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function getAgentToolHandler({\n mastra,\n agentId,\n toolId,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n suspend: async () => {},\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { handleError } from './chunk-CY4TP3FK.js';
|
|
2
|
-
import { __export } from './chunk-
|
|
2
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
3
3
|
|
|
4
4
|
// src/server/handlers/scores.ts
|
|
5
5
|
var scores_exports = {};
|
|
@@ -23,14 +23,18 @@ async function getScorersFromSystem({
|
|
|
23
23
|
runtimeContext
|
|
24
24
|
}) || {};
|
|
25
25
|
if (Object.keys(scorers).length > 0) {
|
|
26
|
-
for (const [
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
for (const [_scorerId, scorer] of Object.entries(scorers)) {
|
|
27
|
+
const scorerName = scorer.scorer.name;
|
|
28
|
+
if (scorersMap.has(scorerName)) {
|
|
29
|
+
scorersMap.get(scorerName)?.agentIds.push(agentId);
|
|
30
|
+
scorersMap.get(scorerName)?.agentNames.push(agent.name);
|
|
29
31
|
} else {
|
|
30
|
-
scorersMap.set(
|
|
32
|
+
scorersMap.set(scorerName, {
|
|
31
33
|
workflowIds: [],
|
|
32
34
|
...scorer,
|
|
33
|
-
|
|
35
|
+
agentNames: [agent.name],
|
|
36
|
+
agentIds: [agentId],
|
|
37
|
+
isRegistered: false
|
|
34
38
|
});
|
|
35
39
|
}
|
|
36
40
|
}
|
|
@@ -41,19 +45,37 @@ async function getScorersFromSystem({
|
|
|
41
45
|
runtimeContext
|
|
42
46
|
}) || {};
|
|
43
47
|
if (Object.keys(scorers).length > 0) {
|
|
44
|
-
for (const [
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
for (const [_scorerId, scorer] of Object.entries(scorers)) {
|
|
49
|
+
const scorerName = scorer.scorer.name;
|
|
50
|
+
if (scorersMap.has(scorerName)) {
|
|
51
|
+
scorersMap.get(scorerName)?.workflowIds.push(workflowId);
|
|
47
52
|
} else {
|
|
48
|
-
scorersMap.set(
|
|
53
|
+
scorersMap.set(scorerName, {
|
|
49
54
|
agentIds: [],
|
|
55
|
+
agentNames: [],
|
|
50
56
|
...scorer,
|
|
51
|
-
workflowIds: [workflowId]
|
|
57
|
+
workflowIds: [workflowId],
|
|
58
|
+
isRegistered: false
|
|
52
59
|
});
|
|
53
60
|
}
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
63
|
}
|
|
64
|
+
const registeredScorers = await mastra.getScorers();
|
|
65
|
+
for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {
|
|
66
|
+
const scorerName = scorer.name;
|
|
67
|
+
if (scorersMap.has(scorerName)) {
|
|
68
|
+
scorersMap.get(scorerName).isRegistered = true;
|
|
69
|
+
} else {
|
|
70
|
+
scorersMap.set(scorerName, {
|
|
71
|
+
scorer,
|
|
72
|
+
agentIds: [],
|
|
73
|
+
agentNames: [],
|
|
74
|
+
workflowIds: [],
|
|
75
|
+
isRegistered: true
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
57
79
|
return Object.fromEntries(scorersMap.entries());
|
|
58
80
|
}
|
|
59
81
|
async function getScorersHandler({ mastra, runtimeContext }) {
|
|
@@ -84,11 +106,14 @@ async function getScoresByRunIdHandler({
|
|
|
84
106
|
pagination
|
|
85
107
|
}) {
|
|
86
108
|
try {
|
|
87
|
-
const
|
|
109
|
+
const scoreResults = await mastra.getStorage()?.getScoresByRunId?.({
|
|
88
110
|
runId,
|
|
89
111
|
pagination
|
|
90
|
-
}) || [];
|
|
91
|
-
return
|
|
112
|
+
}) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
|
|
113
|
+
return {
|
|
114
|
+
pagination: scoreResults.pagination,
|
|
115
|
+
scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
|
|
116
|
+
};
|
|
92
117
|
} catch (error) {
|
|
93
118
|
return handleError(error, "Error getting scores by run id");
|
|
94
119
|
}
|
|
@@ -101,13 +126,16 @@ async function getScoresByScorerIdHandler({
|
|
|
101
126
|
entityType
|
|
102
127
|
}) {
|
|
103
128
|
try {
|
|
104
|
-
const
|
|
129
|
+
const scoreResults = await mastra.getStorage()?.getScoresByScorerId?.({
|
|
105
130
|
scorerId,
|
|
106
131
|
pagination,
|
|
107
132
|
entityId,
|
|
108
133
|
entityType
|
|
109
|
-
}) || [];
|
|
110
|
-
return
|
|
134
|
+
}) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
|
|
135
|
+
return {
|
|
136
|
+
pagination: scoreResults.pagination,
|
|
137
|
+
scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
|
|
138
|
+
};
|
|
111
139
|
} catch (error) {
|
|
112
140
|
return handleError(error, "Error getting scores by scorer id");
|
|
113
141
|
}
|
|
@@ -127,16 +155,29 @@ async function getScoresByEntityIdHandler({
|
|
|
127
155
|
const workflow = mastra.getWorkflowById(entityId);
|
|
128
156
|
entityIdToUse = workflow.id;
|
|
129
157
|
}
|
|
130
|
-
const
|
|
158
|
+
const scoreResults = await mastra.getStorage()?.getScoresByEntityId?.({
|
|
131
159
|
entityId: entityIdToUse,
|
|
132
160
|
entityType,
|
|
133
161
|
pagination
|
|
134
|
-
}) || [];
|
|
135
|
-
return
|
|
162
|
+
}) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };
|
|
163
|
+
return {
|
|
164
|
+
pagination: scoreResults.pagination,
|
|
165
|
+
scores: scoreResults.scores.map((score) => ({ ...score, ...getTraceDetails(score.traceId) }))
|
|
166
|
+
};
|
|
136
167
|
} catch (error) {
|
|
137
168
|
return handleError(error, "Error getting scores by entity id");
|
|
138
169
|
}
|
|
139
170
|
}
|
|
171
|
+
function getTraceDetails(traceIdWithSpanId) {
|
|
172
|
+
if (!traceIdWithSpanId) {
|
|
173
|
+
return {};
|
|
174
|
+
}
|
|
175
|
+
const [traceId, spanId] = traceIdWithSpanId.split("-");
|
|
176
|
+
return {
|
|
177
|
+
...traceId ? { traceId } : {},
|
|
178
|
+
...spanId ? { spanId } : {}
|
|
179
|
+
};
|
|
180
|
+
}
|
|
140
181
|
async function saveScoreHandler({ mastra, score }) {
|
|
141
182
|
try {
|
|
142
183
|
const scores = await mastra.getStorage()?.saveScore?.(score) || [];
|
|
@@ -147,5 +188,5 @@ async function saveScoreHandler({ mastra, score }) {
|
|
|
147
188
|
}
|
|
148
189
|
|
|
149
190
|
export { getScorerHandler, getScorersHandler, getScoresByEntityIdHandler, getScoresByRunIdHandler, getScoresByScorerIdHandler, saveScoreHandler, scores_exports };
|
|
150
|
-
//# sourceMappingURL=chunk-
|
|
151
|
-
//# sourceMappingURL=chunk-
|
|
191
|
+
//# sourceMappingURL=chunk-AW5BU3RQ.js.map
|
|
192
|
+
//# sourceMappingURL=chunk-AW5BU3RQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/scores.ts"],"names":[],"mappings":"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","file":"chunk-AW5BU3RQ.js","sourcesContent":["import type { RuntimeContext } from '@mastra/core/runtime-context';\nimport type { MastraScorerEntry, ScoreRowData } from '@mastra/core/scores';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\nasync function getScorersFromSystem({\n mastra,\n runtimeContext,\n}: Context & {\n runtimeContext: RuntimeContext;\n}) {\n const agents = mastra.getAgents();\n const workflows = mastra.getWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & { agentIds: string[]; agentNames: string[]; workflowIds: string[]; isRegistered: boolean }\n >();\n\n for (const [agentId, agent] of Object.entries(agents)) {\n const scorers =\n (await agent.getScorers({\n runtimeContext,\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)?.agentIds.push(agentId);\n scorersMap.get(scorerName)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerName, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agentId],\n isRegistered: false,\n });\n }\n }\n }\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.getScorers({\n runtimeContext,\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 });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.getScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerName = scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)!.isRegistered = true;\n } else {\n scorersMap.set(scorerName, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\nexport async function getScorersHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n return scorers;\n}\n\nexport async function getScorerHandler({\n mastra,\n scorerId,\n runtimeContext,\n}: Context & { scorerId: string; runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n}\n\nexport async function getScoresByRunIdHandler({\n mastra,\n runId,\n pagination,\n}: Context & { runId: string; pagination: StoragePagination }) {\n try {\n const scoreResults = (await mastra.getStorage()?.getScoresByRunId?.({\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 => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n}\n\nexport async function getScoresByScorerIdHandler({\n mastra,\n scorerId,\n pagination,\n entityId,\n entityType,\n}: Context & { scorerId: string; pagination: StoragePagination; entityId?: string; entityType?: string }) {\n try {\n const scoreResults = (await mastra.getStorage()?.getScoresByScorerId?.({\n scorerId,\n pagination,\n entityId,\n entityType,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map(score => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n}\n\nexport async function getScoresByEntityIdHandler({\n mastra,\n entityId,\n entityType,\n pagination,\n}: Context & { entityId: string; entityType: string; pagination: StoragePagination }) {\n try {\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = mastra.getAgentById(entityId);\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const scoreResults = (await mastra.getStorage()?.getScoresByEntityId?.({\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 => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\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\nexport async function saveScoreHandler({ mastra, score }: Context & { score: ScoreRowData }) {\n try {\n const scores = (await mastra.getStorage()?.saveScore?.(score)) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n}\n"]}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { handleError } from './chunk-CY4TP3FK.js';
|
|
2
|
+
import { HTTPException } from './chunk-MMROOK5J.js';
|
|
3
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
4
|
+
import { scoreTraces } from '@mastra/core/scores/scoreTraces';
|
|
5
|
+
|
|
6
|
+
// src/server/handlers/observability.ts
|
|
7
|
+
var observability_exports = {};
|
|
8
|
+
__export(observability_exports, {
|
|
9
|
+
getAITraceHandler: () => getAITraceHandler,
|
|
10
|
+
getAITracesPaginatedHandler: () => getAITracesPaginatedHandler,
|
|
11
|
+
getScoresBySpan: () => getScoresBySpan,
|
|
12
|
+
scoreTracesHandler: () => scoreTracesHandler
|
|
13
|
+
});
|
|
14
|
+
async function getAITraceHandler({ mastra, traceId }) {
|
|
15
|
+
try {
|
|
16
|
+
if (!traceId) {
|
|
17
|
+
throw new HTTPException(400, { message: "Trace ID is required" });
|
|
18
|
+
}
|
|
19
|
+
const storage = mastra.getStorage();
|
|
20
|
+
if (!storage) {
|
|
21
|
+
throw new HTTPException(500, { message: "Storage is not available" });
|
|
22
|
+
}
|
|
23
|
+
const trace = await storage.getAITrace(traceId);
|
|
24
|
+
if (!trace) {
|
|
25
|
+
throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
|
|
26
|
+
}
|
|
27
|
+
return trace;
|
|
28
|
+
} catch (error) {
|
|
29
|
+
handleError(error, "Error getting AI trace");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function getAITracesPaginatedHandler({ mastra, body }) {
|
|
33
|
+
try {
|
|
34
|
+
const storage = mastra.getStorage();
|
|
35
|
+
if (!storage) {
|
|
36
|
+
throw new HTTPException(500, { message: "Storage is not available" });
|
|
37
|
+
}
|
|
38
|
+
if (!body) {
|
|
39
|
+
throw new HTTPException(400, { message: "Request body is required" });
|
|
40
|
+
}
|
|
41
|
+
const { filters, pagination } = body;
|
|
42
|
+
if (pagination?.page && pagination.page < 0) {
|
|
43
|
+
throw new HTTPException(400, { message: "Page must be a non-negative integer" });
|
|
44
|
+
}
|
|
45
|
+
if (pagination?.perPage && pagination.perPage < 0) {
|
|
46
|
+
throw new HTTPException(400, { message: "Per page must be a non-negative integer" });
|
|
47
|
+
}
|
|
48
|
+
if (pagination?.dateRange) {
|
|
49
|
+
const { start, end } = pagination.dateRange;
|
|
50
|
+
if (start && !(start instanceof Date)) {
|
|
51
|
+
throw new HTTPException(400, { message: "Invalid date format in date range" });
|
|
52
|
+
}
|
|
53
|
+
if (end && !(end instanceof Date)) {
|
|
54
|
+
throw new HTTPException(400, { message: "Invalid date format in date range" });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return storage.getAITracesPaginated({
|
|
58
|
+
pagination,
|
|
59
|
+
filters
|
|
60
|
+
});
|
|
61
|
+
} catch (error) {
|
|
62
|
+
handleError(error, "Error getting AI traces paginated");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async function scoreTracesHandler({ mastra, body }) {
|
|
66
|
+
try {
|
|
67
|
+
if (!body) {
|
|
68
|
+
throw new HTTPException(400, { message: "Request body is required" });
|
|
69
|
+
}
|
|
70
|
+
const { scorerName, targets } = body;
|
|
71
|
+
if (!scorerName) {
|
|
72
|
+
throw new HTTPException(400, { message: "Scorer Name is required" });
|
|
73
|
+
}
|
|
74
|
+
if (!targets || targets.length === 0) {
|
|
75
|
+
throw new HTTPException(400, { message: "At least one target is required" });
|
|
76
|
+
}
|
|
77
|
+
const storage = mastra.getStorage();
|
|
78
|
+
if (!storage) {
|
|
79
|
+
throw new HTTPException(500, { message: "Storage is not available" });
|
|
80
|
+
}
|
|
81
|
+
const scorer = mastra.getScorerByName(scorerName);
|
|
82
|
+
if (!scorer) {
|
|
83
|
+
throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });
|
|
84
|
+
}
|
|
85
|
+
const logger = mastra.getLogger();
|
|
86
|
+
scoreTraces({
|
|
87
|
+
scorerName,
|
|
88
|
+
targets,
|
|
89
|
+
mastra
|
|
90
|
+
}).catch((error) => {
|
|
91
|
+
logger?.error(`Background trace scoring failed: ${error.message}`, error);
|
|
92
|
+
});
|
|
93
|
+
return {
|
|
94
|
+
status: "success",
|
|
95
|
+
message: `Scoring started for ${targets.length} ${targets.length === 1 ? "trace" : "traces"}`,
|
|
96
|
+
traceCount: targets.length
|
|
97
|
+
};
|
|
98
|
+
} catch (error) {
|
|
99
|
+
handleError(error, "Error processing trace scoring");
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async function getScoresBySpan({
|
|
103
|
+
mastra,
|
|
104
|
+
traceId,
|
|
105
|
+
spanId,
|
|
106
|
+
pagination
|
|
107
|
+
}) {
|
|
108
|
+
try {
|
|
109
|
+
const storage = mastra.getStorage();
|
|
110
|
+
if (!storage) {
|
|
111
|
+
throw new HTTPException(500, { message: "Storage is not available" });
|
|
112
|
+
}
|
|
113
|
+
if (!traceId || !spanId) {
|
|
114
|
+
throw new HTTPException(400, { message: "Trace ID and span ID are required" });
|
|
115
|
+
}
|
|
116
|
+
return await storage.getScoresBySpan({ traceId, spanId, pagination });
|
|
117
|
+
} catch (error) {
|
|
118
|
+
return handleError(error, "Error getting scores by span");
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export { getAITraceHandler, getAITracesPaginatedHandler, getScoresBySpan, observability_exports, scoreTracesHandler };
|
|
123
|
+
//# sourceMappingURL=chunk-BATEJLED.js.map
|
|
124
|
+
//# sourceMappingURL=chunk-BATEJLED.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":";;;;;;AAAA,IAAA,qBAAA,GAAA;AAAA,QAAA,CAAA,qBAAA,EAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,2BAAA,EAAA,MAAA,2BAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,kBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAyBA,eAAsB,iBAAA,CAAkB,EAAE,MAAA,EAAQ,OAAA,EAAQ,EAA+C;AACvG,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wBAAwB,CAAA;AAAA,IAClE;AAEA,IAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,KAAA,GAAQ,MAAM,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA;AAE9C,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,eAAA,EAAkB,OAAO,eAAe,CAAA;AAAA,IAClF;AAEA,IAAA,OAAO,KAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,WAAA,CAAY,OAAO,wBAAwB,CAAA;AAAA,EAC7C;AACF;AAMA,eAAsB,2BAAA,CAA4B,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAyB;AACxF,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAW,GAAI,IAAA;AAEhC,IAAA,IAAI,UAAA,EAAY,IAAA,IAAQ,UAAA,CAAW,IAAA,GAAO,CAAA,EAAG;AAC3C,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,uCAAuC,CAAA;AAAA,IACjF;AAEA,IAAA,IAAI,UAAA,EAAY,OAAA,IAAW,UAAA,CAAW,OAAA,GAAU,CAAA,EAAG;AACjD,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2CAA2C,CAAA;AAAA,IACrF;AAEA,IAAA,IAAI,YAAY,SAAA,EAAW;AACzB,MAAA,MAAM,EAAE,KAAA,EAAO,GAAA,EAAI,GAAI,UAAA,CAAW,SAAA;AAElC,MAAA,IAAI,KAAA,IAAS,EAAE,KAAA,YAAiB,IAAA,CAAA,EAAO;AACrC,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,MAC/E;AAEA,MAAA,IAAI,GAAA,IAAO,EAAE,GAAA,YAAe,IAAA,CAAA,EAAO;AACjC,QAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,MAC/E;AAAA,IACF;AAEA,IAAA,OAAO,QAAQ,oBAAA,CAAqB;AAAA,MAClC,UAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH,SAAS,KAAA,EAAO;AACd,IAAA,WAAA,CAAY,OAAO,mCAAmC,CAAA;AAAA,EACxD;AACF;AAMA,eAAsB,kBAAA,CAAmB,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAuB;AAC7E,EAAA,IAAI;AACF,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,EAAE,UAAA,EAAY,OAAA,EAAQ,GAAI,IAAA;AAEhC,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,2BAA2B,CAAA;AAAA,IACrE;AAEA,IAAA,IAAI,CAAC,OAAA,IAAW,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG;AACpC,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,mCAAmC,CAAA;AAAA,IAC7E;AAEA,IAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,MAAM,MAAA,GAAS,MAAA,CAAO,eAAA,CAAgB,UAAU,CAAA;AAChD,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,MAAM,IAAI,cAAc,GAAA,EAAK,EAAE,SAAS,CAAA,QAAA,EAAW,UAAU,eAAe,CAAA;AAAA,IAC9E;AAEA,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,IAAA,WAAA,CAAY;AAAA,MACV,UAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACD,CAAA,CAAE,KAAA,CAAM,CAAA,KAAA,KAAS;AAChB,MAAA,MAAA,EAAQ,KAAA,CAAM,CAAA,iCAAA,EAAoC,KAAA,CAAM,OAAO,IAAI,KAAK,CAAA;AAAA,IAC1E,CAAC,CAAA;AAGD,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,SAAA;AAAA,MACR,OAAA,EAAS,uBAAuB,OAAA,CAAQ,MAAM,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,OAAA,GAAU,QAAQ,CAAA,CAAA;AAAA,MAC3F,YAAY,OAAA,CAAQ;AAAA,KACtB;AAAA,EACF,SAAS,KAAA,EAAO;AACd,IAAA,WAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,EACrD;AACF;AAEA,eAAsB,eAAA,CAAgB;AAAA,EACpC,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAAiF;AAC/E,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,IACtE;AAEA,IAAA,IAAI,CAAC,OAAA,IAAW,CAAC,MAAA,EAAQ;AACvB,MAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,qCAAqC,CAAA;AAAA,IAC/E;AAEA,IAAA,OAAO,MAAM,OAAA,CAAQ,eAAA,CAAgB,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,CAAA;AAAA,EACtE,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,WAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,EAC1D;AACF","file":"chunk-BATEJLED.js","sourcesContent":["import type { AITracesPaginatedArg, StoragePagination } from '@mastra/core';\nimport { scoreTraces } from '@mastra/core/scores/scoreTraces';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface ObservabilityContext extends Context {\n traceId?: string;\n body?: AITracesPaginatedArg;\n}\n\ninterface ScoreTracesContext extends Context {\n body?: {\n scorerName: string;\n targets: Array<{\n traceId: string;\n spanId?: string;\n }>;\n };\n}\n\n/**\n * Get a complete AI trace by trace ID\n * Returns all spans in the trace with their parent-child relationships\n */\nexport async function getAITraceHandler({ mastra, traceId }: ObservabilityContext & { traceId: string }) {\n try {\n if (!traceId) {\n throw new HTTPException(400, { message: 'Trace ID is required' });\n }\n\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const trace = await storage.getAITrace(traceId);\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n return trace;\n } catch (error) {\n handleError(error, 'Error getting AI trace');\n }\n}\n\n/**\n * Get paginated AI traces with filtering and pagination\n * Returns only root spans (parent spans) for pagination, not child spans\n */\nexport async function getAITracesPaginatedHandler({ mastra, body }: ObservabilityContext) {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { filters, pagination } = body;\n\n if (pagination?.page && pagination.page < 0) {\n throw new HTTPException(400, { message: 'Page must be a non-negative integer' });\n }\n\n if (pagination?.perPage && pagination.perPage < 0) {\n throw new HTTPException(400, { message: 'Per page must be a non-negative integer' });\n }\n\n if (pagination?.dateRange) {\n const { start, end } = pagination.dateRange;\n\n if (start && !(start instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n\n if (end && !(end instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n }\n\n return storage.getAITracesPaginated({\n pagination,\n filters,\n });\n } catch (error) {\n handleError(error, 'Error getting AI traces paginated');\n }\n}\n\n/**\n * Score traces using a specified scorer\n * Fire-and-forget approach - returns immediately while scoring runs in background\n */\nexport async function scoreTracesHandler({ mastra, body }: ScoreTracesContext) {\n try {\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { scorerName, targets } = body;\n\n if (!scorerName) {\n throw new HTTPException(400, { message: 'Scorer Name is required' });\n }\n\n if (!targets || targets.length === 0) {\n throw new HTTPException(400, { message: 'At least one target is required' });\n }\n\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const scorer = mastra.getScorerByName(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n const logger = mastra.getLogger();\n scoreTraces({\n scorerName,\n targets,\n mastra,\n }).catch(error => {\n logger?.error(`Background trace scoring failed: ${error.message}`, error);\n });\n\n // Return immediate response\n return {\n status: 'success',\n message: `Scoring started for ${targets.length} ${targets.length === 1 ? 'trace' : 'traces'}`,\n traceCount: targets.length,\n };\n } catch (error) {\n handleError(error, 'Error processing trace scoring');\n }\n}\n\nexport async function getScoresBySpan({\n mastra,\n traceId,\n spanId,\n pagination,\n}: Context & { traceId: string; spanId: string; pagination: StoragePagination }) {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n if (!traceId || !spanId) {\n throw new HTTPException(400, { message: 'Trace ID and span ID are required' });\n }\n\n return await storage.getScoresBySpan({ traceId, spanId, pagination });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n}\n"]}
|