pi-agent-flow 2.2.33 → 2.3.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 (193) hide show
  1. package/agents/craft.md +1 -1
  2. package/agents/debug.md +1 -1
  3. package/agents/ideas.md +1 -1
  4. package/dist/batch/batch-bash.d.ts +6 -1
  5. package/dist/batch/batch-bash.d.ts.map +1 -1
  6. package/dist/batch/batch-bash.js +7 -2
  7. package/dist/batch/batch-bash.js.map +1 -1
  8. package/dist/batch/constants.d.ts +2 -0
  9. package/dist/batch/constants.d.ts.map +1 -1
  10. package/dist/batch/execute.d.ts.map +1 -1
  11. package/dist/batch/execute.js +13 -1
  12. package/dist/batch/execute.js.map +1 -1
  13. package/dist/batch/fuzzy-edit.d.ts +1 -1
  14. package/dist/batch/fuzzy-edit.d.ts.map +1 -1
  15. package/dist/batch/fuzzy-edit.js +43 -17
  16. package/dist/batch/fuzzy-edit.js.map +1 -1
  17. package/dist/batch/index.d.ts +6 -68
  18. package/dist/batch/index.d.ts.map +1 -1
  19. package/dist/batch/index.js +7 -445
  20. package/dist/batch/index.js.map +1 -1
  21. package/dist/batch/summary.d.ts.map +1 -1
  22. package/dist/batch/summary.js +146 -0
  23. package/dist/batch/summary.js.map +1 -1
  24. package/dist/cli/batch-read.d.ts +20 -0
  25. package/dist/cli/batch-read.d.ts.map +1 -0
  26. package/dist/cli/batch-read.js +267 -0
  27. package/dist/cli/batch-read.js.map +1 -0
  28. package/dist/cli/batch.d.ts +20 -0
  29. package/dist/cli/batch.d.ts.map +1 -0
  30. package/dist/cli/batch.js +252 -0
  31. package/dist/cli/batch.js.map +1 -0
  32. package/dist/cli/chain.d.ts +24 -0
  33. package/dist/cli/chain.d.ts.map +1 -0
  34. package/dist/cli/chain.js +166 -0
  35. package/dist/cli/chain.js.map +1 -0
  36. package/dist/cli/exec/bash.d.ts +11 -0
  37. package/dist/cli/exec/bash.d.ts.map +1 -0
  38. package/dist/cli/exec/bash.js +63 -0
  39. package/dist/cli/exec/bash.js.map +1 -0
  40. package/dist/cli/exec/delete.d.ts +10 -0
  41. package/dist/cli/exec/delete.d.ts.map +1 -0
  42. package/dist/cli/exec/delete.js +21 -0
  43. package/dist/cli/exec/delete.js.map +1 -0
  44. package/dist/cli/exec/edit.d.ts +10 -0
  45. package/dist/cli/exec/edit.d.ts.map +1 -0
  46. package/dist/cli/exec/edit.js +47 -0
  47. package/dist/cli/exec/edit.js.map +1 -0
  48. package/dist/cli/exec/index.d.ts +10 -0
  49. package/dist/cli/exec/index.d.ts.map +1 -0
  50. package/dist/cli/exec/index.js +10 -0
  51. package/dist/cli/exec/index.js.map +1 -0
  52. package/dist/cli/exec/patch.d.ts +10 -0
  53. package/dist/cli/exec/patch.d.ts.map +1 -0
  54. package/dist/cli/exec/patch.js +23 -0
  55. package/dist/cli/exec/patch.js.map +1 -0
  56. package/dist/cli/exec/poll.d.ts +12 -0
  57. package/dist/cli/exec/poll.d.ts.map +1 -0
  58. package/dist/cli/exec/poll.js +59 -0
  59. package/dist/cli/exec/poll.js.map +1 -0
  60. package/dist/cli/exec/read.d.ts +10 -0
  61. package/dist/cli/exec/read.d.ts.map +1 -0
  62. package/dist/cli/exec/read.js +54 -0
  63. package/dist/cli/exec/read.js.map +1 -0
  64. package/dist/cli/exec/rg.d.ts +10 -0
  65. package/dist/cli/exec/rg.d.ts.map +1 -0
  66. package/dist/cli/exec/rg.js +32 -0
  67. package/dist/cli/exec/rg.js.map +1 -0
  68. package/dist/cli/exec/web.d.ts +13 -0
  69. package/dist/cli/exec/web.d.ts.map +1 -0
  70. package/dist/cli/exec/web.js +47 -0
  71. package/dist/cli/exec/web.js.map +1 -0
  72. package/dist/cli/exec/write.d.ts +10 -0
  73. package/dist/cli/exec/write.d.ts.map +1 -0
  74. package/dist/cli/exec/write.js +26 -0
  75. package/dist/cli/exec/write.js.map +1 -0
  76. package/dist/cli/flags/bash.d.ts +3 -0
  77. package/dist/cli/flags/bash.d.ts.map +1 -0
  78. package/dist/cli/flags/bash.js +6 -0
  79. package/dist/cli/flags/bash.js.map +1 -0
  80. package/dist/cli/flags/delete.d.ts +3 -0
  81. package/dist/cli/flags/delete.d.ts.map +1 -0
  82. package/dist/cli/flags/delete.js +2 -0
  83. package/dist/cli/flags/delete.js.map +1 -0
  84. package/dist/cli/flags/edit.d.ts +3 -0
  85. package/dist/cli/flags/edit.d.ts.map +1 -0
  86. package/dist/cli/flags/edit.js +7 -0
  87. package/dist/cli/flags/edit.js.map +1 -0
  88. package/dist/cli/flags/index.d.ts +10 -0
  89. package/dist/cli/flags/index.d.ts.map +1 -0
  90. package/dist/cli/flags/index.js +10 -0
  91. package/dist/cli/flags/index.js.map +1 -0
  92. package/dist/cli/flags/patch.d.ts +3 -0
  93. package/dist/cli/flags/patch.d.ts.map +1 -0
  94. package/dist/cli/flags/patch.js +4 -0
  95. package/dist/cli/flags/patch.js.map +1 -0
  96. package/dist/cli/flags/poll.d.ts +3 -0
  97. package/dist/cli/flags/poll.d.ts.map +1 -0
  98. package/dist/cli/flags/poll.js +4 -0
  99. package/dist/cli/flags/poll.js.map +1 -0
  100. package/dist/cli/flags/read.d.ts +3 -0
  101. package/dist/cli/flags/read.d.ts.map +1 -0
  102. package/dist/cli/flags/read.js +6 -0
  103. package/dist/cli/flags/read.js.map +1 -0
  104. package/dist/cli/flags/rg.d.ts +3 -0
  105. package/dist/cli/flags/rg.d.ts.map +1 -0
  106. package/dist/cli/flags/rg.js +9 -0
  107. package/dist/cli/flags/rg.js.map +1 -0
  108. package/dist/cli/flags/web.d.ts +3 -0
  109. package/dist/cli/flags/web.d.ts.map +1 -0
  110. package/dist/cli/flags/web.js +6 -0
  111. package/dist/cli/flags/web.js.map +1 -0
  112. package/dist/cli/flags/write.d.ts +3 -0
  113. package/dist/cli/flags/write.d.ts.map +1 -0
  114. package/dist/cli/flags/write.js +4 -0
  115. package/dist/cli/flags/write.js.map +1 -0
  116. package/dist/cli/flow.d.ts +33 -0
  117. package/dist/cli/flow.d.ts.map +1 -0
  118. package/dist/cli/flow.js +345 -0
  119. package/dist/cli/flow.js.map +1 -0
  120. package/dist/cli/format.d.ts +12 -0
  121. package/dist/cli/format.d.ts.map +1 -0
  122. package/dist/cli/format.js +29 -0
  123. package/dist/cli/format.js.map +1 -0
  124. package/dist/cli/help.d.ts +14 -0
  125. package/dist/cli/help.d.ts.map +1 -0
  126. package/dist/cli/help.js +31 -0
  127. package/dist/cli/help.js.map +1 -0
  128. package/dist/cli/parse.d.ts +24 -0
  129. package/dist/cli/parse.d.ts.map +1 -0
  130. package/dist/cli/parse.js +165 -0
  131. package/dist/cli/parse.js.map +1 -0
  132. package/dist/cli/register.d.ts +73 -0
  133. package/dist/cli/register.d.ts.map +1 -0
  134. package/dist/cli/register.js +105 -0
  135. package/dist/cli/register.js.map +1 -0
  136. package/dist/cli/tokenize.d.ts +9 -0
  137. package/dist/cli/tokenize.d.ts.map +1 -0
  138. package/dist/cli/tokenize.js +80 -0
  139. package/dist/cli/tokenize.js.map +1 -0
  140. package/dist/core2/snapshot.d.ts.map +1 -1
  141. package/dist/core2/snapshot.js +8 -1
  142. package/dist/core2/snapshot.js.map +1 -1
  143. package/dist/flow/agents.d.ts +2 -0
  144. package/dist/flow/agents.d.ts.map +1 -1
  145. package/dist/flow/agents.js +2 -0
  146. package/dist/flow/agents.js.map +1 -1
  147. package/dist/flow/executor.d.ts.map +1 -1
  148. package/dist/flow/executor.js +1 -0
  149. package/dist/flow/executor.js.map +1 -1
  150. package/dist/flow/flow-args.js +1 -1
  151. package/dist/flow/flow-args.js.map +1 -1
  152. package/dist/index.d.ts +1 -0
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +157 -239
  155. package/dist/index.js.map +1 -1
  156. package/dist/steering/flow-prompt.js +2 -2
  157. package/dist/steering/flow-prompt.js.map +1 -1
  158. package/dist/steering/sliding-prompt.d.ts.map +1 -1
  159. package/dist/steering/sliding-prompt.js +9 -21
  160. package/dist/steering/sliding-prompt.js.map +1 -1
  161. package/dist/tools/trace.d.ts +12 -7
  162. package/dist/tools/trace.d.ts.map +1 -1
  163. package/dist/tools/trace.js +155 -194
  164. package/dist/tools/trace.js.map +1 -1
  165. package/dist/tools/web-ops.d.ts +40 -0
  166. package/dist/tools/web-ops.d.ts.map +1 -1
  167. package/dist/tools/web-ops.js +2 -2
  168. package/dist/tools/web-ops.js.map +1 -1
  169. package/package.json +1 -1
  170. package/dist/batch/normalize.d.ts +0 -4
  171. package/dist/batch/normalize.d.ts.map +0 -1
  172. package/dist/batch/normalize.js +0 -85
  173. package/dist/batch/normalize.js.map +0 -1
  174. package/dist/flow/flow-args-prep.d.ts +0 -28
  175. package/dist/flow/flow-args-prep.d.ts.map +0 -1
  176. package/dist/flow/flow-args-prep.js +0 -83
  177. package/dist/flow/flow-args-prep.js.map +0 -1
  178. package/dist/flow/flow-dispatch-prep.d.ts +0 -11
  179. package/dist/flow/flow-dispatch-prep.d.ts.map +0 -1
  180. package/dist/flow/flow-dispatch-prep.js +0 -40
  181. package/dist/flow/flow-dispatch-prep.js.map +0 -1
  182. package/dist/flow/op-aliases.d.ts +0 -51
  183. package/dist/flow/op-aliases.d.ts.map +0 -1
  184. package/dist/flow/op-aliases.js +0 -185
  185. package/dist/flow/op-aliases.js.map +0 -1
  186. package/dist/tools/array-coerce.d.ts +0 -9
  187. package/dist/tools/array-coerce.d.ts.map +0 -1
  188. package/dist/tools/array-coerce.js +0 -47
  189. package/dist/tools/array-coerce.js.map +0 -1
  190. package/dist/tools/trace-dispatch-prep.d.ts +0 -10
  191. package/dist/tools/trace-dispatch-prep.d.ts.map +0 -1
  192. package/dist/tools/trace-dispatch-prep.js +0 -199
  193. package/dist/tools/trace-dispatch-prep.js.map +0 -1
@@ -12,27 +12,15 @@ import { randomUUID } from "node:crypto";
12
12
  const STEERING_HINT_UUID = randomUUID();
13
13
  export const STEERING_HINT_OPEN_TAG = `<pi-flow-steering-hint id="${STEERING_HINT_UUID}">`;
14
14
  export const STEERING_HINT_CLOSE_TAG = `</pi-flow-steering-hint id="${STEERING_HINT_UUID}">`;
15
- export const STEERING_HINT = `${STEERING_HINT_OPEN_TAG}\n` +
16
- `Available tools: batch, trace, flow, ask_user.\n` +
17
- `Field aliases accepted: t=tool, o=ops, cmd/command=c, content=c, path=p, edits=e, offset=s, limit=l, cwd=h, timeout=t, id=i, query=q, maxCount=n, url=u, find=f, replace=r. Canonical wins.\n` +
18
- `Be direct zero preamble or filler. Answer directly when context is available.\n` +
19
- `\n` +
20
- `Critical review: Before every action, verify you have actual evidence (file content, real errors, real test output). STOP if uncertain or repeating a failed path.\n` +
21
- `\n` +
22
- `Tool selection:\n` +
23
- `- Use \`batch_read\` for file reads and codebase search.\n` +
24
- `- Only use \`trace\` for validation and short Q&A that requires bash or cli.\n` +
25
- `- Use \`flow\` for multi-file changes, architectural research, implementation, or verification.\n` +
26
- `- Transition to \`flow\` for complex tasks instead of chaining trace/batch_read calls.\n` +
27
- `- Start with \`flow-scout\` for deep context when the task is broad or unfamiliar.\n` +
28
- `\n` +
29
- `Backward: When quality or correctness is at risk — flow-audit (quality checks), flow-trace (verify/regression), flow-debug (root cause + fix), flow-build (corrections/refactor).\n` +
30
- `\n` +
31
- `Completeness: No placeholders, no TODOs, no half-finished work.\n` +
32
- `\n` +
33
- `When the sign of regression is detected - backtrack IMMEDIATELY to trace/audit/build flow.\n` +
34
- `\n` +
35
- `Use \`ask_user\` for: ambiguous goals, or conflicting requirements, question must have bite, and impact to the final outcomes.\n` +
15
+ export const STEERING_HINT = `${STEERING_HINT_OPEN_TAG}` +
16
+ `Available tools: batch_read (bash-style CLI: pass cmd: "batch_read <sub> [flags] <args>"), batch (bash-style CLI: pass cmd: "batch <sub> [flags] <args>"), flow (bash-style CLI: pass cmd: "flow --type <name> --intent <text> --aim <text> --concern <text> [-- <batch-dispatch>]"), trace (bash-style CLI: pass cmd: "trace [flags] [-- batch ...]"), ask_user. Pass cmd: "help" or "<tool> --help" for the man page. ` +
17
+ `Be direct zero preamble or filler. Answer directly when context is available. ` +
18
+ `Critical review: Before every action, verify you have actual evidence (file content, real errors, real test output). STOP if uncertain or repeating a failed path. ` +
19
+ `Tool selection: Default [flow] for real work. [trace] only for [verify] between flows. [scout] maps, [build] ships. Never chain [trace] alone. ` +
20
+ `Backward: When quality or correctness is at risk flow-audit (quality checks), flow-debug (root cause + fix), flow-build (corrections/refactor). Verify mid-loop via the [trace] sandwich slot. ` +
21
+ `Completeness: No placeholders, no TODOs, no half-finished work. ` +
22
+ `When the sign of regression is detected - backtrack IMMEDIATELY to trace/audit/build flow. ` +
23
+ `Use \`ask_user\` for: ambiguous goals, or conflicting requirements, question must have bite, and impact to the final outcomes.` +
36
24
  `${STEERING_HINT_CLOSE_TAG}`;
37
25
  const STEERING_HINT_RE = new RegExp(STEERING_HINT_OPEN_TAG.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") +
38
26
  "[\\s\\S]*?" +
@@ -1 +1 @@
1
- {"version":3,"file":"sliding-prompt.js","sourceRoot":"","sources":["../../src/steering/sliding-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sliding-prompt.js","sourceRoot":"","sources":["../../src/steering/sliding-prompt.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,23 @@
1
1
  /**
2
2
  * Trace tool — standalone quick verbatim reads and checks.
3
3
  *
4
- * Split from the `flow` tool to eliminate the confusion where the agent
5
- * nested dispatch ops as siblings in the `flow[]` array instead of inside
6
- * a task object. Trace is self-defining (agents/trace.md already
7
- * contains the full mission), so it needs zero required fields.
4
+ * Bash-style CLI: single `cmd` field with optional flags and pre-flight dispatch.
8
5
  */
9
6
  import { type Static } from "@sinclair/typebox";
10
7
  import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
11
8
  import type { AgentToolResult } from "@earendil-works/pi-agent-core";
12
9
  import { type LoadedFlowModelConfigs } from "../config/config.js";
13
10
  import { type FlowDetails } from "../types/flow.js";
14
- export declare const TraceParams: any;
11
+ export declare function parseTraceCmd(cmd: string): {
12
+ flags: {
13
+ intent?: string;
14
+ cwd?: string;
15
+ complexity?: string;
16
+ };
17
+ dispatch: string;
18
+ help: boolean;
19
+ };
20
+ export declare const TraceCliParams: any;
15
21
  export interface TraceToolOptions {
16
22
  getSettings?: () => {
17
23
  toolOptimize: boolean;
@@ -36,8 +42,7 @@ export declare function createTraceTool(opts?: TraceToolOptions): {
36
42
  promptGuidelines: string[];
37
43
  description: string;
38
44
  parameters: any;
39
- prepareArguments: (input: unknown) => unknown;
40
- execute(toolCallId: string, params: Static<typeof TraceParams>, signal: AbortSignal | undefined, onUpdate: any, ctx: ExtensionContext): Promise<AgentToolResult<FlowDetails>>;
45
+ execute(toolCallId: string, params: Static<typeof TraceCliParams>, signal: AbortSignal | undefined, onUpdate: any, ctx: ExtensionContext): Promise<AgentToolResult<FlowDetails>>;
41
46
  renderCall: (args: any, theme: any) => import("@earendil-works/pi-tui").Text | import("@earendil-works/pi-tui").Container;
42
47
  renderResult: (result: any, { expanded }: any, theme: any, args: any) => import("@earendil-works/pi-tui").Text | import("@earendil-works/pi-tui").Container;
43
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/tools/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKrE,OAAO,EAIN,KAAK,sBAAsB,EAE3B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAsJtF,eAAO,MAAM,WAAW,KA0BtB,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAChC,WAAW,CAAC,EAAE,MAAM;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,sBAAsB,EAAE,gBAAgB,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3L,cAAc,CAAC,EAAE,MAAM;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACnI,yBAAyB,CAAC,EAAE,MAAM,sBAAsB,GAAG,SAAS,CAAC;IACrE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAgED,wBAAgB,eAAe,CAAC,IAAI,GAAE,gBAAqB;;;;;;;8BAc/B,OAAO;wBAapB,MAAM,UACV,MAAM,CAAC,OAAO,WAAW,CAAC,UAC1B,WAAW,GAAG,SAAS,YACrB,GAAG,OACR,gBAAgB,GACnB,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;uBAgHrB,GAAG,SAAS,GAAG;2BAGX,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG;EAwBrE"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/tools/trace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKrE,OAAO,EAIN,KAAK,sBAAsB,EAE3B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuDtF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAiD7I;AAMD,eAAO,MAAM,cAAc,KAIzB,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAChC,WAAW,CAAC,EAAE,MAAM;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,sBAAsB,EAAE,gBAAgB,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3L,cAAc,CAAC,EAAE,MAAM;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACnI,yBAAyB,CAAC,EAAE,MAAM,sBAAsB,GAAG,SAAS,CAAC;IACrE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AA0DD,wBAAgB,eAAe,CAAC,IAAI,GAAE,gBAAqB;;;;;;;wBAiB5C,MAAM,UACV,MAAM,CAAC,OAAO,cAAc,CAAC,UAC7B,WAAW,GAAG,SAAS,YACrB,GAAG,OACR,gBAAgB,GACnB,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;uBAwKrB,GAAG,SAAS,GAAG;2BAGX,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG;EAwBrE"}
@@ -1,10 +1,7 @@
1
1
  /**
2
2
  * Trace tool — standalone quick verbatim reads and checks.
3
3
  *
4
- * Split from the `flow` tool to eliminate the confusion where the agent
5
- * nested dispatch ops as siblings in the `flow[]` array instead of inside
6
- * a task object. Trace is self-defining (agents/trace.md already
7
- * contains the full mission), so it needs zero required fields.
4
+ * Bash-style CLI: single `cmd` field with optional flags and pre-flight dispatch.
8
5
  */
9
6
  import { Type } from "@sinclair/typebox";
10
7
  import { runFlowWithLiveSession } from "../flow/flow-live.js";
@@ -15,162 +12,101 @@ import { renderFlowCall, renderFlowResult } from "../tui/render.js";
15
12
  import { getFlowLiveState } from "../tui/flow-live-state.js";
16
13
  import { DEFAULT_FLOW_COLORS } from "../tui/flow-colors.js";
17
14
  import { getFlowOutput } from "../types/flow.js";
18
- import { executeOperations } from "../batch/execute.js";
19
- import { runBashWithLimits } from "../batch/batch-bash.js";
20
15
  import { logWarn } from "../config/log.js";
21
- import { runWebOps } from "./web-ops.js";
22
- import { BASH_DEFAULT_TIMEOUT_MS } from "../batch/constants.js";
23
16
  import { extractTraceStructuredOutput, resolveToolEvidence } from "../snapshot/trace-output.js";
24
- import { prepareTraceDispatchArguments } from "./trace-dispatch-prep.js";
17
+ import { runBatchCli } from "../cli/batch.js";
18
+ import { splitOnDoubleDash } from "../cli/chain.js";
19
+ import { tokenize } from "../cli/tokenize.js";
20
+ import { parseCommand, CliError } from "../cli/parse.js";
25
21
  // ---------------------------------------------------------------------------
26
- // Dispatch schemas — mirror of the flow-tool dispatch (kept here to avoid
27
- // circular imports with src/index.ts).
22
+ // Help text
28
23
  // ---------------------------------------------------------------------------
29
- const BatchDispatchOp = Type.Object({
30
- tool: Type.Literal("batch"),
31
- ops: Type.Array(Type.Object({
32
- o: Type.String(),
33
- p: Type.Optional(Type.String()),
34
- s: Type.Optional(Type.Number()),
35
- l: Type.Optional(Type.Number()),
36
- i: Type.Optional(Type.Union([Type.String(), Type.Boolean()])),
37
- t: Type.Optional(Type.Union([Type.Number(), Type.String()])),
38
- c: Type.Optional(Type.String()),
39
- e: Type.Optional(Type.Array(Type.Object({ f: Type.String(), r: Type.String() }))),
40
- h: Type.Optional(Type.String()),
41
- q: Type.Optional(Type.String()),
42
- n: Type.Optional(Type.Number()),
43
- u: Type.Optional(Type.Number()),
44
- }), { description: "File/batch operations matching the batch tool schema." }),
45
- });
46
- const BashDispatchOp = Type.Object({
47
- tool: Type.Literal("bash"),
48
- ops: Type.Array(Type.Object({
49
- c: Type.String({ description: "Shell command. Alias: cmd." }),
50
- h: Type.Optional(Type.String({ description: "Working directory override. Alias: cwd." })),
51
- t: Type.Optional(Type.Number({ description: "Timeout in ms. Alias: timeout." })),
52
- }), { description: "Bash command objects." }),
53
- });
54
- const WebDispatchOp = Type.Object({
55
- tool: Type.Literal("web"),
56
- ops: Type.Array(Type.Object({
57
- o: Type.Union([Type.Literal("search"), Type.Literal("fetch")]),
58
- q: Type.Optional(Type.String()),
59
- u: Type.Optional(Type.String()),
60
- f: Type.Optional(Type.String()),
61
- }), { description: "Web operations matching the web tool schema." }),
62
- });
63
- const DispatchOpSchema = Type.Union([BatchDispatchOp, BashDispatchOp, WebDispatchOp], {
64
- description: "Pre-dispatch tool call with discriminated tool type and typed ops array.",
65
- });
66
- async function executeDispatchOps(dispatch, cwd, ctx, signal) {
67
- const parts = [];
68
- const messages = [];
69
- let toolCallIndex = 0;
70
- for (const group of dispatch) {
71
- if (signal?.aborted)
72
- break;
73
- const toolCallId = `pre_dispatch_${group.tool}_${toolCallIndex++}`;
74
- let resultString = "";
75
- try {
76
- if (group.tool === "batch") {
77
- const fileOps = group.ops.filter((op) => op.o !== "bash");
78
- const bashOps = group.ops.filter((op) => op.o === "bash");
79
- const subParts = [];
80
- if (fileOps.length > 0) {
81
- const fileOutput = await executeOperations(fileOps, cwd, signal, { includeLimitWarnings: true });
82
- subParts.push(fileOutput.contentText);
83
- }
84
- if (bashOps.length > 0) {
85
- for (const op of bashOps) {
86
- const { stdout, stderr, exitCode } = await runBashWithLimits(op.c ?? "", op.h ?? cwd, op.t ?? BASH_DEFAULT_TIMEOUT_MS, signal);
87
- subParts.push(`stdout:\n${stdout}${stderr ? `\nstderr:\n${stderr}` : ""}${exitCode !== 0 ? `\nexitCode: ${exitCode}` : ""}`);
88
- }
89
- }
90
- resultString = subParts.join("\n\n");
91
- parts.push(`### batch (file ops)\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
92
- }
93
- else if (group.tool === "bash") {
94
- const subParts = [];
95
- for (const cmd of group.ops) {
96
- const { stdout, stderr, exitCode } = await runBashWithLimits(cmd.c, cmd.h ?? cwd, cmd.t ?? BASH_DEFAULT_TIMEOUT_MS, signal);
97
- subParts.push(`stdout:\n${stdout}${stderr ? `\nstderr:\n${stderr}` : ""}${exitCode !== 0 ? `\nexitCode: ${exitCode}` : ""}`);
98
- }
99
- resultString = subParts.join("\n\n");
100
- parts.push(`### bash\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
101
- }
102
- else if (group.tool === "web") {
103
- const webOutput = await runWebOps({ op: group.ops }, ctx, signal);
104
- resultString = webOutput.content[0].text;
105
- parts.push(`### web\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
106
- }
107
- }
108
- catch (err) {
109
- resultString = `Error: ${err instanceof Error ? err.message : String(err)}`;
110
- parts.push(`### ${group.tool}\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
111
- }
112
- // Add mock messages
113
- messages.push({
114
- role: "assistant",
115
- content: [
116
- {
117
- type: "toolCall",
118
- toolCallId,
119
- name: group.tool,
120
- arguments: group.tool === "batch"
121
- ? { o: group.ops }
122
- : group.tool === "bash"
123
- ? { ops: group.ops }
124
- : { op: group.ops },
125
- }
126
- ]
127
- });
128
- messages.push({
129
- role: "tool",
130
- toolCallId,
131
- content: [
132
- {
133
- type: "text",
134
- text: resultString,
135
- }
136
- ]
137
- });
24
+ const TRACE_HELP = `trace — read-first investigation tool
25
+
26
+ USAGE:
27
+ trace [flags] [-- <batch-dispatch>]
28
+
29
+ FLAGS:
30
+ --intent <text> Mission override. Default: trace agent's built-in description.
31
+ --cwd <path> Working directory override. Default: session cwd.
32
+ --complexity <level> snap | simple | moderate | complex | intricate. Default: simple.
33
+ --help, -h Show this help text.
34
+
35
+ DISPATCH:
36
+ Everything after the first top-level \`--\` is a batch-style command.
37
+ Examples:
38
+ trace -- batch read src/index.ts
39
+ trace --intent "verify auth" -- batch read src/auth.ts; batch rg -q "password" src/
40
+
41
+ EXAMPLES:
42
+ trace # default mission, no dispatch
43
+ trace --intent "verify auth" # override mission
44
+ trace --cwd /tmp # override cwd
45
+ trace --complexity moderate # override budget
46
+ trace -- batch read foo.txt # pre-flight read
47
+ trace help # show this help
48
+ `;
49
+ // ---------------------------------------------------------------------------
50
+ // Flag spec
51
+ // ---------------------------------------------------------------------------
52
+ const TRACE_FLAG_SPEC = {
53
+ intent: { short: "i", type: "string", description: "Mission override" },
54
+ cwd: { type: "string", description: "Working directory override" },
55
+ complexity: { short: "c", type: "string", description: "Budget level: snap, simple, moderate, complex, intricate" },
56
+ help: { short: "h", type: "boolean", description: "Show help" },
57
+ };
58
+ const VALID_COMPLEXITY = ["snap", "simple", "moderate", "complex", "intricate"];
59
+ // ---------------------------------------------------------------------------
60
+ // Command parser
61
+ // ---------------------------------------------------------------------------
62
+ export function parseTraceCmd(cmd) {
63
+ const trimmed = cmd.trim();
64
+ if (trimmed.length === 0 || trimmed === "help" || trimmed === "--help" || trimmed === "-h") {
65
+ return { flags: {}, dispatch: "", help: true };
138
66
  }
139
- return {
140
- promptString: parts.join("\n\n"),
141
- messages,
142
- };
67
+ const { pre, post } = splitOnDoubleDash(trimmed);
68
+ let tokens = tokenize(pre);
69
+ if (tokens[0] === "trace") {
70
+ tokens.shift();
71
+ }
72
+ if (tokens.length > 0 && (tokens[0] === "help" || tokens[0] === "--help" || tokens[0] === "-h")) {
73
+ return { flags: {}, dispatch: "", help: true };
74
+ }
75
+ if (tokens.length === 0) {
76
+ return { flags: {}, dispatch: post.trim(), help: false };
77
+ }
78
+ // Prepend dummy subcommand so parseCommand can parse flags
79
+ tokens.unshift("trace");
80
+ const parsed = parseCommand(tokens, TRACE_FLAG_SPEC);
81
+ if (parsed.flags.help) {
82
+ return { flags: {}, dispatch: "", help: true };
83
+ }
84
+ const flags = {};
85
+ if (parsed.flags.intent) {
86
+ flags.intent = String(parsed.flags.intent);
87
+ }
88
+ if (parsed.flags.cwd) {
89
+ flags.cwd = String(parsed.flags.cwd);
90
+ }
91
+ if (parsed.flags.complexity) {
92
+ flags.complexity = String(parsed.flags.complexity);
93
+ }
94
+ if (flags.complexity && !VALID_COMPLEXITY.includes(flags.complexity)) {
95
+ throw new CliError(`Invalid complexity: ${flags.complexity}`, `Valid levels: ${VALID_COMPLEXITY.join(", ")}`);
96
+ }
97
+ return { flags, dispatch: post.trim(), help: false };
143
98
  }
144
99
  // ---------------------------------------------------------------------------
145
- // Override tool params — zero required fields
100
+ // Schema
146
101
  // ---------------------------------------------------------------------------
147
- export const TraceParams = Type.Object({
148
- intent: Type.Optional(Type.String({
149
- description: "Optional mission override. Defaults to the trace agent's built-in description.",
150
- })),
151
- dispatch: Type.Optional(Type.Array(DispatchOpSchema, {
152
- description: "Tools to run before the trace starts (results injected into prompt).",
153
- })),
154
- cwd: Type.Optional(Type.String({ description: "Working directory override." })),
155
- complexity: Type.Optional(Type.Union([
156
- Type.Literal("snap"),
157
- Type.Literal("simple"),
158
- Type.Literal("moderate"),
159
- Type.Literal("complex"),
160
- Type.Literal("intricate"),
161
- ], { description: "Budget level. Default: simple." })),
162
- }, {
163
- title: "TraceToolParams",
164
- description: "Activate trace mode — read files verbatim, run checks, explore codebase. All fields optional.",
165
- examples: [
166
- {},
167
- { dispatch: [{ tool: "batch", ops: [{ o: "read", p: "src/main.ts" }] }] },
168
- { dispatch: [{ tool: "bash", ops: ["git status"] }] },
169
- { dispatch: [{ tool: "batch", ops: [{ p: "src/index.ts" }] }] },
170
- { dispatch: [{ tool: "bash", ops: [{ tool: "bash", ops: { item: { c: "ls" } } }] }] },
171
- { dispatch: [{ t: "bash", o: [{ cmd: "ls -la" }] }] },
172
- ],
102
+ export const TraceCliParams = Type.Object({
103
+ cmd: Type.String({
104
+ description: "Trace command. Optional flags (--intent, --cwd, --complexity) followed by optional pre-flight dispatch after `--`. Run with `cmd: 'help'` for the man page.",
105
+ }),
173
106
  });
107
+ // ---------------------------------------------------------------------------
108
+ // Runtime resolution
109
+ // ---------------------------------------------------------------------------
174
110
  function resolveTraceRuntime(opts, traceFlow, ctx, toolCallId, intent) {
175
111
  const tier = (traceFlow.tier ?? "lite");
176
112
  let selectedStrategy;
@@ -188,20 +124,6 @@ function resolveTraceRuntime(opts, traceFlow, ctx, toolCallId, intent) {
188
124
  });
189
125
  const resolvedModel = candidates[0];
190
126
  const maxContextTokens = resolveModelContextWindow(resolvedModel);
191
- // INTENTIONALLY OMIT: `tier` and `compressionProfile`.
192
- //
193
- // Trace is a leaf tool that must see the main agent's FULL context.
194
- // Passing `tier: lite` would cap messages to 30 (lite default), causing
195
- // 0 user messages to appear in the shared context display.
196
- // Passing `compressionProfile: files-first` would filter/drop messages
197
- // based on profile scoring, again hiding the main agent's conversation.
198
- //
199
- // The `tier: lite` in agents/trace.md only affects MODEL SELECTION
200
- // (cheaper model), NOT snapshot compression.
201
- //
202
- // Bug history (2026-06): these WERE previously passed, causing the
203
- // shared context to show 0 user messages. Fixed by removing them.
204
- // DO NOT re-add tier or compressionProfile here.
205
127
  const { snapshot: forkSessionSnapshotJsonl, stats: compressionStats } = buildSnapshotWithCompression(ctx.sessionManager, {
206
128
  activeToolCallId: toolCallId,
207
129
  compressionLevel: opts.getSettings?.()?.contextCompression,
@@ -219,31 +141,23 @@ function resolveTraceRuntime(opts, traceFlow, ctx, toolCallId, intent) {
219
141
  intent,
220
142
  };
221
143
  }
144
+ // ---------------------------------------------------------------------------
145
+ // Tool factory
146
+ // ---------------------------------------------------------------------------
222
147
  export function createTraceTool(opts = {}) {
223
148
  let lastResolvedModel;
224
149
  let lastResolvedMaxCtx;
150
+ let lastResolvedIntent;
225
151
  return {
226
152
  name: "trace",
227
153
  label: "Trace",
228
154
  promptSnippet: "Quick verbatim reads, checks, and exploration. All fields optional.",
229
155
  promptGuidelines: [
230
156
  "All fields optional — the trace agent infers its mission from context.",
231
- "Optional `dispatch` runs pre-flight reads, writes, edits, or bash commands before the trace starts.",
157
+ "Optional pre-flight dispatch runs batch-style commands before the trace starts.",
232
158
  ],
233
- description: "Read files verbatim, run checks, explore the codebase. All fields optional.",
234
- parameters: TraceParams,
235
- prepareArguments: (input) => {
236
- const result = prepareTraceDispatchArguments(input);
237
- // Return the normalized form whenever the normalizer actually
238
- // transformed the input. The `changed` flag covers both explicit
239
- // transformations (with notes) AND silent-drop cases (without notes
240
- // but with structural changes — e.g., a group with no valid `tool`,
241
- // or a non-array `ops` replaced with []). Without this, strict
242
- // schema validation would see the un-normalized malformed shape.
243
- if (!result.changed && result.notes.length === 0)
244
- return input;
245
- return { ...input, dispatch: result.dispatch, _dispatchNotes: result.notes };
246
- },
159
+ description: "Spawn the `trace` agent for read-first investigation. Pass flags (`--intent`, `--cwd`, `--complexity`) and optional pre-flight ops after `--`. Examples: `trace` • `trace --intent \"verify auth\"` • `trace -- batch read src/auth.ts`. NOT a shell. Defaults to `simple` budget. Use for code investigation, exploration, and verification. Pass [cmd]: \"help\" for the man page.",
160
+ parameters: TraceCliParams,
247
161
  async execute(toolCallId, params, signal, onUpdate, ctx) {
248
162
  if (!opts.getSettings?.()) {
249
163
  throw new Error("Error: session not initialized");
@@ -251,14 +165,40 @@ export function createTraceTool(opts = {}) {
251
165
  const depthConfig = opts.getDepthConfig?.();
252
166
  const parentDepth = depthConfig?.currentDepth ?? 0;
253
167
  const parentFlowStack = depthConfig?.ancestorFlowStack ?? [];
254
- const maxDepth = 0; // trace is a leaf — never transitions further
168
+ const maxDepth = 0;
255
169
  const preventCycles = depthConfig?.preventCycles ?? true;
256
170
  const discovery = discoverFlows(ctx.cwd, "all");
257
171
  const traceFlow = discovery.flows.find(f => f.name === "trace");
258
172
  if (!traceFlow) {
259
173
  throw new Error("Trace agent not found. Expected agents/trace.md to be present.");
260
174
  }
261
- const intent = params.intent ?? traceFlow.description;
175
+ // Parse the trace command
176
+ let parsed;
177
+ try {
178
+ parsed = parseTraceCmd(params.cmd ?? "");
179
+ }
180
+ catch (err) {
181
+ if (err instanceof CliError) {
182
+ const text = err.hint ? `${err.message} (hint: ${err.hint})` : err.message;
183
+ return {
184
+ content: [{ type: "text", text }],
185
+ details: undefined,
186
+ failed: true,
187
+ _toolCallId: toolCallId,
188
+ };
189
+ }
190
+ throw err;
191
+ }
192
+ // Help response
193
+ if (parsed.help) {
194
+ return {
195
+ content: [{ type: "text", text: TRACE_HELP }],
196
+ details: undefined,
197
+ failed: false,
198
+ _toolCallId: toolCallId,
199
+ };
200
+ }
201
+ const intent = parsed.flags.intent ?? traceFlow.description;
262
202
  const runtime = resolveTraceRuntime(opts, traceFlow, ctx, toolCallId, intent);
263
203
  const { resolvedModel, maxContextTokens, forkSessionSnapshotJsonl, sharedContext, compressionStats, } = runtime;
264
204
  const makeDetails = (results) => ({
@@ -270,15 +210,37 @@ export function createTraceTool(opts = {}) {
270
210
  });
271
211
  lastResolvedModel = resolvedModel;
272
212
  lastResolvedMaxCtx = maxContextTokens;
273
- const preDispatch = params.dispatch?.length
274
- ? await executeDispatchOps(params.dispatch, params.cwd ?? ctx.cwd, ctx, signal)
275
- : undefined;
276
- let preDispatchResults = preDispatch?.promptString;
277
- const dispatchNotes = params._dispatchNotes;
278
- if (dispatchNotes && dispatchNotes.length > 0) {
279
- preDispatchResults = `normalized:\n${dispatchNotes.map((n) => `- ${n}`).join("\n")}\n\n${preDispatchResults ?? ""}`;
213
+ lastResolvedIntent = intent;
214
+ // Pre-flight dispatch via batch CLI
215
+ let preDispatchResults;
216
+ const preDispatchMessages = [];
217
+ const resolvedCwd = parsed.flags.cwd ?? ctx.cwd;
218
+ if (parsed.dispatch.length > 0) {
219
+ const dispatchResult = await runBatchCli(parsed.dispatch, resolvedCwd, undefined, ctx.sessionManager, signal);
220
+ preDispatchResults = dispatchResult.text;
221
+ const preDispatchToolCallId = "pre_dispatch_batch_0";
222
+ preDispatchMessages.push({
223
+ role: "assistant",
224
+ content: [
225
+ {
226
+ type: "toolCall",
227
+ toolCallId: preDispatchToolCallId,
228
+ name: "batch",
229
+ arguments: { cmd: parsed.dispatch },
230
+ },
231
+ ],
232
+ });
233
+ preDispatchMessages.push({
234
+ role: "tool",
235
+ toolCallId: preDispatchToolCallId,
236
+ content: [
237
+ {
238
+ type: "text",
239
+ text: dispatchResult.text,
240
+ },
241
+ ],
242
+ });
280
243
  }
281
- const preDispatchMessages = preDispatch?.messages ?? [];
282
244
  const result = await runFlowWithLiveSession(toolCallId, {
283
245
  sharedContext,
284
246
  model: resolvedModel,
@@ -291,7 +253,7 @@ export function createTraceTool(opts = {}) {
291
253
  flowName: "trace",
292
254
  intent,
293
255
  aim: "",
294
- taskCwd: params.cwd,
256
+ taskCwd: parsed.flags.cwd,
295
257
  forkSessionSnapshotJsonl,
296
258
  parentDepth,
297
259
  parentFlowStack,
@@ -299,7 +261,7 @@ export function createTraceTool(opts = {}) {
299
261
  preventCycles,
300
262
  toolOptimize: opts.getSettings?.()?.toolOptimize,
301
263
  structuredOutput: opts.getSettings?.()?.structuredOutput,
302
- complexity: params.complexity ?? "simple",
264
+ complexity: (parsed.flags.complexity ?? "simple"),
303
265
  model: resolvedModel,
304
266
  maxContextTokens,
305
267
  compressionStats,
@@ -315,7 +277,6 @@ export function createTraceTool(opts = {}) {
315
277
  if (evidence) {
316
278
  outputText += "\n\n" + evidence;
317
279
  }
318
- // Inject enriched evidence into messages so renderer shows it after completion.
319
280
  result.messages.push({
320
281
  role: "assistant",
321
282
  content: [{ type: "text", text: outputText }],
@@ -341,7 +302,7 @@ export function createTraceTool(opts = {}) {
341
302
  flow: [
342
303
  {
343
304
  type: "trace",
344
- intent: args?.intent || "Trace mode",
305
+ intent: lastResolvedIntent || "Trace mode",
345
306
  aim: "",
346
307
  model: live?.model ?? lastResolvedModel,
347
308
  maxContextTokens: live?.maxContextTokens ?? lastResolvedMaxCtx,
@@ -1 +1 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/tools/trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/tools/trace.ts"],"names":[],"mappings":"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"}