@mastra/server 1.83.0-alpha.0 → 1.83.0-alpha.1

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 (185) hide show
  1. package/dist/{a2a-DCpd3CTv.js → a2a-CQlJ-SZr.js} +2 -2
  2. package/dist/{a2a-DCpd3CTv.js.map → a2a-CQlJ-SZr.js.map} +1 -1
  3. package/dist/{a2a-kz7NjjCg.cjs → a2a-mDspNbWX.cjs} +2 -2
  4. package/dist/{a2a-kz7NjjCg.cjs.map → a2a-mDspNbWX.cjs.map} +1 -1
  5. package/dist/{agent-builder-uDstZROq.cjs → agent-builder-B9gEkbch.cjs} +3 -3
  6. package/dist/{agent-builder-uDstZROq.cjs.map → agent-builder-B9gEkbch.cjs.map} +1 -1
  7. package/dist/{agent-builder-CocfOSi8.js → agent-builder-BF7OAl_R.js} +3 -3
  8. package/dist/{agent-builder-CocfOSi8.js.map → agent-builder-BF7OAl_R.js.map} +1 -1
  9. package/dist/{agent-versions-BccL4mEW.cjs → agent-versions-CwWhEoU5.cjs} +2 -2
  10. package/dist/{agent-versions-BccL4mEW.cjs.map → agent-versions-CwWhEoU5.cjs.map} +1 -1
  11. package/dist/{agent-versions-DFJyxWY1.js → agent-versions-DfcKpYNW.js} +2 -2
  12. package/dist/{agent-versions-DFJyxWY1.js.map → agent-versions-DfcKpYNW.js.map} +1 -1
  13. package/dist/{agents-BXqMKoOz.js → agents-BCgiMlDq.js} +2 -2
  14. package/dist/{agents-BXqMKoOz.js.map → agents-BCgiMlDq.js.map} +1 -1
  15. package/dist/{agents-DsfsDhIT.cjs → agents-CMEeZr5y.cjs} +217 -57
  16. package/dist/agents-CMEeZr5y.cjs.map +1 -0
  17. package/dist/{agents-DbnPZXIN.cjs → agents-CjcvdF2e.cjs} +2 -2
  18. package/dist/{agents-DbnPZXIN.cjs.map → agents-CjcvdF2e.cjs.map} +1 -1
  19. package/dist/{agents-BI8ez-FT.js → agents-DXlVewzD.js} +217 -57
  20. package/dist/agents-DXlVewzD.js.map +1 -0
  21. package/dist/{api-schema-manifest-DtYTPvh9.cjs → api-schema-manifest-BKnghL_k.cjs} +2 -2
  22. package/dist/{api-schema-manifest-DtYTPvh9.cjs.map → api-schema-manifest-BKnghL_k.cjs.map} +1 -1
  23. package/dist/{api-schema-manifest-ChxbN16M.js → api-schema-manifest-DOuSq4rG.js} +2 -2
  24. package/dist/{api-schema-manifest-ChxbN16M.js.map → api-schema-manifest-DOuSq4rG.js.map} +1 -1
  25. package/dist/{conversations-QuKJVEFe.cjs → conversations-CFj4BnNb.cjs} +2 -2
  26. package/dist/{conversations-QuKJVEFe.cjs.map → conversations-CFj4BnNb.cjs.map} +1 -1
  27. package/dist/{conversations-BbZYXKIa.js → conversations-DjTKtaUi.js} +2 -2
  28. package/dist/{conversations-BbZYXKIa.js.map → conversations-DjTKtaUi.js.map} +1 -1
  29. package/dist/docs/SKILL.md +3 -1
  30. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  31. package/dist/docs/references/docs-agents-resumable-streams.md +140 -0
  32. package/dist/docs/references/docs-server-server-adapters.md +679 -0
  33. package/dist/docs/references/reference-observability-tracing-advanced-queries.md +47 -58
  34. package/dist/{editor-builder-CjJlqR9a.cjs → editor-builder-CBBZxQhO.cjs} +3 -3
  35. package/dist/{editor-builder-CjJlqR9a.cjs.map → editor-builder-CBBZxQhO.cjs.map} +1 -1
  36. package/dist/{editor-builder-Bln4Pg1U.js → editor-builder-fe70YP8g.js} +2 -2
  37. package/dist/{editor-builder-Bln4Pg1U.js.map → editor-builder-fe70YP8g.js.map} +1 -1
  38. package/dist/{editor-builder-CbfX5bvL.js → editor-builder-o9xJHa96.js} +3 -3
  39. package/dist/{editor-builder-CbfX5bvL.js.map → editor-builder-o9xJHa96.js.map} +1 -1
  40. package/dist/{editor-builder-BaI8pttR.cjs → editor-builder-xQmDgVgJ.cjs} +2 -2
  41. package/dist/{editor-builder-BaI8pttR.cjs.map → editor-builder-xQmDgVgJ.cjs.map} +1 -1
  42. package/dist/{observability-mnHHbnoc.cjs → observability-BB0DeGo4.cjs} +3 -2
  43. package/dist/{observability-mnHHbnoc.cjs.map → observability-BB0DeGo4.cjs.map} +1 -1
  44. package/dist/{observability-BCTkIhJT.js → observability-Cl3qZKTD.js} +3 -2
  45. package/dist/{observability-BCTkIhJT.js.map → observability-Cl3qZKTD.js.map} +1 -1
  46. package/dist/{observability-new-endpoints-B6fo20v5.cjs → observability-new-endpoints-DugFsWBU.cjs} +27 -3
  47. package/dist/observability-new-endpoints-DugFsWBU.cjs.map +1 -0
  48. package/dist/{observability-new-endpoints-DHn8uKyr.js → observability-new-endpoints-qE2NutZ1.js} +22 -4
  49. package/dist/observability-new-endpoints-qE2NutZ1.js.map +1 -0
  50. package/dist/{plans-DMs8SVBG.cjs → plans-CQijj_Am.cjs} +3 -3
  51. package/dist/{plans-DMs8SVBG.cjs.map → plans-CQijj_Am.cjs.map} +1 -1
  52. package/dist/{plans-9hdkc-t8.js → plans-DVx9N2re.js} +3 -3
  53. package/dist/{plans-9hdkc-t8.js.map → plans-DVx9N2re.js.map} +1 -1
  54. package/dist/{responses-CNKJoC5a.cjs → responses-DYGS0aiI.cjs} +2 -2
  55. package/dist/{responses-CNKJoC5a.cjs.map → responses-DYGS0aiI.cjs.map} +1 -1
  56. package/dist/{responses-B5_syoSo.js → responses-NM-kLq8b.js} +2 -2
  57. package/dist/{responses-B5_syoSo.js.map → responses-NM-kLq8b.js.map} +1 -1
  58. package/dist/{routes-C0pgNcG-.js → routes-B2XGdvlv.js} +15 -14
  59. package/dist/routes-B2XGdvlv.js.map +1 -0
  60. package/dist/{routes-BYQ38dFx.cjs → routes-CWrdLnBc.cjs} +15 -14
  61. package/dist/routes-CWrdLnBc.cjs.map +1 -0
  62. package/dist/{scorer-versions-vQVWyYWA.cjs → scorer-versions-Bhdvt-cX.cjs} +2 -2
  63. package/dist/{scorer-versions-vQVWyYWA.cjs.map → scorer-versions-Bhdvt-cX.cjs.map} +1 -1
  64. package/dist/{scorer-versions-BZ58s09W.js → scorer-versions-DhT7Lj33.js} +2 -2
  65. package/dist/{scorer-versions-BZ58s09W.js.map → scorer-versions-DhT7Lj33.js.map} +1 -1
  66. package/dist/{scores-Dxa8dDfV.cjs → scores-CWx6H3Z8.cjs} +2 -2
  67. package/dist/{scores-Dxa8dDfV.cjs.map → scores-CWx6H3Z8.cjs.map} +1 -1
  68. package/dist/{scores-B3mS6vqB.js → scores-DTVV_OaX.js} +2 -2
  69. package/dist/{scores-B3mS6vqB.js.map → scores-DTVV_OaX.js.map} +1 -1
  70. package/dist/server/handlers/a2a.cjs +1 -1
  71. package/dist/server/handlers/a2a.js +1 -1
  72. package/dist/server/handlers/agent-builder.cjs +1 -1
  73. package/dist/server/handlers/agent-builder.js +1 -1
  74. package/dist/server/handlers/agent-controller.cjs +13 -2
  75. package/dist/server/handlers/agent-controller.cjs.map +1 -1
  76. package/dist/server/handlers/agent-controller.d.ts.map +1 -1
  77. package/dist/server/handlers/agent-controller.js +13 -2
  78. package/dist/server/handlers/agent-controller.js.map +1 -1
  79. package/dist/server/handlers/agent-versions.cjs +1 -1
  80. package/dist/server/handlers/agent-versions.js +1 -1
  81. package/dist/server/handlers/agents.cjs +1 -1
  82. package/dist/server/handlers/agents.d.ts.map +1 -1
  83. package/dist/server/handlers/agents.js +1 -1
  84. package/dist/server/handlers/conversations.cjs +1 -1
  85. package/dist/server/handlers/conversations.js +1 -1
  86. package/dist/server/handlers/datasets.cjs +4 -2
  87. package/dist/server/handlers/datasets.cjs.map +1 -1
  88. package/dist/server/handlers/datasets.d.ts.map +1 -1
  89. package/dist/server/handlers/datasets.js +4 -2
  90. package/dist/server/handlers/datasets.js.map +1 -1
  91. package/dist/server/handlers/editor-builder.cjs +1 -1
  92. package/dist/server/handlers/editor-builder.js +1 -1
  93. package/dist/server/handlers/error.cjs +1 -0
  94. package/dist/server/handlers/error.cjs.map +1 -1
  95. package/dist/server/handlers/error.d.ts.map +1 -1
  96. package/dist/server/handlers/error.js +1 -0
  97. package/dist/server/handlers/error.js.map +1 -1
  98. package/dist/server/handlers/favorites-enrichment.cjs +1 -1
  99. package/dist/server/handlers/favorites-enrichment.js +1 -1
  100. package/dist/server/handlers/observability-new-endpoints.cjs +2 -1
  101. package/dist/server/handlers/observability-new-endpoints.d.ts +244 -0
  102. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  103. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  104. package/dist/server/handlers/observability-shared.cjs +6 -0
  105. package/dist/server/handlers/observability-shared.cjs.map +1 -1
  106. package/dist/server/handlers/observability-shared.d.ts +6 -0
  107. package/dist/server/handlers/observability-shared.d.ts.map +1 -1
  108. package/dist/server/handlers/observability-shared.js +6 -0
  109. package/dist/server/handlers/observability-shared.js.map +1 -1
  110. package/dist/server/handlers/observability.cjs +3 -2
  111. package/dist/server/handlers/observability.js +3 -3
  112. package/dist/server/handlers/plans.cjs +1 -1
  113. package/dist/server/handlers/plans.js +1 -1
  114. package/dist/server/handlers/responses.cjs +1 -1
  115. package/dist/server/handlers/responses.js +1 -1
  116. package/dist/server/handlers/scorer-versions.cjs +1 -1
  117. package/dist/server/handlers/scorer-versions.js +1 -1
  118. package/dist/server/handlers/scores.cjs +1 -1
  119. package/dist/server/handlers/scores.js +1 -1
  120. package/dist/server/handlers/stored-agent-favorites.cjs +2 -2
  121. package/dist/server/handlers/stored-agent-favorites.js +2 -2
  122. package/dist/server/handlers/stored-agents.cjs +4 -3
  123. package/dist/server/handlers/stored-agents.cjs.map +1 -1
  124. package/dist/server/handlers/stored-agents.d.ts +2 -6
  125. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  126. package/dist/server/handlers/stored-agents.js +4 -3
  127. package/dist/server/handlers/stored-agents.js.map +1 -1
  128. package/dist/server/handlers/stored-scorers.cjs +1 -1
  129. package/dist/server/handlers/stored-scorers.js +1 -1
  130. package/dist/server/handlers/stored-skill-favorites.cjs +1 -1
  131. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  132. package/dist/server/handlers/stored-skills.cjs +1 -1
  133. package/dist/server/handlers/stored-skills.js +1 -1
  134. package/dist/server/handlers/system.cjs +1 -1
  135. package/dist/server/handlers/system.js +1 -1
  136. package/dist/server/handlers/tools.cjs +1 -1
  137. package/dist/server/handlers/tools.js +1 -1
  138. package/dist/server/handlers/workflow-builder.cjs +1 -1
  139. package/dist/server/handlers/workflow-builder.js +1 -1
  140. package/dist/server/handlers/workflows.cjs +1 -1
  141. package/dist/server/handlers/workflows.js +1 -1
  142. package/dist/server/handlers.cjs +10 -10
  143. package/dist/server/handlers.js +10 -10
  144. package/dist/server/schemas/agents.d.ts.map +1 -1
  145. package/dist/server/schemas/feedback.d.ts +49 -0
  146. package/dist/server/schemas/feedback.d.ts.map +1 -1
  147. package/dist/server/schemas/index.cjs +6 -6
  148. package/dist/server/schemas/index.js +6 -6
  149. package/dist/server/schemas/stored-agents.d.ts +5 -10
  150. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  151. package/dist/server/server-adapter/index.cjs +1 -1
  152. package/dist/server/server-adapter/index.js +1 -1
  153. package/dist/server/server-adapter/routes/observability.d.ts +121 -0
  154. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  155. package/dist/server/utils/agent-stream-events.d.ts +2 -0
  156. package/dist/server/utils/agent-stream-events.d.ts.map +1 -1
  157. package/dist/{stored-agents-DA8Zx6o9.js → stored-agents-DmN_pIIl.js} +10 -10
  158. package/dist/stored-agents-DmN_pIIl.js.map +1 -0
  159. package/dist/{stored-agents-TQ2lIFbx.cjs → stored-agents-m0Knvv29.cjs} +10 -10
  160. package/dist/stored-agents-m0Knvv29.cjs.map +1 -0
  161. package/dist/{stored-scorers-DhOq8ZQC.js → stored-scorers-2F2k6XSx.js} +2 -2
  162. package/dist/{stored-scorers-DhOq8ZQC.js.map → stored-scorers-2F2k6XSx.js.map} +1 -1
  163. package/dist/{stored-scorers-FJOs5774.cjs → stored-scorers-iM2Qq9Nh.cjs} +2 -2
  164. package/dist/{stored-scorers-FJOs5774.cjs.map → stored-scorers-iM2Qq9Nh.cjs.map} +1 -1
  165. package/dist/{tools-C9W7WvyI.cjs → tools-7O8cd_4u.cjs} +3 -3
  166. package/dist/{tools-C9W7WvyI.cjs.map → tools-7O8cd_4u.cjs.map} +1 -1
  167. package/dist/{tools-Ce7SFoT1.js → tools-Bf3vq-HD.js} +3 -3
  168. package/dist/{tools-Ce7SFoT1.js.map → tools-Bf3vq-HD.js.map} +1 -1
  169. package/dist/{workflow-builder-BNk301jl.js → workflow-builder-BUQfzD4L.js} +3 -3
  170. package/dist/{workflow-builder-BNk301jl.js.map → workflow-builder-BUQfzD4L.js.map} +1 -1
  171. package/dist/{workflow-builder-CsOEskDo.cjs → workflow-builder-C6J_1s56.cjs} +3 -3
  172. package/dist/{workflow-builder-CsOEskDo.cjs.map → workflow-builder-C6J_1s56.cjs.map} +1 -1
  173. package/dist/{workflows-BAFGmHCW.js → workflows-BkTNzH-i.js} +2 -2
  174. package/dist/{workflows-BAFGmHCW.js.map → workflows-BkTNzH-i.js.map} +1 -1
  175. package/dist/{workflows-CJz5Eh0B.cjs → workflows-CHUG5jh4.cjs} +2 -2
  176. package/dist/{workflows-CJz5Eh0B.cjs.map → workflows-CHUG5jh4.cjs.map} +1 -1
  177. package/package.json +5 -5
  178. package/dist/agents-BI8ez-FT.js.map +0 -1
  179. package/dist/agents-DsfsDhIT.cjs.map +0 -1
  180. package/dist/observability-new-endpoints-B6fo20v5.cjs.map +0 -1
  181. package/dist/observability-new-endpoints-DHn8uKyr.js.map +0 -1
  182. package/dist/routes-BYQ38dFx.cjs.map +0 -1
  183. package/dist/routes-C0pgNcG-.js.map +0 -1
  184. package/dist/stored-agents-DA8Zx6o9.js.map +0 -1
  185. package/dist/stored-agents-TQ2lIFbx.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agents-BXqMKoOz.js","names":[],"sources":["../src/server/schemas/agents.ts"],"sourcesContent":["import type {\n AgentExecutionOptions,\n PublicStructuredOutputOptions,\n ToolsetsInput,\n ToolsInput,\n} from '@mastra/core/agent';\nimport type { CoreMessageV4 } from '@mastra/core/agent/message-list';\nimport type { ScoringSamplingConfig } from '@mastra/core/evals';\nimport type { OutputType, SystemMessage } from '@mastra/core/llm';\nimport type { ReasoningLevel } from '@mastra/core/loop';\nimport { z } from 'zod/v4';\n\n/**\n * Structural mirror of LoopOptions['modelSettings'] (ai-sdk CallSettings minus\n * abortSignal, plus reasoning). CallSettings is not publicly exported from\n * @mastra/core, so its fields are restated here to keep declaration emit portable.\n */\n/**\n * Structural mirror of LoopOptions['stopWhen'] entries. The ai-sdk StopCondition\n * type is not publicly exported from @mastra/core, so an assignable function\n * shape is used to keep declaration emit portable.\n */\ntype StopConditionArg = (event: unknown) => boolean | PromiseLike<boolean>;\n\ntype ModelSettings = {\n maxOutputTokens?: number;\n temperature?: number;\n topP?: number;\n topK?: number;\n presencePenalty?: number;\n frequencyPenalty?: number;\n stopSequences?: string[];\n seed?: number;\n maxRetries?: number;\n headers?: Record<string, string | undefined>;\n reasoning?: ReasoningLevel;\n};\nimport { tracingOptionsSchema, coreMessageSchema, messageResponseSchema, typedPermissive } from './common';\nimport { defaultOptionsSchema } from './default-options';\n\nexport {\n generateSpeechBodySchema,\n getListenerResponseSchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n voiceSpeakersResponseSchema,\n} from '@internal/voice/routes';\n\ntype JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };\n\nconst jsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(jsonValueSchema),\n z.record(z.string(), jsonValueSchema),\n ]),\n);\nconst jsonRecordSchema = z.record(z.string(), jsonValueSchema);\n\nconst signalAttributesSchema = z.record(\n z.string(),\n z.union([z.string(), z.number(), z.boolean(), z.null(), z.undefined()]),\n);\n\nconst baseSignalSchema = z.object({\n id: z.string().optional(),\n createdAt: z.union([z.string(), z.date()]).optional(),\n metadata: jsonRecordSchema.optional(),\n attributes: signalAttributesSchema.optional(),\n});\n\nconst partProviderOptionsSchema = z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional();\n\nconst signalTextPartSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst signalFilePartSchema = z.object({\n type: z.literal('file'),\n data: z.string(),\n mediaType: z.string(),\n filename: z.string().optional(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst userMessageSignalContentsSchema = z.union([\n z.string(),\n z.array(z.union([signalTextPartSchema, signalFilePartSchema])),\n]);\n\nconst agentMessageInputObjectSchema = z.object({\n contents: userMessageSignalContentsSchema,\n attributes: signalAttributesSchema.optional(),\n metadata: jsonRecordSchema.optional(),\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n});\n\nconst agentMessageInputSchema = z.union([userMessageSignalContentsSchema, agentMessageInputObjectSchema]);\n\nconst agentSignalBaseSchema = baseSignalSchema.extend({\n tagName: z.string().optional(),\n contents: userMessageSignalContentsSchema,\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n});\n\nconst agentSignalSchema = z.discriminatedUnion('type', [\n agentSignalBaseSchema.extend({\n type: z.literal('state'),\n transient: z.never().optional(),\n }),\n agentSignalBaseSchema.extend({\n type: z.enum(['user', 'reactive', 'notification', 'user-message', 'system-reminder']),\n transient: z.boolean().optional(),\n }),\n]);\n\n// Path parameter schemas\nexport const agentIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the agent'),\n});\n\n/**\n * Query params for GET /agents/:agentId — controls which stored config version is used for overrides.\n * When `status` and `versionId` are both provided, `versionId` takes precedence.\n * - `status` — 'draft' (latest version) or 'published' (active published version, default).\n * - `versionId` — Resolve with a specific version ID.\n */\nexport const agentVersionQuerySchema = z.object({\n status: z\n .enum(['draft', 'published'])\n .optional()\n .describe(\n 'Which stored config version to resolve: draft (latest version) or published (active version, default). When both status and versionId are provided, versionId takes precedence.',\n ),\n versionId: z\n .string()\n .optional()\n .describe('Specific version ID to resolve. Takes precedence over status when both are provided.'),\n});\n\nexport const agentPlanQuerySchema = agentVersionQuerySchema.extend({\n path: z.string().describe('Relative path to a markdown plan under .mastracode/plans/'),\n});\n\nexport const agentPlanResponseSchema = z.object({\n path: z.string(),\n content: z.string(),\n});\n\nexport const toolIdPathParams = z.object({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentRunPathParams = agentIdPathParams.extend({\n runId: z.string().min(1).describe('Unique identifier for the agent run'),\n});\n\nexport const agentToolPathParams = agentIdPathParams.extend({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentSkillPathParams = agentIdPathParams.extend({\n skillName: z.string().describe('Name of the skill'),\n});\n\nexport const modelConfigIdPathParams = agentIdPathParams.extend({\n modelConfigId: z.string().describe('Unique identifier for the model configuration'),\n});\n\n/**\n * Schema for serialized processor metadata\n */\nexport const serializedProcessorSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n});\n\n/**\n * Schema for serialized tool with JSON schemas\n */\nexport const serializedToolSchema = z.object({\n id: z.string(),\n title: z.string().optional(),\n description: z.string().optional(),\n inputSchema: z.string().optional(),\n outputSchema: z.string().optional(),\n requestContextSchema: z.string().optional(),\n requireApproval: z.boolean().optional(),\n});\n\n/**\n * Schema for serialized workflow with steps\n */\nexport const serializedWorkflowSchema = z.object({\n name: z.string(),\n steps: z\n .record(\n z.string(),\n z.object({\n id: z.string(),\n description: z.string().optional(),\n }),\n )\n .optional(),\n});\n\n/**\n * Schema for serialized agent definition (referenced by other agents)\n */\nexport const serializedAgentDefinitionSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\n/**\n * Schema for SystemMessage type\n * Can be string, string[], or various message objects\n */\nconst systemMessageSchema = typedPermissive<SystemMessage>(\n z.union([\n z.string(),\n z.array(z.string()),\n z.unknown(), // CoreSystemMessage or SystemModelMessage\n z.array(z.unknown()),\n ]),\n);\n\n/**\n * Schema for model configuration in model list\n */\nconst modelConfigSchema = z.object({\n id: z.string(),\n enabled: z.boolean(),\n maxRetries: z.number(),\n model: z.object({\n modelId: z.string(),\n provider: z.string(),\n modelVersion: z.string(),\n }),\n});\n\nconst serializedSkillSchema = z.object({\n name: z.string(),\n description: z.string(),\n license: z.string().optional(),\n path: z.string(),\n});\n\nconst agentEditorConfigSchema = z.union([\n z.literal(false),\n z.object({\n instructions: z.boolean().optional(),\n tools: z.union([z.boolean(), z.object({ description: z.boolean().optional() })]).optional(),\n model: z.boolean().optional(),\n }),\n]);\n\n/**\n * Main schema for serialized agent representation\n */\nexport const serializedAgentSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n instructions: systemMessageSchema.optional(),\n tools: z.record(z.string(), serializedToolSchema),\n agents: z.record(z.string(), serializedAgentDefinitionSchema),\n workflows: z.record(z.string(), serializedWorkflowSchema),\n skills: z.array(serializedSkillSchema),\n workspaceTools: z.array(z.string()),\n browserTools: z.array(z.string()),\n hasBrowser: z.boolean(),\n workspaceId: z.string().optional(),\n inputProcessors: z.array(serializedProcessorSchema),\n outputProcessors: z.array(serializedProcessorSchema),\n provider: z.string().optional(),\n modelId: z.string().optional(),\n modelVersion: z.string().optional(),\n supportsMemory: z.boolean().optional(),\n modelList: z.array(modelConfigSchema).optional(),\n modelListEditable: z\n .boolean()\n .optional()\n .describe('False when the model list comes from a function and cannot be reordered or edited'),\n defaultOptions: defaultOptionsSchema.optional(),\n defaultGenerateOptionsLegacy: z.record(z.string(), z.unknown()).optional(),\n defaultStreamOptionsLegacy: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.string().optional(),\n source: z.enum(['code', 'stored', 'fs']).optional(),\n status: z.enum(['draft', 'published', 'archived']).optional(),\n activeVersionId: z.string().optional(),\n hasDraft: z.boolean().optional(),\n editor: agentEditorConfigSchema.optional(),\n});\n\n/**\n * Schema for agent with ID\n */\nexport const serializedAgentWithIdSchema = serializedAgentSchema.extend({\n id: z.string(),\n});\n\n/**\n * Schema for individual provider information\n */\nexport const providerSchema = z.object({\n id: z.string(),\n name: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n envVar: z.union([z.string(), z.array(z.string())]),\n connected: z.boolean(),\n docUrl: z.string().optional(),\n models: z.array(z.string()),\n modelReleaseDates: z.record(z.string(), z.string()).optional(),\n});\n\n/**\n * Schema for providers endpoint response\n */\nexport const providersResponseSchema = z.object({\n providers: z.array(providerSchema),\n});\n\nexport type ProviderListItem = z.infer<typeof providerSchema>;\n\n/**\n * Schema for list agents endpoint response\n * Returns a record of agent ID to serialized agent\n */\nexport const listAgentsResponseSchema = z.record(z.string(), serializedAgentSchema);\n\n/**\n * Schema for list tools endpoint response\n * Returns a record of tool ID to serialized tool\n */\nexport const listToolsResponseSchema = z.record(z.string(), serializedToolSchema);\n\n// ============================================================================\n// Agent Execution Body Schemas\n// ============================================================================\n\n/**\n * Schema for agent memory option\n */\nconst agentMemoryOptionSchema = z.object({\n thread: z.union([z.string(), z.object({ id: z.string() }).passthrough()]),\n /**\n * Optional so authenticated setups can rely on the server-derived resource ID\n * (`mapUserToResourceId` sets MASTRA_RESOURCE_ID_KEY in the request context, which\n * takes precedence over this value). Handlers return a 400 when neither the body\n * nor the request context provides a resource ID.\n */\n resource: z.string().optional(),\n options: z.record(z.string(), z.unknown()).optional(),\n readOnly: z.boolean().optional(),\n});\n\n/**\n * Schema for tool choice configuration\n */\nconst toolChoiceSchema = z.union([\n z.enum(['auto', 'none', 'required']),\n z.object({ type: z.literal('tool'), toolName: z.string() }),\n]);\n\n/**\n * Comprehensive body schema for agent generate and stream endpoints\n * Validates common fields while using passthrough for complex nested objects\n *\n * EXCLUDED FIELDS (not serializable):\n * - Callbacks: onStepFinish, onFinish, onChunk, onError, onAbort, prepareStep\n * - Class instances: inputProcessors, outputProcessors\n * - Non-serializable: abortSignal, tracingContext\n */\nexport const agentExecutionBodySchema = z\n .object({\n // REQUIRED\n messages: z.union([\n z.array(coreMessageSchema), // Array of messages\n z.string(), // Single user message shorthand\n ]),\n\n // Message Configuration\n instructions: systemMessageSchema.optional(),\n system: systemMessageSchema.optional(),\n // ModelMessage[] at runtime; handlers cast since the AI SDK ModelMessage\n // type is not portable for declaration emit.\n context: z.array(coreMessageSchema).optional(),\n\n // Memory & Persistence\n memory: agentMemoryOptionSchema.optional(),\n runId: z.string().optional(),\n savePerStep: z.boolean().optional(),\n\n // Request Context (handler-specific field - merged with server's requestContext)\n requestContext: z.record(z.string(), z.unknown()).optional(),\n\n // Version overrides for sub-agents (and future primitives)\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional(),\n\n // Execution Control\n maxSteps: z.number().optional(),\n // Stop conditions are functions and cannot be validated by zod.\n stopWhen: typedPermissive<StopConditionArg | StopConditionArg[]>(z.unknown()).optional(),\n\n // Model Configuration\n model: z.string().optional(),\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n modelSettings: typedPermissive<ModelSettings>(z.unknown()).optional(),\n\n // Tool Configuration\n activeTools: z.array(z.string()).optional(),\n // Tool entries contain execute functions and cannot be validated by zod.\n toolsets: typedPermissive<ToolsetsInput>(z.record(z.string(), z.unknown())).optional(),\n clientTools: typedPermissive<ToolsInput>(z.record(z.string(), z.unknown())).optional(),\n toolChoice: toolChoiceSchema.optional(),\n requireToolApproval: z.boolean().optional(),\n\n // Evaluation\n scorers: typedPermissive<Record<string, { scorer: string; sampling?: ScoringSamplingConfig }>>(\n z.union([\n z.record(z.string(), z.unknown()),\n z.record(\n z.string(),\n z.object({\n scorer: z.string(),\n sampling: z.unknown().optional(),\n }),\n ),\n ]),\n ).optional(),\n returnScorerData: z.boolean().optional(),\n\n // Observability\n tracingOptions: tracingOptionsSchema.optional(),\n\n // Structured Output\n // Zod schema, JSON schema, or structured output object — cannot be validated by zod.\n output: typedPermissive<OutputType>(z.unknown()).optional(),\n // The concrete options type cannot be expressed field-by-field because of\n // the fallback discriminated union.\n structuredOutput: typedPermissive<PublicStructuredOutputOptions<Record<string, unknown>>>(\n z.object({\n schema: z.object({}).passthrough(),\n model: z.union([z.string(), z.unknown()]).optional(),\n instructions: z.string().optional(),\n jsonPromptInjection: z.boolean().optional(),\n errorStrategy: z.enum(['strict', 'warn', 'fallback']).optional(),\n fallbackValue: z.unknown().optional(),\n }),\n ).optional(),\n\n // Idle-loop streaming (collapses streamUntilIdle into stream)\n untilIdle: z.union([z.boolean(), z.object({ maxIdleMs: z.number().int().positive().optional() })]).optional(),\n })\n .passthrough(); // Allow additional fields for forward compatibility\n\n/**\n * Legacy body schema for deprecated endpoints that still use threadId/resourceId\n * Used by /agents/:agentId/generate-legacy and /agents/:agentId/stream-legacy\n */\nexport const agentExecutionLegacyBodySchema = agentExecutionBodySchema.extend({\n resourceId: z.string().optional(),\n resourceid: z.string().optional(), // lowercase variant\n threadId: z.string().optional(),\n // Legacy generate/stream expect AI SDK v4 CoreMessage context and a string system message.\n context: typedPermissive<CoreMessageV4[]>(z.array(coreMessageSchema)).optional(),\n system: typedPermissive<string>(systemMessageSchema).optional(),\n});\n\nexport const streamUntilIdleBodySchema = agentExecutionBodySchema.extend({\n maxIdleMs: z.number().int().positive().optional(),\n untilIdle: z.union([z.boolean(), z.object({ maxIdleMs: z.number().int().positive().optional() })]).optional(),\n});\n\nexport const resumeStreamUntilIdleBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n maxIdleMs: z.number().int().positive().optional(),\n});\n/**\n * Body schema for tool execute endpoint\n * Simple schema - tool validates its own input data\n * Note: The .refine() ensures data is required\n * (bare z.unknown() is treated as optional by Zod)\n */\nconst executeToolDataBodySchema = z.object({\n data: z.unknown().refine(x => x !== undefined, { message: 'data is required' }),\n});\n\nexport const executeToolBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const executeToolContextBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.unknown()).optional(),\n});\n\n// ============================================================================\n// Tool Approval Schemas\n// ============================================================================\n\n/**\n * Base schema for tool approval/decline operations\n * Both approve and decline use the same parameters\n */\nconst toolCallActionBodySchema = z.object({\n runId: z.string(),\n model: z.string().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n toolCallId: z.string(),\n format: z.string().optional(),\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n modelSettings: typedPermissive<ModelSettings>(z.unknown()).optional(),\n // Client tools must be re-sent on resume so the model can call them after the approval decision.\n clientTools: typedPermissive<ToolsInput>(z.record(z.string(), z.unknown())).optional(),\n});\nconst networkToolCallActionBodySchema = z.object({\n runId: z.string(),\n model: z.string().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n format: z.string().optional(),\n});\n\n/**\n * Body schema for approving tool call\n */\nexport const approveToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for declining tool call\n */\nexport const declineToolCallBodySchema = toolCallActionBodySchema.extend({\n /** Optional explanation surfaced to the model in place of the default decline message. */\n reason: z.string().optional(),\n});\n\n/**\n * Body schema for approving network tool call\n */\nexport const approveNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Body schema for declining network tool call\n */\nexport const declineNetworkToolCallBodySchema = networkToolCallActionBodySchema.extend({\n /** Optional explanation surfaced in place of the default decline message. */\n reason: z.string().optional(),\n});\n\n/**\n * Response schema for tool approval/decline\n */\nexport const toolCallResponseSchema = z.object({\n fullStream: z.unknown(), // ReadableStream\n});\n\nexport const sendToolApprovalResponseSchema = z.object({\n accepted: z.literal(true),\n runId: z.string(),\n toolCallId: z.string().optional(),\n});\n\n/**\n * Query schema for listing suspended agent runs\n */\nexport const listSuspendedRunsQuerySchema = z\n .object({\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n fromDate: z.coerce.date().optional(),\n toDate: z.coerce.date().optional(),\n perPage: z.coerce.number().int().positive().optional(),\n // page is zero-indexed, so 0 is valid\n page: z.coerce.number().int().nonnegative().optional(),\n })\n .refine(data => !data.fromDate || !data.toDate || data.fromDate <= data.toDate, {\n message: 'fromDate must be less than or equal to toDate',\n path: ['fromDate'],\n });\n\n/**\n * Response schema for listing suspended agent runs\n */\nexport const listSuspendedRunsResponseSchema = z.object({\n runs: z.array(\n z.object({\n runId: z.string(),\n status: z.literal('suspended'),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n suspendedAt: z.date(),\n toolCalls: z.array(\n z.object({\n toolCallId: z.string().optional(),\n toolName: z.string().optional(),\n args: z.unknown().optional(),\n requiresApproval: z.boolean(),\n suspendPayload: z.unknown().optional(),\n }),\n ),\n }),\n ),\n total: z.number().int().nonnegative(),\n});\n\n// ============================================================================\n// Resume Stream Schema\n// ============================================================================\n\n/**\n * Body schema for resuming a suspended agent stream with custom data.\n * Extends the agent execution body without messages, since resume\n * continues from a prior suspension point rather than starting fresh.\n */\nexport const resumeStreamBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n});\n\n// ============================================================================\n// Recover Schema\n// ============================================================================\n\n/**\n * Body schema for recovering an orphaned RUNNING durable-agent run.\n * Thread and resource are read from the persisted snapshot, so we only accept\n * the runId plus request-context / version overrides needed for auth and\n * routing.\n */\nexport const recoverBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional(),\n});\n\n// ============================================================================\n// Model Management Schemas\n// ============================================================================\n\n/**\n * Body schema for updating agent model\n */\nexport const updateAgentModelBodySchema = z.object({\n modelId: z.string(),\n provider: z.string(),\n});\n\n/**\n * Body schema for reordering agent model list\n */\nexport const reorderAgentModelListBodySchema = z.object({\n reorderedModelIds: z.array(z.string()),\n});\n\n/**\n * Body schema for updating model in model list\n */\nexport const updateAgentModelInModelListBodySchema = z.object({\n model: z\n .object({\n modelId: z.string(),\n provider: z.string(),\n })\n .optional(),\n maxRetries: z.number().optional(),\n enabled: z.boolean().optional(),\n});\n\n/**\n * Response schema for model management operations\n */\nexport const modelManagementResponseSchema = messageResponseSchema;\n\n// ============================================================================\n// Response schemas for agent generation endpoints\n// These return AI SDK types which have complex structures\n// ============================================================================\n\nexport const generateResponseSchema = z.unknown(); // AI SDK GenerateResult type\nexport const streamResponseSchema = z.unknown(); // AI SDK StreamResult type\nexport const executeToolResponseSchema = z.unknown(); // Tool execution result varies by tool\n\n// ============================================================================\n// Instruction Enhancement Schemas\n// ============================================================================\n\n/**\n * Body schema for enhancing agent instructions\n */\nexport const enhanceInstructionsBodySchema = z.object({\n instructions: z.string().describe('The current agent instructions to enhance'),\n comment: z.string().describe('User comment describing how to enhance the instructions'),\n});\n\n/**\n * Response schema for enhanced instructions\n */\nexport const enhanceInstructionsResponseSchema = z.object({\n explanation: z.string().describe('Explanation of the changes made'),\n new_prompt: z.string().describe('The enhanced instructions'),\n});\n\n// ============================================================================\n// Observe (Resumable Streams) Schemas\n// ============================================================================\n\n/**\n * Body schema for observing an agent stream\n * Used to reconnect to an existing stream and receive missed events\n */\nexport const observeAgentBodySchema = z.object({\n runId: z.string().describe('The run ID to observe/reconnect to'),\n offset: z.number().optional().describe('Resume from this event index (0-based). If omitted, replays all events.'),\n});\n\nconst signalActiveBehaviorSchema = z.enum(['deliver', 'persist', 'discard']);\nconst signalIdleBehaviorSchema = z.enum(['wake', 'persist', 'discard']);\n\nconst signalTargetBaseBodySchema = z.object({\n ifActive: z\n .object({\n behavior: signalActiveBehaviorSchema.optional(),\n attributes: signalAttributesSchema.optional(),\n })\n .optional(),\n});\n\nconst signalTargetBodySchema = z.union([\n signalTargetBaseBodySchema.extend({\n runId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n ifIdle: z.undefined().optional(),\n }),\n signalTargetBaseBodySchema.extend({\n runId: z.undefined().optional(),\n resourceId: z.string(),\n threadId: z.string(),\n ifIdle: z\n .object({\n behavior: signalIdleBehaviorSchema.optional(),\n streamOptions: agentExecutionBodySchema.omit({ messages: true }).optional(),\n attributes: signalAttributesSchema.optional(),\n })\n .optional(),\n }),\n]);\n\nexport const sendAgentSignalBodySchema = z.union([\n signalTargetBodySchema.options[0].extend({ signal: agentSignalSchema }),\n signalTargetBodySchema.options[1].extend({ signal: agentSignalSchema }),\n]);\n\nexport const sendAgentMessageBodySchema = z.union([\n signalTargetBodySchema.options[0].extend({ message: agentMessageInputSchema }),\n signalTargetBodySchema.options[1].extend({ message: agentMessageInputSchema }),\n]);\n\nexport const queueAgentMessageBodySchema = sendAgentMessageBodySchema;\nexport const queueAgentSignalBodySchema = sendAgentSignalBodySchema;\n\nconst agentThreadBodySchema = z.object({\n resourceId: z.string().optional(),\n threadId: z.string(),\n});\n\nexport const subscribeAgentThreadBodySchema = agentThreadBodySchema.extend({\n withRunStatus: z.boolean().optional().describe('Emit thread-run-status chunks, including retained outcomes'),\n withInitialHistory: z\n .union([z.boolean(), z.object({ perPage: z.number().int().positive().optional() })])\n .optional()\n .describe('Emit one thread-history chunk with stored messages before live parts'),\n});\n\nexport const abortAgentThreadBodySchema = agentThreadBodySchema.extend({\n threadId: z.string().min(1),\n clearPendingSignals: z.boolean().optional(),\n expectedRunId: z.string().optional(),\n});\n\nexport const cancelPendingAgentSignalsBodySchema = agentThreadBodySchema.extend({\n threadId: z.string().min(1),\n signalIds: z.array(z.string().min(1)).min(1).max(1000),\n});\n\nexport const cancelPendingAgentSignalsResponseSchema = z.object({\n cancelledSignalIds: z.array(z.string()),\n});\n\nexport const sendToolApprovalBodySchema = z.object({\n resourceId: z.string(),\n threadId: z.string(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n toolCallId: z.string(),\n approved: z.boolean(),\n resumeData: z.unknown().optional(),\n format: z.string().optional(),\n messages: z.array(coreMessageSchema).optional(),\n streamOptions: typedPermissive<AgentExecutionOptions<undefined>>(z.unknown()).optional(),\n});\n\nexport const abortAgentThreadResponseSchema = z.object({\n aborted: z.boolean(),\n});\n\n/**\n * Response schema for observe endpoint (streaming response)\n */\nexport const observeAgentResponseSchema = z.unknown(); // Streaming response\n"],"mappings":"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"}
1
+ {"version":3,"file":"agents-BCgiMlDq.js","names":[],"sources":["../src/server/schemas/agents.ts"],"sourcesContent":["import type {\n AgentExecutionOptions,\n PublicStructuredOutputOptions,\n ToolsetsInput,\n ToolsInput,\n} from '@mastra/core/agent';\nimport type { CoreMessageV4 } from '@mastra/core/agent/message-list';\nimport type { ScoringSamplingConfig } from '@mastra/core/evals';\nimport type { OutputType, SystemMessage } from '@mastra/core/llm';\nimport type { ReasoningLevel } from '@mastra/core/loop';\nimport { z } from 'zod/v4';\n\n/**\n * Structural mirror of LoopOptions['modelSettings'] (ai-sdk CallSettings minus\n * abortSignal, plus reasoning). CallSettings is not publicly exported from\n * @mastra/core, so its fields are restated here to keep declaration emit portable.\n */\n/**\n * Structural mirror of LoopOptions['stopWhen'] entries. The ai-sdk StopCondition\n * type is not publicly exported from @mastra/core, so an assignable function\n * shape is used to keep declaration emit portable.\n */\ntype StopConditionArg = (event: unknown) => boolean | PromiseLike<boolean>;\n\ntype ModelSettings = {\n maxOutputTokens?: number;\n temperature?: number;\n topP?: number;\n topK?: number;\n presencePenalty?: number;\n frequencyPenalty?: number;\n stopSequences?: string[];\n seed?: number;\n maxRetries?: number;\n headers?: Record<string, string | undefined>;\n reasoning?: ReasoningLevel;\n};\nimport { tracingOptionsSchema, coreMessageSchema, messageResponseSchema, typedPermissive } from './common';\nimport { defaultOptionsSchema } from './default-options';\n\nexport {\n generateSpeechBodySchema,\n getListenerResponseSchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n voiceSpeakersResponseSchema,\n} from '@internal/voice/routes';\n\ntype JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };\n\nconst jsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(jsonValueSchema),\n z.record(z.string(), jsonValueSchema),\n ]),\n);\nconst jsonRecordSchema = z.record(z.string(), jsonValueSchema);\n\nconst signalAttributesSchema = z.record(\n z.string(),\n z.union([z.string(), z.number(), z.boolean(), z.null(), z.undefined()]),\n);\n\nconst baseSignalSchema = z.object({\n id: z.string().optional(),\n createdAt: z.union([z.string(), z.date()]).optional(),\n metadata: jsonRecordSchema.optional(),\n attributes: signalAttributesSchema.optional(),\n});\n\nconst partProviderOptionsSchema = z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional();\n\nconst signalTextPartSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst signalFilePartSchema = z.object({\n type: z.literal('file'),\n data: z.string(),\n mediaType: z.string(),\n filename: z.string().optional(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst userMessageSignalContentsSchema = z.union([\n z.string(),\n z.array(z.union([signalTextPartSchema, signalFilePartSchema])),\n]);\n\nconst agentMessageInputObjectSchema = z.object({\n contents: userMessageSignalContentsSchema,\n attributes: signalAttributesSchema.optional(),\n metadata: jsonRecordSchema.optional(),\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n});\n\nconst agentMessageInputSchema = z.union([userMessageSignalContentsSchema, agentMessageInputObjectSchema]);\n\nconst agentSignalBaseSchema = baseSignalSchema.extend({\n tagName: z.string().optional(),\n contents: userMessageSignalContentsSchema,\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n});\n\nconst agentSignalSchema = z.discriminatedUnion('type', [\n agentSignalBaseSchema.extend({\n type: z.literal('state'),\n transient: z.never().optional(),\n }),\n agentSignalBaseSchema.extend({\n type: z.enum(['user', 'reactive', 'notification', 'user-message', 'system-reminder']),\n transient: z.boolean().optional(),\n }),\n]);\n\n// Path parameter schemas\nexport const agentIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the agent'),\n});\n\n/**\n * Query params for GET /agents/:agentId — controls which stored config version is used for overrides.\n * When `status` and `versionId` are both provided, `versionId` takes precedence.\n * - `status` — 'draft' (latest version) or 'published' (active published version, default).\n * - `versionId` — Resolve with a specific version ID.\n */\nexport const agentVersionQuerySchema = z.object({\n status: z\n .enum(['draft', 'published'])\n .optional()\n .describe(\n 'Which stored config version to resolve: draft (latest version) or published (active version, default). When both status and versionId are provided, versionId takes precedence.',\n ),\n versionId: z\n .string()\n .optional()\n .describe('Specific version ID to resolve. Takes precedence over status when both are provided.'),\n});\n\nexport const agentPlanQuerySchema = agentVersionQuerySchema.extend({\n path: z.string().describe('Relative path to a markdown plan under .mastracode/plans/'),\n});\n\nexport const agentPlanResponseSchema = z.object({\n path: z.string(),\n content: z.string(),\n});\n\nexport const toolIdPathParams = z.object({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentRunPathParams = agentIdPathParams.extend({\n runId: z.string().min(1).describe('Unique identifier for the agent run'),\n});\n\nexport const agentToolPathParams = agentIdPathParams.extend({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentSkillPathParams = agentIdPathParams.extend({\n skillName: z.string().describe('Name of the skill'),\n});\n\nexport const modelConfigIdPathParams = agentIdPathParams.extend({\n modelConfigId: z.string().describe('Unique identifier for the model configuration'),\n});\n\n/**\n * Schema for serialized processor metadata\n */\nexport const serializedProcessorSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n});\n\n/**\n * Schema for serialized tool with JSON schemas\n */\nexport const serializedToolSchema = z.object({\n id: z.string(),\n title: z.string().optional(),\n description: z.string().optional(),\n inputSchema: z.string().optional(),\n outputSchema: z.string().optional(),\n requestContextSchema: z.string().optional(),\n requireApproval: z.boolean().optional(),\n});\n\n/**\n * Schema for serialized workflow with steps\n */\nexport const serializedWorkflowSchema = z.object({\n name: z.string(),\n steps: z\n .record(\n z.string(),\n z.object({\n id: z.string(),\n description: z.string().optional(),\n }),\n )\n .optional(),\n});\n\n/**\n * Schema for serialized agent definition (referenced by other agents)\n */\nexport const serializedAgentDefinitionSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\n/**\n * Schema for SystemMessage type\n * Can be string, string[], or various message objects\n */\nconst systemMessageSchema = typedPermissive<SystemMessage>(\n z.union([\n z.string(),\n z.array(z.string()),\n z.unknown(), // CoreSystemMessage or SystemModelMessage\n z.array(z.unknown()),\n ]),\n);\n\n/**\n * Schema for model configuration in model list\n */\nconst modelConfigSchema = z.object({\n id: z.string(),\n enabled: z.boolean(),\n maxRetries: z.number(),\n model: z.object({\n modelId: z.string(),\n provider: z.string(),\n modelVersion: z.string(),\n }),\n});\n\nconst serializedSkillSchema = z.object({\n name: z.string(),\n description: z.string(),\n license: z.string().optional(),\n path: z.string(),\n});\n\nconst agentEditorConfigSchema = z.union([\n z.literal(false),\n z.object({\n instructions: z.boolean().optional(),\n tools: z.union([z.boolean(), z.object({ description: z.boolean().optional() })]).optional(),\n model: z.boolean().optional(),\n }),\n]);\n\n/**\n * Main schema for serialized agent representation\n */\nexport const serializedAgentSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n instructions: systemMessageSchema.optional(),\n tools: z.record(z.string(), serializedToolSchema),\n agents: z.record(z.string(), serializedAgentDefinitionSchema),\n workflows: z.record(z.string(), serializedWorkflowSchema),\n skills: z.array(serializedSkillSchema),\n workspaceTools: z.array(z.string()),\n browserTools: z.array(z.string()),\n hasBrowser: z.boolean(),\n workspaceId: z.string().optional(),\n inputProcessors: z.array(serializedProcessorSchema),\n outputProcessors: z.array(serializedProcessorSchema),\n provider: z.string().optional(),\n modelId: z.string().optional(),\n modelVersion: z.string().optional(),\n supportsMemory: z.boolean().optional(),\n modelList: z.array(modelConfigSchema).optional(),\n modelListEditable: z\n .boolean()\n .optional()\n .describe('False when the model list comes from a function and cannot be reordered or edited'),\n defaultOptions: defaultOptionsSchema.optional(),\n defaultGenerateOptionsLegacy: z.record(z.string(), z.unknown()).optional(),\n defaultStreamOptionsLegacy: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.string().optional(),\n source: z.enum(['code', 'stored', 'fs']).optional(),\n status: z.enum(['draft', 'published', 'archived']).optional(),\n activeVersionId: z.string().optional(),\n hasDraft: z.boolean().optional(),\n editor: agentEditorConfigSchema.optional(),\n});\n\n/**\n * Schema for agent with ID\n */\nexport const serializedAgentWithIdSchema = serializedAgentSchema.extend({\n id: z.string(),\n});\n\n/**\n * Schema for individual provider information\n */\nexport const providerSchema = z.object({\n id: z.string(),\n name: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n envVar: z.union([z.string(), z.array(z.string())]),\n connected: z.boolean(),\n docUrl: z.string().optional(),\n models: z.array(z.string()),\n modelReleaseDates: z.record(z.string(), z.string()).optional(),\n});\n\n/**\n * Schema for providers endpoint response\n */\nexport const providersResponseSchema = z.object({\n providers: z.array(providerSchema),\n});\n\nexport type ProviderListItem = z.infer<typeof providerSchema>;\n\n/**\n * Schema for list agents endpoint response\n * Returns a record of agent ID to serialized agent\n */\nexport const listAgentsResponseSchema = z.record(z.string(), serializedAgentSchema);\n\n/**\n * Schema for list tools endpoint response\n * Returns a record of tool ID to serialized tool\n */\nexport const listToolsResponseSchema = z.record(z.string(), serializedToolSchema);\n\n// ============================================================================\n// Agent Execution Body Schemas\n// ============================================================================\n\n/**\n * Schema for agent memory option\n */\nconst agentMemoryOptionSchema = z.object({\n thread: z.union([z.string(), z.object({ id: z.string() }).passthrough()]),\n /**\n * Optional so authenticated setups can rely on the server-derived resource ID\n * (`mapUserToResourceId` sets MASTRA_RESOURCE_ID_KEY in the request context, which\n * takes precedence over this value). Handlers return a 400 when neither the body\n * nor the request context provides a resource ID.\n */\n resource: z.string().optional(),\n options: z.record(z.string(), z.unknown()).optional(),\n readOnly: z.boolean().optional(),\n});\n\n/**\n * Schema for tool choice configuration\n */\nconst toolChoiceSchema = z.union([\n z.enum(['auto', 'none', 'required']),\n z.object({ type: z.literal('tool'), toolName: z.string() }),\n]);\n\n/**\n * Comprehensive body schema for agent generate and stream endpoints\n * Validates common fields while using passthrough for complex nested objects\n *\n * EXCLUDED FIELDS (not serializable):\n * - Callbacks: onStepFinish, onFinish, onChunk, onError, onAbort, prepareStep\n * - Class instances: inputProcessors, outputProcessors\n * - Non-serializable: abortSignal, tracingContext\n */\nexport const agentExecutionBodySchema = z\n .object({\n // REQUIRED\n messages: z.union([\n z.array(coreMessageSchema), // Array of messages\n z.string(), // Single user message shorthand\n ]),\n\n // Message Configuration\n instructions: systemMessageSchema.optional(),\n system: systemMessageSchema.optional(),\n // ModelMessage[] at runtime; handlers cast since the AI SDK ModelMessage\n // type is not portable for declaration emit.\n context: z.array(coreMessageSchema).optional(),\n\n // Memory & Persistence\n memory: agentMemoryOptionSchema.optional(),\n runId: z.string().optional(),\n savePerStep: z.boolean().optional(),\n\n // Request Context (handler-specific field - merged with server's requestContext)\n requestContext: z.record(z.string(), z.unknown()).optional(),\n\n // Version overrides for sub-agents (and future primitives)\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional(),\n\n // Execution Control\n maxSteps: z.number().optional(),\n // Stop conditions are functions and cannot be validated by zod.\n stopWhen: typedPermissive<StopConditionArg | StopConditionArg[]>(z.unknown()).optional(),\n\n // Model Configuration\n model: z.string().optional(),\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n modelSettings: typedPermissive<ModelSettings>(z.unknown()).optional(),\n\n // Tool Configuration\n activeTools: z.array(z.string()).optional(),\n // Tool entries contain execute functions and cannot be validated by zod.\n toolsets: typedPermissive<ToolsetsInput>(z.record(z.string(), z.unknown())).optional(),\n clientTools: typedPermissive<ToolsInput>(z.record(z.string(), z.unknown())).optional(),\n toolChoice: toolChoiceSchema.optional(),\n requireToolApproval: z.boolean().optional(),\n\n // Evaluation\n scorers: typedPermissive<Record<string, { scorer: string; sampling?: ScoringSamplingConfig }>>(\n z.union([\n z.record(z.string(), z.unknown()),\n z.record(\n z.string(),\n z.object({\n scorer: z.string(),\n sampling: z.unknown().optional(),\n }),\n ),\n ]),\n ).optional(),\n returnScorerData: z.boolean().optional(),\n\n // Observability\n tracingOptions: tracingOptionsSchema.optional(),\n\n // Structured Output\n // Zod schema, JSON schema, or structured output object — cannot be validated by zod.\n output: typedPermissive<OutputType>(z.unknown()).optional(),\n // The concrete options type cannot be expressed field-by-field because of\n // the fallback discriminated union.\n structuredOutput: typedPermissive<PublicStructuredOutputOptions<Record<string, unknown>>>(\n z.object({\n schema: z.object({}).passthrough(),\n model: z.union([z.string(), z.unknown()]).optional(),\n instructions: z.string().optional(),\n jsonPromptInjection: z.boolean().optional(),\n errorStrategy: z.enum(['strict', 'warn', 'fallback']).optional(),\n fallbackValue: z.unknown().optional(),\n }),\n ).optional(),\n\n // Idle-loop streaming (collapses streamUntilIdle into stream)\n untilIdle: z.union([z.boolean(), z.object({ maxIdleMs: z.number().int().positive().optional() })]).optional(),\n })\n .passthrough(); // Allow additional fields for forward compatibility\n\n/**\n * Legacy body schema for deprecated endpoints that still use threadId/resourceId\n * Used by /agents/:agentId/generate-legacy and /agents/:agentId/stream-legacy\n */\nexport const agentExecutionLegacyBodySchema = agentExecutionBodySchema.extend({\n resourceId: z.string().optional(),\n resourceid: z.string().optional(), // lowercase variant\n threadId: z.string().optional(),\n // Legacy generate/stream expect AI SDK v4 CoreMessage context and a string system message.\n context: typedPermissive<CoreMessageV4[]>(z.array(coreMessageSchema)).optional(),\n system: typedPermissive<string>(systemMessageSchema).optional(),\n});\n\nexport const streamUntilIdleBodySchema = agentExecutionBodySchema.extend({\n maxIdleMs: z.number().int().positive().optional(),\n untilIdle: z.union([z.boolean(), z.object({ maxIdleMs: z.number().int().positive().optional() })]).optional(),\n});\n\nexport const resumeStreamUntilIdleBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n maxIdleMs: z.number().int().positive().optional(),\n});\n/**\n * Body schema for tool execute endpoint\n * Simple schema - tool validates its own input data\n * Note: The .refine() ensures data is required\n * (bare z.unknown() is treated as optional by Zod)\n */\nconst executeToolDataBodySchema = z.object({\n data: z.unknown().refine(x => x !== undefined, { message: 'data is required' }),\n});\n\nexport const executeToolBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const executeToolContextBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.unknown()).optional(),\n});\n\n// ============================================================================\n// Tool Approval Schemas\n// ============================================================================\n\n/**\n * Base schema for tool approval/decline operations\n * Both approve and decline use the same parameters\n */\nconst toolCallActionBodySchema = z.object({\n runId: z.string(),\n model: z.string().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n toolCallId: z.string(),\n format: z.string().optional(),\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n modelSettings: typedPermissive<ModelSettings>(z.unknown()).optional(),\n // Client tools must be re-sent on resume so the model can call them after the approval decision.\n clientTools: typedPermissive<ToolsInput>(z.record(z.string(), z.unknown())).optional(),\n});\nconst networkToolCallActionBodySchema = z.object({\n runId: z.string(),\n model: z.string().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n format: z.string().optional(),\n});\n\n/**\n * Body schema for approving tool call\n */\nexport const approveToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for declining tool call\n */\nexport const declineToolCallBodySchema = toolCallActionBodySchema.extend({\n /** Optional explanation surfaced to the model in place of the default decline message. */\n reason: z.string().optional(),\n});\n\n/**\n * Body schema for approving network tool call\n */\nexport const approveNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Body schema for declining network tool call\n */\nexport const declineNetworkToolCallBodySchema = networkToolCallActionBodySchema.extend({\n /** Optional explanation surfaced in place of the default decline message. */\n reason: z.string().optional(),\n});\n\n/**\n * Response schema for tool approval/decline\n */\nexport const toolCallResponseSchema = z.object({\n fullStream: z.unknown(), // ReadableStream\n});\n\nexport const sendToolApprovalResponseSchema = z.object({\n accepted: z.literal(true),\n runId: z.string(),\n toolCallId: z.string().optional(),\n});\n\n/**\n * Query schema for listing suspended agent runs\n */\nexport const listSuspendedRunsQuerySchema = z\n .object({\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n fromDate: z.coerce.date().optional(),\n toDate: z.coerce.date().optional(),\n perPage: z.coerce.number().int().positive().optional(),\n // page is zero-indexed, so 0 is valid\n page: z.coerce.number().int().nonnegative().optional(),\n })\n .refine(data => !data.fromDate || !data.toDate || data.fromDate <= data.toDate, {\n message: 'fromDate must be less than or equal to toDate',\n path: ['fromDate'],\n });\n\n/**\n * Response schema for listing suspended agent runs\n */\nexport const listSuspendedRunsResponseSchema = z.object({\n runs: z.array(\n z.object({\n runId: z.string(),\n status: z.literal('suspended'),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n suspendedAt: z.date(),\n toolCalls: z.array(\n z.object({\n toolCallId: z.string().optional(),\n toolName: z.string().optional(),\n args: z.unknown().optional(),\n requiresApproval: z.boolean(),\n suspendPayload: z.unknown().optional(),\n }),\n ),\n }),\n ),\n total: z.number().int().nonnegative(),\n});\n\n// ============================================================================\n// Resume Stream Schema\n// ============================================================================\n\n/**\n * Body schema for resuming a suspended agent stream with custom data.\n * Extends the agent execution body without messages, since resume\n * continues from a prior suspension point rather than starting fresh.\n */\nexport const resumeStreamBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n});\n\n// ============================================================================\n// Recover Schema\n// ============================================================================\n\n/**\n * Body schema for recovering an orphaned RUNNING durable-agent run.\n * Thread and resource are read from the persisted snapshot, so we only accept\n * the runId plus request-context / version overrides needed for auth and\n * routing.\n */\nexport const recoverBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional(),\n});\n\n// ============================================================================\n// Model Management Schemas\n// ============================================================================\n\n/**\n * Body schema for updating agent model\n */\nexport const updateAgentModelBodySchema = z.object({\n modelId: z.string(),\n provider: z.string(),\n});\n\n/**\n * Body schema for reordering agent model list\n */\nexport const reorderAgentModelListBodySchema = z.object({\n reorderedModelIds: z.array(z.string()),\n});\n\n/**\n * Body schema for updating model in model list\n */\nexport const updateAgentModelInModelListBodySchema = z.object({\n model: z\n .object({\n modelId: z.string(),\n provider: z.string(),\n })\n .optional(),\n maxRetries: z.number().optional(),\n enabled: z.boolean().optional(),\n});\n\n/**\n * Response schema for model management operations\n */\nexport const modelManagementResponseSchema = messageResponseSchema;\n\n// ============================================================================\n// Response schemas for agent generation endpoints\n// These return AI SDK types which have complex structures\n// ============================================================================\n\nexport const generateResponseSchema = z.unknown(); // AI SDK GenerateResult type\nexport const streamResponseSchema = z.unknown(); // AI SDK StreamResult type\nexport const executeToolResponseSchema = z.unknown(); // Tool execution result varies by tool\n\n// ============================================================================\n// Instruction Enhancement Schemas\n// ============================================================================\n\n/**\n * Body schema for enhancing agent instructions\n */\nexport const enhanceInstructionsBodySchema = z.object({\n instructions: z.string().describe('The current agent instructions to enhance'),\n comment: z.string().describe('User comment describing how to enhance the instructions'),\n});\n\n/**\n * Response schema for enhanced instructions\n */\nexport const enhanceInstructionsResponseSchema = z.object({\n explanation: z.string().describe('Explanation of the changes made'),\n new_prompt: z.string().describe('The enhanced instructions'),\n});\n\n// ============================================================================\n// Observe (Resumable Streams) Schemas\n// ============================================================================\n\n/**\n * Body schema for observing an agent stream\n * Used to reconnect to an existing stream and receive missed events\n */\nexport const observeAgentBodySchema = z.object({\n runId: z.string().describe('The run ID to observe/reconnect to'),\n offset: z\n .number()\n .optional()\n .describe(\n 'Run-log position to resume from. Every /observe frame, and every /stream frame from a durable or evented agent, carries an `index` except abort frames; pass the index + 1 of the last frame that has one. A client that reconnects between an abort frame and its finish frame gets the abort frame again. A frame whose replay-cache write failed, or any frame when caching is off, arrives without an index, so no offset can resume at it; omitting `offset` replays whatever the transport itself retains, which can repeat frames already received. If omitted, replays the frames still retained.',\n ),\n});\n\nconst signalActiveBehaviorSchema = z.enum(['deliver', 'persist', 'discard']);\nconst signalIdleBehaviorSchema = z.enum(['wake', 'persist', 'discard']);\n\nconst signalTargetBaseBodySchema = z.object({\n ifActive: z\n .object({\n behavior: signalActiveBehaviorSchema.optional(),\n attributes: signalAttributesSchema.optional(),\n })\n .optional(),\n});\n\nconst signalTargetBodySchema = z.union([\n signalTargetBaseBodySchema.extend({\n runId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n ifIdle: z.undefined().optional(),\n }),\n signalTargetBaseBodySchema.extend({\n runId: z.undefined().optional(),\n resourceId: z.string(),\n threadId: z.string(),\n ifIdle: z\n .object({\n behavior: signalIdleBehaviorSchema.optional(),\n streamOptions: agentExecutionBodySchema.omit({ messages: true }).optional(),\n attributes: signalAttributesSchema.optional(),\n })\n .optional(),\n }),\n]);\n\nexport const sendAgentSignalBodySchema = z.union([\n signalTargetBodySchema.options[0].extend({ signal: agentSignalSchema }),\n signalTargetBodySchema.options[1].extend({ signal: agentSignalSchema }),\n]);\n\nexport const sendAgentMessageBodySchema = z.union([\n signalTargetBodySchema.options[0].extend({ message: agentMessageInputSchema }),\n signalTargetBodySchema.options[1].extend({ message: agentMessageInputSchema }),\n]);\n\nexport const queueAgentMessageBodySchema = sendAgentMessageBodySchema;\nexport const queueAgentSignalBodySchema = sendAgentSignalBodySchema;\n\nconst agentThreadBodySchema = z.object({\n resourceId: z.string().optional(),\n threadId: z.string(),\n});\n\nexport const subscribeAgentThreadBodySchema = agentThreadBodySchema.extend({\n withRunStatus: z.boolean().optional().describe('Emit thread-run-status chunks, including retained outcomes'),\n withInitialHistory: z\n .union([z.boolean(), z.object({ perPage: z.number().int().positive().optional() })])\n .optional()\n .describe('Emit one thread-history chunk with stored messages before live parts'),\n});\n\nexport const abortAgentThreadBodySchema = agentThreadBodySchema.extend({\n threadId: z.string().min(1),\n clearPendingSignals: z.boolean().optional(),\n expectedRunId: z.string().optional(),\n});\n\nexport const cancelPendingAgentSignalsBodySchema = agentThreadBodySchema.extend({\n threadId: z.string().min(1),\n signalIds: z.array(z.string().min(1)).min(1).max(1000),\n});\n\nexport const cancelPendingAgentSignalsResponseSchema = z.object({\n cancelledSignalIds: z.array(z.string()),\n});\n\nexport const sendToolApprovalBodySchema = z.object({\n resourceId: z.string(),\n threadId: z.string(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n toolCallId: z.string(),\n approved: z.boolean(),\n resumeData: z.unknown().optional(),\n format: z.string().optional(),\n messages: z.array(coreMessageSchema).optional(),\n streamOptions: typedPermissive<AgentExecutionOptions<undefined>>(z.unknown()).optional(),\n});\n\nexport const abortAgentThreadResponseSchema = z.object({\n aborted: z.boolean(),\n});\n\n/**\n * Response schema for observe endpoint (streaming response)\n */\nexport const observeAgentResponseSchema = z.unknown(); // Streaming response\n"],"mappings":"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"}
@@ -4,8 +4,8 @@ const require_constants = require("./constants-DMg8hUOR.cjs");
4
4
  const require_schema_Bf12g7KC = require("./schema-Bf12g7KC-C5XzpQxe.cjs");
5
5
  const require_utils$1 = require("./utils-BXEJ6FZC.cjs");
6
6
  const require_http_exception = require("./http-exception-Co3MbFUf.cjs");
7
- const require_agents = require("./agents-DbnPZXIN.cjs");
8
- const require_stored_agents = require("./stored-agents-TQ2lIFbx.cjs");
7
+ const require_agents = require("./agents-CjcvdF2e.cjs");
8
+ const require_stored_agents = require("./stored-agents-m0Knvv29.cjs");
9
9
  const require_workspace = require("./workspace-C5BBUatQ.cjs");
10
10
  const require_route_builder = require("./route-builder-DHqDrSSy.cjs");
11
11
  const require_server_handlers_authorship = require("./server/handlers/authorship.cjs");
@@ -23,6 +23,7 @@ let _mastra_core_llm = require("@mastra/core/llm");
23
23
  // src/server/utils/agent-stream-events.ts
24
24
  function toAgentStreamChunks(event) {
25
25
  const { runId } = event;
26
+ const logIndex = typeof event.index === "number" ? { index: event.index } : void 0;
26
27
  const abort = {
27
28
  type: "abort",
28
29
  runId,
@@ -30,10 +31,21 @@ function toAgentStreamChunks(event) {
30
31
  payload: {}
31
32
  };
32
33
  switch (event.type) {
33
- case "chunk": return [event.data];
34
+ case "chunk": {
35
+ const { index: _nestedIndex, ...data } = event.data;
36
+ return [{
37
+ ...data,
38
+ ...logIndex
39
+ }];
40
+ }
34
41
  case "step-start": {
35
42
  const chunk = event.data;
36
- return chunk && "type" in chunk ? [chunk] : [];
43
+ if (!chunk || !("type" in chunk)) return [];
44
+ const { index: _nestedIndex, ...data } = chunk;
45
+ return [{
46
+ ...data,
47
+ ...logIndex
48
+ }];
37
49
  }
38
50
  case "finish": {
39
51
  const data = event.data;
@@ -49,6 +61,7 @@ function toAgentStreamChunks(event) {
49
61
  type: "finish",
50
62
  runId,
51
63
  from: _mastra_core_stream.ChunkFrom.AGENT,
64
+ ...logIndex,
52
65
  payload: {
53
66
  output: raw === void 0 ? data.output : {
54
67
  ...data.output,
@@ -69,6 +82,7 @@ function toAgentStreamChunks(event) {
69
82
  type: "finish",
70
83
  runId,
71
84
  from: _mastra_core_stream.ChunkFrom.AGENT,
85
+ ...logIndex,
72
86
  payload: {
73
87
  output: {
74
88
  text: data.text,
@@ -87,10 +101,14 @@ function toAgentStreamChunks(event) {
87
101
  }
88
102
  }];
89
103
  }
90
- case "error": return [{
91
- type: "error",
92
- payload: { error: { ...event.data.error } }
93
- }];
104
+ case "error": {
105
+ const data = event.data;
106
+ return [{
107
+ type: "error",
108
+ ...logIndex,
109
+ payload: { error: { ...data.error } }
110
+ }];
111
+ }
94
112
  default: return [];
95
113
  }
96
114
  }
@@ -247,6 +265,12 @@ function hasSuspendedToolCall(snapshot, toolCallId) {
247
265
  };
248
266
  return visit(snapshot.context);
249
267
  }
268
+ /** A run-log entry that ends the run. An error *chunk* can precede the finish, so it does not count. */
269
+ const isRunTerminalEvent = (event) => {
270
+ if (event?.type === "error") return true;
271
+ const type = event?.type === "chunk" ? event.data?.type : event?.type;
272
+ return type === "finish" || type === "abort";
273
+ };
250
274
  const DURABLE_SNAPSHOT_WAIT_TIMEOUT_MS = 1e4;
251
275
  const DURABLE_SNAPSHOT_WAIT_INTERVAL_MS = 25;
252
276
  function getDurableLoopWorkflowName(agent) {
@@ -299,6 +323,50 @@ async function validateDurableToolCallAccess({ mastra, agent, runId, toolCallId,
299
323
  */
300
324
  const ALIASED_API_KEY_ENV_VAR_PROVIDERS = /* @__PURE__ */ new Set(["google"]);
301
325
  /**
326
+ * The shared ownership record of a plain agent run, readable from any server
327
+ * sharing the agent's record cache. Undefined when the run is unknown or
328
+ * expired. Falls back to the owner of a run executing in this process on a
329
+ * core without shared records. A record cache that cannot be read is a 503:
330
+ * the caller is refused, never let through.
331
+ */
332
+ async function getPlainRunRecord(agent, runId) {
333
+ const resumable = agent;
334
+ if (typeof resumable.__getRunRecord === "function") try {
335
+ return await resumable.__getRunRecord.call(agent, runId);
336
+ } catch {
337
+ throw new require_http_exception.HTTPException(503, { message: "Run ownership is temporarily unavailable" });
338
+ }
339
+ const owner = resumable.__getPublishedRunOwner?.call(agent, runId);
340
+ return owner ? {
341
+ ...owner,
342
+ status: "running"
343
+ } : void 0;
344
+ }
345
+ /** The caller must own the run and have `permission` on its thread. */
346
+ async function authorizeRunOwner({ mastra, agent, owner, requestContext, permission }) {
347
+ await require_utils$1.validateRunOwnership(owner, require_utils$1.getContextResourceId(requestContext), mastra, requestContext);
348
+ if (!owner.threadId) return;
349
+ const thread = await (await agent.getMemory({ requestContext }))?.getThreadById({ threadId: owner.threadId });
350
+ await require_utils$1.enforceThreadAccess({
351
+ mastra,
352
+ requestContext,
353
+ threadId: owner.threadId,
354
+ thread,
355
+ effectiveResourceId: require_utils$1.getContextResourceId(requestContext),
356
+ permission
357
+ });
358
+ }
359
+ /** Whether the agent publishes its runs, so a closed HTTP reader can detach instead of aborting. */
360
+ function hasResumableStreams(agent) {
361
+ if ((0, _mastra_core_agent.isDurableAgentLike)(agent)) return true;
362
+ const resumable = agent;
363
+ return typeof resumable.hasResumableStreams === "function" && resumable.hasResumableStreams();
364
+ }
365
+ /** The bus a plain Agent with resumable streams publishes its runs on. */
366
+ function getAgentStreamPubSub(agent) {
367
+ return agent.__getStreamBus?.()?.pubsub;
368
+ }
369
+ /**
302
370
  * Checks if a provider has its required API key environment variable(s) configured.
303
371
  * Handles provider IDs with suffixes (e.g., "openai.chat" -> "openai").
304
372
  * Also handles custom gateway providers that are stored with gateway prefix (e.g., "acme/acme-openai").
@@ -1432,8 +1500,8 @@ const STREAM_GENERATE_ROUTE = require_route_builder.createRoute({
1432
1500
  ...restOptions,
1433
1501
  requestContext: serverRequestContext,
1434
1502
  memory: authorizedMemoryOption,
1435
- abortSignal: (0, _mastra_core_agent.isDurableAgentLike)(agent) ? void 0 : abortSignal,
1436
- _detachObserverOnCancel: (0, _mastra_core_agent.isDurableAgentLike)(agent)
1503
+ abortSignal: hasResumableStreams(agent) ? void 0 : abortSignal,
1504
+ _detachObserverOnCancel: hasResumableStreams(agent)
1437
1505
  };
1438
1506
  if (untilIdle) options.untilIdle = untilIdle;
1439
1507
  return (structuredOutput ? await agent.stream(messages, {
@@ -1690,6 +1758,91 @@ const QUEUE_AGENT_SIGNAL_ROUTE = require_route_builder.createRoute({
1690
1758
  }
1691
1759
  }
1692
1760
  });
1761
+ /**
1762
+ * Authorizes a request against a durable run through its workflow rows: the
1763
+ * caller must own the run, the run must belong to `agent`, and the caller must
1764
+ * have `permission` on its thread. Throws 403 when access is denied.
1765
+ * Returns 'missing' when no row exists and 'unverified' when the run has not
1766
+ * checkpointed its input yet, so ownership cannot be confirmed.
1767
+ */
1768
+ async function authorizeDurableRun({ mastra, agent, runId, requestContext, permission }) {
1769
+ const workflows = await mastra.getStorage()?.getStore("workflows");
1770
+ const run = await workflows?.getWorkflowRunById({
1771
+ workflowName: getDurableLoopWorkflowName(agent),
1772
+ runId
1773
+ });
1774
+ if (!run) return "missing";
1775
+ await require_utils$1.validateRunOwnership(run, require_utils$1.getContextResourceId(requestContext), mastra, requestContext);
1776
+ const ownershipSchema = zod_v4.z.object({ context: zod_v4.z.object({ input: zod_v4.z.object({
1777
+ agentId: zod_v4.z.string(),
1778
+ state: zod_v4.z.object({ threadId: zod_v4.z.string().optional() }).optional()
1779
+ }) }) });
1780
+ let parsed = ownershipSchema.safeParse(typeof run.snapshot === "string" ? JSON.parse(run.snapshot) : run.snapshot);
1781
+ if (!parsed.success) {
1782
+ const execution = await workflows?.getWorkflowRunById({
1783
+ workflowName: getDurableLoopWorkflowName(agent).replace(_mastra_core_agent_durable.DurableStepIds.AGENTIC_LOOP, _mastra_core_agent_durable.DurableStepIds.AGENTIC_EXECUTION),
1784
+ runId
1785
+ });
1786
+ await require_utils$1.validateRunOwnership(execution, require_utils$1.getContextResourceId(requestContext), mastra, requestContext);
1787
+ parsed = ownershipSchema.safeParse(typeof execution?.snapshot === "string" ? JSON.parse(execution.snapshot) : execution?.snapshot);
1788
+ }
1789
+ if (!parsed.success) return "unverified";
1790
+ if (parsed.data.context.input.agentId !== agent.id) throw new require_http_exception.HTTPException(403, { message: "Access denied: run does not belong to this agent" });
1791
+ const threadId = parsed.data.context.input.state?.threadId;
1792
+ if (threadId) {
1793
+ const thread = await (await agent.getMemory({ requestContext }))?.getThreadById({ threadId });
1794
+ await require_utils$1.enforceThreadAccess({
1795
+ mastra,
1796
+ requestContext,
1797
+ threadId,
1798
+ thread,
1799
+ effectiveResourceId: require_utils$1.getContextResourceId(requestContext),
1800
+ permission
1801
+ });
1802
+ }
1803
+ return "ok";
1804
+ }
1805
+ /**
1806
+ * Authorizes observing a run: the caller must own it and have read access to
1807
+ * its thread. Plain agent runs are checked against their shared run record,
1808
+ * so any server sharing the agent's record cache can authorize them. Durable
1809
+ * runs use the owner the agent tracks in this process, then their workflow
1810
+ * rows. Throws 404 when the run cannot be found or verified.
1811
+ */
1812
+ async function authorizeRunObservation({ mastra, agent, runId, requestContext }) {
1813
+ const permission = require_utils$1.MastraFGAPermissions.MEMORY_READ;
1814
+ if (!(0, _mastra_core_agent.isDurableAgentLike)(agent)) {
1815
+ const record = await getPlainRunRecord(agent, runId);
1816
+ if (!record) throw new require_http_exception.HTTPException(404, { message: "Run not found" });
1817
+ await authorizeRunOwner({
1818
+ mastra,
1819
+ agent,
1820
+ owner: record,
1821
+ requestContext,
1822
+ permission
1823
+ });
1824
+ return;
1825
+ }
1826
+ const getOwner = agent.__getRunOwner;
1827
+ const owner = typeof getOwner === "function" ? getOwner.call(agent, runId) : void 0;
1828
+ if (owner) {
1829
+ await authorizeRunOwner({
1830
+ mastra,
1831
+ agent,
1832
+ owner,
1833
+ requestContext,
1834
+ permission
1835
+ });
1836
+ return;
1837
+ }
1838
+ if (await authorizeDurableRun({
1839
+ mastra,
1840
+ agent,
1841
+ runId,
1842
+ requestContext,
1843
+ permission
1844
+ }) !== "ok") throw new require_http_exception.HTTPException(404, { message: "Run not found" });
1845
+ }
1693
1846
  const ABORT_AGENT_RUN_ROUTE = require_route_builder.createRoute({
1694
1847
  method: "POST",
1695
1848
  path: "/agents/:agentId/runs/:runId/abort",
@@ -1697,7 +1850,7 @@ const ABORT_AGENT_RUN_ROUTE = require_route_builder.createRoute({
1697
1850
  pathParamSchema: require_agents.agentRunPathParams,
1698
1851
  responseSchema: require_agents.abortAgentThreadResponseSchema,
1699
1852
  summary: "Abort an agent run",
1700
- description: "Explicitly stop a durable run, including runs without a memory thread",
1853
+ description: "Explicitly stop a durable run or a run of an agent with resumable streams, including runs without a memory thread",
1701
1854
  tags: ["Agents"],
1702
1855
  requiresAuth: true,
1703
1856
  requiresPermission: require_utils$1.MastraFGAPermissions.AGENTS_EXECUTE,
@@ -1708,41 +1861,29 @@ const ABORT_AGENT_RUN_ROUTE = require_route_builder.createRoute({
1708
1861
  agentId,
1709
1862
  requestContext
1710
1863
  });
1711
- if (!(0, _mastra_core_agent.isDurableAgentLike)(agent)) throw new require_http_exception.HTTPException(501, { message: "Run-scoped cancellation requires a durable agent" });
1712
- const workflows = await mastra.getStorage()?.getStore("workflows");
1713
- const run = await workflows?.getWorkflowRunById({
1714
- workflowName: getDurableLoopWorkflowName(agent),
1715
- runId
1716
- });
1717
- if (!run) return { aborted: false };
1718
- await require_utils$1.validateRunOwnership(run, require_utils$1.getContextResourceId(requestContext), mastra, requestContext);
1719
- const ownershipSchema = zod_v4.z.object({ context: zod_v4.z.object({ input: zod_v4.z.object({
1720
- agentId: zod_v4.z.string(),
1721
- state: zod_v4.z.object({ threadId: zod_v4.z.string().optional() }).optional()
1722
- }) }) });
1723
- let parsed = ownershipSchema.safeParse(typeof run.snapshot === "string" ? JSON.parse(run.snapshot) : run.snapshot);
1724
- if (!parsed.success) {
1725
- const execution = await workflows?.getWorkflowRunById({
1726
- workflowName: getDurableLoopWorkflowName(agent).replace(_mastra_core_agent_durable.DurableStepIds.AGENTIC_LOOP, _mastra_core_agent_durable.DurableStepIds.AGENTIC_EXECUTION),
1727
- runId
1728
- });
1729
- await require_utils$1.validateRunOwnership(execution, require_utils$1.getContextResourceId(requestContext), mastra, requestContext);
1730
- parsed = ownershipSchema.safeParse(typeof execution?.snapshot === "string" ? JSON.parse(execution.snapshot) : execution?.snapshot);
1731
- }
1732
- if (!parsed.success) return { aborted: false };
1733
- if (parsed.data.context.input.agentId !== agent.id) throw new require_http_exception.HTTPException(403, { message: "Access denied: run does not belong to this agent" });
1734
- const threadId = parsed.data.context.input.state?.threadId;
1735
- if (threadId) {
1736
- const thread = await (await agent.getMemory({ requestContext }))?.getThreadById({ threadId });
1737
- await require_utils$1.enforceThreadAccess({
1864
+ if (!(0, _mastra_core_agent.isDurableAgentLike)(agent)) {
1865
+ const resumable = agent;
1866
+ if (typeof resumable.__getRunRecord !== "function" && typeof resumable.__getPublishedRunOwner !== "function" || !hasResumableStreams(agent)) throw new require_http_exception.HTTPException(501, { message: "Run-scoped cancellation requires a durable agent or an agent with resumable streams" });
1867
+ const record = await getPlainRunRecord(agent, runId);
1868
+ if (!record) throw new require_http_exception.HTTPException(404, { message: "Run not found" });
1869
+ await authorizeRunOwner({
1738
1870
  mastra,
1871
+ agent,
1872
+ owner: record,
1739
1873
  requestContext,
1740
- threadId,
1741
- thread,
1742
- effectiveResourceId: require_utils$1.getContextResourceId(requestContext),
1743
1874
  permission: require_utils$1.MastraFGAPermissions.MEMORY_WRITE
1744
1875
  });
1876
+ if (record.status === "finished") return { aborted: false };
1877
+ if (typeof resumable.__abortRunAcknowledged === "function") return { aborted: await resumable.__abortRunAcknowledged.call(agent, runId) };
1878
+ return { aborted: agent.abortRunStream(runId) };
1745
1879
  }
1880
+ if (await authorizeDurableRun({
1881
+ mastra,
1882
+ agent,
1883
+ runId,
1884
+ requestContext,
1885
+ permission: require_utils$1.MastraFGAPermissions.MEMORY_WRITE
1886
+ }) !== "ok") return { aborted: false };
1746
1887
  if (typeof agent.__abortRunAcknowledged === "function") return { aborted: await agent.__abortRunAcknowledged(runId) };
1747
1888
  return { aborted: await agent.abortRunStream(runId) };
1748
1889
  } catch (error) {
@@ -2005,8 +2146,8 @@ const STREAM_UNTIL_IDLE_GENERATE_ROUTE = require_route_builder.createRoute({
2005
2146
  context: restOptions.context,
2006
2147
  requestContext: serverRequestContext,
2007
2148
  memory: authorizedMemoryOption,
2008
- abortSignal: (0, _mastra_core_agent.isDurableAgentLike)(agent) ? void 0 : abortSignal,
2009
- _detachObserverOnCancel: (0, _mastra_core_agent.isDurableAgentLike)(agent)
2149
+ abortSignal: hasResumableStreams(agent) ? void 0 : abortSignal,
2150
+ _detachObserverOnCancel: hasResumableStreams(agent)
2010
2151
  };
2011
2152
  return (structuredOutput ? await agent.streamUntilIdle(messages, {
2012
2153
  ...options,
@@ -2040,24 +2181,43 @@ const OBSERVE_AGENT_STREAM_ROUTE = require_route_builder.createRoute({
2040
2181
  bodySchema: require_agents.observeAgentBodySchema,
2041
2182
  responseSchema: require_agents.observeAgentResponseSchema,
2042
2183
  summary: "Observe agent stream",
2043
- description: "Reconnect to an existing agent stream to receive missed events. Supports position-based resume with offset for efficient reconnection.",
2184
+ description: "Reconnect to an existing agent stream to receive missed events. Every frame except abort carries the run-log `index` it came from; pass `offset` as the index + 1 of the last frame that has one to resume without repeating indexed frames. Frames whose replay-cache write failed, or all frames when caching is off, carry no index, so no offset can resume at them; omitting `offset` replays whatever the transport itself retains, which can repeat frames already received.",
2044
2185
  tags: ["Agents", "Streaming"],
2045
2186
  requiresAuth: true,
2046
- handler: async ({ mastra, agentId, runId, offset, abortSignal }) => {
2187
+ handler: async ({ mastra, agentId, runId, offset, abortSignal, requestContext }) => {
2047
2188
  try {
2048
2189
  const agent = await getAgentFromSystem({
2049
2190
  mastra,
2050
- agentId
2191
+ agentId,
2192
+ requestContext
2193
+ });
2194
+ await authorizeRunObservation({
2195
+ mastra,
2196
+ agent,
2197
+ runId,
2198
+ requestContext
2051
2199
  });
2052
2200
  const durableAgent = (0, _mastra_core_agent.isDurableAgentLike)(agent) ? agent : void 0;
2053
- const pubsub = durableAgent?.pubsub ?? mastra.pubsub;
2201
+ const pubsub = durableAgent?.pubsub ?? getAgentStreamPubSub(agent) ?? mastra.pubsub;
2054
2202
  const topic = (0, _mastra_core_agent_durable.AGENT_STREAM_TOPIC)(runId);
2055
2203
  const subscribe = (onEvent, onComplete) => {
2056
2204
  if (typeof durableAgent?.__subscribeToRunStream === "function") return durableAgent.__subscribeToRunStream(runId, {
2057
2205
  offset,
2058
2206
  onComplete
2059
2207
  }, onEvent);
2060
- return (offset !== void 0 ? pubsub.subscribeFromOffset(topic, offset, onEvent) : pubsub.subscribeWithReplay(topic, onEvent)).then(() => () => pubsub.unsubscribe(topic, onEvent));
2208
+ if (offset === void 0) return pubsub.subscribeWithReplay(topic, onEvent).then(() => () => pubsub.unsubscribe(topic, onEvent));
2209
+ return pubsub.subscribeFromOffset(topic, offset, onEvent).then(() => {
2210
+ if (offset > 0) {
2211
+ const readTail = async () => {
2212
+ const window = await pubsub.getHistory(topic, offset - 1);
2213
+ return window.length > 0 ? window.at(-1) : (await pubsub.getHistory(topic, 0)).at(-1);
2214
+ };
2215
+ readTail().catch(() => void 0).then((last) => {
2216
+ if (typeof last?.index === "number" && last.index < offset && isRunTerminalEvent(last)) onComplete();
2217
+ });
2218
+ }
2219
+ return () => pubsub.unsubscribe(topic, onEvent);
2220
+ });
2061
2221
  };
2062
2222
  let closed = false;
2063
2223
  let pendingRejection;
@@ -2186,8 +2346,8 @@ const APPROVE_TOOL_CALL_ROUTE = require_route_builder.createRoute({
2186
2346
  return (await agent.approveToolCall({
2187
2347
  ...params,
2188
2348
  requestContext,
2189
- abortSignal: (0, _mastra_core_agent.isDurableAgentLike)(agent) ? void 0 : abortSignal,
2190
- _detachObserverOnCancel: (0, _mastra_core_agent.isDurableAgentLike)(agent)
2349
+ abortSignal: hasResumableStreams(agent) ? void 0 : abortSignal,
2350
+ _detachObserverOnCancel: hasResumableStreams(agent)
2191
2351
  })).fullStream;
2192
2352
  } catch (error) {
2193
2353
  return require_server_handlers_error.handleError(error, "error approving tool call");
@@ -2343,8 +2503,8 @@ const DECLINE_TOOL_CALL_ROUTE = require_route_builder.createRoute({
2343
2503
  return (await agent.declineToolCall({
2344
2504
  ...params,
2345
2505
  requestContext,
2346
- abortSignal: (0, _mastra_core_agent.isDurableAgentLike)(agent) ? void 0 : abortSignal,
2347
- _detachObserverOnCancel: (0, _mastra_core_agent.isDurableAgentLike)(agent)
2506
+ abortSignal: hasResumableStreams(agent) ? void 0 : abortSignal,
2507
+ _detachObserverOnCancel: hasResumableStreams(agent)
2348
2508
  })).fullStream;
2349
2509
  } catch (error) {
2350
2510
  return require_server_handlers_error.handleError(error, "error declining tool call");
@@ -2428,8 +2588,8 @@ const RESUME_STREAM_ROUTE = require_route_builder.createRoute({
2428
2588
  ...restOptions,
2429
2589
  requestContext: serverRequestContext,
2430
2590
  memory: authorizedMemoryOption,
2431
- abortSignal: (0, _mastra_core_agent.isDurableAgentLike)(agent) ? void 0 : abortSignal,
2432
- _detachObserverOnCancel: (0, _mastra_core_agent.isDurableAgentLike)(agent)
2591
+ abortSignal: hasResumableStreams(agent) ? void 0 : abortSignal,
2592
+ _detachObserverOnCancel: hasResumableStreams(agent)
2433
2593
  };
2434
2594
  if (untilIdle) options.untilIdle = untilIdle;
2435
2595
  return (structuredOutput ? await agent.resumeStream(resumeData, {
@@ -2558,8 +2718,8 @@ const RESUME_STREAM_UNTIL_IDLE_ROUTE = require_route_builder.createRoute({
2558
2718
  context: restOptions.context,
2559
2719
  requestContext: serverRequestContext,
2560
2720
  memory: authorizedMemoryOption,
2561
- abortSignal: (0, _mastra_core_agent.isDurableAgentLike)(agent) ? void 0 : abortSignal,
2562
- _detachObserverOnCancel: (0, _mastra_core_agent.isDurableAgentLike)(agent)
2721
+ abortSignal: hasResumableStreams(agent) ? void 0 : abortSignal,
2722
+ _detachObserverOnCancel: hasResumableStreams(agent)
2563
2723
  };
2564
2724
  return (structuredOutput ? await agent.resumeStreamUntilIdle(resumeData, {
2565
2725
  ...options,
@@ -3381,4 +3541,4 @@ Object.defineProperty(exports, "isProviderConnected", {
3381
3541
  }
3382
3542
  });
3383
3543
 
3384
- //# sourceMappingURL=agents-DsfsDhIT.cjs.map
3544
+ //# sourceMappingURL=agents-CMEeZr5y.cjs.map