@mastra/server 1.77.0-alpha.4 → 1.78.0-alpha.0

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 (153) hide show
  1. package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/request-context/index.d.ts +22 -1
  2. package/dist/{a2a-Ddo5dOMm.js → a2a-BWKuwXQY.js} +2 -2
  3. package/dist/{a2a-Ddo5dOMm.js.map → a2a-BWKuwXQY.js.map} +1 -1
  4. package/dist/{a2a-BZlUyHOa.cjs → a2a-BeW8w9CL.cjs} +2 -2
  5. package/dist/{a2a-BZlUyHOa.cjs.map → a2a-BeW8w9CL.cjs.map} +1 -1
  6. package/dist/{api-schema-manifest-DC45FBI7.cjs → api-schema-manifest-7Mkcahcz.cjs} +2 -2
  7. package/dist/{api-schema-manifest-DC45FBI7.cjs.map → api-schema-manifest-7Mkcahcz.cjs.map} +1 -1
  8. package/dist/{api-schema-manifest-BQOonczJ.js → api-schema-manifest-BSc3N7kx.js} +2 -2
  9. package/dist/{api-schema-manifest-BQOonczJ.js.map → api-schema-manifest-BSc3N7kx.js.map} +1 -1
  10. package/dist/{background-tasks-CIp3Ltam.cjs → background-tasks-Cu89GYC6.cjs} +33 -7
  11. package/dist/background-tasks-Cu89GYC6.cjs.map +1 -0
  12. package/dist/{background-tasks-DgskLon8.js → background-tasks-_e2S8LLH.js} +35 -8
  13. package/dist/background-tasks-_e2S8LLH.js.map +1 -0
  14. package/dist/{builder-registry-CEx2-J6_.js → builder-registry-6A0b4EwP.js} +2 -2
  15. package/dist/{builder-registry-CEx2-J6_.js.map → builder-registry-6A0b4EwP.js.map} +1 -1
  16. package/dist/{builder-registry-bpbwRFZE.cjs → builder-registry-DbSG3HJ8.cjs} +2 -2
  17. package/dist/{builder-registry-bpbwRFZE.cjs.map → builder-registry-DbSG3HJ8.cjs.map} +1 -1
  18. package/dist/{channels-Ce2IRRmI.cjs → channels-DNWITrYK.cjs} +2 -2
  19. package/dist/{channels-Ce2IRRmI.cjs.map → channels-DNWITrYK.cjs.map} +1 -1
  20. package/dist/{channels-BOdvOy0n.js → channels-DjOa1rPQ.js} +2 -2
  21. package/dist/{channels-BOdvOy0n.js.map → channels-DjOa1rPQ.js.map} +1 -1
  22. package/dist/{constants-1TDVXCCT.js → constants-C631oS02.js} +6 -1
  23. package/dist/constants-C631oS02.js.map +1 -0
  24. package/dist/{constants-6d6tCMH8.cjs → constants-epIL4td4.cjs} +6 -1
  25. package/dist/constants-epIL4td4.cjs.map +1 -0
  26. package/dist/docs/SKILL.md +1 -1
  27. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  28. package/dist/{helpers-BL_XfkF0.cjs → helpers-59ZdrW8t.cjs} +2 -2
  29. package/dist/{helpers-BL_XfkF0.cjs.map → helpers-59ZdrW8t.cjs.map} +1 -1
  30. package/dist/{helpers-CaSnDz4f.js → helpers-C_FYiA-F.js} +2 -2
  31. package/dist/{helpers-CaSnDz4f.js.map → helpers-C_FYiA-F.js.map} +1 -1
  32. package/dist/{observability-new-endpoints-C5ROsHu_.js → observability-new-endpoints-C70wlMFY.js} +2 -2
  33. package/dist/{observability-new-endpoints-C5ROsHu_.js.map → observability-new-endpoints-C70wlMFY.js.map} +1 -1
  34. package/dist/{observability-new-endpoints-BCmkibMp.cjs → observability-new-endpoints-CcDGSm8x.cjs} +2 -2
  35. package/dist/{observability-new-endpoints-BCmkibMp.cjs.map → observability-new-endpoints-CcDGSm8x.cjs.map} +1 -1
  36. package/dist/{routes-Dl6lzZIQ.cjs → routes-BOpfBZw5.cjs} +8 -8
  37. package/dist/{routes-Dl6lzZIQ.cjs.map → routes-BOpfBZw5.cjs.map} +1 -1
  38. package/dist/{routes-DhwMARHw.js → routes-CccVLchZ.js} +8 -8
  39. package/dist/{routes-DhwMARHw.js.map → routes-CccVLchZ.js.map} +1 -1
  40. package/dist/{schedules-C4uNWRwW.js → schedules-6XpznRPz.js} +2 -2
  41. package/dist/{schedules-C4uNWRwW.js.map → schedules-6XpznRPz.js.map} +1 -1
  42. package/dist/{schedules-QNH7CUxG.cjs → schedules-BiqVrJH7.cjs} +2 -2
  43. package/dist/{schedules-QNH7CUxG.cjs.map → schedules-BiqVrJH7.cjs.map} +1 -1
  44. package/dist/server/auth/index.cjs +2 -2
  45. package/dist/server/auth/index.js +2 -2
  46. package/dist/server/constants.d.ts +4 -0
  47. package/dist/server/constants.d.ts.map +1 -1
  48. package/dist/server/handlers/a2a.cjs +1 -1
  49. package/dist/server/handlers/a2a.js +1 -1
  50. package/dist/server/handlers/agent-builder.cjs +1 -1
  51. package/dist/server/handlers/agent-builder.js +1 -1
  52. package/dist/server/handlers/agent-controller.cjs +2 -2
  53. package/dist/server/handlers/agent-controller.js +2 -2
  54. package/dist/server/handlers/agent-versions.cjs +1 -1
  55. package/dist/server/handlers/agent-versions.js +1 -1
  56. package/dist/server/handlers/agents.cjs +79 -19
  57. package/dist/server/handlers/agents.cjs.map +1 -1
  58. package/dist/server/handlers/agents.js +79 -19
  59. package/dist/server/handlers/agents.js.map +1 -1
  60. package/dist/server/handlers/auth.cjs +2 -2
  61. package/dist/server/handlers/auth.js +2 -2
  62. package/dist/server/handlers/authorship.cjs +1 -1
  63. package/dist/server/handlers/authorship.js +1 -1
  64. package/dist/server/handlers/background-tasks.cjs +1 -1
  65. package/dist/server/handlers/background-tasks.d.ts.map +1 -1
  66. package/dist/server/handlers/background-tasks.js +1 -1
  67. package/dist/server/handlers/builder-registry.cjs +1 -1
  68. package/dist/server/handlers/builder-registry.js +1 -1
  69. package/dist/server/handlers/channels.cjs +1 -1
  70. package/dist/server/handlers/channels.js +1 -1
  71. package/dist/server/handlers/conversations.cjs +1 -1
  72. package/dist/server/handlers/conversations.js +1 -1
  73. package/dist/server/handlers/datasets.cjs +1 -1
  74. package/dist/server/handlers/datasets.js +1 -1
  75. package/dist/server/handlers/logs.cjs +1 -1
  76. package/dist/server/handlers/logs.js +1 -1
  77. package/dist/server/handlers/mcp-client-versions.cjs +1 -1
  78. package/dist/server/handlers/mcp-client-versions.js +1 -1
  79. package/dist/server/handlers/memory.cjs +1 -1
  80. package/dist/server/handlers/memory.js +1 -1
  81. package/dist/server/handlers/observability-new-endpoints.cjs +1 -1
  82. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  83. package/dist/server/handlers/observability.cjs +1 -1
  84. package/dist/server/handlers/observability.js +1 -1
  85. package/dist/server/handlers/plans.cjs +1 -1
  86. package/dist/server/handlers/plans.js +1 -1
  87. package/dist/server/handlers/prompt-block-versions.cjs +1 -1
  88. package/dist/server/handlers/prompt-block-versions.js +1 -1
  89. package/dist/server/handlers/responses.cjs +1 -1
  90. package/dist/server/handlers/responses.js +1 -1
  91. package/dist/server/handlers/responses.storage.cjs +1 -1
  92. package/dist/server/handlers/responses.storage.js +1 -1
  93. package/dist/server/handlers/schedules.cjs +1 -1
  94. package/dist/server/handlers/schedules.js +1 -1
  95. package/dist/server/handlers/scorer-versions.cjs +1 -1
  96. package/dist/server/handlers/scorer-versions.js +1 -1
  97. package/dist/server/handlers/stored-agent-favorites.cjs +1 -1
  98. package/dist/server/handlers/stored-agent-favorites.js +1 -1
  99. package/dist/server/handlers/stored-agents.cjs +1 -1
  100. package/dist/server/handlers/stored-agents.js +1 -1
  101. package/dist/server/handlers/stored-mcp-clients.cjs +1 -1
  102. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  103. package/dist/server/handlers/stored-prompt-blocks.cjs +1 -1
  104. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  105. package/dist/server/handlers/stored-scorers.cjs +1 -1
  106. package/dist/server/handlers/stored-scorers.js +1 -1
  107. package/dist/server/handlers/stored-skill-favorites.cjs +1 -1
  108. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  109. package/dist/server/handlers/stored-skills.cjs +1 -1
  110. package/dist/server/handlers/stored-skills.js +1 -1
  111. package/dist/server/handlers/stored-workspaces.cjs +1 -1
  112. package/dist/server/handlers/stored-workspaces.js +1 -1
  113. package/dist/server/handlers/system.cjs +1 -1
  114. package/dist/server/handlers/system.js +1 -1
  115. package/dist/server/handlers/tool-providers.cjs +1 -1
  116. package/dist/server/handlers/tool-providers.js +1 -1
  117. package/dist/server/handlers/tools.cjs +2 -2
  118. package/dist/server/handlers/tools.js +2 -2
  119. package/dist/server/handlers/utils.cjs +1 -1
  120. package/dist/server/handlers/utils.js +1 -1
  121. package/dist/server/handlers/validate-agent-instructions.cjs +1 -1
  122. package/dist/server/handlers/validate-agent-instructions.js +1 -1
  123. package/dist/server/handlers/workflow-builder.cjs +1 -1
  124. package/dist/server/handlers/workflow-builder.js +1 -1
  125. package/dist/server/handlers/workflows.cjs +2 -2
  126. package/dist/server/handlers/workflows.js +2 -2
  127. package/dist/server/handlers.cjs +1 -1
  128. package/dist/server/handlers.js +1 -1
  129. package/dist/server/server-adapter/index.cjs +6 -4
  130. package/dist/server/server-adapter/index.cjs.map +1 -1
  131. package/dist/server/server-adapter/index.d.ts +2 -0
  132. package/dist/server/server-adapter/index.d.ts.map +1 -1
  133. package/dist/server/server-adapter/index.js +6 -4
  134. package/dist/server/server-adapter/index.js.map +1 -1
  135. package/dist/{utils-BD7aRZ1o.cjs → utils-BF2Kbju4.cjs} +2 -2
  136. package/dist/{utils-BD7aRZ1o.cjs.map → utils-BF2Kbju4.cjs.map} +1 -1
  137. package/dist/{utils-DTgkpEdc.js → utils-BpQY-tBr.js} +2 -2
  138. package/dist/{utils-DTgkpEdc.js.map → utils-BpQY-tBr.js.map} +1 -1
  139. package/dist/{utils-CfF-SHpC.cjs → utils-CJxnYdr3.cjs} +2 -2
  140. package/dist/{utils-CfF-SHpC.cjs.map → utils-CJxnYdr3.cjs.map} +1 -1
  141. package/dist/{utils-UwDFLi8y.js → utils-GVYTDbr2.js} +2 -2
  142. package/dist/{utils-UwDFLi8y.js.map → utils-GVYTDbr2.js.map} +1 -1
  143. package/dist/{workflow-builder-DwApMkS3.js → workflow-builder-U2jFH8o7.js} +3 -3
  144. package/dist/workflow-builder-U2jFH8o7.js.map +1 -0
  145. package/dist/{workflow-builder-DPTDL6sn.cjs → workflow-builder-UVflLOfv.cjs} +3 -3
  146. package/dist/workflow-builder-UVflLOfv.cjs.map +1 -0
  147. package/package.json +9 -9
  148. package/dist/background-tasks-CIp3Ltam.cjs.map +0 -1
  149. package/dist/background-tasks-DgskLon8.js.map +0 -1
  150. package/dist/constants-1TDVXCCT.js.map +0 -1
  151. package/dist/constants-6d6tCMH8.cjs.map +0 -1
  152. package/dist/workflow-builder-DPTDL6sn.cjs.map +0 -1
  153. package/dist/workflow-builder-DwApMkS3.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schedules-QNH7CUxG.cjs","names":["z","HTTPException","createRoute","getPublicWorkflowById"],"sources":["../src/server/schemas/schedules.ts","../src/server/handlers/schedules.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const scheduleStatusSchema = z.enum(['active', 'paused', 'completed']);\n\n/** Statuses a caller may set directly; `completed` is only reached by the scheduler. */\nconst settableScheduleStatusSchema = z.enum(['active', 'paused']);\n\n/** Mirrors the core `AgentSignalType` union. */\nconst signalTypeSchema = z.enum(['user', 'state', 'reactive', 'notification', 'user-message', 'system-reminder']);\n\n/** Attributes rendered onto the signal's XML tag. */\nconst signalAttributesSchema = z.record(\n z.string(),\n z.union([z.string(), z.number(), z.boolean(), z.null()]).optional(),\n);\n\n/** Behavior + attributes applied when the thread is already streaming. */\nconst ifActiveSchema = z.object({\n behavior: z.enum(['deliver', 'persist', 'discard']).optional(),\n attributes: signalAttributesSchema.optional(),\n});\n\n/**\n * Behavior + attributes applied when the thread is idle, plus a serializable\n * subset of stream options forwarded to the woken run.\n */\nconst ifIdleSchema = z.object({\n behavior: z.enum(['wake', 'persist', 'discard']).optional(),\n attributes: signalAttributesSchema.optional(),\n streamOptions: z\n .object({\n requestContext: z.record(z.string(), z.unknown()).optional(),\n })\n .optional(),\n});\n\nexport const workflowRunStatusSchema = z.enum([\n 'running',\n 'success',\n 'failed',\n 'tripwire',\n 'suspended',\n 'waiting',\n 'pending',\n 'canceled',\n 'bailed',\n 'paused',\n 'skipped',\n]);\n\nexport const scheduleRunSummarySchema = z.object({\n status: workflowRunStatusSchema,\n startedAt: z.number().optional(),\n completedAt: z.number().optional(),\n durationMs: z.number().optional(),\n error: z.string().optional(),\n});\n\n/**\n * Flat agent-schedule view. Persisted as a `Schedule` row with a\n * `target.type === 'agent'` variant; the HTTP surface flattens that\n * representation to the fields a user cares about (cron, prompt, threading,\n * status, lifecycle) without exposing the schedule plumbing. Discriminate\n * from workflow schedules by the presence of `agentId`.\n */\nexport const agentScheduleSchema = z.object({\n id: z.string(),\n agentId: z.string(),\n /** Mirror of the workflow-schedule discriminator — always absent on agent schedules. */\n workflowId: z.undefined().optional(),\n /** Workflow-run summary — never hydrated for agent schedules. */\n lastRun: z.undefined().optional(),\n name: z.string().optional(),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n prompt: z.string(),\n cron: z.string(),\n timezone: z.string().optional(),\n status: scheduleStatusSchema,\n nextFireAt: z.number(),\n lastFireAt: z.number().optional(),\n lastRunId: z.string().optional(),\n signalType: signalTypeSchema.optional(),\n tagName: z.string().optional(),\n attributes: signalAttributesSchema.optional(),\n ifActive: ifActiveSchema.optional(),\n ifIdle: ifIdleSchema.optional(),\n providerOptions: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n});\n\n/**\n * Flat workflow-schedule view. Discriminate from agent schedules by the\n * presence of `workflowId`.\n */\nexport const workflowScheduleSchema = z.object({\n id: z.string(),\n workflowId: z.string(),\n /** Mirror of the agent-schedule discriminator — always absent on workflow schedules. */\n agentId: z.undefined().optional(),\n cron: z.string(),\n timezone: z.string().optional(),\n status: scheduleStatusSchema,\n nextFireAt: z.number(),\n lastFireAt: z.number().optional(),\n lastRunId: z.string().optional(),\n lastRun: scheduleRunSummarySchema.optional(),\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n});\n\n/** Union of the flat views returned by the unified `/schedules` surface. */\nexport const scheduleSchema = z.union([agentScheduleSchema, workflowScheduleSchema]);\n\nexport const scheduleTriggerOutcomeSchema = z.enum([\n 'published',\n 'succeeded',\n 'delivered',\n 'persisted',\n 'discarded',\n 'skipped',\n 'aborted',\n 'failed',\n // Legacy queue/notification outcomes — no longer written, but trigger rows\n // persisted by older builds may still carry them. Kept readable so the\n // response validator does not reject historical rows. Mirrors the core\n // ScheduleTriggerOutcome union.\n 'acked',\n 'alerted',\n 'deferred',\n 'appended-from-queue',\n 'dropped-stale',\n 'dropped-superseded',\n 'dropped-busy',\n]);\n\nexport const scheduleTriggerKindSchema = z.enum(['schedule-fire', 'queue-drain', 'manual']);\n\nexport const scheduleTriggerResponseSchema = z.object({\n id: z.string().optional(),\n scheduleId: z.string(),\n runId: z.string().nullable(),\n scheduledFireAt: z.number(),\n actualFireAt: z.number(),\n outcome: scheduleTriggerOutcomeSchema,\n error: z.string().optional(),\n triggerKind: scheduleTriggerKindSchema.optional(),\n parentTriggerId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n run: scheduleRunSummarySchema.optional(),\n});\n\nexport const listSchedulesQuerySchema = z.object({\n agentId: z.string().optional(),\n workflowId: z.string().optional(),\n status: scheduleStatusSchema.optional(),\n /** Agent-schedule only: match the target threadId. */\n threadId: z.string().optional(),\n /** Match the schedule's resourceId (agent thread identity or workflow run attribution). */\n resourceId: z.string().optional(),\n /** Agent-schedule only: match the free-form target name. */\n name: z.string().optional(),\n});\n\nexport const listSchedulesResponseSchema = z.object({\n schedules: z.array(scheduleSchema),\n});\n\nexport const scheduleIdPathParams = z.object({\n scheduleId: z.string(),\n});\n\n/**\n * Agent variant of the create body — targets an agent by `agentId`. Strict so\n * a body carrying both `agentId` and `workflowId` is rejected as ambiguous\n * instead of silently matching the agent branch of the union.\n */\nconst createAgentScheduleBodySchema = z.strictObject({\n /** Optional stable id; normalized to `agent_<slug>`. A random id is generated when omitted. */\n id: z.string().optional(),\n agentId: z.string().min(1),\n cron: z.string(),\n timezone: z.string().optional(),\n prompt: z.string(),\n name: z.string().optional(),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n signalType: signalTypeSchema.optional(),\n tagName: z.string().optional(),\n attributes: signalAttributesSchema.optional(),\n ifActive: ifActiveSchema.optional(),\n ifIdle: ifIdleSchema.optional(),\n providerOptions: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Workflow variant of the create body — targets a workflow by `workflowId`.\n * Strict so ambiguous bodies (both ids) are rejected by the union.\n */\nconst createWorkflowScheduleBodySchema = z.strictObject({\n /** Optional stable id; normalized to `schedule_<slug>`. A random id is generated when omitted. */\n id: z.string().optional(),\n workflowId: z.string().min(1),\n cron: z.string(),\n timezone: z.string().optional(),\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Body for POST /schedules. Discriminated by which target id is present:\n * `agentId` creates an agent schedule, `workflowId` a workflow schedule.\n * Both variants are strict, so a body carrying both ids (or unknown keys)\n * fails validation instead of silently dropping fields.\n */\nexport const createScheduleBodySchema = z.union([createAgentScheduleBodySchema, createWorkflowScheduleBodySchema]);\n\n/**\n * Body for PATCH /schedules/:scheduleId — partial update. Fields apply to\n * the matching target type; agent-only fields on a workflow schedule are\n * rejected by the service. An agent schedule's `threadId` / `resourceId` are\n * intentionally not editable; they are part of its identity — to re-target,\n * delete and recreate. A workflow schedule's `resourceId` is only run-attribution\n * metadata (not identity) and may be updated.\n */\nexport const updateScheduleBodySchema = z.object({\n cron: z.string().optional(),\n timezone: z.string().optional(),\n status: settableScheduleStatusSchema.optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n // Agent-schedule fields\n prompt: z.string().optional(),\n name: z.string().optional(),\n signalType: signalTypeSchema.optional(),\n tagName: z.string().optional(),\n attributes: signalAttributesSchema.optional(),\n ifActive: ifActiveSchema.optional(),\n ifIdle: ifIdleSchema.optional(),\n providerOptions: z.record(z.string(), z.unknown()).optional(),\n // Workflow-schedule fields\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n});\n\nexport const deleteScheduleResponseSchema = z.object({\n message: z.string(),\n});\n\n/** Response for POST /schedules/:scheduleId/run. */\nexport const runScheduleResponseSchema = z.object({\n scheduleId: z.string(),\n claimId: z.string(),\n scheduledFireAt: z.number(),\n});\n\nexport const listScheduleTriggersQuerySchema = z.object({\n limit: z.coerce.number().int().positive().optional(),\n fromActualFireAt: z.coerce.number().int().nonnegative().optional(),\n toActualFireAt: z.coerce.number().int().nonnegative().optional(),\n});\n\nexport const listScheduleTriggersResponseSchema = z.object({\n triggers: z.array(scheduleTriggerResponseSchema),\n});\n\nexport type AgentScheduleResponse = z.infer<typeof agentScheduleSchema>;\nexport type WorkflowScheduleResponse = z.infer<typeof workflowScheduleSchema>;\nexport type ScheduleResponse = z.infer<typeof scheduleSchema>;\n","import type { Mastra } from '@mastra/core';\nimport type { AgentSchedule, AnySchedule, WorkflowSchedule } from '@mastra/core/schedules';\nimport type { WorkflowRunState } from '@mastra/core/workflows';\nimport { HTTPException } from '../http-exception';\nimport {\n createScheduleBodySchema,\n deleteScheduleResponseSchema,\n listSchedulesQuerySchema,\n listSchedulesResponseSchema,\n listScheduleTriggersQuerySchema,\n listScheduleTriggersResponseSchema,\n runScheduleResponseSchema,\n scheduleIdPathParams,\n scheduleSchema,\n updateScheduleBodySchema,\n} from '../schemas/schedules';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { getPublicWorkflowById } from './utils';\n\ntype RunSummary = {\n status: WorkflowRunState['status'];\n startedAt?: number;\n completedAt?: number;\n durationMs?: number;\n error?: string;\n};\n\nfunction snapshotToRunSummary(run: {\n snapshot: WorkflowRunState | string;\n createdAt: Date;\n updatedAt: Date;\n}): RunSummary | undefined {\n const snapshot = typeof run.snapshot === 'string' ? null : run.snapshot;\n if (!snapshot) return undefined;\n const startedAt = run.createdAt instanceof Date ? run.createdAt.getTime() : undefined;\n const isTerminal =\n snapshot.status === 'success' ||\n snapshot.status === 'failed' ||\n snapshot.status === 'canceled' ||\n snapshot.status === 'bailed' ||\n snapshot.status === 'tripwire';\n const completedAt = isTerminal ? (run.updatedAt instanceof Date ? run.updatedAt.getTime() : undefined) : undefined;\n const durationMs = startedAt !== undefined && completedAt !== undefined ? completedAt - startedAt : undefined;\n return {\n status: snapshot.status,\n startedAt,\n completedAt,\n durationMs,\n error: snapshot.error?.message,\n };\n}\n\nasync function fetchRunSummary(mastra: Mastra, workflowName: string, runId: string): Promise<RunSummary | undefined> {\n try {\n const workflowsStore = await mastra.getStorage()?.getStore('workflows');\n const run = await workflowsStore?.getWorkflowRunById({ runId, workflowName });\n if (!run) return undefined;\n return snapshotToRunSummary(run);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Attach a `lastRun` summary to workflow schedules. Agent schedules pass\n * through unchanged — their `lastRunId` is an agent run, not a workflow run.\n */\nasync function hydrateScheduleResponse(\n mastra: Mastra,\n schedule: AnySchedule,\n): Promise<AgentSchedule | (WorkflowSchedule & { lastRun?: RunSummary })> {\n if (!schedule.workflowId || !schedule.lastRunId) {\n return schedule;\n }\n const lastRun = await fetchRunSummary(mastra, schedule.workflowId, schedule.lastRunId);\n return lastRun ? { ...schedule, lastRun } : schedule;\n}\n\n/**\n * Resolve a schedule by id via `mastra.schedules`. Returns 404 for missing\n * rows so handlers surface a clean HTTP error instead of a service error.\n */\nasync function loadSchedule(mastra: Mastra, scheduleId: string): Promise<AnySchedule> {\n const schedule = await mastra.schedules.get(scheduleId);\n if (!schedule) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n return schedule;\n}\n\nexport const LIST_SCHEDULES_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules',\n responseType: 'json' as const,\n queryParamSchema: listSchedulesQuerySchema,\n responseSchema: listSchedulesResponseSchema,\n summary: 'List schedules',\n description:\n 'Returns all schedules — agent schedules and workflow schedules — optionally filtered by agentId, workflowId, or status. Completed schedules are excluded unless requested with a status filter. Agent schedules can additionally be filtered by threadId, resourceId, or name.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, workflowId, status, threadId, resourceId, name }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n // Schedules domain not configured — there are no schedules to return.\n return { schedules: [] };\n }\n const schedules = await mastra.schedules.list({ agentId, workflowId, status, threadId, resourceId, name });\n const hydrated = await Promise.all(schedules.map(schedule => hydrateScheduleResponse(mastra, schedule)));\n return { schedules: hydrated };\n },\n});\n\nexport const GET_SCHEDULE_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleSchema,\n summary: 'Get a schedule by ID',\n description: 'Returns a single schedule by its id.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedule = await loadSchedule(mastra, scheduleId);\n return hydrateScheduleResponse(mastra, schedule);\n },\n});\n\nexport const CREATE_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules',\n responseType: 'json' as const,\n bodySchema: createScheduleBodySchema,\n responseSchema: scheduleSchema,\n summary: 'Create a schedule',\n description:\n 'Creates a new schedule. Pass `agentId` (plus `prompt`) to schedule an agent, or `workflowId` (plus optional `inputData`) to schedule a workflow. Agent schedules get a random `agent_<uuid>` id, workflow schedules a random `schedule_<uuid>` id; pass `id` for a stable slug instead.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, ...body }) => {\n // getAgentById throws a MastraError (status 404) when the target is\n // unknown; translate that into a clean HTTP 404 instead of letting it\n // surface as 500. Hidden internal workflows are treated as unknown.\n if ('workflowId' in body && body.workflowId) {\n // The scheduler later resolves the stored id through core, which also\n // sees hidden workflows. Reject ids where that lookup would pick a\n // different workflow than the public one validated here.\n const workflow = getPublicWorkflowById(mastra, body.workflowId);\n let resolved: unknown;\n try {\n resolved = mastra.getWorkflowById(body.workflowId);\n } catch {\n resolved = undefined;\n }\n if (!workflow || resolved !== workflow) {\n throw new HTTPException(404, { message: `Workflow \"${body.workflowId}\" not found` });\n }\n return await mastra.schedules.create({\n workflowId: body.workflowId,\n cron: body.cron,\n ...(body.id ? { id: body.id } : {}),\n ...(body.timezone ? { timezone: body.timezone } : {}),\n ...(body.inputData !== undefined ? { inputData: body.inputData } : {}),\n ...(body.initialState !== undefined ? { initialState: body.initialState } : {}),\n ...(body.requestContext ? { requestContext: body.requestContext } : {}),\n ...(body.resourceId ? { resourceId: body.resourceId } : {}),\n ...(body.metadata ? { metadata: body.metadata } : {}),\n });\n }\n const agentBody = body as Extract<typeof body, { agentId: string }>;\n try {\n mastra.getAgentById(agentBody.agentId);\n } catch {\n throw new HTTPException(404, { message: `Agent \"${agentBody.agentId}\" not found` });\n }\n return await mastra.schedules.create({\n agentId: agentBody.agentId,\n cron: agentBody.cron,\n prompt: agentBody.prompt,\n ...(agentBody.id ? { id: agentBody.id } : {}),\n ...(agentBody.name ? { name: agentBody.name } : {}),\n ...(agentBody.timezone ? { timezone: agentBody.timezone } : {}),\n ...(agentBody.threadId ? { threadId: agentBody.threadId } : {}),\n ...(agentBody.resourceId ? { resourceId: agentBody.resourceId } : {}),\n ...(agentBody.signalType ? { signalType: agentBody.signalType } : {}),\n ...(agentBody.tagName ? { tagName: agentBody.tagName } : {}),\n ...(agentBody.attributes ? { attributes: agentBody.attributes } : {}),\n ...(agentBody.ifActive ? { ifActive: agentBody.ifActive } : {}),\n ...(agentBody.ifIdle ? { ifIdle: agentBody.ifIdle } : {}),\n ...(agentBody.providerOptions ? { providerOptions: agentBody.providerOptions } : {}),\n ...(agentBody.metadata ? { metadata: agentBody.metadata } : {}),\n });\n },\n});\n\nexport const UPDATE_SCHEDULE_ROUTE = createRoute({\n method: 'PATCH',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n bodySchema: updateScheduleBodySchema,\n responseSchema: scheduleSchema,\n summary: 'Update a schedule',\n description:\n \"Partial update of a schedule. Fields apply to the matching target type; agent-only fields on a workflow schedule are rejected. An agent schedule's `threadId` and `resourceId` are part of its identity and cannot be changed — to re-target, delete and recreate. A workflow schedule's `resourceId` is run-attribution metadata and may be updated. Editing `cron` (or `timezone`) recomputes `nextFireAt`. A recomputed cadence that can still fire reactivates a `completed` schedule, while a cadence with no future occurrence leaves the schedule `completed`.\",\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId, ...body }) => {\n await loadSchedule(mastra, scheduleId);\n return await mastra.schedules.update(scheduleId, {\n ...(body.cron !== undefined ? { cron: body.cron } : {}),\n ...(body.timezone !== undefined ? { timezone: body.timezone } : {}),\n ...(body.status !== undefined ? { status: body.status } : {}),\n ...(body.metadata !== undefined ? { metadata: body.metadata } : {}),\n ...(body.prompt !== undefined ? { prompt: body.prompt } : {}),\n ...(body.name !== undefined ? { name: body.name } : {}),\n ...(body.signalType !== undefined ? { signalType: body.signalType } : {}),\n ...(body.tagName !== undefined ? { tagName: body.tagName } : {}),\n ...(body.attributes !== undefined ? { attributes: body.attributes } : {}),\n ...(body.ifActive !== undefined ? { ifActive: body.ifActive } : {}),\n ...(body.ifIdle !== undefined ? { ifIdle: body.ifIdle } : {}),\n ...(body.providerOptions !== undefined ? { providerOptions: body.providerOptions } : {}),\n ...(body.inputData !== undefined ? { inputData: body.inputData } : {}),\n ...(body.initialState !== undefined ? { initialState: body.initialState } : {}),\n ...(body.requestContext !== undefined ? { requestContext: body.requestContext } : {}),\n ...(body.resourceId !== undefined ? { resourceId: body.resourceId } : {}),\n });\n },\n});\n\nexport const DELETE_SCHEDULE_ROUTE = createRoute({\n method: 'DELETE',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: deleteScheduleResponseSchema,\n summary: 'Delete a schedule',\n description: 'Permanently deletes the schedule. 404 when the schedule does not exist.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n await mastra.schedules.delete(scheduleId);\n return { message: 'Schedule deleted' };\n },\n});\n\nexport const PAUSE_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/pause',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleSchema,\n summary: 'Pause a schedule',\n description:\n 'Marks the schedule as paused. The scheduler tick loop will skip paused schedules. Idempotent — pausing an already-paused schedule returns the current state unchanged. Pause status survives redeploys.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n const updated = await mastra.schedules.pause(scheduleId);\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n\nexport const RESUME_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/resume',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleSchema,\n summary: 'Resume a paused schedule',\n description:\n 'Marks the schedule as active and recomputes nextFireAt from \"now\" so a long-paused schedule does not fire a backlog. Idempotent — resuming an already-active schedule returns the current state unchanged.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n const updated = await mastra.schedules.resume(scheduleId);\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n\nexport const RUN_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/run',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: runScheduleResponseSchema,\n summary: 'Fire a schedule now',\n description:\n 'Manually triggers a single schedule fire out-of-band from the cron schedule. Records a trigger row with `triggerKind: \"manual\"`. Does not advance `nextFireAt`.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n return await mastra.schedules.run(scheduleId);\n },\n});\n\nexport const LIST_SCHEDULE_TRIGGERS_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId/triggers',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n queryParamSchema: listScheduleTriggersQuerySchema,\n responseSchema: listScheduleTriggersResponseSchema,\n summary: 'List trigger history for a schedule',\n description: 'Returns the audit trail of trigger attempts for a schedule, ordered by actualFireAt descending.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId, limit, fromActualFireAt, toActualFireAt }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n return { triggers: [] };\n }\n const schedule = await mastra.schedules.get(scheduleId);\n const triggers = await schedulesStore.listTriggers(schedule?.id ?? scheduleId, {\n limit,\n fromActualFireAt,\n toActualFireAt,\n });\n if (!schedule?.workflowId) {\n return { triggers };\n }\n const workflowName = schedule.workflowId;\n const hydrated = await Promise.all(\n triggers.map(async trigger => {\n if (trigger.outcome !== 'published' || !trigger.runId) return trigger;\n const run = await fetchRunSummary(mastra, workflowName, trigger.runId);\n return run ? { ...trigger, run } : trigger;\n }),\n );\n return { triggers: hydrated };\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"schedules-BiqVrJH7.cjs","names":["z","HTTPException","createRoute","getPublicWorkflowById"],"sources":["../src/server/schemas/schedules.ts","../src/server/handlers/schedules.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const scheduleStatusSchema = z.enum(['active', 'paused', 'completed']);\n\n/** Statuses a caller may set directly; `completed` is only reached by the scheduler. */\nconst settableScheduleStatusSchema = z.enum(['active', 'paused']);\n\n/** Mirrors the core `AgentSignalType` union. */\nconst signalTypeSchema = z.enum(['user', 'state', 'reactive', 'notification', 'user-message', 'system-reminder']);\n\n/** Attributes rendered onto the signal's XML tag. */\nconst signalAttributesSchema = z.record(\n z.string(),\n z.union([z.string(), z.number(), z.boolean(), z.null()]).optional(),\n);\n\n/** Behavior + attributes applied when the thread is already streaming. */\nconst ifActiveSchema = z.object({\n behavior: z.enum(['deliver', 'persist', 'discard']).optional(),\n attributes: signalAttributesSchema.optional(),\n});\n\n/**\n * Behavior + attributes applied when the thread is idle, plus a serializable\n * subset of stream options forwarded to the woken run.\n */\nconst ifIdleSchema = z.object({\n behavior: z.enum(['wake', 'persist', 'discard']).optional(),\n attributes: signalAttributesSchema.optional(),\n streamOptions: z\n .object({\n requestContext: z.record(z.string(), z.unknown()).optional(),\n })\n .optional(),\n});\n\nexport const workflowRunStatusSchema = z.enum([\n 'running',\n 'success',\n 'failed',\n 'tripwire',\n 'suspended',\n 'waiting',\n 'pending',\n 'canceled',\n 'bailed',\n 'paused',\n 'skipped',\n]);\n\nexport const scheduleRunSummarySchema = z.object({\n status: workflowRunStatusSchema,\n startedAt: z.number().optional(),\n completedAt: z.number().optional(),\n durationMs: z.number().optional(),\n error: z.string().optional(),\n});\n\n/**\n * Flat agent-schedule view. Persisted as a `Schedule` row with a\n * `target.type === 'agent'` variant; the HTTP surface flattens that\n * representation to the fields a user cares about (cron, prompt, threading,\n * status, lifecycle) without exposing the schedule plumbing. Discriminate\n * from workflow schedules by the presence of `agentId`.\n */\nexport const agentScheduleSchema = z.object({\n id: z.string(),\n agentId: z.string(),\n /** Mirror of the workflow-schedule discriminator — always absent on agent schedules. */\n workflowId: z.undefined().optional(),\n /** Workflow-run summary — never hydrated for agent schedules. */\n lastRun: z.undefined().optional(),\n name: z.string().optional(),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n prompt: z.string(),\n cron: z.string(),\n timezone: z.string().optional(),\n status: scheduleStatusSchema,\n nextFireAt: z.number(),\n lastFireAt: z.number().optional(),\n lastRunId: z.string().optional(),\n signalType: signalTypeSchema.optional(),\n tagName: z.string().optional(),\n attributes: signalAttributesSchema.optional(),\n ifActive: ifActiveSchema.optional(),\n ifIdle: ifIdleSchema.optional(),\n providerOptions: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n});\n\n/**\n * Flat workflow-schedule view. Discriminate from agent schedules by the\n * presence of `workflowId`.\n */\nexport const workflowScheduleSchema = z.object({\n id: z.string(),\n workflowId: z.string(),\n /** Mirror of the agent-schedule discriminator — always absent on workflow schedules. */\n agentId: z.undefined().optional(),\n cron: z.string(),\n timezone: z.string().optional(),\n status: scheduleStatusSchema,\n nextFireAt: z.number(),\n lastFireAt: z.number().optional(),\n lastRunId: z.string().optional(),\n lastRun: scheduleRunSummarySchema.optional(),\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n});\n\n/** Union of the flat views returned by the unified `/schedules` surface. */\nexport const scheduleSchema = z.union([agentScheduleSchema, workflowScheduleSchema]);\n\nexport const scheduleTriggerOutcomeSchema = z.enum([\n 'published',\n 'succeeded',\n 'delivered',\n 'persisted',\n 'discarded',\n 'skipped',\n 'aborted',\n 'failed',\n // Legacy queue/notification outcomes — no longer written, but trigger rows\n // persisted by older builds may still carry them. Kept readable so the\n // response validator does not reject historical rows. Mirrors the core\n // ScheduleTriggerOutcome union.\n 'acked',\n 'alerted',\n 'deferred',\n 'appended-from-queue',\n 'dropped-stale',\n 'dropped-superseded',\n 'dropped-busy',\n]);\n\nexport const scheduleTriggerKindSchema = z.enum(['schedule-fire', 'queue-drain', 'manual']);\n\nexport const scheduleTriggerResponseSchema = z.object({\n id: z.string().optional(),\n scheduleId: z.string(),\n runId: z.string().nullable(),\n scheduledFireAt: z.number(),\n actualFireAt: z.number(),\n outcome: scheduleTriggerOutcomeSchema,\n error: z.string().optional(),\n triggerKind: scheduleTriggerKindSchema.optional(),\n parentTriggerId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n run: scheduleRunSummarySchema.optional(),\n});\n\nexport const listSchedulesQuerySchema = z.object({\n agentId: z.string().optional(),\n workflowId: z.string().optional(),\n status: scheduleStatusSchema.optional(),\n /** Agent-schedule only: match the target threadId. */\n threadId: z.string().optional(),\n /** Match the schedule's resourceId (agent thread identity or workflow run attribution). */\n resourceId: z.string().optional(),\n /** Agent-schedule only: match the free-form target name. */\n name: z.string().optional(),\n});\n\nexport const listSchedulesResponseSchema = z.object({\n schedules: z.array(scheduleSchema),\n});\n\nexport const scheduleIdPathParams = z.object({\n scheduleId: z.string(),\n});\n\n/**\n * Agent variant of the create body — targets an agent by `agentId`. Strict so\n * a body carrying both `agentId` and `workflowId` is rejected as ambiguous\n * instead of silently matching the agent branch of the union.\n */\nconst createAgentScheduleBodySchema = z.strictObject({\n /** Optional stable id; normalized to `agent_<slug>`. A random id is generated when omitted. */\n id: z.string().optional(),\n agentId: z.string().min(1),\n cron: z.string(),\n timezone: z.string().optional(),\n prompt: z.string(),\n name: z.string().optional(),\n threadId: z.string().optional(),\n resourceId: z.string().optional(),\n signalType: signalTypeSchema.optional(),\n tagName: z.string().optional(),\n attributes: signalAttributesSchema.optional(),\n ifActive: ifActiveSchema.optional(),\n ifIdle: ifIdleSchema.optional(),\n providerOptions: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Workflow variant of the create body — targets a workflow by `workflowId`.\n * Strict so ambiguous bodies (both ids) are rejected by the union.\n */\nconst createWorkflowScheduleBodySchema = z.strictObject({\n /** Optional stable id; normalized to `schedule_<slug>`. A random id is generated when omitted. */\n id: z.string().optional(),\n workflowId: z.string().min(1),\n cron: z.string(),\n timezone: z.string().optional(),\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Body for POST /schedules. Discriminated by which target id is present:\n * `agentId` creates an agent schedule, `workflowId` a workflow schedule.\n * Both variants are strict, so a body carrying both ids (or unknown keys)\n * fails validation instead of silently dropping fields.\n */\nexport const createScheduleBodySchema = z.union([createAgentScheduleBodySchema, createWorkflowScheduleBodySchema]);\n\n/**\n * Body for PATCH /schedules/:scheduleId — partial update. Fields apply to\n * the matching target type; agent-only fields on a workflow schedule are\n * rejected by the service. An agent schedule's `threadId` / `resourceId` are\n * intentionally not editable; they are part of its identity — to re-target,\n * delete and recreate. A workflow schedule's `resourceId` is only run-attribution\n * metadata (not identity) and may be updated.\n */\nexport const updateScheduleBodySchema = z.object({\n cron: z.string().optional(),\n timezone: z.string().optional(),\n status: settableScheduleStatusSchema.optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n // Agent-schedule fields\n prompt: z.string().optional(),\n name: z.string().optional(),\n signalType: signalTypeSchema.optional(),\n tagName: z.string().optional(),\n attributes: signalAttributesSchema.optional(),\n ifActive: ifActiveSchema.optional(),\n ifIdle: ifIdleSchema.optional(),\n providerOptions: z.record(z.string(), z.unknown()).optional(),\n // Workflow-schedule fields\n inputData: z.unknown().optional(),\n initialState: z.unknown().optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n});\n\nexport const deleteScheduleResponseSchema = z.object({\n message: z.string(),\n});\n\n/** Response for POST /schedules/:scheduleId/run. */\nexport const runScheduleResponseSchema = z.object({\n scheduleId: z.string(),\n claimId: z.string(),\n scheduledFireAt: z.number(),\n});\n\nexport const listScheduleTriggersQuerySchema = z.object({\n limit: z.coerce.number().int().positive().optional(),\n fromActualFireAt: z.coerce.number().int().nonnegative().optional(),\n toActualFireAt: z.coerce.number().int().nonnegative().optional(),\n});\n\nexport const listScheduleTriggersResponseSchema = z.object({\n triggers: z.array(scheduleTriggerResponseSchema),\n});\n\nexport type AgentScheduleResponse = z.infer<typeof agentScheduleSchema>;\nexport type WorkflowScheduleResponse = z.infer<typeof workflowScheduleSchema>;\nexport type ScheduleResponse = z.infer<typeof scheduleSchema>;\n","import type { Mastra } from '@mastra/core';\nimport type { AgentSchedule, AnySchedule, WorkflowSchedule } from '@mastra/core/schedules';\nimport type { WorkflowRunState } from '@mastra/core/workflows';\nimport { HTTPException } from '../http-exception';\nimport {\n createScheduleBodySchema,\n deleteScheduleResponseSchema,\n listSchedulesQuerySchema,\n listSchedulesResponseSchema,\n listScheduleTriggersQuerySchema,\n listScheduleTriggersResponseSchema,\n runScheduleResponseSchema,\n scheduleIdPathParams,\n scheduleSchema,\n updateScheduleBodySchema,\n} from '../schemas/schedules';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { getPublicWorkflowById } from './utils';\n\ntype RunSummary = {\n status: WorkflowRunState['status'];\n startedAt?: number;\n completedAt?: number;\n durationMs?: number;\n error?: string;\n};\n\nfunction snapshotToRunSummary(run: {\n snapshot: WorkflowRunState | string;\n createdAt: Date;\n updatedAt: Date;\n}): RunSummary | undefined {\n const snapshot = typeof run.snapshot === 'string' ? null : run.snapshot;\n if (!snapshot) return undefined;\n const startedAt = run.createdAt instanceof Date ? run.createdAt.getTime() : undefined;\n const isTerminal =\n snapshot.status === 'success' ||\n snapshot.status === 'failed' ||\n snapshot.status === 'canceled' ||\n snapshot.status === 'bailed' ||\n snapshot.status === 'tripwire';\n const completedAt = isTerminal ? (run.updatedAt instanceof Date ? run.updatedAt.getTime() : undefined) : undefined;\n const durationMs = startedAt !== undefined && completedAt !== undefined ? completedAt - startedAt : undefined;\n return {\n status: snapshot.status,\n startedAt,\n completedAt,\n durationMs,\n error: snapshot.error?.message,\n };\n}\n\nasync function fetchRunSummary(mastra: Mastra, workflowName: string, runId: string): Promise<RunSummary | undefined> {\n try {\n const workflowsStore = await mastra.getStorage()?.getStore('workflows');\n const run = await workflowsStore?.getWorkflowRunById({ runId, workflowName });\n if (!run) return undefined;\n return snapshotToRunSummary(run);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Attach a `lastRun` summary to workflow schedules. Agent schedules pass\n * through unchanged — their `lastRunId` is an agent run, not a workflow run.\n */\nasync function hydrateScheduleResponse(\n mastra: Mastra,\n schedule: AnySchedule,\n): Promise<AgentSchedule | (WorkflowSchedule & { lastRun?: RunSummary })> {\n if (!schedule.workflowId || !schedule.lastRunId) {\n return schedule;\n }\n const lastRun = await fetchRunSummary(mastra, schedule.workflowId, schedule.lastRunId);\n return lastRun ? { ...schedule, lastRun } : schedule;\n}\n\n/**\n * Resolve a schedule by id via `mastra.schedules`. Returns 404 for missing\n * rows so handlers surface a clean HTTP error instead of a service error.\n */\nasync function loadSchedule(mastra: Mastra, scheduleId: string): Promise<AnySchedule> {\n const schedule = await mastra.schedules.get(scheduleId);\n if (!schedule) {\n throw new HTTPException(404, { message: 'Schedule not found' });\n }\n return schedule;\n}\n\nexport const LIST_SCHEDULES_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules',\n responseType: 'json' as const,\n queryParamSchema: listSchedulesQuerySchema,\n responseSchema: listSchedulesResponseSchema,\n summary: 'List schedules',\n description:\n 'Returns all schedules — agent schedules and workflow schedules — optionally filtered by agentId, workflowId, or status. Completed schedules are excluded unless requested with a status filter. Agent schedules can additionally be filtered by threadId, resourceId, or name.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, agentId, workflowId, status, threadId, resourceId, name }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n // Schedules domain not configured — there are no schedules to return.\n return { schedules: [] };\n }\n const schedules = await mastra.schedules.list({ agentId, workflowId, status, threadId, resourceId, name });\n const hydrated = await Promise.all(schedules.map(schedule => hydrateScheduleResponse(mastra, schedule)));\n return { schedules: hydrated };\n },\n});\n\nexport const GET_SCHEDULE_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleSchema,\n summary: 'Get a schedule by ID',\n description: 'Returns a single schedule by its id.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n const schedule = await loadSchedule(mastra, scheduleId);\n return hydrateScheduleResponse(mastra, schedule);\n },\n});\n\nexport const CREATE_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules',\n responseType: 'json' as const,\n bodySchema: createScheduleBodySchema,\n responseSchema: scheduleSchema,\n summary: 'Create a schedule',\n description:\n 'Creates a new schedule. Pass `agentId` (plus `prompt`) to schedule an agent, or `workflowId` (plus optional `inputData`) to schedule a workflow. Agent schedules get a random `agent_<uuid>` id, workflow schedules a random `schedule_<uuid>` id; pass `id` for a stable slug instead.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, ...body }) => {\n // getAgentById throws a MastraError (status 404) when the target is\n // unknown; translate that into a clean HTTP 404 instead of letting it\n // surface as 500. Hidden internal workflows are treated as unknown.\n if ('workflowId' in body && body.workflowId) {\n // The scheduler later resolves the stored id through core, which also\n // sees hidden workflows. Reject ids where that lookup would pick a\n // different workflow than the public one validated here.\n const workflow = getPublicWorkflowById(mastra, body.workflowId);\n let resolved: unknown;\n try {\n resolved = mastra.getWorkflowById(body.workflowId);\n } catch {\n resolved = undefined;\n }\n if (!workflow || resolved !== workflow) {\n throw new HTTPException(404, { message: `Workflow \"${body.workflowId}\" not found` });\n }\n return await mastra.schedules.create({\n workflowId: body.workflowId,\n cron: body.cron,\n ...(body.id ? { id: body.id } : {}),\n ...(body.timezone ? { timezone: body.timezone } : {}),\n ...(body.inputData !== undefined ? { inputData: body.inputData } : {}),\n ...(body.initialState !== undefined ? { initialState: body.initialState } : {}),\n ...(body.requestContext ? { requestContext: body.requestContext } : {}),\n ...(body.resourceId ? { resourceId: body.resourceId } : {}),\n ...(body.metadata ? { metadata: body.metadata } : {}),\n });\n }\n const agentBody = body as Extract<typeof body, { agentId: string }>;\n try {\n mastra.getAgentById(agentBody.agentId);\n } catch {\n throw new HTTPException(404, { message: `Agent \"${agentBody.agentId}\" not found` });\n }\n return await mastra.schedules.create({\n agentId: agentBody.agentId,\n cron: agentBody.cron,\n prompt: agentBody.prompt,\n ...(agentBody.id ? { id: agentBody.id } : {}),\n ...(agentBody.name ? { name: agentBody.name } : {}),\n ...(agentBody.timezone ? { timezone: agentBody.timezone } : {}),\n ...(agentBody.threadId ? { threadId: agentBody.threadId } : {}),\n ...(agentBody.resourceId ? { resourceId: agentBody.resourceId } : {}),\n ...(agentBody.signalType ? { signalType: agentBody.signalType } : {}),\n ...(agentBody.tagName ? { tagName: agentBody.tagName } : {}),\n ...(agentBody.attributes ? { attributes: agentBody.attributes } : {}),\n ...(agentBody.ifActive ? { ifActive: agentBody.ifActive } : {}),\n ...(agentBody.ifIdle ? { ifIdle: agentBody.ifIdle } : {}),\n ...(agentBody.providerOptions ? { providerOptions: agentBody.providerOptions } : {}),\n ...(agentBody.metadata ? { metadata: agentBody.metadata } : {}),\n });\n },\n});\n\nexport const UPDATE_SCHEDULE_ROUTE = createRoute({\n method: 'PATCH',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n bodySchema: updateScheduleBodySchema,\n responseSchema: scheduleSchema,\n summary: 'Update a schedule',\n description:\n \"Partial update of a schedule. Fields apply to the matching target type; agent-only fields on a workflow schedule are rejected. An agent schedule's `threadId` and `resourceId` are part of its identity and cannot be changed — to re-target, delete and recreate. A workflow schedule's `resourceId` is run-attribution metadata and may be updated. Editing `cron` (or `timezone`) recomputes `nextFireAt`. A recomputed cadence that can still fire reactivates a `completed` schedule, while a cadence with no future occurrence leaves the schedule `completed`.\",\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId, ...body }) => {\n await loadSchedule(mastra, scheduleId);\n return await mastra.schedules.update(scheduleId, {\n ...(body.cron !== undefined ? { cron: body.cron } : {}),\n ...(body.timezone !== undefined ? { timezone: body.timezone } : {}),\n ...(body.status !== undefined ? { status: body.status } : {}),\n ...(body.metadata !== undefined ? { metadata: body.metadata } : {}),\n ...(body.prompt !== undefined ? { prompt: body.prompt } : {}),\n ...(body.name !== undefined ? { name: body.name } : {}),\n ...(body.signalType !== undefined ? { signalType: body.signalType } : {}),\n ...(body.tagName !== undefined ? { tagName: body.tagName } : {}),\n ...(body.attributes !== undefined ? { attributes: body.attributes } : {}),\n ...(body.ifActive !== undefined ? { ifActive: body.ifActive } : {}),\n ...(body.ifIdle !== undefined ? { ifIdle: body.ifIdle } : {}),\n ...(body.providerOptions !== undefined ? { providerOptions: body.providerOptions } : {}),\n ...(body.inputData !== undefined ? { inputData: body.inputData } : {}),\n ...(body.initialState !== undefined ? { initialState: body.initialState } : {}),\n ...(body.requestContext !== undefined ? { requestContext: body.requestContext } : {}),\n ...(body.resourceId !== undefined ? { resourceId: body.resourceId } : {}),\n });\n },\n});\n\nexport const DELETE_SCHEDULE_ROUTE = createRoute({\n method: 'DELETE',\n path: '/schedules/:scheduleId',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: deleteScheduleResponseSchema,\n summary: 'Delete a schedule',\n description: 'Permanently deletes the schedule. 404 when the schedule does not exist.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n await mastra.schedules.delete(scheduleId);\n return { message: 'Schedule deleted' };\n },\n});\n\nexport const PAUSE_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/pause',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleSchema,\n summary: 'Pause a schedule',\n description:\n 'Marks the schedule as paused. The scheduler tick loop will skip paused schedules. Idempotent — pausing an already-paused schedule returns the current state unchanged. Pause status survives redeploys.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n const updated = await mastra.schedules.pause(scheduleId);\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n\nexport const RESUME_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/resume',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: scheduleSchema,\n summary: 'Resume a paused schedule',\n description:\n 'Marks the schedule as active and recomputes nextFireAt from \"now\" so a long-paused schedule does not fire a backlog. Idempotent — resuming an already-active schedule returns the current state unchanged.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n const updated = await mastra.schedules.resume(scheduleId);\n return hydrateScheduleResponse(mastra, updated);\n },\n});\n\nexport const RUN_SCHEDULE_ROUTE = createRoute({\n method: 'POST',\n path: '/schedules/:scheduleId/run',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n responseSchema: runScheduleResponseSchema,\n summary: 'Fire a schedule now',\n description:\n 'Manually triggers a single schedule fire out-of-band from the cron schedule. Records a trigger row with `triggerKind: \"manual\"`. Does not advance `nextFireAt`.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId }) => {\n await loadSchedule(mastra, scheduleId);\n return await mastra.schedules.run(scheduleId);\n },\n});\n\nexport const LIST_SCHEDULE_TRIGGERS_ROUTE = createRoute({\n method: 'GET',\n path: '/schedules/:scheduleId/triggers',\n responseType: 'json' as const,\n pathParamSchema: scheduleIdPathParams,\n queryParamSchema: listScheduleTriggersQuerySchema,\n responseSchema: listScheduleTriggersResponseSchema,\n summary: 'List trigger history for a schedule',\n description: 'Returns the audit trail of trigger attempts for a schedule, ordered by actualFireAt descending.',\n tags: ['Schedules'],\n requiresAuth: true,\n handler: async ({ mastra, scheduleId, limit, fromActualFireAt, toActualFireAt }) => {\n const schedulesStore = await mastra.getStorage()?.getStore('schedules');\n if (!schedulesStore) {\n return { triggers: [] };\n }\n const schedule = await mastra.schedules.get(scheduleId);\n const triggers = await schedulesStore.listTriggers(schedule?.id ?? scheduleId, {\n limit,\n fromActualFireAt,\n toActualFireAt,\n });\n if (!schedule?.workflowId) {\n return { triggers };\n }\n const workflowName = schedule.workflowId;\n const hydrated = await Promise.all(\n triggers.map(async trigger => {\n if (trigger.outcome !== 'published' || !trigger.runId) return trigger;\n const run = await fetchRunSummary(mastra, workflowName, trigger.runId);\n return run ? { ...trigger, run } : trigger;\n }),\n );\n return { triggers: hydrated };\n },\n});\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../rolldown-runtime-Bd6kNlEP.cjs");
3
- const require_constants = require("../../constants-6d6tCMH8.cjs");
4
- const require_helpers = require("../../helpers-BL_XfkF0.cjs");
3
+ const require_constants = require("../../constants-epIL4td4.cjs");
4
+ const require_helpers = require("../../helpers-59ZdrW8t.cjs");
5
5
  exports.MASTRA_USER_KEY = require_constants.MASTRA_USER_KEY;
6
6
  exports.MASTRA_USER_PERMISSIONS_KEY = require_constants.MASTRA_USER_PERMISSIONS_KEY;
7
7
  exports.MASTRA_USER_ROLES_KEY = require_constants.MASTRA_USER_ROLES_KEY;
@@ -1,3 +1,3 @@
1
- import { d as MASTRA_USER_ROLES_KEY, l as MASTRA_USER_KEY, u as MASTRA_USER_PERMISSIONS_KEY } from "../../constants-1TDVXCCT.js";
2
- import { a as getAuthenticatedUser, c as isProtectedCustomRoute, d as pathMatchesPattern, f as pathMatchesRule, i as findMatchingCustomRoute, l as isProtectedPath, m as defaultAuthConfig, n as checkRules, o as isCustomRoutePublic, p as supportsSessionRefresh, r as coreAuthMiddleware, s as isDevPlaygroundRequest, t as canAccessPublicly, u as matchesOrIncludes } from "../../helpers-CaSnDz4f.js";
1
+ import { d as MASTRA_USER_ROLES_KEY, l as MASTRA_USER_KEY, u as MASTRA_USER_PERMISSIONS_KEY } from "../../constants-C631oS02.js";
2
+ import { a as getAuthenticatedUser, c as isProtectedCustomRoute, d as pathMatchesPattern, f as pathMatchesRule, i as findMatchingCustomRoute, l as isProtectedPath, m as defaultAuthConfig, n as checkRules, o as isCustomRoutePublic, p as supportsSessionRefresh, r as coreAuthMiddleware, s as isDevPlaygroundRequest, t as canAccessPublicly, u as matchesOrIncludes } from "../../helpers-C_FYiA-F.js";
3
3
  export { MASTRA_USER_KEY, MASTRA_USER_PERMISSIONS_KEY, MASTRA_USER_ROLES_KEY, canAccessPublicly, checkRules, coreAuthMiddleware, defaultAuthConfig, findMatchingCustomRoute, getAuthenticatedUser, isCustomRoutePublic, isDevPlaygroundRequest, isProtectedCustomRoute, isProtectedPath, matchesOrIncludes, pathMatchesPattern, pathMatchesRule, supportsSessionRefresh };
@@ -7,6 +7,10 @@
7
7
  */
8
8
  export declare const MASTRA_RESOURCE_ID_KEY = "mastra__resourceId";
9
9
  export declare const MASTRA_THREAD_ID_KEY = "mastra__threadId";
10
+ /**
11
+ * Agent scopes set by trusted middleware. Never accepted from a request body.
12
+ */
13
+ export declare const MASTRA_SCOPES_KEY = "mastra__scopes";
10
14
  export declare const MASTRA_USER_KEY = "mastra__user";
11
15
  export declare const MASTRA_USER_PERMISSIONS_KEY = "mastra__userPermissions";
12
16
  export declare const MASTRA_USER_ROLES_KEY = "mastra__userRoles";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/server/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAuBlD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,eAAO,MAAM,sBAAsB,EAAG,kBAA2B,CAAC;AAElE,eAAO,MAAM,eAAe;aAC1B,UAAU;iBACR,SAAS;iBACT,UAAU;iBACV,SAAS;iBACT,UAAU;iBACV,MAAM;iBACN,SAAS;iBACT,KAAK;iBACL,IAAI;;aAEN,OAAO;iBACL,eAAe;;aAEjB,MAAM;iBACJ,MAAM;iBACN,KAAK;;CAEC,CAAC;AAEX,MAAM,MAAM,iBAAiB,GACzB,CAAC,OAAO,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,UAAU,CAAC,GAC5E,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,MAAM,CAAC,GACpE,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAE3E;;;;;;;GAOG;AAEH,KAAK,sBAAsB,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAsB5D;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,oBAAoB,GAAG,SAAS,EAC7C,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACvE,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAmC3F"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/server/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE,eAAO,MAAM,yBAAyB,WAAW,CAAC;AA0BlD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,eAAO,MAAM,sBAAsB,EAAG,kBAA2B,CAAC;AAElE,eAAO,MAAM,eAAe;aAC1B,UAAU;iBACR,SAAS;iBACT,UAAU;iBACV,SAAS;iBACT,UAAU;iBACV,MAAM;iBACN,SAAS;iBACT,KAAK;iBACL,IAAI;;aAEN,OAAO;iBACL,eAAe;;aAEjB,MAAM;iBACJ,MAAM;iBACN,KAAK;;CAEC,CAAC;AAEX,MAAM,MAAM,iBAAiB,GACzB,CAAC,OAAO,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,UAAU,CAAC,GAC5E,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,MAAM,CAAC,GACpE,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAE3E;;;;;;;GAOG;AAEH,KAAK,sBAAsB,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAsB5D;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,oBAAoB,GAAG,SAAS,EAC7C,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACvE,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAmC3F"}
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../rolldown-runtime-Bd6kNlEP.cjs");
3
- const require_a2a = require("../../a2a-BZlUyHOa.cjs");
3
+ const require_a2a = require("../../a2a-BeW8w9CL.cjs");
4
4
  exports.AGENT_EXECUTION_ROUTE = require_a2a.AGENT_EXECUTION_ROUTE;
5
5
  exports.GET_AGENT_CARD_ROUTE = require_a2a.GET_AGENT_CARD_ROUTE;
6
6
  exports.getAgentCardByIdHandler = require_a2a.getAgentCardByIdHandler;
@@ -1,2 +1,2 @@
1
- import { a as getAgentExecutionHandler, c as handleListTaskPushNotificationConfig, d as handleSetTaskPushNotificationConfig, f as handleTaskCancel, g as resolveA2AProtocolVersion, h as handleTaskResubscribe, i as getAgentCardByIdHandler, l as handleMessageSend, m as handleTaskList, n as GET_AGENT_CARD_ROUTE, o as handleDeleteTaskPushNotificationConfig, p as handleTaskGet, s as handleGetTaskPushNotificationConfig, t as AGENT_EXECUTION_ROUTE, u as handleMessageStream } from "../../a2a-Ddo5dOMm.js";
1
+ import { a as getAgentExecutionHandler, c as handleListTaskPushNotificationConfig, d as handleSetTaskPushNotificationConfig, f as handleTaskCancel, g as resolveA2AProtocolVersion, h as handleTaskResubscribe, i as getAgentCardByIdHandler, l as handleMessageSend, m as handleTaskList, n as GET_AGENT_CARD_ROUTE, o as handleDeleteTaskPushNotificationConfig, p as handleTaskGet, s as handleGetTaskPushNotificationConfig, t as AGENT_EXECUTION_ROUTE, u as handleMessageStream } from "../../a2a-BWKuwXQY.js";
2
2
  export { AGENT_EXECUTION_ROUTE, GET_AGENT_CARD_ROUTE, getAgentCardByIdHandler, getAgentExecutionHandler, handleDeleteTaskPushNotificationConfig, handleGetTaskPushNotificationConfig, handleListTaskPushNotificationConfig, handleMessageSend, handleMessageStream, handleSetTaskPushNotificationConfig, handleTaskCancel, handleTaskGet, handleTaskList, handleTaskResubscribe, resolveA2AProtocolVersion };
@@ -6,7 +6,7 @@ const require_workflows = require("../../workflows-C8rDpHyY.cjs");
6
6
  const require_agent_builder = require("../../agent-builder-DDYdQvlQ.cjs");
7
7
  const require_agents = require("../../agents-CKSEPpk1.cjs");
8
8
  const require_route_builder = require("../../route-builder-2yrD15TL.cjs");
9
- const require_utils = require("../../utils-CfF-SHpC.cjs");
9
+ const require_utils = require("../../utils-CJxnYdr3.cjs");
10
10
  const require_server_handlers_error = require("./error.cjs");
11
11
  const require_server_handlers_workflows = require("./workflows.cjs");
12
12
  //#region src/server/handlers/agent-builder.ts
@@ -5,7 +5,7 @@ import { b as workflowRunResultSchema, g as workflowInfoSchema, i as listWorkflo
5
5
  import { a as streamAgentBuilderBodySchema, i as startAsyncAgentBuilderBodySchema, n as actionRunPathParams, o as streamLegacyAgentBuilderBodySchema, r as resumeAgentBuilderBodySchema, t as actionIdPathParams } from "../../agent-builder-B8kc4OBs.js";
6
6
  import { J as streamResponseSchema } from "../../agents-CW_JJZOf.js";
7
7
  import { n as createRoute } from "../../route-builder-lBil8Cvo.js";
8
- import { t as WorkflowRegistry } from "../../utils-DTgkpEdc.js";
8
+ import { t as WorkflowRegistry } from "../../utils-BpQY-tBr.js";
9
9
  import { handleError } from "./error.js";
10
10
  import { CANCEL_WORKFLOW_RUN_ROUTE, CREATE_WORKFLOW_RUN_ROUTE, GET_WORKFLOW_BY_ID_ROUTE, GET_WORKFLOW_RUN_BY_ID_ROUTE, LIST_WORKFLOWS_ROUTE, LIST_WORKFLOW_RUNS_ROUTE, OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE, OBSERVE_STREAM_WORKFLOW_ROUTE, RESUME_ASYNC_WORKFLOW_ROUTE, RESUME_NO_WAIT_WORKFLOW_ROUTE, RESUME_STREAM_WORKFLOW_ROUTE, RESUME_WORKFLOW_ROUTE, START_ASYNC_WORKFLOW_ROUTE, START_WORKFLOW_RUN_ROUTE, STREAM_LEGACY_WORKFLOW_ROUTE, STREAM_WORKFLOW_ROUTE } from "./workflows.js";
11
11
  //#region src/server/handlers/agent-builder.ts
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../rolldown-runtime-Bd6kNlEP.cjs");
3
3
  const require_http_exception = require("../../http-exception-CKDHupKw.cjs");
4
4
  const require_route_builder = require("../../route-builder-2yrD15TL.cjs");
5
- const require_constants = require("../../constants-6d6tCMH8.cjs");
5
+ const require_constants = require("../../constants-epIL4td4.cjs");
6
6
  const require_server_handlers_error = require("./error.cjs");
7
- const require_utils = require("../../utils-BD7aRZ1o.cjs");
7
+ const require_utils = require("../../utils-BF2Kbju4.cjs");
8
8
  const require_memory = require("../../memory-CizEIbl1.cjs");
9
9
  let zod_v4 = require("zod/v4");
10
10
  //#region src/server/handlers/agent-controller.ts
@@ -1,8 +1,8 @@
1
1
  import { t as HTTPException } from "../../http-exception-CyfxZB6W.js";
2
2
  import { n as createRoute } from "../../route-builder-lBil8Cvo.js";
3
- import { l as MASTRA_USER_KEY } from "../../constants-1TDVXCCT.js";
3
+ import { l as MASTRA_USER_KEY } from "../../constants-C631oS02.js";
4
4
  import { handleError } from "./error.js";
5
- import { t as enforceThreadAccess } from "../../utils-UwDFLi8y.js";
5
+ import { t as enforceThreadAccess } from "../../utils-GVYTDbr2.js";
6
6
  import { E as includeSchema, F as messageOrderBySchema, h as filterSchema } from "../../memory-B58Q2LgU.js";
7
7
  import { z } from "zod/v4";
8
8
  //#region src/server/handlers/agent-controller.ts
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../rolldown-runtime-Bd6kNlEP.cjs");
3
3
  const require_http_exception = require("../../http-exception-CKDHupKw.cjs");
4
4
  const require_route_builder = require("../../route-builder-2yrD15TL.cjs");
5
- const require_utils = require("../../utils-CfF-SHpC.cjs");
5
+ const require_utils = require("../../utils-CJxnYdr3.cjs");
6
6
  const require_server_handlers_error = require("./error.cjs");
7
7
  const require_version_common = require("../../version-common-DrzXq7Ct.cjs");
8
8
  const require_agent_versions = require("../../agent-versions-CzXJWn1T.cjs");
@@ -1,6 +1,6 @@
1
1
  import { t as HTTPException } from "../../http-exception-CyfxZB6W.js";
2
2
  import { n as createRoute } from "../../route-builder-lBil8Cvo.js";
3
- import { i as getStoredResourceScope, n as assertStoredResourceScope } from "../../utils-DTgkpEdc.js";
3
+ import { i as getStoredResourceScope, n as assertStoredResourceScope } from "../../utils-BpQY-tBr.js";
4
4
  import { handleError } from "./error.js";
5
5
  import { a as createVersionBodySchema, n as compareVersionsQuerySchema, o as deleteVersionResponseSchema, s as listVersionsQuerySchema, t as activateVersionResponseSchema } from "../../version-common-4xFzvCS5.js";
6
6
  import { a as getVersionResponseSchema, c as versionIdPathParams, i as createVersionResponseSchema, o as listVersionsResponseSchema, r as compareVersionsResponseSchema, s as restoreVersionResponseSchema, t as agentVersionPathParams } from "../../agent-versions-W600H1ME.js";
@@ -5,10 +5,10 @@ const require_agents = require("../../agents-CKSEPpk1.cjs");
5
5
  const require_schema_e0VHpMt0 = require("../../schema-e0VHpMt0-BS9KHnuT.cjs");
6
6
  const require_route_builder = require("../../route-builder-2yrD15TL.cjs");
7
7
  require("../../schema-BVcoNfni.cjs");
8
- const require_utils = require("../../utils-CfF-SHpC.cjs");
9
- const require_constants = require("../../constants-6d6tCMH8.cjs");
8
+ const require_utils = require("../../utils-CJxnYdr3.cjs");
9
+ const require_constants = require("../../constants-epIL4td4.cjs");
10
10
  const require_server_handlers_error = require("./error.cjs");
11
- const require_utils$1 = require("../../utils-BD7aRZ1o.cjs");
11
+ const require_utils$1 = require("../../utils-BF2Kbju4.cjs");
12
12
  const require_stored_agents = require("../../stored-agents-BTL-o6aM.cjs");
13
13
  const require_workspace = require("../../workspace-BJYV2lkt.cjs");
14
14
  const require_server_handlers_tool_schema_overrides = require("./tool-schema-overrides.cjs");
@@ -104,7 +104,7 @@ function getIsStudioFromContext(requestContext) {
104
104
  }
105
105
  function normalizePublicExecutionOptions(options, serverRequestContext) {
106
106
  if (!options || typeof options !== "object" || Array.isArray(options)) return void 0;
107
- const { actor: _actor, requestContext, ...normalized } = options;
107
+ const { actor: _actor, scopes: _scopes, requestContext, ...normalized } = options;
108
108
  require_utils$1.stripClientCredentialHeaders(normalized);
109
109
  require_utils$1.mergeBodyRequestContext(serverRequestContext, requestContext);
110
110
  return {
@@ -954,7 +954,11 @@ const GENERATE_AGENT_ROUTE = require_route_builder.createRoute({
954
954
  requiresPermission: require_utils$1.MastraFGAPermissions.AGENTS_EXECUTE,
955
955
  handler: async ({ agentId, mastra, abortSignal, requestContext: serverRequestContext, ...params }) => {
956
956
  try {
957
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
957
+ require_utils$1.sanitizeBody(params, [
958
+ "tools",
959
+ "actor",
960
+ "scopes"
961
+ ]);
958
962
  require_utils$1.stripClientCredentialHeaders(params);
959
963
  const { messages, memory: memoryOption, requestContext: bodyRequestContext, versions, ...rest } = params;
960
964
  require_utils$1.validateBody({ messages });
@@ -1030,7 +1034,11 @@ const GENERATE_LEGACY_ROUTE = require_route_builder.createRoute({
1030
1034
  versionOptions: extractVersionOptions(requestContext),
1031
1035
  requestContext
1032
1036
  });
1033
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
1037
+ require_utils$1.sanitizeBody(params, [
1038
+ "tools",
1039
+ "actor",
1040
+ "scopes"
1041
+ ]);
1034
1042
  require_utils$1.stripClientCredentialHeaders(params);
1035
1043
  const { messages, resourceId, resourceid, threadId, ...rest } = params;
1036
1044
  const effectiveResourceId = require_utils$1.getEffectiveResourceId(requestContext, resourceId ?? resourceid);
@@ -1081,7 +1089,11 @@ const STREAM_GENERATE_LEGACY_ROUTE = require_route_builder.createRoute({
1081
1089
  versionOptions: extractVersionOptions(requestContext),
1082
1090
  requestContext
1083
1091
  });
1084
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
1092
+ require_utils$1.sanitizeBody(params, [
1093
+ "tools",
1094
+ "actor",
1095
+ "scopes"
1096
+ ]);
1085
1097
  require_utils$1.stripClientCredentialHeaders(params);
1086
1098
  const { messages, resourceId, resourceid, threadId, ...rest } = params;
1087
1099
  const effectiveResourceId = require_utils$1.getEffectiveResourceId(requestContext, resourceId ?? resourceid);
@@ -1216,7 +1228,11 @@ const STREAM_GENERATE_ROUTE = require_route_builder.createRoute({
1216
1228
  requiresPermission: require_utils$1.MastraFGAPermissions.AGENTS_EXECUTE,
1217
1229
  handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
1218
1230
  try {
1219
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
1231
+ require_utils$1.sanitizeBody(params, [
1232
+ "tools",
1233
+ "actor",
1234
+ "scopes"
1235
+ ]);
1220
1236
  require_utils$1.stripClientCredentialHeaders(params);
1221
1237
  const { messages, memory: memoryOption, requestContext: bodyRequestContext, versions, ...rest } = params;
1222
1238
  require_utils$1.validateBody({ messages });
@@ -1691,7 +1707,11 @@ const STREAM_UNTIL_IDLE_GENERATE_ROUTE = require_route_builder.createRoute({
1691
1707
  requiresPermission: require_utils$1.MastraFGAPermissions.AGENTS_EXECUTE,
1692
1708
  handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
1693
1709
  try {
1694
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
1710
+ require_utils$1.sanitizeBody(params, [
1711
+ "tools",
1712
+ "actor",
1713
+ "scopes"
1714
+ ]);
1695
1715
  require_utils$1.stripClientCredentialHeaders(params);
1696
1716
  const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;
1697
1717
  require_utils$1.validateBody({ messages });
@@ -1856,7 +1876,11 @@ const APPROVE_TOOL_CALL_ROUTE = require_route_builder.createRoute({
1856
1876
  });
1857
1877
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
1858
1878
  if (!params.toolCallId) throw new require_http_exception.HTTPException(400, { message: "Tool call id is required" });
1859
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
1879
+ require_utils$1.sanitizeBody(params, [
1880
+ "tools",
1881
+ "actor",
1882
+ "scopes"
1883
+ ]);
1860
1884
  require_utils$1.stripClientCredentialHeaders(params);
1861
1885
  await validateDurableToolCallAccess({
1862
1886
  mastra,
@@ -1912,7 +1936,11 @@ const SEND_TOOL_APPROVAL_ROUTE = require_route_builder.createRoute({
1912
1936
  });
1913
1937
  if (!params.toolCallId) throw new require_http_exception.HTTPException(400, { message: "Tool call id is required" });
1914
1938
  require_utils$1.mergeBodyRequestContext(serverRequestContext, bodyRequestContext);
1915
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
1939
+ require_utils$1.sanitizeBody(params, [
1940
+ "tools",
1941
+ "actor",
1942
+ "scopes"
1943
+ ]);
1916
1944
  require_utils$1.stripClientCredentialHeaders(params);
1917
1945
  const normalizedStreamOptions = normalizePublicExecutionOptions(params.streamOptions, serverRequestContext);
1918
1946
  const { effectiveResourceId, effectiveThreadId } = await validateSubscriptionToolCallThreadAccess({
@@ -2001,7 +2029,11 @@ const DECLINE_TOOL_CALL_ROUTE = require_route_builder.createRoute({
2001
2029
  });
2002
2030
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
2003
2031
  if (!params.toolCallId) throw new require_http_exception.HTTPException(400, { message: "Tool call id is required" });
2004
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2032
+ require_utils$1.sanitizeBody(params, [
2033
+ "tools",
2034
+ "actor",
2035
+ "scopes"
2036
+ ]);
2005
2037
  require_utils$1.stripClientCredentialHeaders(params);
2006
2038
  await validateDurableToolCallAccess({
2007
2039
  mastra,
@@ -2037,7 +2069,11 @@ const RESUME_STREAM_ROUTE = require_route_builder.createRoute({
2037
2069
  handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
2038
2070
  try {
2039
2071
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
2040
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2072
+ require_utils$1.sanitizeBody(params, [
2073
+ "tools",
2074
+ "actor",
2075
+ "scopes"
2076
+ ]);
2041
2077
  require_utils$1.stripClientCredentialHeaders(params);
2042
2078
  const { resumeData, runId, toolCallId, memory: memoryOption, requestContext: bodyRequestContext, versions, ...rest } = params;
2043
2079
  const versionOptions = extractVersionOptions(serverRequestContext, bodyRequestContext);
@@ -2159,7 +2195,11 @@ const RESUME_STREAM_UNTIL_IDLE_ROUTE = require_route_builder.createRoute({
2159
2195
  handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
2160
2196
  try {
2161
2197
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
2162
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2198
+ require_utils$1.sanitizeBody(params, [
2199
+ "tools",
2200
+ "actor",
2201
+ "scopes"
2202
+ ]);
2163
2203
  require_utils$1.stripClientCredentialHeaders(params);
2164
2204
  const { resumeData, runId, toolCallId, memory: memoryOption, requestContext: bodyRequestContext, versions, ...rest } = params;
2165
2205
  const versionOptions = extractVersionOptions(serverRequestContext, bodyRequestContext);
@@ -2247,7 +2287,11 @@ const APPROVE_TOOL_CALL_GENERATE_ROUTE = require_route_builder.createRoute({
2247
2287
  });
2248
2288
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
2249
2289
  if (!params.toolCallId) throw new require_http_exception.HTTPException(400, { message: "Tool call id is required" });
2250
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2290
+ require_utils$1.sanitizeBody(params, [
2291
+ "tools",
2292
+ "actor",
2293
+ "scopes"
2294
+ ]);
2251
2295
  require_utils$1.stripClientCredentialHeaders(params);
2252
2296
  await validateDurableToolCallAccess({
2253
2297
  mastra,
@@ -2287,7 +2331,11 @@ const DECLINE_TOOL_CALL_GENERATE_ROUTE = require_route_builder.createRoute({
2287
2331
  });
2288
2332
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
2289
2333
  if (!params.toolCallId) throw new require_http_exception.HTTPException(400, { message: "Tool call id is required" });
2290
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2334
+ require_utils$1.sanitizeBody(params, [
2335
+ "tools",
2336
+ "actor",
2337
+ "scopes"
2338
+ ]);
2291
2339
  require_utils$1.stripClientCredentialHeaders(params);
2292
2340
  await validateDurableToolCallAccess({
2293
2341
  mastra,
@@ -2326,7 +2374,11 @@ const STREAM_NETWORK_ROUTE = require_route_builder.createRoute({
2326
2374
  agentId,
2327
2375
  versionOptions: extractVersionOptions(requestContext)
2328
2376
  });
2329
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2377
+ require_utils$1.sanitizeBody(params, [
2378
+ "tools",
2379
+ "actor",
2380
+ "scopes"
2381
+ ]);
2330
2382
  require_utils$1.stripClientCredentialHeaders(params);
2331
2383
  require_utils$1.validateBody({ messages });
2332
2384
  let authorizedMemoryOption = params.memory;
@@ -2367,7 +2419,11 @@ const APPROVE_NETWORK_TOOL_CALL_ROUTE = require_route_builder.createRoute({
2367
2419
  versionOptions: extractVersionOptions(requestContext)
2368
2420
  });
2369
2421
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
2370
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2422
+ require_utils$1.sanitizeBody(params, [
2423
+ "tools",
2424
+ "actor",
2425
+ "scopes"
2426
+ ]);
2371
2427
  require_utils$1.stripClientCredentialHeaders(params);
2372
2428
  return await agent.approveNetworkToolCall({ ...params });
2373
2429
  } catch (error) {
@@ -2395,7 +2451,11 @@ const DECLINE_NETWORK_TOOL_CALL_ROUTE = require_route_builder.createRoute({
2395
2451
  versionOptions: extractVersionOptions(requestContext)
2396
2452
  });
2397
2453
  if (!params.runId) throw new require_http_exception.HTTPException(400, { message: "Run id is required" });
2398
- require_utils$1.sanitizeBody(params, ["tools", "actor"]);
2454
+ require_utils$1.sanitizeBody(params, [
2455
+ "tools",
2456
+ "actor",
2457
+ "scopes"
2458
+ ]);
2399
2459
  require_utils$1.stripClientCredentialHeaders(params);
2400
2460
  return await agent.declineNetworkToolCall({ ...params });
2401
2461
  } catch (error) {