pi-agent-flow 2.2.32 → 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.
- package/agents/craft.md +2 -1
- package/agents/debug.md +2 -1
- package/agents/ideas.md +2 -1
- package/agents/scout.md +1 -0
- package/dist/batch/apply-patch.d.ts.map +1 -1
- package/dist/batch/apply-patch.js +22 -0
- package/dist/batch/apply-patch.js.map +1 -1
- package/dist/batch/batch-bash.d.ts +5 -3
- package/dist/batch/batch-bash.d.ts.map +1 -1
- package/dist/batch/batch-bash.js +6 -13
- package/dist/batch/batch-bash.js.map +1 -1
- package/dist/batch/constants.d.ts +4 -0
- package/dist/batch/constants.d.ts.map +1 -1
- package/dist/batch/constants.js +1 -0
- package/dist/batch/constants.js.map +1 -1
- package/dist/batch/execute.d.ts.map +1 -1
- package/dist/batch/execute.js +117 -4
- package/dist/batch/execute.js.map +1 -1
- package/dist/batch/format-directory-listing.d.ts +26 -0
- package/dist/batch/format-directory-listing.d.ts.map +1 -0
- package/dist/batch/format-directory-listing.js +89 -0
- package/dist/batch/format-directory-listing.js.map +1 -0
- package/dist/batch/fuzzy-edit.d.ts +1 -1
- package/dist/batch/fuzzy-edit.d.ts.map +1 -1
- package/dist/batch/fuzzy-edit.js +53 -17
- package/dist/batch/fuzzy-edit.js.map +1 -1
- package/dist/batch/index.d.ts +6 -68
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +7 -494
- package/dist/batch/index.js.map +1 -1
- package/dist/batch/summary.d.ts.map +1 -1
- package/dist/batch/summary.js +146 -0
- package/dist/batch/summary.js.map +1 -1
- package/dist/cli/batch-read.d.ts +20 -0
- package/dist/cli/batch-read.d.ts.map +1 -0
- package/dist/cli/batch-read.js +267 -0
- package/dist/cli/batch-read.js.map +1 -0
- package/dist/cli/batch.d.ts +20 -0
- package/dist/cli/batch.d.ts.map +1 -0
- package/dist/cli/batch.js +252 -0
- package/dist/cli/batch.js.map +1 -0
- package/dist/cli/chain.d.ts +24 -0
- package/dist/cli/chain.d.ts.map +1 -0
- package/dist/cli/chain.js +166 -0
- package/dist/cli/chain.js.map +1 -0
- package/dist/cli/exec/bash.d.ts +11 -0
- package/dist/cli/exec/bash.d.ts.map +1 -0
- package/dist/cli/exec/bash.js +63 -0
- package/dist/cli/exec/bash.js.map +1 -0
- package/dist/cli/exec/delete.d.ts +10 -0
- package/dist/cli/exec/delete.d.ts.map +1 -0
- package/dist/cli/exec/delete.js +21 -0
- package/dist/cli/exec/delete.js.map +1 -0
- package/dist/cli/exec/edit.d.ts +10 -0
- package/dist/cli/exec/edit.d.ts.map +1 -0
- package/dist/cli/exec/edit.js +47 -0
- package/dist/cli/exec/edit.js.map +1 -0
- package/dist/cli/exec/index.d.ts +10 -0
- package/dist/cli/exec/index.d.ts.map +1 -0
- package/dist/cli/exec/index.js +10 -0
- package/dist/cli/exec/index.js.map +1 -0
- package/dist/cli/exec/patch.d.ts +10 -0
- package/dist/cli/exec/patch.d.ts.map +1 -0
- package/dist/cli/exec/patch.js +23 -0
- package/dist/cli/exec/patch.js.map +1 -0
- package/dist/cli/exec/poll.d.ts +12 -0
- package/dist/cli/exec/poll.d.ts.map +1 -0
- package/dist/cli/exec/poll.js +59 -0
- package/dist/cli/exec/poll.js.map +1 -0
- package/dist/cli/exec/read.d.ts +10 -0
- package/dist/cli/exec/read.d.ts.map +1 -0
- package/dist/cli/exec/read.js +54 -0
- package/dist/cli/exec/read.js.map +1 -0
- package/dist/cli/exec/rg.d.ts +10 -0
- package/dist/cli/exec/rg.d.ts.map +1 -0
- package/dist/cli/exec/rg.js +32 -0
- package/dist/cli/exec/rg.js.map +1 -0
- package/dist/cli/exec/web.d.ts +13 -0
- package/dist/cli/exec/web.d.ts.map +1 -0
- package/dist/cli/exec/web.js +47 -0
- package/dist/cli/exec/web.js.map +1 -0
- package/dist/cli/exec/write.d.ts +10 -0
- package/dist/cli/exec/write.d.ts.map +1 -0
- package/dist/cli/exec/write.js +26 -0
- package/dist/cli/exec/write.js.map +1 -0
- package/dist/cli/flags/bash.d.ts +3 -0
- package/dist/cli/flags/bash.d.ts.map +1 -0
- package/dist/cli/flags/bash.js +6 -0
- package/dist/cli/flags/bash.js.map +1 -0
- package/dist/cli/flags/delete.d.ts +3 -0
- package/dist/cli/flags/delete.d.ts.map +1 -0
- package/dist/cli/flags/delete.js +2 -0
- package/dist/cli/flags/delete.js.map +1 -0
- package/dist/cli/flags/edit.d.ts +3 -0
- package/dist/cli/flags/edit.d.ts.map +1 -0
- package/dist/cli/flags/edit.js +7 -0
- package/dist/cli/flags/edit.js.map +1 -0
- package/dist/cli/flags/index.d.ts +10 -0
- package/dist/cli/flags/index.d.ts.map +1 -0
- package/dist/cli/flags/index.js +10 -0
- package/dist/cli/flags/index.js.map +1 -0
- package/dist/cli/flags/patch.d.ts +3 -0
- package/dist/cli/flags/patch.d.ts.map +1 -0
- package/dist/cli/flags/patch.js +4 -0
- package/dist/cli/flags/patch.js.map +1 -0
- package/dist/cli/flags/poll.d.ts +3 -0
- package/dist/cli/flags/poll.d.ts.map +1 -0
- package/dist/cli/flags/poll.js +4 -0
- package/dist/cli/flags/poll.js.map +1 -0
- package/dist/cli/flags/read.d.ts +3 -0
- package/dist/cli/flags/read.d.ts.map +1 -0
- package/dist/cli/flags/read.js +6 -0
- package/dist/cli/flags/read.js.map +1 -0
- package/dist/cli/flags/rg.d.ts +3 -0
- package/dist/cli/flags/rg.d.ts.map +1 -0
- package/dist/cli/flags/rg.js +9 -0
- package/dist/cli/flags/rg.js.map +1 -0
- package/dist/cli/flags/web.d.ts +3 -0
- package/dist/cli/flags/web.d.ts.map +1 -0
- package/dist/cli/flags/web.js +6 -0
- package/dist/cli/flags/web.js.map +1 -0
- package/dist/cli/flags/write.d.ts +3 -0
- package/dist/cli/flags/write.d.ts.map +1 -0
- package/dist/cli/flags/write.js +4 -0
- package/dist/cli/flags/write.js.map +1 -0
- package/dist/cli/flow.d.ts +33 -0
- package/dist/cli/flow.d.ts.map +1 -0
- package/dist/cli/flow.js +345 -0
- package/dist/cli/flow.js.map +1 -0
- package/dist/cli/format.d.ts +12 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +29 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli/help.d.ts +14 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +31 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/parse.d.ts +24 -0
- package/dist/cli/parse.d.ts.map +1 -0
- package/dist/cli/parse.js +165 -0
- package/dist/cli/parse.js.map +1 -0
- package/dist/cli/register.d.ts +73 -0
- package/dist/cli/register.d.ts.map +1 -0
- package/dist/cli/register.js +105 -0
- package/dist/cli/register.js.map +1 -0
- package/dist/cli/tokenize.d.ts +9 -0
- package/dist/cli/tokenize.d.ts.map +1 -0
- package/dist/cli/tokenize.js +80 -0
- package/dist/cli/tokenize.js.map +1 -0
- package/dist/core2/snapshot.d.ts.map +1 -1
- package/dist/core2/snapshot.js +22 -0
- package/dist/core2/snapshot.js.map +1 -1
- package/dist/flow/agents.d.ts +2 -0
- package/dist/flow/agents.d.ts.map +1 -1
- package/dist/flow/agents.js +2 -0
- package/dist/flow/agents.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +1 -0
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/flow-args.d.ts.map +1 -1
- package/dist/flow/flow-args.js +1 -0
- package/dist/flow/flow-args.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +159 -214
- package/dist/index.js.map +1 -1
- package/dist/steering/flow-prompt.js +2 -2
- package/dist/steering/flow-prompt.js.map +1 -1
- package/dist/steering/sliding-prompt.d.ts.map +1 -1
- package/dist/steering/sliding-prompt.js +9 -20
- package/dist/steering/sliding-prompt.js.map +1 -1
- package/dist/tools/ask-user.d.ts +1 -4
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +7 -33
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/trace.d.ts +12 -6
- package/dist/tools/trace.d.ts.map +1 -1
- package/dist/tools/trace.js +157 -163
- package/dist/tools/trace.js.map +1 -1
- package/dist/tools/web-ops.d.ts +40 -0
- package/dist/tools/web-ops.d.ts.map +1 -1
- package/dist/tools/web-ops.js +2 -2
- package/dist/tools/web-ops.js.map +1 -1
- package/package.json +1 -1
package/dist/batch/index.js
CHANGED
|
@@ -1,499 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* batch —
|
|
2
|
+
* batch — re-export shim.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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
|
-
|
|
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 { generateBashId, normalizeBashOp, executeBatchBash, } from "./batch-bash.js";
|
|
12
|
-
import { checkLoopGuard } from "../tools/loop-guard.js";
|
|
13
|
-
import { logWarn } from "../config/log.js";
|
|
14
|
-
import { runWebOps } from "../tools/web-ops.js";
|
|
15
|
-
// Re-export polling tool factory and tracker from batch-bash
|
|
8
|
+
export { createBatchCliTool } from "../cli/register.js";
|
|
16
9
|
export { BashProcessTracker, createBatchBashPollTool, pollBatchBashResults, runBashWithLimits } from "./batch-bash.js";
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
const EditOp = Type.Object({
|
|
21
|
-
f: Type.String({
|
|
22
|
-
description: "Exact text to find (oldText). Must be unique in the file. All edits matched against original file, not incrementally.",
|
|
23
|
-
}),
|
|
24
|
-
r: Type.String({ description: "Replacement text (newText)." }),
|
|
25
|
-
});
|
|
26
|
-
const FileOp = Type.Object({
|
|
27
|
-
o: Type.Union([
|
|
28
|
-
Type.Literal("read"),
|
|
29
|
-
Type.Literal("write"),
|
|
30
|
-
Type.Literal("edit"),
|
|
31
|
-
Type.Literal("delete"),
|
|
32
|
-
Type.Literal("bash"),
|
|
33
|
-
Type.Literal("rg"),
|
|
34
|
-
Type.Literal("patch"),
|
|
35
|
-
]),
|
|
36
|
-
p: Type.String({ description: "Path to the file (relative or absolute). Use 'bash' or any string for o: 'bash'." }),
|
|
37
|
-
c: Type.Optional(Type.String({
|
|
38
|
-
description: "File content for o: 'write'. Shell command for o: 'bash'. Patch text for o: 'patch'.",
|
|
39
|
-
})),
|
|
40
|
-
e: Type.Optional(Type.Array(EditOp, {
|
|
41
|
-
description: "One or more targeted replacements matched against the original file, not incrementally.",
|
|
42
|
-
})),
|
|
43
|
-
s: Type.Optional(Type.Number({
|
|
44
|
-
minimum: 1,
|
|
45
|
-
description: "1-indexed line number to start reading from (offset). Used with o: 'read'.",
|
|
46
|
-
})),
|
|
47
|
-
l: Type.Optional(Type.Union([
|
|
48
|
-
Type.Number({
|
|
49
|
-
minimum: 1,
|
|
50
|
-
description: "Maximum number of lines to read (limit). Used with o: 'read'.",
|
|
51
|
-
}),
|
|
52
|
-
Type.Boolean({
|
|
53
|
-
description: "Files-with-matches flag for o: 'rg'. Default false — returns matching lines with content. Set true to get filenames only.",
|
|
54
|
-
}),
|
|
55
|
-
])),
|
|
56
|
-
i: Type.Optional(Type.Union([
|
|
57
|
-
Type.String({
|
|
58
|
-
description: "Unique ID for this bash operation. Auto-generated if omitted. Used with o: 'bash'.",
|
|
59
|
-
}),
|
|
60
|
-
Type.Boolean({
|
|
61
|
-
description: "Ignore-case flag for o: 'rg'. Used with o: 'rg'.",
|
|
62
|
-
}),
|
|
63
|
-
])),
|
|
64
|
-
t: Type.Optional(Type.Union([
|
|
65
|
-
Type.Number({
|
|
66
|
-
minimum: 1,
|
|
67
|
-
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'.`,
|
|
68
|
-
}),
|
|
69
|
-
Type.String({
|
|
70
|
-
description: "Type filter for o: 'rg' (e.g., 'ts', 'js'). Used with o: 'rg'.",
|
|
71
|
-
}),
|
|
72
|
-
])),
|
|
73
|
-
h: Type.Optional(Type.String({
|
|
74
|
-
description: "Working directory override for this command. Used with o: 'bash'.",
|
|
75
|
-
})),
|
|
76
|
-
q: Type.Optional(Type.String({
|
|
77
|
-
description: "Search pattern for o: 'rg'.",
|
|
78
|
-
})),
|
|
79
|
-
n: Type.Optional(Type.Number({
|
|
80
|
-
minimum: 1,
|
|
81
|
-
description: "Max-count for o: 'rg' (matches per file). Broad searches on '.' auto-default to 50 when omitted.",
|
|
82
|
-
})),
|
|
83
|
-
u: Type.Optional(Type.Number({
|
|
84
|
-
minimum: 0,
|
|
85
|
-
maximum: 3,
|
|
86
|
-
description: "Ignore level for o: 'rg' (0-3). Maps to -u (0), -uu (1), -uuu (2-3).",
|
|
87
|
-
})),
|
|
88
|
-
});
|
|
89
|
-
const WebOp = Type.Union([
|
|
90
|
-
Type.Object({
|
|
91
|
-
o: Type.Literal("search"),
|
|
92
|
-
q: Type.String({ minLength: 1, description: "Search query" }),
|
|
93
|
-
}),
|
|
94
|
-
Type.Object({
|
|
95
|
-
o: Type.Literal("fetch"),
|
|
96
|
-
u: Type.String({ minLength: 1, description: "URL to fetch" }),
|
|
97
|
-
f: Type.Optional(Type.Union([Type.Literal("markdown"), Type.Literal("text"), Type.Literal("html")], {
|
|
98
|
-
description: "Output format (default: markdown). Content is saved to a temp file — use read ops to access.",
|
|
99
|
-
})),
|
|
100
|
-
}),
|
|
101
|
-
]);
|
|
102
|
-
export const WeavePatchParams = Type.Object({
|
|
103
|
-
o: Type.Array(FileOp, {
|
|
104
|
-
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.",
|
|
105
|
-
}),
|
|
106
|
-
w: Type.Optional(Type.Array(WebOp, {
|
|
107
|
-
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' }]",
|
|
108
|
-
})),
|
|
109
|
-
});
|
|
110
|
-
const BatchReadOp = Type.Union([
|
|
111
|
-
Type.Object({
|
|
112
|
-
o: Type.Literal("read"),
|
|
113
|
-
p: Type.String({ description: "Path to the file (relative or absolute)" }),
|
|
114
|
-
s: Type.Optional(Type.Number({
|
|
115
|
-
minimum: 1,
|
|
116
|
-
description: "1-indexed line number to start reading from (offset). Used with o: 'read'.",
|
|
117
|
-
})),
|
|
118
|
-
l: Type.Optional(Type.Number({
|
|
119
|
-
minimum: 1,
|
|
120
|
-
description: "Maximum number of lines to read (limit). Used with o: 'read'.",
|
|
121
|
-
})),
|
|
122
|
-
}),
|
|
123
|
-
Type.Object({
|
|
124
|
-
o: Type.Literal("rg"),
|
|
125
|
-
p: Type.String({ description: "Path to search (relative or absolute). Use '.' for cwd." }),
|
|
126
|
-
q: Type.String({ description: "Search pattern for o: 'rg'." }),
|
|
127
|
-
l: Type.Optional(Type.Boolean({
|
|
128
|
-
description: "Files-with-matches flag for o: 'rg'. Default true.",
|
|
129
|
-
})),
|
|
130
|
-
i: Type.Optional(Type.Boolean({
|
|
131
|
-
description: "Ignore-case flag for o: 'rg'.",
|
|
132
|
-
})),
|
|
133
|
-
t: Type.Optional(Type.String({
|
|
134
|
-
description: "Type filter for o: 'rg' (e.g., 'ts', 'js').",
|
|
135
|
-
})),
|
|
136
|
-
n: Type.Optional(Type.Number({
|
|
137
|
-
minimum: 1,
|
|
138
|
-
description: "Max-count for o: 'rg' (matches per file). Broad searches on '.' auto-default to 50 when omitted.",
|
|
139
|
-
})),
|
|
140
|
-
u: Type.Optional(Type.Number({
|
|
141
|
-
minimum: 0,
|
|
142
|
-
maximum: 3,
|
|
143
|
-
description: "Ignore level for o: 'rg' (0-3). Maps to -u (0), -uu (1), -uuu (2-3).",
|
|
144
|
-
})),
|
|
145
|
-
}),
|
|
146
|
-
]);
|
|
147
|
-
export const BatchReadParams = Type.Object({
|
|
148
|
-
o: Type.Array(BatchReadOp, {
|
|
149
|
-
description: "Ordered list of read operations. Executed sequentially. Each operation executes independently; failures are reported per-operation without stopping remaining ops.",
|
|
150
|
-
}),
|
|
151
|
-
});
|
|
152
|
-
// ---------------------------------------------------------------------------
|
|
153
|
-
// Argument preparation
|
|
154
|
-
// ---------------------------------------------------------------------------
|
|
155
|
-
function normalizeOp(raw) {
|
|
156
|
-
const op = {};
|
|
157
|
-
// Map operation type
|
|
158
|
-
op.o = raw.o ?? raw.op ?? (raw.c != null || raw.content != null ? "write" : (raw.e != null || raw.edits != null ? "edit" : "read"));
|
|
159
|
-
// Bash ops use a separate normalizer
|
|
160
|
-
if (op.o === "bash") {
|
|
161
|
-
return normalizeBashOp(raw);
|
|
162
|
-
}
|
|
163
|
-
// Map path
|
|
164
|
-
op.p = raw.p ?? raw.path;
|
|
165
|
-
// Map content
|
|
166
|
-
if (raw.c !== undefined)
|
|
167
|
-
op.c = raw.c;
|
|
168
|
-
else if (raw.patch !== undefined)
|
|
169
|
-
op.c = raw.patch;
|
|
170
|
-
else if (raw.content !== undefined)
|
|
171
|
-
op.c = raw.content;
|
|
172
|
-
// Map edits
|
|
173
|
-
let editsRaw = raw.e ?? raw.edits;
|
|
174
|
-
if (typeof editsRaw === "string") {
|
|
175
|
-
try {
|
|
176
|
-
editsRaw = JSON.parse(editsRaw);
|
|
177
|
-
}
|
|
178
|
-
catch (e) {
|
|
179
|
-
logWarn(`[pi-agent-flow] Failed to parse batch edits JSON: ${e}`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
if (Array.isArray(editsRaw)) {
|
|
183
|
-
op.e = editsRaw.map((e) => {
|
|
184
|
-
if (!e || typeof e !== "object")
|
|
185
|
-
return e;
|
|
186
|
-
const edit = e;
|
|
187
|
-
return { f: edit.f ?? edit.oldText, r: edit.r ?? edit.newText };
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
// Map offset / limit
|
|
191
|
-
if (raw.s !== undefined)
|
|
192
|
-
op.s = raw.s;
|
|
193
|
-
else if (raw.offset !== undefined)
|
|
194
|
-
op.s = raw.offset;
|
|
195
|
-
if (raw.l !== undefined)
|
|
196
|
-
op.l = raw.l;
|
|
197
|
-
else if (raw.limit !== undefined)
|
|
198
|
-
op.l = raw.limit;
|
|
199
|
-
// Map timeout / type filter
|
|
200
|
-
if (raw.t !== undefined)
|
|
201
|
-
op.t = raw.t;
|
|
202
|
-
// Map id / ignore-case
|
|
203
|
-
if (raw.i !== undefined)
|
|
204
|
-
op.i = raw.i;
|
|
205
|
-
// Map rg-specific fields
|
|
206
|
-
if (raw.q !== undefined)
|
|
207
|
-
op.q = raw.q;
|
|
208
|
-
if (raw.n !== undefined)
|
|
209
|
-
op.n = raw.n;
|
|
210
|
-
if (raw.u !== undefined)
|
|
211
|
-
op.u = raw.u;
|
|
212
|
-
return op;
|
|
213
|
-
}
|
|
214
|
-
function prepareArguments(input) {
|
|
215
|
-
if (!input || typeof input !== "object")
|
|
216
|
-
return { o: [] };
|
|
217
|
-
const args = input;
|
|
218
|
-
// Handle legacy top-level format: { path, oldText, newText }
|
|
219
|
-
if (typeof args.oldText === "string" &&
|
|
220
|
-
typeof args.newText === "string" &&
|
|
221
|
-
typeof args.path === "string") {
|
|
222
|
-
return {
|
|
223
|
-
o: [
|
|
224
|
-
normalizeOp({
|
|
225
|
-
o: "edit",
|
|
226
|
-
p: args.path,
|
|
227
|
-
e: [{ oldText: args.oldText, newText: args.newText }],
|
|
228
|
-
}),
|
|
229
|
-
],
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
// Extract ops array — canonical { o: [...] }, legacy { op: [...] }, legacy { operations: [...] }, or bare array
|
|
233
|
-
let opsArray;
|
|
234
|
-
if (Array.isArray(args.o)) {
|
|
235
|
-
opsArray = args.o;
|
|
236
|
-
}
|
|
237
|
-
else if (Array.isArray(args.op)) {
|
|
238
|
-
opsArray = args.op;
|
|
239
|
-
}
|
|
240
|
-
else if (Array.isArray(args.operations)) {
|
|
241
|
-
opsArray = args.operations;
|
|
242
|
-
}
|
|
243
|
-
else if (Array.isArray(args)) {
|
|
244
|
-
opsArray = args;
|
|
245
|
-
}
|
|
246
|
-
else if (typeof args.p === "string" || typeof args.path === "string") {
|
|
247
|
-
// Single-operation shorthand: { p: "...", o: "read" }
|
|
248
|
-
opsArray = [args];
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
opsArray = [];
|
|
252
|
-
}
|
|
253
|
-
// Normalize each operation to single-letter form
|
|
254
|
-
const result = {
|
|
255
|
-
o: opsArray.map((op) => {
|
|
256
|
-
if (!op || typeof op !== "object")
|
|
257
|
-
return op;
|
|
258
|
-
return normalizeOp(op);
|
|
259
|
-
}),
|
|
260
|
-
};
|
|
261
|
-
// Extract web ops if present
|
|
262
|
-
if (Array.isArray(args.w)) {
|
|
263
|
-
result.w = args.w;
|
|
264
|
-
}
|
|
265
|
-
return result;
|
|
266
|
-
}
|
|
267
|
-
function prepareBatchReadArguments(input) {
|
|
268
|
-
const prepared = prepareArguments(input);
|
|
269
|
-
const ops = Array.isArray(prepared) ? prepared : prepared.o;
|
|
270
|
-
if (!Array.isArray(ops))
|
|
271
|
-
return { o: [] };
|
|
272
|
-
// batch_read is local-only — reject web ops
|
|
273
|
-
const webOpsInRead = prepared.w;
|
|
274
|
-
if (webOpsInRead && webOpsInRead.length > 0) {
|
|
275
|
-
throw new Error("batch_read does not support web operations. Use the full `batch` tool with w: [...] for web ops.");
|
|
276
|
-
}
|
|
277
|
-
const allowedBatchReadOps = new Set(["read", "rg"]);
|
|
278
|
-
for (const op of ops) {
|
|
279
|
-
if (!op || typeof op !== "object")
|
|
280
|
-
continue;
|
|
281
|
-
const obj = op;
|
|
282
|
-
const opType = String(obj.o ?? obj.op ?? "").toLowerCase();
|
|
283
|
-
if (opType && !allowedBatchReadOps.has(opType)) {
|
|
284
|
-
throw new Error(`batch_read only supports read operations. Received: ${opType}`);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
return prepared;
|
|
288
|
-
}
|
|
289
|
-
// ---------------------------------------------------------------------------
|
|
290
|
-
// Tool factories
|
|
291
|
-
// ---------------------------------------------------------------------------
|
|
292
|
-
export function createBatchReadTool() {
|
|
293
|
-
return {
|
|
294
|
-
name: "batch_read",
|
|
295
|
-
label: "batch_read",
|
|
296
|
-
description: "Read multiple files or file sections in one call.",
|
|
297
|
-
promptSnippet: "Read multiple files/sections in one call",
|
|
298
|
-
promptGuidelines: [
|
|
299
|
-
"Combine multiple read/rg ops into one call.",
|
|
300
|
-
"Use `s` (start line) and `l` (line count) to target specific sections of large files.",
|
|
301
|
-
],
|
|
302
|
-
parameters: BatchReadParams,
|
|
303
|
-
prepareArguments: prepareBatchReadArguments,
|
|
304
|
-
async execute(_toolCallId, input, signal, onUpdate, ctx) {
|
|
305
|
-
const loopWarning = checkLoopGuard("batch_read", input);
|
|
306
|
-
const prepared = prepareBatchReadArguments(input);
|
|
307
|
-
const ops = Array.isArray(prepared)
|
|
308
|
-
? prepared
|
|
309
|
-
: prepared.o;
|
|
310
|
-
if (!Array.isArray(ops) || ops.length === 0) {
|
|
311
|
-
throw new Error("Error: o array is required and must not be empty.");
|
|
312
|
-
}
|
|
313
|
-
// Defensive validation: reject any non-read/rg operations
|
|
314
|
-
const allowedBatchReadOps = new Set(["read", "rg"]);
|
|
315
|
-
for (const op of ops) {
|
|
316
|
-
if (!allowedBatchReadOps.has(op.o)) {
|
|
317
|
-
throw new Error(`Error: batch_read only supports read operations. Received ${op.o} for ${op.p}.`);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
if (signal?.aborted) {
|
|
321
|
-
throw new Error("Operation aborted.");
|
|
322
|
-
}
|
|
323
|
-
const { contentText, results } = await executeOperations(ops, ctx.cwd, signal, {
|
|
324
|
-
readOptions: { truncate: false, toolName: "batch_read" },
|
|
325
|
-
includeLimitWarnings: false,
|
|
326
|
-
}, onUpdate);
|
|
327
|
-
const readResult = {
|
|
328
|
-
content: [{ type: "text", text: loopWarning ? contentText + loopWarning : contentText }],
|
|
329
|
-
details: { results },
|
|
330
|
-
};
|
|
331
|
-
return readResult;
|
|
332
|
-
},
|
|
333
|
-
renderCall: (args, theme) => renderBatchReadCall(args, theme),
|
|
334
|
-
renderResult: (result, { expanded, isPartial }, theme, args) => renderBatchReadResult(result, { expanded, isPartial: isPartial ?? false }, theme, args),
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Create the batch tool.
|
|
339
|
-
*
|
|
340
|
-
* @param bashTracker Optional BashProcessTracker for executing bash operations.
|
|
341
|
-
* When omitted, bash ops return an error. Both the batch tool and the
|
|
342
|
-
* batch_bash_poll tool must share the same tracker instance.
|
|
343
|
-
*/
|
|
344
|
-
export function createBatchTool(bashTracker, toolOptimize) {
|
|
345
|
-
return {
|
|
346
|
-
name: "batch",
|
|
347
|
-
label: "batch",
|
|
348
|
-
description: "File ops (read/write/edit/delete/patch), shell commands, and web search/fetch in one call.",
|
|
349
|
-
promptSnippet: "Batch: file ops + bash + web in one call",
|
|
350
|
-
promptGuidelines: [
|
|
351
|
-
"Combine all pending operations into a single `batch` call.",
|
|
352
|
-
"File ops execute first; bash runs after. Use write → bash to run scripts.",
|
|
353
|
-
"Web: `w: [{ o: 'search', q: '...' }]` or `w: [{ o: 'fetch', u: '...' }]`",
|
|
354
|
-
...(toolOptimize ? ["Batch is your ONLY edit tool — no separate edit command."] : []),
|
|
355
|
-
],
|
|
356
|
-
parameters: WeavePatchParams,
|
|
357
|
-
prepareArguments: prepareArguments,
|
|
358
|
-
async execute(_toolCallId, input, signal, onUpdate, ctx) {
|
|
359
|
-
const loopWarning = checkLoopGuard("batch", input);
|
|
360
|
-
const prepared = prepareArguments(input);
|
|
361
|
-
// prepareArguments always returns { o: [...] }, but handle
|
|
362
|
-
// legacy bare arrays for backward compatibility
|
|
363
|
-
const ops = Array.isArray(prepared)
|
|
364
|
-
? prepared
|
|
365
|
-
: prepared.o;
|
|
366
|
-
// Extract web ops (pass-through, no normalization needed)
|
|
367
|
-
const webOps = prepared.w;
|
|
368
|
-
const hasFileOps = Array.isArray(ops) && ops.length > 0;
|
|
369
|
-
const hasWebOps = Array.isArray(webOps) && webOps.length > 0;
|
|
370
|
-
if (!hasFileOps && !hasWebOps) {
|
|
371
|
-
throw new Error("Error: o or w array must not be empty.");
|
|
372
|
-
}
|
|
373
|
-
if (signal?.aborted) {
|
|
374
|
-
throw new Error("Operation aborted.");
|
|
375
|
-
}
|
|
376
|
-
// Split ops into file ops and bash ops
|
|
377
|
-
const fileOps = [];
|
|
378
|
-
const bashOps = [];
|
|
379
|
-
if (hasFileOps) {
|
|
380
|
-
for (const op of ops) {
|
|
381
|
-
if (op.o === "bash") {
|
|
382
|
-
bashOps.push(op);
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
fileOps.push(op);
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
// Execute file ops first (sequential)
|
|
390
|
-
let fileContentText = "";
|
|
391
|
-
let fileResults = [];
|
|
392
|
-
if (fileOps.length > 0) {
|
|
393
|
-
const fileOutput = await executeOperations(fileOps, ctx.cwd, signal, {}, onUpdate);
|
|
394
|
-
fileContentText = fileOutput.contentText;
|
|
395
|
-
fileResults = fileOutput.results;
|
|
396
|
-
}
|
|
397
|
-
// Emit update after file ops
|
|
398
|
-
if (onUpdate && fileOps.length > 0) {
|
|
399
|
-
onUpdate({
|
|
400
|
-
content: [{ type: "text", text: fileContentText }],
|
|
401
|
-
details: { results: fileResults },
|
|
402
|
-
});
|
|
403
|
-
}
|
|
404
|
-
// Execute web ops after file ops, before bash ops (sequential)
|
|
405
|
-
let webContentText = "";
|
|
406
|
-
let webResults = [];
|
|
407
|
-
if (Array.isArray(webOps) && webOps.length > 0) {
|
|
408
|
-
try {
|
|
409
|
-
const webOutput = await runWebOps({ op: webOps }, ctx, signal);
|
|
410
|
-
webContentText = webOutput.content[0].text;
|
|
411
|
-
webResults = webOutput.details.ops;
|
|
412
|
-
}
|
|
413
|
-
catch (err) {
|
|
414
|
-
// Catastrophic failure in runWebOps itself (should not happen with per-op handling)
|
|
415
|
-
const errorText = err instanceof Error ? err.message : String(err);
|
|
416
|
-
webContentText = `\n--- web error (unexpected) ---\n${errorText}`;
|
|
417
|
-
webResults = [];
|
|
418
|
-
}
|
|
419
|
-
// Emit update after web ops
|
|
420
|
-
if (onUpdate) {
|
|
421
|
-
onUpdate({
|
|
422
|
-
content: [{ type: "text", text: [fileContentText, webContentText].filter(Boolean).join("\n") }],
|
|
423
|
-
details: { results: [...fileResults, ...webResults] },
|
|
424
|
-
});
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
// Execute bash ops in parallel after file and web ops complete.
|
|
428
|
-
// Bash ops run regardless of file or web op failures.
|
|
429
|
-
let bashResults = [];
|
|
430
|
-
let bashContentText = "";
|
|
431
|
-
if (bashOps.length > 0 && bashTracker) {
|
|
432
|
-
const normalizedBashOps = bashOps.map((op) => ({
|
|
433
|
-
i: op.i ?? generateBashId(),
|
|
434
|
-
c: op.c ?? "",
|
|
435
|
-
t: op.t,
|
|
436
|
-
h: op.h,
|
|
437
|
-
}));
|
|
438
|
-
const bashOutput = await executeBatchBash(normalizedBashOps, ctx.cwd, bashTracker, signal);
|
|
439
|
-
bashResults = bashOutput;
|
|
440
|
-
// Format bash results into content text
|
|
441
|
-
const bashLines = [];
|
|
442
|
-
for (const r of bashOutput) {
|
|
443
|
-
if (r.status === "ok") {
|
|
444
|
-
bashLines.push(`\n--- bash [${r.id}] exit ${r.exitCode} ---`);
|
|
445
|
-
if (r.timingTier)
|
|
446
|
-
bashLines.push(`[Execution time: ${r.timingTier}]`);
|
|
447
|
-
if (r.stdout?.trim())
|
|
448
|
-
bashLines.push(r.stdout.trimEnd());
|
|
449
|
-
}
|
|
450
|
-
else if (r.status === "pending") {
|
|
451
|
-
bashLines.push(`\n--- bash [${r.id}] pending ---`);
|
|
452
|
-
if (r.stdout?.trim())
|
|
453
|
-
bashLines.push(`[partial output]\n${r.stdout.trimEnd()}`);
|
|
454
|
-
bashLines.push(`[Use batch_bash_poll with i: ["${r.id}"] to check results]`);
|
|
455
|
-
}
|
|
456
|
-
else {
|
|
457
|
-
bashLines.push(`\n--- bash [${r.id}] error ---`);
|
|
458
|
-
if (r.timingTier)
|
|
459
|
-
bashLines.push(`[Execution time: ${r.timingTier}]`);
|
|
460
|
-
if (r.stdout?.trim())
|
|
461
|
-
bashLines.push(r.stdout.trimEnd());
|
|
462
|
-
if (r.stderr?.trim())
|
|
463
|
-
bashLines.push(`[stderr]\n${r.stderr.trimEnd()}`);
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
bashContentText = bashLines.join("\n");
|
|
467
|
-
}
|
|
468
|
-
else if (bashOps.length > 0 && !bashTracker) {
|
|
469
|
-
bashResults = bashOps.map((op) => ({
|
|
470
|
-
op: "bash",
|
|
471
|
-
path: op.p,
|
|
472
|
-
status: "error",
|
|
473
|
-
id: op.i,
|
|
474
|
-
command: op.c,
|
|
475
|
-
error: "Bash tracker not available.",
|
|
476
|
-
}));
|
|
477
|
-
bashContentText = "\n--- bash: tracker not available ---";
|
|
478
|
-
}
|
|
479
|
-
// Combine results
|
|
480
|
-
const allResults = [...fileResults, ...webResults, ...bashResults];
|
|
481
|
-
const contentText = [fileContentText, webContentText, bashContentText].filter(Boolean).join("\n");
|
|
482
|
-
// Emit final update after bash ops complete
|
|
483
|
-
if (onUpdate && (bashOps.length > 0 || (Array.isArray(webOps) && webOps.length > 0))) {
|
|
484
|
-
onUpdate({
|
|
485
|
-
content: [{ type: "text", text: contentText }],
|
|
486
|
-
details: { results: allResults },
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
const batchResult = {
|
|
490
|
-
content: [{ type: "text", text: loopWarning ? contentText + loopWarning : contentText }],
|
|
491
|
-
details: { results: allResults },
|
|
492
|
-
};
|
|
493
|
-
return batchResult;
|
|
494
|
-
},
|
|
495
|
-
renderCall: (args, theme) => renderBatchCall(args, theme),
|
|
496
|
-
renderResult: (result, { expanded, isPartial }, theme, args) => renderBatchResult(result, { expanded, isPartial: isPartial ?? false }, theme, args),
|
|
497
|
-
};
|
|
498
|
-
}
|
|
10
|
+
// Backward-compatible alias: createBatchTool → createBatchCliTool
|
|
11
|
+
export { createBatchCliTool as createBatchTool } from "../cli/register.js";
|
|
499
12
|
//# sourceMappingURL=index.js.map
|
package/dist/batch/index.js.map
CHANGED
|
@@ -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;
|
|
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"}
|