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/dist/index.js CHANGED
@@ -6,78 +6,164 @@
6
6
  */
7
7
  import { Type } from "@sinclair/typebox";
8
8
  import { setupNotify } from "./notify/notify.js";
9
- import { discoverFlows, getFlowTier } from "./core/agents.js";
9
+ import { discoverFlows, getFlowTier } from "./flow/agents.js";
10
10
  import { getInheritedCliArgs } from "./snapshot/cli-args.js";
11
11
  import { renderFlowCall, renderFlowResult } from "./tui/render.js";
12
- import { terminateAllChildGroups } from "./core/flow.js";
13
- import { executeFlows } from "./core/executor.js";
14
- import { appendStrategicHintOnce, resetStrategicHintTracker, configureStrategicHint } from "./steering/tool-utils.js";
15
- import { createBatchTool, createBatchReadTool, BashProcessTracker, createBatchBashPollTool, } from "./batch/index.js";
16
- import { createWebTool } from "./tools/web-tool.js";
12
+ import { DEFAULT_FLOW_COLORS } from "./tui/flow-colors.js";
13
+ import { terminateAllChildGroups } from "./flow/runner.js";
14
+ import { executeFlows } from "./flow/executor.js";
15
+ import { appendDirectiveOnce, resetDirectiveTracker, configureDirective, stripDirectivesFromMessages } from "./steering/tool-utils.js";
16
+ import { createBatchTool, createBatchReadTool, BashProcessTracker, createBatchBashPollTool, runBashWithLimits, } from "./batch/index.js";
17
17
  import { createAskUserTool } from "./tools/ask-user.js";
18
18
  import { stripSteeringHintText, stripSteeringHintsFromMessages, makeSteeringHintMessage, configureSteering, } from "./steering/sliding-prompt.js";
19
19
  import { registerFlow, getGoal, getGoalForSession, recordFlowCompletion, addTokens, shutdownWakeup } from "./flow/index.js";
20
- import * as sessionRegistry from "./core/session-registry.js";
20
+ import * as sessionRegistry from "./flow/session-registry.js";
21
21
  import { createTimedBashToolDefinition } from "./tools/timed-bash.js";
22
- import { resolveFlowDepthConfig, } from "./core/depth.js";
23
- import { buildForkSessionSnapshotJsonl, sanitizeForkSnapshot, } from "./snapshot/snapshot.js";
22
+ import { createTraceTool } from "./tools/trace.js";
23
+ import { executeOperations } from "./batch/execute.js";
24
+ import { runWebOps } from "./tools/web-ops.js";
25
+ import { resolveFlowDepthConfig, } from "./flow/depth.js";
26
+ import { buildCore2Snapshot } from "./core2/snapshot.js";
24
27
  import { resolveSettings, } from "./config/settings-resolver.js";
25
28
  import { scrambleManager } from "./tui/scramble/index.js";
26
29
  import { logWarn, logError } from "./config/log.js";
27
30
  export { logWarn, logError };
28
- // ---------------------------------------------------------------------------
29
- // Persistent flow result cache — shared across execute() calls so historical
30
- // flow results are compressed properly in fork snapshots.
31
- // ---------------------------------------------------------------------------
32
- const flowResultCache = new Map();
33
31
  import { computeActiveTools, buildBeforeAgentStartPrompt, } from "./steering/flow-prompt.js";
34
32
  // ---------------------------------------------------------------------------
35
33
  // Tool parameter schema
36
34
  // ---------------------------------------------------------------------------
35
+ const BatchDispatchOp = Type.Object({
36
+ tool: Type.Literal("batch"),
37
+ ops: Type.Array(Type.Object({
38
+ o: Type.String(),
39
+ p: Type.String(),
40
+ c: Type.Optional(Type.String()),
41
+ e: Type.Optional(Type.Array(Type.Object({ f: Type.String(), r: Type.String() }))),
42
+ s: Type.Optional(Type.Number()),
43
+ l: Type.Optional(Type.Union([Type.Number(), Type.Boolean()])),
44
+ i: Type.Optional(Type.Union([Type.String(), Type.Boolean()])),
45
+ t: Type.Optional(Type.Union([Type.Number(), Type.String()])),
46
+ h: Type.Optional(Type.String()),
47
+ q: Type.Optional(Type.String()),
48
+ n: Type.Optional(Type.Number()),
49
+ u: Type.Optional(Type.Number()),
50
+ }), { description: "File/batch operations matching the batch tool schema." }),
51
+ });
52
+ const BashDispatchOp = Type.Object({
53
+ tool: Type.Literal("bash"),
54
+ ops: Type.Array(Type.Object({
55
+ c: Type.String({ description: "Shell command" }),
56
+ h: Type.Optional(Type.String({ description: "Working directory override" })),
57
+ t: Type.Optional(Type.Number({ description: "Timeout in ms" })),
58
+ }), { description: "Bash command objects." }),
59
+ });
60
+ const WebDispatchOp = Type.Object({
61
+ tool: Type.Literal("web"),
62
+ ops: Type.Array(Type.Object({
63
+ o: Type.Union([Type.Literal("search"), Type.Literal("fetch")]),
64
+ q: Type.Optional(Type.String()),
65
+ u: Type.Optional(Type.String()),
66
+ f: Type.Optional(Type.String()),
67
+ }), { description: "Web operations matching the web tool schema." }),
68
+ });
69
+ const DispatchOpSchema = Type.Union([BatchDispatchOp, BashDispatchOp, WebDispatchOp], {
70
+ description: "Pre-dispatch tool call with discriminated tool type and typed ops array.",
71
+ });
37
72
  const FlowItem = Type.Object({
38
73
  type: Type.String({
39
- description: "Flow type. Matching is case-insensitive. Must correspond to an available flow name such as scout, debug, build, craft, audit, or ideas.",
74
+ description: "Flow type (scout, debug, build, craft, audit, ideas).",
40
75
  }),
41
76
  intent: Type.String({
42
- description: "Specific mission for this flow — target concrete files, folders, or code patterns. Be precise in final outcome/expectation and common sense, but avoid over-specifying implementation details or assuming current state that may have shifted.",
77
+ description: "Detailed mission for this flow.",
43
78
  }),
44
79
  aim: Type.String({
45
- description: "Extreme short intent — one sentence, 5-7 words, headline-style summary of what this flow does.",
80
+ description: "Short (5-7 words) headline summary.",
46
81
  }),
47
- acceptance: Type.Optional(Type.String({ description: "Short success criteria one sentence stating what done looks like." })),
48
- cwd: Type.Optional(Type.String({ description: "Working directory override for this flow." })),
49
- sessionMode: Type.Optional(Type.Union([
82
+ acceptance: Type.Optional(Type.String({ description: "Success criteria for the task." })),
83
+ cwd: Type.Optional(Type.String({ description: "Working directory override." })),
84
+ complexity: Type.Union([
50
85
  Type.Literal("snap"),
51
- Type.Literal("fast"),
52
- Type.Literal("default"),
53
- Type.Literal("long"),
54
- Type.Literal("extreme_long"),
86
+ Type.Literal("simple"),
87
+ Type.Literal("moderate"),
88
+ Type.Literal("complex"),
89
+ Type.Literal("intricate"),
55
90
  ], {
56
- description: "Agent session budget for this flow: snap=90s, fast=300s, default=600s, long=900s, extreme_long=1200s. Use long or extreme_long only when the work genuinely needs the larger budget.",
91
+ description: "Budget/Audit level: snap (120s), simple (300s), moderate (600s), complex (900s), intricate (1200s).",
92
+ }),
93
+ dispatch: Type.Optional(Type.Array(DispatchOpSchema, {
94
+ description: "Tools to run before the flow starts (results are injected into the prompt).",
57
95
  })),
58
96
  }, {
59
97
  title: "FlowTask",
60
- description: "A single flow task — must be a JSON object, NOT a string.",
98
+ description: "A single flow task object.",
61
99
  });
62
100
  const FlowParams = Type.Object({
63
101
  flow: Type.Array(FlowItem, {
64
- description: "Array of flow tasks to execute. Each runs in its own forked process. " +
65
- "Optional sessionMode selects the child-agent budget: fast=300s, default=600s, long=900s, extreme_long=1200s.",
66
- examples: [
67
- { type: "scout", intent: "Map auth module files and trace JWT validation path", aim: "Map auth and trace JWT" },
68
- { type: "audit", intent: "Audit input validation and SQL injection risks in user routes", aim: "Audit user route security" },
69
- ],
102
+ description: "Specialized flow tasks to dive into.",
70
103
  minItems: 1,
71
104
  }),
72
105
  confirmProjectFlows: Type.Optional(Type.Boolean({
73
- description: "Whether to prompt the user before running project-local flows. Default: true.",
106
+ description: "Prompt before running local flows. Default: true.",
74
107
  default: true,
75
108
  })),
109
+ auditLoop: Type.Optional(Type.Number({
110
+ description: "Override audit cycles (0-3).",
111
+ default: 0,
112
+ minimum: 0,
113
+ maximum: 3,
114
+ })),
115
+ }, {
116
+ title: "FlowToolParams",
117
+ description: "The root object MUST contain a 'flow' array. Never flatten fields to the root.",
118
+ examples: [{
119
+ flow: [{ type: "scout", intent: "Map auth module files", aim: "Map auth module", complexity: "moderate" }],
120
+ }],
76
121
  });
77
122
  const inheritedCliArgs = getInheritedCliArgs();
78
123
  // ---------------------------------------------------------------------------
79
124
  // Helpers
80
125
  // ---------------------------------------------------------------------------
126
+ async function executeDispatchOps(dispatch, cwd, ctx, signal) {
127
+ const parts = [];
128
+ let toolCallIndex = 0;
129
+ for (const group of dispatch) {
130
+ if (signal?.aborted)
131
+ break;
132
+ const toolCallId = `pre_dispatch_${group.tool}_${toolCallIndex++}`;
133
+ try {
134
+ if (group.tool === "batch") {
135
+ // Separate file ops from bash ops
136
+ const fileOps = group.ops.filter((op) => op.o !== "bash");
137
+ const bashOps = group.ops.filter((op) => op.o === "bash");
138
+ if (fileOps.length > 0) {
139
+ const fileOutput = await executeOperations(fileOps, cwd, signal, { includeLimitWarnings: true });
140
+ parts.push(`### batch (file ops)\n\ntool_call_id: ${toolCallId}\n\n${fileOutput.contentText}`);
141
+ }
142
+ if (bashOps.length > 0) {
143
+ for (const op of bashOps) {
144
+ const { stdout, stderr, exitCode } = await runBashWithLimits(op.c ?? "", op.h ?? cwd, op.t ?? 30000, signal);
145
+ parts.push(`### bash [${op.i ?? "auto"}] exit ${exitCode}\n\ntool_call_id: ${toolCallId}\n\n${stdout}${stderr ? `\n[stderr]\n${stderr}` : ""}`);
146
+ }
147
+ }
148
+ }
149
+ else if (group.tool === "bash") {
150
+ for (const cmd of group.ops) {
151
+ const { stdout, stderr, exitCode } = await runBashWithLimits(cmd.c, cmd.h ?? cwd, cmd.t ?? 30000, signal);
152
+ parts.push(`### bash\n\ntool_call_id: ${toolCallId}\n\n--- bash exit ${exitCode} ---\n${stdout}${stderr ? `\n[stderr]\n${stderr}` : ""}`);
153
+ }
154
+ }
155
+ else if (group.tool === "web") {
156
+ const webOutput = await runWebOps({ op: group.ops }, ctx, signal);
157
+ parts.push(`### web\n\ntool_call_id: ${toolCallId}\n\n${webOutput.content[0].text}`);
158
+ }
159
+ }
160
+ catch (err) {
161
+ const message = err instanceof Error ? err.message : String(err);
162
+ parts.push(`### ${group.tool} (error)\n\ntool_call_id: ${toolCallId}\n\nPre-dispatch failed: ${message}`);
163
+ }
164
+ }
165
+ return parts.join("\n\n---\n\n");
166
+ }
81
167
  function makeFlowDetailsFactory(projectFlowsDir) {
82
168
  return (results) => ({
83
169
  mode: "flow",
@@ -86,8 +172,6 @@ function makeFlowDetailsFactory(projectFlowsDir) {
86
172
  results,
87
173
  });
88
174
  }
89
- // Re-export compressToolResults and stripBatchReadToolCalls for tests
90
- export { compressToolResults, stripBatchReadToolCalls } from "./snapshot/snapshot.js";
91
175
  // ---------------------------------------------------------------------------
92
176
  // Extension entry point
93
177
  // ---------------------------------------------------------------------------
@@ -124,8 +208,8 @@ export default function (pi) {
124
208
  description: "Maximum number of flows to execute in parallel (default: 4).",
125
209
  type: "string",
126
210
  });
127
- pi.registerFlag("flow-session-mode", {
128
- description: "Default child-flow session mode: snap (90s), fast (300s), default (600s), long (900s), or extreme_long (1200s).",
211
+ pi.registerFlag("flow-complexity", {
212
+ description: "Default child-flow complexity: snap (120s no review), simple (300s no review), moderate (600s 1x audit), complex (900s 2x audit), or intricate (1200s 3x audit).",
129
213
  type: "string",
130
214
  });
131
215
  pi.registerFlag("tool-optimize", {
@@ -133,7 +217,7 @@ export default function (pi) {
133
217
  type: "boolean",
134
218
  });
135
219
  pi.registerFlag("no-steering", {
136
- description: "Disable orchestrator steering hint injection.",
220
+ description: "Disable root state steering hint injection.",
137
221
  type: "boolean",
138
222
  });
139
223
  pi.registerFlag("steering-prompt", {
@@ -152,12 +236,20 @@ export default function (pi) {
152
236
  description: "Disable glitch/scramble effect.",
153
237
  type: "boolean",
154
238
  });
239
+ pi.registerFlag("body-lite", {
240
+ description: "Use lite collapsed body mode (aim + cmd only).",
241
+ type: "boolean",
242
+ });
243
+ pi.registerFlag("body-full", {
244
+ description: "Use full collapsed body mode (aim + cmd + msg).",
245
+ type: "boolean",
246
+ });
155
247
  // Wire up bundled notification channel
156
248
  setupNotify(pi);
157
249
  // Wire up /flow command and continuation hooks
158
250
  registerFlow(pi);
159
251
  const depthConfig = resolveFlowDepthConfig(pi);
160
- const { currentDepth, maxDepth, canDelegate, ancestorFlowStack, preventCycles } = depthConfig;
252
+ const { currentDepth, maxDepth, canTransition, ancestorFlowStack, preventCycles } = depthConfig;
161
253
  let resolved;
162
254
  let _sessionCtx;
163
255
  let bashTracker;
@@ -168,26 +260,23 @@ export default function (pi) {
168
260
  resolved = resolveSettings(pi, ctx.cwd);
169
261
  // Wire resolved settings to modules
170
262
  configureSteering({ enabled: resolved.steeringEnabled, customPrompt: resolved.steeringCustomPrompt });
171
- configureStrategicHint(resolved.steeringStrategicHint);
263
+ configureDirective(resolved.steeringStrategicHint);
172
264
  scrambleManager.setAnimationConfig({ enabled: resolved.animationEnabled, glitch: resolved.animationGlitch });
173
- // Only restrict tools for the main orchestrator (depth 0).
265
+ // Only restrict tools for the main root state (depth 0).
174
266
  // Child flows (depth > 0) receive their tools via --tools CLI arg;
175
267
  // overriding them here would strip bash/batch from children.
176
268
  if (currentDepth === 0) {
177
269
  pi.setActiveTools(computeActiveTools(resolved.toolOptimize));
178
270
  }
179
271
  // Register tools based on depth.
180
- // Depth 0 (main orchestrator): only batch_read no bash ops, only reads + flow tool.
272
+ // Depth 0 (main root state): batch_read + no bash ops.
181
273
  // Depth > 0 (child flows): batch (with bash), batch_bash_poll — they need bash ops.
182
- // Children use batch for reads (which includes read ops), so batch_read is NOT
183
- // registered for depth > 0 to avoid confusion and keep the tool set minimal.
274
+ // batch_read is registered at all depths for trace and read-only child operations.
184
275
  // The bashProcessTracker is shared between the batch tool (launches bash ops)
185
276
  // and the batch_bash_poll tool (checks on pending bash ops).
186
277
  if (resolved.toolOptimize) {
187
- if (currentDepth === 0) {
188
- pi.registerTool(createBatchReadTool());
189
- }
190
- else {
278
+ pi.registerTool(createBatchReadTool());
279
+ if (currentDepth > 0) {
191
280
  bashTracker = new BashProcessTracker();
192
281
  pi.registerTool(createBatchTool(bashTracker, resolved.toolOptimize));
193
282
  pi.registerTool(createBatchBashPollTool(bashTracker));
@@ -202,13 +291,26 @@ export default function (pi) {
202
291
  }
203
292
  }
204
293
  });
294
+ // Clean up global mutable state on session shutdown
295
+ pi.on("session_shutdown", () => {
296
+ _sessionCtx = undefined;
297
+ // bashTracker and its pending OS processes are discarded on restart.
298
+ // This is expected — child process state is not serializable.
299
+ if (bashTracker) {
300
+ try {
301
+ bashTracker.abortAll();
302
+ }
303
+ catch { /* best-effort */ }
304
+ bashTracker = undefined;
305
+ }
306
+ });
205
307
  // Re-apply active tools every turn to survive registry refreshes.
206
308
  // Skip for child flows — they get tools from --tools CLI arg.
207
309
  pi.on("turn_start", () => {
208
310
  if (currentDepth > 0 || !resolved)
209
311
  return;
210
312
  pi.setActiveTools(computeActiveTools(resolved.toolOptimize));
211
- resetStrategicHintTracker();
313
+ resetDirectiveTracker();
212
314
  });
213
315
  // Inject available flows into the system prompt.
214
316
  // Skip entirely for child flows (depth > 0) — they get their instructions
@@ -216,11 +318,34 @@ export default function (pi) {
216
318
  pi.on("before_agent_start", async (event) => {
217
319
  if (currentDepth > 0 || !resolved)
218
320
  return undefined;
219
- const augmented = buildBeforeAgentStartPrompt(event, resolved.toolOptimize, canDelegate, resolved.discoveredFlows, depthConfig);
321
+ const augmented = buildBeforeAgentStartPrompt(event, resolved.toolOptimize, canTransition, resolved.discoveredFlows, depthConfig);
220
322
  if (augmented === undefined)
221
323
  return undefined;
222
324
  return { systemPrompt: augmented };
223
325
  });
326
+ // Compaction: inject flow context into the summarization prompt.
327
+ pi.on("session_before_compact", async (event, ctx) => {
328
+ const goal = getGoal(ctx.cwd);
329
+ if (!goal)
330
+ return undefined;
331
+ const completed = goal.completedFlows.slice(-3);
332
+ const flowSummary = completed.length > 0
333
+ ? `\nRecently completed flows:\n${completed.map(f => `- [${f.type}] ${f.aim}`).join("\n")}`
334
+ : "";
335
+ const injection = `\n\n[Flow Context]\nCurrent Goal: ${goal.objective}${goal.acceptance ? `\nAcceptance: ${goal.acceptance}` : ""}${flowSummary}\nMaintain this goal and status in the summary.`;
336
+ return { prompt: (event.prompt || "") + injection };
337
+ });
338
+ // Compaction: re-anchor flow context after summarization.
339
+ pi.on("session_compact", async (_event, ctx) => {
340
+ const goal = getGoal(ctx.cwd);
341
+ if (!goal)
342
+ return;
343
+ // Send a non-displaying message to re-anchor the agent to its goal.
344
+ pi.sendMessage({
345
+ content: `[Flow Re-anchor] Compaction completed. Current Goal: ${goal.objective}. Continue execution.`,
346
+ display: false,
347
+ }, { triggerTurn: false });
348
+ });
224
349
  // Steering hint: insert as a separate system message immediately
225
350
  // before the latest user message each turn. The steering hint is never
226
351
  // part of the static systemPrompt — it is injected dynamically here only.
@@ -231,7 +356,10 @@ export default function (pi) {
231
356
  if (currentDepth > 0)
232
357
  return undefined;
233
358
  // Always strip old steering hint messages to prevent accumulation
234
- const { messages, changed: messagesChanged } = stripSteeringHintsFromMessages(event.messages);
359
+ const { messages: steeringStrippedMessages, changed: steeringChanged } = stripSteeringHintsFromMessages(event.messages);
360
+ // Also strip directive hints (adaptive hints appended to tool results)
361
+ const { messages, changed: directiveChanged } = stripDirectivesFromMessages(steeringStrippedMessages);
362
+ const messagesChanged = steeringChanged || directiveChanged;
235
363
  // Find latest user message
236
364
  const userIndices = messages
237
365
  .map((m, i) => (m.role === "user" ? i : -1))
@@ -284,47 +412,37 @@ export default function (pi) {
284
412
  }
285
413
  return result;
286
414
  });
287
- // Register the web tool
288
- pi.registerTool(createWebTool());
289
415
  // Register the ask_user tool
290
416
  pi.registerTool(createAskUserTool());
417
+ // Register the trace tool (available at all depths — spawns a lightweight child reflection flow)
418
+ pi.registerTool(createTraceTool({
419
+ getSettings: () => resolved ? { toolOptimize: resolved.toolOptimize, structuredOutput: resolved.structuredOutput, bodyVerbosity: resolved.bodyVerbosity } : undefined,
420
+ getDepthConfig: () => depthConfig,
421
+ }));
291
422
  // Register the flow tool
292
- if (canDelegate) {
423
+ if (canTransition) {
293
424
  pi.registerTool({
294
425
  name: "flow",
295
426
  label: "Flow",
296
- description: [
297
- "If you cannot answer from your current context, you are forbidden from guessing.",
298
- "You MUST enter to the following flow states, with tool call method.",
299
- "",
300
- "Flow states are isolated π processes with forked session snapshots. They run in parallel.",
301
- 'Invoke: { "flow": [{ "type": "scout", "intent": "...", "aim": "...", "sessionMode": "default" }, ...] }',
302
- "Session modes: fast=300s, default=600s, long=900s, extreme_long=1200s. Use long or extreme_long only when the work genuinely needs the larger budget.",
303
- "States: scout, debug, build, craft, audit, ideas.",
304
- "Custom states configs in (create if not exists): .md files in .pi/agents/ or ~/.pi/agent/agents/.",
305
- ].join("\n"),
427
+ promptSnippet: "Dive into specialized flows (scout, debug, build, craft, audit, ideas) via a `flow` array.",
428
+ promptGuidelines: [
429
+ "Combine multiple tasks into a single `flow` array call.",
430
+ "Each task requires `type`, `intent`, `aim`, and `complexity`.",
431
+ "All tasks MUST be nested inside the `flow` array.",
432
+ ],
433
+ description: "Dives into specialized flow states. Requires a `flow` array of tasks with specific `complexity` (snap, simple, moderate, complex, intricate).",
306
434
  parameters: FlowParams,
307
435
  async execute(toolCallId, params, signal, onUpdate, ctx) {
308
436
  if (!resolved) {
309
- return {
310
- content: [{ type: "text", text: "Error: session not initialized" }],
311
- details: makeFlowDetailsFactory(null)([]),
312
- isError: true,
313
- };
437
+ throw new Error("Error: session not initialized");
314
438
  }
315
439
  const discovery = discoverFlows(ctx.cwd, "all");
316
440
  const { flows } = discovery;
317
441
  const makeDetails = makeFlowDetailsFactory(discovery.projectFlowsDir);
318
- // Build the full fork session snapshot and sanitize only non-inheritable
319
- // artifacts before passing it to child flows.
320
- // Uses the persistent module-level cache so historical flow results
321
- // are properly compressed (not passed through verbatim).
322
- const { result: forkSessionSnapshotJsonl, stats: forkSessionSnapshotStats } = sanitizeForkSnapshot(buildForkSessionSnapshotJsonl(ctx.sessionManager), flowResultCache, {
323
- forkedFrom: ctx.sessionManager.getSessionId(),
324
- forkedAt: new Date().toISOString(),
325
- depth: currentDepth + 1,
326
- ...(ancestorFlowStack.length > 0 ? { parentFlow: ancestorFlowStack[ancestorFlowStack.length - 1] } : {}),
327
- });
442
+ // Build the fork session snapshot. Core-2 preserves all conversation
443
+ // verbatim in chronological order, stripping only batch read/write/edit
444
+ // bodies (keeping first 3 + last 3 lines as orientation).
445
+ const forkSessionSnapshotJsonl = buildCore2Snapshot(ctx.sessionManager);
328
446
  const getTierOverride = (tier) => {
329
447
  const flagName = tier === "lite"
330
448
  ? "flow-lite-model"
@@ -350,7 +468,13 @@ export default function (pi) {
350
468
  acceptance: activeGoal.acceptance,
351
469
  flowCount: activeGoal.completedFlows.length,
352
470
  maxFlows: activeGoal.maxFlows,
471
+ completedFlows: activeGoal.completedFlows.map(f => ({ type: f.type, aim: f.aim })),
353
472
  } : undefined;
473
+ const preDispatchResults = await Promise.all(params.flow.map(async (f) => {
474
+ if (!f.dispatch || f.dispatch.length === 0)
475
+ return undefined;
476
+ return executeDispatchOps(f.dispatch, f.cwd ?? ctx.cwd, ctx, signal);
477
+ }));
354
478
  const result = await executeFlows({
355
479
  flows,
356
480
  currentDepth,
@@ -362,7 +486,7 @@ export default function (pi) {
362
486
  cwd: ctx.cwd,
363
487
  loadedFlowModelConfigs: resolved.loadedFlowModelConfigs,
364
488
  maxConcurrency: resolved.maxConcurrency,
365
- defaultSessionMode: resolved.defaultSessionMode,
489
+ defaultComplexity: resolved.defaultComplexity,
366
490
  signal,
367
491
  onUpdate,
368
492
  makeDetails,
@@ -370,8 +494,6 @@ export default function (pi) {
370
494
  tierOverrideResolver: getTierOverride,
371
495
  fallbackModel: inheritedCliArgs.fallbackModel,
372
496
  forkSessionSnapshotJsonl,
373
- forkSessionSnapshotStats,
374
- flowResultCache,
375
497
  projectFlowsDir: discovery.projectFlowsDir,
376
498
  sessionManager: ctx.sessionManager,
377
499
  hasUI: ctx.hasUI,
@@ -389,18 +511,42 @@ export default function (pi) {
389
511
  addTokens(ctx.cwd, r.usage.input + r.usage.output);
390
512
  }
391
513
  },
392
- }, params.flow.map((f) => ({ type: f.type, intent: f.intent, aim: f.aim, acceptance: f.acceptance, cwd: f.cwd, sessionMode: f.sessionMode })), toolCallId);
514
+ }, params.flow.map((f, i) => ({
515
+ type: f.type,
516
+ intent: f.intent,
517
+ aim: f.aim,
518
+ acceptance: f.acceptance,
519
+ cwd: f.cwd,
520
+ complexity: f.complexity,
521
+ preDispatchResults: preDispatchResults[i],
522
+ })), toolCallId, params.auditLoop ?? 0);
523
+ if (result.failed) {
524
+ const text = result.content?.[0]?.text ?? "Flow execution failed";
525
+ throw new Error(text);
526
+ }
393
527
  const flowToolResult = {
394
528
  content: result.content,
395
529
  details: result.details,
396
- isError: result.isError,
530
+ failed: result.failed,
397
531
  _toolCallId: toolCallId,
398
532
  };
399
- appendStrategicHintOnce(flowToolResult);
533
+ // Build adaptive directive context from flow results
534
+ const hintContext = { hasNotDone: false, statusVague: false };
535
+ if (result.details?.results && Array.isArray(result.details.results)) {
536
+ for (const r of result.details.results) {
537
+ if (r.structuredOutput?.notDone?.length) {
538
+ hintContext.hasNotDone = true;
539
+ }
540
+ if (!r.structuredOutput || !["complete", "partial", "blocked"].includes(r.structuredOutput.status)) {
541
+ hintContext.statusVague = true;
542
+ }
543
+ }
544
+ }
545
+ appendDirectiveOnce(flowToolResult, hintContext);
400
546
  return flowToolResult;
401
547
  },
402
- renderCall: (args, theme) => renderFlowCall(args, theme),
403
- renderResult: (result, { expanded }, theme, args) => renderFlowResult(result, expanded, theme, args),
548
+ renderCall: (args, theme) => renderFlowCall(args, theme, { ...DEFAULT_FLOW_COLORS, bodyVerbosity: resolved?.bodyVerbosity }),
549
+ renderResult: (result, { expanded }, theme, args) => renderFlowResult(result, expanded, theme, args, { ...DEFAULT_FLOW_COLORS, bodyVerbosity: resolved?.bodyVerbosity }),
404
550
  });
405
551
  }
406
552
  // -------------------------------------------------------------------------
@@ -420,6 +566,7 @@ export default function (pi) {
420
566
  steeringStrategicHint: resolved.steeringStrategicHint,
421
567
  animationEnabled: resolved.animationEnabled,
422
568
  animationGlitch: resolved.animationGlitch,
569
+ bodyVerbosity: resolved.bodyVerbosity,
423
570
  }
424
571
  : {
425
572
  toolOptimize: true,
@@ -430,6 +577,7 @@ export default function (pi) {
430
577
  steeringStrategicHint: true,
431
578
  animationEnabled: true,
432
579
  animationGlitch: true,
580
+ bodyVerbosity: "lite",
433
581
  },
434
582
  };
435
583
  if (typeof pi.emit === "function") {
@@ -437,11 +585,11 @@ export default function (pi) {
437
585
  }
438
586
  // Register cleanup on process exit (once).
439
587
  // We use prependListener on SIGINT/SIGTERM to propagate to child processes
440
- // before the host's own signal handler runs. This avoids orphaned sub-agents.
588
+ // before the host's own signal handler runs. This avoids orphaned flow states.
441
589
  // The host handler still runs afterward and handles terminal cleanup.
442
590
  if (!globalThis.__pi_agent_flow_shutdown_registered) {
443
591
  globalThis.__pi_agent_flow_shutdown_registered = true;
444
- // Propagate signals to child process groups so sub-agents don't become orphans.
592
+ // Propagate signals to child process groups so flow states don't become orphans.
445
593
  // We use prependListener so our handler runs first, before the host's cleanup.
446
594
  const shutdown = () => {
447
595
  // First, abort any pending bash operations tracked by the batch tool.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@
4
4
  * Sends notifications when the agent is done and waiting for input.
5
5
  * Supports terminal (OSC), desktop, bell, and sound channels.
6
6
  */
7
- import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
7
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
8
8
  export declare function setupNotify(pi: ExtensionAPI): void;
9
9
  //# sourceMappingURL=notify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/notify/notify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAuOlE,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,QAuE3C"}
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/notify/notify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAuOpE,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,QAuE3C"}