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
@@ -1,73 +1,11 @@
1
1
  /**
2
- * batch — tool definition factory.
2
+ * batch — re-export shim.
3
3
  *
4
- * Creates the `batch` and `batch_read` tool instances with schema, argument
5
- * preparation, execution, and rendering wired up.
4
+ * The batch tool is now a CLI-style tool (src/cli/batch.ts).
5
+ * This file re-exports the new factory and legacy symbols for
6
+ * backward compatibility with existing imports.
6
7
  */
7
- import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
8
- import type { BatchTheme, FileOpInput, BatchOnUpdate } from "./constants.js";
9
- import { type BashProcessTracker } from "./batch-bash.js";
8
+ export { createBatchCliTool } from "../cli/register.js";
10
9
  export { BashProcessTracker, createBatchBashPollTool, pollBatchBashResults, runBashWithLimits } from "./batch-bash.js";
11
- export declare const WeavePatchParams: any;
12
- export declare const BatchReadParams: any;
13
- declare function prepareArguments(input: unknown): {
14
- o: unknown[];
15
- w?: unknown[];
16
- } | unknown;
17
- declare function prepareBatchReadArguments(input: unknown): {
18
- o: FileOpInput[];
19
- } | unknown;
20
- export declare function createBatchReadTool(): {
21
- name: string;
22
- label: string;
23
- description: string;
24
- promptSnippet: string;
25
- promptGuidelines: string[];
26
- parameters: any;
27
- prepareArguments: typeof prepareBatchReadArguments;
28
- execute(_toolCallId: string, input: unknown, signal: AbortSignal | undefined, onUpdate: BatchOnUpdate | undefined, ctx: ExtensionContext): Promise<{
29
- content: {
30
- type: string;
31
- text: string;
32
- }[];
33
- details: {
34
- results: import("./constants.js").OpResult[];
35
- };
36
- }>;
37
- renderCall: (args: Record<string, unknown>, theme: BatchTheme) => import("@earendil-works/pi-tui").Container;
38
- renderResult: (result: any, { expanded, isPartial }: {
39
- expanded: boolean;
40
- isPartial?: boolean;
41
- }, theme: BatchTheme, args?: Record<string, unknown>) => any;
42
- };
43
- /**
44
- * Create the batch tool.
45
- *
46
- * @param bashTracker Optional BashProcessTracker for executing bash operations.
47
- * When omitted, bash ops return an error. Both the batch tool and the
48
- * batch_bash_poll tool must share the same tracker instance.
49
- */
50
- export declare function createBatchTool(bashTracker?: BashProcessTracker, toolOptimize?: boolean): {
51
- name: string;
52
- label: string;
53
- description: string;
54
- promptSnippet: string;
55
- promptGuidelines: string[];
56
- parameters: any;
57
- prepareArguments: typeof prepareArguments;
58
- execute(_toolCallId: string, input: unknown, signal: AbortSignal | undefined, onUpdate: BatchOnUpdate | undefined, ctx: ExtensionContext): Promise<{
59
- content: {
60
- type: string;
61
- text: string;
62
- }[];
63
- details: {
64
- results: import("./constants.js").OpResult[];
65
- };
66
- }>;
67
- renderCall: (args: Record<string, unknown>, theme: BatchTheme) => import("@earendil-works/pi-tui").Container;
68
- renderResult: (result: any, { expanded, isPartial }: {
69
- expanded: boolean;
70
- isPartial?: boolean;
71
- }, theme: BatchTheme, args?: Record<string, unknown>) => any;
72
- };
10
+ export { createBatchCliTool as createBatchTool } from "../cli/register.js";
73
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAU7E,OAAO,EACN,KAAK,kBAAkB,EAGvB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAuHvH,eAAO,MAAM,gBAAgB,KAW3B,CAAC;AAyDH,eAAO,MAAM,eAAe,KAK1B,CAAC;AAMH,iBAAS,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CA4DnF;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,OAAO,CAuBjF;AAMD,wBAAgB,mBAAmB;;;;;;;;yBAcnB,MAAM,SACZ,OAAO,UACN,WAAW,GAAG,SAAS,YACrB,aAAa,GAAG,SAAS,OAC9B,gBAAgB;;;;;;;;;uBAqCH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,UAAU;2BACtC,GAAG,2BAA2B;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,SAAS,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAGnJ;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,OAAO;;;;;;;;yBAiBxE,MAAM,SACZ,OAAO,UACN,WAAW,GAAG,SAAS,YACrB,aAAa,GAAG,SAAS,OAC9B,gBAAgB;;;;;;;;;uBAuJH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,UAAU;2BACtC,GAAG,2BAA2B;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,SAAS,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAGnJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGvH,OAAO,EAAE,kBAAkB,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,450 +1,12 @@
1
1
  /**
2
- * batch — tool definition factory.
2
+ * batch — re-export shim.
3
3
  *
4
- * Creates the `batch` and `batch_read` tool instances with schema, argument
5
- * preparation, execution, and rendering wired up.
4
+ * The batch tool is now a CLI-style tool (src/cli/batch.ts).
5
+ * This file re-exports the new factory and legacy symbols for
6
+ * backward compatibility with existing imports.
6
7
  */
7
- import { Type } from "@sinclair/typebox";
8
- import { BASH_DEFAULT_TIMEOUT_MS } from "./constants.js";
9
- import { executeOperations } from "./execute.js";
10
- import { renderBatchCall, renderBatchReadCall, renderBatchResult, renderBatchReadResult, } from "./render.js";
11
- import { executeBatchBash, } from "./batch-bash.js";
12
- import { normalizeBatchOp, generateBashId } from "./normalize.js";
13
- import { coerceArrayOfObjects } from "../tools/array-coerce.js";
14
- import { checkLoopGuard } from "../tools/loop-guard.js";
15
- import { runWebOps } from "../tools/web-ops.js";
16
- // Re-export polling tool factory and tracker from batch-bash
8
+ export { createBatchCliTool } from "../cli/register.js";
17
9
  export { BashProcessTracker, createBatchBashPollTool, pollBatchBashResults, runBashWithLimits } from "./batch-bash.js";
18
- // ---------------------------------------------------------------------------
19
- // Schema
20
- // ---------------------------------------------------------------------------
21
- const EditOp = Type.Object({
22
- f: Type.String({
23
- description: "Exact text to find (oldText). Must be unique in the file. All edits matched against original file, not incrementally.",
24
- }),
25
- r: Type.String({ description: "Replacement text (newText)." }),
26
- });
27
- const FileOp = Type.Object({
28
- o: Type.Union([
29
- Type.Literal("read"),
30
- Type.Literal("write"),
31
- Type.Literal("edit"),
32
- Type.Literal("delete"),
33
- Type.Literal("bash"),
34
- Type.Literal("rg"),
35
- Type.Literal("patch"),
36
- ]),
37
- p: Type.String({ description: "Path to the file (relative or absolute). Use 'bash' or any string for o: 'bash'." }),
38
- c: Type.Optional(Type.String({
39
- description: "File content for o: 'write'. Shell command for o: 'bash'. Patch text for o: 'patch'.",
40
- })),
41
- e: Type.Optional(Type.Array(EditOp, {
42
- description: "One or more targeted replacements matched against the original file, not incrementally.",
43
- })),
44
- s: Type.Optional(Type.Number({
45
- minimum: 1,
46
- description: "1-indexed line number to start reading from (offset). Used with o: 'read'.",
47
- })),
48
- l: Type.Optional(Type.Union([
49
- Type.Number({
50
- minimum: 1,
51
- description: "Maximum number of lines to read (limit). Used with o: 'read'.",
52
- }),
53
- Type.Boolean({
54
- description: "Files-with-matches flag for o: 'rg'. Default false — returns matching lines with content. Set true to get filenames only.",
55
- }),
56
- ])),
57
- i: Type.Optional(Type.Union([
58
- Type.String({
59
- description: "Unique ID for this bash operation. Auto-generated if omitted. Used with o: 'bash'.",
60
- }),
61
- Type.Boolean({
62
- description: "Ignore-case flag for o: 'rg'. Used with o: 'rg'.",
63
- }),
64
- ])),
65
- t: Type.Optional(Type.Union([
66
- Type.Number({
67
- minimum: 1,
68
- description: `Timeout in ms. Default: ${BASH_DEFAULT_TIMEOUT_MS}. Commands keep running after soft timeout; returns partial output with pending status. Used with o: 'bash'.`,
69
- }),
70
- Type.String({
71
- description: "Type filter for o: 'rg' (e.g., 'ts', 'js'). Used with o: 'rg'.",
72
- }),
73
- ])),
74
- h: Type.Optional(Type.String({
75
- description: "Working directory override for this command. Used with o: 'bash'.",
76
- })),
77
- q: Type.Optional(Type.String({
78
- description: "Search pattern for o: 'rg'.",
79
- })),
80
- n: Type.Optional(Type.Number({
81
- minimum: 1,
82
- description: "Max-count for o: 'rg' (matches per file). Broad searches on '.' auto-default to 50 when omitted.",
83
- })),
84
- u: Type.Optional(Type.Number({
85
- minimum: 0,
86
- maximum: 3,
87
- description: "Ignore level for o: 'rg' (0-3). Maps to -u (0), -uu (1), -uuu (2-3).",
88
- })),
89
- });
90
- const WebOp = Type.Union([
91
- Type.Object({
92
- o: Type.Literal("search"),
93
- q: Type.String({ minLength: 1, description: "Search query" }),
94
- }),
95
- Type.Object({
96
- o: Type.Literal("fetch"),
97
- u: Type.String({ minLength: 1, description: "URL to fetch" }),
98
- f: Type.Optional(Type.Union([Type.Literal("markdown"), Type.Literal("text"), Type.Literal("html")], {
99
- description: "Output format (default: markdown). Content is saved to a temp file — use read ops to access.",
100
- })),
101
- }),
102
- ]);
103
- export const WeavePatchParams = Type.Object({
104
- o: Type.Array(FileOp, {
105
- description: "Ordered list of operations. File ops (read/write/edit/delete) execute sequentially — each operation executes independently; failures are reported per-operation without stopping remaining ops. Bash ops (bash) run in parallel after file ops complete and do not skip each other on failure.",
106
- }),
107
- w: Type.Optional(Type.Array(WebOp, {
108
- description: "Web operations (search or fetch) to perform. Executed after file ops, before bash ops. Use w: [{ o: 'search', q: '...' }] or w: [{ o: 'fetch', u: '...', f: 'markdown' }]",
109
- })),
110
- });
111
- const BatchReadOp = Type.Union([
112
- Type.Object({
113
- o: Type.Literal("read"),
114
- p: Type.String({ description: "Path to the file (relative or absolute)" }),
115
- s: Type.Optional(Type.Number({
116
- minimum: 1,
117
- description: "1-indexed line number to start reading from (offset). Used with o: 'read'.",
118
- })),
119
- l: Type.Optional(Type.Number({
120
- minimum: 1,
121
- description: "Maximum number of lines to read (limit). Used with o: 'read'.",
122
- })),
123
- }),
124
- Type.Object({
125
- o: Type.Literal("rg"),
126
- p: Type.String({ description: "Path to search (relative or absolute). Use '.' for cwd." }),
127
- q: Type.String({ description: "Search pattern for o: 'rg'." }),
128
- l: Type.Optional(Type.Boolean({
129
- description: "Files-with-matches flag for o: 'rg'. Default true.",
130
- })),
131
- i: Type.Optional(Type.Boolean({
132
- description: "Ignore-case flag for o: 'rg'.",
133
- })),
134
- t: Type.Optional(Type.String({
135
- description: "Type filter for o: 'rg' (e.g., 'ts', 'js').",
136
- })),
137
- n: Type.Optional(Type.Number({
138
- minimum: 1,
139
- description: "Max-count for o: 'rg' (matches per file). Broad searches on '.' auto-default to 50 when omitted.",
140
- })),
141
- u: Type.Optional(Type.Number({
142
- minimum: 0,
143
- maximum: 3,
144
- description: "Ignore level for o: 'rg' (0-3). Maps to -u (0), -uu (1), -uuu (2-3).",
145
- })),
146
- }),
147
- ]);
148
- export const BatchReadParams = Type.Object({
149
- o: Type.Array(BatchReadOp, {
150
- description: "Ordered list of read operations. Executed sequentially. Each operation executes independently; failures are reported per-operation without stopping remaining ops.",
151
- }),
152
- });
153
- // ---------------------------------------------------------------------------
154
- // Argument preparation
155
- // ---------------------------------------------------------------------------
156
- function prepareArguments(input) {
157
- if (!input || typeof input !== "object")
158
- return { o: [] };
159
- const args = input;
160
- // Handle legacy top-level format: { path, oldText, newText }
161
- if (typeof args.oldText === "string" &&
162
- typeof args.newText === "string" &&
163
- typeof args.path === "string") {
164
- return {
165
- o: [
166
- normalizeBatchOp({
167
- o: "edit",
168
- p: args.path,
169
- e: [{ oldText: args.oldText, newText: args.newText }],
170
- }),
171
- ],
172
- };
173
- }
174
- // Extract ops array — canonical { o: [...] }, legacy { op: [...] }, legacy { operations: [...] }, or bare array
175
- let opsArray;
176
- if (Array.isArray(args.o)) {
177
- opsArray = args.o;
178
- }
179
- else if (Array.isArray(args.op)) {
180
- opsArray = args.op;
181
- }
182
- else if (Array.isArray(args.operations)) {
183
- opsArray = args.operations;
184
- }
185
- else if (Array.isArray(args)) {
186
- opsArray = args;
187
- }
188
- else if (typeof args.p === "string" || typeof args.path === "string") {
189
- // Single-operation shorthand: { p: "...", o: "read" }
190
- opsArray = [args];
191
- }
192
- else {
193
- opsArray = [];
194
- }
195
- const sanitized = coerceArrayOfObjects(opsArray, { label: "batch.o" });
196
- // Normalize each operation to single-letter form
197
- const result = {
198
- o: sanitized.value.map((op) => normalizeBatchOp(op)),
199
- };
200
- // Extract and sanitize web ops if present
201
- if (Array.isArray(args.w)) {
202
- const sanitizedW = coerceArrayOfObjects(args.w, { label: "batch.w" });
203
- if (sanitizedW.value.length > 0) {
204
- result.w = sanitizedW.value;
205
- }
206
- else if (args.w.length > 0) {
207
- // User provided w but sanitization dropped everything — preserve the empty
208
- // result so the user sees "no valid web ops" rather than a schema crash.
209
- result.w = [];
210
- }
211
- // If args.w was provided as an empty array, leave result.w undefined.
212
- }
213
- return result;
214
- }
215
- function prepareBatchReadArguments(input) {
216
- const prepared = prepareArguments(input);
217
- const ops = Array.isArray(prepared) ? prepared : prepared.o;
218
- if (!Array.isArray(ops))
219
- return { o: [] };
220
- // batch_read is local-only — reject web ops
221
- const webOpsInRead = prepared.w;
222
- if (webOpsInRead && webOpsInRead.length > 0) {
223
- throw new Error("batch_read does not support web operations. Use the full `batch` tool with w: [...] for web ops.");
224
- }
225
- const normalizedOps = [];
226
- const allowedBatchReadOps = new Set(["read", "rg"]);
227
- for (const op of ops) {
228
- if (!op || typeof op !== "object")
229
- continue;
230
- const normalized = normalizeBatchOp(op);
231
- const opType = String(normalized.o ?? "").toLowerCase();
232
- if (opType && !allowedBatchReadOps.has(opType)) {
233
- throw new Error(`batch_read only supports read operations. Received: ${opType}`);
234
- }
235
- normalizedOps.push(normalized);
236
- }
237
- return { o: normalizedOps };
238
- }
239
- // ---------------------------------------------------------------------------
240
- // Tool factories
241
- // ---------------------------------------------------------------------------
242
- export function createBatchReadTool() {
243
- return {
244
- name: "batch_read",
245
- label: "batch_read",
246
- description: "Read multiple files or file sections in one call. Read-only — does not support edit/write/delete/bash/patch; use the full `batch` tool for those.",
247
- promptSnippet: "Read multiple files/sections in one call (read-only)",
248
- promptGuidelines: [
249
- "Combine multiple read/rg ops into one call.",
250
- "Use `s` (start line) and `l` (line count) to target specific sections of large files.",
251
- ],
252
- parameters: BatchReadParams,
253
- prepareArguments: prepareBatchReadArguments,
254
- async execute(_toolCallId, input, signal, onUpdate, ctx) {
255
- const loopWarning = checkLoopGuard("batch_read", input);
256
- const prepared = prepareBatchReadArguments(input);
257
- const ops = Array.isArray(prepared)
258
- ? prepared
259
- : prepared.o;
260
- if (!Array.isArray(ops) || ops.length === 0) {
261
- throw new Error("Error: o array is required and must not be empty.");
262
- }
263
- // Defensive validation: reject any non-read/rg operations
264
- const allowedBatchReadOps = new Set(["read", "rg"]);
265
- for (const op of ops) {
266
- if (!allowedBatchReadOps.has(op.o)) {
267
- throw new Error(`Error: batch_read only supports read operations. Received ${op.o} for ${op.p}.`);
268
- }
269
- }
270
- if (signal?.aborted) {
271
- throw new Error("Operation aborted.");
272
- }
273
- const { contentText, results } = await executeOperations(ops, ctx.cwd, signal, {
274
- readOptions: { truncate: false, toolName: "batch_read" },
275
- includeLimitWarnings: false,
276
- }, onUpdate);
277
- const readResult = {
278
- content: [{ type: "text", text: loopWarning ? contentText + loopWarning : contentText }],
279
- details: { results },
280
- };
281
- return readResult;
282
- },
283
- renderCall: (args, theme) => renderBatchReadCall(args, theme),
284
- renderResult: (result, { expanded, isPartial }, theme, args) => renderBatchReadResult(result, { expanded, isPartial: isPartial ?? false }, theme, args),
285
- };
286
- }
287
- /**
288
- * Create the batch tool.
289
- *
290
- * @param bashTracker Optional BashProcessTracker for executing bash operations.
291
- * When omitted, bash ops return an error. Both the batch tool and the
292
- * batch_bash_poll tool must share the same tracker instance.
293
- */
294
- export function createBatchTool(bashTracker, toolOptimize) {
295
- return {
296
- name: "batch",
297
- label: "batch",
298
- description: "File ops (read/write/edit/delete/patch), shell commands, and web search/fetch in one call.",
299
- promptSnippet: "Batch: file ops + bash + web in one call",
300
- promptGuidelines: [
301
- "Combine all pending operations into a single `batch` call.",
302
- "File ops execute first; bash runs after. Use write → bash to run scripts.",
303
- "Web: `w: [{ o: 'search', q: '...' }]` or `w: [{ o: 'fetch', u: '...' }]`",
304
- "Field aliases: cmd/command=c, content=c, path=p, edits=e, offset=s, limit=l. Canonical wins.",
305
- ...(toolOptimize ? ["Batch is your ONLY edit tool — no separate edit command."] : []),
306
- ],
307
- parameters: WeavePatchParams,
308
- prepareArguments: prepareArguments,
309
- async execute(_toolCallId, input, signal, onUpdate, ctx) {
310
- const loopWarning = checkLoopGuard("batch", input);
311
- const prepared = prepareArguments(input);
312
- // prepareArguments always returns { o: [...] }, but handle
313
- // legacy bare arrays for backward compatibility
314
- const ops = Array.isArray(prepared)
315
- ? prepared
316
- : prepared.o;
317
- // Extract web ops (pass-through, no normalization needed)
318
- const webOps = prepared.w;
319
- const hasFileOps = Array.isArray(ops) && ops.length > 0;
320
- const hasWebOps = Array.isArray(webOps) && webOps.length > 0;
321
- if (!hasFileOps && !hasWebOps) {
322
- throw new Error("Error: o or w array must not be empty.");
323
- }
324
- if (signal?.aborted) {
325
- throw new Error("Operation aborted.");
326
- }
327
- // Split ops into file ops and bash ops
328
- const fileOps = [];
329
- const bashOps = [];
330
- if (hasFileOps) {
331
- for (const op of ops) {
332
- if (op.o === "bash") {
333
- bashOps.push(op);
334
- }
335
- else {
336
- fileOps.push(op);
337
- }
338
- }
339
- }
340
- // Execute file ops first (sequential)
341
- let fileContentText = "";
342
- let fileResults = [];
343
- if (fileOps.length > 0) {
344
- const fileOutput = await executeOperations(fileOps, ctx.cwd, signal, {}, onUpdate);
345
- fileContentText = fileOutput.contentText;
346
- fileResults = fileOutput.results;
347
- }
348
- // Emit update after file ops
349
- if (onUpdate && fileOps.length > 0) {
350
- onUpdate({
351
- content: [{ type: "text", text: fileContentText }],
352
- details: { results: fileResults },
353
- });
354
- }
355
- // Execute web ops after file ops, before bash ops (sequential)
356
- let webContentText = "";
357
- let webResults = [];
358
- if (Array.isArray(webOps) && webOps.length > 0) {
359
- try {
360
- const webOutput = await runWebOps({ op: webOps }, ctx, signal);
361
- webContentText = webOutput.content[0].text;
362
- webResults = webOutput.details.ops;
363
- }
364
- catch (err) {
365
- // Catastrophic failure in runWebOps itself (should not happen with per-op handling)
366
- const errorText = err instanceof Error ? err.message : String(err);
367
- webContentText = `\n--- web error (unexpected) ---\n${errorText}`;
368
- webResults = [];
369
- }
370
- // Emit update after web ops
371
- if (onUpdate) {
372
- onUpdate({
373
- content: [{ type: "text", text: [fileContentText, webContentText].filter(Boolean).join("\n") }],
374
- details: { results: [...fileResults, ...webResults] },
375
- });
376
- }
377
- }
378
- // Execute bash ops in parallel after file and web ops complete.
379
- // Bash ops run regardless of file or web op failures.
380
- let bashResults = [];
381
- let bashContentText = "";
382
- if (bashOps.length > 0 && bashTracker) {
383
- const normalizedBashOps = bashOps.map((op) => ({
384
- i: op.i ?? generateBashId(),
385
- c: op.c ?? "",
386
- t: op.t,
387
- h: op.h,
388
- }));
389
- const bashOutput = await executeBatchBash(normalizedBashOps, ctx.cwd, bashTracker, signal);
390
- bashResults = bashOutput;
391
- // Format bash results into content text
392
- const bashLines = [];
393
- for (const r of bashOutput) {
394
- if (r.status === "ok") {
395
- bashLines.push(`\n--- bash [${r.id}] exit ${r.exitCode} ---`);
396
- if (r.timingTier)
397
- bashLines.push(`[Execution time: ${r.timingTier}]`);
398
- if (r.stdout?.trim())
399
- bashLines.push(r.stdout.trimEnd());
400
- }
401
- else if (r.status === "pending") {
402
- bashLines.push(`\n--- bash [${r.id}] pending ---`);
403
- if (r.stdout?.trim())
404
- bashLines.push(`[partial output]\n${r.stdout.trimEnd()}`);
405
- bashLines.push(`[Use batch_bash_poll with i: ["${r.id}"] to check results]`);
406
- }
407
- else {
408
- bashLines.push(`\n--- bash [${r.id}] error ---`);
409
- if (r.timingTier)
410
- bashLines.push(`[Execution time: ${r.timingTier}]`);
411
- if (r.stdout?.trim())
412
- bashLines.push(r.stdout.trimEnd());
413
- if (r.stderr?.trim())
414
- bashLines.push(`[stderr]\n${r.stderr.trimEnd()}`);
415
- }
416
- }
417
- bashContentText = bashLines.join("\n");
418
- }
419
- else if (bashOps.length > 0 && !bashTracker) {
420
- bashResults = bashOps.map((op) => ({
421
- op: "bash",
422
- path: op.p,
423
- status: "error",
424
- id: op.i,
425
- command: op.c,
426
- error: "Bash tracker not available.",
427
- }));
428
- bashContentText = "\n--- bash: tracker not available ---";
429
- }
430
- // Combine results
431
- const allResults = [...fileResults, ...webResults, ...bashResults];
432
- const contentText = [fileContentText, webContentText, bashContentText].filter(Boolean).join("\n");
433
- // Emit final update after bash ops complete
434
- if (onUpdate && (bashOps.length > 0 || (Array.isArray(webOps) && webOps.length > 0))) {
435
- onUpdate({
436
- content: [{ type: "text", text: contentText }],
437
- details: { results: allResults },
438
- });
439
- }
440
- const batchResult = {
441
- content: [{ type: "text", text: loopWarning ? contentText + loopWarning : contentText }],
442
- details: { results: allResults },
443
- };
444
- return batchResult;
445
- },
446
- renderCall: (args, theme) => renderBatchCall(args, theme),
447
- renderResult: (result, { expanded, isPartial }, theme, args) => renderBatchResult(result, { expanded, isPartial: isPartial ?? false }, theme, args),
448
- };
449
- }
10
+ // Backward-compatible alias: createBatchTool → createBatchCliTool
11
+ export { createBatchCliTool as createBatchTool } from "../cli/register.js";
450
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEvH,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/batch/summary.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,WAAW,SAAS;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACX;AAmFD,4FAA4F;AAC5F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAW1E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA+B3E"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/batch/summary.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,WAAW,SAAS;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACX;AAmOD,4FAA4F;AAC5F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAW1E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA+B3E"}