@mastra/server 1.58.0-alpha.4 → 1.58.0-alpha.5

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 (70) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/{agent-builder-DAiJH1u2.cjs → agent-builder-Bq8VQxPt.cjs} +2 -2
  3. package/dist/{agent-builder-DAiJH1u2.cjs.map → agent-builder-Bq8VQxPt.cjs.map} +1 -1
  4. package/dist/{agent-builder-gGFywDVq.js → agent-builder-DVv4fSab.js} +2 -2
  5. package/dist/{agent-builder-gGFywDVq.js.map → agent-builder-DVv4fSab.js.map} +1 -1
  6. package/dist/{api-schema-manifest-B4J_QYOr.js → api-schema-manifest-CtRYAXKX.js} +2 -2
  7. package/dist/{api-schema-manifest-B4J_QYOr.js.map → api-schema-manifest-CtRYAXKX.js.map} +1 -1
  8. package/dist/{api-schema-manifest-B3bC-D98.cjs → api-schema-manifest-tsMOBlmY.cjs} +2 -2
  9. package/dist/{api-schema-manifest-B3bC-D98.cjs.map → api-schema-manifest-tsMOBlmY.cjs.map} +1 -1
  10. package/dist/{dist-BKRMiJcn.js → dist-DkY6iCA4.js} +64 -35
  11. package/dist/dist-DkY6iCA4.js.map +1 -0
  12. package/dist/{dist-C2-SedDQ.cjs → dist-fvOsjRn_.cjs} +64 -35
  13. package/dist/dist-fvOsjRn_.cjs.map +1 -0
  14. package/dist/docs/SKILL.md +1 -1
  15. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  16. package/dist/docs/references/reference-server-routes.md +9 -9
  17. package/dist/{stored-workflows-OanG0TmB.js → dynamic-workflows-B4LI2B52.js} +61 -61
  18. package/dist/dynamic-workflows-B4LI2B52.js.map +1 -0
  19. package/dist/{stored-workflows-pCiWK305.cjs → dynamic-workflows-BXeywVEf.cjs} +70 -70
  20. package/dist/dynamic-workflows-BXeywVEf.cjs.map +1 -0
  21. package/dist/{routes-CZwPlO3-.cjs → routes-BRGPk2DE.cjs} +17 -17
  22. package/dist/routes-BRGPk2DE.cjs.map +1 -0
  23. package/dist/{routes-HUaCyUb7.js → routes-cMGFe7yS.js} +17 -17
  24. package/dist/routes-cMGFe7yS.js.map +1 -0
  25. package/dist/server/handlers/agent-builder.cjs +3 -3
  26. package/dist/server/handlers/agent-builder.d.ts +4 -4
  27. package/dist/server/handlers/agent-builder.js +3 -3
  28. package/dist/server/handlers/dynamic-workflows.cjs +6 -0
  29. package/dist/server/handlers/{stored-workflows.d.ts → dynamic-workflows.d.ts} +14 -14
  30. package/dist/server/handlers/{stored-workflows.d.ts.map → dynamic-workflows.d.ts.map} +1 -1
  31. package/dist/server/handlers/dynamic-workflows.js +2 -0
  32. package/dist/server/handlers/system.cjs +1 -1
  33. package/dist/server/handlers/system.js +1 -1
  34. package/dist/server/handlers/workflows.cjs +1 -1
  35. package/dist/server/handlers/workflows.d.ts +4 -4
  36. package/dist/server/handlers/workflows.js +1 -1
  37. package/dist/server/handlers.cjs +7 -7
  38. package/dist/server/handlers.d.ts +1 -1
  39. package/dist/server/handlers.d.ts.map +1 -1
  40. package/dist/server/handlers.js +2 -2
  41. package/dist/server/schemas/{stored-workflows.d.ts → dynamic-workflows.d.ts} +13 -13
  42. package/dist/server/schemas/dynamic-workflows.d.ts.map +1 -0
  43. package/dist/server/schemas/index.cjs +2 -2
  44. package/dist/server/schemas/index.js +2 -2
  45. package/dist/server/schemas/workflows.d.ts +2 -2
  46. package/dist/server/server-adapter/index.cjs +1 -1
  47. package/dist/server/server-adapter/index.js +1 -1
  48. package/dist/server/server-adapter/routes/agent-builder.d.ts +4 -4
  49. package/dist/server/server-adapter/routes/dynamic-workflows.d.ts +16 -0
  50. package/dist/server/server-adapter/routes/dynamic-workflows.d.ts.map +1 -0
  51. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  52. package/dist/server/server-adapter/routes/workflows.d.ts +4 -4
  53. package/dist/{workflows-Dzxr6cmf.cjs → workflows-BPDvo87u.cjs} +2 -2
  54. package/dist/workflows-BPDvo87u.cjs.map +1 -0
  55. package/dist/{workflows-CMU5dz_4.js → workflows-Dzl1i83M.js} +2 -2
  56. package/dist/workflows-Dzl1i83M.js.map +1 -0
  57. package/package.json +8 -8
  58. package/dist/dist-BKRMiJcn.js.map +0 -1
  59. package/dist/dist-C2-SedDQ.cjs.map +0 -1
  60. package/dist/routes-CZwPlO3-.cjs.map +0 -1
  61. package/dist/routes-HUaCyUb7.js.map +0 -1
  62. package/dist/server/handlers/stored-workflows.cjs +0 -6
  63. package/dist/server/handlers/stored-workflows.js +0 -2
  64. package/dist/server/schemas/stored-workflows.d.ts.map +0 -1
  65. package/dist/server/server-adapter/routes/stored-workflows.d.ts +0 -16
  66. package/dist/server/server-adapter/routes/stored-workflows.d.ts.map +0 -1
  67. package/dist/stored-workflows-OanG0TmB.js.map +0 -1
  68. package/dist/stored-workflows-pCiWK305.cjs.map +0 -1
  69. package/dist/workflows-CMU5dz_4.js.map +0 -1
  70. package/dist/workflows-Dzxr6cmf.cjs.map +0 -1
@@ -3,7 +3,7 @@ const require_http_exception = require("./http-exception-CKDHupKw.cjs");
3
3
  const require_route_builder = require("./route-builder-CgLVYL1c.cjs");
4
4
  const require_server_handlers_error = require("./server/handlers/error.cjs");
5
5
  let zod_v4 = require("zod/v4");
6
- //#region src/server/schemas/stored-workflows.ts
6
+ //#region src/server/schemas/dynamic-workflows.ts
7
7
  const stepOptionsSchema = zod_v4.z.object({
8
8
  retries: zod_v4.z.number().int().nonnegative().optional(),
9
9
  metadata: zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()).optional()
@@ -126,16 +126,16 @@ const graphEntrySchema = zod_v4.z.discriminatedUnion("type", [
126
126
  predicate: predicateSchema
127
127
  })
128
128
  ]);
129
- const storedWorkflowIdPathParams = zod_v4.z.object({ storedWorkflowId: zod_v4.z.string().describe("Unique identifier for the stored workflow definition") });
130
- const listStoredWorkflowsQuerySchema = zod_v4.z.object({
131
- status: zod_v4.z.enum(["active", "archived"]).optional().describe("Filter stored workflows by status (defaults to active when omitted by the handler)"),
132
- authorId: zod_v4.z.string().optional().describe("Filter stored workflows by author identifier")
129
+ const dynamicWorkflowIdPathParams = zod_v4.z.object({ dynamicWorkflowId: zod_v4.z.string().describe("Unique identifier for the dynamic workflow definition") });
130
+ const listDynamicWorkflowsQuerySchema = zod_v4.z.object({
131
+ status: zod_v4.z.enum(["active", "archived"]).optional().describe("Filter dynamic workflows by status (defaults to active when omitted by the handler)"),
132
+ authorId: zod_v4.z.string().optional().describe("Filter dynamic workflows by author identifier")
133
133
  });
134
134
  /**
135
135
  * One static workflow definition on the wire. Matches the input shape of
136
- * `mastra.addStoredWorkflow()`.
136
+ * `mastra.addDynamicWorkflow()`.
137
137
  */
138
- const storedWorkflowDefinitionBodySchema = zod_v4.z.object({
138
+ const dynamicWorkflowDefinitionBodySchema = zod_v4.z.object({
139
139
  id: zod_v4.z.string().describe("Workflow id — kebab-case, descriptive"),
140
140
  description: zod_v4.z.string().optional(),
141
141
  metadata: zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()).optional(),
@@ -149,11 +149,11 @@ const storedWorkflowDefinitionBodySchema = zod_v4.z.object({
149
149
  * Body for `POST /stored/workflows` — upsert a static workflow definition,
150
150
  * optionally together with the helper workflows it nests.
151
151
  */
152
- const upsertStoredWorkflowBodySchema = storedWorkflowDefinitionBodySchema.extend({ dependencies: zod_v4.z.array(storedWorkflowDefinitionBodySchema).optional().describe("Helper workflow definitions this workflow nests. Saved with it as one unit — the whole set is validated together, hydrated in derived dependency order, and rejected together, so a failed save never leaves orphaned helpers behind. Each helper becomes an ordinary stored workflow in its own right.") });
152
+ const upsertDynamicWorkflowBodySchema = dynamicWorkflowDefinitionBodySchema.extend({ dependencies: zod_v4.z.array(dynamicWorkflowDefinitionBodySchema).optional().describe("Helper workflow definitions this workflow nests. Saved with it as one unit — the whole set is validated together, hydrated in derived dependency order, and rejected together, so a failed save never leaves orphaned helpers behind. Each helper becomes an ordinary dynamic workflow in its own right.") });
153
153
  /**
154
- * Shape returned for any single stored workflow row.
154
+ * Shape returned for any single dynamic workflow row.
155
155
  */
156
- const storedWorkflowResponseSchema = zod_v4.z.object({
156
+ const dynamicWorkflowResponseSchema = zod_v4.z.object({
157
157
  id: zod_v4.z.string(),
158
158
  description: zod_v4.z.string().optional(),
159
159
  metadata: zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()).optional(),
@@ -168,27 +168,27 @@ const storedWorkflowResponseSchema = zod_v4.z.object({
168
168
  createdAt: zod_v4.z.union([zod_v4.z.date(), zod_v4.z.string()]),
169
169
  updatedAt: zod_v4.z.union([zod_v4.z.date(), zod_v4.z.string()])
170
170
  });
171
- const listStoredWorkflowsResponseSchema = zod_v4.z.object({
172
- workflows: zod_v4.z.array(storedWorkflowResponseSchema),
171
+ const listDynamicWorkflowsResponseSchema = zod_v4.z.object({
172
+ workflows: zod_v4.z.array(dynamicWorkflowResponseSchema),
173
173
  total: zod_v4.z.number()
174
174
  });
175
- const getStoredWorkflowResponseSchema = storedWorkflowResponseSchema;
176
- const upsertStoredWorkflowResponseSchema = zod_v4.z.object({
175
+ const getDynamicWorkflowResponseSchema = dynamicWorkflowResponseSchema;
176
+ const upsertDynamicWorkflowResponseSchema = zod_v4.z.object({
177
177
  ok: zod_v4.z.literal(true),
178
178
  id: zod_v4.z.string(),
179
179
  dependencyIds: zod_v4.z.array(zod_v4.z.string()).optional().describe("Ids of the helper workflows saved alongside this one. Present only when dependencies were supplied.")
180
180
  });
181
- const deleteStoredWorkflowResponseSchema = zod_v4.z.object({
181
+ const deleteDynamicWorkflowResponseSchema = zod_v4.z.object({
182
182
  success: zod_v4.z.literal(true),
183
183
  message: zod_v4.z.string()
184
184
  });
185
185
  //#endregion
186
- //#region src/server/handlers/stored-workflows.ts
187
- var stored_workflows_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
188
- DELETE_STORED_WORKFLOW_ROUTE: () => DELETE_STORED_WORKFLOW_ROUTE,
189
- GET_STORED_WORKFLOW_ROUTE: () => GET_STORED_WORKFLOW_ROUTE,
190
- LIST_STORED_WORKFLOWS_ROUTE: () => LIST_STORED_WORKFLOWS_ROUTE,
191
- UPSERT_STORED_WORKFLOW_ROUTE: () => UPSERT_STORED_WORKFLOW_ROUTE
186
+ //#region src/server/handlers/dynamic-workflows.ts
187
+ var dynamic_workflows_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
188
+ DELETE_DYNAMIC_WORKFLOW_ROUTE: () => DELETE_DYNAMIC_WORKFLOW_ROUTE,
189
+ GET_DYNAMIC_WORKFLOW_ROUTE: () => GET_DYNAMIC_WORKFLOW_ROUTE,
190
+ LIST_DYNAMIC_WORKFLOWS_ROUTE: () => LIST_DYNAMIC_WORKFLOWS_ROUTE,
191
+ UPSERT_DYNAMIC_WORKFLOW_ROUTE: () => UPSERT_DYNAMIC_WORKFLOW_ROUTE
192
192
  });
193
193
  /**
194
194
  * GET /stored/workflows — list stored static workflow definitions.
@@ -196,15 +196,15 @@ var stored_workflows_exports = /* @__PURE__ */ require_rolldown_runtime.__export
196
196
  * Mirrors `LIST_STORED_AGENTS_ROUTE` but without favorites/visibility/authorship
197
197
  * scoping (which the workflow-definitions domain doesn't carry in v1).
198
198
  */
199
- const LIST_STORED_WORKFLOWS_ROUTE = require_route_builder.createRoute({
199
+ const LIST_DYNAMIC_WORKFLOWS_ROUTE = require_route_builder.createRoute({
200
200
  method: "GET",
201
201
  path: "/stored/workflows",
202
202
  responseType: "json",
203
- queryParamSchema: listStoredWorkflowsQuerySchema,
204
- responseSchema: listStoredWorkflowsResponseSchema,
205
- summary: "List stored workflow definitions",
203
+ queryParamSchema: listDynamicWorkflowsQuerySchema,
204
+ responseSchema: listDynamicWorkflowsResponseSchema,
205
+ summary: "List dynamic workflow definitions",
206
206
  description: "Returns workflow definitions persisted to storage. Filterable by status and authorId.",
207
- tags: ["Stored Workflows"],
207
+ tags: ["Dynamic Workflows"],
208
208
  requiresAuth: true,
209
209
  requiresPermission: "stored-workflows:read",
210
210
  handler: async ({ mastra, status, authorId }) => {
@@ -222,35 +222,35 @@ const LIST_STORED_WORKFLOWS_ROUTE = require_route_builder.createRoute({
222
222
  total: result.total
223
223
  };
224
224
  } catch (error) {
225
- return require_server_handlers_error.handleError(error, "Error listing stored workflows");
225
+ return require_server_handlers_error.handleError(error, "Error listing dynamic workflows");
226
226
  }
227
227
  }
228
228
  });
229
229
  /**
230
- * GET /stored/workflows/:storedWorkflowId — get one stored workflow.
230
+ * GET /stored/workflows/:dynamicWorkflowId — get one dynamic workflow.
231
231
  */
232
- const GET_STORED_WORKFLOW_ROUTE = require_route_builder.createRoute({
232
+ const GET_DYNAMIC_WORKFLOW_ROUTE = require_route_builder.createRoute({
233
233
  method: "GET",
234
- path: "/stored/workflows/:storedWorkflowId",
234
+ path: "/stored/workflows/:dynamicWorkflowId",
235
235
  responseType: "json",
236
- pathParamSchema: storedWorkflowIdPathParams,
237
- responseSchema: getStoredWorkflowResponseSchema,
238
- summary: "Get a stored workflow definition by id",
236
+ pathParamSchema: dynamicWorkflowIdPathParams,
237
+ responseSchema: getDynamicWorkflowResponseSchema,
238
+ summary: "Get a dynamic workflow definition by id",
239
239
  description: "Returns a single workflow definition persisted to storage.",
240
- tags: ["Stored Workflows"],
240
+ tags: ["Dynamic Workflows"],
241
241
  requiresAuth: true,
242
242
  requiresPermission: "stored-workflows:read",
243
- handler: async ({ mastra, storedWorkflowId }) => {
243
+ handler: async ({ mastra, dynamicWorkflowId }) => {
244
244
  try {
245
245
  const storage = mastra.getStorage();
246
246
  if (!storage) throw new require_http_exception.HTTPException(500, { message: "Storage is not configured" });
247
247
  const store = await storage.getStore("workflowDefinitions");
248
248
  if (!store) throw new require_http_exception.HTTPException(500, { message: "workflowDefinitions storage domain is not available" });
249
- const def = await store.get(storedWorkflowId);
250
- if (!def) throw new require_http_exception.HTTPException(404, { message: `Stored workflow "${storedWorkflowId}" not found` });
249
+ const def = await store.get(dynamicWorkflowId);
250
+ if (!def) throw new require_http_exception.HTTPException(404, { message: `Dynamic workflow "${dynamicWorkflowId}" not found` });
251
251
  return def;
252
252
  } catch (error) {
253
- return require_server_handlers_error.handleError(error, "Error getting stored workflow");
253
+ return require_server_handlers_error.handleError(error, "Error getting dynamic workflow");
254
254
  }
255
255
  }
256
256
  });
@@ -258,20 +258,20 @@ const GET_STORED_WORKFLOW_ROUTE = require_route_builder.createRoute({
258
258
  * POST /stored/workflows — upsert a static workflow definition and live-register
259
259
  * it on the Mastra instance.
260
260
  *
261
- * Calls `mastra.addStoredWorkflow(def)` which persists the row + rehydrates a
261
+ * Calls `mastra.addDynamicWorkflow(def)` which persists the row + rehydrates a
262
262
  * runnable workflow + registers it via `mastra.addWorkflow(workflow, id)`.
263
263
  * After this returns, `GET /workflows/:id` and `POST /workflows/:id/run` work
264
264
  * immediately — no server restart needed.
265
265
  */
266
- const UPSERT_STORED_WORKFLOW_ROUTE = require_route_builder.createRoute({
266
+ const UPSERT_DYNAMIC_WORKFLOW_ROUTE = require_route_builder.createRoute({
267
267
  method: "POST",
268
268
  path: "/stored/workflows",
269
269
  responseType: "json",
270
- bodySchema: upsertStoredWorkflowBodySchema,
271
- responseSchema: upsertStoredWorkflowResponseSchema,
272
- summary: "Upsert a stored workflow definition and live-register it",
270
+ bodySchema: upsertDynamicWorkflowBodySchema,
271
+ responseSchema: upsertDynamicWorkflowResponseSchema,
272
+ summary: "Upsert a dynamic workflow definition and live-register it",
273
273
  description: "Persists a static workflow definition and live-registers it on the running Mastra instance. Idempotent — same id updates in place.",
274
- tags: ["Stored Workflows"],
274
+ tags: ["Dynamic Workflows"],
275
275
  requiresAuth: true,
276
276
  requiresPermission: "stored-workflows:write",
277
277
  handler: async ({ mastra, id, description, metadata, inputSchema, outputSchema, stateSchema, requestContextSchema, graph, dependencies }) => {
@@ -287,81 +287,81 @@ const UPSERT_STORED_WORKFLOW_ROUTE = require_route_builder.createRoute({
287
287
  graph
288
288
  };
289
289
  const bundle = [...dependencies ?? [], def];
290
- await mastra.addStoredWorkflows(bundle);
290
+ await mastra.addDynamicWorkflows(bundle);
291
291
  return {
292
292
  ok: true,
293
293
  id: def.id,
294
294
  ...dependencies?.length ? { dependencyIds: dependencies.map((dependency) => dependency.id) } : {}
295
295
  };
296
296
  } catch (error) {
297
- return require_server_handlers_error.handleError(error, "Error upserting stored workflow");
297
+ return require_server_handlers_error.handleError(error, "Error upserting dynamic workflow");
298
298
  }
299
299
  }
300
300
  });
301
301
  /**
302
- * DELETE /stored/workflows/:storedWorkflowId — delete a stored workflow.
302
+ * DELETE /stored/workflows/:dynamicWorkflowId — delete a dynamic workflow.
303
303
  *
304
304
  * Removes the row from storage AND un-registers the live Workflow instance so
305
305
  * a subsequent POST with the same id starts from a clean slate. Idempotent.
306
306
  */
307
- const DELETE_STORED_WORKFLOW_ROUTE = require_route_builder.createRoute({
307
+ const DELETE_DYNAMIC_WORKFLOW_ROUTE = require_route_builder.createRoute({
308
308
  method: "DELETE",
309
- path: "/stored/workflows/:storedWorkflowId",
309
+ path: "/stored/workflows/:dynamicWorkflowId",
310
310
  responseType: "json",
311
- pathParamSchema: storedWorkflowIdPathParams,
312
- responseSchema: deleteStoredWorkflowResponseSchema,
313
- summary: "Delete a stored workflow definition",
314
- description: "Removes a stored workflow definition and unregisters the live workflow instance. Idempotent.",
315
- tags: ["Stored Workflows"],
311
+ pathParamSchema: dynamicWorkflowIdPathParams,
312
+ responseSchema: deleteDynamicWorkflowResponseSchema,
313
+ summary: "Delete a dynamic workflow definition",
314
+ description: "Removes a dynamic workflow definition and unregisters the live workflow instance. Idempotent.",
315
+ tags: ["Dynamic Workflows"],
316
316
  requiresAuth: true,
317
317
  requiresPermission: "stored-workflows:write",
318
- handler: async ({ mastra, storedWorkflowId }) => {
318
+ handler: async ({ mastra, dynamicWorkflowId }) => {
319
319
  try {
320
320
  const storage = mastra.getStorage();
321
321
  if (!storage) throw new require_http_exception.HTTPException(500, { message: "Storage is not configured" });
322
322
  const store = await storage.getStore("workflowDefinitions");
323
323
  if (!store) throw new require_http_exception.HTTPException(500, { message: "workflowDefinitions storage domain is not available" });
324
- await store.delete(storedWorkflowId);
325
- mastra.removeWorkflow(storedWorkflowId);
324
+ await store.delete(dynamicWorkflowId);
325
+ mastra.removeWorkflow(dynamicWorkflowId);
326
326
  return {
327
327
  success: true,
328
- message: `Workflow ${storedWorkflowId} deleted`
328
+ message: `Workflow ${dynamicWorkflowId} deleted`
329
329
  };
330
330
  } catch (error) {
331
- return require_server_handlers_error.handleError(error, "Error deleting stored workflow");
331
+ return require_server_handlers_error.handleError(error, "Error deleting dynamic workflow");
332
332
  }
333
333
  }
334
334
  });
335
335
  //#endregion
336
- Object.defineProperty(exports, "DELETE_STORED_WORKFLOW_ROUTE", {
336
+ Object.defineProperty(exports, "DELETE_DYNAMIC_WORKFLOW_ROUTE", {
337
337
  enumerable: true,
338
338
  get: function() {
339
- return DELETE_STORED_WORKFLOW_ROUTE;
339
+ return DELETE_DYNAMIC_WORKFLOW_ROUTE;
340
340
  }
341
341
  });
342
- Object.defineProperty(exports, "GET_STORED_WORKFLOW_ROUTE", {
342
+ Object.defineProperty(exports, "GET_DYNAMIC_WORKFLOW_ROUTE", {
343
343
  enumerable: true,
344
344
  get: function() {
345
- return GET_STORED_WORKFLOW_ROUTE;
345
+ return GET_DYNAMIC_WORKFLOW_ROUTE;
346
346
  }
347
347
  });
348
- Object.defineProperty(exports, "LIST_STORED_WORKFLOWS_ROUTE", {
348
+ Object.defineProperty(exports, "LIST_DYNAMIC_WORKFLOWS_ROUTE", {
349
349
  enumerable: true,
350
350
  get: function() {
351
- return LIST_STORED_WORKFLOWS_ROUTE;
351
+ return LIST_DYNAMIC_WORKFLOWS_ROUTE;
352
352
  }
353
353
  });
354
- Object.defineProperty(exports, "UPSERT_STORED_WORKFLOW_ROUTE", {
354
+ Object.defineProperty(exports, "UPSERT_DYNAMIC_WORKFLOW_ROUTE", {
355
355
  enumerable: true,
356
356
  get: function() {
357
- return UPSERT_STORED_WORKFLOW_ROUTE;
357
+ return UPSERT_DYNAMIC_WORKFLOW_ROUTE;
358
358
  }
359
359
  });
360
- Object.defineProperty(exports, "stored_workflows_exports", {
360
+ Object.defineProperty(exports, "dynamic_workflows_exports", {
361
361
  enumerable: true,
362
362
  get: function() {
363
- return stored_workflows_exports;
363
+ return dynamic_workflows_exports;
364
364
  }
365
365
  });
366
366
 
367
- //# sourceMappingURL=stored-workflows-pCiWK305.cjs.map
367
+ //# sourceMappingURL=dynamic-workflows-BXeywVEf.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-workflows-BXeywVEf.cjs","names":["z","createRoute","HTTPException","handleError"],"sources":["../src/server/schemas/dynamic-workflows.ts","../src/server/handlers/dynamic-workflows.ts"],"sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Serialized graph — discriminated union mirroring core's SerializedStepFlowEntry.\n// Duplicated locally rather than imported from @mastra/core/workflows because\n// this file's peer-dependency floor predates that export. Structurally\n// compatible with `Mastra.addDynamicWorkflow`'s input; the handler casts once\n// to bridge the remaining wire-vs-runtime divergences (sleepUntil.date as\n// ISO string, fluent-builder-only debug labels) that the core rehydrator\n// handles at runtime.\n// ============================================================================\n\nconst stepOptionsSchema = z\n .object({\n retries: z.number().int().nonnegative().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .optional();\n\n// ----------------------------------------------------------------------------\n// Predicate DSL — declarative condition for `conditional` / `loop` entries.\n// Mirrors `Predicate` in `@mastra/core/workflows/predicate`; duplicated\n// locally for the same peer-floor reason as the graph schema above.\n// ----------------------------------------------------------------------------\nconst literalScalar = z.union([z.string(), z.number(), z.boolean(), z.null()]);\nconst pathOrLiteral: z.ZodType = z.union([\n z.object({ path: z.string().min(1) }).strict(),\n z.object({ literal: literalScalar }).strict(),\n]);\nconst predicateSchema: z.ZodType = z.lazy(() =>\n z.union([\n z\n .object({\n op: z.enum(['eq', 'ne', 'lt', 'lte', 'gt', 'gte']),\n left: pathOrLiteral,\n right: pathOrLiteral,\n })\n .strict(),\n z\n .object({\n op: z.enum(['in', 'notIn']),\n value: pathOrLiteral,\n set: z.array(literalScalar).min(1),\n })\n .strict(),\n z.object({ op: z.enum(['exists', 'notExists']), path: z.string().min(1) }).strict(),\n z.object({ op: z.enum(['truthy', 'falsy']), value: pathOrLiteral }).strict(),\n z.object({ op: z.enum(['and', 'or']), args: z.array(predicateSchema).min(1) }).strict(),\n z.object({ op: z.literal('not'), arg: predicateSchema }).strict(),\n ]),\n);\n\nconst agentEntrySchema = z.object({\n type: z.literal('agent'),\n id: z.string(),\n agentId: z.string(),\n description: z.string().optional(),\n outputSchema: z.record(z.string(), z.unknown()).optional(),\n options: stepOptionsSchema,\n});\n\nconst toolEntrySchema = z.object({\n type: z.literal('tool'),\n id: z.string(),\n toolId: z.string(),\n description: z.string().optional(),\n options: stepOptionsSchema,\n});\n\nconst mappingEntrySchema = z.object({\n type: z.literal('mapping'),\n id: z.string(),\n mapConfig: z.string(),\n});\n\nconst workflowEntrySchema = z.object({\n type: z.literal('workflow'),\n id: z.string(),\n workflowId: z.string(),\n description: z.string().optional(),\n});\n\nconst singleStepEntrySchema = z.discriminatedUnion('type', [\n agentEntrySchema,\n toolEntrySchema,\n mappingEntrySchema,\n workflowEntrySchema,\n]);\n\nconst foreachInnerStepSchema = z.discriminatedUnion('type', [agentEntrySchema, toolEntrySchema, workflowEntrySchema]);\n\nconst graphEntrySchema = z.discriminatedUnion('type', [\n agentEntrySchema,\n toolEntrySchema,\n mappingEntrySchema,\n workflowEntrySchema,\n z.object({\n type: z.literal('parallel'),\n steps: z.array(singleStepEntrySchema),\n }),\n z.object({\n type: z.literal('foreach'),\n step: foreachInnerStepSchema,\n opts: z.object({ concurrency: z.number().int().positive() }).optional(),\n }),\n z.object({\n type: z.literal('sleep'),\n id: z.string(),\n duration: z.number(),\n }),\n z.object({\n type: z.literal('sleepUntil'),\n id: z.string(),\n date: z.string(),\n }),\n z\n .object({\n // Declarative-only conditional. Inbound dynamic workflows must ship a\n // `predicates` array aligned with `steps`; closure-based branches are not\n // accepted over the wire (they'd be arbitrary JS strings we can't\n // safely rehydrate).\n type: z.literal('conditional'),\n steps: z.array(singleStepEntrySchema),\n predicates: z.array(predicateSchema),\n })\n .refine(entry => entry.predicates.length === entry.steps.length, {\n message:\n 'conditional entries must have exactly one predicate per branch (`predicates` and `steps` must be the same length)',\n path: ['predicates'],\n }),\n z.object({\n // Declarative-only loop. Same rationale as `conditional`.\n type: z.literal('loop'),\n step: singleStepEntrySchema,\n loopType: z.enum(['dowhile', 'dountil']),\n predicate: predicateSchema,\n }),\n]);\n\n// ============================================================================\n// Path params\n// ============================================================================\n\nexport const dynamicWorkflowIdPathParams = z.object({\n dynamicWorkflowId: z.string().describe('Unique identifier for the dynamic workflow definition'),\n});\n\n// ============================================================================\n// Query params\n// ============================================================================\n\nexport const listDynamicWorkflowsQuerySchema = z.object({\n status: z\n .enum(['active', 'archived'])\n .optional()\n .describe('Filter dynamic workflows by status (defaults to active when omitted by the handler)'),\n authorId: z.string().optional().describe('Filter dynamic workflows by author identifier'),\n});\n\n// ============================================================================\n// Body schemas\n// ============================================================================\n\n/**\n * One static workflow definition on the wire. Matches the input shape of\n * `mastra.addDynamicWorkflow()`.\n */\nexport const dynamicWorkflowDefinitionBodySchema = z.object({\n id: z.string().describe('Workflow id — kebab-case, descriptive'),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n // Schemas are loose object bags by design: different JSON Schema producers\n // emit slightly different shapes and core's `JsonSchema` type is\n // `Record<string, any>`. Using `z.record` here aligns with that shape so\n // no cast is needed at the handler boundary.\n inputSchema: z.record(z.string(), z.unknown()).describe('JSON Schema (Draft 2020-12) for the workflow input'),\n outputSchema: z.record(z.string(), z.unknown()).describe('JSON Schema (Draft 2020-12) for the workflow output'),\n stateSchema: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.record(z.string(), z.unknown()).optional(),\n graph: z\n .array(graphEntrySchema)\n .describe('Static workflow graph — ordered array of serialized step entries with all refs as ids.'),\n});\n\n/**\n * Body for `POST /stored/workflows` — upsert a static workflow definition,\n * optionally together with the helper workflows it nests.\n */\nexport const upsertDynamicWorkflowBodySchema = dynamicWorkflowDefinitionBodySchema.extend({\n // Deliberately a FLAT list rather than a recursive tree: helpers are peers\n // of each other, hydration order is derived from the graphs, and a\n // self-referential Zod schema would not survive OpenAPI generation.\n dependencies: z\n .array(dynamicWorkflowDefinitionBodySchema)\n .optional()\n .describe(\n 'Helper workflow definitions this workflow nests. Saved with it as one unit — the whole set is validated together, ' +\n 'hydrated in derived dependency order, and rejected together, so a failed save never leaves orphaned helpers behind. ' +\n 'Each helper becomes an ordinary dynamic workflow in its own right.',\n ),\n});\n\n// ============================================================================\n// Response schemas\n// ============================================================================\n\n/**\n * Shape returned for any single dynamic workflow row.\n */\nexport const dynamicWorkflowResponseSchema = z.object({\n id: z.string(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n inputSchema: z.unknown(),\n outputSchema: z.unknown(),\n stateSchema: z.unknown().optional(),\n requestContextSchema: z.unknown().optional(),\n graph: z.array(z.unknown()),\n status: z.enum(['active', 'archived']),\n source: z.literal('storage'),\n authorId: z.string().optional(),\n createdAt: z.union([z.date(), z.string()]),\n updatedAt: z.union([z.date(), z.string()]),\n});\n\nexport const listDynamicWorkflowsResponseSchema = z.object({\n workflows: z.array(dynamicWorkflowResponseSchema),\n total: z.number(),\n});\n\nexport const getDynamicWorkflowResponseSchema = dynamicWorkflowResponseSchema;\n\nexport const upsertDynamicWorkflowResponseSchema = z.object({\n ok: z.literal(true),\n id: z.string(),\n dependencyIds: z\n .array(z.string())\n .optional()\n .describe('Ids of the helper workflows saved alongside this one. Present only when dependencies were supplied.'),\n});\n\nexport const deleteDynamicWorkflowResponseSchema = z.object({\n success: z.literal(true),\n message: z.string(),\n});\n","import type { Mastra } from '@mastra/core/mastra';\n\nimport { HTTPException } from '../http-exception';\nimport {\n dynamicWorkflowIdPathParams,\n listDynamicWorkflowsQuerySchema,\n upsertDynamicWorkflowBodySchema,\n listDynamicWorkflowsResponseSchema,\n getDynamicWorkflowResponseSchema,\n upsertDynamicWorkflowResponseSchema,\n deleteDynamicWorkflowResponseSchema,\n} from '../schemas/dynamic-workflows';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n/**\n * GET /stored/workflows — list stored static workflow definitions.\n *\n * Mirrors `LIST_STORED_AGENTS_ROUTE` but without favorites/visibility/authorship\n * scoping (which the workflow-definitions domain doesn't carry in v1).\n */\nexport const LIST_DYNAMIC_WORKFLOWS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/workflows',\n responseType: 'json',\n queryParamSchema: listDynamicWorkflowsQuerySchema,\n responseSchema: listDynamicWorkflowsResponseSchema,\n summary: 'List dynamic workflow definitions',\n description: 'Returns workflow definitions persisted to storage. Filterable by status and authorId.',\n tags: ['Dynamic Workflows'],\n requiresAuth: true,\n requiresPermission: 'stored-workflows:read',\n handler: async ({ mastra, status, authorId }) => {\n try {\n const storage = mastra.getStorage();\n if (!storage) throw new HTTPException(500, { message: 'Storage is not configured' });\n\n const store = await storage.getStore('workflowDefinitions');\n if (!store) throw new HTTPException(500, { message: 'workflowDefinitions storage domain is not available' });\n\n const result = await store.list({ status: status ?? 'active', authorId });\n return { workflows: result.definitions, total: result.total };\n } catch (error) {\n return handleError(error, 'Error listing dynamic workflows');\n }\n },\n});\n\n/**\n * GET /stored/workflows/:dynamicWorkflowId — get one dynamic workflow.\n */\nexport const GET_DYNAMIC_WORKFLOW_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/workflows/:dynamicWorkflowId',\n responseType: 'json',\n pathParamSchema: dynamicWorkflowIdPathParams,\n responseSchema: getDynamicWorkflowResponseSchema,\n summary: 'Get a dynamic workflow definition by id',\n description: 'Returns a single workflow definition persisted to storage.',\n tags: ['Dynamic Workflows'],\n requiresAuth: true,\n requiresPermission: 'stored-workflows:read',\n handler: async ({ mastra, dynamicWorkflowId }) => {\n try {\n const storage = mastra.getStorage();\n if (!storage) throw new HTTPException(500, { message: 'Storage is not configured' });\n\n const store = await storage.getStore('workflowDefinitions');\n if (!store) throw new HTTPException(500, { message: 'workflowDefinitions storage domain is not available' });\n\n const def = await store.get(dynamicWorkflowId);\n if (!def) throw new HTTPException(404, { message: `Dynamic workflow \"${dynamicWorkflowId}\" not found` });\n return def;\n } catch (error) {\n return handleError(error, 'Error getting dynamic workflow');\n }\n },\n});\n\n/**\n * POST /stored/workflows — upsert a static workflow definition and live-register\n * it on the Mastra instance.\n *\n * Calls `mastra.addDynamicWorkflow(def)` which persists the row + rehydrates a\n * runnable workflow + registers it via `mastra.addWorkflow(workflow, id)`.\n * After this returns, `GET /workflows/:id` and `POST /workflows/:id/run` work\n * immediately — no server restart needed.\n */\nexport const UPSERT_DYNAMIC_WORKFLOW_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/workflows',\n responseType: 'json',\n bodySchema: upsertDynamicWorkflowBodySchema,\n responseSchema: upsertDynamicWorkflowResponseSchema,\n summary: 'Upsert a dynamic workflow definition and live-register it',\n description:\n 'Persists a static workflow definition and live-registers it on the running Mastra instance. Idempotent — same id updates in place.',\n tags: ['Dynamic Workflows'],\n requiresAuth: true,\n requiresPermission: 'stored-workflows:write',\n handler: async ({\n mastra,\n id,\n description,\n metadata,\n inputSchema,\n outputSchema,\n stateSchema,\n requestContextSchema,\n graph,\n dependencies,\n }) => {\n try {\n // Pick the body fields explicitly — handler args also carry server\n // context (requestContext, abortSignal, ...) which must not leak into\n // the stored definition.\n const def = { id, description, metadata, inputSchema, outputSchema, stateSchema, requestContextSchema, graph };\n // Helpers are saved with the root as one unit so a nested workflow that\n // does not exist yet resolves, and so a rejected root can never leave\n // its helpers behind as orphans. Order within the bundle is derived\n // from the graphs, not from the order the client sent them in.\n const bundle = [...(dependencies ?? []), def];\n // The Zod schema output is structurally compatible with\n // DynamicWorkflowGraph but TS can't prove every arm:\n // - sleepUntil.date is an ISO string on the wire, Date on the\n // runtime type; the rehydrator parses it via `new Date(...)`.\n // - conditional/loop's `serializedConditions`/`serializedCondition`\n // debug labels are emitted by the fluent builder at rehydration\n // time; clients don't send them.\n // `addDynamicWorkflows` runs a full registry pre-flight before\n // rehydration; the cast documents this boundary.\n await mastra.addDynamicWorkflows(bundle as Parameters<Mastra['addDynamicWorkflows']>[0]);\n return {\n ok: true as const,\n id: def.id,\n ...(dependencies?.length ? { dependencyIds: dependencies.map(dependency => dependency.id) } : {}),\n };\n } catch (error) {\n return handleError(error, 'Error upserting dynamic workflow');\n }\n },\n});\n\n/**\n * DELETE /stored/workflows/:dynamicWorkflowId — delete a dynamic workflow.\n *\n * Removes the row from storage AND un-registers the live Workflow instance so\n * a subsequent POST with the same id starts from a clean slate. Idempotent.\n */\nexport const DELETE_DYNAMIC_WORKFLOW_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/workflows/:dynamicWorkflowId',\n responseType: 'json',\n pathParamSchema: dynamicWorkflowIdPathParams,\n responseSchema: deleteDynamicWorkflowResponseSchema,\n summary: 'Delete a dynamic workflow definition',\n description: 'Removes a dynamic workflow definition and unregisters the live workflow instance. Idempotent.',\n tags: ['Dynamic Workflows'],\n requiresAuth: true,\n requiresPermission: 'stored-workflows:write',\n handler: async ({ mastra, dynamicWorkflowId }) => {\n try {\n const storage = mastra.getStorage();\n if (!storage) throw new HTTPException(500, { message: 'Storage is not configured' });\n\n const store = await storage.getStore('workflowDefinitions');\n if (!store) throw new HTTPException(500, { message: 'workflowDefinitions storage domain is not available' });\n\n await store.delete(dynamicWorkflowId);\n (mastra as Mastra).removeWorkflow(dynamicWorkflowId);\n return { success: true as const, message: `Workflow ${dynamicWorkflowId} deleted` };\n } catch (error) {\n return handleError(error, 'Error deleting dynamic workflow');\n }\n },\n});\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ const require_server_handlers_tools = require("./server/handlers/tools.cjs");
16
16
  const require_server_handlers_workspace = require("./server/handlers/workspace.cjs");
17
17
  const require_server_handlers_vector = require("./server/handlers/vector.cjs");
18
18
  const require_server_handlers_voice = require("./server/handlers/voice.cjs");
19
- const require_stored_workflows = require("./stored-workflows-pCiWK305.cjs");
19
+ const require_dynamic_workflows = require("./dynamic-workflows-BXeywVEf.cjs");
20
20
  const require_server_handlers_agent_controller = require("./server/handlers/agent-controller.cjs");
21
21
  const require_server_handlers_agent_versions = require("./server/handlers/agent-versions.cjs");
22
22
  const require_background_tasks = require("./background-tasks-CYgzzUnb.cjs");
@@ -205,6 +205,20 @@ const DATASETS_ROUTES = [
205
205
  require_server_handlers_datasets.CLUSTER_FAILURES_ROUTE
206
206
  ];
207
207
  //#endregion
208
+ //#region src/server/server-adapter/routes/dynamic-workflows.ts
209
+ /**
210
+ * Routes for dynamic workflow definitions: list / get / upsert / delete.
211
+ * Upsert is the path the chat-driven workflow-builder agent (and Studio's
212
+ * future "Save" button) uses to persist + live-register a workflow without
213
+ * a server restart.
214
+ */
215
+ const DYNAMIC_WORKFLOWS_ROUTES = [
216
+ require_dynamic_workflows.LIST_DYNAMIC_WORKFLOWS_ROUTE,
217
+ require_dynamic_workflows.UPSERT_DYNAMIC_WORKFLOW_ROUTE,
218
+ require_dynamic_workflows.GET_DYNAMIC_WORKFLOW_ROUTE,
219
+ require_dynamic_workflows.DELETE_DYNAMIC_WORKFLOW_ROUTE
220
+ ];
221
+ //#endregion
208
222
  //#region src/server/server-adapter/routes/editor-builder.ts
209
223
  /**
210
224
  * Editor Builder Routes
@@ -459,20 +473,6 @@ const STORED_SKILLS_ROUTES = [
459
473
  require_server_handlers_stored_skill_favorites.UNFAVORITE_STORED_SKILL_ROUTE
460
474
  ];
461
475
  //#endregion
462
- //#region src/server/server-adapter/routes/stored-workflows.ts
463
- /**
464
- * Routes for stored workflow definitions: list / get / upsert / delete.
465
- * Upsert is the path the chat-driven workflow-builder agent (and Studio's
466
- * future "Save" button) uses to persist + live-register a workflow without
467
- * a server restart.
468
- */
469
- const STORED_WORKFLOWS_ROUTES = [
470
- require_stored_workflows.LIST_STORED_WORKFLOWS_ROUTE,
471
- require_stored_workflows.UPSERT_STORED_WORKFLOW_ROUTE,
472
- require_stored_workflows.GET_STORED_WORKFLOW_ROUTE,
473
- require_stored_workflows.DELETE_STORED_WORKFLOW_ROUTE
474
- ];
475
- //#endregion
476
476
  //#region src/server/server-adapter/routes/stored-workspaces.ts
477
477
  const STORED_WORKSPACES_ROUTES = [
478
478
  require_server_handlers_stored_workspaces.LIST_STORED_WORKSPACES_ROUTE,
@@ -589,7 +589,7 @@ const SERVER_ROUTES = [
589
589
  ...LEGACY_ROUTES,
590
590
  ...MCP_ROUTES,
591
591
  ...STORED_AGENTS_ROUTES,
592
- ...STORED_WORKFLOWS_ROUTES,
592
+ ...DYNAMIC_WORKFLOWS_ROUTES,
593
593
  ...STORED_MCP_CLIENTS_ROUTES,
594
594
  ...STORED_PROMPT_BLOCKS_ROUTES,
595
595
  ...STORED_SCORERS_ROUTES,
@@ -614,4 +614,4 @@ Object.defineProperty(exports, "SERVER_ROUTES", {
614
614
  }
615
615
  });
616
616
 
617
- //# sourceMappingURL=routes-CZwPlO3-.cjs.map
617
+ //# sourceMappingURL=routes-BRGPk2DE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-BRGPk2DE.cjs","names":["GET_AGENT_CARD_ROUTE","AGENT_EXECUTION_ROUTE","LIST_AGENT_BUILDER_ACTIONS_ROUTE","GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE","LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE","GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE","CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE","STREAM_AGENT_BUILDER_ACTION_ROUTE","STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE","START_ASYNC_AGENT_BUILDER_ACTION_ROUTE","START_AGENT_BUILDER_ACTION_RUN_ROUTE","OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE","OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE","RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE","RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE","RESUME_AGENT_BUILDER_ACTION_ROUTE","RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE","CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE","LIST_AGENT_CONTROLLERS_ROUTE","LIST_AGENT_CONTROLLER_MODES_ROUTE","LIST_AGENT_CONTROLLER_MODELS_ROUTE","CREATE_AGENT_CONTROLLER_SESSION_ROUTE","GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE","LIST_AGENT_CONTROLLER_THREADS_ROUTE","CREATE_AGENT_CONTROLLER_THREAD_ROUTE","DELETE_AGENT_CONTROLLER_THREAD_ROUTE","RENAME_AGENT_CONTROLLER_THREAD_ROUTE","CLONE_AGENT_CONTROLLER_THREAD_ROUTE","LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE","STREAM_AGENT_CONTROLLER_SESSION_ROUTE","SEND_AGENT_CONTROLLER_MESSAGE_ROUTE","STEER_AGENT_CONTROLLER_SESSION_ROUTE","FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE","ABORT_AGENT_CONTROLLER_SESSION_ROUTE","AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE","AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE","SWITCH_AGENT_CONTROLLER_MODE_ROUTE","SWITCH_AGENT_CONTROLLER_MODEL_ROUTE","SWITCH_AGENT_CONTROLLER_THREAD_ROUTE","SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE","GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE","GET_AGENT_CONTROLLER_OM_RECORD_ROUTE","SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE","GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE","GET_AGENT_CONTROLLER_GOAL_ROUTE","SET_AGENT_CONTROLLER_GOAL_ROUTE","UPDATE_AGENT_CONTROLLER_GOAL_ROUTE","CLEAR_AGENT_CONTROLLER_GOAL_ROUTE","GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE","SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE","SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE","SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE","LIST_AGENTS_ROUTE","GET_PROVIDERS_ROUTE","GET_AGENT_BY_ID_ROUTE","CLONE_AGENT_ROUTE","GET_SPEAKERS_ROUTE","GET_SPEAKERS_DEPRECATED_ROUTE","GENERATE_AGENT_ROUTE","GENERATE_AGENT_VNEXT_ROUTE","STREAM_GENERATE_ROUTE","STREAM_UNTIL_IDLE_GENERATE_ROUTE","STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE","OBSERVE_AGENT_STREAM_ROUTE","SEND_AGENT_MESSAGE_ROUTE","QUEUE_AGENT_MESSAGE_ROUTE","SEND_AGENT_SIGNAL_ROUTE","ABORT_AGENT_THREAD_ROUTE","SUBSCRIBE_AGENT_THREAD_ROUTE","EXECUTE_AGENT_TOOL_ROUTE","APPROVE_TOOL_CALL_ROUTE","SEND_TOOL_APPROVAL_ROUTE","LIST_SUSPENDED_RUNS_ROUTE","DECLINE_TOOL_CALL_ROUTE","RESUME_STREAM_ROUTE","RECOVER_ROUTE","APPROVE_TOOL_CALL_GENERATE_ROUTE","DECLINE_TOOL_CALL_GENERATE_ROUTE","APPROVE_NETWORK_TOOL_CALL_ROUTE","DECLINE_NETWORK_TOOL_CALL_ROUTE","RESUME_STREAM_UNTIL_IDLE_ROUTE","STREAM_NETWORK_ROUTE","UPDATE_AGENT_MODEL_ROUTE","RESET_AGENT_MODEL_ROUTE","REORDER_AGENT_MODEL_LIST_ROUTE","UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE","ENHANCE_INSTRUCTIONS_ROUTE","GET_AGENT_TOOL_ROUTE","GET_AGENT_SKILL_ROUTE","GENERATE_SPEECH_ROUTE","GENERATE_SPEECH_DEPRECATED_ROUTE","TRANSCRIBE_SPEECH_ROUTE","TRANSCRIBE_SPEECH_DEPRECATED_ROUTE","GET_LISTENER_ROUTE","STREAM_VNEXT_DEPRECATED_ROUTE","STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE","STREAM_UI_MESSAGE_DEPRECATED_ROUTE","BACKGROUND_TASK_STREAM_ROUTE","LIST_BACKGROUND_TASKS_ROUTE","GET_BACKGROUND_TASK_ROUTE","LIST_CHANNEL_PLATFORMS_ROUTE","LIST_CHANNEL_INSTALLATIONS_ROUTE","CONNECT_CHANNEL_ROUTE","DISCONNECT_CHANNEL_ROUTE","CREATE_CONVERSATION_ROUTE","GET_CONVERSATION_ROUTE","GET_CONVERSATION_ITEMS_ROUTE","DELETE_CONVERSATION_ROUTE","LIST_DATASETS_ROUTE","CREATE_DATASET_ROUTE","GET_DATASET_ROUTE","UPDATE_DATASET_ROUTE","DELETE_DATASET_ROUTE","LIST_ITEMS_ROUTE","ADD_ITEM_ROUTE","BATCH_INSERT_ITEMS_ROUTE","BATCH_DELETE_ITEMS_ROUTE","GET_ITEM_ROUTE","UPDATE_ITEM_ROUTE","DELETE_ITEM_ROUTE","LIST_DATASET_VERSIONS_ROUTE","LIST_ITEM_VERSIONS_ROUTE","GET_ITEM_VERSION_ROUTE","LIST_ALL_EXPERIMENTS_ROUTE","EXPERIMENT_REVIEW_SUMMARY_ROUTE","LIST_EXPERIMENTS_ROUTE","TRIGGER_EXPERIMENT_ROUTE","GET_EXPERIMENT_ROUTE","LIST_EXPERIMENT_RESULTS_ROUTE","UPDATE_EXPERIMENT_RESULT_ROUTE","COMPARE_EXPERIMENTS_ROUTE","GENERATE_ITEMS_ROUTE","CLUSTER_FAILURES_ROUTE","LIST_DYNAMIC_WORKFLOWS_ROUTE","UPSERT_DYNAMIC_WORKFLOW_ROUTE","GET_DYNAMIC_WORKFLOW_ROUTE","DELETE_DYNAMIC_WORKFLOW_ROUTE","GET_EDITOR_BUILDER_SETTINGS_ROUTE","GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE","GET_INFRASTRUCTURE_STATUS_ROUTE","LIST_BUILDER_REGISTRIES_ROUTE","BUILDER_REGISTRY_SEARCH_ROUTE","BUILDER_REGISTRY_POPULAR_ROUTE","BUILDER_REGISTRY_PREVIEW_ROUTE","BUILDER_REGISTRY_INSTALL_ROUTE","GENERATE_LEGACY_ROUTE","STREAM_GENERATE_LEGACY_ROUTE","STREAM_LEGACY_WORKFLOW_ROUTE","OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE","LIST_LOG_TRANSPORTS_ROUTE","LIST_LOGS_ROUTE","LIST_LOGS_BY_RUN_ID_ROUTE","LIST_MCP_SERVERS_ROUTE","GET_MCP_SERVER_DETAIL_ROUTE","LIST_MCP_SERVER_TOOLS_ROUTE","GET_MCP_SERVER_TOOL_DETAIL_ROUTE","EXECUTE_MCP_SERVER_TOOL_ROUTE","LIST_MCP_SERVER_RESOURCES_ROUTE","READ_MCP_SERVER_RESOURCE_ROUTE","MCP_HTTP_TRANSPORT_ROUTE","MCP_SSE_TRANSPORT_ROUTE","MCP_SSE_MESSAGES_ROUTE","GET_MEMORY_STATUS_ROUTE","GET_MEMORY_CONFIG_ROUTE","GET_OBSERVATIONAL_MEMORY_ROUTE","AWAIT_BUFFER_STATUS_ROUTE","LIST_THREADS_ROUTE","GET_THREAD_BY_ID_ROUTE","LIST_MESSAGES_ROUTE","GET_WORKING_MEMORY_ROUTE","SAVE_MESSAGES_ROUTE","CREATE_THREAD_ROUTE","UPDATE_THREAD_ROUTE","DELETE_THREAD_ROUTE","CLONE_THREAD_ROUTE","UPDATE_WORKING_MEMORY_ROUTE","DELETE_MESSAGES_ROUTE","SEARCH_MEMORY_ROUTE","GET_MEMORY_STATUS_NETWORK_ROUTE","LIST_THREADS_NETWORK_ROUTE","GET_THREAD_BY_ID_NETWORK_ROUTE","LIST_MESSAGES_NETWORK_ROUTE","SAVE_MESSAGES_NETWORK_ROUTE","CREATE_THREAD_NETWORK_ROUTE","UPDATE_THREAD_NETWORK_ROUTE","DELETE_THREAD_NETWORK_ROUTE","DELETE_MESSAGES_NETWORK_ROUTE","LIST_TRACES_ROUTE","LIST_TRACES_LIGHT_ROUTE","LIST_BRANCHES_ROUTE","GET_BRANCH_ROUTE","GET_TRACE_ROUTE","GET_TRACE_LIGHT_ROUTE","GET_SPAN_ROUTE","GET_TRACE_TRAJECTORY_ROUTE","SCORE_TRACES_ROUTE","LIST_SCORES_BY_SPAN_ROUTE","LIST_METRICS","LIST_LOGS","LIST_SCORES","CREATE_SCORE","GET_SCORE","GET_SCORE_AGGREGATE","GET_SCORE_BREAKDOWN","GET_SCORE_TIME_SERIES","GET_SCORE_PERCENTILES","LIST_FEEDBACK","CREATE_FEEDBACK","GET_FEEDBACK_AGGREGATE","GET_FEEDBACK_BREAKDOWN","GET_FEEDBACK_TIME_SERIES","GET_FEEDBACK_PERCENTILES","GET_METRIC_AGGREGATE","GET_METRIC_BREAKDOWN","GET_METRIC_TIME_SERIES","GET_METRIC_PERCENTILES","GET_METRIC_NAMES","GET_METRIC_LABEL_KEYS","GET_METRIC_LABEL_VALUES","GET_ENTITY_TYPES","GET_ENTITY_NAMES","GET_SERVICE_NAMES","GET_ENVIRONMENTS","GET_TAGS","LIST_PROCESSOR_PROVIDERS_ROUTE","GET_PROCESSOR_PROVIDER_ROUTE","LIST_PROCESSORS_ROUTE","GET_PROCESSOR_BY_ID_ROUTE","EXECUTE_PROCESSOR_ROUTE","CREATE_RESPONSE_ROUTE","GET_RESPONSE_ROUTE","DELETE_RESPONSE_ROUTE","LIST_SCHEDULES_ROUTE","GET_SCHEDULE_ROUTE","CREATE_SCHEDULE_ROUTE","UPDATE_SCHEDULE_ROUTE","DELETE_SCHEDULE_ROUTE","LIST_SCHEDULE_TRIGGERS_ROUTE","PAUSE_SCHEDULE_ROUTE","RESUME_SCHEDULE_ROUTE","RUN_SCHEDULE_ROUTE","LIST_SCORERS_ROUTE","GET_SCORER_ROUTE","LIST_SCORES_BY_RUN_ID_ROUTE","LIST_SCORES_BY_SCORER_ID_ROUTE","LIST_SCORES_BY_ENTITY_ID_ROUTE","SAVE_SCORE_ROUTE","LIST_STORED_AGENTS_ROUTE","PREVIEW_INSTRUCTIONS_ROUTE","GET_STORED_AGENT_DEPENDENTS_ROUTE","EXPORT_STORED_AGENT_ROUTE","OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE","GET_STORED_AGENT_ROUTE","CREATE_STORED_AGENT_ROUTE","UPDATE_STORED_AGENT_ROUTE","DELETE_STORED_AGENT_ROUTE","LIST_AGENT_VERSIONS_ROUTE","CREATE_AGENT_VERSION_ROUTE","COMPARE_AGENT_VERSIONS_ROUTE","GET_AGENT_VERSION_ROUTE","ACTIVATE_AGENT_VERSION_ROUTE","RESTORE_AGENT_VERSION_ROUTE","DELETE_AGENT_VERSION_ROUTE","FAVORITE_STORED_AGENT_ROUTE","UNFAVORITE_STORED_AGENT_ROUTE","LIST_STORED_MCP_CLIENTS_ROUTE","GET_STORED_MCP_CLIENT_ROUTE","CREATE_STORED_MCP_CLIENT_ROUTE","UPDATE_STORED_MCP_CLIENT_ROUTE","DELETE_STORED_MCP_CLIENT_ROUTE","LIST_MCP_CLIENT_VERSIONS_ROUTE","CREATE_MCP_CLIENT_VERSION_ROUTE","COMPARE_MCP_CLIENT_VERSIONS_ROUTE","GET_MCP_CLIENT_VERSION_ROUTE","ACTIVATE_MCP_CLIENT_VERSION_ROUTE","RESTORE_MCP_CLIENT_VERSION_ROUTE","DELETE_MCP_CLIENT_VERSION_ROUTE","LIST_STORED_PROMPT_BLOCKS_ROUTE","GET_STORED_PROMPT_BLOCK_ROUTE","CREATE_STORED_PROMPT_BLOCK_ROUTE","UPDATE_STORED_PROMPT_BLOCK_ROUTE","DELETE_STORED_PROMPT_BLOCK_ROUTE","LIST_PROMPT_BLOCK_VERSIONS_ROUTE","CREATE_PROMPT_BLOCK_VERSION_ROUTE","COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE","GET_PROMPT_BLOCK_VERSION_ROUTE","ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE","RESTORE_PROMPT_BLOCK_VERSION_ROUTE","DELETE_PROMPT_BLOCK_VERSION_ROUTE","LIST_STORED_SCORERS_ROUTE","GET_STORED_SCORER_ROUTE","CREATE_STORED_SCORER_ROUTE","UPDATE_STORED_SCORER_ROUTE","DELETE_STORED_SCORER_ROUTE","LIST_SCORER_VERSIONS_ROUTE","CREATE_SCORER_VERSION_ROUTE","COMPARE_SCORER_VERSIONS_ROUTE","GET_SCORER_VERSION_ROUTE","ACTIVATE_SCORER_VERSION_ROUTE","RESTORE_SCORER_VERSION_ROUTE","DELETE_SCORER_VERSION_ROUTE","LIST_STORED_SKILLS_ROUTE","GET_STORED_SKILL_ROUTE","CREATE_STORED_SKILL_ROUTE","UPDATE_STORED_SKILL_ROUTE","DELETE_STORED_SKILL_ROUTE","PUBLISH_STORED_SKILL_ROUTE","FAVORITE_STORED_SKILL_ROUTE","UNFAVORITE_STORED_SKILL_ROUTE","LIST_STORED_WORKSPACES_ROUTE","GET_STORED_WORKSPACE_ROUTE","CREATE_STORED_WORKSPACE_ROUTE","UPDATE_STORED_WORKSPACE_ROUTE","DELETE_STORED_WORKSPACE_ROUTE","GET_SYSTEM_PACKAGES_ROUTE","GET_API_SCHEMA_ROUTE","LIST_TOOL_PROVIDERS_ROUTE","LIST_TOOL_PROVIDER_TOOLKITS_ROUTE","LIST_TOOL_PROVIDER_TOOLS_ROUTE","GET_TOOL_PROVIDER_TOOL_SCHEMA_ROUTE","AUTHORIZE_TOOL_PROVIDER_ROUTE","GET_TOOL_PROVIDER_AUTH_STATUS_ROUTE","TOOL_PROVIDER_CONNECTION_STATUS_ROUTE","LIST_TOOL_PROVIDER_CONNECTIONS_ROUTE","LIST_TOOL_PROVIDER_CONNECTION_FIELDS_ROUTE","DISCONNECT_TOOL_PROVIDER_CONNECTION_ROUTE","UPDATE_TOOL_PROVIDER_CONNECTION_ROUTE","GET_TOOL_PROVIDER_CONNECTION_USAGE_ROUTE","GET_TOOL_PROVIDER_HEALTH_ROUTE","LIST_TOOLS_ROUTE","GET_TOOL_BY_ID_ROUTE","EXECUTE_TOOL_ROUTE","UPSERT_VECTORS_ROUTE","CREATE_INDEX_ROUTE","QUERY_VECTORS_ROUTE","LIST_INDEXES_ROUTE","DESCRIBE_INDEX_ROUTE","DELETE_INDEX_ROUTE","LIST_VECTORS_ROUTE","LIST_EMBEDDERS_ROUTE","LIST_WORKFLOWS_ROUTE","LIST_WORKFLOW_RUN_COUNTS_ROUTE","GET_WORKFLOW_BY_ID_ROUTE","LIST_WORKFLOW_RUNS_ROUTE","GET_WORKFLOW_RUN_BY_ID_ROUTE","DELETE_WORKFLOW_RUN_BY_ID_ROUTE","CREATE_WORKFLOW_RUN_ROUTE","STREAM_WORKFLOW_ROUTE","RESUME_STREAM_WORKFLOW_ROUTE","START_ASYNC_WORKFLOW_ROUTE","START_WORKFLOW_RUN_ROUTE","OBSERVE_STREAM_WORKFLOW_ROUTE","RESUME_ASYNC_WORKFLOW_ROUTE","RESUME_NO_WAIT_WORKFLOW_ROUTE","RESUME_WORKFLOW_ROUTE","CANCEL_WORKFLOW_RUN_ROUTE","TIME_TRAVEL_WORKFLOW_ROUTE","TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE","TIME_TRAVEL_STREAM_WORKFLOW_ROUTE","RESTART_WORKFLOW_ROUTE","RESTART_ASYNC_WORKFLOW_ROUTE","RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE","RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE","EXECUTE_WORKFLOW_STEP_ROUTE","RECEIVE_WORKFLOW_EVENT_ROUTE","LIST_WORKSPACES_ROUTE","GET_WORKSPACE_ROUTE","WORKSPACE_FS_ROUTES","WORKSPACE_SEARCH_ROUTES","WORKSPACE_SKILLS_ROUTES","WORKSPACE_SKILLS_SH_ROUTES","AUTH_ROUTES"],"sources":["../src/server/server-adapter/routes/a2a.ts","../src/server/server-adapter/routes/agent-builder.ts","../src/server/server-adapter/routes/agent-controller.ts","../src/server/server-adapter/routes/agents.ts","../src/server/server-adapter/routes/background-tasks.ts","../src/server/server-adapter/routes/channels.ts","../src/server/server-adapter/routes/conversations.ts","../src/server/server-adapter/routes/datasets.ts","../src/server/server-adapter/routes/dynamic-workflows.ts","../src/server/server-adapter/routes/editor-builder.ts","../src/server/server-adapter/routes/legacy.ts","../src/server/server-adapter/routes/logs.ts","../src/server/server-adapter/routes/mcp.ts","../src/server/server-adapter/routes/memory.ts","../src/server/server-adapter/routes/observability.ts","../src/server/server-adapter/routes/processor-providers.ts","../src/server/server-adapter/routes/processors.ts","../src/server/server-adapter/routes/responses.ts","../src/server/server-adapter/routes/schedules.ts","../src/server/server-adapter/routes/scorers.ts","../src/server/server-adapter/routes/stored-agents.ts","../src/server/server-adapter/routes/stored-mcp-clients.ts","../src/server/server-adapter/routes/stored-prompt-blocks.ts","../src/server/server-adapter/routes/stored-scorers.ts","../src/server/server-adapter/routes/stored-skills.ts","../src/server/server-adapter/routes/stored-workspaces.ts","../src/server/server-adapter/routes/system.ts","../src/server/server-adapter/routes/tool-providers.ts","../src/server/server-adapter/routes/tools.ts","../src/server/server-adapter/routes/vectors.ts","../src/server/server-adapter/routes/workflows.ts","../src/server/server-adapter/routes/workspace.ts","../src/server/server-adapter/routes/index.ts"],"sourcesContent":["import { GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE } from '../../handlers/a2a';\n\nexport const A2A_ROUTES = [GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE] as const;\n","import {\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n} from '../../handlers/agent-builder';\n\nexport const AGENT_BUILDER_ROUTES = [\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n] as const;\n","import {\n LIST_AGENT_CONTROLLERS_ROUTE,\n CREATE_AGENT_CONTROLLER_SESSION_ROUTE,\n GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n STREAM_AGENT_CONTROLLER_SESSION_ROUTE,\n SEND_AGENT_CONTROLLER_MESSAGE_ROUTE,\n STEER_AGENT_CONTROLLER_SESSION_ROUTE,\n ABORT_AGENT_CONTROLLER_SESSION_ROUTE,\n AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE,\n AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODE_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODEL_ROUTE,\n SWITCH_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_MODES_ROUTE,\n LIST_AGENT_CONTROLLER_THREADS_ROUTE,\n SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE,\n CREATE_AGENT_CONTROLLER_THREAD_ROUTE,\n DELETE_AGENT_CONTROLLER_THREAD_ROUTE,\n RENAME_AGENT_CONTROLLER_THREAD_ROUTE,\n CLONE_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE,\n FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE,\n LIST_AGENT_CONTROLLER_MODELS_ROUTE,\n GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE,\n GET_AGENT_CONTROLLER_OM_RECORD_ROUTE,\n SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE,\n GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE,\n GET_AGENT_CONTROLLER_GOAL_ROUTE,\n SET_AGENT_CONTROLLER_GOAL_ROUTE,\n UPDATE_AGENT_CONTROLLER_GOAL_ROUTE,\n CLEAR_AGENT_CONTROLLER_GOAL_ROUTE,\n GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE,\n SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n} from '../../handlers/agent-controller';\nimport type { ServerRoute } from '.';\n\n/**\n * Canonical `AgentController` session API, served under `/agent-controller/...`.\n */\nexport const AGENT_CONTROLLER_ROUTES: readonly ServerRoute[] = [\n LIST_AGENT_CONTROLLERS_ROUTE,\n LIST_AGENT_CONTROLLER_MODES_ROUTE,\n LIST_AGENT_CONTROLLER_MODELS_ROUTE,\n CREATE_AGENT_CONTROLLER_SESSION_ROUTE,\n GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n LIST_AGENT_CONTROLLER_THREADS_ROUTE,\n CREATE_AGENT_CONTROLLER_THREAD_ROUTE,\n DELETE_AGENT_CONTROLLER_THREAD_ROUTE,\n RENAME_AGENT_CONTROLLER_THREAD_ROUTE,\n CLONE_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE,\n STREAM_AGENT_CONTROLLER_SESSION_ROUTE,\n SEND_AGENT_CONTROLLER_MESSAGE_ROUTE,\n STEER_AGENT_CONTROLLER_SESSION_ROUTE,\n FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE,\n ABORT_AGENT_CONTROLLER_SESSION_ROUTE,\n AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE,\n AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODE_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODEL_ROUTE,\n SWITCH_AGENT_CONTROLLER_THREAD_ROUTE,\n SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE,\n GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE,\n GET_AGENT_CONTROLLER_OM_RECORD_ROUTE,\n SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE,\n GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE,\n GET_AGENT_CONTROLLER_GOAL_ROUTE,\n SET_AGENT_CONTROLLER_GOAL_ROUTE,\n UPDATE_AGENT_CONTROLLER_GOAL_ROUTE,\n CLEAR_AGENT_CONTROLLER_GOAL_ROUTE,\n GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE,\n SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n];\n","import {\n // Agent route objects\n LIST_AGENTS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n CLONE_AGENT_ROUTE,\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n OBSERVE_AGENT_STREAM_ROUTE,\n SEND_AGENT_MESSAGE_ROUTE,\n QUEUE_AGENT_MESSAGE_ROUTE,\n SEND_AGENT_SIGNAL_ROUTE,\n ABORT_AGENT_THREAD_ROUTE,\n SUBSCRIBE_AGENT_THREAD_ROUTE,\n GET_PROVIDERS_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n SEND_TOOL_APPROVAL_ROUTE,\n LIST_SUSPENDED_RUNS_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n RESUME_STREAM_ROUTE,\n RECOVER_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n STREAM_NETWORK_ROUTE,\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n ENHANCE_INSTRUCTIONS_ROUTE,\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n GET_AGENT_SKILL_ROUTE,\n STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n RESUME_STREAM_UNTIL_IDLE_ROUTE,\n} from '../../handlers/agents';\nimport { GET_AGENT_TOOL_ROUTE, EXECUTE_AGENT_TOOL_ROUTE } from '../../handlers/tools';\nimport {\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n} from '../../handlers/voice';\nimport type { ServerRoute } from '.';\n\nexport const AGENTS_ROUTES: readonly ServerRoute[] = [\n // ============================================================================\n // Agent Core Routes\n // ============================================================================\n LIST_AGENTS_ROUTE,\n GET_PROVIDERS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n CLONE_AGENT_ROUTE,\n\n // ============================================================================\n // Voice Routes\n // ============================================================================\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Agent Execution Routes\n // ============================================================================\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Resumable Stream Routes\n // ============================================================================\n OBSERVE_AGENT_STREAM_ROUTE,\n SEND_AGENT_MESSAGE_ROUTE,\n QUEUE_AGENT_MESSAGE_ROUTE,\n SEND_AGENT_SIGNAL_ROUTE,\n ABORT_AGENT_THREAD_ROUTE,\n SUBSCRIBE_AGENT_THREAD_ROUTE,\n\n // ============================================================================\n // Tool Routes\n // ============================================================================\n EXECUTE_AGENT_TOOL_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n SEND_TOOL_APPROVAL_ROUTE,\n LIST_SUSPENDED_RUNS_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n RESUME_STREAM_ROUTE,\n RECOVER_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n RESUME_STREAM_UNTIL_IDLE_ROUTE,\n\n // ============================================================================\n // Network Routes\n // ============================================================================\n STREAM_NETWORK_ROUTE,\n\n // ============================================================================\n // Model Management Routes\n // ============================================================================\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n\n // ============================================================================\n // Instruction Enhancement Routes\n // ============================================================================\n ENHANCE_INSTRUCTIONS_ROUTE,\n\n // ============================================================================\n // Agent Tool Routes\n // ============================================================================\n GET_AGENT_TOOL_ROUTE,\n\n // ============================================================================\n // Agent Skill Routes\n // ============================================================================\n GET_AGENT_SKILL_ROUTE,\n\n // ============================================================================\n // Voice/Speech Routes\n // ============================================================================\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n\n // ============================================================================\n // Deprecated Routes\n // ============================================================================\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n\n/**\n * Type-level tuple preserving each agent route's specific schema types.\n * Used by ServerRoutes to build the type-level route map.\n */\nexport type AgentRoutes = readonly [\n typeof LIST_AGENTS_ROUTE,\n typeof GET_PROVIDERS_ROUTE,\n typeof GET_AGENT_BY_ID_ROUTE,\n typeof CLONE_AGENT_ROUTE,\n typeof GET_SPEAKERS_ROUTE,\n typeof GET_SPEAKERS_DEPRECATED_ROUTE,\n typeof GENERATE_AGENT_ROUTE,\n typeof GENERATE_AGENT_VNEXT_ROUTE,\n typeof STREAM_GENERATE_ROUTE,\n typeof STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n typeof STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n typeof SEND_AGENT_MESSAGE_ROUTE,\n typeof QUEUE_AGENT_MESSAGE_ROUTE,\n typeof SEND_AGENT_SIGNAL_ROUTE,\n typeof ABORT_AGENT_THREAD_ROUTE,\n typeof SUBSCRIBE_AGENT_THREAD_ROUTE,\n typeof EXECUTE_AGENT_TOOL_ROUTE,\n typeof APPROVE_TOOL_CALL_ROUTE,\n typeof SEND_TOOL_APPROVAL_ROUTE,\n typeof LIST_SUSPENDED_RUNS_ROUTE,\n typeof DECLINE_TOOL_CALL_ROUTE,\n typeof RESUME_STREAM_ROUTE,\n typeof RECOVER_ROUTE,\n typeof RESUME_STREAM_UNTIL_IDLE_ROUTE,\n typeof APPROVE_TOOL_CALL_GENERATE_ROUTE,\n typeof DECLINE_TOOL_CALL_GENERATE_ROUTE,\n typeof APPROVE_NETWORK_TOOL_CALL_ROUTE,\n typeof DECLINE_NETWORK_TOOL_CALL_ROUTE,\n typeof STREAM_NETWORK_ROUTE,\n typeof UPDATE_AGENT_MODEL_ROUTE,\n typeof RESET_AGENT_MODEL_ROUTE,\n typeof REORDER_AGENT_MODEL_LIST_ROUTE,\n typeof UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n typeof ENHANCE_INSTRUCTIONS_ROUTE,\n typeof GET_AGENT_TOOL_ROUTE,\n typeof GET_AGENT_SKILL_ROUTE,\n typeof GENERATE_SPEECH_ROUTE,\n typeof GENERATE_SPEECH_DEPRECATED_ROUTE,\n typeof TRANSCRIBE_SPEECH_ROUTE,\n typeof TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n typeof GET_LISTENER_ROUTE,\n typeof STREAM_VNEXT_DEPRECATED_ROUTE,\n typeof STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n typeof STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n","import {\n BACKGROUND_TASK_STREAM_ROUTE,\n GET_BACKGROUND_TASK_ROUTE,\n LIST_BACKGROUND_TASKS_ROUTE,\n} from '../../handlers/background-tasks';\nimport type { ServerRoute } from '.';\n\nexport const BACKGROUND_TASK_ROUTES: ServerRoute<any, any, any>[] = [\n BACKGROUND_TASK_STREAM_ROUTE,\n LIST_BACKGROUND_TASKS_ROUTE,\n GET_BACKGROUND_TASK_ROUTE,\n];\n","import {\n LIST_CHANNEL_PLATFORMS_ROUTE,\n LIST_CHANNEL_INSTALLATIONS_ROUTE,\n CONNECT_CHANNEL_ROUTE,\n DISCONNECT_CHANNEL_ROUTE,\n} from '../../handlers/channels';\n\nexport const CHANNELS_ROUTES = [\n LIST_CHANNEL_PLATFORMS_ROUTE,\n LIST_CHANNEL_INSTALLATIONS_ROUTE,\n CONNECT_CHANNEL_ROUTE,\n DISCONNECT_CHANNEL_ROUTE,\n] as const;\n","import {\n CREATE_CONVERSATION_ROUTE,\n DELETE_CONVERSATION_ROUTE,\n GET_CONVERSATION_ITEMS_ROUTE,\n GET_CONVERSATION_ROUTE,\n} from '../../handlers/conversations';\n\nexport const CONVERSATIONS_ROUTES = [\n CREATE_CONVERSATION_ROUTE,\n GET_CONVERSATION_ROUTE,\n GET_CONVERSATION_ITEMS_ROUTE,\n DELETE_CONVERSATION_ROUTE,\n] as const;\n","import {\n LIST_DATASETS_ROUTE,\n CREATE_DATASET_ROUTE,\n GET_DATASET_ROUTE,\n UPDATE_DATASET_ROUTE,\n DELETE_DATASET_ROUTE,\n LIST_ITEMS_ROUTE,\n ADD_ITEM_ROUTE,\n GET_ITEM_ROUTE,\n UPDATE_ITEM_ROUTE,\n DELETE_ITEM_ROUTE,\n LIST_ALL_EXPERIMENTS_ROUTE,\n EXPERIMENT_REVIEW_SUMMARY_ROUTE,\n LIST_EXPERIMENTS_ROUTE,\n TRIGGER_EXPERIMENT_ROUTE,\n GET_EXPERIMENT_ROUTE,\n LIST_EXPERIMENT_RESULTS_ROUTE,\n UPDATE_EXPERIMENT_RESULT_ROUTE,\n COMPARE_EXPERIMENTS_ROUTE,\n LIST_DATASET_VERSIONS_ROUTE,\n LIST_ITEM_VERSIONS_ROUTE,\n GET_ITEM_VERSION_ROUTE,\n BATCH_INSERT_ITEMS_ROUTE,\n BATCH_DELETE_ITEMS_ROUTE,\n GENERATE_ITEMS_ROUTE,\n CLUSTER_FAILURES_ROUTE,\n} from '../../handlers/datasets';\n\nexport const DATASETS_ROUTES = [\n // Dataset CRUD\n LIST_DATASETS_ROUTE,\n CREATE_DATASET_ROUTE,\n GET_DATASET_ROUTE,\n UPDATE_DATASET_ROUTE,\n DELETE_DATASET_ROUTE,\n // Item list and add\n LIST_ITEMS_ROUTE,\n ADD_ITEM_ROUTE,\n // Batch operations - MUST come before item-specific routes to avoid /items/batch matching /items/:itemId\n BATCH_INSERT_ITEMS_ROUTE,\n BATCH_DELETE_ITEMS_ROUTE,\n // Item-specific CRUD (uses :itemId param)\n GET_ITEM_ROUTE,\n UPDATE_ITEM_ROUTE,\n DELETE_ITEM_ROUTE,\n // Version operations\n LIST_DATASET_VERSIONS_ROUTE,\n LIST_ITEM_VERSIONS_ROUTE,\n GET_ITEM_VERSION_ROUTE,\n // All experiments (cross-dataset) - MUST come before dataset-scoped experiments\n LIST_ALL_EXPERIMENTS_ROUTE,\n // Experiment review summary (cross-dataset) - MUST come before dataset-scoped experiments\n EXPERIMENT_REVIEW_SUMMARY_ROUTE,\n // Experiment operations (dataset-scoped)\n LIST_EXPERIMENTS_ROUTE,\n TRIGGER_EXPERIMENT_ROUTE,\n GET_EXPERIMENT_ROUTE,\n LIST_EXPERIMENT_RESULTS_ROUTE,\n UPDATE_EXPERIMENT_RESULT_ROUTE,\n // Analytics\n COMPARE_EXPERIMENTS_ROUTE,\n // AI generation\n GENERATE_ITEMS_ROUTE,\n // Failure analysis\n CLUSTER_FAILURES_ROUTE,\n] as const;\n","import {\n DELETE_DYNAMIC_WORKFLOW_ROUTE,\n GET_DYNAMIC_WORKFLOW_ROUTE,\n LIST_DYNAMIC_WORKFLOWS_ROUTE,\n UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n} from '../../handlers/dynamic-workflows';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for dynamic workflow definitions: list / get / upsert / delete.\n * Upsert is the path the chat-driven workflow-builder agent (and Studio's\n * future \"Save\" button) uses to persist + live-register a workflow without\n * a server restart.\n */\nexport const DYNAMIC_WORKFLOWS_ROUTES: readonly ServerRoute[] = [\n LIST_DYNAMIC_WORKFLOWS_ROUTE,\n UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n GET_DYNAMIC_WORKFLOW_ROUTE, // After UPSERT (POST) since both are on the same /stored/workflows base\n DELETE_DYNAMIC_WORKFLOW_ROUTE,\n];\n\nexport type DynamicWorkflowRoutes = readonly [\n typeof LIST_DYNAMIC_WORKFLOWS_ROUTE,\n typeof UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n typeof GET_DYNAMIC_WORKFLOW_ROUTE,\n typeof DELETE_DYNAMIC_WORKFLOW_ROUTE,\n];\n","import {\n BUILDER_REGISTRY_INSTALL_ROUTE,\n BUILDER_REGISTRY_POPULAR_ROUTE,\n BUILDER_REGISTRY_PREVIEW_ROUTE,\n BUILDER_REGISTRY_SEARCH_ROUTE,\n LIST_BUILDER_REGISTRIES_ROUTE,\n} from '../../handlers/builder-registry';\nimport {\n GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE,\n GET_EDITOR_BUILDER_SETTINGS_ROUTE,\n GET_INFRASTRUCTURE_STATUS_ROUTE,\n} from '../../handlers/editor-builder';\n\n/**\n * Editor Builder Routes\n *\n * Routes for agent builder settings, infrastructure status, and external\n * skill registries.\n */\nexport const EDITOR_BUILDER_ROUTES = [\n GET_EDITOR_BUILDER_SETTINGS_ROUTE,\n GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE,\n GET_INFRASTRUCTURE_STATUS_ROUTE,\n LIST_BUILDER_REGISTRIES_ROUTE,\n BUILDER_REGISTRY_SEARCH_ROUTE,\n BUILDER_REGISTRY_POPULAR_ROUTE,\n BUILDER_REGISTRY_PREVIEW_ROUTE,\n BUILDER_REGISTRY_INSTALL_ROUTE,\n] as const;\n","/**\n * Legacy routes that are deprecated but still exist in deployer for backward compatibility.\n * These routes should not be used in new code and will be removed in a future version.\n */\n\nimport { GENERATE_LEGACY_ROUTE, STREAM_GENERATE_LEGACY_ROUTE } from '../../handlers/agents';\nimport { STREAM_LEGACY_WORKFLOW_ROUTE, OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE } from '../../handlers/workflows';\n\nexport const LEGACY_ROUTES = [\n // ============================================================================\n // Legacy Agent Routes\n // ============================================================================\n GENERATE_LEGACY_ROUTE,\n STREAM_GENERATE_LEGACY_ROUTE,\n\n // ============================================================================\n // Legacy Workflow Routes\n // ============================================================================\n STREAM_LEGACY_WORKFLOW_ROUTE,\n OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE,\n] as const;\n","import { LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE } from '../../handlers/logs';\n\nexport const LOGS_ROUTES = [LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE] as const;\n","import {\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n LIST_MCP_SERVER_RESOURCES_ROUTE,\n READ_MCP_SERVER_RESOURCE_ROUTE,\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n} from '../../handlers/mcp';\n\n/**\n * MCP Routes\n *\n * Registry routes provide access to the MCP server registry and tools.\n * Transport routes handle the MCP protocol communication (HTTP and SSE).\n */\nexport const MCP_ROUTES = [\n // ============================================================================\n // MCP Server Registry Routes\n // ============================================================================\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n\n // ============================================================================\n // MCP Server Tool Routes\n // ============================================================================\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n\n // ============================================================================\n // MCP Server Resource Routes\n // ============================================================================\n LIST_MCP_SERVER_RESOURCES_ROUTE,\n READ_MCP_SERVER_RESOURCE_ROUTE,\n\n // ============================================================================\n // MCP Transport Routes (handled by adapters)\n // ============================================================================\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n] as const;\n","import {\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n GET_OBSERVATIONAL_MEMORY_ROUTE,\n AWAIT_BUFFER_STATUS_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n} from '../../handlers/memory';\n\nexport const MEMORY_ROUTES = [\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n GET_OBSERVATIONAL_MEMORY_ROUTE,\n AWAIT_BUFFER_STATUS_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n] as const;\n","import {\n LIST_TRACES_ROUTE,\n LIST_TRACES_LIGHT_ROUTE,\n LIST_BRANCHES_ROUTE,\n GET_BRANCH_ROUTE,\n GET_TRACE_ROUTE,\n GET_TRACE_LIGHT_ROUTE,\n GET_SPAN_ROUTE,\n GET_TRACE_TRAJECTORY_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n} from '../../handlers/observability';\nimport {\n LIST_METRICS,\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n} from '../../handlers/observability-new-endpoints';\n\nexport const OBSERVABILITY_ROUTES = [\n // Legacy\n LIST_TRACES_ROUTE,\n LIST_TRACES_LIGHT_ROUTE,\n LIST_BRANCHES_ROUTE,\n GET_BRANCH_ROUTE,\n GET_TRACE_ROUTE,\n GET_TRACE_LIGHT_ROUTE,\n GET_SPAN_ROUTE,\n GET_TRACE_TRAJECTORY_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n // New observability routes\n LIST_METRICS,\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n] as const;\n","import { LIST_PROCESSOR_PROVIDERS_ROUTE, GET_PROCESSOR_PROVIDER_ROUTE } from '../../handlers/processor-providers';\n\nexport const PROCESSOR_PROVIDER_ROUTES = [LIST_PROCESSOR_PROVIDERS_ROUTE, GET_PROCESSOR_PROVIDER_ROUTE] as const;\n","import { LIST_PROCESSORS_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, EXECUTE_PROCESSOR_ROUTE } from '../../handlers/processors';\n\nexport const PROCESSORS_ROUTES = [LIST_PROCESSORS_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, EXECUTE_PROCESSOR_ROUTE] as const;\n","import { CREATE_RESPONSE_ROUTE, DELETE_RESPONSE_ROUTE, GET_RESPONSE_ROUTE } from '../../handlers/responses';\n\nexport const RESPONSES_ROUTES = [CREATE_RESPONSE_ROUTE, GET_RESPONSE_ROUTE, DELETE_RESPONSE_ROUTE] as const;\n","import {\n CREATE_SCHEDULE_ROUTE,\n DELETE_SCHEDULE_ROUTE,\n GET_SCHEDULE_ROUTE,\n LIST_SCHEDULES_ROUTE,\n LIST_SCHEDULE_TRIGGERS_ROUTE,\n PAUSE_SCHEDULE_ROUTE,\n RESUME_SCHEDULE_ROUTE,\n RUN_SCHEDULE_ROUTE,\n UPDATE_SCHEDULE_ROUTE,\n} from '../../handlers/schedules';\nimport type { ServerRoute } from '.';\n\nexport const SCHEDULES_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_SCHEDULES_ROUTE,\n GET_SCHEDULE_ROUTE,\n CREATE_SCHEDULE_ROUTE,\n UPDATE_SCHEDULE_ROUTE,\n DELETE_SCHEDULE_ROUTE,\n LIST_SCHEDULE_TRIGGERS_ROUTE,\n PAUSE_SCHEDULE_ROUTE,\n RESUME_SCHEDULE_ROUTE,\n RUN_SCHEDULE_ROUTE,\n];\n","import {\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n} from '../../handlers/scores';\n\nexport const SCORES_ROUTES = [\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n] as const;\n","import {\n LIST_AGENT_VERSIONS_ROUTE,\n CREATE_AGENT_VERSION_ROUTE,\n GET_AGENT_VERSION_ROUTE,\n ACTIVATE_AGENT_VERSION_ROUTE,\n RESTORE_AGENT_VERSION_ROUTE,\n DELETE_AGENT_VERSION_ROUTE,\n COMPARE_AGENT_VERSIONS_ROUTE,\n} from '../../handlers/agent-versions';\nimport { FAVORITE_STORED_AGENT_ROUTE, UNFAVORITE_STORED_AGENT_ROUTE } from '../../handlers/stored-agent-favorites';\nimport {\n LIST_STORED_AGENTS_ROUTE,\n GET_STORED_AGENT_ROUTE,\n GET_STORED_AGENT_DEPENDENTS_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n PREVIEW_INSTRUCTIONS_ROUTE,\n EXPORT_STORED_AGENT_ROUTE,\n OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE,\n} from '../../handlers/stored-agents';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for stored agents CRUD operations and version management.\n * These routes provide API access to agent configurations stored in the database,\n * enabling dynamic creation and management of agents via Mastra Studio.\n */\nexport const STORED_AGENTS_ROUTES: readonly ServerRoute[] = [\n // ============================================================================\n // Stored Agents CRUD Routes\n // IMPORTANT: Routes with literal paths (e.g., /preview-instructions) must come\n // BEFORE routes with path parameters (e.g., /:storedAgentId) to ensure correct matching.\n // ============================================================================\n LIST_STORED_AGENTS_ROUTE,\n PREVIEW_INSTRUCTIONS_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n GET_STORED_AGENT_DEPENDENTS_ROUTE, // Must be before GET_STORED_AGENT_ROUTE (longer literal)\n EXPORT_STORED_AGENT_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n GET_STORED_AGENT_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n\n // ============================================================================\n // Agent Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n // ============================================================================\n LIST_AGENT_VERSIONS_ROUTE,\n CREATE_AGENT_VERSION_ROUTE,\n COMPARE_AGENT_VERSIONS_ROUTE, // Must be before GET_AGENT_VERSION_ROUTE\n GET_AGENT_VERSION_ROUTE,\n ACTIVATE_AGENT_VERSION_ROUTE,\n RESTORE_AGENT_VERSION_ROUTE,\n DELETE_AGENT_VERSION_ROUTE,\n\n // ============================================================================\n // Favorites (EE)\n // ============================================================================\n FAVORITE_STORED_AGENT_ROUTE,\n UNFAVORITE_STORED_AGENT_ROUTE,\n];\n\n/**\n * Type-level tuple preserving each stored agent route's specific schema types.\n * Used by ServerRoutes to build the type-level route map.\n */\nexport type StoredAgentRoutes = readonly [\n typeof LIST_STORED_AGENTS_ROUTE,\n typeof PREVIEW_INSTRUCTIONS_ROUTE,\n typeof GET_STORED_AGENT_DEPENDENTS_ROUTE,\n typeof EXPORT_STORED_AGENT_ROUTE,\n typeof OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE,\n typeof GET_STORED_AGENT_ROUTE,\n typeof CREATE_STORED_AGENT_ROUTE,\n typeof UPDATE_STORED_AGENT_ROUTE,\n typeof DELETE_STORED_AGENT_ROUTE,\n typeof LIST_AGENT_VERSIONS_ROUTE,\n typeof CREATE_AGENT_VERSION_ROUTE,\n typeof COMPARE_AGENT_VERSIONS_ROUTE,\n typeof GET_AGENT_VERSION_ROUTE,\n typeof ACTIVATE_AGENT_VERSION_ROUTE,\n typeof RESTORE_AGENT_VERSION_ROUTE,\n typeof DELETE_AGENT_VERSION_ROUTE,\n typeof FAVORITE_STORED_AGENT_ROUTE,\n typeof UNFAVORITE_STORED_AGENT_ROUTE,\n];\n","import {\n LIST_MCP_CLIENT_VERSIONS_ROUTE,\n CREATE_MCP_CLIENT_VERSION_ROUTE,\n GET_MCP_CLIENT_VERSION_ROUTE,\n ACTIVATE_MCP_CLIENT_VERSION_ROUTE,\n RESTORE_MCP_CLIENT_VERSION_ROUTE,\n DELETE_MCP_CLIENT_VERSION_ROUTE,\n COMPARE_MCP_CLIENT_VERSIONS_ROUTE,\n} from '../../handlers/mcp-client-versions';\nimport {\n LIST_STORED_MCP_CLIENTS_ROUTE,\n GET_STORED_MCP_CLIENT_ROUTE,\n CREATE_STORED_MCP_CLIENT_ROUTE,\n UPDATE_STORED_MCP_CLIENT_ROUTE,\n DELETE_STORED_MCP_CLIENT_ROUTE,\n} from '../../handlers/stored-mcp-clients';\n\nexport const STORED_MCP_CLIENTS_ROUTES = [\n // Stored MCP Clients CRUD Routes\n LIST_STORED_MCP_CLIENTS_ROUTE,\n GET_STORED_MCP_CLIENT_ROUTE,\n CREATE_STORED_MCP_CLIENT_ROUTE,\n UPDATE_STORED_MCP_CLIENT_ROUTE,\n DELETE_STORED_MCP_CLIENT_ROUTE,\n\n // MCP Client Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_MCP_CLIENT_VERSIONS_ROUTE,\n CREATE_MCP_CLIENT_VERSION_ROUTE,\n COMPARE_MCP_CLIENT_VERSIONS_ROUTE,\n GET_MCP_CLIENT_VERSION_ROUTE,\n ACTIVATE_MCP_CLIENT_VERSION_ROUTE,\n RESTORE_MCP_CLIENT_VERSION_ROUTE,\n DELETE_MCP_CLIENT_VERSION_ROUTE,\n] as const;\n","import {\n LIST_PROMPT_BLOCK_VERSIONS_ROUTE,\n CREATE_PROMPT_BLOCK_VERSION_ROUTE,\n GET_PROMPT_BLOCK_VERSION_ROUTE,\n ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE,\n RESTORE_PROMPT_BLOCK_VERSION_ROUTE,\n DELETE_PROMPT_BLOCK_VERSION_ROUTE,\n COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE,\n} from '../../handlers/prompt-block-versions';\nimport {\n LIST_STORED_PROMPT_BLOCKS_ROUTE,\n GET_STORED_PROMPT_BLOCK_ROUTE,\n CREATE_STORED_PROMPT_BLOCK_ROUTE,\n UPDATE_STORED_PROMPT_BLOCK_ROUTE,\n DELETE_STORED_PROMPT_BLOCK_ROUTE,\n} from '../../handlers/stored-prompt-blocks';\n\nexport const STORED_PROMPT_BLOCKS_ROUTES = [\n // Stored Prompt Blocks CRUD Routes\n LIST_STORED_PROMPT_BLOCKS_ROUTE,\n GET_STORED_PROMPT_BLOCK_ROUTE,\n CREATE_STORED_PROMPT_BLOCK_ROUTE,\n UPDATE_STORED_PROMPT_BLOCK_ROUTE,\n DELETE_STORED_PROMPT_BLOCK_ROUTE,\n\n // Prompt Block Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_PROMPT_BLOCK_VERSIONS_ROUTE,\n CREATE_PROMPT_BLOCK_VERSION_ROUTE,\n COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE,\n GET_PROMPT_BLOCK_VERSION_ROUTE,\n ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE,\n RESTORE_PROMPT_BLOCK_VERSION_ROUTE,\n DELETE_PROMPT_BLOCK_VERSION_ROUTE,\n] as const;\n","import {\n LIST_SCORER_VERSIONS_ROUTE,\n CREATE_SCORER_VERSION_ROUTE,\n GET_SCORER_VERSION_ROUTE,\n ACTIVATE_SCORER_VERSION_ROUTE,\n RESTORE_SCORER_VERSION_ROUTE,\n DELETE_SCORER_VERSION_ROUTE,\n COMPARE_SCORER_VERSIONS_ROUTE,\n} from '../../handlers/scorer-versions';\nimport {\n LIST_STORED_SCORERS_ROUTE,\n GET_STORED_SCORER_ROUTE,\n CREATE_STORED_SCORER_ROUTE,\n UPDATE_STORED_SCORER_ROUTE,\n DELETE_STORED_SCORER_ROUTE,\n} from '../../handlers/stored-scorers';\n\nexport const STORED_SCORERS_ROUTES = [\n // Stored Scorers CRUD Routes\n LIST_STORED_SCORERS_ROUTE,\n GET_STORED_SCORER_ROUTE,\n CREATE_STORED_SCORER_ROUTE,\n UPDATE_STORED_SCORER_ROUTE,\n DELETE_STORED_SCORER_ROUTE,\n\n // Scorer Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_SCORER_VERSIONS_ROUTE,\n CREATE_SCORER_VERSION_ROUTE,\n COMPARE_SCORER_VERSIONS_ROUTE,\n GET_SCORER_VERSION_ROUTE,\n ACTIVATE_SCORER_VERSION_ROUTE,\n RESTORE_SCORER_VERSION_ROUTE,\n DELETE_SCORER_VERSION_ROUTE,\n] as const;\n","import { FAVORITE_STORED_SKILL_ROUTE, UNFAVORITE_STORED_SKILL_ROUTE } from '../../handlers/stored-skill-favorites';\nimport {\n LIST_STORED_SKILLS_ROUTE,\n GET_STORED_SKILL_ROUTE,\n CREATE_STORED_SKILL_ROUTE,\n UPDATE_STORED_SKILL_ROUTE,\n DELETE_STORED_SKILL_ROUTE,\n PUBLISH_STORED_SKILL_ROUTE,\n} from '../../handlers/stored-skills';\n\nexport const STORED_SKILLS_ROUTES = [\n // Stored Skills CRUD Routes\n LIST_STORED_SKILLS_ROUTE,\n GET_STORED_SKILL_ROUTE,\n CREATE_STORED_SKILL_ROUTE,\n UPDATE_STORED_SKILL_ROUTE,\n DELETE_STORED_SKILL_ROUTE,\n // Publish\n PUBLISH_STORED_SKILL_ROUTE,\n // Favorites (EE)\n FAVORITE_STORED_SKILL_ROUTE,\n UNFAVORITE_STORED_SKILL_ROUTE,\n] as const;\n","import {\n LIST_STORED_WORKSPACES_ROUTE,\n GET_STORED_WORKSPACE_ROUTE,\n CREATE_STORED_WORKSPACE_ROUTE,\n UPDATE_STORED_WORKSPACE_ROUTE,\n DELETE_STORED_WORKSPACE_ROUTE,\n} from '../../handlers/stored-workspaces';\n\nexport const STORED_WORKSPACES_ROUTES = [\n // Stored Workspaces CRUD Routes\n LIST_STORED_WORKSPACES_ROUTE,\n GET_STORED_WORKSPACE_ROUTE,\n CREATE_STORED_WORKSPACE_ROUTE,\n UPDATE_STORED_WORKSPACE_ROUTE,\n DELETE_STORED_WORKSPACE_ROUTE,\n] as const;\n","import { GET_API_SCHEMA_ROUTE, GET_SYSTEM_PACKAGES_ROUTE } from '../../handlers/system';\n\n/**\n * System Routes\n *\n * Routes for system information and diagnostics.\n */\nexport const SYSTEM_ROUTES = [GET_SYSTEM_PACKAGES_ROUTE, GET_API_SCHEMA_ROUTE] as const;\n","import {\n AUTHORIZE_TOOL_PROVIDER_ROUTE,\n DISCONNECT_TOOL_PROVIDER_CONNECTION_ROUTE,\n GET_TOOL_PROVIDER_AUTH_STATUS_ROUTE,\n GET_TOOL_PROVIDER_CONNECTION_USAGE_ROUTE,\n GET_TOOL_PROVIDER_HEALTH_ROUTE,\n GET_TOOL_PROVIDER_TOOL_SCHEMA_ROUTE,\n LIST_TOOL_PROVIDERS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTIONS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTION_FIELDS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLKITS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLS_ROUTE,\n TOOL_PROVIDER_CONNECTION_STATUS_ROUTE,\n UPDATE_TOOL_PROVIDER_CONNECTION_ROUTE,\n} from '../../handlers/tool-providers';\n\nexport const TOOL_PROVIDER_ROUTES = [\n LIST_TOOL_PROVIDERS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLKITS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLS_ROUTE,\n GET_TOOL_PROVIDER_TOOL_SCHEMA_ROUTE,\n AUTHORIZE_TOOL_PROVIDER_ROUTE,\n GET_TOOL_PROVIDER_AUTH_STATUS_ROUTE,\n TOOL_PROVIDER_CONNECTION_STATUS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTIONS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTION_FIELDS_ROUTE,\n DISCONNECT_TOOL_PROVIDER_CONNECTION_ROUTE,\n UPDATE_TOOL_PROVIDER_CONNECTION_ROUTE,\n GET_TOOL_PROVIDER_CONNECTION_USAGE_ROUTE,\n GET_TOOL_PROVIDER_HEALTH_ROUTE,\n] as const;\n","import { LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE } from '../../handlers/tools';\n\nexport const TOOLS_ROUTES = [LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE] as const;\n","import {\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n LIST_VECTORS_ROUTE,\n LIST_EMBEDDERS_ROUTE,\n} from '../../handlers/vector';\n\nexport const VECTORS_ROUTES = [\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n LIST_VECTORS_ROUTE,\n LIST_EMBEDDERS_ROUTE,\n] as const;\n","import {\n LIST_WORKFLOWS_ROUTE,\n LIST_WORKFLOW_RUN_COUNTS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_NO_WAIT_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n EXECUTE_WORKFLOW_STEP_ROUTE,\n RECEIVE_WORKFLOW_EVENT_ROUTE,\n} from '../../handlers/workflows';\n\nexport const WORKFLOWS_ROUTES = [\n LIST_WORKFLOWS_ROUTE,\n // Static path must register before the parameterized /workflows/:workflowId\n // route below, or the router would capture \"run-counts\" as a workflowId.\n LIST_WORKFLOW_RUN_COUNTS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_NO_WAIT_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n EXECUTE_WORKFLOW_STEP_ROUTE,\n RECEIVE_WORKFLOW_EVENT_ROUTE,\n] as const;\n","/**\n * Workspace Routes\n *\n * All routes for workspace operations under /api/workspaces/*\n */\n\nimport {\n LIST_WORKSPACES_ROUTE,\n GET_WORKSPACE_ROUTE,\n WORKSPACE_FS_ROUTES,\n WORKSPACE_SEARCH_ROUTES,\n WORKSPACE_SKILLS_ROUTES,\n WORKSPACE_SKILLS_SH_ROUTES,\n} from '../../handlers/workspace';\n\nexport const WORKSPACE_ROUTES = [\n // List all workspaces route (at /api/workspaces)\n LIST_WORKSPACES_ROUTE,\n\n // Get workspace route (at /api/workspaces/:workspaceId)\n GET_WORKSPACE_ROUTE,\n\n // Filesystem routes (at /api/workspaces/:workspaceId/fs/*)\n ...WORKSPACE_FS_ROUTES,\n\n // Search routes (at /api/workspaces/:workspaceId/search, /api/workspaces/:workspaceId/index)\n ...WORKSPACE_SEARCH_ROUTES,\n\n // Skills routes (search must come before parameterized routes)\n ...WORKSPACE_SKILLS_ROUTES,\n\n // skills.sh proxy routes (at /api/workspaces/:workspaceId/skills-sh/*)\n ...WORKSPACE_SKILLS_SH_ROUTES,\n] as const;\n","import type { Mastra } from '@mastra/core';\nimport type { ToolsInput } from '@mastra/core/agent';\nimport type { FGARouteConfig, MastraFGAPermissionInput } from '@mastra/core/auth/ee';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { ApiRoute, ValidationErrorHook } from '@mastra/core/server';\nimport type * as z from 'zod/v4';\nimport type { InMemoryTaskStore } from '../../a2a/store';\nimport type { OpenAPIRoute } from '../openapi-utils';\nimport { A2A_ROUTES } from './a2a';\nimport { AGENT_BUILDER_ROUTES } from './agent-builder';\nimport { AGENT_CONTROLLER_ROUTES } from './agent-controller';\nimport { AGENTS_ROUTES } from './agents';\nimport type { AgentRoutes } from './agents';\nimport { AUTH_ROUTES } from './auth';\nimport { BACKGROUND_TASK_ROUTES } from './background-tasks';\nimport { CHANNELS_ROUTES } from './channels';\nimport { CONVERSATIONS_ROUTES } from './conversations';\nimport { DATASETS_ROUTES } from './datasets';\nimport { DYNAMIC_WORKFLOWS_ROUTES } from './dynamic-workflows';\nimport { EDITOR_BUILDER_ROUTES } from './editor-builder';\nimport { LEGACY_ROUTES } from './legacy';\nimport { LOGS_ROUTES } from './logs';\nimport { MCP_ROUTES } from './mcp';\nimport { MEMORY_ROUTES } from './memory';\nimport { OBSERVABILITY_ROUTES } from './observability';\nimport { PROCESSOR_PROVIDER_ROUTES } from './processor-providers';\nimport { PROCESSORS_ROUTES } from './processors';\nimport { RESPONSES_ROUTES } from './responses';\nimport { SCHEDULES_ROUTES } from './schedules';\nimport { SCORES_ROUTES } from './scorers';\nimport { STORED_AGENTS_ROUTES } from './stored-agents';\nimport type { StoredAgentRoutes } from './stored-agents';\nimport { STORED_MCP_CLIENTS_ROUTES } from './stored-mcp-clients';\nimport { STORED_PROMPT_BLOCKS_ROUTES } from './stored-prompt-blocks';\nimport { STORED_SCORERS_ROUTES } from './stored-scorers';\nimport { STORED_SKILLS_ROUTES } from './stored-skills';\nimport { STORED_WORKSPACES_ROUTES } from './stored-workspaces';\nimport type { MastraStreamReturn } from './stream-types';\nimport { SYSTEM_ROUTES } from './system';\nimport { TOOL_PROVIDER_ROUTES } from './tool-providers';\nimport { TOOLS_ROUTES } from './tools';\nimport { VECTORS_ROUTES } from './vectors';\nimport { WORKFLOWS_ROUTES } from './workflows';\nimport { WORKSPACE_ROUTES } from './workspace';\n\n/**\n * Server context fields that are available to route handlers.\n * These are injected by the server adapters (Express, Hono, etc.)\n * Fields other than `mastra` are optional to allow direct handler testing.\n */\nexport type ServerContext = {\n mastra: Mastra;\n requestContext: RequestContext;\n registeredTools?: ToolsInput;\n taskStore?: InMemoryTaskStore;\n abortSignal: AbortSignal;\n /** The route prefix configured for the server (e.g., '/api') */\n routePrefix?: string;\n /** The web-standard Request object for accessing headers, cookies, etc. */\n request?: Request;\n};\n\n/**\n * Utility type to infer parameters from Zod schemas.\n * Merges path params, query params, and body params into a single type.\n */\nexport type InferParams<\n TPathSchema extends z.ZodTypeAny | undefined,\n TQuerySchema extends z.ZodTypeAny | undefined,\n TBodySchema extends z.ZodTypeAny | undefined,\n> = (TPathSchema extends z.ZodTypeAny ? z.infer<TPathSchema> : {}) &\n (TQuerySchema extends z.ZodTypeAny ? z.infer<TQuerySchema> : {}) &\n (TBodySchema extends z.ZodTypeAny ? z.infer<TBodySchema> : {});\n\n/**\n * All supported response types for server routes.\n * - 'json': Standard JSON response\n * - 'stream': Streaming response (SSE or raw stream)\n * - 'datastream-response': Pre-built Response object for data streams\n * - 'mcp-http': MCP Streamable HTTP transport (handled by adapter)\n * - 'mcp-sse': MCP SSE transport (handled by adapter)\n */\nexport type ResponseType = 'stream' | 'json' | 'datastream-response' | 'mcp-http' | 'mcp-sse';\n\nexport type ServerRouteHandler<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = (\n params: TParams & ServerContext,\n) => Promise<\n TResponseType extends 'stream'\n ? MastraStreamReturn\n : TResponseType extends 'datastream-response'\n ? Response\n : TResponse\n>;\n\n/**\n * Phantom type for preserving Zod schema types on routes.\n * Not present at runtime — used only for type-level inference via RouteMap.\n */\nexport interface RouteSchemas<\n TPathSchema = unknown,\n TQuerySchema = unknown,\n TBodySchema = unknown,\n TResponseSchema = unknown,\n> {\n readonly pathParams: TPathSchema;\n readonly queryParams: TQuerySchema;\n readonly body: TBodySchema;\n readonly response: TResponseSchema;\n}\n\nexport type ServerRoute<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = ResponseType,\n TSchemas extends RouteSchemas = RouteSchemas,\n TMethod extends string = string,\n TPath extends string = string,\n> = Omit<ApiRoute, 'handler' | 'createHandler' | 'method' | 'path' | 'openapi'> & {\n method: TMethod;\n path: TPath;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream', defaults to 'stream'\n sseFlushOnConnect?: boolean;\n // Method signature is bivariant in params, allowing heterogeneous route arrays\n // while still preserving specific param types on individual routes.\n handler(params: TParams & ServerContext): ReturnType<ServerRouteHandler<TParams, TResponse, TResponseType>>;\n pathParamSchema?: z.ZodSchema;\n queryParamSchema?: z.ZodSchema;\n bodySchema?: z.ZodSchema;\n responseSchema?: z.ZodSchema;\n openapi?: OpenAPIRoute; // Auto-generated OpenAPI spec for this route\n maxBodySize?: number; // Optional route-specific body size limit in bytes\n deprecated?: boolean; // Flag for deprecated routes (used for route parity, skipped in tests)\n /**\n * Permission required to access this route (EE feature).\n * If set, the user must have this permission to access the route.\n * Uses the format: `resource:action` or `resource:action:resourceId`\n *\n * When an array is provided, the user needs ANY ONE of the listed permissions\n * (logical OR). This is useful for routes that serve multiple resource types,\n * e.g. a streaming endpoint used by both runtime and stored agents.\n *\n * @example\n * requiresPermission: MastraFGAPermissions.AGENTS_READ\n * requiresPermission: MastraFGAPermissions.WORKFLOWS_EXECUTE\n */\n requiresPermission?: MastraFGAPermissionInput | MastraFGAPermissionInput[];\n /**\n * FGA authorization config for this route (EE feature).\n * If set, the user must have the specified permission on the resource.\n *\n * @example\n * fga: { resourceType: 'agent', resourceIdParam: 'agentId', permission: MastraFGAPermissions.AGENTS_EXECUTE }\n */\n fga?: FGARouteConfig;\n onValidationError?: ValidationErrorHook;\n /** @internal Phantom type — not present at runtime. Used for type-level schema inference. */\n readonly __schemas?: TSchemas;\n};\n\nexport const SERVER_ROUTES: readonly ServerRoute[] = [\n ...AGENTS_ROUTES,\n ...AUTH_ROUTES,\n ...WORKFLOWS_ROUTES,\n ...TOOLS_ROUTES,\n ...PROCESSORS_ROUTES,\n ...RESPONSES_ROUTES,\n ...CONVERSATIONS_ROUTES,\n ...MEMORY_ROUTES,\n ...SCORES_ROUTES,\n ...OBSERVABILITY_ROUTES,\n ...LOGS_ROUTES,\n ...VECTORS_ROUTES,\n ...A2A_ROUTES,\n ...WORKSPACE_ROUTES,\n ...LEGACY_ROUTES,\n ...MCP_ROUTES,\n ...STORED_AGENTS_ROUTES,\n ...DYNAMIC_WORKFLOWS_ROUTES,\n ...STORED_MCP_CLIENTS_ROUTES,\n ...STORED_PROMPT_BLOCKS_ROUTES,\n ...STORED_SCORERS_ROUTES,\n ...STORED_WORKSPACES_ROUTES,\n ...STORED_SKILLS_ROUTES,\n ...TOOL_PROVIDER_ROUTES,\n ...PROCESSOR_PROVIDER_ROUTES,\n ...SYSTEM_ROUTES,\n ...DATASETS_ROUTES,\n ...BACKGROUND_TASK_ROUTES,\n ...EDITOR_BUILDER_ROUTES,\n ...AGENT_BUILDER_ROUTES,\n ...SCHEDULES_ROUTES,\n ...CHANNELS_ROUTES,\n ...AGENT_CONTROLLER_ROUTES,\n];\n\n/**\n * Union type of all individual route arrays.\n * Built from the per-domain `as const` tuples to preserve each route's specific schema types.\n */\nexport type ServerRoutes = readonly [\n ...AgentRoutes,\n ...typeof AUTH_ROUTES,\n ...typeof WORKFLOWS_ROUTES,\n ...typeof TOOLS_ROUTES,\n ...typeof PROCESSORS_ROUTES,\n ...typeof RESPONSES_ROUTES,\n ...typeof CONVERSATIONS_ROUTES,\n ...typeof MEMORY_ROUTES,\n ...typeof SCORES_ROUTES,\n ...typeof OBSERVABILITY_ROUTES,\n ...typeof LOGS_ROUTES,\n ...typeof VECTORS_ROUTES,\n ...typeof A2A_ROUTES,\n ...typeof AGENT_BUILDER_ROUTES,\n ...typeof WORKSPACE_ROUTES,\n ...typeof LEGACY_ROUTES,\n ...typeof MCP_ROUTES,\n ...StoredAgentRoutes,\n ...typeof STORED_MCP_CLIENTS_ROUTES,\n ...typeof STORED_PROMPT_BLOCKS_ROUTES,\n ...typeof STORED_SCORERS_ROUTES,\n ...typeof STORED_WORKSPACES_ROUTES,\n ...typeof STORED_SKILLS_ROUTES,\n ...typeof TOOL_PROVIDER_ROUTES,\n ...typeof PROCESSOR_PROVIDER_ROUTES,\n ...typeof SYSTEM_ROUTES,\n ...typeof DATASETS_ROUTES,\n ...typeof EDITOR_BUILDER_ROUTES,\n ...typeof CHANNELS_ROUTES,\n];\n\n// Export route builder and OpenAPI utilities\nexport { createRoute, createPublicRoute, pickParams, jsonQueryParam, wrapSchemaForQueryParams } from './route-builder';\nexport { generateOpenAPIDocument } from '../openapi-utils';\n\n// Export permission utilities\nexport { derivePermission, extractResource, deriveAction, getEffectivePermission } from './permissions';\n"],"mappings":"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"}