@mastra/code-sdk 1.2.0-alpha.17 → 1.2.0-alpha.18

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 (86) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +22 -0
  3. package/dist/agents/modes/build.d.ts.map +1 -1
  4. package/dist/agents/modes/build.js +6 -1
  5. package/dist/agents/modes/build.js.map +1 -1
  6. package/dist/agents/modes/explore.d.ts.map +1 -1
  7. package/dist/agents/modes/explore.js +4 -1
  8. package/dist/agents/modes/explore.js.map +1 -1
  9. package/dist/agents/modes/plan.d.ts.map +1 -1
  10. package/dist/agents/modes/plan.js +6 -1
  11. package/dist/agents/modes/plan.js.map +1 -1
  12. package/dist/agents/tool-availability.d.ts.map +1 -1
  13. package/dist/agents/tool-availability.js +6 -2
  14. package/dist/agents/tool-availability.js.map +1 -1
  15. package/dist/agents/tools.d.ts +16 -0
  16. package/dist/agents/tools.d.ts.map +1 -1
  17. package/dist/agents/tools.js +15 -2
  18. package/dist/agents/tools.js.map +1 -1
  19. package/dist/agents/workflow-builder-agent.d.ts +2 -0
  20. package/dist/agents/workflow-builder-agent.d.ts.map +1 -0
  21. package/dist/agents/workflow-builder-agent.js +80 -0
  22. package/dist/agents/workflow-builder-agent.js.map +1 -0
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +26 -7
  26. package/dist/index.js.map +1 -1
  27. package/dist/permissions.d.ts.map +1 -1
  28. package/dist/permissions.js +6 -1
  29. package/dist/permissions.js.map +1 -1
  30. package/dist/tools/workflows/create-workflow.d.ts +7 -0
  31. package/dist/tools/workflows/create-workflow.d.ts.map +1 -0
  32. package/dist/tools/workflows/create-workflow.js +81 -0
  33. package/dist/tools/workflows/create-workflow.js.map +1 -0
  34. package/dist/tools/workflows/delete-workflow.d.ts +7 -0
  35. package/dist/tools/workflows/delete-workflow.d.ts.map +1 -0
  36. package/dist/tools/workflows/delete-workflow.js +21 -0
  37. package/dist/tools/workflows/delete-workflow.js.map +1 -0
  38. package/dist/tools/workflows/ephemeral-memory.d.ts +7 -0
  39. package/dist/tools/workflows/ephemeral-memory.d.ts.map +1 -0
  40. package/dist/tools/workflows/ephemeral-memory.js +45 -0
  41. package/dist/tools/workflows/ephemeral-memory.js.map +1 -0
  42. package/dist/tools/workflows/extract-json-schema.d.ts +12 -0
  43. package/dist/tools/workflows/extract-json-schema.d.ts.map +1 -0
  44. package/dist/tools/workflows/extract-json-schema.js +22 -0
  45. package/dist/tools/workflows/extract-json-schema.js.map +1 -0
  46. package/dist/tools/workflows/get-workflow.d.ts +11 -0
  47. package/dist/tools/workflows/get-workflow.d.ts.map +1 -0
  48. package/dist/tools/workflows/get-workflow.js +34 -0
  49. package/dist/tools/workflows/get-workflow.js.map +1 -0
  50. package/dist/tools/workflows/list-available-agents.d.ts +8 -0
  51. package/dist/tools/workflows/list-available-agents.d.ts.map +1 -0
  52. package/dist/tools/workflows/list-available-agents.js +32 -0
  53. package/dist/tools/workflows/list-available-agents.js.map +1 -0
  54. package/dist/tools/workflows/list-available-tools.d.ts +9 -0
  55. package/dist/tools/workflows/list-available-tools.d.ts.map +1 -0
  56. package/dist/tools/workflows/list-available-tools.js +40 -0
  57. package/dist/tools/workflows/list-available-tools.js.map +1 -0
  58. package/dist/tools/workflows/list-available-workflows.d.ts +9 -0
  59. package/dist/tools/workflows/list-available-workflows.d.ts.map +1 -0
  60. package/dist/tools/workflows/list-available-workflows.js +32 -0
  61. package/dist/tools/workflows/list-available-workflows.js.map +1 -0
  62. package/dist/tools/workflows/list-workflows.d.ts +9 -0
  63. package/dist/tools/workflows/list-workflows.d.ts.map +1 -0
  64. package/dist/tools/workflows/list-workflows.js +33 -0
  65. package/dist/tools/workflows/list-workflows.js.map +1 -0
  66. package/dist/tools/workflows/run-workflow.d.ts +9 -0
  67. package/dist/tools/workflows/run-workflow.d.ts.map +1 -0
  68. package/dist/tools/workflows/run-workflow.js +52 -0
  69. package/dist/tools/workflows/run-workflow.js.map +1 -0
  70. package/dist/tools/workflows/save-workflow.d.ts +369 -0
  71. package/dist/tools/workflows/save-workflow.d.ts.map +1 -0
  72. package/dist/tools/workflows/save-workflow.js +28 -0
  73. package/dist/tools/workflows/save-workflow.js.map +1 -0
  74. package/dist/tools/workflows/tool-ids.d.ts +15 -0
  75. package/dist/tools/workflows/tool-ids.d.ts.map +1 -0
  76. package/dist/tools/workflows/tool-ids.js +19 -0
  77. package/dist/tools/workflows/tool-ids.js.map +1 -0
  78. package/dist/workflows/register-primitives.d.ts +52 -0
  79. package/dist/workflows/register-primitives.d.ts.map +1 -0
  80. package/dist/workflows/register-primitives.js +39 -0
  81. package/dist/workflows/register-primitives.js.map +1 -0
  82. package/dist/workflows/service.d.ts +64 -0
  83. package/dist/workflows/service.d.ts.map +1 -0
  84. package/dist/workflows/service.js +53 -0
  85. package/dist/workflows/service.js.map +1 -0
  86. package/package.json +8 -8
@@ -0,0 +1,369 @@
1
+ import { z } from 'zod';
2
+ export { WORKFLOW_BUILDER_MAPPING_CONFIG_DESCRIPTION as MAPPING_CONFIG_DESCRIPTION } from '@mastra/core/workflows/builder';
3
+ export declare const workflowDefinitionInputSchema: z.ZodPreprocess<z.ZodObject<{
4
+ id: z.ZodString;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7
+ inputSchema: z.ZodUnknown;
8
+ outputSchema: z.ZodUnknown;
9
+ stateSchema: z.ZodOptional<z.ZodUnknown>;
10
+ requestContextSchema: z.ZodOptional<z.ZodUnknown>;
11
+ graph: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
12
+ type: z.ZodLiteral<"agent">;
13
+ id: z.ZodString;
14
+ agentId: z.ZodString;
15
+ description: z.ZodOptional<z.ZodString>;
16
+ outputSchema: z.ZodOptional<z.ZodUnknown>;
17
+ options: z.ZodOptional<z.ZodObject<{
18
+ retries: z.ZodOptional<z.ZodNumber>;
19
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
20
+ }, z.core.$strip>>;
21
+ }, z.core.$strict>, z.ZodObject<{
22
+ type: z.ZodLiteral<"tool">;
23
+ id: z.ZodString;
24
+ toolId: z.ZodString;
25
+ description: z.ZodOptional<z.ZodString>;
26
+ options: z.ZodOptional<z.ZodObject<{
27
+ retries: z.ZodOptional<z.ZodNumber>;
28
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ }, z.core.$strip>>;
30
+ }, z.core.$strict>, z.ZodObject<{
31
+ type: z.ZodLiteral<"mapping">;
32
+ id: z.ZodString;
33
+ mapConfig: z.ZodString;
34
+ }, z.core.$strict>, z.ZodObject<{
35
+ type: z.ZodLiteral<"workflow">;
36
+ id: z.ZodString;
37
+ workflowId: z.ZodString;
38
+ description: z.ZodOptional<z.ZodString>;
39
+ options: z.ZodOptional<z.ZodObject<{
40
+ retries: z.ZodOptional<z.ZodNumber>;
41
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
+ }, z.core.$strip>>;
43
+ }, z.core.$strict>, z.ZodObject<{
44
+ type: z.ZodLiteral<"parallel">;
45
+ steps: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
46
+ type: z.ZodLiteral<"agent">;
47
+ id: z.ZodString;
48
+ agentId: z.ZodString;
49
+ description: z.ZodOptional<z.ZodString>;
50
+ outputSchema: z.ZodOptional<z.ZodUnknown>;
51
+ options: z.ZodOptional<z.ZodObject<{
52
+ retries: z.ZodOptional<z.ZodNumber>;
53
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
54
+ }, z.core.$strip>>;
55
+ }, z.core.$strict>, z.ZodObject<{
56
+ type: z.ZodLiteral<"tool">;
57
+ id: z.ZodString;
58
+ toolId: z.ZodString;
59
+ description: z.ZodOptional<z.ZodString>;
60
+ options: z.ZodOptional<z.ZodObject<{
61
+ retries: z.ZodOptional<z.ZodNumber>;
62
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
63
+ }, z.core.$strip>>;
64
+ }, z.core.$strict>, z.ZodObject<{
65
+ type: z.ZodLiteral<"workflow">;
66
+ id: z.ZodString;
67
+ workflowId: z.ZodString;
68
+ description: z.ZodOptional<z.ZodString>;
69
+ options: z.ZodOptional<z.ZodObject<{
70
+ retries: z.ZodOptional<z.ZodNumber>;
71
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
72
+ }, z.core.$strip>>;
73
+ }, z.core.$strict>]>>;
74
+ }, z.core.$strict>, z.ZodObject<{
75
+ type: z.ZodLiteral<"foreach">;
76
+ step: z.ZodUnion<readonly [z.ZodObject<{
77
+ type: z.ZodLiteral<"agent">;
78
+ id: z.ZodString;
79
+ agentId: z.ZodString;
80
+ description: z.ZodOptional<z.ZodString>;
81
+ outputSchema: z.ZodOptional<z.ZodUnknown>;
82
+ options: z.ZodOptional<z.ZodObject<{
83
+ retries: z.ZodOptional<z.ZodNumber>;
84
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
85
+ }, z.core.$strip>>;
86
+ }, z.core.$strict>, z.ZodObject<{
87
+ type: z.ZodLiteral<"tool">;
88
+ id: z.ZodString;
89
+ toolId: z.ZodString;
90
+ description: z.ZodOptional<z.ZodString>;
91
+ options: z.ZodOptional<z.ZodObject<{
92
+ retries: z.ZodOptional<z.ZodNumber>;
93
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
94
+ }, z.core.$strip>>;
95
+ }, z.core.$strict>, z.ZodObject<{
96
+ type: z.ZodLiteral<"workflow">;
97
+ id: z.ZodString;
98
+ workflowId: z.ZodString;
99
+ description: z.ZodOptional<z.ZodString>;
100
+ options: z.ZodOptional<z.ZodObject<{
101
+ retries: z.ZodOptional<z.ZodNumber>;
102
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
103
+ }, z.core.$strip>>;
104
+ }, z.core.$strict>]>;
105
+ opts: z.ZodOptional<z.ZodObject<{
106
+ concurrency: z.ZodNumber;
107
+ }, z.core.$strip>>;
108
+ }, z.core.$strict>, z.ZodObject<{
109
+ type: z.ZodLiteral<"sleep">;
110
+ id: z.ZodString;
111
+ duration: z.ZodNumber;
112
+ }, z.core.$strict>, z.ZodObject<{
113
+ type: z.ZodLiteral<"sleepUntil">;
114
+ id: z.ZodString;
115
+ date: z.ZodString;
116
+ }, z.core.$strict>, z.ZodObject<{
117
+ type: z.ZodLiteral<"conditional">;
118
+ steps: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
119
+ type: z.ZodLiteral<"agent">;
120
+ id: z.ZodString;
121
+ agentId: z.ZodString;
122
+ description: z.ZodOptional<z.ZodString>;
123
+ outputSchema: z.ZodOptional<z.ZodUnknown>;
124
+ options: z.ZodOptional<z.ZodObject<{
125
+ retries: z.ZodOptional<z.ZodNumber>;
126
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
127
+ }, z.core.$strip>>;
128
+ }, z.core.$strict>, z.ZodObject<{
129
+ type: z.ZodLiteral<"tool">;
130
+ id: z.ZodString;
131
+ toolId: z.ZodString;
132
+ description: z.ZodOptional<z.ZodString>;
133
+ options: z.ZodOptional<z.ZodObject<{
134
+ retries: z.ZodOptional<z.ZodNumber>;
135
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
136
+ }, z.core.$strip>>;
137
+ }, z.core.$strict>, z.ZodObject<{
138
+ type: z.ZodLiteral<"workflow">;
139
+ id: z.ZodString;
140
+ workflowId: z.ZodString;
141
+ description: z.ZodOptional<z.ZodString>;
142
+ options: z.ZodOptional<z.ZodObject<{
143
+ retries: z.ZodOptional<z.ZodNumber>;
144
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
145
+ }, z.core.$strip>>;
146
+ }, z.core.$strict>]>>;
147
+ predicates: z.ZodArray<z.ZodType<import("@mastra/core/workflows").Predicate, unknown, z.core.$ZodTypeInternals<import("@mastra/core/workflows").Predicate, unknown>>>;
148
+ }, z.core.$strict>, z.ZodObject<{
149
+ type: z.ZodLiteral<"loop">;
150
+ step: z.ZodUnion<readonly [z.ZodObject<{
151
+ type: z.ZodLiteral<"agent">;
152
+ id: z.ZodString;
153
+ agentId: z.ZodString;
154
+ description: z.ZodOptional<z.ZodString>;
155
+ outputSchema: z.ZodOptional<z.ZodUnknown>;
156
+ options: z.ZodOptional<z.ZodObject<{
157
+ retries: z.ZodOptional<z.ZodNumber>;
158
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
159
+ }, z.core.$strip>>;
160
+ }, z.core.$strict>, z.ZodObject<{
161
+ type: z.ZodLiteral<"tool">;
162
+ id: z.ZodString;
163
+ toolId: z.ZodString;
164
+ description: z.ZodOptional<z.ZodString>;
165
+ options: z.ZodOptional<z.ZodObject<{
166
+ retries: z.ZodOptional<z.ZodNumber>;
167
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
168
+ }, z.core.$strip>>;
169
+ }, z.core.$strict>, z.ZodObject<{
170
+ type: z.ZodLiteral<"workflow">;
171
+ id: z.ZodString;
172
+ workflowId: z.ZodString;
173
+ description: z.ZodOptional<z.ZodString>;
174
+ options: z.ZodOptional<z.ZodObject<{
175
+ retries: z.ZodOptional<z.ZodNumber>;
176
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
177
+ }, z.core.$strip>>;
178
+ }, z.core.$strict>]>;
179
+ loopType: z.ZodEnum<{
180
+ dowhile: "dowhile";
181
+ dountil: "dountil";
182
+ }>;
183
+ predicate: z.ZodType<import("@mastra/core/workflows").Predicate, unknown, z.core.$ZodTypeInternals<import("@mastra/core/workflows").Predicate, unknown>>;
184
+ }, z.core.$strict>], "type">>;
185
+ }, z.core.$strict>>;
186
+ export declare const saveWorkflowTool: import("@mastra/core/tools").Tool<{
187
+ id: string;
188
+ inputSchema: unknown;
189
+ outputSchema: unknown;
190
+ graph: ({
191
+ type: "agent";
192
+ id: string;
193
+ agentId: string;
194
+ description?: string | undefined;
195
+ outputSchema?: unknown;
196
+ options?: {
197
+ retries?: number | undefined;
198
+ metadata?: Record<string, unknown> | undefined;
199
+ } | undefined;
200
+ } | {
201
+ type: "tool";
202
+ id: string;
203
+ toolId: string;
204
+ description?: string | undefined;
205
+ options?: {
206
+ retries?: number | undefined;
207
+ metadata?: Record<string, unknown> | undefined;
208
+ } | undefined;
209
+ } | {
210
+ type: "mapping";
211
+ id: string;
212
+ mapConfig: string;
213
+ } | {
214
+ type: "workflow";
215
+ id: string;
216
+ workflowId: string;
217
+ description?: string | undefined;
218
+ options?: {
219
+ retries?: number | undefined;
220
+ metadata?: Record<string, unknown> | undefined;
221
+ } | undefined;
222
+ } | {
223
+ type: "parallel";
224
+ steps: ({
225
+ type: "agent";
226
+ id: string;
227
+ agentId: string;
228
+ description?: string | undefined;
229
+ outputSchema?: unknown;
230
+ options?: {
231
+ retries?: number | undefined;
232
+ metadata?: Record<string, unknown> | undefined;
233
+ } | undefined;
234
+ } | {
235
+ type: "tool";
236
+ id: string;
237
+ toolId: string;
238
+ description?: string | undefined;
239
+ options?: {
240
+ retries?: number | undefined;
241
+ metadata?: Record<string, unknown> | undefined;
242
+ } | undefined;
243
+ } | {
244
+ type: "workflow";
245
+ id: string;
246
+ workflowId: string;
247
+ description?: string | undefined;
248
+ options?: {
249
+ retries?: number | undefined;
250
+ metadata?: Record<string, unknown> | undefined;
251
+ } | undefined;
252
+ })[];
253
+ } | {
254
+ type: "foreach";
255
+ step: {
256
+ type: "agent";
257
+ id: string;
258
+ agentId: string;
259
+ description?: string | undefined;
260
+ outputSchema?: unknown;
261
+ options?: {
262
+ retries?: number | undefined;
263
+ metadata?: Record<string, unknown> | undefined;
264
+ } | undefined;
265
+ } | {
266
+ type: "tool";
267
+ id: string;
268
+ toolId: string;
269
+ description?: string | undefined;
270
+ options?: {
271
+ retries?: number | undefined;
272
+ metadata?: Record<string, unknown> | undefined;
273
+ } | undefined;
274
+ } | {
275
+ type: "workflow";
276
+ id: string;
277
+ workflowId: string;
278
+ description?: string | undefined;
279
+ options?: {
280
+ retries?: number | undefined;
281
+ metadata?: Record<string, unknown> | undefined;
282
+ } | undefined;
283
+ };
284
+ opts?: {
285
+ concurrency: number;
286
+ } | undefined;
287
+ } | {
288
+ type: "sleep";
289
+ id: string;
290
+ duration: number;
291
+ } | {
292
+ type: "sleepUntil";
293
+ id: string;
294
+ date: string;
295
+ } | {
296
+ type: "conditional";
297
+ steps: ({
298
+ type: "agent";
299
+ id: string;
300
+ agentId: string;
301
+ description?: string | undefined;
302
+ outputSchema?: unknown;
303
+ options?: {
304
+ retries?: number | undefined;
305
+ metadata?: Record<string, unknown> | undefined;
306
+ } | undefined;
307
+ } | {
308
+ type: "tool";
309
+ id: string;
310
+ toolId: string;
311
+ description?: string | undefined;
312
+ options?: {
313
+ retries?: number | undefined;
314
+ metadata?: Record<string, unknown> | undefined;
315
+ } | undefined;
316
+ } | {
317
+ type: "workflow";
318
+ id: string;
319
+ workflowId: string;
320
+ description?: string | undefined;
321
+ options?: {
322
+ retries?: number | undefined;
323
+ metadata?: Record<string, unknown> | undefined;
324
+ } | undefined;
325
+ })[];
326
+ predicates: import("@mastra/core/workflows").Predicate[];
327
+ } | {
328
+ type: "loop";
329
+ step: {
330
+ type: "agent";
331
+ id: string;
332
+ agentId: string;
333
+ description?: string | undefined;
334
+ outputSchema?: unknown;
335
+ options?: {
336
+ retries?: number | undefined;
337
+ metadata?: Record<string, unknown> | undefined;
338
+ } | undefined;
339
+ } | {
340
+ type: "tool";
341
+ id: string;
342
+ toolId: string;
343
+ description?: string | undefined;
344
+ options?: {
345
+ retries?: number | undefined;
346
+ metadata?: Record<string, unknown> | undefined;
347
+ } | undefined;
348
+ } | {
349
+ type: "workflow";
350
+ id: string;
351
+ workflowId: string;
352
+ description?: string | undefined;
353
+ options?: {
354
+ retries?: number | undefined;
355
+ metadata?: Record<string, unknown> | undefined;
356
+ } | undefined;
357
+ };
358
+ loopType: "dowhile" | "dountil";
359
+ predicate: import("@mastra/core/workflows").Predicate;
360
+ })[];
361
+ description?: string | undefined;
362
+ metadata?: Record<string, unknown> | undefined;
363
+ stateSchema?: unknown;
364
+ requestContextSchema?: unknown;
365
+ }, {
366
+ ok: true;
367
+ id: string;
368
+ }, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "save-workflow", unknown>;
369
+ //# sourceMappingURL=save-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-workflow.d.ts","sourceRoot":"","sources":["../../../src/tools/workflows/save-workflow.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,2CAA2C,IAAI,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE3H,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAGzC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4HAsB3B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { createTool } from "@mastra/core/tools";
2
+ import { z } from "zod";
3
+ import { WORKFLOW_BUILDER_MAPPING_CONFIG_DESCRIPTION as MAPPING_CONFIG_DESCRIPTION, normalizeWorkflowBuilderDefinition, workflowBuilderDefinitionSchema } from "@mastra/core/workflows/builder";
4
+ //#region src/tools/workflows/save-workflow.ts
5
+ const workflowDefinitionInputSchema = z.preprocess(normalizeWorkflowBuilderDefinition, workflowBuilderDefinitionSchema);
6
+ const saveWorkflowTool = createTool({
7
+ id: "save-workflow",
8
+ description: "Persist a Dynamic Workflow definition and live-register it on the running Mastra instance. Supports all ten persisted graph families: agent, tool, mapping, nested workflow, parallel, foreach, sleep, sleepUntil, conditional, and loop. Conditional and loop entries require declarative predicates; JS closures cannot round-trip through storage. After this returns, the workflow is immediately runnable. Call it exactly once with the complete definition; there is no incremental save API.",
9
+ inputSchema: workflowDefinitionInputSchema,
10
+ outputSchema: z.object({
11
+ ok: z.literal(true),
12
+ id: z.string()
13
+ }),
14
+ execute: async (def, { mastra }) => {
15
+ if (!mastra) throw new Error("save-workflow requires a Mastra context.");
16
+ const m = mastra;
17
+ const normalizedDefinition = normalizeWorkflowBuilderDefinition(def);
18
+ await m.addDynamicWorkflow(normalizedDefinition);
19
+ return {
20
+ ok: true,
21
+ id: normalizedDefinition.id
22
+ };
23
+ }
24
+ });
25
+ //#endregion
26
+ export { MAPPING_CONFIG_DESCRIPTION, saveWorkflowTool, workflowDefinitionInputSchema };
27
+
28
+ //# sourceMappingURL=save-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-workflow.js","names":[],"sources":["../../../src/tools/workflows/save-workflow.ts"],"sourcesContent":["/**\n * Sub-agent tool: persist the Dynamic Workflow definition and live-register it.\n * Calls `mastra.addDynamicWorkflow()`. After this returns the workflow is\n * immediately runnable.\n *\n * The complete-definition authoring contract (graph families, mapping sources,\n * predicate DSL, and all model-facing guidance) is shared with Studio's\n * `submit-workflow-draft` and lives in `@mastra/core/workflows/builder`.\n */\nimport type { Mastra } from '@mastra/core/mastra';\nimport { createTool } from '@mastra/core/tools';\nimport { normalizeWorkflowBuilderDefinition, workflowBuilderDefinitionSchema } from '@mastra/core/workflows/builder';\nimport { z } from 'zod';\n\nexport { WORKFLOW_BUILDER_MAPPING_CONFIG_DESCRIPTION as MAPPING_CONFIG_DESCRIPTION } from '@mastra/core/workflows/builder';\n\nexport const workflowDefinitionInputSchema = z.preprocess(\n normalizeWorkflowBuilderDefinition,\n workflowBuilderDefinitionSchema,\n);\n\nexport const saveWorkflowTool = createTool({\n id: 'save-workflow',\n description:\n 'Persist a Dynamic Workflow definition and live-register it on the running Mastra instance. Supports all ten persisted graph families: agent, tool, mapping, nested workflow, parallel, foreach, sleep, sleepUntil, conditional, and loop. Conditional and loop entries require declarative predicates; JS closures cannot round-trip through storage. After this returns, the workflow is immediately runnable. Call it exactly once with the complete definition; there is no incremental save API.',\n inputSchema: workflowDefinitionInputSchema,\n outputSchema: z.object({\n ok: z.literal(true),\n id: z.string(),\n }),\n execute: async (def, { mastra }) => {\n if (!mastra) throw new Error('save-workflow requires a Mastra context.');\n const m = mastra as Mastra;\n const normalizedDefinition = normalizeWorkflowBuilderDefinition(def);\n\n // `mastra.addDynamicWorkflow` performs registry pre-flight — a mis-classified\n // agentId/toolId or unregistered id throws before rehydration with an\n // actionable message listing every offender. It also rejects JSON Schemas\n // that use keywords the storage-side converter can't rehydrate\n // (oneOf/anyOf/allOf/not/$ref/patternProperties/discriminator).\n await m.addDynamicWorkflow(normalizedDefinition as Parameters<Mastra['addDynamicWorkflow']>[0]);\n return { ok: true as const, id: normalizedDefinition.id };\n },\n});\n"],"mappings":";;;;AAgBA,MAAa,gCAAgC,EAAE,WAC7C,oCACA,+BACF;AAEA,MAAa,mBAAmB,WAAW;CACzC,IAAI;CACJ,aACE;CACF,aAAa;CACb,cAAc,EAAE,OAAO;EACrB,IAAI,EAAE,QAAQ,IAAI;EAClB,IAAI,EAAE,OAAO;CACf,CAAC;CACD,SAAS,OAAO,KAAK,EAAE,aAAa;EAClC,IAAI,CAAC,QAAQ,MAAM,IAAI,MAAM,0CAA0C;EACvE,MAAM,IAAI;EACV,MAAM,uBAAuB,mCAAmC,GAAG;EAOnE,MAAM,EAAE,mBAAmB,oBAAmE;EAC9F,OAAO;GAAE,IAAI;GAAe,IAAI,qBAAqB;EAAG;CAC1D;AACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const WORKFLOW_AUTHORING_TOOL_IDS: {
2
+ readonly listAgents: "list-available-agents";
3
+ readonly listTools: "list-available-tools";
4
+ readonly listWorkflows: "list-available-workflows";
5
+ readonly saveWorkflow: "save-workflow";
6
+ };
7
+ export declare const WORKFLOW_MANAGEMENT_TOOL_IDS: {
8
+ readonly createWorkflow: "create-workflow";
9
+ readonly listWorkflows: "list-workflows";
10
+ readonly getWorkflow: "get-workflow";
11
+ readonly runWorkflow: "run-workflow";
12
+ readonly deleteWorkflow: "delete-workflow";
13
+ };
14
+ export declare const WORKFLOW_BUILDER_NOISE_TOOL_IDS: readonly ("create-workflow" | "delete-workflow" | "get-workflow" | "list-workflows" | "run-workflow" | "list-available-agents" | "list-available-tools" | "list-available-workflows" | "save-workflow")[];
15
+ //# sourceMappingURL=tool-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-ids.d.ts","sourceRoot":"","sources":["../../../src/tools/workflows/tool-ids.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;CAK9B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;CAM/B,CAAC;AAEX,eAAO,MAAM,+BAA+B,2MAGlC,CAAC"}
@@ -0,0 +1,19 @@
1
+ //#region src/tools/workflows/tool-ids.ts
2
+ const WORKFLOW_AUTHORING_TOOL_IDS = {
3
+ listAgents: "list-available-agents",
4
+ listTools: "list-available-tools",
5
+ listWorkflows: "list-available-workflows",
6
+ saveWorkflow: "save-workflow"
7
+ };
8
+ const WORKFLOW_MANAGEMENT_TOOL_IDS = {
9
+ createWorkflow: "create-workflow",
10
+ listWorkflows: "list-workflows",
11
+ getWorkflow: "get-workflow",
12
+ runWorkflow: "run-workflow",
13
+ deleteWorkflow: "delete-workflow"
14
+ };
15
+ const WORKFLOW_BUILDER_NOISE_TOOL_IDS = [...Object.values(WORKFLOW_AUTHORING_TOOL_IDS), ...Object.values(WORKFLOW_MANAGEMENT_TOOL_IDS)];
16
+ //#endregion
17
+ export { WORKFLOW_AUTHORING_TOOL_IDS, WORKFLOW_BUILDER_NOISE_TOOL_IDS, WORKFLOW_MANAGEMENT_TOOL_IDS };
18
+
19
+ //# sourceMappingURL=tool-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-ids.js","names":[],"sources":["../../../src/tools/workflows/tool-ids.ts"],"sourcesContent":["export const WORKFLOW_AUTHORING_TOOL_IDS = {\n listAgents: 'list-available-agents',\n listTools: 'list-available-tools',\n listWorkflows: 'list-available-workflows',\n saveWorkflow: 'save-workflow',\n} as const;\n\nexport const WORKFLOW_MANAGEMENT_TOOL_IDS = {\n createWorkflow: 'create-workflow',\n listWorkflows: 'list-workflows',\n getWorkflow: 'get-workflow',\n runWorkflow: 'run-workflow',\n deleteWorkflow: 'delete-workflow',\n} as const;\n\nexport const WORKFLOW_BUILDER_NOISE_TOOL_IDS = [\n ...Object.values(WORKFLOW_AUTHORING_TOOL_IDS),\n ...Object.values(WORKFLOW_MANAGEMENT_TOOL_IDS),\n] as const;\n"],"mappings":";AAAA,MAAa,8BAA8B;CACzC,YAAY;CACZ,WAAW;CACX,eAAe;CACf,cAAc;AAChB;AAEA,MAAa,+BAA+B;CAC1C,gBAAgB;CAChB,eAAe;CACf,aAAa;CACb,aAAa;CACb,gBAAgB;AAClB;AAEA,MAAa,kCAAkC,CAC7C,GAAG,OAAO,OAAO,2BAA2B,GAC5C,GAAG,OAAO,OAAO,4BAA4B,CAC/C"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Statically register workflow-related primitives on the mastracode Mastra
3
+ * instance so `mastra.listTools()` + `mastra.listAgents()` — and, therefore,
4
+ * the workflow-builder's discovery + the workflow rehydrator — see everything
5
+ * a workflow might want to compose:
6
+ *
7
+ * - workflow-builder sub-agent (so `create-workflow` can delegate)
8
+ * - code-agent (as a plain agent, callable via agent steps)
9
+ * - workspace tools (view/write/edit/find_files/execute_command/etc.)
10
+ * - web tools (Tavily-gated) so workflows can compose search/extract steps
11
+ * - notification_inbox
12
+ * - snapshot of MCP tools from mcpManager
13
+ *
14
+ * Called after `controller.init()` but before `startWorkers()` in both boot
15
+ * paths, so `loadStoredWorkflows()` (inside startWorkers) sees the full
16
+ * registry when rehydrating previously-saved workflows.
17
+ *
18
+ * Tradeoffs:
19
+ * - MCP tools are snapshotted. Servers added after boot are invisible to
20
+ * the workflow-builder until restart.
21
+ * - Web tool flavor is Tavily-only. Provider-native (Anthropic/OpenAI) web
22
+ * tools are skipped because they'd freeze workflows to one model provider.
23
+ * - Workflow tool steps get the closed-over workspace + auth (Tavily key,
24
+ * MCP server credentials), not per-request permissions — deliberate; if
25
+ * the user built + saved the workflow they meant to run it.
26
+ */
27
+ import type { Agent } from '@mastra/core/agent';
28
+ import type { Mastra } from '@mastra/core/mastra';
29
+ import type { McpManager } from '../mcp/index.js';
30
+ export interface RegisterWorkflowBuilderPrimitivesOptions {
31
+ projectPath: string;
32
+ /**
33
+ * Extra allowed paths the workspace can read/write. Mastracode normally
34
+ * collects skill paths + sandboxAllowedPaths per-request; for the workflow
35
+ * workspace we accept anything the caller wants up-front and trust the
36
+ * worker process to honour the user's intent.
37
+ */
38
+ allowedPaths?: string[];
39
+ /**
40
+ * The code-agent Agent instance. Registered as `code-agent` so workflows
41
+ * can compose it in agent steps. It already has full dynamic tool access
42
+ * (workspace/MCP/web/etc.) via its own `tools: createDynamicTools(...)`.
43
+ */
44
+ codeAgent: Agent;
45
+ /**
46
+ * McpManager for snapshotting MCP tools at boot. Omit or pass undefined
47
+ * if MCP is disabled — workflow-builder will just see fewer tools.
48
+ */
49
+ mcpManager?: McpManager;
50
+ }
51
+ export declare function registerWorkflowBuilderPrimitives(mastra: Mastra, options: RegisterWorkflowBuilderPrimitivesOptions): Promise<void>;
52
+ //# sourceMappingURL=register-primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-primitives.d.ts","sourceRoot":"","sources":["../../src/workflows/register-primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAIzC,MAAM,WAAW,wCAAwC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,SAAS,EAAE,KAAK,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wCAAwC,GAChD,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -0,0 +1,39 @@
1
+ import { createWebExtractTool, createWebSearchTool, hasTavilyKey } from "../tools/web-search.js";
2
+ import { MC_TOOLS } from "../tool-names.js";
3
+ import { MASTRACODE_WORKSPACE_TOOLS } from "../agents/tool-availability.js";
4
+ import { LazyNotificationsStorage } from "../agents/tools.js";
5
+ import { workflowBuilderAgent } from "../agents/workflow-builder-agent.js";
6
+ import { createNotificationInboxTool } from "@mastra/core/notifications";
7
+ import { LocalFilesystem, LocalSandbox, Workspace, createWorkspaceTools } from "@mastra/core/workspace";
8
+ //#region src/workflows/register-primitives.ts
9
+ async function registerWorkflowBuilderPrimitives(mastra, options) {
10
+ const { projectPath, allowedPaths = [], codeAgent, mcpManager } = options;
11
+ mastra.addAgent(workflowBuilderAgent, "workflow-builder");
12
+ mastra.addAgent(codeAgent, "code-agent");
13
+ const workspace = new Workspace({
14
+ id: "workflow-builder-workspace",
15
+ name: "Mastra Code Workspace (workflows)",
16
+ filesystem: new LocalFilesystem({
17
+ basePath: projectPath,
18
+ allowedPaths: [projectPath, ...allowedPaths]
19
+ }),
20
+ sandbox: new LocalSandbox({ workingDirectory: projectPath }),
21
+ tools: MASTRACODE_WORKSPACE_TOOLS
22
+ });
23
+ const workspaceTools = await createWorkspaceTools(workspace, { workspace });
24
+ for (const [toolId, tool] of Object.entries(workspaceTools)) mastra.addTool(tool, toolId);
25
+ if (hasTavilyKey()) {
26
+ mastra.addTool(createWebSearchTool(), "web-search");
27
+ mastra.addTool(createWebExtractTool(), "web-extract");
28
+ }
29
+ const storage = mastra.getStorage();
30
+ if (storage) {
31
+ const notificationInbox = createNotificationInboxTool({ storage: new LazyNotificationsStorage(storage) });
32
+ mastra.addTool(notificationInbox, MC_TOOLS.NOTIFICATION_INBOX);
33
+ }
34
+ if (mcpManager) for (const [toolId, tool] of Object.entries(mcpManager.getTools())) mastra.addTool(tool, toolId);
35
+ }
36
+ //#endregion
37
+ export { registerWorkflowBuilderPrimitives };
38
+
39
+ //# sourceMappingURL=register-primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-primitives.js","names":[],"sources":["../../src/workflows/register-primitives.ts"],"sourcesContent":["/**\n * Statically register workflow-related primitives on the mastracode Mastra\n * instance so `mastra.listTools()` + `mastra.listAgents()` — and, therefore,\n * the workflow-builder's discovery + the workflow rehydrator — see everything\n * a workflow might want to compose:\n *\n * - workflow-builder sub-agent (so `create-workflow` can delegate)\n * - code-agent (as a plain agent, callable via agent steps)\n * - workspace tools (view/write/edit/find_files/execute_command/etc.)\n * - web tools (Tavily-gated) so workflows can compose search/extract steps\n * - notification_inbox\n * - snapshot of MCP tools from mcpManager\n *\n * Called after `controller.init()` but before `startWorkers()` in both boot\n * paths, so `loadStoredWorkflows()` (inside startWorkers) sees the full\n * registry when rehydrating previously-saved workflows.\n *\n * Tradeoffs:\n * - MCP tools are snapshotted. Servers added after boot are invisible to\n * the workflow-builder until restart.\n * - Web tool flavor is Tavily-only. Provider-native (Anthropic/OpenAI) web\n * tools are skipped because they'd freeze workflows to one model provider.\n * - Workflow tool steps get the closed-over workspace + auth (Tavily key,\n * MCP server credentials), not per-request permissions — deliberate; if\n * the user built + saved the workflow they meant to run it.\n */\nimport type { Agent } from '@mastra/core/agent';\nimport type { Mastra } from '@mastra/core/mastra';\nimport { createNotificationInboxTool } from '@mastra/core/notifications';\nimport { LocalFilesystem, LocalSandbox, Workspace, createWorkspaceTools } from '@mastra/core/workspace';\nimport { MASTRACODE_WORKSPACE_TOOLS } from '../agents/tool-availability.js';\nimport { LazyNotificationsStorage } from '../agents/tools.js';\nimport { workflowBuilderAgent } from '../agents/workflow-builder-agent.js';\nimport type { McpManager } from '../mcp';\nimport { MC_TOOLS } from '../tool-names.js';\nimport { createWebExtractTool, createWebSearchTool, hasTavilyKey } from '../tools/web-search.js';\n\nexport interface RegisterWorkflowBuilderPrimitivesOptions {\n projectPath: string;\n /**\n * Extra allowed paths the workspace can read/write. Mastracode normally\n * collects skill paths + sandboxAllowedPaths per-request; for the workflow\n * workspace we accept anything the caller wants up-front and trust the\n * worker process to honour the user's intent.\n */\n allowedPaths?: string[];\n /**\n * The code-agent Agent instance. Registered as `code-agent` so workflows\n * can compose it in agent steps. It already has full dynamic tool access\n * (workspace/MCP/web/etc.) via its own `tools: createDynamicTools(...)`.\n */\n codeAgent: Agent;\n /**\n * McpManager for snapshotting MCP tools at boot. Omit or pass undefined\n * if MCP is disabled — workflow-builder will just see fewer tools.\n */\n mcpManager?: McpManager;\n}\n\nexport async function registerWorkflowBuilderPrimitives(\n mastra: Mastra,\n options: RegisterWorkflowBuilderPrimitivesOptions,\n): Promise<void> {\n const { projectPath, allowedPaths = [], codeAgent, mcpManager } = options;\n\n // 1. Agents workflows can compose.\n mastra.addAgent(workflowBuilderAgent, 'workflow-builder');\n mastra.addAgent(codeAgent, 'code-agent');\n\n // 2. Workspace tools — bound to a project-rooted local workspace.\n const workspace = new Workspace({\n id: 'workflow-builder-workspace',\n name: 'Mastra Code Workspace (workflows)',\n filesystem: new LocalFilesystem({\n basePath: projectPath,\n allowedPaths: [projectPath, ...allowedPaths],\n }),\n sandbox: new LocalSandbox({ workingDirectory: projectPath }),\n tools: MASTRACODE_WORKSPACE_TOOLS,\n });\n const workspaceTools = await createWorkspaceTools(workspace, { workspace });\n for (const [toolId, tool] of Object.entries(workspaceTools)) {\n mastra.addTool(tool, toolId);\n }\n\n // 3. Web tools — Tavily only. Provider-native web tools (Anthropic/OpenAI)\n // are model-locked and would freeze workflows to one provider.\n if (hasTavilyKey()) {\n mastra.addTool(createWebSearchTool(), 'web-search');\n mastra.addTool(createWebExtractTool(), 'web-extract');\n }\n\n // 4. notification_inbox — LazyNotificationsStorage resolves the notifications\n // domain per-call rather than at boot, so it works even when the domain\n // isn't fully initialised yet.\n const storage = mastra.getStorage();\n if (storage) {\n const notificationInbox = createNotificationInboxTool({\n storage: new LazyNotificationsStorage(storage as never),\n });\n mastra.addTool(notificationInbox, MC_TOOLS.NOTIFICATION_INBOX);\n }\n\n // 5. MCP tools — snapshot the current set. Ids are already server-namespaced\n // (`${serverName}_${toolName}`), so the workflow rehydrator's\n // `mastra.getTool(id)` resolves them at run time.\n if (mcpManager) {\n for (const [toolId, tool] of Object.entries(mcpManager.getTools())) {\n mastra.addTool(tool, toolId);\n }\n }\n}\n"],"mappings":";;;;;;;;AA2DA,eAAsB,kCACpB,QACA,SACe;CACf,MAAM,EAAE,aAAa,eAAe,CAAC,GAAG,WAAW,eAAe;CAGlE,OAAO,SAAS,sBAAsB,kBAAkB;CACxD,OAAO,SAAS,WAAW,YAAY;CAGvC,MAAM,YAAY,IAAI,UAAU;EAC9B,IAAI;EACJ,MAAM;EACN,YAAY,IAAI,gBAAgB;GAC9B,UAAU;GACV,cAAc,CAAC,aAAa,GAAG,YAAY;EAC7C,CAAC;EACD,SAAS,IAAI,aAAa,EAAE,kBAAkB,YAAY,CAAC;EAC3D,OAAO;CACT,CAAC;CACD,MAAM,iBAAiB,MAAM,qBAAqB,WAAW,EAAE,UAAU,CAAC;CAC1E,KAAK,MAAM,CAAC,QAAQ,SAAS,OAAO,QAAQ,cAAc,GACxD,OAAO,QAAQ,MAAM,MAAM;CAK7B,IAAI,aAAa,GAAG;EAClB,OAAO,QAAQ,oBAAoB,GAAG,YAAY;EAClD,OAAO,QAAQ,qBAAqB,GAAG,aAAa;CACtD;CAKA,MAAM,UAAU,OAAO,WAAW;CAClC,IAAI,SAAS;EACX,MAAM,oBAAoB,4BAA4B,EACpD,SAAS,IAAI,yBAAyB,OAAgB,EACxD,CAAC;EACD,OAAO,QAAQ,mBAAmB,SAAS,kBAAkB;CAC/D;CAKA,IAAI,YACF,KAAK,MAAM,CAAC,QAAQ,SAAS,OAAO,QAAQ,WAAW,SAAS,CAAC,GAC/D,OAAO,QAAQ,MAAM,MAAM;AAGjC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Thin wrapper around `mastra.getStorage().getStore('workflowDefinitions')` and
3
+ * `mastra.getWorkflow(id).createRun().stream(...)` so both the parent-mode
4
+ * tools and the `/workflows` slash command go through one implementation.
5
+ */
6
+ import type { Mastra } from '@mastra/core/mastra';
7
+ export interface StoredWorkflowRow {
8
+ id: string;
9
+ description?: string;
10
+ status: 'active' | 'archived';
11
+ inputSchema?: unknown;
12
+ outputSchema?: unknown;
13
+ graph?: unknown[];
14
+ createdAt?: Date;
15
+ updatedAt?: Date;
16
+ }
17
+ export interface RunResult {
18
+ status: string;
19
+ result?: unknown;
20
+ error?: unknown;
21
+ steps?: Record<string, unknown>;
22
+ tripwire?: {
23
+ reason?: string;
24
+ retry?: unknown;
25
+ metadata?: unknown;
26
+ processorId?: string;
27
+ };
28
+ }
29
+ export interface WorkflowRunEvent {
30
+ type: string;
31
+ payload?: Record<string, unknown> & {
32
+ id?: string;
33
+ };
34
+ [key: string]: unknown;
35
+ }
36
+ export type WorkflowRunEventCallback = (event: WorkflowRunEvent) => void;
37
+ export declare function listWorkflows(mastra: Mastra): Promise<{
38
+ workflows: StoredWorkflowRow[];
39
+ total: number;
40
+ }>;
41
+ export declare function getWorkflow(mastra: Mastra, id: string): Promise<StoredWorkflowRow | null>;
42
+ export declare function deleteWorkflow(mastra: Mastra, id: string): Promise<{
43
+ ok: true;
44
+ id: string;
45
+ }>;
46
+ export declare function runWorkflow(mastra: Mastra, workflowId: string, inputData: unknown,
47
+ /**
48
+ * Optional. When provided, passed through to `run.stream(...)` so agent steps
49
+ * (like `code-agent`) that depend on session state — `getDynamicModel` reads
50
+ * `controller.session.modelId` off it — can resolve correctly.
51
+ *
52
+ * Chat-driven `run-workflow` inherits its context from the parent code-agent
53
+ * turn, so this is unused there. The `/workflows run` slash handler builds a
54
+ * synthetic context from the current TUI session and passes it here.
55
+ */
56
+ requestContext?: unknown,
57
+ /**
58
+ * Optional. When provided, invoked for every `WorkflowStreamEvent` the run
59
+ * emits — used by the `/workflows run` slash handler to render live per-step
60
+ * progress in the TUI. Non-fatal: errors in the callback are swallowed so a
61
+ * misbehaving consumer can't take the workflow down.
62
+ */
63
+ onEvent?: WorkflowRunEventCallback): Promise<RunResult>;
64
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/workflows/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3F;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AA0BzE,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAI9G;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAG/F;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAQlG;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO;AAClB;;;;;;;;GAQG;AACH,cAAc,CAAC,EAAE,OAAO;AACxB;;;;;GAKG;AACH,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,SAAS,CAAC,CAoCpB"}