@mastra/server 1.0.0-beta.0 → 1.0.0-beta.10
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 +250 -0
- package/dist/chunk-3SFLFUKY.js +116 -0
- package/dist/chunk-3SFLFUKY.js.map +1 -0
- package/dist/chunk-4W2SM6CG.js +294 -0
- package/dist/chunk-4W2SM6CG.js.map +1 -0
- package/dist/chunk-5W4RPVTK.cjs +49 -0
- package/dist/chunk-5W4RPVTK.cjs.map +1 -0
- package/dist/{chunk-D7T74TVR.js → chunk-6YWE7UPT.js} +18 -4
- package/dist/chunk-6YWE7UPT.js.map +1 -0
- package/dist/chunk-7HX4V5Y6.cjs +23268 -0
- package/dist/chunk-7HX4V5Y6.cjs.map +1 -0
- package/dist/chunk-7N3PD4SV.js +196 -0
- package/dist/chunk-7N3PD4SV.js.map +1 -0
- package/dist/chunk-AWBBXA36.js +23226 -0
- package/dist/chunk-AWBBXA36.js.map +1 -0
- package/dist/{chunk-KJIDZQRA.cjs → chunk-C3D3X2L5.cjs} +219 -24
- package/dist/chunk-C3D3X2L5.cjs.map +1 -0
- package/dist/{chunk-FPBYKMIS.js → chunk-CT5VG7NT.js} +213 -24
- package/dist/chunk-CT5VG7NT.js.map +1 -0
- package/dist/chunk-DG3INBBQ.js +1061 -0
- package/dist/chunk-DG3INBBQ.js.map +1 -0
- package/dist/chunk-DHWPHLGF.cjs +211 -0
- package/dist/chunk-DHWPHLGF.cjs.map +1 -0
- package/dist/chunk-DRUNNM4C.js +328 -0
- package/dist/chunk-DRUNNM4C.js.map +1 -0
- package/dist/{chunk-TOCYBDP2.js → chunk-ER3QM7DD.js} +4 -4
- package/dist/{chunk-TOCYBDP2.js.map → chunk-ER3QM7DD.js.map} +1 -1
- package/dist/chunk-ESZ6V5WB.cjs +916 -0
- package/dist/chunk-ESZ6V5WB.cjs.map +1 -0
- package/dist/chunk-FPCGLPLJ.cjs +297 -0
- package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
- package/dist/chunk-FYY54HZC.js +310 -0
- package/dist/chunk-FYY54HZC.js.map +1 -0
- package/dist/chunk-GFF2I6UD.js +354 -0
- package/dist/chunk-GFF2I6UD.js.map +1 -0
- package/dist/chunk-H2RMXG2Q.cjs +167 -0
- package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
- package/dist/chunk-HAJOEDNB.js +274 -0
- package/dist/chunk-HAJOEDNB.js.map +1 -0
- package/dist/chunk-HT4LP3BO.js +75 -0
- package/dist/chunk-HT4LP3BO.js.map +1 -0
- package/dist/chunk-I6LR6CPC.cjs +125 -0
- package/dist/chunk-I6LR6CPC.cjs.map +1 -0
- package/dist/chunk-IEYXQTUW.cjs +284 -0
- package/dist/chunk-IEYXQTUW.cjs.map +1 -0
- package/dist/chunk-MCYD5LW7.cjs +90 -0
- package/dist/chunk-MCYD5LW7.cjs.map +1 -0
- package/dist/chunk-PUFCKXFW.cjs +312 -0
- package/dist/chunk-PUFCKXFW.cjs.map +1 -0
- package/dist/{chunk-W2KMU354.cjs → chunk-PUSD37LD.cjs} +18 -4
- package/dist/chunk-PUSD37LD.cjs.map +1 -0
- package/dist/chunk-Q6SVIZLX.js +786 -0
- package/dist/chunk-Q6SVIZLX.js.map +1 -0
- package/dist/chunk-QNVYGEJ4.js +204 -0
- package/dist/chunk-QNVYGEJ4.js.map +1 -0
- package/dist/chunk-R56K77E2.cjs +810 -0
- package/dist/chunk-R56K77E2.cjs.map +1 -0
- package/dist/chunk-S3TIWWQL.cjs +322 -0
- package/dist/chunk-S3TIWWQL.cjs.map +1 -0
- package/dist/chunk-SXVANU23.js +164 -0
- package/dist/chunk-SXVANU23.js.map +1 -0
- package/dist/chunk-TYZ6ZISQ.cjs +368 -0
- package/dist/chunk-TYZ6ZISQ.cjs.map +1 -0
- package/dist/chunk-US6Y5RLR.cjs +205 -0
- package/dist/chunk-US6Y5RLR.cjs.map +1 -0
- package/dist/chunk-UTIOKR5C.js +887 -0
- package/dist/chunk-UTIOKR5C.js.map +1 -0
- package/dist/{chunk-QU6N55W6.cjs → chunk-V272B7RM.cjs} +11 -12
- package/dist/chunk-V272B7RM.cjs.map +1 -0
- package/dist/chunk-WE4USCF3.js +226 -0
- package/dist/chunk-WE4USCF3.js.map +1 -0
- package/dist/chunk-WVAQXM6W.cjs +1105 -0
- package/dist/chunk-WVAQXM6W.cjs.map +1 -0
- package/dist/chunk-X43DWDXB.cjs +346 -0
- package/dist/chunk-X43DWDXB.cjs.map +1 -0
- package/dist/chunk-X4QMPCTP.cjs +259 -0
- package/dist/chunk-X4QMPCTP.cjs.map +1 -0
- package/dist/{chunk-X6C7BUWN.cjs → chunk-XQPJ63ZD.cjs} +4 -4
- package/dist/{chunk-X6C7BUWN.cjs.map → chunk-XQPJ63ZD.cjs.map} +1 -1
- package/dist/chunk-XW2HXQDO.js +302 -0
- package/dist/chunk-XW2HXQDO.js.map +1 -0
- package/dist/chunk-XWGAT2DA.js +44 -0
- package/dist/chunk-XWGAT2DA.js.map +1 -0
- package/dist/{chunk-SHWNNZBL.js → chunk-YP34EWWK.js} +9 -10
- package/dist/chunk-YP34EWWK.js.map +1 -0
- package/dist/server/auth/defaults.d.ts +3 -0
- package/dist/server/auth/defaults.d.ts.map +1 -0
- package/dist/server/auth/helpers.d.ts +14 -0
- package/dist/server/auth/helpers.d.ts.map +1 -0
- package/dist/server/auth/index.cjs +137 -0
- package/dist/server/auth/index.cjs.map +1 -0
- package/dist/server/auth/index.d.ts +3 -0
- package/dist/server/auth/index.d.ts.map +1 -0
- package/dist/server/auth/index.js +127 -0
- package/dist/server/auth/index.js.map +1 -0
- package/dist/server/handlers/a2a.cjs +15 -7
- package/dist/server/handlers/a2a.d.ts +482 -0
- 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 +37 -37
- package/dist/server/handlers/agent-builder.d.ts +599 -77
- package/dist/server/handlers/agent-builder.d.ts.map +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +53 -37
- package/dist/server/handlers/agents.d.ts +3273 -128
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/logs.cjs +7 -7
- package/dist/server/handlers/logs.d.ts +135 -27
- package/dist/server/handlers/logs.d.ts.map +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp.cjs +40 -0
- package/dist/server/handlers/mcp.cjs.map +1 -0
- package/dist/server/handlers/mcp.d.ts +110 -0
- package/dist/server/handlers/mcp.d.ts.map +1 -0
- package/dist/server/handlers/mcp.js +3 -0
- package/dist/server/handlers/mcp.js.map +1 -0
- package/dist/server/handlers/memory.cjs +67 -27
- package/dist/server/handlers/memory.d.ts +933 -96
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +21 -5
- package/dist/server/handlers/observability.d.ts +119 -12
- package/dist/server/handlers/observability.d.ts.map +1 -1
- package/dist/server/handlers/observability.js +1 -1
- package/dist/server/handlers/scores.cjs +13 -13
- package/dist/server/handlers/scores.d.ts +110 -141
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +28 -0
- package/dist/server/handlers/stored-agents.cjs.map +1 -0
- package/dist/server/handlers/stored-agents.d.ts +289 -0
- package/dist/server/handlers/stored-agents.d.ts.map +1 -0
- package/dist/server/handlers/stored-agents.js +3 -0
- package/dist/server/handlers/stored-agents.js.map +1 -0
- package/dist/server/handlers/test-utils.cjs +15 -0
- package/dist/server/handlers/test-utils.cjs.map +1 -0
- package/dist/server/handlers/test-utils.d.ts +6 -0
- package/dist/server/handlers/test-utils.d.ts.map +1 -0
- package/dist/server/handlers/test-utils.js +13 -0
- package/dist/server/handlers/test-utils.js.map +1 -0
- package/dist/server/handlers/tools.cjs +11 -11
- package/dist/server/handlers/tools.d.ts +69 -23
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +11 -3
- package/dist/server/handlers/utils.d.ts +5 -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 +31 -7
- package/dist/server/handlers/vector.d.ts +93 -9
- package/dist/server/handlers/vector.d.ts.map +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +21 -9
- package/dist/server/handlers/voice.d.ts +81 -40
- package/dist/server/handlers/voice.d.ts.map +1 -1
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +69 -37
- package/dist/server/handlers/workflows.d.ts +927 -79
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +36 -31
- package/dist/server/handlers.d.ts +1 -0
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +12 -11
- package/dist/server/schemas/a2a.d.ts +786 -0
- package/dist/server/schemas/a2a.d.ts.map +1 -0
- package/dist/server/schemas/agent-builder.d.ts +204 -0
- package/dist/server/schemas/agent-builder.d.ts.map +1 -0
- package/dist/server/schemas/agents.d.ts +1375 -0
- package/dist/server/schemas/agents.d.ts.map +1 -0
- package/dist/server/schemas/common.d.ts +179 -0
- package/dist/server/schemas/common.d.ts.map +1 -0
- package/dist/server/schemas/logs.d.ts +124 -0
- package/dist/server/schemas/logs.d.ts.map +1 -0
- package/dist/server/schemas/mcp.d.ts +299 -0
- package/dist/server/schemas/mcp.d.ts.map +1 -0
- package/dist/server/schemas/memory.d.ts +998 -0
- package/dist/server/schemas/memory.d.ts.map +1 -0
- package/dist/server/schemas/observability.d.ts +402 -0
- package/dist/server/schemas/observability.d.ts.map +1 -0
- package/dist/server/schemas/scores.d.ts +259 -0
- package/dist/server/schemas/scores.d.ts.map +1 -0
- package/dist/server/schemas/stored-agents.d.ts +792 -0
- package/dist/server/schemas/stored-agents.d.ts.map +1 -0
- package/dist/server/schemas/vectors.d.ts +107 -0
- package/dist/server/schemas/vectors.d.ts.map +1 -0
- package/dist/server/schemas/workflows.d.ts +602 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +481 -0
- package/dist/server/server-adapter/index.cjs.map +1 -0
- package/dist/server/server-adapter/index.d.ts +91 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -0
- package/dist/server/server-adapter/index.js +466 -0
- package/dist/server/server-adapter/index.js.map +1 -0
- package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
- package/dist/server/server-adapter/redact.d.ts +26 -0
- package/dist/server/server-adapter/redact.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agents.d.ts +3 -0
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts +50 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
- package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/logs.d.ts +3 -0
- package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
- package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/memory.d.ts +3 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/observability.d.ts +3 -0
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
- package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
- package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/tools.d.ts +3 -0
- package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
- package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
- package/dist/server/utils.d.ts +1 -1
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/token-GVZ7HRD7.js +62 -0
- package/dist/{token-C3IMNCC4.js.map → token-GVZ7HRD7.js.map} +1 -1
- package/dist/{token-C3IMNCC4.js → token-JGA3ZWAN.js} +5 -6
- package/dist/token-JGA3ZWAN.js.map +1 -0
- package/dist/token-VFONFWVS.cjs +64 -0
- package/dist/{token-375W3LEI.cjs.map → token-VFONFWVS.cjs.map} +1 -1
- package/dist/{token-375W3LEI.cjs → token-ZOD6YIQ3.cjs} +7 -8
- package/dist/token-ZOD6YIQ3.cjs.map +1 -0
- package/dist/token-util-7R2ZFIXO.js +7 -0
- package/dist/{token-util-E5QO2RCL.js.map → token-util-7R2ZFIXO.js.map} +1 -1
- package/dist/token-util-BLJZJDBZ.cjs +9 -0
- package/dist/{token-util-CV3RRG6K.cjs.map → token-util-BLJZJDBZ.cjs.map} +1 -1
- package/dist/token-util-VGZUWSNR.cjs +9 -0
- package/dist/token-util-VGZUWSNR.cjs.map +1 -0
- package/dist/token-util-VKTPZLSE.js +7 -0
- package/dist/token-util-VKTPZLSE.js.map +1 -0
- package/package.json +30 -5
- package/dist/chunk-2IS5WICF.js +0 -23036
- package/dist/chunk-2IS5WICF.js.map +0 -1
- package/dist/chunk-2YZH5PH6.cjs +0 -200
- package/dist/chunk-2YZH5PH6.cjs.map +0 -1
- package/dist/chunk-3AMNUUZF.js +0 -124
- package/dist/chunk-3AMNUUZF.js.map +0 -1
- package/dist/chunk-3F52QCI4.js +0 -192
- package/dist/chunk-3F52QCI4.js.map +0 -1
- package/dist/chunk-4JF5WXPL.js +0 -502
- package/dist/chunk-4JF5WXPL.js.map +0 -1
- package/dist/chunk-73PAWDM5.js +0 -83
- package/dist/chunk-73PAWDM5.js.map +0 -1
- package/dist/chunk-A24TSVEZ.cjs +0 -130
- package/dist/chunk-A24TSVEZ.cjs.map +0 -1
- package/dist/chunk-A2NPD5N6.cjs +0 -517
- package/dist/chunk-A2NPD5N6.cjs.map +0 -1
- package/dist/chunk-B3Z6J745.js +0 -122
- package/dist/chunk-B3Z6J745.js.map +0 -1
- package/dist/chunk-BTWIR2B7.cjs +0 -28
- package/dist/chunk-BTWIR2B7.cjs.map +0 -1
- package/dist/chunk-D7T74TVR.js.map +0 -1
- package/dist/chunk-EHACNWDL.cjs +0 -681
- package/dist/chunk-EHACNWDL.cjs.map +0 -1
- package/dist/chunk-FPBYKMIS.js.map +0 -1
- package/dist/chunk-GLAZTMX3.cjs +0 -128
- package/dist/chunk-GLAZTMX3.cjs.map +0 -1
- package/dist/chunk-ID6JYDNL.cjs +0 -23075
- package/dist/chunk-ID6JYDNL.cjs.map +0 -1
- package/dist/chunk-KF3RI45U.cjs +0 -172
- package/dist/chunk-KF3RI45U.cjs.map +0 -1
- package/dist/chunk-KJIDZQRA.cjs.map +0 -1
- package/dist/chunk-KWH5QBXP.js +0 -123
- package/dist/chunk-KWH5QBXP.js.map +0 -1
- package/dist/chunk-ND5OKOMT.js +0 -165
- package/dist/chunk-ND5OKOMT.js.map +0 -1
- package/dist/chunk-PPMIB3FQ.cjs +0 -88
- package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
- package/dist/chunk-QU6N55W6.cjs.map +0 -1
- package/dist/chunk-S54HNARD.cjs +0 -131
- package/dist/chunk-S54HNARD.cjs.map +0 -1
- package/dist/chunk-SHWNNZBL.js.map +0 -1
- package/dist/chunk-SZIFSF4T.js +0 -25
- package/dist/chunk-SZIFSF4T.js.map +0 -1
- package/dist/chunk-W2KMU354.cjs.map +0 -1
- package/dist/chunk-X3MICMI2.cjs +0 -620
- package/dist/chunk-X3MICMI2.cjs.map +0 -1
- package/dist/chunk-Z2O5YVHY.js +0 -661
- package/dist/chunk-Z2O5YVHY.js.map +0 -1
- package/dist/chunk-ZJ6KEY6H.js +0 -600
- package/dist/chunk-ZJ6KEY6H.js.map +0 -1
- package/dist/token-util-CV3RRG6K.cjs +0 -9
- package/dist/token-util-E5QO2RCL.js +0 -7
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { createPagePaginationSchema, paginationInfoSchema } from './chunk-HT4LP3BO.js';
|
|
2
|
+
import { createRoute } from './chunk-SXVANU23.js';
|
|
3
|
+
import { handleError } from './chunk-UXGQZUYZ.js';
|
|
4
|
+
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
5
|
+
import z from 'zod';
|
|
6
|
+
|
|
7
|
+
var storedAgentIdPathParams = z.object({
|
|
8
|
+
storedAgentId: z.string().describe("Unique identifier for the stored agent")
|
|
9
|
+
});
|
|
10
|
+
var storageOrderBySchema = z.object({
|
|
11
|
+
field: z.enum(["createdAt", "updatedAt"]).optional(),
|
|
12
|
+
direction: z.enum(["ASC", "DESC"]).optional()
|
|
13
|
+
});
|
|
14
|
+
var listStoredAgentsQuerySchema = createPagePaginationSchema(100).extend({
|
|
15
|
+
orderBy: storageOrderBySchema.optional()
|
|
16
|
+
});
|
|
17
|
+
var scorerConfigSchema = z.object({
|
|
18
|
+
sampling: z.object({
|
|
19
|
+
type: z.enum(["ratio", "count"]),
|
|
20
|
+
rate: z.number().optional(),
|
|
21
|
+
count: z.number().optional()
|
|
22
|
+
}).optional()
|
|
23
|
+
});
|
|
24
|
+
var storedAgentBaseSchema = z.object({
|
|
25
|
+
name: z.string().describe("Name of the agent"),
|
|
26
|
+
description: z.string().optional().describe("Description of the agent"),
|
|
27
|
+
instructions: z.string().describe("System instructions for the agent"),
|
|
28
|
+
model: z.record(z.string(), z.unknown()).describe("Model configuration (provider, name, etc.)"),
|
|
29
|
+
tools: z.array(z.string()).optional().describe("Array of tool keys to resolve from Mastra registry"),
|
|
30
|
+
defaultOptions: z.record(z.string(), z.unknown()).optional().describe("Default options for generate/stream calls"),
|
|
31
|
+
workflows: z.array(z.string()).optional().describe("Array of workflow keys to resolve from Mastra registry"),
|
|
32
|
+
agents: z.array(z.string()).optional().describe("Array of agent keys to resolve from Mastra registry"),
|
|
33
|
+
inputProcessors: z.array(z.record(z.string(), z.unknown())).optional().describe("Input processor configurations"),
|
|
34
|
+
outputProcessors: z.array(z.record(z.string(), z.unknown())).optional().describe("Output processor configurations"),
|
|
35
|
+
memory: z.string().optional().describe("Memory key to resolve from Mastra registry"),
|
|
36
|
+
scorers: z.record(z.string(), scorerConfigSchema).optional().describe("Scorer keys with optional sampling config"),
|
|
37
|
+
metadata: z.record(z.string(), z.unknown()).optional().describe("Additional metadata for the agent")
|
|
38
|
+
});
|
|
39
|
+
var createStoredAgentBodySchema = storedAgentBaseSchema.extend({
|
|
40
|
+
id: z.string().describe("Unique identifier for the agent")
|
|
41
|
+
});
|
|
42
|
+
var updateStoredAgentBodySchema = storedAgentBaseSchema.partial();
|
|
43
|
+
var storedAgentSchema = storedAgentBaseSchema.extend({
|
|
44
|
+
id: z.string(),
|
|
45
|
+
createdAt: z.date(),
|
|
46
|
+
updatedAt: z.date()
|
|
47
|
+
});
|
|
48
|
+
var listStoredAgentsResponseSchema = paginationInfoSchema.extend({
|
|
49
|
+
agents: z.array(storedAgentSchema)
|
|
50
|
+
});
|
|
51
|
+
var getStoredAgentResponseSchema = storedAgentSchema;
|
|
52
|
+
var createStoredAgentResponseSchema = storedAgentSchema;
|
|
53
|
+
var updateStoredAgentResponseSchema = storedAgentSchema;
|
|
54
|
+
var deleteStoredAgentResponseSchema = z.object({
|
|
55
|
+
success: z.boolean(),
|
|
56
|
+
message: z.string()
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// src/server/handlers/stored-agents.ts
|
|
60
|
+
var LIST_STORED_AGENTS_ROUTE = createRoute({
|
|
61
|
+
method: "GET",
|
|
62
|
+
path: "/api/stored/agents",
|
|
63
|
+
responseType: "json",
|
|
64
|
+
queryParamSchema: listStoredAgentsQuerySchema,
|
|
65
|
+
responseSchema: listStoredAgentsResponseSchema,
|
|
66
|
+
summary: "List stored agents",
|
|
67
|
+
description: "Returns a paginated list of all agents stored in the database",
|
|
68
|
+
tags: ["Stored Agents"],
|
|
69
|
+
handler: async ({ mastra, page, perPage, orderBy }) => {
|
|
70
|
+
try {
|
|
71
|
+
const storage = mastra.getStorage();
|
|
72
|
+
if (!storage) {
|
|
73
|
+
throw new HTTPException(400, { message: "Storage is not configured" });
|
|
74
|
+
}
|
|
75
|
+
if (!storage.supports.agents) {
|
|
76
|
+
throw new HTTPException(400, { message: "Storage does not support agents" });
|
|
77
|
+
}
|
|
78
|
+
const result = await storage.listAgents({
|
|
79
|
+
page,
|
|
80
|
+
perPage,
|
|
81
|
+
orderBy
|
|
82
|
+
});
|
|
83
|
+
return result;
|
|
84
|
+
} catch (error) {
|
|
85
|
+
return handleError(error, "Error listing stored agents");
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
var GET_STORED_AGENT_ROUTE = createRoute({
|
|
90
|
+
method: "GET",
|
|
91
|
+
path: "/api/stored/agents/:storedAgentId",
|
|
92
|
+
responseType: "json",
|
|
93
|
+
pathParamSchema: storedAgentIdPathParams,
|
|
94
|
+
responseSchema: getStoredAgentResponseSchema,
|
|
95
|
+
summary: "Get stored agent by ID",
|
|
96
|
+
description: "Returns a specific agent from storage by its unique identifier",
|
|
97
|
+
tags: ["Stored Agents"],
|
|
98
|
+
handler: async ({ mastra, storedAgentId }) => {
|
|
99
|
+
try {
|
|
100
|
+
const storage = mastra.getStorage();
|
|
101
|
+
if (!storage) {
|
|
102
|
+
throw new HTTPException(400, { message: "Storage is not configured" });
|
|
103
|
+
}
|
|
104
|
+
if (!storage.supports.agents) {
|
|
105
|
+
throw new HTTPException(400, { message: "Storage does not support agents" });
|
|
106
|
+
}
|
|
107
|
+
const agent = await storage.getAgentById({ id: storedAgentId });
|
|
108
|
+
if (!agent) {
|
|
109
|
+
throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
110
|
+
}
|
|
111
|
+
return agent;
|
|
112
|
+
} catch (error) {
|
|
113
|
+
return handleError(error, "Error getting stored agent");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
var CREATE_STORED_AGENT_ROUTE = createRoute({
|
|
118
|
+
method: "POST",
|
|
119
|
+
path: "/api/stored/agents",
|
|
120
|
+
responseType: "json",
|
|
121
|
+
bodySchema: createStoredAgentBodySchema,
|
|
122
|
+
responseSchema: createStoredAgentResponseSchema,
|
|
123
|
+
summary: "Create stored agent",
|
|
124
|
+
description: "Creates a new agent in storage with the provided configuration",
|
|
125
|
+
tags: ["Stored Agents"],
|
|
126
|
+
handler: async ({
|
|
127
|
+
mastra,
|
|
128
|
+
id,
|
|
129
|
+
name,
|
|
130
|
+
description,
|
|
131
|
+
instructions,
|
|
132
|
+
model,
|
|
133
|
+
tools,
|
|
134
|
+
defaultOptions,
|
|
135
|
+
workflows,
|
|
136
|
+
agents,
|
|
137
|
+
inputProcessors,
|
|
138
|
+
outputProcessors,
|
|
139
|
+
memory,
|
|
140
|
+
scorers,
|
|
141
|
+
metadata
|
|
142
|
+
}) => {
|
|
143
|
+
try {
|
|
144
|
+
const storage = mastra.getStorage();
|
|
145
|
+
if (!storage) {
|
|
146
|
+
throw new HTTPException(400, { message: "Storage is not configured" });
|
|
147
|
+
}
|
|
148
|
+
if (!storage.supports.agents) {
|
|
149
|
+
throw new HTTPException(400, { message: "Storage does not support agents" });
|
|
150
|
+
}
|
|
151
|
+
const existing = await storage.getAgentById({ id });
|
|
152
|
+
if (existing) {
|
|
153
|
+
throw new HTTPException(409, { message: `Agent with id ${id} already exists` });
|
|
154
|
+
}
|
|
155
|
+
const toolsFromBody = Array.isArray(tools) ? tools : void 0;
|
|
156
|
+
const agent = await storage.createAgent({
|
|
157
|
+
agent: {
|
|
158
|
+
id,
|
|
159
|
+
name,
|
|
160
|
+
description,
|
|
161
|
+
instructions,
|
|
162
|
+
model,
|
|
163
|
+
tools: toolsFromBody,
|
|
164
|
+
defaultOptions,
|
|
165
|
+
workflows,
|
|
166
|
+
agents,
|
|
167
|
+
inputProcessors,
|
|
168
|
+
outputProcessors,
|
|
169
|
+
memory,
|
|
170
|
+
scorers,
|
|
171
|
+
metadata
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
return agent;
|
|
175
|
+
} catch (error) {
|
|
176
|
+
return handleError(error, "Error creating stored agent");
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
var UPDATE_STORED_AGENT_ROUTE = createRoute({
|
|
181
|
+
method: "PATCH",
|
|
182
|
+
path: "/api/stored/agents/:storedAgentId",
|
|
183
|
+
responseType: "json",
|
|
184
|
+
pathParamSchema: storedAgentIdPathParams,
|
|
185
|
+
bodySchema: updateStoredAgentBodySchema,
|
|
186
|
+
responseSchema: updateStoredAgentResponseSchema,
|
|
187
|
+
summary: "Update stored agent",
|
|
188
|
+
description: "Updates an existing agent in storage with the provided fields",
|
|
189
|
+
tags: ["Stored Agents"],
|
|
190
|
+
handler: async ({
|
|
191
|
+
mastra,
|
|
192
|
+
storedAgentId,
|
|
193
|
+
name,
|
|
194
|
+
description,
|
|
195
|
+
instructions,
|
|
196
|
+
model,
|
|
197
|
+
tools,
|
|
198
|
+
defaultOptions,
|
|
199
|
+
workflows,
|
|
200
|
+
agents,
|
|
201
|
+
inputProcessors,
|
|
202
|
+
outputProcessors,
|
|
203
|
+
memory,
|
|
204
|
+
scorers,
|
|
205
|
+
metadata
|
|
206
|
+
}) => {
|
|
207
|
+
try {
|
|
208
|
+
const storage = mastra.getStorage();
|
|
209
|
+
if (!storage) {
|
|
210
|
+
throw new HTTPException(400, { message: "Storage is not configured" });
|
|
211
|
+
}
|
|
212
|
+
if (!storage.supports.agents) {
|
|
213
|
+
throw new HTTPException(400, { message: "Storage does not support agents" });
|
|
214
|
+
}
|
|
215
|
+
const existing = await storage.getAgentById({ id: storedAgentId });
|
|
216
|
+
if (!existing) {
|
|
217
|
+
throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
218
|
+
}
|
|
219
|
+
const toolsFromBody = Array.isArray(tools) ? tools : void 0;
|
|
220
|
+
const agent = await storage.updateAgent({
|
|
221
|
+
id: storedAgentId,
|
|
222
|
+
name,
|
|
223
|
+
description,
|
|
224
|
+
instructions,
|
|
225
|
+
model,
|
|
226
|
+
tools: toolsFromBody,
|
|
227
|
+
defaultOptions,
|
|
228
|
+
workflows,
|
|
229
|
+
agents,
|
|
230
|
+
inputProcessors,
|
|
231
|
+
outputProcessors,
|
|
232
|
+
memory,
|
|
233
|
+
scorers,
|
|
234
|
+
metadata
|
|
235
|
+
});
|
|
236
|
+
return agent;
|
|
237
|
+
} catch (error) {
|
|
238
|
+
return handleError(error, "Error updating stored agent");
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
var DELETE_STORED_AGENT_ROUTE = createRoute({
|
|
243
|
+
method: "DELETE",
|
|
244
|
+
path: "/api/stored/agents/:storedAgentId",
|
|
245
|
+
responseType: "json",
|
|
246
|
+
pathParamSchema: storedAgentIdPathParams,
|
|
247
|
+
responseSchema: deleteStoredAgentResponseSchema,
|
|
248
|
+
summary: "Delete stored agent",
|
|
249
|
+
description: "Deletes an agent from storage by its unique identifier",
|
|
250
|
+
tags: ["Stored Agents"],
|
|
251
|
+
handler: async ({ mastra, storedAgentId }) => {
|
|
252
|
+
try {
|
|
253
|
+
const storage = mastra.getStorage();
|
|
254
|
+
if (!storage) {
|
|
255
|
+
throw new HTTPException(400, { message: "Storage is not configured" });
|
|
256
|
+
}
|
|
257
|
+
if (!storage.supports.agents) {
|
|
258
|
+
throw new HTTPException(400, { message: "Storage does not support agents" });
|
|
259
|
+
}
|
|
260
|
+
const existing = await storage.getAgentById({ id: storedAgentId });
|
|
261
|
+
if (!existing) {
|
|
262
|
+
throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });
|
|
263
|
+
}
|
|
264
|
+
await storage.deleteAgent({ id: storedAgentId });
|
|
265
|
+
return { success: true, message: `Agent ${storedAgentId} deleted successfully` };
|
|
266
|
+
} catch (error) {
|
|
267
|
+
return handleError(error, "Error deleting stored agent");
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
export { CREATE_STORED_AGENT_ROUTE, DELETE_STORED_AGENT_ROUTE, GET_STORED_AGENT_ROUTE, LIST_STORED_AGENTS_ROUTE, UPDATE_STORED_AGENT_ROUTE };
|
|
273
|
+
//# sourceMappingURL=chunk-HAJOEDNB.js.map
|
|
274
|
+
//# sourceMappingURL=chunk-HAJOEDNB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/stored-agents.ts","../src/server/handlers/stored-agents.ts"],"names":[],"mappings":"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","file":"chunk-HAJOEDNB.js","sourcesContent":["import z from 'zod';\nimport { paginationInfoSchema, createPagePaginationSchema } from './common';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\n/**\n * Path parameter for stored agent ID\n */\nexport const storedAgentIdPathParams = z.object({\n storedAgentId: z.string().describe('Unique identifier for the stored agent'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\n/**\n * Storage order by configuration\n */\nconst storageOrderBySchema = z.object({\n field: z.enum(['createdAt', 'updatedAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n});\n\n/**\n * GET /api/storage/agents - List stored agents\n */\nexport const listStoredAgentsQuerySchema = createPagePaginationSchema(100).extend({\n orderBy: storageOrderBySchema.optional(),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\n/**\n * Scorer config schema with optional sampling\n */\nconst scorerConfigSchema = z.object({\n sampling: z\n .object({\n type: z.enum(['ratio', 'count']),\n rate: z.number().optional(),\n count: z.number().optional(),\n })\n .optional(),\n});\n\n/**\n * Base stored agent schema (shared fields)\n */\nconst storedAgentBaseSchema = z.object({\n name: z.string().describe('Name of the agent'),\n description: z.string().optional().describe('Description of the agent'),\n instructions: z.string().describe('System instructions for the agent'),\n model: z.record(z.string(), z.unknown()).describe('Model configuration (provider, name, etc.)'),\n tools: z.array(z.string()).optional().describe('Array of tool keys to resolve from Mastra registry'),\n defaultOptions: z.record(z.string(), z.unknown()).optional().describe('Default options for generate/stream calls'),\n workflows: z.array(z.string()).optional().describe('Array of workflow keys to resolve from Mastra registry'),\n agents: z.array(z.string()).optional().describe('Array of agent keys to resolve from Mastra registry'),\n inputProcessors: z.array(z.record(z.string(), z.unknown())).optional().describe('Input processor configurations'),\n outputProcessors: z.array(z.record(z.string(), z.unknown())).optional().describe('Output processor configurations'),\n memory: z.string().optional().describe('Memory key to resolve from Mastra registry'),\n scorers: z.record(z.string(), scorerConfigSchema).optional().describe('Scorer keys with optional sampling config'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata for the agent'),\n});\n\n/**\n * POST /api/storage/agents - Create stored agent body\n */\nexport const createStoredAgentBodySchema = storedAgentBaseSchema.extend({\n id: z.string().describe('Unique identifier for the agent'),\n});\n\n/**\n * PATCH /api/storage/agents/:storedAgentId - Update stored agent body\n */\nexport const updateStoredAgentBodySchema = storedAgentBaseSchema.partial();\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/**\n * Stored agent object schema (full response)\n */\nexport const storedAgentSchema = storedAgentBaseSchema.extend({\n id: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n});\n\n/**\n * Response for GET /api/storage/agents\n */\nexport const listStoredAgentsResponseSchema = paginationInfoSchema.extend({\n agents: z.array(storedAgentSchema),\n});\n\n/**\n * Response for GET /api/storage/agents/:storedAgentId\n */\nexport const getStoredAgentResponseSchema = storedAgentSchema;\n\n/**\n * Response for POST /api/storage/agents\n */\nexport const createStoredAgentResponseSchema = storedAgentSchema;\n\n/**\n * Response for PATCH /api/storage/agents/:storedAgentId\n */\nexport const updateStoredAgentResponseSchema = storedAgentSchema;\n\n/**\n * Response for DELETE /api/storage/agents/:storedAgentId\n */\nexport const deleteStoredAgentResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n});\n","import { HTTPException } from '../http-exception';\nimport {\n storedAgentIdPathParams,\n listStoredAgentsQuerySchema,\n createStoredAgentBodySchema,\n updateStoredAgentBodySchema,\n listStoredAgentsResponseSchema,\n getStoredAgentResponseSchema,\n createStoredAgentResponseSchema,\n updateStoredAgentResponseSchema,\n deleteStoredAgentResponseSchema,\n} from '../schemas/stored-agents';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /api/stored/agents - List all stored agents\n */\nexport const LIST_STORED_AGENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/stored/agents',\n responseType: 'json',\n queryParamSchema: listStoredAgentsQuerySchema,\n responseSchema: listStoredAgentsResponseSchema,\n summary: 'List stored agents',\n description: 'Returns a paginated list of all agents stored in the database',\n tags: ['Stored Agents'],\n handler: async ({ mastra, page, perPage, orderBy }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(400, { message: 'Storage is not configured' });\n }\n\n if (!storage.supports.agents) {\n throw new HTTPException(400, { message: 'Storage does not support agents' });\n }\n\n const result = await storage.listAgents({\n page,\n perPage,\n orderBy,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing stored agents');\n }\n },\n});\n\n/**\n * GET /api/stored/agents/:storedAgentId - Get a stored agent by ID\n */\nexport const GET_STORED_AGENT_ROUTE = createRoute({\n method: 'GET',\n path: '/api/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n responseSchema: getStoredAgentResponseSchema,\n summary: 'Get stored agent by ID',\n description: 'Returns a specific agent from storage by its unique identifier',\n tags: ['Stored Agents'],\n handler: async ({ mastra, storedAgentId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(400, { message: 'Storage is not configured' });\n }\n\n if (!storage.supports.agents) {\n throw new HTTPException(400, { message: 'Storage does not support agents' });\n }\n\n const agent = await storage.getAgentById({ id: storedAgentId });\n\n if (!agent) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n\n return agent;\n } catch (error) {\n return handleError(error, 'Error getting stored agent');\n }\n },\n});\n\n/**\n * POST /api/stored/agents - Create a new stored agent\n */\nexport const CREATE_STORED_AGENT_ROUTE = createRoute({\n method: 'POST',\n path: '/api/stored/agents',\n responseType: 'json',\n bodySchema: createStoredAgentBodySchema,\n responseSchema: createStoredAgentResponseSchema,\n summary: 'Create stored agent',\n description: 'Creates a new agent in storage with the provided configuration',\n tags: ['Stored Agents'],\n handler: async ({\n mastra,\n id,\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(400, { message: 'Storage is not configured' });\n }\n\n if (!storage.supports.agents) {\n throw new HTTPException(400, { message: 'Storage does not support agents' });\n }\n\n // Check if agent with this ID already exists\n const existing = await storage.getAgentById({ id });\n if (existing) {\n throw new HTTPException(409, { message: `Agent with id ${id} already exists` });\n }\n\n // Only include tools if it's actually an array from the body (not {} from adapter)\n const toolsFromBody = Array.isArray(tools) ? tools : undefined;\n\n const agent = await storage.createAgent({\n agent: {\n id,\n name,\n description,\n instructions,\n model,\n tools: toolsFromBody,\n defaultOptions,\n workflows,\n agents,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n },\n });\n\n return agent;\n } catch (error) {\n return handleError(error, 'Error creating stored agent');\n }\n },\n});\n\n/**\n * PATCH /api/stored/agents/:storedAgentId - Update a stored agent\n */\nexport const UPDATE_STORED_AGENT_ROUTE = createRoute({\n method: 'PATCH',\n path: '/api/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n bodySchema: updateStoredAgentBodySchema,\n responseSchema: updateStoredAgentResponseSchema,\n summary: 'Update stored agent',\n description: 'Updates an existing agent in storage with the provided fields',\n tags: ['Stored Agents'],\n handler: async ({\n mastra,\n storedAgentId,\n name,\n description,\n instructions,\n model,\n tools,\n defaultOptions,\n workflows,\n agents,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(400, { message: 'Storage is not configured' });\n }\n\n if (!storage.supports.agents) {\n throw new HTTPException(400, { message: 'Storage does not support agents' });\n }\n\n // Check if agent exists\n const existing = await storage.getAgentById({ id: storedAgentId });\n if (!existing) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n\n // Only include tools if it's actually an array from the body (not {} from adapter)\n const toolsFromBody = Array.isArray(tools) ? tools : undefined;\n\n const agent = await storage.updateAgent({\n id: storedAgentId,\n name,\n description,\n instructions,\n model,\n tools: toolsFromBody,\n defaultOptions,\n workflows,\n agents,\n inputProcessors,\n outputProcessors,\n memory,\n scorers,\n metadata,\n });\n\n return agent;\n } catch (error) {\n return handleError(error, 'Error updating stored agent');\n }\n },\n});\n\n/**\n * DELETE /api/stored/agents/:storedAgentId - Delete a stored agent\n */\nexport const DELETE_STORED_AGENT_ROUTE = createRoute({\n method: 'DELETE',\n path: '/api/stored/agents/:storedAgentId',\n responseType: 'json',\n pathParamSchema: storedAgentIdPathParams,\n responseSchema: deleteStoredAgentResponseSchema,\n summary: 'Delete stored agent',\n description: 'Deletes an agent from storage by its unique identifier',\n tags: ['Stored Agents'],\n handler: async ({ mastra, storedAgentId }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(400, { message: 'Storage is not configured' });\n }\n\n if (!storage.supports.agents) {\n throw new HTTPException(400, { message: 'Storage does not support agents' });\n }\n\n // Check if agent exists\n const existing = await storage.getAgentById({ id: storedAgentId });\n if (!existing) {\n throw new HTTPException(404, { message: `Stored agent with id ${storedAgentId} not found` });\n }\n\n await storage.deleteAgent({ id: storedAgentId });\n\n return { success: true, message: `Agent ${storedAgentId} deleted successfully` };\n } catch (error) {\n return handleError(error, 'Error deleting stored agent');\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
|
|
3
|
+
// src/server/schemas/common.ts
|
|
4
|
+
var runIdSchema = z.object({
|
|
5
|
+
runId: z.string().describe("Unique identifier for the run")
|
|
6
|
+
});
|
|
7
|
+
var optionalRunIdSchema = z.object({
|
|
8
|
+
runId: z.string().optional()
|
|
9
|
+
});
|
|
10
|
+
var paginationInfoSchema = z.object({
|
|
11
|
+
total: z.number(),
|
|
12
|
+
page: z.number(),
|
|
13
|
+
perPage: z.union([z.number(), z.literal(false)]),
|
|
14
|
+
hasMore: z.boolean()
|
|
15
|
+
});
|
|
16
|
+
var createPagePaginationSchema = (defaultPerPage) => {
|
|
17
|
+
const baseSchema = {
|
|
18
|
+
page: z.coerce.number().optional().default(0)
|
|
19
|
+
};
|
|
20
|
+
if (defaultPerPage !== void 0) {
|
|
21
|
+
return z.object({
|
|
22
|
+
...baseSchema,
|
|
23
|
+
perPage: z.coerce.number().optional().default(defaultPerPage)
|
|
24
|
+
});
|
|
25
|
+
} else {
|
|
26
|
+
return z.object({
|
|
27
|
+
...baseSchema,
|
|
28
|
+
perPage: z.coerce.number().optional()
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var createCombinedPaginationSchema = () => {
|
|
33
|
+
return z.object({
|
|
34
|
+
page: z.coerce.number().optional(),
|
|
35
|
+
perPage: z.coerce.number().optional(),
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Use page and perPage instead
|
|
38
|
+
*/
|
|
39
|
+
offset: z.coerce.number().optional(),
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated Use page and perPage instead
|
|
42
|
+
*/
|
|
43
|
+
limit: z.coerce.number().optional()
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
var tracingOptionsSchema = z.object({
|
|
47
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
48
|
+
requestContextKeys: z.array(z.string()).optional(),
|
|
49
|
+
traceId: z.string().optional(),
|
|
50
|
+
parentSpanId: z.string().optional()
|
|
51
|
+
});
|
|
52
|
+
var coreMessageSchema = z.any();
|
|
53
|
+
var successResponseSchema = z.object({
|
|
54
|
+
success: z.boolean()
|
|
55
|
+
});
|
|
56
|
+
var messageResponseSchema = z.object({
|
|
57
|
+
message: z.string()
|
|
58
|
+
});
|
|
59
|
+
z.object({
|
|
60
|
+
partial: z.string().optional()
|
|
61
|
+
});
|
|
62
|
+
var baseLogMessageSchema = z.object({
|
|
63
|
+
level: z.enum(["debug", "info", "warn", "error", "silent"]),
|
|
64
|
+
msg: z.string(),
|
|
65
|
+
time: z.date(),
|
|
66
|
+
context: z.record(z.string(), z.unknown()).optional(),
|
|
67
|
+
runId: z.string().optional(),
|
|
68
|
+
pid: z.number(),
|
|
69
|
+
hostname: z.string(),
|
|
70
|
+
name: z.string()
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export { baseLogMessageSchema, coreMessageSchema, createCombinedPaginationSchema, createPagePaginationSchema, messageResponseSchema, optionalRunIdSchema, paginationInfoSchema, runIdSchema, successResponseSchema, tracingOptionsSchema };
|
|
74
|
+
//# sourceMappingURL=chunk-HT4LP3BO.js.map
|
|
75
|
+
//# sourceMappingURL=chunk-HT4LP3BO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/common.ts"],"names":[],"mappings":"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","file":"chunk-HT4LP3BO.js","sourcesContent":["import z from 'zod';\n\n// Path parameter schemas\nexport const runIdSchema = z.object({\n runId: z.string().describe('Unique identifier for the run'),\n});\n\n/**\n * Query parameter schema for runId (optional)\n * Used by create-run route where runId is optional\n */\nexport const optionalRunIdSchema = z.object({\n runId: z.string().optional(),\n});\n\n// ============================================================================\n// Pagination Schemas\n// ============================================================================\n\n/**\n * Pagination response info\n * Used across all paginated endpoints\n */\nexport const paginationInfoSchema = z.object({\n total: z.number(),\n page: z.number(),\n perPage: z.union([z.number(), z.literal(false)]),\n hasMore: z.boolean(),\n});\n\n/**\n * Factory function for page/perPage pagination query params\n * @param defaultPerPage - Default value for perPage (omit for no default)\n */\nexport const createPagePaginationSchema = (defaultPerPage?: number) => {\n const baseSchema = {\n page: z.coerce.number().optional().default(0),\n };\n\n if (defaultPerPage !== undefined) {\n return z.object({\n ...baseSchema,\n perPage: z.coerce.number().optional().default(defaultPerPage),\n });\n } else {\n return z.object({\n ...baseSchema,\n perPage: z.coerce.number().optional(),\n });\n }\n};\n\n/**\n * Factory function for pagination that supports both page/perPage and limit/offset\n * Use this when you need backwards compatibility with older clients using limit/offset\n */\nexport const createCombinedPaginationSchema = () => {\n return z.object({\n page: z.coerce.number().optional(),\n perPage: z.coerce.number().optional(),\n /**\n * @deprecated Use page and perPage instead\n */\n offset: z.coerce.number().optional(),\n /**\n * @deprecated Use page and perPage instead\n */\n limit: z.coerce.number().optional(),\n });\n};\n\n// ============================================================================\n// Observability Schemas\n// ============================================================================\n\n/**\n * Tracing options for observability\n * Used by agents and workflows\n */\nexport const tracingOptionsSchema = z.object({\n metadata: z.record(z.string(), z.unknown()).optional(),\n requestContextKeys: z.array(z.string()).optional(),\n traceId: z.string().optional(),\n parentSpanId: z.string().optional(),\n});\n\n// ============================================================================\n// Message Schemas\n// ============================================================================\n\n/**\n * Core message schema from AI SDK\n * Represents messages exchanged with AI models\n * Content can be string, array of content parts, or object (for complex message types)\n */\nexport const coreMessageSchema = z.any();\n// .object({\n// role: z.enum(['system', 'user', 'assistant', 'tool']),\n// content: z.union([\n// z.string(),\n// z.array(\n// z\n// .object({\n// type: z.enum(['text', 'image', 'file', 'tool-call', 'tool-result']),\n// })\n// .passthrough(), // Preserve additional fields like text, image, toolCall, etc.\n// ),\n// z.any(), // For complex message content objects\n// ]),\n// })\n// .passthrough();\n\n// ============================================================================\n// Common Response Schemas\n// ============================================================================\n\n/**\n * Standard success response schema\n * Used by operations that return only a success boolean\n */\nexport const successResponseSchema = z.object({\n success: z.boolean(),\n});\n\n/**\n * Standard message response schema\n * Used by operations that return only a message string\n */\nexport const messageResponseSchema = z.object({\n message: z.string(),\n});\n\n/**\n * Partial data query parameter schema\n * Used by list endpoints to return minimal data without schemas\n */\nexport const partialQuerySchema = z.object({\n partial: z.string().optional(),\n});\n\n// ============================================================================\n// Logging Schemas\n// ============================================================================\n\n/**\n * Base log message schema\n */\nexport const baseLogMessageSchema = z.object({\n level: z.enum(['debug', 'info', 'warn', 'error', 'silent']),\n msg: z.string(),\n time: z.date(),\n context: z.record(z.string(), z.unknown()).optional(),\n runId: z.string().optional(),\n pid: z.number(),\n hostname: z.string(),\n name: z.string(),\n});\n"]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk5W4RPVTK_cjs = require('./chunk-5W4RPVTK.cjs');
|
|
4
|
+
var chunkMCYD5LW7_cjs = require('./chunk-MCYD5LW7.cjs');
|
|
5
|
+
var chunkH2RMXG2Q_cjs = require('./chunk-H2RMXG2Q.cjs');
|
|
6
|
+
var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
|
|
7
|
+
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
8
|
+
var z = require('zod');
|
|
9
|
+
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var z__default = /*#__PURE__*/_interopDefault(z);
|
|
13
|
+
|
|
14
|
+
// src/server/handlers/logs.ts
|
|
15
|
+
var logs_exports = {};
|
|
16
|
+
chunkO7I5CWRX_cjs.__export(logs_exports, {
|
|
17
|
+
LIST_LOGS_BY_RUN_ID_ROUTE: () => LIST_LOGS_BY_RUN_ID_ROUTE,
|
|
18
|
+
LIST_LOGS_ROUTE: () => LIST_LOGS_ROUTE,
|
|
19
|
+
LIST_LOG_TRANSPORTS_ROUTE: () => LIST_LOG_TRANSPORTS_ROUTE
|
|
20
|
+
});
|
|
21
|
+
var listLogsQuerySchema = chunkMCYD5LW7_cjs.createPagePaginationSchema().extend({
|
|
22
|
+
fromDate: z__default.default.coerce.date().optional(),
|
|
23
|
+
toDate: z__default.default.coerce.date().optional(),
|
|
24
|
+
logLevel: z__default.default.enum(["debug", "info", "warn", "error", "silent"]).optional(),
|
|
25
|
+
filters: z__default.default.union([z__default.default.string(), z__default.default.array(z__default.default.string())]).optional(),
|
|
26
|
+
transportId: z__default.default.string()
|
|
27
|
+
});
|
|
28
|
+
var listLogsResponseSchema = z__default.default.object({
|
|
29
|
+
logs: z__default.default.array(chunkMCYD5LW7_cjs.baseLogMessageSchema),
|
|
30
|
+
total: z__default.default.number(),
|
|
31
|
+
page: z__default.default.number(),
|
|
32
|
+
perPage: z__default.default.union([z__default.default.number(), z__default.default.literal(false)]),
|
|
33
|
+
hasMore: z__default.default.boolean()
|
|
34
|
+
});
|
|
35
|
+
var listLogTransportsResponseSchema = z__default.default.object({
|
|
36
|
+
transports: z__default.default.array(z__default.default.string())
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// src/server/handlers/logs.ts
|
|
40
|
+
var LIST_LOG_TRANSPORTS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
41
|
+
method: "GET",
|
|
42
|
+
path: "/api/logs/transports",
|
|
43
|
+
responseType: "json",
|
|
44
|
+
responseSchema: listLogTransportsResponseSchema,
|
|
45
|
+
summary: "List log transports",
|
|
46
|
+
description: "Returns a list of all available log transports",
|
|
47
|
+
tags: ["Logs"],
|
|
48
|
+
handler: async ({ mastra }) => {
|
|
49
|
+
try {
|
|
50
|
+
const logger = mastra.getLogger();
|
|
51
|
+
const transports = logger.getTransports();
|
|
52
|
+
return {
|
|
53
|
+
transports: transports ? [...transports.keys()] : []
|
|
54
|
+
};
|
|
55
|
+
} catch (error) {
|
|
56
|
+
return chunkV5WWQN7P_cjs.handleError(error, "Error getting log Transports");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var LIST_LOGS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
61
|
+
method: "GET",
|
|
62
|
+
path: "/api/logs",
|
|
63
|
+
responseType: "json",
|
|
64
|
+
queryParamSchema: listLogsQuerySchema,
|
|
65
|
+
responseSchema: listLogsResponseSchema,
|
|
66
|
+
summary: "List logs",
|
|
67
|
+
description: "Returns logs from a specific transport with optional filtering by date range, log level, and custom filters",
|
|
68
|
+
tags: ["Logs"],
|
|
69
|
+
handler: async ({ mastra, ...params }) => {
|
|
70
|
+
try {
|
|
71
|
+
const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;
|
|
72
|
+
chunk5W4RPVTK_cjs.validateBody({ transportId });
|
|
73
|
+
const filters = chunk5W4RPVTK_cjs.parseFilters(_filters);
|
|
74
|
+
const logs = await mastra.listLogs(transportId, {
|
|
75
|
+
fromDate,
|
|
76
|
+
toDate,
|
|
77
|
+
logLevel,
|
|
78
|
+
filters,
|
|
79
|
+
page: page ? Number(page) : void 0,
|
|
80
|
+
perPage: perPage ? Number(perPage) : void 0
|
|
81
|
+
});
|
|
82
|
+
return logs;
|
|
83
|
+
} catch (error) {
|
|
84
|
+
return chunkV5WWQN7P_cjs.handleError(error, "Error getting logs");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
var LIST_LOGS_BY_RUN_ID_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
|
|
89
|
+
method: "GET",
|
|
90
|
+
path: "/api/logs/:runId",
|
|
91
|
+
responseType: "json",
|
|
92
|
+
pathParamSchema: chunkMCYD5LW7_cjs.runIdSchema,
|
|
93
|
+
queryParamSchema: listLogsQuerySchema,
|
|
94
|
+
responseSchema: listLogsResponseSchema,
|
|
95
|
+
summary: "List logs by run ID",
|
|
96
|
+
description: "Returns all logs for a specific execution run from a transport",
|
|
97
|
+
tags: ["Logs"],
|
|
98
|
+
handler: async ({ mastra, runId, ...params }) => {
|
|
99
|
+
try {
|
|
100
|
+
const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;
|
|
101
|
+
chunk5W4RPVTK_cjs.validateBody({ runId, transportId });
|
|
102
|
+
const filters = chunk5W4RPVTK_cjs.parseFilters(_filters);
|
|
103
|
+
const logs = await mastra.listLogsByRunId({
|
|
104
|
+
runId,
|
|
105
|
+
transportId,
|
|
106
|
+
fromDate,
|
|
107
|
+
toDate,
|
|
108
|
+
logLevel,
|
|
109
|
+
filters,
|
|
110
|
+
page: page ? Number(page) : void 0,
|
|
111
|
+
perPage: perPage ? Number(perPage) : void 0
|
|
112
|
+
});
|
|
113
|
+
return logs;
|
|
114
|
+
} catch (error) {
|
|
115
|
+
return chunkV5WWQN7P_cjs.handleError(error, "Error getting logs by run ID");
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
exports.LIST_LOGS_BY_RUN_ID_ROUTE = LIST_LOGS_BY_RUN_ID_ROUTE;
|
|
121
|
+
exports.LIST_LOGS_ROUTE = LIST_LOGS_ROUTE;
|
|
122
|
+
exports.LIST_LOG_TRANSPORTS_ROUTE = LIST_LOG_TRANSPORTS_ROUTE;
|
|
123
|
+
exports.logs_exports = logs_exports;
|
|
124
|
+
//# sourceMappingURL=chunk-I6LR6CPC.cjs.map
|
|
125
|
+
//# sourceMappingURL=chunk-I6LR6CPC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/logs.ts","../src/server/schemas/logs.ts"],"names":["__export","createPagePaginationSchema","z","baseLogMessageSchema","createRoute","handleError","validateBody","parseFilters","runIdSchema"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,YAAA,GAAA;AAAAA,0BAAA,CAAA,YAAA,EAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,yBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;ACIO,IAAM,mBAAA,GAAsBC,4CAAA,EAA2B,CAAE,MAAA,CAAO;AAAA,EACrE,QAAA,EAAUC,kBAAA,CAAE,MAAA,CAAO,IAAA,GAAO,QAAA,EAAS;AAAA,EACnC,MAAA,EAAQA,kBAAA,CAAE,MAAA,CAAO,IAAA,GAAO,QAAA,EAAS;AAAA,EACjC,QAAA,EAAUA,kBAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,OAAA,EAAS,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACxE,OAAA,EAASA,kBAAA,CAAE,KAAA,CAAM,CAACA,mBAAE,MAAA,EAAO,EAAGA,kBAAA,CAAE,KAAA,CAAMA,mBAAE,MAAA,EAAQ,CAAC,CAAC,EAAE,QAAA,EAAS;AAAA,EAC7D,WAAA,EAAaA,mBAAE,MAAA;AACjB,CAAC,CAAA;AAGM,IAAM,sBAAA,GAAyBA,mBAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,kBAAA,CAAE,KAAA,CAAMC,sCAAoB,CAAA;AAAA,EAClC,KAAA,EAAOD,mBAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,mBAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,kBAAA,CAAE,KAAA,CAAM,CAACA,kBAAA,CAAE,MAAA,EAAO,EAAGA,kBAAA,CAAE,OAAA,CAAQ,KAAK,CAAC,CAAC,CAAA;AAAA,EAC/C,OAAA,EAASA,mBAAE,OAAA;AACb,CAAC,CAAA;AAEM,IAAM,+BAAA,GAAkCA,mBAAE,MAAA,CAAO;AAAA,EACtD,UAAA,EAAYA,kBAAA,CAAE,KAAA,CAAMA,kBAAA,CAAE,QAAQ;AAChC,CAAC,CAAA;;;ADbM,IAAM,4BAA4BE,6BAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,sBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,cAAA,EAAgB,+BAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,gDAAA;AAAA,EACb,IAAA,EAAM,CAAC,MAAM,CAAA;AAAA,EACb,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,MAAA,MAAM,UAAA,GAAa,OAAO,aAAA,EAAc;AAExC,MAAA,OAAO;AAAA,QACL,UAAA,EAAY,aAAa,CAAC,GAAG,WAAW,IAAA,EAAM,IAAI;AAAC,OACrD;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,IAC1D;AAAA,EACF;AACF,CAAC;AAEM,IAAM,kBAAkBD,6BAAA,CAAY;AAAA,EACzC,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,WAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkB,mBAAA;AAAA,EAClB,cAAA,EAAgB,sBAAA;AAAA,EAChB,OAAA,EAAS,WAAA;AAAA,EACT,WAAA,EACE,6GAAA;AAAA,EACF,IAAA,EAAM,CAAC,MAAM,CAAA;AAAA,EACb,SAAS,OAAO,EAAE,MAAA,EAAQ,GAAG,QAAO,KAAM;AACxC,IAAA,IAAI;AACF,MAAA,MAAM,EAAE,aAAa,QAAA,EAAU,MAAA,EAAQ,UAAU,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,OAAA,EAAQ,GAAI,MAAA;AAEtF,MAAAE,8BAAA,CAAa,EAAE,aAAa,CAAA;AAG5B,MAAA,MAAM,OAAA,GAAUC,+BAAa,QAAQ,CAAA;AAErC,MAAA,MAAM,IAAA,GAAO,MAAM,MAAA,CAAO,QAAA,CAAS,WAAA,EAAc;AAAA,QAC/C,QAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,IAAA,EAAM,IAAA,GAAO,MAAA,CAAO,IAAI,CAAA,GAAI,MAAA;AAAA,QAC5B,OAAA,EAAS,OAAA,GAAU,MAAA,CAAO,OAAO,CAAA,GAAI;AAAA,OACtC,CAAA;AACD,MAAA,OAAO,IAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOF,6BAAA,CAAY,OAAO,oBAAoB,CAAA;AAAA,IAChD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,4BAA4BD,6BAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,kBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,6BAAA;AAAA,EACjB,gBAAA,EAAkB,mBAAA;AAAA,EAClB,cAAA,EAAgB,sBAAA;AAAA,EAChB,OAAA,EAAS,qBAAA;AAAA,EACT,WAAA,EAAa,gEAAA;AAAA,EACb,IAAA,EAAM,CAAC,MAAM,CAAA;AAAA,EACb,SAAS,OAAO,EAAE,QAAQ,KAAA,EAAO,GAAG,QAAO,KAAM;AAC/C,IAAA,IAAI;AACF,MAAA,MAAM,EAAE,aAAa,QAAA,EAAU,MAAA,EAAQ,UAAU,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,OAAA,EAAQ,GAAI,MAAA;AAEtF,MAAAF,8BAAA,CAAa,EAAE,KAAA,EAAO,WAAA,EAAa,CAAA;AAGnC,MAAA,MAAM,OAAA,GAAUC,+BAAa,QAAQ,CAAA;AAErC,MAAA,MAAM,IAAA,GAAO,MAAM,MAAA,CAAO,eAAA,CAAgB;AAAA,QACxC,KAAA;AAAA,QACA,WAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,IAAA,EAAM,IAAA,GAAO,MAAA,CAAO,IAAI,CAAA,GAAI,MAAA;AAAA,QAC5B,OAAA,EAAS,OAAA,GAAU,MAAA,CAAO,OAAO,CAAA,GAAI;AAAA,OACtC,CAAA;AACD,MAAA,OAAO,IAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOF,6BAAA,CAAY,OAAO,8BAA8B,CAAA;AAAA,IAC1D;AAAA,EACF;AACF,CAAC","file":"chunk-I6LR6CPC.cjs","sourcesContent":["import { runIdSchema } from '../schemas/common';\nimport { listLogsQuerySchema, listLogsResponseSchema, listLogTransportsResponseSchema } from '../schemas/logs';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { parseFilters, validateBody } from './utils';\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_LOG_TRANSPORTS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/logs/transports',\n responseType: 'json',\n responseSchema: listLogTransportsResponseSchema,\n summary: 'List log transports',\n description: 'Returns a list of all available log transports',\n tags: ['Logs'],\n handler: async ({ 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});\n\nexport const LIST_LOGS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/logs',\n responseType: 'json',\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs',\n description:\n 'Returns logs from a specific transport with optional filtering by date range, log level, and custom filters',\n tags: ['Logs'],\n handler: async ({ mastra, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogs(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});\n\nexport const LIST_LOGS_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/logs/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs by run ID',\n description: 'Returns all logs for a specific execution run from a transport',\n tags: ['Logs'],\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ runId, transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogsByRunId({\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});\n","import z from 'zod';\nimport { createPagePaginationSchema, baseLogMessageSchema } from './common';\n\n// Query parameter schemas\nexport const listLogsQuerySchema = createPagePaginationSchema().extend({\n fromDate: z.coerce.date().optional(),\n toDate: z.coerce.date().optional(),\n logLevel: z.enum(['debug', 'info', 'warn', 'error', 'silent']).optional(),\n filters: z.union([z.string(), z.array(z.string())]).optional(),\n transportId: z.string(),\n});\n\n// Response schemas\nexport const listLogsResponseSchema = z.object({\n logs: z.array(baseLogMessageSchema),\n total: z.number(),\n page: z.number(),\n perPage: z.union([z.number(), z.literal(false)]),\n hasMore: z.boolean(),\n});\n\nexport const listLogTransportsResponseSchema = z.object({\n transports: z.array(z.string()),\n});\n"]}
|