@mastra/server 1.0.0-beta.5 → 1.0.0-beta.7

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.
Files changed (163) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/dist/{chunk-LGG3N3AV.js → chunk-3SFLFUKY.js} +4 -4
  3. package/dist/{chunk-LGG3N3AV.js.map → chunk-3SFLFUKY.js.map} +1 -1
  4. package/dist/{chunk-G7BPNX2V.js → chunk-6YWE7UPT.js} +16 -3
  5. package/dist/chunk-6YWE7UPT.js.map +1 -0
  6. package/dist/{chunk-CBDUTSTI.js → chunk-7N3PD4SV.js} +16 -12
  7. package/dist/chunk-7N3PD4SV.js.map +1 -0
  8. package/dist/{chunk-PDVJ2TTM.cjs → chunk-C3D3X2L5.cjs} +11 -9
  9. package/dist/chunk-C3D3X2L5.cjs.map +1 -0
  10. package/dist/{chunk-UCRV7PD3.js → chunk-C4J473OZ.js} +50 -37
  11. package/dist/chunk-C4J473OZ.js.map +1 -0
  12. package/dist/{chunk-RCCWKKI3.js → chunk-CT5VG7NT.js} +7 -5
  13. package/dist/chunk-CT5VG7NT.js.map +1 -0
  14. package/dist/{chunk-S6DFGBDD.cjs → chunk-DHWPHLGF.cjs} +23 -23
  15. package/dist/{chunk-S6DFGBDD.cjs.map → chunk-DHWPHLGF.cjs.map} +1 -1
  16. package/dist/{chunk-ZPZSAJAR.js → chunk-DRUNNM4C.js} +4 -4
  17. package/dist/{chunk-ZPZSAJAR.js.map → chunk-DRUNNM4C.js.map} +1 -1
  18. package/dist/{chunk-65Q7HO3Q.cjs → chunk-ESZ6V5WB.cjs} +45 -36
  19. package/dist/chunk-ESZ6V5WB.cjs.map +1 -0
  20. package/dist/{chunk-MH3A7RDQ.cjs → chunk-F4H7J6YV.cjs} +82 -71
  21. package/dist/chunk-F4H7J6YV.cjs.map +1 -0
  22. package/dist/{chunk-R6ZTXNN2.cjs → chunk-FMTSLS25.cjs} +120 -107
  23. package/dist/chunk-FMTSLS25.cjs.map +1 -0
  24. package/dist/{chunk-A6MQQTHN.js → chunk-FYY54HZC.js} +4 -4
  25. package/dist/{chunk-A6MQQTHN.js.map → chunk-FYY54HZC.js.map} +1 -1
  26. package/dist/{chunk-4O2QGUW3.js → chunk-GFF2I6UD.js} +4 -4
  27. package/dist/{chunk-4O2QGUW3.js.map → chunk-GFF2I6UD.js.map} +1 -1
  28. package/dist/{chunk-SAQSK4AG.cjs → chunk-H2RMXG2Q.cjs} +2 -2
  29. package/dist/{chunk-SAQSK4AG.cjs.map → chunk-H2RMXG2Q.cjs.map} +1 -1
  30. package/dist/{chunk-PKRHEXX7.js → chunk-HT4LP3BO.js} +19 -18
  31. package/dist/chunk-HT4LP3BO.js.map +1 -0
  32. package/dist/{chunk-Z7R7CFVF.cjs → chunk-I6LR6CPC.cjs} +10 -10
  33. package/dist/{chunk-Z7R7CFVF.cjs.map → chunk-I6LR6CPC.cjs.map} +1 -1
  34. package/dist/chunk-LBSJWPXK.cjs +312 -0
  35. package/dist/chunk-LBSJWPXK.cjs.map +1 -0
  36. package/dist/{chunk-2NW6POYK.cjs → chunk-MCYD5LW7.cjs} +19 -18
  37. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  38. package/dist/chunk-OL6U27XK.js +24488 -0
  39. package/dist/chunk-OL6U27XK.js.map +1 -0
  40. package/dist/{chunk-UZ6CYAOG.cjs → chunk-PUSD37LD.cjs} +16 -3
  41. package/dist/chunk-PUSD37LD.cjs.map +1 -0
  42. package/dist/{chunk-YLQHE2S5.js → chunk-QNVYGEJ4.js} +6 -6
  43. package/dist/{chunk-YLQHE2S5.js.map → chunk-QNVYGEJ4.js.map} +1 -1
  44. package/dist/{chunk-AUQBEMDP.cjs → chunk-S3TIWWQL.cjs} +12 -12
  45. package/dist/{chunk-AUQBEMDP.cjs.map → chunk-S3TIWWQL.cjs.map} +1 -1
  46. package/dist/{chunk-LZDCXQMX.js → chunk-SXVANU23.js} +2 -2
  47. package/dist/{chunk-LZDCXQMX.js.map → chunk-SXVANU23.js.map} +1 -1
  48. package/dist/{chunk-6KNI7VIX.js → chunk-TKL4TD2V.js} +29 -18
  49. package/dist/chunk-TKL4TD2V.js.map +1 -0
  50. package/dist/chunk-TWZCZKUD.cjs +24530 -0
  51. package/dist/chunk-TWZCZKUD.cjs.map +1 -0
  52. package/dist/{chunk-QVHQZUGJ.cjs → chunk-TYZ6ZISQ.cjs} +11 -11
  53. package/dist/{chunk-QVHQZUGJ.cjs.map → chunk-TYZ6ZISQ.cjs.map} +1 -1
  54. package/dist/{chunk-4JMHKKV3.cjs → chunk-US6Y5RLR.cjs} +41 -37
  55. package/dist/chunk-US6Y5RLR.cjs.map +1 -0
  56. package/dist/{chunk-FCHN5M25.js → chunk-UTIOKR5C.js} +16 -7
  57. package/dist/chunk-UTIOKR5C.js.map +1 -0
  58. package/dist/{chunk-R4M3BSUG.js → chunk-WE4USCF3.js} +3 -3
  59. package/dist/{chunk-R4M3BSUG.js.map → chunk-WE4USCF3.js.map} +1 -1
  60. package/dist/{chunk-IMK7366C.cjs → chunk-X43DWDXB.cjs} +12 -12
  61. package/dist/{chunk-IMK7366C.cjs.map → chunk-X43DWDXB.cjs.map} +1 -1
  62. package/dist/{chunk-MWQQRVQC.cjs → chunk-X4QMPCTP.cjs} +7 -7
  63. package/dist/{chunk-MWQQRVQC.cjs.map → chunk-X4QMPCTP.cjs.map} +1 -1
  64. package/dist/chunk-XNKZPXCY.js +302 -0
  65. package/dist/chunk-XNKZPXCY.js.map +1 -0
  66. package/dist/server/auth/defaults.d.ts +3 -0
  67. package/dist/server/auth/defaults.d.ts.map +1 -0
  68. package/dist/server/auth/helpers.d.ts +14 -0
  69. package/dist/server/auth/helpers.d.ts.map +1 -0
  70. package/dist/server/auth/index.cjs +137 -0
  71. package/dist/server/auth/index.cjs.map +1 -0
  72. package/dist/server/auth/index.d.ts +3 -0
  73. package/dist/server/auth/index.d.ts.map +1 -0
  74. package/dist/server/auth/index.js +127 -0
  75. package/dist/server/auth/index.js.map +1 -0
  76. package/dist/server/handlers/a2a.cjs +9 -9
  77. package/dist/server/handlers/a2a.d.ts.map +1 -1
  78. package/dist/server/handlers/a2a.js +1 -1
  79. package/dist/server/handlers/agent-builder.cjs +19 -19
  80. package/dist/server/handlers/agent-builder.d.ts +24 -25
  81. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  82. package/dist/server/handlers/agent-builder.js +1 -1
  83. package/dist/server/handlers/agents.cjs +23 -23
  84. package/dist/server/handlers/agents.d.ts +4 -2
  85. package/dist/server/handlers/agents.d.ts.map +1 -1
  86. package/dist/server/handlers/agents.js +1 -1
  87. package/dist/server/handlers/logs.cjs +4 -4
  88. package/dist/server/handlers/logs.js +1 -1
  89. package/dist/server/handlers/mcp.cjs +40 -0
  90. package/dist/server/handlers/mcp.cjs.map +1 -0
  91. package/dist/server/handlers/mcp.d.ts +110 -0
  92. package/dist/server/handlers/mcp.d.ts.map +1 -0
  93. package/dist/server/handlers/mcp.js +3 -0
  94. package/dist/server/handlers/mcp.js.map +1 -0
  95. package/dist/server/handlers/memory.cjs +24 -24
  96. package/dist/server/handlers/memory.d.ts +2 -2
  97. package/dist/server/handlers/memory.js +1 -1
  98. package/dist/server/handlers/observability.cjs +9 -9
  99. package/dist/server/handlers/observability.js +1 -1
  100. package/dist/server/handlers/scores.cjs +7 -7
  101. package/dist/server/handlers/scores.js +1 -1
  102. package/dist/server/handlers/tools.cjs +6 -6
  103. package/dist/server/handlers/tools.js +1 -1
  104. package/dist/server/handlers/vector.cjs +13 -13
  105. package/dist/server/handlers/vector.d.ts +2 -2
  106. package/dist/server/handlers/vector.js +1 -1
  107. package/dist/server/handlers/voice.cjs +8 -8
  108. package/dist/server/handlers/voice.d.ts.map +1 -1
  109. package/dist/server/handlers/voice.js +1 -1
  110. package/dist/server/handlers/workflows.cjs +26 -26
  111. package/dist/server/handlers/workflows.d.ts +294 -292
  112. package/dist/server/handlers/workflows.d.ts.map +1 -1
  113. package/dist/server/handlers/workflows.js +1 -1
  114. package/dist/server/handlers.cjs +36 -31
  115. package/dist/server/handlers.d.ts +1 -0
  116. package/dist/server/handlers.d.ts.map +1 -1
  117. package/dist/server/handlers.js +12 -11
  118. package/dist/server/schemas/agent-builder.d.ts +9 -0
  119. package/dist/server/schemas/agent-builder.d.ts.map +1 -1
  120. package/dist/server/schemas/common.d.ts +29 -15
  121. package/dist/server/schemas/common.d.ts.map +1 -1
  122. package/dist/server/schemas/mcp.d.ts +299 -0
  123. package/dist/server/schemas/mcp.d.ts.map +1 -0
  124. package/dist/server/schemas/memory.d.ts +4 -4
  125. package/dist/server/schemas/memory.d.ts.map +1 -1
  126. package/dist/server/schemas/vectors.d.ts +2 -2
  127. package/dist/server/schemas/workflows.d.ts +22 -28
  128. package/dist/server/schemas/workflows.d.ts.map +1 -1
  129. package/dist/server/server-adapter/index.cjs +286 -144
  130. package/dist/server/server-adapter/index.cjs.map +1 -1
  131. package/dist/server/server-adapter/index.d.ts +50 -7
  132. package/dist/server/server-adapter/index.d.ts.map +1 -1
  133. package/dist/server/server-adapter/index.js +168 -27
  134. package/dist/server/server-adapter/index.js.map +1 -1
  135. package/dist/server/server-adapter/redact.d.ts +26 -0
  136. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  137. package/dist/server/server-adapter/routes/index.d.ts +11 -2
  138. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  139. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  140. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  141. package/dist/server/server-adapter/routes/route-builder.d.ts +3 -3
  142. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  143. package/dist/server/utils.d.ts +1 -1
  144. package/dist/server/utils.d.ts.map +1 -1
  145. package/package.json +14 -4
  146. package/dist/chunk-2NW6POYK.cjs.map +0 -1
  147. package/dist/chunk-4JMHKKV3.cjs.map +0 -1
  148. package/dist/chunk-65Q7HO3Q.cjs.map +0 -1
  149. package/dist/chunk-6KNI7VIX.js.map +0 -1
  150. package/dist/chunk-CBDUTSTI.js.map +0 -1
  151. package/dist/chunk-EI2GXZE2.js +0 -23497
  152. package/dist/chunk-EI2GXZE2.js.map +0 -1
  153. package/dist/chunk-FCHN5M25.js.map +0 -1
  154. package/dist/chunk-G7BPNX2V.js.map +0 -1
  155. package/dist/chunk-MH3A7RDQ.cjs.map +0 -1
  156. package/dist/chunk-P6BEEW5J.cjs +0 -23539
  157. package/dist/chunk-P6BEEW5J.cjs.map +0 -1
  158. package/dist/chunk-PDVJ2TTM.cjs.map +0 -1
  159. package/dist/chunk-PKRHEXX7.js.map +0 -1
  160. package/dist/chunk-R6ZTXNN2.cjs.map +0 -1
  161. package/dist/chunk-RCCWKKI3.js.map +0 -1
  162. package/dist/chunk-UCRV7PD3.js.map +0 -1
  163. package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkMWQQRVQC_cjs = require('./chunk-MWQQRVQC.cjs');
4
- var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
5
3
  var chunk5W4RPVTK_cjs = require('./chunk-5W4RPVTK.cjs');
6
- var chunkSAQSK4AG_cjs = require('./chunk-SAQSK4AG.cjs');
4
+ var chunkX4QMPCTP_cjs = require('./chunk-X4QMPCTP.cjs');
5
+ var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
6
+ var chunkH2RMXG2Q_cjs = require('./chunk-H2RMXG2Q.cjs');
7
7
  var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
8
8
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
9
9
  var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
@@ -38,43 +38,47 @@ chunkO7I5CWRX_cjs.__export(agents_exports, {
38
38
  getSerializedAgentTools: () => getSerializedAgentTools,
39
39
  getSerializedProcessors: () => getSerializedProcessors
40
40
  });
41
- async function getSerializedAgentTools(tools) {
41
+ async function getSerializedAgentTools(tools, partial = false) {
42
42
  return Object.entries(tools || {}).reduce((acc, [key, tool]) => {
43
43
  const toolId = tool.id ?? `tool-${key}`;
44
44
  let inputSchemaForReturn = void 0;
45
45
  let outputSchemaForReturn = void 0;
46
- try {
47
- if (tool.inputSchema) {
48
- if (tool.inputSchema && typeof tool.inputSchema === "object" && "jsonSchema" in tool.inputSchema) {
49
- inputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(tool.inputSchema.jsonSchema);
50
- } else if (typeof tool.inputSchema === "function") {
51
- const inputSchema = tool.inputSchema();
52
- if (inputSchema && inputSchema.jsonSchema) {
53
- inputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(inputSchema.jsonSchema);
46
+ if (!partial) {
47
+ try {
48
+ if (tool.inputSchema) {
49
+ if (tool.inputSchema && typeof tool.inputSchema === "object" && "jsonSchema" in tool.inputSchema) {
50
+ inputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(tool.inputSchema.jsonSchema);
51
+ } else if (typeof tool.inputSchema === "function") {
52
+ const inputSchema = tool.inputSchema();
53
+ if (inputSchema && inputSchema.jsonSchema) {
54
+ inputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(inputSchema.jsonSchema);
55
+ }
56
+ } else if (tool.inputSchema) {
57
+ inputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(
58
+ zodToJson.zodToJsonSchema(tool.inputSchema)
59
+ );
54
60
  }
55
- } else if (tool.inputSchema) {
56
- inputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.inputSchema));
57
61
  }
58
- }
59
- if (tool.outputSchema) {
60
- if (tool.outputSchema && typeof tool.outputSchema === "object" && "jsonSchema" in tool.outputSchema) {
61
- outputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(tool.outputSchema.jsonSchema);
62
- } else if (typeof tool.outputSchema === "function") {
63
- const outputSchema = tool.outputSchema();
64
- if (outputSchema && outputSchema.jsonSchema) {
65
- outputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(outputSchema.jsonSchema);
62
+ if (tool.outputSchema) {
63
+ if (tool.outputSchema && typeof tool.outputSchema === "object" && "jsonSchema" in tool.outputSchema) {
64
+ outputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(tool.outputSchema.jsonSchema);
65
+ } else if (typeof tool.outputSchema === "function") {
66
+ const outputSchema = tool.outputSchema();
67
+ if (outputSchema && outputSchema.jsonSchema) {
68
+ outputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(outputSchema.jsonSchema);
69
+ }
70
+ } else if (tool.outputSchema) {
71
+ outputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(
72
+ zodToJson.zodToJsonSchema(tool.outputSchema)
73
+ );
66
74
  }
67
- } else if (tool.outputSchema) {
68
- outputSchemaForReturn = chunkGU4EWMZB_cjs.stringify(
69
- zodToJson.zodToJsonSchema(tool.outputSchema)
70
- );
71
75
  }
76
+ } catch (error) {
77
+ console.error(`Error getting serialized tool`, {
78
+ toolId: tool.id,
79
+ error
80
+ });
72
81
  }
73
- } catch (error) {
74
- console.error(`Error getting serialized tool`, {
75
- toolId: tool.id,
76
- error
77
- });
78
82
  }
79
83
  acc[key] = {
80
84
  ...tool,
@@ -116,7 +120,8 @@ async function formatAgentList({
116
120
  id,
117
121
  mastra,
118
122
  agent,
119
- requestContext
123
+ requestContext,
124
+ partial = false
120
125
  }) {
121
126
  const description = agent.getDescription();
122
127
  const instructions = await agent.getInstructions({ requestContext });
@@ -125,7 +130,7 @@ async function formatAgentList({
125
130
  const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });
126
131
  const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });
127
132
  const defaultOptions = await agent.getDefaultOptions({ requestContext });
128
- const serializedAgentTools = await getSerializedAgentTools(tools);
133
+ const serializedAgentTools = await getSerializedAgentTools(tools, partial);
129
134
  let serializedAgentWorkflows = {};
130
135
  if ("listWorkflows" in agent) {
131
136
  const logger = mastra.getLogger();
@@ -289,20 +294,24 @@ async function formatAgent({
289
294
  defaultStreamOptionsLegacy
290
295
  };
291
296
  }
292
- var LIST_AGENTS_ROUTE = chunkSAQSK4AG_cjs.createRoute({
297
+ var LIST_AGENTS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
293
298
  method: "GET",
294
299
  path: "/api/agents",
295
300
  responseType: "json",
296
- responseSchema: chunkMWQQRVQC_cjs.listAgentsResponseSchema,
301
+ queryParamSchema: zod.z.object({
302
+ partial: zod.z.string().optional()
303
+ }),
304
+ responseSchema: chunkX4QMPCTP_cjs.listAgentsResponseSchema,
297
305
  summary: "List all agents",
298
306
  description: "Returns a list of all available agents in the system",
299
307
  tags: ["Agents"],
300
- handler: async ({ mastra, requestContext }) => {
308
+ handler: async ({ mastra, requestContext, partial }) => {
301
309
  try {
302
310
  const agents = mastra.listAgents();
311
+ const isPartial = partial === "true";
303
312
  const serializedAgentsMap = await Promise.all(
304
313
  Object.entries(agents).map(async ([id, agent]) => {
305
- return formatAgentList({ id, mastra, agent, requestContext });
314
+ return formatAgentList({ id, mastra, agent, requestContext, partial: isPartial });
306
315
  })
307
316
  );
308
317
  const serializedAgents = serializedAgentsMap.reduce(
@@ -318,12 +327,12 @@ var LIST_AGENTS_ROUTE = chunkSAQSK4AG_cjs.createRoute({
318
327
  }
319
328
  }
320
329
  });
321
- var GET_AGENT_BY_ID_ROUTE = chunkSAQSK4AG_cjs.createRoute({
330
+ var GET_AGENT_BY_ID_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
322
331
  method: "GET",
323
332
  path: "/api/agents/:agentId",
324
333
  responseType: "json",
325
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
326
- responseSchema: chunkMWQQRVQC_cjs.serializedAgentSchema,
334
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
335
+ responseSchema: chunkX4QMPCTP_cjs.serializedAgentSchema,
327
336
  summary: "Get agent by ID",
328
337
  description: "Returns details for a specific agent including configuration, tools, and memory settings",
329
338
  tags: ["Agents"],
@@ -343,13 +352,13 @@ var GET_AGENT_BY_ID_ROUTE = chunkSAQSK4AG_cjs.createRoute({
343
352
  }
344
353
  }
345
354
  });
346
- var GENERATE_AGENT_ROUTE = chunkSAQSK4AG_cjs.createRoute({
355
+ var GENERATE_AGENT_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
347
356
  method: "POST",
348
357
  path: "/api/agents/:agentId/generate",
349
358
  responseType: "json",
350
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
351
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
352
- responseSchema: chunkMWQQRVQC_cjs.generateResponseSchema,
359
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
360
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
361
+ responseSchema: chunkX4QMPCTP_cjs.generateResponseSchema,
353
362
  summary: "Generate agent response",
354
363
  description: "Executes an agent with the provided messages and returns the complete response",
355
364
  tags: ["Agents"],
@@ -369,13 +378,13 @@ var GENERATE_AGENT_ROUTE = chunkSAQSK4AG_cjs.createRoute({
369
378
  }
370
379
  }
371
380
  });
372
- var GENERATE_LEGACY_ROUTE = chunkSAQSK4AG_cjs.createRoute({
381
+ var GENERATE_LEGACY_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
373
382
  method: "POST",
374
383
  path: "/api/agents/:agentId/generate-legacy",
375
384
  responseType: "json",
376
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
377
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
378
- responseSchema: chunkMWQQRVQC_cjs.generateResponseSchema,
385
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
386
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
387
+ responseSchema: chunkX4QMPCTP_cjs.generateResponseSchema,
379
388
  summary: "[DEPRECATED] Generate with legacy format",
380
389
  description: "Legacy endpoint for generating agent responses. Use /api/agents/:agentId/generate instead.",
381
390
  tags: ["Agents", "Legacy"],
@@ -401,13 +410,13 @@ var GENERATE_LEGACY_ROUTE = chunkSAQSK4AG_cjs.createRoute({
401
410
  }
402
411
  }
403
412
  });
404
- var STREAM_GENERATE_LEGACY_ROUTE = chunkSAQSK4AG_cjs.createRoute({
413
+ var STREAM_GENERATE_LEGACY_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
405
414
  method: "POST",
406
415
  path: "/api/agents/:agentId/stream-legacy",
407
416
  responseType: "datastream-response",
408
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
409
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
410
- responseSchema: chunkMWQQRVQC_cjs.streamResponseSchema,
417
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
418
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
419
+ responseSchema: chunkX4QMPCTP_cjs.streamResponseSchema,
411
420
  summary: "[DEPRECATED] Stream with legacy format",
412
421
  description: "Legacy endpoint for streaming agent responses. Use /api/agents/:agentId/stream instead.",
413
422
  tags: ["Agents", "Legacy"],
@@ -447,11 +456,11 @@ var STREAM_GENERATE_LEGACY_ROUTE = chunkSAQSK4AG_cjs.createRoute({
447
456
  }
448
457
  }
449
458
  });
450
- var GET_PROVIDERS_ROUTE = chunkSAQSK4AG_cjs.createRoute({
459
+ var GET_PROVIDERS_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
451
460
  method: "GET",
452
461
  path: "/api/agents/providers",
453
462
  responseType: "json",
454
- responseSchema: chunkMWQQRVQC_cjs.providersResponseSchema,
463
+ responseSchema: chunkX4QMPCTP_cjs.providersResponseSchema,
455
464
  summary: "List AI providers",
456
465
  description: "Returns a list of all configured AI model providers",
457
466
  tags: ["Agents"],
@@ -478,26 +487,26 @@ var GET_PROVIDERS_ROUTE = chunkSAQSK4AG_cjs.createRoute({
478
487
  }
479
488
  }
480
489
  });
481
- var GENERATE_AGENT_VNEXT_ROUTE = chunkSAQSK4AG_cjs.createRoute({
490
+ var GENERATE_AGENT_VNEXT_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
482
491
  method: "POST",
483
492
  path: "/api/agents/:agentId/generate/vnext",
484
493
  responseType: "json",
485
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
486
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
487
- responseSchema: chunkMWQQRVQC_cjs.generateResponseSchema,
494
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
495
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
496
+ responseSchema: chunkX4QMPCTP_cjs.generateResponseSchema,
488
497
  summary: "Generate a response from an agent",
489
498
  description: "Generate a response from an agent",
490
499
  tags: ["Agents"],
491
500
  handler: GENERATE_AGENT_ROUTE.handler
492
501
  });
493
- var STREAM_GENERATE_ROUTE = chunkSAQSK4AG_cjs.createRoute({
502
+ var STREAM_GENERATE_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
494
503
  method: "POST",
495
504
  path: "/api/agents/:agentId/stream",
496
505
  responseType: "stream",
497
506
  streamFormat: "sse",
498
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
499
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
500
- responseSchema: chunkMWQQRVQC_cjs.streamResponseSchema,
507
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
508
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
509
+ responseSchema: chunkX4QMPCTP_cjs.streamResponseSchema,
501
510
  summary: "Stream agent response",
502
511
  description: "Executes an agent with the provided messages and streams the response in real-time",
503
512
  tags: ["Agents"],
@@ -517,26 +526,27 @@ var STREAM_GENERATE_ROUTE = chunkSAQSK4AG_cjs.createRoute({
517
526
  }
518
527
  }
519
528
  });
520
- var STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = chunkSAQSK4AG_cjs.createRoute({
529
+ var STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
521
530
  method: "POST",
522
531
  path: "/api/agents/:agentId/stream/vnext",
523
532
  responseType: "stream",
524
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
525
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
526
- responseSchema: chunkMWQQRVQC_cjs.streamResponseSchema,
533
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
534
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
535
+ responseSchema: chunkX4QMPCTP_cjs.streamResponseSchema,
527
536
  summary: "Stream a response from an agent",
528
537
  description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
529
538
  tags: ["Agents"],
539
+ deprecated: true,
530
540
  handler: STREAM_GENERATE_ROUTE.handler
531
541
  });
532
- var APPROVE_TOOL_CALL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
542
+ var APPROVE_TOOL_CALL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
533
543
  method: "POST",
534
544
  path: "/api/agents/:agentId/approve-tool-call",
535
545
  responseType: "stream",
536
546
  streamFormat: "sse",
537
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
538
- bodySchema: chunkMWQQRVQC_cjs.approveToolCallBodySchema,
539
- responseSchema: chunkMWQQRVQC_cjs.toolCallResponseSchema,
547
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
548
+ bodySchema: chunkX4QMPCTP_cjs.approveToolCallBodySchema,
549
+ responseSchema: chunkX4QMPCTP_cjs.toolCallResponseSchema,
540
550
  summary: "Approve tool call",
541
551
  description: "Approves a pending tool call and continues agent execution",
542
552
  tags: ["Agents", "Tools"],
@@ -560,14 +570,14 @@ var APPROVE_TOOL_CALL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
560
570
  }
561
571
  }
562
572
  });
563
- var DECLINE_TOOL_CALL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
573
+ var DECLINE_TOOL_CALL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
564
574
  method: "POST",
565
575
  path: "/api/agents/:agentId/decline-tool-call",
566
576
  responseType: "stream",
567
577
  streamFormat: "sse",
568
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
569
- bodySchema: chunkMWQQRVQC_cjs.declineToolCallBodySchema,
570
- responseSchema: chunkMWQQRVQC_cjs.toolCallResponseSchema,
578
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
579
+ bodySchema: chunkX4QMPCTP_cjs.declineToolCallBodySchema,
580
+ responseSchema: chunkX4QMPCTP_cjs.toolCallResponseSchema,
571
581
  summary: "Decline tool call",
572
582
  description: "Declines a pending tool call and continues agent execution without executing the tool",
573
583
  tags: ["Agents", "Tools"],
@@ -591,14 +601,14 @@ var DECLINE_TOOL_CALL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
591
601
  }
592
602
  }
593
603
  });
594
- var STREAM_NETWORK_ROUTE = chunkSAQSK4AG_cjs.createRoute({
604
+ var STREAM_NETWORK_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
595
605
  method: "POST",
596
606
  path: "/api/agents/:agentId/network",
597
607
  responseType: "stream",
598
608
  streamFormat: "sse",
599
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
600
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema.extend({ thread: zod.z.string().optional() }),
601
- responseSchema: chunkMWQQRVQC_cjs.streamResponseSchema,
609
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
610
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema.extend({ thread: zod.z.string().optional() }),
611
+ responseSchema: chunkX4QMPCTP_cjs.streamResponseSchema,
602
612
  summary: "Stream agent network",
603
613
  description: "Executes an agent network with multiple agents and streams the response",
604
614
  tags: ["Agents"],
@@ -621,13 +631,13 @@ var STREAM_NETWORK_ROUTE = chunkSAQSK4AG_cjs.createRoute({
621
631
  }
622
632
  }
623
633
  });
624
- var UPDATE_AGENT_MODEL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
634
+ var UPDATE_AGENT_MODEL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
625
635
  method: "POST",
626
636
  path: "/api/agents/:agentId/model",
627
637
  responseType: "json",
628
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
629
- bodySchema: chunkMWQQRVQC_cjs.updateAgentModelBodySchema,
630
- responseSchema: chunkMWQQRVQC_cjs.modelManagementResponseSchema,
638
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
639
+ bodySchema: chunkX4QMPCTP_cjs.updateAgentModelBodySchema,
640
+ responseSchema: chunkX4QMPCTP_cjs.modelManagementResponseSchema,
631
641
  summary: "Update agent model",
632
642
  description: "Updates the AI model used by the agent",
633
643
  tags: ["Agents", "Models"],
@@ -642,12 +652,12 @@ var UPDATE_AGENT_MODEL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
642
652
  }
643
653
  }
644
654
  });
645
- var RESET_AGENT_MODEL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
655
+ var RESET_AGENT_MODEL_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
646
656
  method: "POST",
647
657
  path: "/api/agents/:agentId/model/reset",
648
658
  responseType: "json",
649
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
650
- responseSchema: chunkMWQQRVQC_cjs.modelManagementResponseSchema,
659
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
660
+ responseSchema: chunkX4QMPCTP_cjs.modelManagementResponseSchema,
651
661
  summary: "Reset agent model",
652
662
  description: "Resets the agent model to its original configuration",
653
663
  tags: ["Agents", "Models"],
@@ -661,13 +671,13 @@ var RESET_AGENT_MODEL_ROUTE = chunkSAQSK4AG_cjs.createRoute({
661
671
  }
662
672
  }
663
673
  });
664
- var REORDER_AGENT_MODEL_LIST_ROUTE = chunkSAQSK4AG_cjs.createRoute({
674
+ var REORDER_AGENT_MODEL_LIST_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
665
675
  method: "POST",
666
676
  path: "/api/agents/:agentId/models/reorder",
667
677
  responseType: "json",
668
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
669
- bodySchema: chunkMWQQRVQC_cjs.reorderAgentModelListBodySchema,
670
- responseSchema: chunkMWQQRVQC_cjs.modelManagementResponseSchema,
678
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
679
+ bodySchema: chunkX4QMPCTP_cjs.reorderAgentModelListBodySchema,
680
+ responseSchema: chunkX4QMPCTP_cjs.modelManagementResponseSchema,
671
681
  summary: "Reorder agent model list",
672
682
  description: "Reorders the model list for agents with multiple model configurations",
673
683
  tags: ["Agents", "Models"],
@@ -685,13 +695,13 @@ var REORDER_AGENT_MODEL_LIST_ROUTE = chunkSAQSK4AG_cjs.createRoute({
685
695
  }
686
696
  }
687
697
  });
688
- var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = chunkSAQSK4AG_cjs.createRoute({
698
+ var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
689
699
  method: "POST",
690
700
  path: "/api/agents/:agentId/models/:modelConfigId",
691
701
  responseType: "json",
692
- pathParamSchema: chunkMWQQRVQC_cjs.modelConfigIdPathParams,
693
- bodySchema: chunkMWQQRVQC_cjs.updateAgentModelInModelListBodySchema,
694
- responseSchema: chunkMWQQRVQC_cjs.modelManagementResponseSchema,
702
+ pathParamSchema: chunkX4QMPCTP_cjs.modelConfigIdPathParams,
703
+ bodySchema: chunkX4QMPCTP_cjs.updateAgentModelInModelListBodySchema,
704
+ responseSchema: chunkX4QMPCTP_cjs.modelManagementResponseSchema,
695
705
  summary: "Update model in model list",
696
706
  description: "Updates a specific model configuration in the agent model list",
697
707
  tags: ["Agents", "Models"],
@@ -720,30 +730,32 @@ var UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = chunkSAQSK4AG_cjs.createRoute({
720
730
  }
721
731
  }
722
732
  });
723
- var STREAM_VNEXT_DEPRECATED_ROUTE = chunkSAQSK4AG_cjs.createRoute({
733
+ var STREAM_VNEXT_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
724
734
  method: "POST",
725
735
  path: "/api/agents/:agentId/streamVNext",
726
736
  responseType: "stream",
727
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
728
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
729
- responseSchema: chunkMWQQRVQC_cjs.streamResponseSchema,
737
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
738
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
739
+ responseSchema: chunkX4QMPCTP_cjs.streamResponseSchema,
730
740
  summary: "Stream a response from an agent",
731
741
  description: "[DEPRECATED] This endpoint is deprecated. Please use /stream instead.",
732
742
  tags: ["Agents"],
743
+ deprecated: true,
733
744
  handler: async () => {
734
745
  throw new chunk64ITUOXI_cjs.HTTPException(410, { message: "This endpoint is deprecated. Please use /stream instead." });
735
746
  }
736
747
  });
737
- var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = chunkSAQSK4AG_cjs.createRoute({
748
+ var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
738
749
  method: "POST",
739
750
  path: "/api/agents/:agentId/stream/vnext/ui",
740
751
  responseType: "stream",
741
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
742
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
743
- responseSchema: chunkMWQQRVQC_cjs.streamResponseSchema,
752
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
753
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
754
+ responseSchema: chunkX4QMPCTP_cjs.streamResponseSchema,
744
755
  summary: "Stream UI messages from an agent",
745
756
  description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
746
757
  tags: ["Agents"],
758
+ deprecated: true,
747
759
  handler: async () => {
748
760
  try {
749
761
  throw new error.MastraError({
@@ -757,16 +769,17 @@ var STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = chunkSAQSK4AG_cjs.createRoute({
757
769
  }
758
770
  }
759
771
  });
760
- var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = chunkSAQSK4AG_cjs.createRoute({
772
+ var STREAM_UI_MESSAGE_DEPRECATED_ROUTE = chunkH2RMXG2Q_cjs.createRoute({
761
773
  method: "POST",
762
774
  path: "/api/agents/:agentId/stream/ui",
763
775
  responseType: "stream",
764
- pathParamSchema: chunkMWQQRVQC_cjs.agentIdPathParams,
765
- bodySchema: chunkMWQQRVQC_cjs.agentExecutionBodySchema,
766
- responseSchema: chunkMWQQRVQC_cjs.streamResponseSchema,
776
+ pathParamSchema: chunkX4QMPCTP_cjs.agentIdPathParams,
777
+ bodySchema: chunkX4QMPCTP_cjs.agentExecutionBodySchema,
778
+ responseSchema: chunkX4QMPCTP_cjs.streamResponseSchema,
767
779
  summary: "Stream UI messages from an agent",
768
780
  description: "[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations",
769
781
  tags: ["Agents"],
782
+ deprecated: true,
770
783
  handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler
771
784
  });
772
785
 
@@ -793,5 +806,5 @@ exports.agents_exports = agents_exports;
793
806
  exports.getAgentFromSystem = getAgentFromSystem;
794
807
  exports.getSerializedAgentTools = getSerializedAgentTools;
795
808
  exports.getSerializedProcessors = getSerializedProcessors;
796
- //# sourceMappingURL=chunk-R6ZTXNN2.cjs.map
797
- //# sourceMappingURL=chunk-R6ZTXNN2.cjs.map
809
+ //# sourceMappingURL=chunk-FMTSLS25.cjs.map
810
+ //# sourceMappingURL=chunk-FMTSLS25.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["__export","stringify","zodToJsonSchema","agent","HTTPException","acc","key","createRoute","z","listAgentsResponseSchema","handleError","agentIdPathParams","serializedAgentSchema","agentExecutionBodySchema","generateResponseSchema","sanitizeBody","validateBody","streamResponseSchema","providersResponseSchema","PROVIDER_REGISTRY","approveToolCallBodySchema","toolCallResponseSchema","declineToolCallBodySchema","updateAgentModelBodySchema","modelManagementResponseSchema","reorderAgentModelListBodySchema","modelConfigIdPathParams","updateAgentModelInModelListBodySchema","MastraError","ErrorCategory","ErrorDomain"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAA,cAAA,GAAA;AAAAA,0BAAA,CAAA,cAAA,EAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,oBAAA,EAAA,MAAA,oBAAA;AAAA,EAAA,0BAAA,EAAA,MAAA,0BAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,8BAAA,EAAA,MAAA,8BAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,4BAAA,EAAA,MAAA,4BAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,sCAAA,EAAA,MAAA,sCAAA;AAAA,EAAA,oBAAA,EAAA,MAAA,oBAAA;AAAA,EAAA,kCAAA,EAAA,MAAA,kCAAA;AAAA,EAAA,wCAAA,EAAA,MAAA,wCAAA;AAAA,EAAA,6BAAA,EAAA,MAAA,6BAAA;AAAA,EAAA,sCAAA,EAAA,MAAA,sCAAA;AAAA,EAAA,wBAAA,EAAA,MAAA,wBAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA,uBAAA;AAAA,EAAA,uBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AA2FA,eAAsB,uBAAA,CACpB,KAAA,EACA,OAAA,GAAmB,KAAA,EACsB;AACzC,EAAA,OAAO,MAAA,CAAO,OAAA,CAAQ,KAAA,IAAS,EAAE,CAAA,CAAE,MAAA,CAAuC,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,IAAI,CAAA,KAAM;AAC9F,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,EAAA,IAAM,CAAA,KAAA,EAAQ,GAAG,CAAA,CAAA;AAErC,IAAA,IAAI,oBAAA,GAA2C,MAAA;AAC/C,IAAA,IAAI,qBAAA,GAA4C,MAAA;AAGhD,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,IAAI;AACF,QAAA,IAAI,KAAK,WAAA,EAAa;AACpB,UAAA,IAAI,IAAA,CAAK,eAAe,OAAO,IAAA,CAAK,gBAAgB,QAAA,IAAY,YAAA,IAAgB,KAAK,WAAA,EAAa;AAChG,YAAA,oBAAA,GAAuBC,2BAAA,CAAU,IAAA,CAAK,WAAA,CAAY,UAAU,CAAA;AAAA,UAC9D,CAAA,MAAA,IAAW,OAAO,IAAA,CAAK,WAAA,KAAgB,UAAA,EAAY;AACjD,YAAA,MAAM,WAAA,GAAc,KAAK,WAAA,EAAY;AACrC,YAAA,IAAI,WAAA,IAAe,YAAY,UAAA,EAAY;AACzC,cAAA,oBAAA,GAAuBA,2BAAA,CAAU,YAAY,UAAU,CAAA;AAAA,YACzD;AAAA,UACF,CAAA,MAAA,IAAW,KAAK,WAAA,EAAa;AAC3B,YAAA,oBAAA,GAAuBA,2BAAA;AAAA,cACrBC,yBAAA,CAAgB,KAAK,WAAoD;AAAA,aAC3E;AAAA,UACF;AAAA,QACF;AAEA,QAAA,IAAI,KAAK,YAAA,EAAc;AACrB,UAAA,IAAI,IAAA,CAAK,gBAAgB,OAAO,IAAA,CAAK,iBAAiB,QAAA,IAAY,YAAA,IAAgB,KAAK,YAAA,EAAc;AACnG,YAAA,qBAAA,GAAwBD,2BAAA,CAAU,IAAA,CAAK,YAAA,CAAa,UAAU,CAAA;AAAA,UAChE,CAAA,MAAA,IAAW,OAAO,IAAA,CAAK,YAAA,KAAiB,UAAA,EAAY;AAClD,YAAA,MAAM,YAAA,GAAe,KAAK,YAAA,EAAa;AACvC,YAAA,IAAI,YAAA,IAAgB,aAAa,UAAA,EAAY;AAC3C,cAAA,qBAAA,GAAwBA,2BAAA,CAAU,aAAa,UAAU,CAAA;AAAA,YAC3D;AAAA,UACF,CAAA,MAAA,IAAW,KAAK,YAAA,EAAc;AAC5B,YAAA,qBAAA,GAAwBA,2BAAA;AAAA,cACtBC,yBAAA,CAAgB,KAAK,YAAqD;AAAA,aAC5E;AAAA,UACF;AAAA,QACF;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,OAAA,CAAQ,MAAM,CAAA,6BAAA,CAAA,EAAiC;AAAA,UAC7C,QAAQ,IAAA,CAAK,EAAA;AAAA,UACb;AAAA,SACD,CAAA;AAAA,MACH;AAAA,IACF;AAEA,IAAA,GAAA,CAAI,GAAG,CAAA,GAAI;AAAA,MACT,GAAG,IAAA;AAAA,MACH,EAAA,EAAI,MAAA;AAAA,MACJ,WAAA,EAAa,oBAAA;AAAA,MACb,YAAA,EAAc;AAAA,KAChB;AACA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AACP;AAEO,SAAS,wBAAwB,UAAA,EAAyE;AAC/G,EAAA,OAAO,UAAA,CAAW,IAAI,CAAA,SAAA,KAAa;AAGjC,IAAA,OAAO;AAAA,MACL,IAAI,SAAA,CAAU,EAAA;AAAA,MACd,IAAA,EAAM,SAAA,CAAU,IAAA,IAAQ,SAAA,CAAU,WAAA,CAAY;AAAA,KAChD;AAAA,EACF,CAAC,CAAA;AACH;AAOA,eAAe,4BAAA,CAA6B;AAAA,EAC1C,KAAA;AAAA,EACA;AACF,CAAA,EAGuD;AACrD,EAAA,IAAI,wBAAmE,EAAC;AAExE,EAAA,IAAI,gBAAgB,KAAA,EAAO;AACzB,IAAA,MAAM,SAAS,MAAM,KAAA,CAAM,UAAA,CAAW,EAAE,gBAAgB,CAAA;AACxD,IAAA,qBAAA,GAAwB,MAAA,CAAO,OAAA,CAAQ,MAAA,IAAU,EAAE,CAAA,CAAE,MAAA;AAAA,MACnD,CAAC,GAAA,EAAK,CAAC,GAAA,EAAKC,MAAK,CAAA,KAAM;AACrB,QAAA,OAAO;AAAA,UACL,GAAG,GAAA;AAAA,UACH,CAAC,GAAG,GAAG,EAAE,IAAIA,MAAAA,CAAM,EAAA,EAAI,IAAA,EAAMA,MAAAA,CAAM,IAAA;AAAK,SAC1C;AAAA,MACF,CAAA;AAAA,MACA;AAAC,KACH;AAAA,EACF;AACA,EAAA,OAAO,qBAAA;AACT;AAEA,eAAe,eAAA,CAAgB;AAAA,EAC7B,EAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA,GAAU;AACZ,CAAA,EAMmC;AACjC,EAAA,MAAM,WAAA,GAAc,MAAM,cAAA,EAAe;AACzC,EAAA,MAAM,eAAe,MAAM,KAAA,CAAM,eAAA,CAAgB,EAAE,gBAAgB,CAAA;AACnE,EAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,SAAA,CAAU,EAAE,gBAAgB,CAAA;AACtD,EAAA,MAAM,MAAM,MAAM,KAAA,CAAM,MAAA,CAAO,EAAE,gBAAgB,CAAA;AACjD,EAAA,MAAM,+BAA+B,MAAM,KAAA,CAAM,+BAAA,CAAgC,EAAE,gBAAgB,CAAA;AACnG,EAAA,MAAM,6BAA6B,MAAM,KAAA,CAAM,6BAAA,CAA8B,EAAE,gBAAgB,CAAA;AAC/F,EAAA,MAAM,iBAAiB,MAAM,KAAA,CAAM,iBAAA,CAAkB,EAAE,gBAAgB,CAAA;AACvE,EAAA,MAAM,oBAAA,GAAuB,MAAM,uBAAA,CAAwB,KAAA,EAAO,OAAO,CAAA;AAEzE,EAAA,IAAI,2BAGA,EAAC;AAEL,EAAA,IAAI,mBAAmB,KAAA,EAAO;AAC5B,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,IAAA,IAAI;AACF,MAAA,MAAM,YAAY,MAAM,KAAA,CAAM,aAAA,CAAc,EAAE,gBAAgB,CAAA;AAC9D,MAAA,wBAAA,GAA2B,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,EAAE,CAAA,CAAE,MAAA,CAEzD,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,QAAQ,CAAA,KAAM;AAC1B,QAAA,OAAO;AAAA,UACL,GAAG,GAAA;AAAA,UACH,CAAC,GAAG,GAAG;AAAA,YACL,IAAA,EAAM,SAAS,IAAA,IAAQ;AAAA;AACzB,SACF;AAAA,MACF,CAAA,EAAG,EAAE,CAAA;AAAA,IACP,SAAS,KAAA,EAAO;AACd,MAAA,MAAA,CAAO,MAAM,mCAAA,EAAqC,EAAE,WAAW,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,IACpF;AAAA,EACF;AAEA,EAAA,MAAM,wBAAwB,MAAM,4BAAA,CAA6B,EAAE,KAAA,EAAO,gBAAgB,CAAA;AAG1F,EAAA,MAAM,eAAA,GAAkB,MAAM,KAAA,CAAM,mBAAA,CAAoB,cAAc,CAAA;AACtE,EAAA,MAAM,gBAAA,GAAmB,MAAM,KAAA,CAAM,oBAAA,CAAqB,cAAc,CAAA;AACxE,EAAA,MAAM,yBAAA,GAA4B,wBAAwB,eAAe,CAAA;AACzE,EAAA,MAAM,0BAAA,GAA6B,wBAAwB,gBAAgB,CAAA;AAE3E,EAAA,MAAM,KAAA,GAAQ,KAAK,QAAA,EAAS;AAC5B,EAAA,MAAM,MAAA,GAAS,MAAM,KAAA,CAAM,YAAA,CAAa,cAAc,CAAA;AACtD,EAAA,MAAM,SAAA,GAAY,MAAA,EAAQ,GAAA,CAAI,CAAA,EAAA,MAAO;AAAA,IACnC,GAAG,EAAA;AAAA,IACH,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,GAAG,KAAA,CAAM,OAAA;AAAA,MAClB,QAAA,EAAU,GAAG,KAAA,CAAM,QAAA;AAAA,MACnB,YAAA,EAAc,GAAG,KAAA,CAAM;AAAA;AACzB,GACF,CAAE,CAAA;AAEF,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,MAAM,EAAA,IAAM,EAAA;AAAA,IAChB,MAAM,KAAA,CAAM,IAAA;AAAA,IACZ,WAAA;AAAA,IACA,YAAA;AAAA,IACA,MAAA,EAAQ,qBAAA;AAAA,IACR,KAAA,EAAO,oBAAA;AAAA,IACP,SAAA,EAAW,wBAAA;AAAA,IACX,eAAA,EAAiB,yBAAA;AAAA,IACjB,gBAAA,EAAkB,0BAAA;AAAA,IAClB,QAAA,EAAU,KAAK,WAAA,EAAY;AAAA,IAC3B,OAAA,EAAS,KAAK,UAAA,EAAW;AAAA,IACzB,cAAc,KAAA,EAAO,oBAAA;AAAA,IACrB,cAAA;AAAA,IACA,SAAA;AAAA,IACA,4BAAA;AAAA,IACA;AAAA,GACF;AACF;AAEA,eAAsB,kBAAA,CAAmB,EAAE,MAAA,EAAQ,OAAA,EAAQ,EAAmD;AAC5G,EAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAEhC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,wBAAwB,CAAA;AAAA,EAClE;AAEA,EAAA,IAAI,KAAA;AAEJ,EAAA,IAAI;AACF,IAAA,KAAA,GAAQ,MAAA,CAAO,aAAa,OAAO,CAAA;AAAA,EACrC,SAAS,KAAA,EAAO;AACd,IAAA,MAAA,CAAO,KAAA,CAAM,+DAA+D,KAAK,CAAA;AAAA,EACnF;AAEA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAA,CAAO,KAAA,CAAM,CAAA,MAAA,EAAS,OAAO,CAAA,sCAAA,CAAwC,CAAA;AACrE,IAAA,MAAM,MAAA,GAAS,OAAO,UAAA,EAAW;AACjC,IAAA,IAAI,OAAO,IAAA,CAAK,MAAA,IAAU,EAAE,EAAE,MAAA,EAAQ;AACpC,MAAA,KAAA,MAAW,CAAC,CAAA,EAAG,EAAE,KAAK,MAAA,CAAO,OAAA,CAAQ,MAAM,CAAA,EAAG;AAC5C,QAAA,IAAI;AACF,UAAA,MAAM,SAAA,GAAY,MAAM,EAAA,CAAG,UAAA,EAAW;AAEtC,UAAA,IAAI,SAAA,CAAU,OAAO,CAAA,EAAG;AACtB,YAAA,KAAA,GAAQ,UAAU,OAAO,CAAA;AACzB,YAAA;AAAA,UACF;AAAA,QACF,SAAS,KAAA,EAAO;AACd,UAAA,MAAA,CAAO,KAAA,CAAM,kCAAkC,KAAK,CAAA;AAAA,QACtD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,cAAA,EAAiB,OAAO,cAAc,CAAA;AAAA,EAChF;AAEA,EAAA,OAAO,KAAA;AACT;AAEA,eAAe,WAAA,CAAY;AAAA,EACzB,MAAA;AAAA,EACA,KAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAK6B;AAC3B,EAAA,MAAM,WAAA,GAAc,MAAM,cAAA,EAAe;AACzC,EAAA,MAAM,QAAQ,MAAM,KAAA,CAAM,SAAA,CAAU,EAAE,gBAAgB,CAAA;AAEtD,EAAA,MAAM,oBAAA,GAAuB,MAAM,uBAAA,CAAwB,KAAK,CAAA;AAEhE,EAAA,IAAI,2BAGA,EAAC;AAEL,EAAA,IAAI,mBAAmB,KAAA,EAAO;AAC5B,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,IAAA,IAAI;AACF,MAAA,MAAM,YAAY,MAAM,KAAA,CAAM,aAAA,CAAc,EAAE,gBAAgB,CAAA;AAE9D,MAAA,wBAAA,GAA2B,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,EAAE,CAAA,CAAE,MAAA,CAEzD,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,QAAQ,CAAA,KAAM;AAC1B,QAAA,OAAO;AAAA,UACL,GAAG,GAAA;AAAA,UACH,CAAC,GAAG,GAAG;AAAA,YACL,IAAA,EAAM,SAAS,IAAA,IAAQ,kBAAA;AAAA,YACvB,KAAA,EAAO,MAAA,CAAO,OAAA,CAAQ,QAAA,CAAS,KAAK,CAAA,CAAE,MAAA;AAAA,cACpC,CAACC,IAAAA,EAAK,CAACC,IAAAA,EAAK,IAAI,CAAA,KAAM;AACpB,gBAAA,OAAO;AAAA,kBACL,GAAGD,IAAAA;AAAA,kBACH,CAACC,IAAG,GAAG;AAAA,oBACL,IAAI,IAAA,CAAK,EAAA;AAAA,oBACT,aAAa,IAAA,CAAK;AAAA;AACpB,iBACF;AAAA,cACF,CAAA;AAAA,cACA;AAAC;AACH;AACF,SACF;AAAA,MACF,CAAA,EAAG,EAAE,CAAA;AAAA,IACP,SAAS,KAAA,EAAO;AACd,MAAA,MAAA,CAAO,MAAM,mCAAA,EAAqC,EAAE,WAAW,KAAA,CAAM,IAAA,EAAM,OAAO,CAAA;AAAA,IACpF;AAAA,EACF;AAEA,EAAA,IAAI,mBAAA,GAAsB,cAAA;AAe1B,EAAA,MAAM,eAAe,MAAM,KAAA,CAAM,gBAAgB,EAAE,cAAA,EAAgB,qBAAqB,CAAA;AACxF,EAAA,MAAM,MAAM,MAAM,KAAA,CAAM,MAAA,CAAO,EAAE,gBAAgB,CAAA;AACjD,EAAA,MAAM,4BAAA,GAA+B,MAAM,KAAA,CAAM,+BAAA,CAAgC;AAAA,IAC/E,cAAA,EAAgB;AAAA,GACjB,CAAA;AACD,EAAA,MAAM,6BAA6B,MAAM,KAAA,CAAM,8BAA8B,EAAE,cAAA,EAAgB,qBAAqB,CAAA;AACpH,EAAA,MAAM,iBAAiB,MAAM,KAAA,CAAM,kBAAkB,EAAE,cAAA,EAAgB,qBAAqB,CAAA;AAE5F,EAAA,MAAM,KAAA,GAAQ,KAAK,QAAA,EAAS;AAC5B,EAAA,MAAM,MAAA,GAAS,MAAM,KAAA,CAAM,YAAA,CAAa,cAAc,CAAA;AACtD,EAAA,MAAM,SAAA,GAAY,MAAA,EAAQ,GAAA,CAAI,CAAA,EAAA,MAAO;AAAA,IACnC,GAAG,EAAA;AAAA,IACH,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,GAAG,KAAA,CAAM,OAAA;AAAA,MAClB,QAAA,EAAU,GAAG,KAAA,CAAM,QAAA;AAAA,MACnB,YAAA,EAAc,GAAG,KAAA,CAAM;AAAA;AACzB,GACF,CAAE,CAAA;AAEF,EAAA,MAAM,wBAAwB,MAAM,4BAAA,CAA6B,EAAE,KAAA,EAAO,cAAA,EAAgB,qBAAqB,CAAA;AAG/G,EAAA,MAAM,eAAA,GAAkB,MAAM,KAAA,CAAM,mBAAA,CAAoB,mBAAmB,CAAA;AAC3E,EAAA,MAAM,gBAAA,GAAmB,MAAM,KAAA,CAAM,oBAAA,CAAqB,mBAAmB,CAAA;AAC7E,EAAA,MAAM,yBAAA,GAA4B,wBAAwB,eAAe,CAAA;AACzE,EAAA,MAAM,0BAAA,GAA6B,wBAAwB,gBAAgB,CAAA;AAE3E,EAAA,OAAO;AAAA,IACL,MAAM,KAAA,CAAM,IAAA;AAAA,IACZ,WAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAA,EAAO,oBAAA;AAAA,IACP,MAAA,EAAQ,qBAAA;AAAA,IACR,SAAA,EAAW,wBAAA;AAAA,IACX,eAAA,EAAiB,yBAAA;AAAA,IACjB,gBAAA,EAAkB,0BAAA;AAAA,IAClB,QAAA,EAAU,KAAK,WAAA,EAAY;AAAA,IAC3B,OAAA,EAAS,KAAK,UAAA,EAAW;AAAA,IACzB,cAAc,KAAA,EAAO,oBAAA;AAAA,IACrB,SAAA;AAAA,IACA,cAAA;AAAA,IACA,4BAAA;AAAA,IACA;AAAA,GACF;AACF;AAMO,IAAM,oBAAoBC,6BAAA,CAAY;AAAA,EAC3C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,aAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAkBC,MAAE,MAAA,CAAO;AAAA,IACzB,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC9B,CAAA;AAAA,EACD,cAAA,EAAgBC,0CAAA;AAAA,EAChB,OAAA,EAAS,iBAAA;AAAA,EACT,WAAA,EAAa,sDAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,SAAS,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,SAAQ,KAAM;AACtD,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,OAAO,UAAA,EAAW;AAEjC,MAAA,MAAM,YAAY,OAAA,KAAY,MAAA;AAC9B,MAAA,MAAM,mBAAA,GAAsB,MAAM,OAAA,CAAQ,GAAA;AAAA,QACxC,MAAA,CAAO,QAAQ,MAAM,CAAA,CAAE,IAAI,OAAO,CAAC,EAAA,EAAI,KAAK,CAAA,KAAM;AAChD,UAAA,OAAO,eAAA,CAAgB,EAAE,EAAA,EAAI,MAAA,EAAQ,OAAO,cAAA,EAAgB,OAAA,EAAS,WAAW,CAAA;AAAA,QAClF,CAAC;AAAA,OACH;AAEA,MAAA,MAAM,mBAAmB,mBAAA,CAAoB,MAAA;AAAA,QAC3C,CAAC,GAAA,EAAK,EAAE,EAAA,EAAI,GAAG,MAAK,KAAM;AACxB,UAAA,GAAA,CAAI,EAAE,CAAA,GAAI,EAAE,EAAA,EAAI,GAAG,IAAA,EAAK;AACxB,UAAA,OAAO,GAAA;AAAA,QACT,CAAA;AAAA,QACA;AAAC,OACH;AAEA,MAAA,OAAO,gBAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,sBAAsB,CAAA;AAAA,IAClD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,wBAAwBH,6BAAA,CAAY;AAAA,EAC/C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,sBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,cAAA,EAAgBC,uCAAA;AAAA,EAChB,OAAA,EAAS,iBAAA;AAAA,EACT,WAAA,EAAa,0FAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,SAAS,OAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,gBAAe,KAAM;AACtD,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAC1D,MAAA,MAAM,YAAA,GAAe,KAAA;AACrB,MAAA,MAAM,MAAA,GAAS,MAAM,WAAA,CAAY;AAAA,QAC/B,MAAA;AAAA,QACA,KAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACD,CAAA;AACD,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOF,6BAAA,CAAY,OAAO,qBAAqB,CAAA;AAAA,IACjD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,uBAGTH,6BAAA,CAAY;AAAA,EACd,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,+BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBC,wCAAA;AAAA,EAChB,OAAA,EAAS,yBAAA;AAAA,EACT,WAAA,EAAa,gFAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,OAAA,EAAS,OAAO,EAAE,OAAA,EAAS,QAAQ,WAAA,EAAa,GAAG,QAAO,KAAM;AAC9D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAI1D,MAAAC,8BAAA,CAAa,MAAA,EAAQ,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAA,MAAM,EAAE,QAAA,EAAU,GAAG,IAAA,EAAK,GAAI,MAAA;AAE9B,MAAAC,8BAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,MAAA,MAAM,MAAA,GAAS,MAAM,KAAA,CAAM,QAAA,CAAS,QAAA,EAAU;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH;AAAA,OACD,CAAA;AAED,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAON,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAGM,IAAM,wBAAwBH,6BAAA,CAAY;AAAA,EAC/C,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,sCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBC,wCAAA;AAAA,EAChB,OAAA,EAAS,0CAAA;AAAA,EACT,WAAA,EAAa,4FAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,QAAQ,CAAA;AAAA,EACzB,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAS,WAAA,EAAa,GAAG,QAAO,KAAM;AAC9D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAI1D,MAAAC,8BAAA,CAAa,MAAA,EAAQ,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAY,YAAY,QAAA,EAAU,GAAG,MAAK,GAAI,MAAA;AAEhE,MAAA,MAAM,kBAAkB,UAAA,IAAc,UAAA;AAEtC,MAAAC,8BAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,MAAA,IAAK,QAAA,IAAY,CAAC,eAAA,IAAqB,CAAC,YAAY,eAAA,EAAkB;AACpE,QAAA,MAAM,IAAIZ,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,gDAAgD,CAAA;AAAA,MAC1F;AAEA,MAAA,MAAM,MAAA,GAAS,MAAM,KAAA,CAAM,cAAA,CAAe,QAAA,EAAU;AAAA,QAClD,GAAG,IAAA;AAAA,QACH,WAAA;AAAA,QACA,YAAY,eAAA,IAAmB,EAAA;AAAA,QAC/B,UAAU,QAAA,IAAY;AAAA,OACvB,CAAA;AAED,MAAA,OAAO,MAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOM,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,+BAA+BH,6BAAA,CAAY;AAAA,EACtD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,oCAAA;AAAA,EACN,YAAA,EAAc,qBAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBI,sCAAA;AAAA,EAChB,OAAA,EAAS,wCAAA;AAAA,EACT,WAAA,EAAa,yFAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,QAAQ,CAAA;AAAA,EACzB,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAS,WAAA,EAAa,GAAG,QAAO,KAAM;AAC9D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAI1D,MAAAF,8BAAA,CAAa,MAAA,EAAQ,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAY,YAAY,QAAA,EAAU,GAAG,MAAK,GAAI,MAAA;AAEhE,MAAA,MAAM,kBAAkB,UAAA,IAAc,UAAA;AAEtC,MAAAC,8BAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,MAAA,IAAK,QAAA,IAAY,CAAC,eAAA,IAAqB,CAAC,YAAY,eAAA,EAAkB;AACpE,QAAA,MAAM,IAAIZ,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,gDAAgD,CAAA;AAAA,MAC1F;AAEA,MAAA,MAAM,YAAA,GAAe,MAAM,KAAA,CAAM,YAAA,CAAa,QAAA,EAAU;AAAA,QACtD,GAAG,IAAA;AAAA,QACH,WAAA;AAAA,QACA,YAAY,eAAA,IAAmB,EAAA;AAAA,QAC/B,UAAU,QAAA,IAAY;AAAA,OACvB,CAAA;AAED,MAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,MAAA,GACxB,YAAA,CAAa,oBAAA,CAAqB;AAAA,QAChC,OAAA,EAAS;AAAA,UACP,mBAAA,EAAqB;AAAA;AACvB,OACD,CAAA,GACD,YAAA,CAAa,oBAAA,CAAqB;AAAA,QAChC,SAAA,EAAW,IAAA;AAAA,QACX,aAAA,EAAe,IAAA;AAAA,QACf,eAAA,EAAiB,CAAC,KAAA,KAAe;AAC/B,UAAA,OAAO,CAAA,iDAAA,EAAoD,iBAAiB,KAAA,GAAQ,KAAA,CAAM,UAAU,IAAA,CAAK,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,QAC3H,CAAA;AAAA,QACA,OAAA,EAAS;AAAA,UACP,mBAAA,EAAqB;AAAA;AACvB,OACD,CAAA;AAEL,MAAA,OAAO,cAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAOM,6BAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,IAC5D;AAAA,EACF;AACF,CAAC;AAEM,IAAM,sBAAsBH,6BAAA,CAAY;AAAA,EAC7C,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,uBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,cAAA,EAAgBW,yCAAA;AAAA,EAChB,OAAA,EAAS,mBAAA;AAAA,EACT,WAAA,EAAa,qDAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,SAAS,YAAY;AACnB,IAAA,IAAI;AACF,MAAA,MAAM,SAAA,GAAY,MAAA,CAAO,OAAA,CAAQC,qBAAiB,CAAA,CAAE,IAAI,CAAC,CAAC,EAAA,EAAI,QAAQ,CAAA,KAAM;AAE1E,QAAA,MAAM,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAS,YAAY,IAAI,QAAA,CAAS,YAAA,GAAe,CAAC,QAAA,CAAS,YAAY,CAAA;AACrG,QAAA,MAAM,SAAA,GAAY,QAAQ,KAAA,CAAM,CAAA,MAAA,KAAU,CAAC,CAAC,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAC,CAAA;AAE/D,QAAA,OAAO;AAAA,UACL,EAAA;AAAA,UACA,MAAM,QAAA,CAAS,IAAA;AAAA,UACf,KAAA,EAAQ,QAAA,CAAiB,KAAA,IAAS,QAAA,CAAS,IAAA;AAAA,UAC3C,WAAA,EAAc,SAAiB,WAAA,IAAe,EAAA;AAAA,UAC9C,QAAQ,QAAA,CAAS,YAAA;AAAA,UACjB,SAAA;AAAA,UACA,QAAQ,QAAA,CAAS,MAAA;AAAA,UACjB,MAAA,EAAQ,CAAC,GAAG,QAAA,CAAS,MAAM;AAAA;AAAA,SAC7B;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAO,EAAE,SAAA,EAAU;AAAA,IACrB,SAAS,KAAA,EAAO;AACd,MAAA,OAAOT,6BAAA,CAAY,OAAO,0BAA0B,CAAA;AAAA,IACtD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,6BAGTH,6BAAA,CAAY;AAAA,EACd,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,qCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBC,wCAAA;AAAA,EAChB,OAAA,EAAS,mCAAA;AAAA,EACT,WAAA,EAAa,mCAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,SAAS,oBAAA,CAAqB;AAChC,CAAC;AAEM,IAAM,wBAAwBP,6BAAA,CAAY;AAAA,EAC/C,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,6BAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,YAAA,EAAc,KAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBI,sCAAA;AAAA,EAChB,OAAA,EAAS,uBAAA;AAAA,EACT,WAAA,EAAa,oFAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAS,WAAA,EAAa,GAAG,QAAO,KAAM;AAC9D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAI1D,MAAAF,8BAAA,CAAa,MAAA,EAAQ,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAA,MAAM,EAAE,QAAA,EAAU,GAAG,IAAA,EAAK,GAAI,MAAA;AAC9B,MAAAC,8BAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,MAAA,MAAM,YAAA,GAAe,MAAM,KAAA,CAAM,MAAA,CAAO,QAAA,EAAU;AAAA,QAChD,GAAG,IAAA;AAAA,QACH;AAAA,OACD,CAAA;AAED,MAAA,OAAO,YAAA,CAAa,UAAA;AAAA,IACtB,SAAS,KAAA,EAAO;AACd,MAAA,OAAON,6BAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,IAC5D;AAAA,EACF;AACF,CAAC;AAEM,IAAM,yCAAyCH,6BAAA,CAAY;AAAA,EAChE,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,mCAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBI,sCAAA;AAAA,EAChB,OAAA,EAAS,iCAAA;AAAA,EACT,WAAA,EAAa,uEAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,UAAA,EAAY,IAAA;AAAA,EACZ,SAAS,qBAAA,CAAsB;AACjC,CAAC;AAEM,IAAM,0BAA0BV,6BAAA,CAAY;AAAA,EACjD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,wCAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,YAAA,EAAc,KAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYS,2CAAA;AAAA,EACZ,cAAA,EAAgBC,wCAAA;AAAA,EAChB,OAAA,EAAS,mBAAA;AAAA,EACT,WAAA,EAAa,4DAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAS,WAAA,EAAa,GAAG,QAAO,KAAM;AAC9D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,IAAI,CAAC,OAAO,KAAA,EAAO;AACjB,QAAA,MAAM,IAAIjB,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,MAChE;AAEA,MAAA,IAAI,CAAC,OAAO,UAAA,EAAY;AACtB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,MACtE;AAIA,MAAAW,8BAAA,CAAa,MAAA,EAAQ,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAA,MAAM,YAAA,GAAe,MAAM,KAAA,CAAM,eAAA,CAAgB;AAAA,QAC/C,GAAG,MAAA;AAAA,QACH;AAAA,OACD,CAAA;AAED,MAAA,OAAO,YAAA,CAAa,UAAA;AAAA,IACtB,SAAS,KAAA,EAAO;AACd,MAAA,OAAOL,6BAAA,CAAY,OAAO,2BAA2B,CAAA;AAAA,IACvD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,0BAA0BH,6BAAA,CAAY;AAAA,EACjD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,wCAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,YAAA,EAAc,KAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYW,2CAAA;AAAA,EACZ,cAAA,EAAgBD,wCAAA;AAAA,EAChB,OAAA,EAAS,mBAAA;AAAA,EACT,WAAA,EAAa,uFAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,EACxB,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAS,WAAA,EAAa,GAAG,QAAO,KAAM;AAC9D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,IAAI,CAAC,OAAO,KAAA,EAAO;AACjB,QAAA,MAAM,IAAIjB,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,sBAAsB,CAAA;AAAA,MAChE;AAEA,MAAA,IAAI,CAAC,OAAO,UAAA,EAAY;AACtB,QAAA,MAAM,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4BAA4B,CAAA;AAAA,MACtE;AAIA,MAAAW,8BAAA,CAAa,MAAA,EAAQ,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAA,MAAM,YAAA,GAAe,MAAM,KAAA,CAAM,eAAA,CAAgB;AAAA,QAC/C,GAAG,MAAA;AAAA,QACH;AAAA,OACD,CAAA;AAED,MAAA,OAAO,YAAA,CAAa,UAAA;AAAA,IACtB,SAAS,KAAA,EAAO;AACd,MAAA,OAAOL,6BAAA,CAAY,OAAO,2BAA2B,CAAA;AAAA,IACvD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,uBAAuBH,6BAAA,CAAY;AAAA,EAC9C,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,8BAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,YAAA,EAAc,KAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA,CAAyB,MAAA,CAAO,EAAE,MAAA,EAAQL,MAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG,CAAA;AAAA,EAC7E,cAAA,EAAgBS,sCAAA;AAAA,EAChB,OAAA,EAAS,sBAAA;AAAA,EACT,WAAA,EAAa,yEAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,UAAU,OAAA,EAAS,GAAG,QAAO,KAAM;AAC3D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAI1D,MAAAF,8BAAA,CAAa,MAAA,EAAQ,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAAC,8BAAA,CAAa,EAAE,UAAU,CAAA;AAEzB,MAAA,MAAM,YAAA,GAAe,MAAM,KAAA,CAAM,OAAA,CAAQ,QAAA,EAAU;AAAA,QACjD,GAAG,MAAA;AAAA,QACH,MAAA,EAAQ;AAAA,UACN,MAAA,EAAQ,MAAA,CAAO,MAAA,IAAU,MAAA,CAAO,QAAA,IAAY,EAAA;AAAA,UAC5C,QAAA,EAAU,OAAO,UAAA,IAAc,EAAA;AAAA,UAC/B,OAAA,EAAS,MAAA,CAAO,MAAA,EAAQ,OAAA,IAAW;AAAC;AACtC,OACD,CAAA;AAED,MAAA,OAAO,YAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,OAAON,6BAAA,CAAY,OAAO,qCAAqC,CAAA;AAAA,IACjE;AAAA,EACF;AACF,CAAC;AAEM,IAAM,2BAA2BH,6BAAA,CAAY;AAAA,EAClD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,4BAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYY,4CAAA;AAAA,EACZ,cAAA,EAAgBC,+CAAA;AAAA,EAChB,OAAA,EAAS,oBAAA;AAAA,EACT,WAAA,EAAa,wCAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,QAAQ,CAAA;AAAA,EACzB,SAAS,OAAO,EAAE,QAAQ,OAAA,EAAS,OAAA,EAAS,UAAS,KAAM;AACzD,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAG1D,MAAA,MAAM,QAAA,GAAW,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA;AAEvC,MAAA,KAAA,CAAM,aAAA,CAAc,EAAE,KAAA,EAAO,QAAA,EAAU,CAAA;AAEvC,MAAA,OAAO,EAAE,SAAS,qBAAA,EAAsB;AAAA,IAC1C,SAAS,KAAA,EAAO;AACd,MAAA,OAAOd,6BAAA,CAAY,OAAO,4BAA4B,CAAA;AAAA,IACxD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,0BAA0BH,6BAAA,CAAY;AAAA,EACjD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,kCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,cAAA,EAAgBa,+CAAA;AAAA,EAChB,OAAA,EAAS,mBAAA;AAAA,EACT,WAAA,EAAa,sDAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,QAAQ,CAAA;AAAA,EACzB,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,SAAQ,KAAM;AACtC,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,KAAA,CAAM,sBAAA,EAAuB;AAE7B,MAAA,OAAO,EAAE,SAAS,+BAAA,EAAgC;AAAA,IACpD,SAAS,KAAA,EAAO;AACd,MAAA,OAAOd,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,iCAAiCH,6BAAA,CAAY;AAAA,EACxD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,qCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYc,iDAAA;AAAA,EACZ,cAAA,EAAgBD,+CAAA;AAAA,EAChB,OAAA,EAAS,0BAAA;AAAA,EACT,WAAA,EAAa,uEAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,QAAQ,CAAA;AAAA,EACzB,SAAS,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,mBAAkB,KAAM;AACzD,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,MAAM,SAAA,GAAY,MAAM,KAAA,CAAM,YAAA,EAAa;AAC3C,MAAA,IAAI,CAAC,SAAA,IAAa,SAAA,CAAU,MAAA,KAAW,CAAA,EAAG;AACxC,QAAA,MAAM,IAAIpB,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAEA,MAAA,KAAA,CAAM,cAAc,iBAAiB,CAAA;AAErC,MAAA,OAAO,EAAE,SAAS,sBAAA,EAAuB;AAAA,IAC3C,SAAS,KAAA,EAAO;AACd,MAAA,OAAOM,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,yCAAyCH,6BAAA,CAAY;AAAA,EAChE,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,4CAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBmB,yCAAA;AAAA,EACjB,UAAA,EAAYC,uDAAA;AAAA,EACZ,cAAA,EAAgBH,+CAAA;AAAA,EAChB,OAAA,EAAS,4BAAA;AAAA,EACT,WAAA,EAAa,gEAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAA,EAAU,QAAQ,CAAA;AAAA,EACzB,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,eAAe,KAAA,EAAO,SAAA,EAAW,UAAA,EAAY,OAAA,EAAQ,KAAM;AAC5F,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAM,kBAAA,CAAmB,EAAE,MAAA,EAAQ,SAAS,CAAA;AAE1D,MAAA,MAAM,SAAA,GAAY,MAAM,KAAA,CAAM,YAAA,EAAa;AAC3C,MAAA,IAAI,CAAC,SAAA,IAAa,SAAA,CAAU,MAAA,KAAW,CAAA,EAAG;AACxC,QAAA,MAAM,IAAIpB,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,0CAA0C,CAAA;AAAA,MACpF;AAEA,MAAA,MAAM,cAAc,SAAA,CAAU,IAAA,CAAK,CAAA,MAAA,KAAU,MAAA,CAAO,OAAO,aAAa,CAAA;AACxE,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,MAAM,IAAIA,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,qBAAA,EAAwB,aAAa,cAAc,CAAA;AAAA,MAC7F;AAEA,MAAA,MAAM,QAAA,GACJ,SAAA,EAAW,OAAA,IAAW,SAAA,EAAW,QAAA,GAAW,CAAA,EAAG,SAAA,CAAU,QAAQ,CAAA,CAAA,EAAI,SAAA,CAAU,OAAO,CAAA,CAAA,GAAK,WAAA,CAAY,KAAA;AAEzG,MAAA,MAAM,OAAA,GAAU;AAAA,QACd,GAAG,WAAA;AAAA,QACH,KAAA,EAAO,QAAA;AAAA,QACP,GAAI,UAAA,KAAe,MAAA,GAAY,EAAE,UAAA,KAAe,EAAC;AAAA,QACjD,GAAI,OAAA,KAAY,MAAA,GAAY,EAAE,OAAA,KAAY;AAAC,OAC7C;AAEA,MAAA,KAAA,CAAM,uBAAuB,OAAO,CAAA;AAEpC,MAAA,OAAO,EAAE,SAAS,6BAAA,EAA8B;AAAA,IAClD,SAAS,KAAA,EAAO;AACd,MAAA,OAAOM,6BAAA,CAAY,OAAO,oCAAoC,CAAA;AAAA,IAChE;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gCAAgCH,6BAAA,CAAY;AAAA,EACvD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,kCAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBI,sCAAA;AAAA,EAChB,OAAA,EAAS,iCAAA;AAAA,EACT,WAAA,EAAa,uEAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,UAAA,EAAY,IAAA;AAAA,EACZ,SAAS,YAAY;AACnB,IAAA,MAAM,IAAIb,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,4DAA4D,CAAA;AAAA,EACtG;AACF,CAAC;AAEM,IAAM,2CAA2CG,6BAAA,CAAY;AAAA,EAClE,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,sCAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBI,sCAAA;AAAA,EAChB,OAAA,EAAS,kCAAA;AAAA,EACT,WAAA,EACE,+GAAA;AAAA,EACF,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,UAAA,EAAY,IAAA;AAAA,EACZ,SAAS,YAAY;AACnB,IAAA,IAAI;AACF,MAAA,MAAM,IAAIW,iBAAA,CAAY;AAAA,QACpB,UAAUC,mBAAA,CAAc,IAAA;AAAA,QACxB,QAAQC,iBAAA,CAAY,aAAA;AAAA,QACpB,EAAA,EAAI,qBAAA;AAAA,QACJ,IAAA,EAAM;AAAA,OACP,CAAA;AAAA,IACH,SAAS,KAAA,EAAO;AACd,MAAA,OAAOpB,6BAAA,CAAY,OAAO,gCAAgC,CAAA;AAAA,IAC5D;AAAA,EACF;AACF,CAAC;AAEM,IAAM,qCAAqCH,6BAAA,CAAY;AAAA,EAC5D,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,gCAAA;AAAA,EACN,YAAA,EAAc,QAAA;AAAA,EACd,eAAA,EAAiBI,mCAAA;AAAA,EACjB,UAAA,EAAYE,0CAAA;AAAA,EACZ,cAAA,EAAgBI,sCAAA;AAAA,EAChB,OAAA,EAAS,kCAAA;AAAA,EACT,WAAA,EACE,+GAAA;AAAA,EACF,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,UAAA,EAAY,IAAA;AAAA,EACZ,SAAS,wCAAA,CAAyC;AACpD,CAAC","file":"chunk-FMTSLS25.cjs","sourcesContent":["import type { Agent, AgentModelManagerConfig } from '@mastra/core/agent';\nimport { ErrorCategory, ErrorDomain, MastraError } from '@mastra/core/error';\nimport { PROVIDER_REGISTRY } from '@mastra/core/llm';\nimport type { SystemMessage } from '@mastra/core/llm';\nimport type { InputProcessor, OutputProcessor } from '@mastra/core/processors';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { z } from 'zod';\n\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n listAgentsResponseSchema,\n serializedAgentSchema,\n agentExecutionBodySchema,\n generateResponseSchema,\n streamResponseSchema,\n providersResponseSchema,\n approveToolCallBodySchema,\n declineToolCallBodySchema,\n toolCallResponseSchema,\n updateAgentModelBodySchema,\n reorderAgentModelListBodySchema,\n updateAgentModelInModelListBodySchema,\n modelManagementResponseSchema,\n modelConfigIdPathParams,\n} from '../schemas/agents';\nimport type { ServerRoute } from '../server-adapter/routes';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\nexport interface SerializedProcessor {\n id: string;\n name?: string;\n}\n\nexport interface SerializedTool {\n id: string;\n description?: string;\n inputSchema?: string;\n outputSchema?: string;\n requireApproval?: boolean;\n}\n\ninterface SerializedToolInput {\n id?: string;\n description?: string;\n inputSchema?: { jsonSchema?: unknown } | unknown;\n outputSchema?: { jsonSchema?: unknown } | unknown;\n}\n\nexport interface SerializedWorkflow {\n name: string;\n steps?: Record<string, { id: string; description?: string }>;\n}\n\nexport interface SerializedAgent {\n name: string;\n description?: string;\n instructions?: SystemMessage;\n tools: Record<string, SerializedTool>;\n agents: Record<string, SerializedAgentDefinition>;\n workflows: Record<string, SerializedWorkflow>;\n inputProcessors: SerializedProcessor[];\n outputProcessors: SerializedProcessor[];\n provider?: string;\n modelId?: string;\n modelVersion?: string;\n modelList?: Array<\n Omit<AgentModelManagerConfig, 'model'> & {\n model: {\n modelId: string;\n provider: string;\n modelVersion: string;\n };\n }\n >;\n // We can't use the true types here because they are not serializable\n defaultOptions?: Record<string, unknown>;\n defaultGenerateOptionsLegacy?: Record<string, unknown>;\n defaultStreamOptionsLegacy?: Record<string, unknown>;\n}\n\nexport interface SerializedAgentWithId extends SerializedAgent {\n id: string;\n}\n\nexport async function getSerializedAgentTools(\n tools: Record<string, SerializedToolInput>,\n partial: boolean = false,\n): Promise<Record<string, SerializedTool>> {\n return Object.entries(tools || {}).reduce<Record<string, SerializedTool>>((acc, [key, tool]) => {\n const toolId = tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn: string | undefined = undefined;\n let outputSchemaForReturn: string | undefined = undefined;\n\n // Only process schemas if not in partial mode\n if (!partial) {\n try {\n if (tool.inputSchema) {\n if (tool.inputSchema && typeof tool.inputSchema === 'object' && 'jsonSchema' in tool.inputSchema) {\n inputSchemaForReturn = stringify(tool.inputSchema.jsonSchema);\n } else if (typeof tool.inputSchema === 'function') {\n const inputSchema = tool.inputSchema();\n if (inputSchema && inputSchema.jsonSchema) {\n inputSchemaForReturn = stringify(inputSchema.jsonSchema);\n }\n } else if (tool.inputSchema) {\n inputSchemaForReturn = stringify(\n zodToJsonSchema(tool.inputSchema as Parameters<typeof zodToJsonSchema>[0]),\n );\n }\n }\n\n if (tool.outputSchema) {\n if (tool.outputSchema && typeof tool.outputSchema === 'object' && 'jsonSchema' in tool.outputSchema) {\n outputSchemaForReturn = stringify(tool.outputSchema.jsonSchema);\n } else if (typeof tool.outputSchema === 'function') {\n const outputSchema = tool.outputSchema();\n if (outputSchema && outputSchema.jsonSchema) {\n outputSchemaForReturn = stringify(outputSchema.jsonSchema);\n }\n } else if (tool.outputSchema) {\n outputSchemaForReturn = stringify(\n zodToJsonSchema(tool.outputSchema as Parameters<typeof zodToJsonSchema>[0]),\n );\n }\n }\n } catch (error) {\n console.error(`Error getting serialized tool`, {\n toolId: tool.id,\n error,\n });\n }\n }\n\n acc[key] = {\n ...tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nexport function getSerializedProcessors(processors: (InputProcessor | OutputProcessor)[]): SerializedProcessor[] {\n return processors.map(processor => {\n // Processors are class instances or objects with a name property\n // Use the name property if available, otherwise fall back to constructor name\n return {\n id: processor.id,\n name: processor.name || processor.constructor.name,\n };\n });\n}\n\ninterface SerializedAgentDefinition {\n id: string;\n name: string;\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n requestContext,\n}: {\n agent: Agent;\n requestContext: RequestContext;\n}): Promise<Record<string, SerializedAgentDefinition>> {\n let serializedAgentAgents: Record<string, SerializedAgentDefinition> = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ requestContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<Record<string, SerializedAgentDefinition>>(\n (acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n },\n {},\n );\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n requestContext,\n partial = false,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n partial?: boolean;\n}): Promise<SerializedAgentWithId> {\n const description = agent.getDescription();\n const instructions = await agent.getInstructions({ requestContext });\n const tools = await agent.listTools({ requestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext });\n const serializedAgentTools = await getSerializedAgentTools(tools, partial);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps?: Record<string, { id: string; description?: string }> }\n > = {};\n\n if ('listWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps?: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });\n\n // Get and serialize processors\n const inputProcessors = await agent.listInputProcessors(requestContext);\n const outputProcessors = await agent.listOutputProcessors(requestContext);\n const serializedInputProcessors = getSerializedProcessors(inputProcessors);\n const serializedOutputProcessors = getSerializedProcessors(outputProcessors);\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n return {\n id: agent.id || id,\n name: agent.name,\n description,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultOptions,\n modelList,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n };\n}\n\nexport async function getAgentFromSystem({ mastra, agentId }: { mastra: Context['mastra']; agentId: string }) {\n const logger = mastra.getLogger();\n\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n let agent;\n\n try {\n agent = mastra.getAgentById(agentId);\n } catch (error) {\n logger.debug('Error getting agent from mastra, searching agents for agent', error);\n }\n\n if (!agent) {\n logger.debug(`Agent ${agentId} not found, looking through sub-agents`);\n const agents = mastra.listAgents();\n if (Object.keys(agents || {}).length) {\n for (const [_, ag] of Object.entries(agents)) {\n try {\n const subAgents = await ag.listAgents();\n\n if (subAgents[agentId]) {\n agent = subAgents[agentId];\n break;\n }\n } catch (error) {\n logger.debug('Error getting agent from agent', error);\n }\n }\n }\n }\n\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n\n return agent;\n}\n\nasync function formatAgent({\n mastra,\n agent,\n requestContext,\n isPlayground,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n isPlayground: boolean;\n}): Promise<SerializedAgent> {\n const description = agent.getDescription();\n const tools = await agent.listTools({ requestContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps: Record<string, { id: string; description?: string }> }\n > = {};\n\n if ('listWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n steps: Object.entries(workflow.steps).reduce<Record<string, { id: string; description?: string }>>(\n (acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n },\n {},\n ),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n let proxyRequestContext = requestContext;\n if (isPlayground) {\n proxyRequestContext = new Proxy(requestContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ requestContext: proxyRequestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({\n requestContext: proxyRequestContext,\n });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext: proxyRequestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext: proxyRequestContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext: proxyRequestContext });\n\n // Get and serialize processors\n const inputProcessors = await agent.listInputProcessors(proxyRequestContext);\n const outputProcessors = await agent.listOutputProcessors(proxyRequestContext);\n const serializedInputProcessors = getSerializedProcessors(inputProcessors);\n const serializedOutputProcessors = getSerializedProcessors(outputProcessors);\n\n return {\n name: agent.name,\n description,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultOptions,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_AGENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents',\n responseType: 'json',\n queryParamSchema: z.object({\n partial: z.string().optional(),\n }),\n responseSchema: listAgentsResponseSchema,\n summary: 'List all agents',\n description: 'Returns a list of all available agents in the system',\n tags: ['Agents'],\n handler: async ({ mastra, requestContext, partial }) => {\n try {\n const agents = mastra.listAgents();\n\n const isPartial = partial === 'true';\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, requestContext, partial: isPartial });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<Record<string, (typeof serializedAgentsMap)[number]>>(\n (acc, { id, ...rest }) => {\n acc[id] = { id, ...rest };\n return acc;\n },\n {},\n );\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n },\n});\n\nexport const GET_AGENT_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: serializedAgentSchema,\n summary: 'Get agent by ID',\n description: 'Returns details for a specific agent including configuration, tools, and memory settings',\n tags: ['Agents'],\n handler: async ({ agentId, mastra, requestContext }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n const isPlayground = false; // TODO: Get from context if needed\n const result = await formatAgent({\n mastra,\n agent,\n requestContext,\n isPlayground,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n },\n});\n\nexport const GENERATE_AGENT_ROUTE: ServerRoute<\n z.infer<typeof agentIdPathParams> & z.infer<typeof agentExecutionBodySchema>,\n unknown\n> = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate agent response',\n description: 'Executes an agent with the provided messages and returns the complete response',\n tags: ['Agents'],\n handler: async ({ agentId, mastra, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, ...rest } = params;\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\n// Legacy routes (deprecated)\nexport const GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate-legacy',\n responseType: 'json' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: '[DEPRECATED] Generate with legacy format',\n description: 'Legacy endpoint for generating agent responses. Use /api/agents/:agentId/generate instead.',\n tags: ['Agents', 'Legacy'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n validateBody({ messages });\n\n if ((threadId && !finalResourceId) || (!threadId && finalResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n const result = await agent.generateLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: finalResourceId ?? '',\n threadId: threadId ?? '',\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\nexport const STREAM_GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream-legacy',\n responseType: 'datastream-response' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Stream with legacy format',\n description: 'Legacy endpoint for streaming agent responses. Use /api/agents/:agentId/stream instead.',\n tags: ['Agents', 'Legacy'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n validateBody({ messages });\n\n if ((threadId && !finalResourceId) || (!threadId && finalResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n const streamResult = await agent.streamLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: finalResourceId ?? '',\n threadId: threadId ?? '',\n });\n\n const streamResponse = rest.output\n ? streamResult.toTextStreamResponse({\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n })\n : streamResult.toDataStreamResponse({\n sendUsage: true,\n sendReasoning: true,\n getErrorMessage: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const GET_PROVIDERS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/providers',\n responseType: 'json',\n responseSchema: providersResponseSchema,\n summary: 'List AI providers',\n description: 'Returns a list of all configured AI model providers',\n tags: ['Agents'],\n handler: async () => {\n try {\n const providers = Object.entries(PROVIDER_REGISTRY).map(([id, provider]) => {\n // Check if the provider is connected by checking for its API key env var(s)\n const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];\n const connected = envVars.every(envVar => !!process.env[envVar]);\n\n return {\n id,\n name: provider.name,\n label: (provider as any).label || provider.name,\n description: (provider as any).description || '',\n envVar: provider.apiKeyEnvVar,\n connected,\n docUrl: provider.docUrl,\n models: [...provider.models], // Convert readonly array to regular array\n };\n });\n return { providers };\n } catch (error) {\n return handleError(error, 'Error fetching providers');\n }\n },\n});\n\nexport const GENERATE_AGENT_VNEXT_ROUTE: ServerRoute<\n z.infer<typeof agentIdPathParams> & z.infer<typeof agentExecutionBodySchema>,\n unknown\n> = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate/vnext',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate a response from an agent',\n description: 'Generate a response from an agent',\n tags: ['Agents'],\n handler: GENERATE_AGENT_ROUTE.handler,\n});\n\nexport const STREAM_GENERATE_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream agent response',\n description: 'Executes an agent with the provided messages and streams the response in real-time',\n tags: ['Agents'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, ...rest } = params;\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/vnext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n deprecated: true,\n handler: STREAM_GENERATE_ROUTE.handler,\n});\n\nexport const APPROVE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/approve-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: approveToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Approve tool call',\n description: 'Approves a pending tool call and continues agent execution',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.approveToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error approving tool call');\n }\n },\n});\n\nexport const DECLINE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/decline-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: declineToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Decline tool call',\n description: 'Declines a pending tool call and continues agent execution without executing the tool',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.declineToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error declining tool call');\n }\n },\n});\n\nexport const STREAM_NETWORK_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/network',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema.extend({ thread: z.string().optional() }),\n responseSchema: streamResponseSchema,\n summary: 'Stream agent network',\n description: 'Executes an agent network with multiple agents and streams the response',\n tags: ['Agents'],\n handler: async ({ mastra, messages, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n validateBody({ messages });\n\n const streamResult = await agent.network(messages, {\n ...params,\n memory: {\n thread: params.thread ?? params.threadId ?? '',\n resource: params.resourceId ?? '',\n options: params.memory?.options ?? {},\n },\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/model',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: updateAgentModelBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update agent model',\n description: 'Updates the AI model used by the agent',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, modelId, provider }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // Use the universal Mastra router format: provider/model\n const newModel = `${provider}/${modelId}`;\n\n agent.__updateModel({ model: newModel });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n },\n});\n\nexport const RESET_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/model/reset',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reset agent model',\n description: 'Resets the agent model to its original configuration',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n agent.__resetToOriginalModel();\n\n return { message: 'Agent model reset to original' };\n } catch (error) {\n return handleError(error, 'error resetting agent model');\n }\n },\n});\n\nexport const REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/models/reorder',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: reorderAgentModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reorder agent model list',\n description: 'Reorders the model list for agents with multiple model configurations',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, reorderedModelIds }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n agent.reorderModels(reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/models/:modelConfigId',\n responseType: 'json',\n pathParamSchema: modelConfigIdPathParams,\n bodySchema: updateAgentModelInModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update model in model list',\n description: 'Updates a specific model configuration in the agent model list',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, modelConfigId, model: bodyModel, maxRetries, enabled }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n const modelConfig = modelList.find(config => config.id === modelConfigId);\n if (!modelConfig) {\n throw new HTTPException(404, { message: `Model config with id ${modelConfigId} not found` });\n }\n\n const newModel =\n bodyModel?.modelId && bodyModel?.provider ? `${bodyModel.provider}/${bodyModel.modelId}` : modelConfig.model;\n\n const updated = {\n ...modelConfig,\n model: newModel,\n ...(maxRetries !== undefined ? { maxRetries } : {}),\n ...(enabled !== undefined ? { enabled } : {}),\n };\n\n agent.updateModelInModelList(updated);\n\n return { message: 'Model updated in model list' };\n } catch (error) {\n return handleError(error, 'error updating model in model list');\n }\n },\n});\n\nexport const STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/streamVNext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n deprecated: true,\n handler: async () => {\n throw new HTTPException(410, { message: 'This endpoint is deprecated. Please use /stream instead.' });\n },\n});\n\nexport const STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/vnext/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n deprecated: true,\n handler: async () => {\n try {\n throw new MastraError({\n category: ErrorCategory.USER,\n domain: ErrorDomain.MASTRA_SERVER,\n id: 'DEPRECATED_ENDPOINT',\n text: 'This endpoint is deprecated. Please use the @mastra/ai-sdk package to for uiMessage transformations',\n });\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n deprecated: true,\n handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler,\n});\n"]}
@@ -1,5 +1,5 @@
1
- import { paginationInfoSchema, runIdSchema } from './chunk-PKRHEXX7.js';
2
- import { createRoute } from './chunk-LZDCXQMX.js';
1
+ import { paginationInfoSchema, runIdSchema } from './chunk-HT4LP3BO.js';
2
+ import { createRoute } from './chunk-SXVANU23.js';
3
3
  import { handleError } from './chunk-UXGQZUYZ.js';
4
4
  import { HTTPException } from './chunk-6QWQZI4Q.js';
5
5
  import { __export } from './chunk-PR4QN5HX.js';
@@ -306,5 +306,5 @@ var SAVE_SCORE_ROUTE = createRoute({
306
306
  });
307
307
 
308
308
  export { GET_SCORER_ROUTE, LIST_SCORERS_ROUTE, LIST_SCORES_BY_ENTITY_ID_ROUTE, LIST_SCORES_BY_RUN_ID_ROUTE, LIST_SCORES_BY_SCORER_ID_ROUTE, SAVE_SCORE_ROUTE, scores_exports };
309
- //# sourceMappingURL=chunk-A6MQQTHN.js.map
310
- //# sourceMappingURL=chunk-A6MQQTHN.js.map
309
+ //# sourceMappingURL=chunk-FYY54HZC.js.map
310
+ //# sourceMappingURL=chunk-FYY54HZC.js.map