@davidorex/pi-workflows 0.9.1 → 0.10.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 (60) hide show
  1. package/README.md +1 -1
  2. package/agents/architecture-designer.agent.yaml +2 -1
  3. package/agents/architecture-inferrer.agent.yaml +2 -1
  4. package/agents/audit-finding-verifier.agent.yaml +2 -1
  5. package/agents/audit-fixer.agent.yaml +2 -1
  6. package/agents/audit-results-router.agent.yaml +2 -1
  7. package/agents/code-explorer.agent.yaml +4 -2
  8. package/agents/decomposer.agent.yaml +2 -1
  9. package/agents/gap-identifier.agent.yaml +2 -1
  10. package/agents/gap-resolution-assessor.agent.yaml +2 -1
  11. package/agents/handoff-writer.agent.yaml +2 -1
  12. package/agents/investigator.agent.yaml +2 -1
  13. package/agents/pattern-analyzer.agent.yaml +4 -2
  14. package/agents/phase-author.agent.yaml +2 -1
  15. package/agents/plan-creator.agent.yaml +2 -1
  16. package/agents/plan-decomposer.agent.yaml +2 -1
  17. package/agents/project-definer.agent.yaml +2 -1
  18. package/agents/project-inferrer.agent.yaml +2 -1
  19. package/agents/quality-analyzer.agent.yaml +4 -2
  20. package/agents/requirements-gatherer.agent.yaml +2 -1
  21. package/agents/researcher.agent.yaml +2 -1
  22. package/agents/spec-implementer.agent.yaml +2 -1
  23. package/agents/structure-analyzer.agent.yaml +4 -2
  24. package/agents/synthesizer.agent.yaml +4 -2
  25. package/agents/verifier.agent.yaml +2 -1
  26. package/dist/agent-spec.d.ts.map +1 -1
  27. package/dist/agent-spec.js +30 -4
  28. package/dist/agent-spec.js.map +1 -1
  29. package/dist/dag.d.ts.map +1 -1
  30. package/dist/dag.js +24 -1
  31. package/dist/dag.js.map +1 -1
  32. package/dist/dispatch.js +1 -1
  33. package/dist/dispatch.js.map +1 -1
  34. package/dist/step-foreach.d.ts.map +1 -1
  35. package/dist/step-foreach.js +13 -0
  36. package/dist/step-foreach.js.map +1 -1
  37. package/dist/template-validation.d.ts +15 -0
  38. package/dist/template-validation.d.ts.map +1 -1
  39. package/dist/template-validation.js +214 -0
  40. package/dist/template-validation.js.map +1 -1
  41. package/dist/workflow-executor.d.ts.map +1 -1
  42. package/dist/workflow-executor.js +16 -5
  43. package/dist/workflow-executor.js.map +1 -1
  44. package/dist/workflow-spec.d.ts.map +1 -1
  45. package/dist/workflow-spec.js +100 -63
  46. package/dist/workflow-spec.js.map +1 -1
  47. package/package.json +2 -2
  48. package/templates/architecture-inferrer/task.md +9 -9
  49. package/templates/audit-results-router/task.md +1 -1
  50. package/templates/gap-identifier/task.md +5 -5
  51. package/templates/phase-author/task.md +7 -7
  52. package/templates/project-inferrer/task.md +7 -7
  53. package/templates/spec-implementer/task.md +4 -2
  54. package/workflows/analyze-existing-project.workflow.yaml +10 -16
  55. package/workflows/create-handoff.workflow.yaml +9 -5
  56. package/workflows/create-phase.workflow.yaml +10 -3
  57. package/workflows/do-gap.workflow.yaml +7 -7
  58. package/workflows/fix-audit.workflow.yaml +6 -6
  59. package/workflows/gap-to-phase.workflow.yaml +9 -9
  60. package/workflows/self-implement.workflow.yaml +2 -2
package/README.md CHANGED
@@ -190,6 +190,6 @@ Runs `tsx --test src/*.test.ts`. 500+ tests covering step types, expressions, DA
190
190
 
191
191
  ## Development
192
192
 
193
- Part of the [`pi-project-workflows`](../../README.md) monorepo. All three packages (pi-project, pi-workflows, pi-behavior-monitors) are versioned in lockstep at 0.2.0.
193
+ Part of the [`pi-project-workflows`](../../README.md) monorepo. All three packages (pi-project, pi-workflows, pi-behavior-monitors) are versioned in lockstep at 0.9.1.
194
194
 
195
195
  `npm run build` compiles TypeScript to `dist/` via `tsc`. The package ships `dist/`, not `src/` — the `pi.extensions` entry point is `./dist/index.js`.
@@ -55,4 +55,5 @@ prompt:
55
55
  - boundaries list captures real constraints from the project identity and requirements
56
56
  - Architecture is proportional to the project's scope — not over- or under-partitioned
57
57
  </success_criteria>
58
- task: architecture-designer/task.md
58
+ task:
59
+ template: architecture-designer/task.md
@@ -57,4 +57,5 @@ prompt:
57
57
  - Boundaries reflect actual interface points, not aspirational ones
58
58
  - Overview paragraph accurately summarizes the architecture
59
59
  </success_criteria>
60
- task: architecture-inferrer/task.md
60
+ task:
61
+ template: architecture-inferrer/task.md
@@ -37,4 +37,5 @@ prompt:
37
37
  - Skipping findings that don't have grep verify patterns
38
38
  - Counting needs_inspect as passed in the overall status
39
39
  </anti_patterns>
40
- task: audit-finding-verifier/task.md
40
+ task:
41
+ template: audit-finding-verifier/task.md
@@ -15,4 +15,5 @@ output:
15
15
  schema: schemas/execution-results.schema.json
16
16
 
17
17
  prompt:
18
- task: audit-fixer/task.md
18
+ task:
19
+ template: audit-fixer/task.md
@@ -27,4 +27,5 @@ prompt:
27
27
  - Do NOT invent decisions or issues not present in the implementation results
28
28
  - Output MUST conform to audit-routing-manifest schema
29
29
  </constraints>
30
- task: audit-results-router/task.md
30
+ task:
31
+ template: audit-results-router/task.md
@@ -7,5 +7,7 @@ output:
7
7
  format: json
8
8
 
9
9
  prompt:
10
- system: explorer/system.md
11
- task: explorer/task.md
10
+ system:
11
+ template: explorer/system.md
12
+ task:
13
+ template: explorer/task.md
@@ -45,7 +45,8 @@ prompt:
45
45
  - parallel_safe flags are consistent with file targets (no shared-file parallelism)
46
46
  - ordering_rationale explains the structure in one paragraph
47
47
  </success_criteria>
48
- task: decomposer/task.md
48
+ task:
49
+ template: decomposer/task.md
49
50
  output:
50
51
  format: json
51
52
  schema: schemas/decomposition-specs.schema.json
@@ -63,4 +63,5 @@ prompt:
63
63
  - Gap descriptions are specific enough to act on without re-investigation
64
64
  - No fabricated gaps — every entry traces to observable evidence
65
65
  </success_criteria>
66
- task: gap-identifier/task.md
66
+ task:
67
+ template: gap-identifier/task.md
@@ -37,4 +37,5 @@ prompt:
37
37
  - Flagging hypothetical issues that aren't evidenced in the code
38
38
  - Ignoring the gap description and only looking at test results
39
39
  </anti_patterns>
40
- task: gap-resolution-assessor/task.md
40
+ task:
41
+ template: gap-resolution-assessor/task.md
@@ -61,4 +61,5 @@ prompt:
61
61
  - open_questions are genuine unknowns requiring input
62
62
  - timestamp is accurate
63
63
  </success_criteria>
64
- task: handoff-writer/task.md
64
+ task:
65
+ template: handoff-writer/task.md
@@ -43,7 +43,8 @@ prompt:
43
43
  - complexity rating matches actual scope
44
44
  - Summary is one paragraph, not a plan
45
45
  </success_criteria>
46
- task: investigator/task.md
46
+ task:
47
+ template: investigator/task.md
47
48
  output:
48
49
  format: json
49
50
  schema: schemas/investigation-findings.schema.json
@@ -17,5 +17,7 @@ output:
17
17
  schema: schemas/pattern-analysis.schema.json
18
18
 
19
19
  prompt:
20
- system: analyzers/patterns.md
21
- task: analyzers/patterns-task.md
20
+ system:
21
+ template: analyzers/patterns.md
22
+ task:
23
+ template: analyzers/patterns-task.md
@@ -13,4 +13,5 @@ output:
13
13
  schema: ../../.workflow/schemas/phase.schema.json
14
14
 
15
15
  prompt:
16
- task: templates/phase-author/task.md
16
+ task:
17
+ template: templates/phase-author/task.md
@@ -60,4 +60,5 @@ prompt:
60
60
  - Phase ordering respects architectural dependencies (foundations before features)
61
61
  - Total task count is proportional to project scope — neither too few nor exhaustive
62
62
  </success_criteria>
63
- task: plan-creator/task.md
63
+ task:
64
+ template: plan-creator/task.md
@@ -9,4 +9,5 @@ output:
9
9
  schema: schemas/plan-breakdown.schema.json
10
10
 
11
11
  prompt:
12
- task: plan-decomposer/task.md
12
+ task:
13
+ template: plan-decomposer/task.md
@@ -50,4 +50,5 @@ prompt:
50
50
  - Every goal has at least one success_criteria entry
51
51
  - Constraints reference specific concerns from the vision, not boilerplate
52
52
  </success_criteria>
53
- task: project-definer/task.md
53
+ task:
54
+ template: project-definer/task.md
@@ -60,4 +60,5 @@ prompt:
60
60
  - status reflects actual project maturity, not aspiration
61
61
  - stack lists the primary technologies, not exhaustive dependency lists
62
62
  </success_criteria>
63
- task: project-inferrer/task.md
63
+ task:
64
+ template: project-inferrer/task.md
@@ -17,5 +17,7 @@ output:
17
17
  schema: schemas/quality-analysis.schema.json
18
18
 
19
19
  prompt:
20
- system: analyzers/quality.md
21
- task: analyzers/quality-task.md
20
+ system:
21
+ template: analyzers/quality.md
22
+ task:
23
+ template: analyzers/quality-task.md
@@ -55,4 +55,5 @@ prompt:
55
55
  - depends_on references are valid (point to other requirement IDs in the set)
56
56
  - "wont" requirements cover key items from scope_boundaries.out
57
57
  </success_criteria>
58
- task: requirements-gatherer/task.md
58
+ task:
59
+ template: requirements-gatherer/task.md
@@ -32,7 +32,8 @@ prompt:
32
32
  - Confidence ratings are honest — low when uncertain
33
33
  - Recommendations are specific enough that an implementer can act on them without further research
34
34
  </success_criteria>
35
- task: researcher/task.md
35
+ task:
36
+ template: researcher/task.md
36
37
  output:
37
38
  format: json
38
39
  schema: schemas/research-findings.schema.json
@@ -9,4 +9,5 @@ output:
9
9
  schema: schemas/execution-results.schema.json
10
10
 
11
11
  prompt:
12
- task: spec-implementer/task.md
12
+ task:
13
+ template: spec-implementer/task.md
@@ -17,5 +17,7 @@ output:
17
17
  schema: schemas/structure-analysis.schema.json
18
18
 
19
19
  prompt:
20
- system: analyzers/structure.md
21
- task: analyzers/structure-task.md
20
+ system:
21
+ template: analyzers/structure.md
22
+ task:
23
+ template: analyzers/structure-task.md
@@ -19,5 +19,7 @@ output:
19
19
  schema: schemas/synthesis.schema.json
20
20
 
21
21
  prompt:
22
- system: synthesizer/system.md
23
- task: synthesizer/task.md
22
+ system:
23
+ template: synthesizer/system.md
24
+ task:
25
+ template: synthesizer/task.md
@@ -9,4 +9,5 @@ output:
9
9
  schema: schemas/verifier-output.schema.json
10
10
 
11
11
  prompt:
12
- task: verifier/task.md
12
+ task:
13
+ template: verifier/task.md
@@ -1 +1 @@
1
- {"version":3,"file":"agent-spec.d.ts","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,WAAW,EAAE,MAAM,EAAE,CAAC;gBAE1B,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;CAOpD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACzC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,KAAK,EAAE,KAAK,CAAC;gBAEjB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAO7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAuC1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAgB/F"}
1
+ {"version":3,"file":"agent-spec.d.ts","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,WAAW,EAAE,MAAM,EAAE,CAAC;gBAE1B,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;CAOpD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACzC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,KAAK,EAAE,KAAK,CAAC;gBAEjB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAO7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CA0C1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAgB/F"}
@@ -13,12 +13,36 @@
13
13
  */
14
14
  import fs from "node:fs";
15
15
  import path from "node:path";
16
- /** Check if a prompt.system value looks like a template file path vs inline text. */
16
+ /**
17
+ * Check if a prompt.system value looks like a template file path vs inline text.
18
+ * Heuristic: treats strings ending in .md as template paths. A literal prompt
19
+ * string resembling a file path would be misclassified.
20
+ *
21
+ * @deprecated Heuristic fallback for old-format specs. New specs should use { template: "path" } object syntax.
22
+ */
17
23
  function isTemplatePath(value) {
18
24
  if (!value)
19
25
  return false;
20
26
  return value.endsWith(".md") || value.endsWith(".txt") || (value.includes("/") && !value.includes("\n"));
21
27
  }
28
+ /**
29
+ * Resolve a prompt field value that may be either:
30
+ * - An object `{ template: "path.md" }` — explicit template reference (preferred)
31
+ * - A plain string — falls back to `isTemplatePath()` heuristic for backward compat
32
+ *
33
+ * Returns `{ template }` for file-based prompts, `{ inline }` for literal text,
34
+ * or `{}` if the value is absent/unrecognized.
35
+ */
36
+ function resolvePromptField(value) {
37
+ if (typeof value === "object" && value !== null && "template" in value) {
38
+ return { template: value.template };
39
+ }
40
+ if (typeof value === "string") {
41
+ // Backward compat: heuristic for old-format string-only specs
42
+ return isTemplatePath(value) ? { template: value } : { inline: value };
43
+ }
44
+ return {};
45
+ }
22
46
  import os from "node:os";
23
47
  import { parse as parseYaml } from "yaml";
24
48
  /**
@@ -73,6 +97,8 @@ export function parseAgentYaml(filePath) {
73
97
  if (!spec || typeof spec !== "object") {
74
98
  throw new AgentParseError(name, filePath, new Error("File is empty or does not contain a YAML mapping"));
75
99
  }
100
+ const system = resolvePromptField(spec.prompt?.system);
101
+ const task = resolvePromptField(spec.prompt?.task);
76
102
  return {
77
103
  name: spec.name || name,
78
104
  description: spec.description,
@@ -83,9 +109,9 @@ export function parseAgentYaml(filePath) {
83
109
  extensions: spec.extensions,
84
110
  skills: spec.skills,
85
111
  output: spec.output?.file,
86
- promptTemplate: isTemplatePath(spec.prompt?.system) ? spec.prompt?.system : undefined,
87
- systemPrompt: isTemplatePath(spec.prompt?.system) ? undefined : spec.prompt?.system,
88
- taskTemplate: spec.prompt?.task,
112
+ promptTemplate: system.template,
113
+ systemPrompt: system.inline,
114
+ taskTemplate: task.template ?? task.inline,
89
115
  inputSchema: spec.input,
90
116
  outputFormat: spec.output?.format,
91
117
  outputSchema: spec.output?.schema,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-spec.js","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-spec.js","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"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"}
package/dist/dag.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,EAAE,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CA8BhF;AAgID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CA4BnG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAGpE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEzD"}
1
+ {"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,EAAE,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CA8BhF;AAgID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAoDnG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAGpE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEzD"}
package/dist/dag.js CHANGED
@@ -164,7 +164,30 @@ export function buildPlanFromDeps(allSteps, deps) {
164
164
  }
165
165
  if (layer.length === 0) {
166
166
  const remaining = allSteps.filter((s) => !placed.has(s));
167
- throw new Error(`Dependency cycle detected among steps: ${remaining.join(", ")}`);
167
+ // Trace the cycle path: pick a remaining step, follow deps until revisit
168
+ let cyclePath = "";
169
+ const remainingSet = new Set(remaining);
170
+ const start = remaining[0];
171
+ const visited = [start];
172
+ const visitedSet = new Set([start]);
173
+ let current = start;
174
+ while (true) {
175
+ const currentDeps = deps.get(current) ?? new Set();
176
+ const next = [...currentDeps].find((d) => remainingSet.has(d));
177
+ if (!next)
178
+ break;
179
+ if (visitedSet.has(next)) {
180
+ // Found the cycle entry point — build path from that point
181
+ const cycleStart = visited.indexOf(next);
182
+ cyclePath = [...visited.slice(cycleStart), next].join(" → ");
183
+ break;
184
+ }
185
+ visited.push(next);
186
+ visitedSet.add(next);
187
+ current = next;
188
+ }
189
+ const detail = cyclePath ? ` (cycle: ${cyclePath})` : "";
190
+ throw new Error(`Dependency cycle detected among steps: ${remaining.join(", ")}${detail}`);
168
191
  }
169
192
  plan.push({ steps: layer });
170
193
  for (const s of layer) {
package/dist/dag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dag.js","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dag.js","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"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"}
package/dist/dispatch.js CHANGED
@@ -180,7 +180,7 @@ export async function dispatch(step, agentSpec, prompt, options) {
180
180
  options.onEvent({
181
181
  type: evt.type || "unknown",
182
182
  raw: evt,
183
- toolName: evt.type === "tool_execution_start" ? evt.toolName : undefined,
183
+ toolName: evt.type === "tool_execution_start" || evt.type === "tool_execution_end" ? evt.toolName : undefined,
184
184
  toolArgs: evt.type === "tool_execution_start" ? extractToolArgsPreview(evt.args) : undefined,
185
185
  messageText: evt.type === "message_end" && evt.message?.role === "assistant"
186
186
  ? extractText(evt.message.content)
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-foreach.d.ts","sourceRoot":"","sources":["../src/step-foreach.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpG,2EAA2E;AAC3E,UAAU,cAAc;IACvB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,EAClH,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,UAAU,CAAC,CA2GrB"}
1
+ {"version":3,"file":"step-foreach.d.ts","sourceRoot":"","sources":["../src/step-foreach.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKpG,2EAA2E;AAC3E,UAAU,cAAc;IACvB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,EAClH,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,UAAU,CAAC,CAuHrB"}
@@ -5,6 +5,8 @@
5
5
  import { resolveExpression, resolveExpressions } from "./expression.js";
6
6
  import { persistStepOutput } from "./output.js";
7
7
  import { addUsage, zeroUsage } from "./step-shared.js";
8
+ /** Safety cap to prevent runaway iteration from malformed step output. */
9
+ const MAX_FOREACH_ITERATIONS = 500;
8
10
  /**
9
11
  * Execute a forEach step: iterates over an array and executes the step body
10
12
  * for each element.
@@ -59,6 +61,17 @@ export async function executeForEach(stepName, stepSpec, state, forEachExpr, asN
59
61
  durationMs: Date.now() - startTime,
60
62
  };
61
63
  }
64
+ // Safety cap to prevent runaway iteration from malformed step output
65
+ if (array.length > MAX_FOREACH_ITERATIONS) {
66
+ return {
67
+ step: stepName,
68
+ agent: `forEach:${stepSpec.agent || "unknown"}`,
69
+ status: "failed",
70
+ usage: zeroUsage(),
71
+ durationMs: Date.now() - startTime,
72
+ error: `forEach array has ${array.length} elements, exceeding safety cap of ${MAX_FOREACH_ITERATIONS}`,
73
+ };
74
+ }
62
75
  // Create the step body (strip forEach/as fields)
63
76
  const bodySpec = { ...stepSpec };
64
77
  delete bodySpec.forEach;
@@ -1 +1 @@
1
- {"version":3,"file":"step-foreach.js","sourceRoot":"","sources":["../src/step-foreach.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-foreach.js","sourceRoot":"","sources":["../src/step-foreach.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,26 @@ export interface SchemaFields {
12
12
  }>;
13
13
  required: string[];
14
14
  }
15
+ /** Resolved type for a step input — either structured (schema-traceable) or string (textOutput). */
16
+ export type ResolvedInputType = "string" | "object" | "unknown";
17
+ /** Describes a {% for x in source %} loop with the properties accessed on the loop variable. */
18
+ export interface TemplateLoop {
19
+ loopVar: string;
20
+ source: string;
21
+ sourceRoot: string;
22
+ sourceField: string;
23
+ accessedProps: string[];
24
+ }
15
25
  /**
16
26
  * Extract all Nunjucks variable references from a template string.
17
27
  * Returns structured entries with full dotted paths and usage context.
18
28
  */
19
29
  export declare function extractTemplateVariables(content: string): TemplateVariable[];
30
+ /**
31
+ * Extract all {% for x in root.field %} loops from a template, along with
32
+ * the properties accessed on each loop variable (e.g. {{ x.name }}).
33
+ */
34
+ export declare function extractTemplateLoops(content: string): TemplateLoop[];
20
35
  /**
21
36
  * Validate template-input alignment for all agent steps in a workflow.
22
37
  * Returns validation issues for field mismatches, missing inputs, and naming errors.
@@ -1 +1 @@
1
- {"version":3,"file":"template-validation.d.ts","sourceRoot":"","sources":["../src/template-validation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAmE5E;AA4ID;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CA4HjH"}
1
+ {"version":3,"file":"template-validation.d.ts","sourceRoot":"","sources":["../src/template-validation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oGAAoG;AACpG,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhE,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAmE5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAuCpE;AA2OD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAyMjH"}