pi-agent-flow 2.0.1 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/README.md +126 -489
  2. package/agents/audit.md +24 -15
  3. package/agents/build.md +4 -3
  4. package/agents/craft.md +4 -4
  5. package/agents/debug.md +5 -4
  6. package/agents/ideas.md +6 -5
  7. package/agents/scout.md +10 -8
  8. package/agents/trace.md +23 -0
  9. package/dist/batch/apply-patch.d.ts +60 -0
  10. package/dist/batch/apply-patch.d.ts.map +1 -0
  11. package/dist/batch/apply-patch.js +477 -0
  12. package/dist/batch/apply-patch.js.map +1 -0
  13. package/dist/batch/batch-bash.d.ts +10 -6
  14. package/dist/batch/batch-bash.d.ts.map +1 -1
  15. package/dist/batch/batch-bash.js +59 -11
  16. package/dist/batch/batch-bash.js.map +1 -1
  17. package/dist/batch/constants.d.ts +38 -6
  18. package/dist/batch/constants.d.ts.map +1 -1
  19. package/dist/batch/constants.js +26 -4
  20. package/dist/batch/constants.js.map +1 -1
  21. package/dist/batch/execute.d.ts +8 -2
  22. package/dist/batch/execute.d.ts.map +1 -1
  23. package/dist/batch/execute.js +222 -67
  24. package/dist/batch/execute.js.map +1 -1
  25. package/dist/batch/fuzzy-edit.d.ts +4 -1
  26. package/dist/batch/fuzzy-edit.d.ts.map +1 -1
  27. package/dist/batch/fuzzy-edit.js +7 -2
  28. package/dist/batch/fuzzy-edit.js.map +1 -1
  29. package/dist/batch/index.d.ts +10 -24
  30. package/dist/batch/index.d.ts.map +1 -1
  31. package/dist/batch/index.js +120 -120
  32. package/dist/batch/index.js.map +1 -1
  33. package/dist/batch/render.d.ts +22 -5
  34. package/dist/batch/render.d.ts.map +1 -1
  35. package/dist/batch/render.js +353 -15
  36. package/dist/batch/render.js.map +1 -1
  37. package/dist/batch/summary.d.ts.map +1 -1
  38. package/dist/batch/summary.js +26 -4
  39. package/dist/batch/summary.js.map +1 -1
  40. package/dist/config/config.d.ts +5 -4
  41. package/dist/config/config.d.ts.map +1 -1
  42. package/dist/config/config.js +15 -5
  43. package/dist/config/config.js.map +1 -1
  44. package/dist/config/models.d.ts.map +1 -1
  45. package/dist/config/models.js +7 -1
  46. package/dist/config/models.js.map +1 -1
  47. package/dist/config/settings-resolver.d.ts +5 -4
  48. package/dist/config/settings-resolver.d.ts.map +1 -1
  49. package/dist/config/settings-resolver.js +50 -21
  50. package/dist/config/settings-resolver.js.map +1 -1
  51. package/dist/core2/snapshot.d.ts +21 -0
  52. package/dist/core2/snapshot.d.ts.map +1 -0
  53. package/dist/core2/snapshot.js +214 -0
  54. package/dist/core2/snapshot.js.map +1 -0
  55. package/dist/{core → flow}/agents.d.ts.map +1 -1
  56. package/dist/{core → flow}/agents.js +5 -2
  57. package/dist/{core → flow}/agents.js.map +1 -1
  58. package/dist/flow/auto-warp.d.ts +1 -1
  59. package/dist/flow/auto-warp.js +1 -1
  60. package/dist/flow/command.d.ts +1 -1
  61. package/dist/flow/command.d.ts.map +1 -1
  62. package/dist/flow/complexity.d.ts +20 -0
  63. package/dist/flow/complexity.d.ts.map +1 -0
  64. package/dist/flow/complexity.js +34 -0
  65. package/dist/flow/complexity.js.map +1 -0
  66. package/dist/flow/continuation.d.ts +1 -1
  67. package/dist/flow/continuation.d.ts.map +1 -1
  68. package/dist/flow/continuation.js +4 -3
  69. package/dist/flow/continuation.js.map +1 -1
  70. package/dist/{core → flow}/depth.d.ts +4 -4
  71. package/dist/{core → flow}/depth.d.ts.map +1 -1
  72. package/dist/{core → flow}/depth.js +5 -5
  73. package/dist/{core → flow}/depth.js.map +1 -1
  74. package/dist/{core → flow}/executor.d.ts +42 -22
  75. package/dist/flow/executor.d.ts.map +1 -0
  76. package/dist/flow/executor.js +727 -0
  77. package/dist/flow/executor.js.map +1 -0
  78. package/dist/flow/index.d.ts +4 -4
  79. package/dist/flow/index.d.ts.map +1 -1
  80. package/dist/flow/index.js +4 -4
  81. package/dist/flow/index.js.map +1 -1
  82. package/dist/flow/loop-command.d.ts +1 -1
  83. package/dist/flow/loop-command.d.ts.map +1 -1
  84. package/dist/flow/loop-command.js +3 -0
  85. package/dist/flow/loop-command.js.map +1 -1
  86. package/dist/{core/flow.d.ts → flow/runner.d.ts} +20 -16
  87. package/dist/flow/runner.d.ts.map +1 -0
  88. package/dist/{core/flow.js → flow/runner.js} +105 -61
  89. package/dist/flow/runner.js.map +1 -0
  90. package/dist/{core → flow}/session-registry.d.ts.map +1 -1
  91. package/dist/{core → flow}/session-registry.js.map +1 -1
  92. package/dist/flow/settings-command.d.ts +3 -3
  93. package/dist/flow/settings-command.d.ts.map +1 -1
  94. package/dist/flow/settings-command.js +43 -22
  95. package/dist/flow/settings-command.js.map +1 -1
  96. package/dist/{core/delegation.d.ts → flow/transition.d.ts} +8 -8
  97. package/dist/{core/delegation.d.ts.map → flow/transition.d.ts.map} +1 -1
  98. package/dist/{core/delegation.js → flow/transition.js} +12 -12
  99. package/dist/{core/delegation.js.map → flow/transition.js.map} +1 -1
  100. package/dist/flow/types.d.ts +4 -0
  101. package/dist/flow/types.d.ts.map +1 -1
  102. package/dist/flow/warp.d.ts +15 -0
  103. package/dist/flow/warp.d.ts.map +1 -0
  104. package/dist/flow/warp.js +207 -0
  105. package/dist/flow/warp.js.map +1 -0
  106. package/dist/index.d.ts +1 -2
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +237 -89
  109. package/dist/index.js.map +1 -1
  110. package/dist/notify/notify.d.ts +1 -1
  111. package/dist/notify/notify.d.ts.map +1 -1
  112. package/dist/notify/notify.js +1 -1
  113. package/dist/snapshot/cli-args.d.ts +2 -2
  114. package/dist/snapshot/cli-args.d.ts.map +1 -1
  115. package/dist/snapshot/cli-args.js +21 -5
  116. package/dist/snapshot/cli-args.js.map +1 -1
  117. package/dist/snapshot/runner-events.d.ts +7 -2
  118. package/dist/snapshot/runner-events.d.ts.map +1 -1
  119. package/dist/snapshot/runner-events.js +137 -19
  120. package/dist/snapshot/runner-events.js.map +1 -1
  121. package/dist/snapshot/structured-output.d.ts +1 -1
  122. package/dist/snapshot/structured-output.d.ts.map +1 -1
  123. package/dist/snapshot/structured-output.js +20 -2
  124. package/dist/snapshot/structured-output.js.map +1 -1
  125. package/dist/steering/flow-prompt.d.ts +4 -4
  126. package/dist/steering/flow-prompt.d.ts.map +1 -1
  127. package/dist/steering/flow-prompt.js +18 -37
  128. package/dist/steering/flow-prompt.js.map +1 -1
  129. package/dist/steering/sliding-prompt.d.ts.map +1 -1
  130. package/dist/steering/sliding-prompt.js +8 -7
  131. package/dist/steering/sliding-prompt.js.map +1 -1
  132. package/dist/steering/tool-utils.d.ts +31 -8
  133. package/dist/steering/tool-utils.d.ts.map +1 -1
  134. package/dist/steering/tool-utils.js +63 -30
  135. package/dist/steering/tool-utils.js.map +1 -1
  136. package/dist/tools/ask-user.d.ts +2 -19
  137. package/dist/tools/ask-user.d.ts.map +1 -1
  138. package/dist/tools/ask-user.js +14 -38
  139. package/dist/tools/ask-user.js.map +1 -1
  140. package/dist/tools/timed-bash.d.ts +1 -1
  141. package/dist/tools/timed-bash.d.ts.map +1 -1
  142. package/dist/tools/timed-bash.js +11 -9
  143. package/dist/tools/timed-bash.js.map +1 -1
  144. package/dist/tools/trace.d.ts +34 -0
  145. package/dist/tools/trace.d.ts.map +1 -0
  146. package/dist/tools/trace.js +180 -0
  147. package/dist/tools/trace.js.map +1 -0
  148. package/dist/tools/web-ops.d.ts +85 -0
  149. package/dist/tools/web-ops.d.ts.map +1 -0
  150. package/dist/tools/{web-tool.js → web-ops.js} +51 -127
  151. package/dist/tools/web-ops.js.map +1 -0
  152. package/dist/tui/flow-colors.d.ts +1 -0
  153. package/dist/tui/flow-colors.d.ts.map +1 -1
  154. package/dist/tui/flow-colors.js +2 -2
  155. package/dist/tui/flow-colors.js.map +1 -1
  156. package/dist/tui/render-utils.d.ts.map +1 -1
  157. package/dist/tui/render-utils.js +2 -4
  158. package/dist/tui/render-utils.js.map +1 -1
  159. package/dist/tui/render.d.ts +41 -1
  160. package/dist/tui/render.d.ts.map +1 -1
  161. package/dist/tui/render.js +724 -189
  162. package/dist/tui/render.js.map +1 -1
  163. package/dist/tui/scramble/algorithm.d.ts +4 -2
  164. package/dist/tui/scramble/algorithm.d.ts.map +1 -1
  165. package/dist/tui/scramble/algorithm.js +44 -12
  166. package/dist/tui/scramble/algorithm.js.map +1 -1
  167. package/dist/tui/scramble/constants.d.ts +3 -0
  168. package/dist/tui/scramble/constants.d.ts.map +1 -1
  169. package/dist/tui/scramble/constants.js +4 -1
  170. package/dist/tui/scramble/constants.js.map +1 -1
  171. package/dist/tui/scramble/index.d.ts +3 -2
  172. package/dist/tui/scramble/index.d.ts.map +1 -1
  173. package/dist/tui/scramble/index.js +2 -2
  174. package/dist/tui/scramble/index.js.map +1 -1
  175. package/dist/tui/scramble/manager.d.ts +2 -2
  176. package/dist/tui/scramble/manager.d.ts.map +1 -1
  177. package/dist/tui/scramble/manager.js +37 -20
  178. package/dist/tui/scramble/manager.js.map +1 -1
  179. package/dist/tui/scramble/utils.js +1 -1
  180. package/dist/tui/scramble/utils.js.map +1 -1
  181. package/dist/types/flow.d.ts +17 -1
  182. package/dist/types/flow.d.ts.map +1 -1
  183. package/dist/types/flow.js +11 -2
  184. package/dist/types/flow.js.map +1 -1
  185. package/dist/types/output.d.ts +11 -36
  186. package/dist/types/output.d.ts.map +1 -1
  187. package/dist/types/output.js +1 -1
  188. package/dist/types/ui.d.ts +1 -1
  189. package/dist/types/ui.d.ts.map +1 -1
  190. package/package.json +10 -10
  191. package/dist/core/executor.d.ts.map +0 -1
  192. package/dist/core/executor.js +0 -378
  193. package/dist/core/executor.js.map +0 -1
  194. package/dist/core/flow.d.ts.map +0 -1
  195. package/dist/core/flow.js.map +0 -1
  196. package/dist/core/session-mode.d.ts +0 -11
  197. package/dist/core/session-mode.d.ts.map +0 -1
  198. package/dist/core/session-mode.js +0 -26
  199. package/dist/core/session-mode.js.map +0 -1
  200. package/dist/core/transitions.d.ts +0 -39
  201. package/dist/core/transitions.d.ts.map +0 -1
  202. package/dist/core/transitions.js +0 -59
  203. package/dist/core/transitions.js.map +0 -1
  204. package/dist/flow/perform-warp.d.ts +0 -28
  205. package/dist/flow/perform-warp.d.ts.map +0 -1
  206. package/dist/flow/perform-warp.js +0 -127
  207. package/dist/flow/perform-warp.js.map +0 -1
  208. package/dist/flow/warp-command.d.ts +0 -8
  209. package/dist/flow/warp-command.d.ts.map +0 -1
  210. package/dist/flow/warp-command.js +0 -144
  211. package/dist/flow/warp-command.js.map +0 -1
  212. package/dist/flow/warp-utils.d.ts +0 -11
  213. package/dist/flow/warp-utils.d.ts.map +0 -1
  214. package/dist/flow/warp-utils.js +0 -187
  215. package/dist/flow/warp-utils.js.map +0 -1
  216. package/dist/snapshot/index.d.ts +0 -2
  217. package/dist/snapshot/index.d.ts.map +0 -1
  218. package/dist/snapshot/index.js +0 -2
  219. package/dist/snapshot/index.js.map +0 -1
  220. package/dist/snapshot/reasoning-strip.d.ts +0 -22
  221. package/dist/snapshot/reasoning-strip.d.ts.map +0 -1
  222. package/dist/snapshot/reasoning-strip.js +0 -58
  223. package/dist/snapshot/reasoning-strip.js.map +0 -1
  224. package/dist/snapshot/snapshot.d.ts +0 -77
  225. package/dist/snapshot/snapshot.d.ts.map +0 -1
  226. package/dist/snapshot/snapshot.js +0 -1791
  227. package/dist/snapshot/snapshot.js.map +0 -1
  228. package/dist/tools/web-tool.d.ts +0 -46
  229. package/dist/tools/web-tool.d.ts.map +0 -1
  230. package/dist/tools/web-tool.js.map +0 -1
  231. /package/dist/{core → flow}/agents.d.ts +0 -0
  232. /package/dist/{core → flow}/session-registry.d.ts +0 -0
  233. /package/dist/{core → flow}/session-registry.js +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-agent-flow",
3
- "version": "2.0.1",
4
- "description": "Flow-state delegation extension for Pi coding agent.",
3
+ "version": "2.0.5",
4
+ "description": "Flow-state transition extension for Pi coding agent.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "files": [
@@ -44,23 +44,23 @@
44
44
  "vitest": "^3.2.4"
45
45
  },
46
46
  "peerDependencies": {
47
- "@mariozechner/pi-agent-core": ">=0.37.0",
48
- "@mariozechner/pi-ai": ">=0.37.0",
49
- "@mariozechner/pi-coding-agent": ">=0.37.0",
50
- "@mariozechner/pi-tui": ">=0.37.0",
47
+ "@earendil-works/pi-agent-core": ">=0.37.0",
48
+ "@earendil-works/pi-ai": ">=0.37.0",
49
+ "@earendil-works/pi-coding-agent": ">=0.37.0",
50
+ "@earendil-works/pi-tui": ">=0.37.0",
51
51
  "@sinclair/typebox": ">=0.34.0"
52
52
  },
53
53
  "peerDependenciesMeta": {
54
- "@mariozechner/pi-agent-core": {
54
+ "@earendil-works/pi-agent-core": {
55
55
  "optional": true
56
56
  },
57
- "@mariozechner/pi-coding-agent": {
57
+ "@earendil-works/pi-coding-agent": {
58
58
  "optional": true
59
59
  },
60
- "@mariozechner/pi-tui": {
60
+ "@earendil-works/pi-tui": {
61
61
  "optional": true
62
62
  },
63
- "@mariozechner/pi-ai": {
63
+ "@earendil-works/pi-ai": {
64
64
  "optional": true
65
65
  },
66
66
  "@sinclair/typebox": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"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"}
@@ -1,378 +0,0 @@
1
- /**
2
- * FlowExecutor — extracted from index.ts for testability.
3
- *
4
- * Encapsulates the orchestration logic for running flows: cycle detection,
5
- * project-flow confirmation, parallel execution with failover, caching,
6
- * and telemetry.
7
- */
8
- import { isFlowSuccess, isFlowError, isFlowComplete, emptyFlowUsage } from "../types/flow.js";
9
- import { getTransitionAdvice } from "./transitions.js";
10
- import { mapFlowConcurrent, runFlow } from "./flow.js";
11
- import { getFlowSummaryText } from "../snapshot/runner-events.js";
12
- import { normalizeFlowModeName, resolveFlowModelCandidates, resolveModelContextWindow, selectFlowModelStrategy } from "../config/config.js";
13
- import { getAgentSessionTimeoutMs, resolveAgentSessionMode } from "./session-mode.js";
14
- import { setFlowComplete } from "../notify/notify-state.js";
15
- import { setLiveText } from '../tui/scramble/index.js';
16
- import { logWarn } from '../config/log.js';
17
- import { markFlowCompleted } from '../flow/index.js';
18
- // ---------------------------------------------------------------------------
19
- // Helpers
20
- // ---------------------------------------------------------------------------
21
- function getFlowCycleViolations(requestedNames, ancestorFlowStack) {
22
- if (requestedNames.size === 0 || ancestorFlowStack.length === 0)
23
- return [];
24
- const stackSet = new Set(ancestorFlowStack);
25
- return Array.from(requestedNames).filter((name) => stackSet.has(name));
26
- }
27
- function getRequestedProjectFlows(flows, requestedNames) {
28
- return Array.from(requestedNames)
29
- .map((name) => flows.find((f) => f.name === name.toLowerCase()))
30
- .filter((f) => f?.source === "project");
31
- }
32
- async function confirmProjectFlowsIfNeeded(projectFlows, projectFlowsDir, hasUI, uiConfirm) {
33
- if (projectFlows.length === 0)
34
- return { ok: true };
35
- const names = projectFlows.map((f) => f.name).join(", ");
36
- const dir = projectFlowsDir ?? "(unknown)";
37
- if (hasUI) {
38
- const ok = await uiConfirm("Run project-local flows?", `Flows: ${names}\nSource: ${dir}\n\nProject flows are repo-controlled. Only continue for trusted repositories.`);
39
- return { ok };
40
- }
41
- return {
42
- ok: false,
43
- blocked: `Blocked: project-local flow confirmation required in non-UI mode.\nFlows: ${names}\nRe-run with confirmProjectFlows: false if trusted.`,
44
- };
45
- }
46
- // ---------------------------------------------------------------------------
47
- // Cache limits
48
- // ---------------------------------------------------------------------------
49
- function resolveCacheMaxEntries() {
50
- if (typeof process === "undefined")
51
- return 100;
52
- const env = process.env.PI_FLOW_CACHE_MAX_ENTRIES;
53
- if (!env)
54
- return 100;
55
- const parsed = parseInt(env, 10);
56
- if (Number.isNaN(parsed) || parsed < 1)
57
- return 100;
58
- return parsed;
59
- }
60
- const FLOW_RESULT_CACHE_MAX_ENTRIES = resolveCacheMaxEntries();
61
- /** Evict oldest entries from the cache when it exceeds the cap. */
62
- export function evictCacheOverflow(cache) {
63
- if (cache.size <= FLOW_RESULT_CACHE_MAX_ENTRIES)
64
- return;
65
- const excess = cache.size - FLOW_RESULT_CACHE_MAX_ENTRIES;
66
- logWarn(`[pi-agent-flow] Flow result cache overflow: evicting ${excess} oldest entries. ` +
67
- `Raising PI_FLOW_CACHE_MAX_ENTRIES (currently ${FLOW_RESULT_CACHE_MAX_ENTRIES}) may help for long sessions.`);
68
- const keys = cache.keys();
69
- for (let i = 0; i < excess; i++) {
70
- const next = keys.next();
71
- if (next.done)
72
- break;
73
- cache.delete(next.value);
74
- }
75
- }
76
- function shouldFailover(result) {
77
- if (result.stopReason === "aborted")
78
- return false;
79
- const text = `${result.errorMessage ?? ""}\n${result.stderr ?? ""}`.toLowerCase();
80
- if (!text.trim())
81
- return false;
82
- if (text.includes("permission") || text.includes("invalid tool") || text.includes("bad settings")) {
83
- return false;
84
- }
85
- if (result.exitCode > 0)
86
- return true;
87
- // Some child runs log HTTP 400 / "Param Incorrect" to stderr while exiting 0
88
- // without completing a turn — treat as retryable for model failover.
89
- if (!isFlowComplete(result) && (text.includes("400") && text.includes("param"))) {
90
- return true;
91
- }
92
- return false;
93
- }
94
- // ---------------------------------------------------------------------------
95
- // FlowExecutor
96
- // ---------------------------------------------------------------------------
97
- /**
98
- * Execute a set of flow tasks with full orchestration: cycle detection,
99
- * project confirmation, parallel execution with model failover, and telemetry.
100
- */
101
- export async function executeFlows(deps, params, toolCallId) {
102
- const { flows, currentDepth, maxDepth, ancestorFlowStack, preventCycles, toolOptimize, structuredOutput, cwd, loadedFlowModelConfigs, maxConcurrency, defaultSessionMode, signal, onUpdate, makeDetails, getFlag, tierOverrideResolver, fallbackModel, forkSessionSnapshotJsonl, flowResultCache, projectFlowsDir, hasUI, uiConfirm, onFlowMetrics, confirmProjectFlows, goalContext, } = deps;
103
- const requested = new Set(params.map((f) => f.type.toLowerCase()));
104
- // Cycle check
105
- if (preventCycles) {
106
- const violations = getFlowCycleViolations(requested, ancestorFlowStack);
107
- if (violations.length > 0) {
108
- const stack = ancestorFlowStack.join(" -> ") || "(root)";
109
- return {
110
- content: [{
111
- type: "text",
112
- text: `Blocked: cycle detected. Flow(s) in stack: ${violations.join(", ")}\nStack: ${stack}`,
113
- }],
114
- details: makeDetails([]),
115
- isError: true,
116
- };
117
- }
118
- }
119
- // Project flow confirmation
120
- const projectFlows = getRequestedProjectFlows(flows, requested);
121
- if (projectFlows.length > 0 && confirmProjectFlows !== false) {
122
- const { ok, blocked } = await confirmProjectFlowsIfNeeded(projectFlows, projectFlowsDir, hasUI, uiConfirm);
123
- if (!ok) {
124
- return {
125
- content: [{ type: "text", text: blocked ?? "Canceled: project-local flows not approved." }],
126
- details: makeDetails([]),
127
- isError: !blocked,
128
- };
129
- }
130
- }
131
- // Resolve model strategy
132
- const cliFlowMode = normalizeFlowModeName(getFlag("flow-mode"));
133
- const cliFlowModelConfig = normalizeFlowModeName(getFlag("flow-model-config"));
134
- if (cliFlowMode !== undefined && cliFlowModelConfig !== undefined && cliFlowMode !== cliFlowModelConfig) {
135
- logWarn(`[pi-agent-flow] Both --flow-mode "${cliFlowMode}" and --flow-model-config "${cliFlowModelConfig}" were provided. Using --flow-mode.`);
136
- }
137
- const selectedFlowModelConfig = selectFlowModelStrategy(loadedFlowModelConfigs.configs, cliFlowMode ?? cliFlowModelConfig ?? loadedFlowModelConfigs.selectedName);
138
- // Pre-allocate results array
139
- const allResults = new Array(params.length);
140
- for (let i = 0; i < params.length; i++) {
141
- allResults[i] = {
142
- type: params[i].type,
143
- agentSource: "unknown",
144
- intent: params[i].intent,
145
- aim: params[i].aim,
146
- acceptance: params[i].acceptance,
147
- exitCode: -1,
148
- messages: [],
149
- stderr: "",
150
- usage: emptyFlowUsage(),
151
- };
152
- }
153
- // Streaming progress
154
- let lastEmittedSignature;
155
- const emitProgress = (streamingText) => {
156
- const activeStreamingText = allResults
157
- .filter((r) => r.exitCode === -1)
158
- .map((r) => r.streamingText)
159
- .filter((text) => Boolean(text))
160
- .at(-1);
161
- const text = streamingText ?? activeStreamingText ?? "";
162
- // (debug trace removed — was writing to /tmp/pi-flow-debug.log on every emitProgress call)
163
- // Update live text store FIRST — always
164
- const key = toolCallId || 'collapsed';
165
- setLiveText(key, text);
166
- setLiveText('collapsed', text);
167
- for (let i = 0; i < allResults.length; i++) {
168
- const r = allResults[i];
169
- if (r.streamingText) {
170
- setLiveText(`${key}#${i}`, r.streamingText);
171
- setLiveText(`collapsed#${i}`, r.streamingText);
172
- }
173
- }
174
- // Now check onUpdate for host callback
175
- if (!onUpdate)
176
- return;
177
- const signature = text +
178
- "|" +
179
- allResults
180
- .map((r) => {
181
- const remainingSeconds = r.exitCode === -1 && typeof r.deadlineAtMs === "number"
182
- ? Math.max(0, Math.ceil((r.deadlineAtMs - Date.now()) / 1000))
183
- : "";
184
- return `${r.messages.length}:${r.usage.toolCalls}:${r.usage.input}:${r.usage.output}:${r.usage.contextTokens}:${r.usage.smoothedTps ?? 0}:${r.startedAtMs ?? ""}:${r.deadlineAtMs ?? ""}:${remainingSeconds}:${r.errorMessage ?? ""}`;
185
- })
186
- .join(";");
187
- if (signature === lastEmittedSignature)
188
- return;
189
- lastEmittedSignature = signature;
190
- onUpdate({
191
- content: [{ type: "text", text }],
192
- details: makeDetails([...allResults]),
193
- _toolCallId: toolCallId,
194
- });
195
- };
196
- emitProgress();
197
- // Execute all flows in parallel
198
- const executionStart = Date.now();
199
- const results = await mapFlowConcurrent(params, maxConcurrency, async (item, index) => {
200
- const normalizedType = item.type.toLowerCase();
201
- const sessionMode = resolveAgentSessionMode(item.sessionMode, defaultSessionMode);
202
- const targetFlow = flows.find((f) => f.name === normalizedType);
203
- const effectiveMaxDepth = targetFlow?.maxDepth !== undefined ? targetFlow.maxDepth : maxDepth;
204
- const shouldInheritContext = targetFlow?.inheritContext !== false;
205
- const tier = targetFlow?.tier ?? "flash";
206
- const { candidates } = resolveFlowModelCandidates({
207
- tier,
208
- flowModel: targetFlow?.model,
209
- cliTierOverride: tierOverrideResolver(tier),
210
- strategy: selectedFlowModelConfig.strategy,
211
- fallbackModel,
212
- });
213
- const attemptModels = candidates.length > 0 ? candidates : [undefined];
214
- const attemptedModels = [];
215
- let result = allResults[index];
216
- const flowStart = Date.now();
217
- for (let attempt = 0; attempt < attemptModels.length; attempt++) {
218
- const candidateModel = attemptModels[attempt];
219
- if (candidateModel)
220
- attemptedModels.push(candidateModel);
221
- const attemptStartMs = Date.now();
222
- const attemptTimeoutMs = getAgentSessionTimeoutMs(sessionMode);
223
- const maxContextTokens = resolveModelContextWindow(candidateModel);
224
- allResults[index] = {
225
- type: normalizedType,
226
- agentSource: targetFlow?.source ?? "unknown",
227
- intent: item.intent,
228
- aim: item.aim,
229
- exitCode: -1,
230
- messages: [],
231
- stderr: "",
232
- usage: emptyFlowUsage(),
233
- model: candidateModel,
234
- startedAtMs: attemptStartMs,
235
- deadlineAtMs: attemptStartMs + attemptTimeoutMs,
236
- ...(maxContextTokens !== undefined ? { maxContextTokens } : {}),
237
- };
238
- emitProgress();
239
- result = await runFlow({
240
- cwd,
241
- flows,
242
- flowName: normalizedType,
243
- intent: item.intent,
244
- aim: item.aim,
245
- acceptance: item.acceptance,
246
- taskCwd: item.cwd,
247
- forkSessionSnapshotJsonl: shouldInheritContext ? forkSessionSnapshotJsonl : null,
248
- compressionStats: shouldInheritContext ? deps.forkSessionSnapshotStats : null,
249
- parentDepth: currentDepth,
250
- parentFlowStack: ancestorFlowStack,
251
- maxDepth: effectiveMaxDepth,
252
- preventCycles,
253
- toolOptimize,
254
- structuredOutput,
255
- sessionMode,
256
- model: candidateModel,
257
- maxContextTokens,
258
- goalContext: deps.goalContext,
259
- signal,
260
- onUpdate: (partial) => {
261
- if (partial.details?.results[0]) {
262
- allResults[index] = partial.details.results[0];
263
- // Update per-flow live text
264
- const flowText = partial.content?.[0]?.text;
265
- if (flowText !== undefined) {
266
- setLiveText(`${toolCallId || 'collapsed'}#${index}`, flowText);
267
- setLiveText(`collapsed#${index}`, flowText); // ← predictable fallback
268
- }
269
- emitProgress(partial.content?.[0]?.text);
270
- }
271
- },
272
- makeDetails,
273
- });
274
- allResults[index] = result;
275
- emitProgress();
276
- if (isFlowSuccess(result) || signal?.aborted)
277
- break;
278
- if (attempt < attemptModels.length - 1 && shouldFailover(result)) {
279
- continue;
280
- }
281
- break;
282
- }
283
- if (result && !isFlowSuccess(result) && attemptedModels.length > 1) {
284
- const summary = `Model failover attempts: ${attemptedModels.join(" -> ")}`;
285
- const baseStderr = result.stderr.trim();
286
- result.stderr = baseStderr ? `${baseStderr}\n\n${summary}` : summary;
287
- allResults[index] = result;
288
- emitProgress();
289
- }
290
- // Telemetry for individual flow
291
- if (onFlowMetrics) {
292
- const flowDuration = Date.now() - flowStart;
293
- onFlowMetrics({
294
- type: normalizedType,
295
- durationMs: flowDuration,
296
- exitCode: result.exitCode,
297
- success: isFlowSuccess(result),
298
- model: result.model,
299
- failoverCount: Math.max(0, attemptedModels.length - 1),
300
- usage: result.usage,
301
- source: result.agentSource,
302
- depth: currentDepth + 1,
303
- });
304
- }
305
- return result;
306
- });
307
- // Record last flow completion for dynamic notifications
308
- const lastResult = results[results.length - 1];
309
- if (lastResult) {
310
- setFlowComplete(lastResult.type, lastResult.acceptance, results.length - 1, results.length);
311
- }
312
- // Mark flow completion for the continuation hold — gives the user
313
- // time to read the result before the next flow auto-spawns.
314
- markFlowCompleted(deps.sessionManager.getSessionId());
315
- // Goal continuation callback
316
- if (deps.goalContinuationCallback) {
317
- await deps.goalContinuationCallback(results);
318
- }
319
- // Cache flow results
320
- for (const result of results) {
321
- const so = result.structuredOutput;
322
- if (!so) {
323
- logWarn(`[pi-agent-flow] Flow result for toolCallId=${toolCallId} type=${result.type} has no structuredOutput — cache entry skipped. This means child flows will see placeholder text instead of compressed results.`);
324
- continue;
325
- }
326
- const compressed = {
327
- type: result.type,
328
- status: isFlowError(result) ? "failed" : "accomplished",
329
- };
330
- if (result.intent)
331
- compressed.intent = result.intent;
332
- if (result.aim)
333
- compressed.aim = result.aim;
334
- if (so.summary)
335
- compressed.summary = so.summary;
336
- if (so.files.length > 0)
337
- compressed.files = so.files;
338
- if (so.actions.length > 0)
339
- compressed.actions = so.actions;
340
- if (so.commands.length > 0)
341
- compressed.commands = so.commands;
342
- if (so.notDone.length > 0)
343
- compressed.notDone = so.notDone;
344
- if (so.nextSteps.length > 0)
345
- compressed.nextSteps = so.nextSteps;
346
- if (so.reasoning.length > 0)
347
- compressed.reasoning = so.reasoning;
348
- if (so.notes.length > 0)
349
- compressed.notes = so.notes;
350
- if (result.errorMessage)
351
- compressed.error = result.errorMessage;
352
- const existing = flowResultCache.get(toolCallId) ?? [];
353
- existing.push(compressed);
354
- flowResultCache.set(toolCallId, existing);
355
- }
356
- evictCacheOverflow(flowResultCache);
357
- // Build tool result
358
- const successCount = results.filter((r) => isFlowSuccess(r)).length;
359
- const flowReports = results.map((r) => {
360
- const output = getFlowSummaryText(r);
361
- const status = isFlowError(r) ? "failed" : "accomplished";
362
- return `flow [${r.type}] ${status}\n\n${output}`;
363
- });
364
- // Post-flow advisory messages from the transition matrix
365
- const advisors = getTransitionAdvice(params, results);
366
- const advisorBlock = advisors.length > 0
367
- ? "\n\n---\n\n💡 " + advisors.join("\n💡 ")
368
- : "";
369
- return {
370
- content: [{
371
- type: "text",
372
- text: `Flow: ${successCount}/${results.length} completed\n\n${flowReports.join("\n\n---\n\n")}${advisorBlock}`,
373
- }],
374
- details: makeDetails(results),
375
- _toolCallId: toolCallId,
376
- };
377
- }
378
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/core/flow.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/core/flow.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- declare const AGENT_SESSION_MODES: readonly ["snap", "fast", "default", "long", "extreme_long"];
2
- export type AgentSessionMode = typeof AGENT_SESSION_MODES[number];
3
- export declare const DEFAULT_AGENT_SESSION_MODE: AgentSessionMode;
4
- export declare const MAX_AGENT_SESSION_TIMEOUT_MS = 1200000;
5
- export declare const PI_FLOW_SESSION_MODE_ENV = "PI_FLOW_SESSION_MODE";
6
- export declare const AGENT_SESSION_TIMEOUTS_MS: Record<AgentSessionMode, number>;
7
- export declare function parseAgentSessionMode(value: unknown): AgentSessionMode | undefined;
8
- export declare function resolveAgentSessionMode(value: unknown, fallback?: AgentSessionMode): AgentSessionMode;
9
- export declare function getAgentSessionTimeoutMs(mode: AgentSessionMode): number;
10
- export {};
11
- //# sourceMappingURL=session-mode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-mode.d.ts","sourceRoot":"","sources":["../../src/core/session-mode.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB,8DAA+D,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,EAAE,gBAA4B,CAAC;AACtE,eAAO,MAAM,4BAA4B,UAAY,CAAC;AACtD,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAMtE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAMlF;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,gBAA6C,GACrD,gBAAgB,CAElB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAEvE"}
@@ -1,26 +0,0 @@
1
- const AGENT_SESSION_MODES = ["snap", "fast", "default", "long", "extreme_long"];
2
- export const DEFAULT_AGENT_SESSION_MODE = "default";
3
- export const MAX_AGENT_SESSION_TIMEOUT_MS = 1_200_000;
4
- export const PI_FLOW_SESSION_MODE_ENV = "PI_FLOW_SESSION_MODE";
5
- export const AGENT_SESSION_TIMEOUTS_MS = {
6
- snap: 90_000,
7
- fast: 300_000,
8
- default: 600_000,
9
- long: 900_000,
10
- extreme_long: MAX_AGENT_SESSION_TIMEOUT_MS,
11
- };
12
- export function parseAgentSessionMode(value) {
13
- if (typeof value !== "string")
14
- return undefined;
15
- const normalized = value.trim().toLowerCase();
16
- return AGENT_SESSION_MODES.includes(normalized)
17
- ? normalized
18
- : undefined;
19
- }
20
- export function resolveAgentSessionMode(value, fallback = DEFAULT_AGENT_SESSION_MODE) {
21
- return parseAgentSessionMode(value) ?? fallback;
22
- }
23
- export function getAgentSessionTimeoutMs(mode) {
24
- return AGENT_SESSION_TIMEOUTS_MS[mode];
25
- }
26
- //# sourceMappingURL=session-mode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-mode.js","sourceRoot":"","sources":["../../src/core/session-mode.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAU,CAAC;AAIzF,MAAM,CAAC,MAAM,0BAA0B,GAAqB,SAAS,CAAC;AACtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC;AACtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D,MAAM,CAAC,MAAM,yBAAyB,GAAqC;IAC1E,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,OAAO;IACb,YAAY,EAAE,4BAA4B;CAC1C,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAc;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrE,CAAC,CAAC,UAA8B;QAChC,CAAC,CAAC,SAAS,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,KAAc,EACd,WAA6B,0BAA0B;IAEvD,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAsB;IAC9D,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Declarative transition matrix for post-flow advisory messages.
3
- *
4
- * Defines a data-driven transition map. Each entry describes a recommended
5
- * follow-up flow given a source flow's outcome. The matrix is used by
6
- * getTransitionAdvice() to generate advisory strings.
7
- */
8
- export interface FlowTransition {
9
- /** Source flow name (case-insensitive). */
10
- from: string;
11
- /** Target flow name (case-insensitive). */
12
- to: string;
13
- /** Condition for this transition. */
14
- on: "success" | "failure" | "always";
15
- /** Advisory message shown to the user. */
16
- advice: string;
17
- }
18
- export declare const DEFAULT_TRANSITIONS: FlowTransition[];
19
- /**
20
- * Get advisory messages for completed flows based on the transition matrix.
21
- *
22
- * For each flow result, finds matching transitions where:
23
- * 1. The source flow type matches
24
- * 2. The outcome matches the `on` condition
25
- * 3. The target flow was not already in the batch
26
- *
27
- * Returns advisory strings in matrix order.
28
- */
29
- export declare function getTransitionAdvice(params: Array<{
30
- type: string;
31
- intent: string;
32
- }>, results: Array<{
33
- type: string;
34
- exitCode: number;
35
- stopReason?: string;
36
- sawAgentEnd?: boolean;
37
- messages: unknown[];
38
- }>, transitions?: FlowTransition[]): string[];
39
- //# sourceMappingURL=transitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/core/transitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,cAAc;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,EAAE,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;CACf;AAMD,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAW/C,CAAC;AAMF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,EACnH,WAAW,GAAE,cAAc,EAAwB,GACjD,MAAM,EAAE,CAuBV"}