@db-lyon/flowkit 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +37 -0
  2. package/dist/config/index.d.ts +2 -2
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/index.js +1 -1
  5. package/dist/config/index.js.map +1 -1
  6. package/dist/config/schema.d.ts +377 -0
  7. package/dist/config/schema.d.ts.map +1 -1
  8. package/dist/config/schema.js +60 -0
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/flow/runner.d.ts +14 -1
  11. package/dist/flow/runner.d.ts.map +1 -1
  12. package/dist/flow/runner.js +72 -2
  13. package/dist/flow/runner.js.map +1 -1
  14. package/dist/index.d.ts +10 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +5 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/task/agent-prompt-task.d.ts +26 -7
  19. package/dist/task/agent-prompt-task.d.ts.map +1 -1
  20. package/dist/task/agent-prompt-task.js +53 -19
  21. package/dist/task/agent-prompt-task.js.map +1 -1
  22. package/dist/task/agent-task.d.ts +98 -0
  23. package/dist/task/agent-task.d.ts.map +1 -0
  24. package/dist/task/agent-task.js +254 -0
  25. package/dist/task/agent-task.js.map +1 -0
  26. package/dist/task/base-task.d.ts +25 -0
  27. package/dist/task/base-task.d.ts.map +1 -1
  28. package/dist/task/base-task.js.map +1 -1
  29. package/dist/task/concurrency.d.ts +9 -0
  30. package/dist/task/concurrency.d.ts.map +1 -0
  31. package/dist/task/concurrency.js +24 -0
  32. package/dist/task/concurrency.js.map +1 -0
  33. package/dist/task/index.d.ts +11 -1
  34. package/dist/task/index.d.ts.map +1 -1
  35. package/dist/task/index.js +6 -0
  36. package/dist/task/index.js.map +1 -1
  37. package/dist/task/json-schema.d.ts +37 -0
  38. package/dist/task/json-schema.d.ts.map +1 -0
  39. package/dist/task/json-schema.js +223 -0
  40. package/dist/task/json-schema.js.map +1 -0
  41. package/dist/task/llm-provider.d.ts +81 -8
  42. package/dist/task/llm-provider.d.ts.map +1 -1
  43. package/dist/task/llm-provider.js +9 -3
  44. package/dist/task/llm-provider.js.map +1 -1
  45. package/dist/task/llm-runner.d.ts +72 -0
  46. package/dist/task/llm-runner.d.ts.map +1 -0
  47. package/dist/task/llm-runner.js +213 -0
  48. package/dist/task/llm-runner.js.map +1 -0
  49. package/dist/task/redact.d.ts +22 -0
  50. package/dist/task/redact.d.ts.map +1 -0
  51. package/dist/task/redact.js +47 -0
  52. package/dist/task/redact.js.map +1 -0
  53. package/package.json +1 -1
package/README.md CHANGED
@@ -163,6 +163,42 @@ import { ShellTask } from '@db-lyon/flowkit';
163
163
  registry.register('shell', ShellTask as any);
164
164
  ```
165
165
 
166
+ ### AI agents
167
+
168
+ Run LLM calls as steps. Flowkit has **no SDK dependencies** — you wire a
169
+ model-agnostic `LLMProvider` onto the task context as `ctx.llm`, and two tasks
170
+ consume it:
171
+
172
+ - `agent_prompt` (`AgentPromptTask`) — single-shot prompt, with optional
173
+ JSON-Schema structured output (validated, with a repair re-prompt).
174
+ - `agent` (`AgentTask`) — a tool-calling loop. Tools reference flowkit tasks,
175
+ flows, or other agents (or context handlers), gated by an allowlist and
176
+ per-tool argument validation. Multiple tool calls in a turn (including
177
+ parallel sub-agents) run concurrently under a cap.
178
+
179
+ Reusable agents live under an `agents:` root key and run as flow steps or as
180
+ other agents' tools, with mandatory budgets (`maxIterations`, `tokenBudget`,
181
+ `maxAgentDepth`). Iteration and concurrency live in the agent runtime, so a flow
182
+ stays a sequential spine with no `loop:` or parallel-step primitive.
183
+
184
+ ```yaml
185
+ tasks:
186
+ extract:
187
+ class_path: agent_prompt
188
+ options:
189
+ prompt: "Pull the ticket fields from:\n${steps.1.data.text}"
190
+ schema:
191
+ type: object
192
+ required: [title, priority]
193
+ properties:
194
+ title: { type: string }
195
+ priority: { type: string, enum: [low, medium, high] }
196
+ ```
197
+
198
+ Every call is hardened by a shared core: per-call `timeout` (with provider
199
+ abort), `retries` with exponential backoff, structured-output validation +
200
+ repair, and output-size caps. See [docs/ai-agents.md](docs/ai-agents.md).
201
+
166
202
  ### Nested flows
167
203
 
168
204
  A step can reference another flow instead of a task:
@@ -330,6 +366,7 @@ import { topologicalSort } from '@db-lyon/flowkit/dag';
330
366
 
331
367
  - [Getting started](docs/getting-started.md) — step-by-step setup guide
332
368
  - [Custom tasks](docs/custom-tasks.md) — writing and registering tasks
369
+ - [AI agents](docs/ai-agents.md) — LLM prompts, structured output, tool-calling agents
333
370
  - [Configuration](docs/configuration.md) — YAML schema, layering, deep merge
334
371
  - [API reference](docs/api-reference.md) — full type and function reference
335
372
 
@@ -1,6 +1,6 @@
1
1
  export { deepMerge } from './deep-merge.js';
2
- export { TaskOptionsSchema, TaskDefinitionSchema, FlowStepSchema, FlowDefinitionSchema, EngineConfigSchema, } from './schema.js';
3
- export type { TaskOptions, TaskDefinition, FlowStep, FlowDefinition, EngineConfig, } from './schema.js';
2
+ export { TaskOptionsSchema, TaskDefinitionSchema, FlowStepSchema, FlowDefinitionSchema, AgentToolSchema, AgentBudgetSchema, AgentDefinitionSchema, EngineConfigSchema, } from './schema.js';
3
+ export type { TaskOptions, TaskDefinition, FlowStep, FlowDefinition, AgentTool, AgentBudget, AgentDefinition, EngineConfig, } from './schema.js';
4
4
  export { loadConfig, loadRawYaml, findConfigFile } from './loader.js';
5
5
  export type { LoadConfigOptions, LoadedConfig } from './loader.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { deepMerge } from './deep-merge.js';
2
- export { TaskOptionsSchema, TaskDefinitionSchema, FlowStepSchema, FlowDefinitionSchema, EngineConfigSchema, } from './schema.js';
2
+ export { TaskOptionsSchema, TaskDefinitionSchema, FlowStepSchema, FlowDefinitionSchema, AgentToolSchema, AgentBudgetSchema, AgentDefinitionSchema, EngineConfigSchema, } from './schema.js';
3
3
  export { loadConfig, loadRawYaml, findConfigFile } from './loader.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAarB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -485,6 +485,203 @@ export declare const FlowDefinitionSchema: z.ZodObject<{
485
485
  }[] | undefined;
486
486
  rollback_on_failure?: boolean | undefined;
487
487
  }>;
488
+ /**
489
+ * A tool an agent may call. References an existing flowkit primitive — a `task`,
490
+ * a `flow`, or another `agent` — so tool dispatch reuses the registry, options,
491
+ * and `${...}` reference machinery rather than inventing a parallel concept.
492
+ * `name` (defaulted from the reference) is what the model sees.
493
+ */
494
+ export declare const AgentToolSchema: z.ZodEffects<z.ZodObject<{
495
+ name: z.ZodOptional<z.ZodString>;
496
+ task: z.ZodOptional<z.ZodString>;
497
+ flow: z.ZodOptional<z.ZodString>;
498
+ agent: z.ZodOptional<z.ZodString>;
499
+ description: z.ZodOptional<z.ZodString>;
500
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
501
+ }, "strip", z.ZodTypeAny, {
502
+ description?: string | undefined;
503
+ task?: string | undefined;
504
+ flow?: string | undefined;
505
+ name?: string | undefined;
506
+ agent?: string | undefined;
507
+ parameters?: Record<string, unknown> | undefined;
508
+ }, {
509
+ description?: string | undefined;
510
+ task?: string | undefined;
511
+ flow?: string | undefined;
512
+ name?: string | undefined;
513
+ agent?: string | undefined;
514
+ parameters?: Record<string, unknown> | undefined;
515
+ }>, {
516
+ description?: string | undefined;
517
+ task?: string | undefined;
518
+ flow?: string | undefined;
519
+ name?: string | undefined;
520
+ agent?: string | undefined;
521
+ parameters?: Record<string, unknown> | undefined;
522
+ }, {
523
+ description?: string | undefined;
524
+ task?: string | undefined;
525
+ flow?: string | undefined;
526
+ name?: string | undefined;
527
+ agent?: string | undefined;
528
+ parameters?: Record<string, unknown> | undefined;
529
+ }>;
530
+ /**
531
+ * Hard bounds on an agent run. A tool-using agent with no caps is unbounded
532
+ * spend, so a budget is the intended companion to every agent definition.
533
+ */
534
+ export declare const AgentBudgetSchema: z.ZodObject<{
535
+ /** Max model turns. */
536
+ maxIterations: z.ZodOptional<z.ZodNumber>;
537
+ /** Aggregate input+output token cap across the whole loop (incl. sub-agents). */
538
+ tokenBudget: z.ZodOptional<z.ZodNumber>;
539
+ /** Cap on a single tool result's serialized size, in chars. */
540
+ maxToolResultChars: z.ZodOptional<z.ZodNumber>;
541
+ /** Max tool calls run concurrently within a turn. */
542
+ maxConcurrency: z.ZodOptional<z.ZodNumber>;
543
+ /** Max depth of agent-calls-agent recursion. */
544
+ maxAgentDepth: z.ZodOptional<z.ZodNumber>;
545
+ }, "strip", z.ZodTypeAny, {
546
+ maxIterations?: number | undefined;
547
+ tokenBudget?: number | undefined;
548
+ maxToolResultChars?: number | undefined;
549
+ maxConcurrency?: number | undefined;
550
+ maxAgentDepth?: number | undefined;
551
+ }, {
552
+ maxIterations?: number | undefined;
553
+ tokenBudget?: number | undefined;
554
+ maxToolResultChars?: number | undefined;
555
+ maxConcurrency?: number | undefined;
556
+ maxAgentDepth?: number | undefined;
557
+ }>;
558
+ export declare const AgentDefinitionSchema: z.ZodObject<{
559
+ description: z.ZodOptional<z.ZodString>;
560
+ /** Model identifier — provider-specific. */
561
+ model: z.ZodOptional<z.ZodString>;
562
+ /** System prompt / rules. */
563
+ system: z.ZodOptional<z.ZodString>;
564
+ /** Tools the agent may call (its allowlist). */
565
+ tools: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
566
+ name: z.ZodOptional<z.ZodString>;
567
+ task: z.ZodOptional<z.ZodString>;
568
+ flow: z.ZodOptional<z.ZodString>;
569
+ agent: z.ZodOptional<z.ZodString>;
570
+ description: z.ZodOptional<z.ZodString>;
571
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
572
+ }, "strip", z.ZodTypeAny, {
573
+ description?: string | undefined;
574
+ task?: string | undefined;
575
+ flow?: string | undefined;
576
+ name?: string | undefined;
577
+ agent?: string | undefined;
578
+ parameters?: Record<string, unknown> | undefined;
579
+ }, {
580
+ description?: string | undefined;
581
+ task?: string | undefined;
582
+ flow?: string | undefined;
583
+ name?: string | undefined;
584
+ agent?: string | undefined;
585
+ parameters?: Record<string, unknown> | undefined;
586
+ }>, {
587
+ description?: string | undefined;
588
+ task?: string | undefined;
589
+ flow?: string | undefined;
590
+ name?: string | undefined;
591
+ agent?: string | undefined;
592
+ parameters?: Record<string, unknown> | undefined;
593
+ }, {
594
+ description?: string | undefined;
595
+ task?: string | undefined;
596
+ flow?: string | undefined;
597
+ name?: string | undefined;
598
+ agent?: string | undefined;
599
+ parameters?: Record<string, unknown> | undefined;
600
+ }>, "many">>;
601
+ /** JSON Schema for the agent's final answer. */
602
+ schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
603
+ /** Hard run bounds. */
604
+ budget: z.ZodOptional<z.ZodObject<{
605
+ /** Max model turns. */
606
+ maxIterations: z.ZodOptional<z.ZodNumber>;
607
+ /** Aggregate input+output token cap across the whole loop (incl. sub-agents). */
608
+ tokenBudget: z.ZodOptional<z.ZodNumber>;
609
+ /** Cap on a single tool result's serialized size, in chars. */
610
+ maxToolResultChars: z.ZodOptional<z.ZodNumber>;
611
+ /** Max tool calls run concurrently within a turn. */
612
+ maxConcurrency: z.ZodOptional<z.ZodNumber>;
613
+ /** Max depth of agent-calls-agent recursion. */
614
+ maxAgentDepth: z.ZodOptional<z.ZodNumber>;
615
+ }, "strip", z.ZodTypeAny, {
616
+ maxIterations?: number | undefined;
617
+ tokenBudget?: number | undefined;
618
+ maxToolResultChars?: number | undefined;
619
+ maxConcurrency?: number | undefined;
620
+ maxAgentDepth?: number | undefined;
621
+ }, {
622
+ maxIterations?: number | undefined;
623
+ tokenBudget?: number | undefined;
624
+ maxToolResultChars?: number | undefined;
625
+ maxConcurrency?: number | undefined;
626
+ maxAgentDepth?: number | undefined;
627
+ }>>;
628
+ /** Sampling temperature. */
629
+ temperature: z.ZodOptional<z.ZodNumber>;
630
+ /** Per-call max output tokens. */
631
+ maxTokens: z.ZodOptional<z.ZodNumber>;
632
+ /** Per-call timeout in ms. */
633
+ timeout: z.ZodOptional<z.ZodNumber>;
634
+ /** Transport retries per call. */
635
+ retries: z.ZodOptional<z.ZodNumber>;
636
+ }, "strip", z.ZodTypeAny, {
637
+ tools: {
638
+ description?: string | undefined;
639
+ task?: string | undefined;
640
+ flow?: string | undefined;
641
+ name?: string | undefined;
642
+ agent?: string | undefined;
643
+ parameters?: Record<string, unknown> | undefined;
644
+ }[];
645
+ description?: string | undefined;
646
+ retries?: number | undefined;
647
+ model?: string | undefined;
648
+ system?: string | undefined;
649
+ schema?: Record<string, unknown> | undefined;
650
+ budget?: {
651
+ maxIterations?: number | undefined;
652
+ tokenBudget?: number | undefined;
653
+ maxToolResultChars?: number | undefined;
654
+ maxConcurrency?: number | undefined;
655
+ maxAgentDepth?: number | undefined;
656
+ } | undefined;
657
+ temperature?: number | undefined;
658
+ maxTokens?: number | undefined;
659
+ timeout?: number | undefined;
660
+ }, {
661
+ description?: string | undefined;
662
+ retries?: number | undefined;
663
+ model?: string | undefined;
664
+ system?: string | undefined;
665
+ tools?: {
666
+ description?: string | undefined;
667
+ task?: string | undefined;
668
+ flow?: string | undefined;
669
+ name?: string | undefined;
670
+ agent?: string | undefined;
671
+ parameters?: Record<string, unknown> | undefined;
672
+ }[] | undefined;
673
+ schema?: Record<string, unknown> | undefined;
674
+ budget?: {
675
+ maxIterations?: number | undefined;
676
+ tokenBudget?: number | undefined;
677
+ maxToolResultChars?: number | undefined;
678
+ maxConcurrency?: number | undefined;
679
+ maxAgentDepth?: number | undefined;
680
+ } | undefined;
681
+ temperature?: number | undefined;
682
+ maxTokens?: number | undefined;
683
+ timeout?: number | undefined;
684
+ }>;
488
685
  /** Minimal config shape the engine requires. Consumers extend with their own sections. */
489
686
  export declare const EngineConfigSchema: z.ZodObject<{
490
687
  tasks: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -916,6 +1113,133 @@ export declare const EngineConfigSchema: z.ZodObject<{
916
1113
  }[] | undefined;
917
1114
  rollback_on_failure?: boolean | undefined;
918
1115
  }>>>;
1116
+ agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1117
+ description: z.ZodOptional<z.ZodString>;
1118
+ /** Model identifier — provider-specific. */
1119
+ model: z.ZodOptional<z.ZodString>;
1120
+ /** System prompt / rules. */
1121
+ system: z.ZodOptional<z.ZodString>;
1122
+ /** Tools the agent may call (its allowlist). */
1123
+ tools: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
1124
+ name: z.ZodOptional<z.ZodString>;
1125
+ task: z.ZodOptional<z.ZodString>;
1126
+ flow: z.ZodOptional<z.ZodString>;
1127
+ agent: z.ZodOptional<z.ZodString>;
1128
+ description: z.ZodOptional<z.ZodString>;
1129
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1130
+ }, "strip", z.ZodTypeAny, {
1131
+ description?: string | undefined;
1132
+ task?: string | undefined;
1133
+ flow?: string | undefined;
1134
+ name?: string | undefined;
1135
+ agent?: string | undefined;
1136
+ parameters?: Record<string, unknown> | undefined;
1137
+ }, {
1138
+ description?: string | undefined;
1139
+ task?: string | undefined;
1140
+ flow?: string | undefined;
1141
+ name?: string | undefined;
1142
+ agent?: string | undefined;
1143
+ parameters?: Record<string, unknown> | undefined;
1144
+ }>, {
1145
+ description?: string | undefined;
1146
+ task?: string | undefined;
1147
+ flow?: string | undefined;
1148
+ name?: string | undefined;
1149
+ agent?: string | undefined;
1150
+ parameters?: Record<string, unknown> | undefined;
1151
+ }, {
1152
+ description?: string | undefined;
1153
+ task?: string | undefined;
1154
+ flow?: string | undefined;
1155
+ name?: string | undefined;
1156
+ agent?: string | undefined;
1157
+ parameters?: Record<string, unknown> | undefined;
1158
+ }>, "many">>;
1159
+ /** JSON Schema for the agent's final answer. */
1160
+ schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1161
+ /** Hard run bounds. */
1162
+ budget: z.ZodOptional<z.ZodObject<{
1163
+ /** Max model turns. */
1164
+ maxIterations: z.ZodOptional<z.ZodNumber>;
1165
+ /** Aggregate input+output token cap across the whole loop (incl. sub-agents). */
1166
+ tokenBudget: z.ZodOptional<z.ZodNumber>;
1167
+ /** Cap on a single tool result's serialized size, in chars. */
1168
+ maxToolResultChars: z.ZodOptional<z.ZodNumber>;
1169
+ /** Max tool calls run concurrently within a turn. */
1170
+ maxConcurrency: z.ZodOptional<z.ZodNumber>;
1171
+ /** Max depth of agent-calls-agent recursion. */
1172
+ maxAgentDepth: z.ZodOptional<z.ZodNumber>;
1173
+ }, "strip", z.ZodTypeAny, {
1174
+ maxIterations?: number | undefined;
1175
+ tokenBudget?: number | undefined;
1176
+ maxToolResultChars?: number | undefined;
1177
+ maxConcurrency?: number | undefined;
1178
+ maxAgentDepth?: number | undefined;
1179
+ }, {
1180
+ maxIterations?: number | undefined;
1181
+ tokenBudget?: number | undefined;
1182
+ maxToolResultChars?: number | undefined;
1183
+ maxConcurrency?: number | undefined;
1184
+ maxAgentDepth?: number | undefined;
1185
+ }>>;
1186
+ /** Sampling temperature. */
1187
+ temperature: z.ZodOptional<z.ZodNumber>;
1188
+ /** Per-call max output tokens. */
1189
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1190
+ /** Per-call timeout in ms. */
1191
+ timeout: z.ZodOptional<z.ZodNumber>;
1192
+ /** Transport retries per call. */
1193
+ retries: z.ZodOptional<z.ZodNumber>;
1194
+ }, "strip", z.ZodTypeAny, {
1195
+ tools: {
1196
+ description?: string | undefined;
1197
+ task?: string | undefined;
1198
+ flow?: string | undefined;
1199
+ name?: string | undefined;
1200
+ agent?: string | undefined;
1201
+ parameters?: Record<string, unknown> | undefined;
1202
+ }[];
1203
+ description?: string | undefined;
1204
+ retries?: number | undefined;
1205
+ model?: string | undefined;
1206
+ system?: string | undefined;
1207
+ schema?: Record<string, unknown> | undefined;
1208
+ budget?: {
1209
+ maxIterations?: number | undefined;
1210
+ tokenBudget?: number | undefined;
1211
+ maxToolResultChars?: number | undefined;
1212
+ maxConcurrency?: number | undefined;
1213
+ maxAgentDepth?: number | undefined;
1214
+ } | undefined;
1215
+ temperature?: number | undefined;
1216
+ maxTokens?: number | undefined;
1217
+ timeout?: number | undefined;
1218
+ }, {
1219
+ description?: string | undefined;
1220
+ retries?: number | undefined;
1221
+ model?: string | undefined;
1222
+ system?: string | undefined;
1223
+ tools?: {
1224
+ description?: string | undefined;
1225
+ task?: string | undefined;
1226
+ flow?: string | undefined;
1227
+ name?: string | undefined;
1228
+ agent?: string | undefined;
1229
+ parameters?: Record<string, unknown> | undefined;
1230
+ }[] | undefined;
1231
+ schema?: Record<string, unknown> | undefined;
1232
+ budget?: {
1233
+ maxIterations?: number | undefined;
1234
+ tokenBudget?: number | undefined;
1235
+ maxToolResultChars?: number | undefined;
1236
+ maxConcurrency?: number | undefined;
1237
+ maxAgentDepth?: number | undefined;
1238
+ } | undefined;
1239
+ temperature?: number | undefined;
1240
+ maxTokens?: number | undefined;
1241
+ timeout?: number | undefined;
1242
+ }>>>;
919
1243
  }, "strip", z.ZodTypeAny, {
920
1244
  tasks: Record<string, {
921
1245
  options: Record<string, unknown>;
@@ -979,6 +1303,31 @@ export declare const EngineConfigSchema: z.ZodObject<{
979
1303
  }[] | undefined;
980
1304
  rollback_on_failure?: boolean | undefined;
981
1305
  }>;
1306
+ agents: Record<string, {
1307
+ tools: {
1308
+ description?: string | undefined;
1309
+ task?: string | undefined;
1310
+ flow?: string | undefined;
1311
+ name?: string | undefined;
1312
+ agent?: string | undefined;
1313
+ parameters?: Record<string, unknown> | undefined;
1314
+ }[];
1315
+ description?: string | undefined;
1316
+ retries?: number | undefined;
1317
+ model?: string | undefined;
1318
+ system?: string | undefined;
1319
+ schema?: Record<string, unknown> | undefined;
1320
+ budget?: {
1321
+ maxIterations?: number | undefined;
1322
+ tokenBudget?: number | undefined;
1323
+ maxToolResultChars?: number | undefined;
1324
+ maxConcurrency?: number | undefined;
1325
+ maxAgentDepth?: number | undefined;
1326
+ } | undefined;
1327
+ temperature?: number | undefined;
1328
+ maxTokens?: number | undefined;
1329
+ timeout?: number | undefined;
1330
+ }>;
982
1331
  }, {
983
1332
  tasks?: Record<string, {
984
1333
  options?: Record<string, unknown> | undefined;
@@ -1042,10 +1391,38 @@ export declare const EngineConfigSchema: z.ZodObject<{
1042
1391
  }[] | undefined;
1043
1392
  rollback_on_failure?: boolean | undefined;
1044
1393
  }> | undefined;
1394
+ agents?: Record<string, {
1395
+ description?: string | undefined;
1396
+ retries?: number | undefined;
1397
+ model?: string | undefined;
1398
+ system?: string | undefined;
1399
+ tools?: {
1400
+ description?: string | undefined;
1401
+ task?: string | undefined;
1402
+ flow?: string | undefined;
1403
+ name?: string | undefined;
1404
+ agent?: string | undefined;
1405
+ parameters?: Record<string, unknown> | undefined;
1406
+ }[] | undefined;
1407
+ schema?: Record<string, unknown> | undefined;
1408
+ budget?: {
1409
+ maxIterations?: number | undefined;
1410
+ tokenBudget?: number | undefined;
1411
+ maxToolResultChars?: number | undefined;
1412
+ maxConcurrency?: number | undefined;
1413
+ maxAgentDepth?: number | undefined;
1414
+ } | undefined;
1415
+ temperature?: number | undefined;
1416
+ maxTokens?: number | undefined;
1417
+ timeout?: number | undefined;
1418
+ }> | undefined;
1045
1419
  }>;
1046
1420
  export type TaskOptions = z.infer<typeof TaskOptionsSchema>;
1047
1421
  export type TaskDefinition = z.infer<typeof TaskDefinitionSchema>;
1048
1422
  export type FlowStep = z.infer<typeof FlowStepSchema>;
1049
1423
  export type FlowDefinition = z.infer<typeof FlowDefinitionSchema>;
1424
+ export type AgentTool = z.infer<typeof AgentToolSchema>;
1425
+ export type AgentBudget = z.infer<typeof AgentBudgetSchema>;
1426
+ export type AgentDefinition = z.infer<typeof AgentDefinitionSchema>;
1050
1427
  export type EngineConfig = z.infer<typeof EngineConfigSchema>;
1051
1428
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -60,9 +60,69 @@ export const FlowDefinitionSchema = z.object({
60
60
  /** If true, invoke rollback records from completed steps in reverse order on failure. */
61
61
  rollback_on_failure: z.boolean().optional(),
62
62
  });
63
+ // ---------------------------------------------------------------------------
64
+ // Agents — the AI-native layer. Additive: CumulusCI never had an `agents:` key,
65
+ // so adding one leaves `tasks:`/`flows:` byte-identical to a cumulusci.yml.
66
+ // ---------------------------------------------------------------------------
67
+ /**
68
+ * A tool an agent may call. References an existing flowkit primitive — a `task`,
69
+ * a `flow`, or another `agent` — so tool dispatch reuses the registry, options,
70
+ * and `${...}` reference machinery rather than inventing a parallel concept.
71
+ * `name` (defaulted from the reference) is what the model sees.
72
+ */
73
+ export const AgentToolSchema = z
74
+ .object({
75
+ name: z.string().optional(),
76
+ task: z.string().optional(),
77
+ flow: z.string().optional(),
78
+ agent: z.string().optional(),
79
+ description: z.string().optional(),
80
+ parameters: z.record(z.unknown()).optional(),
81
+ })
82
+ .refine((t) => !!(t.task || t.flow || t.agent || t.name), {
83
+ message: 'agent tool must reference a task, flow, or agent, or declare a name',
84
+ });
85
+ /**
86
+ * Hard bounds on an agent run. A tool-using agent with no caps is unbounded
87
+ * spend, so a budget is the intended companion to every agent definition.
88
+ */
89
+ export const AgentBudgetSchema = z.object({
90
+ /** Max model turns. */
91
+ maxIterations: z.number().int().positive().optional(),
92
+ /** Aggregate input+output token cap across the whole loop (incl. sub-agents). */
93
+ tokenBudget: z.number().int().positive().optional(),
94
+ /** Cap on a single tool result's serialized size, in chars. */
95
+ maxToolResultChars: z.number().int().positive().optional(),
96
+ /** Max tool calls run concurrently within a turn. */
97
+ maxConcurrency: z.number().int().positive().optional(),
98
+ /** Max depth of agent-calls-agent recursion. */
99
+ maxAgentDepth: z.number().int().positive().optional(),
100
+ });
101
+ export const AgentDefinitionSchema = z.object({
102
+ description: z.string().optional(),
103
+ /** Model identifier — provider-specific. */
104
+ model: z.string().optional(),
105
+ /** System prompt / rules. */
106
+ system: z.string().optional(),
107
+ /** Tools the agent may call (its allowlist). */
108
+ tools: z.array(AgentToolSchema).default([]),
109
+ /** JSON Schema for the agent's final answer. */
110
+ schema: z.record(z.unknown()).optional(),
111
+ /** Hard run bounds. */
112
+ budget: AgentBudgetSchema.optional(),
113
+ /** Sampling temperature. */
114
+ temperature: z.number().optional(),
115
+ /** Per-call max output tokens. */
116
+ maxTokens: z.number().int().positive().optional(),
117
+ /** Per-call timeout in ms. */
118
+ timeout: z.number().int().nonnegative().optional(),
119
+ /** Transport retries per call. */
120
+ retries: z.number().int().nonnegative().optional(),
121
+ });
63
122
  /** Minimal config shape the engine requires. Consumers extend with their own sections. */
64
123
  export const EngineConfigSchema = z.object({
65
124
  tasks: z.record(TaskDefinitionSchema).default({}),
66
125
  flows: z.record(FlowDefinitionSchema).default({}),
126
+ agents: z.record(AgentDefinitionSchema).default({}),
67
127
  });
68
128
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Logger } from '../logger.js';
2
- import type { TaskDefinition, FlowDefinition } from '../config/schema.js';
2
+ import type { TaskDefinition, FlowDefinition, AgentDefinition } from '../config/schema.js';
3
3
  import type { TaskResult } from '../task/base-task.js';
4
4
  import type { TaskContext } from '../task/base-task.js';
5
5
  import type { TaskRegistry } from '../task/registry.js';
@@ -121,6 +121,12 @@ export interface FlowRunnerConfig {
121
121
  * values, e.g. `{ project, org, env }`. `steps` and `error` are always built in.
122
122
  */
123
123
  references?: Record<string, unknown>;
124
+ /**
125
+ * Declarative agents. Each becomes runnable as a flow step (`task: <name>`)
126
+ * and as another agent's `agent:` tool, and the runner wires `ctx.runFlow` /
127
+ * `ctx.runAgent` so agents can call flows and sub-agents as tools.
128
+ */
129
+ agents?: Record<string, AgentDefinition>;
124
130
  }
125
131
  export declare class FlowRunner {
126
132
  private logger;
@@ -131,8 +137,15 @@ export declare class FlowRunner {
131
137
  private hooks;
132
138
  private conditionEvaluator?;
133
139
  private references?;
140
+ private agents;
134
141
  private runDepth;
135
142
  constructor(config: FlowRunnerConfig);
143
+ /** Map an agent definition onto AgentTask options (everything but the prompt). */
144
+ private compileAgent;
145
+ /** Run a configured flow as an agent tool, returning a compact step summary. */
146
+ private runFlowTool;
147
+ /** Run a configured agent as an agent tool (sub-agent), threading recursion depth. */
148
+ private runAgentTool;
136
149
  run(options: FlowRunOptions): Promise<FlowRunResult>;
137
150
  /**
138
151
  * Run a single task by name, directly — the leaf unit of work, without a flow.
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}