pi-agent-flow 2.2.33 → 2.3.1

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 (214) 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 +4 -2
  9. package/dist/batch/constants.d.ts.map +1 -1
  10. package/dist/batch/execute.d.ts +2 -2
  11. package/dist/batch/execute.d.ts.map +1 -1
  12. package/dist/batch/execute.js +13 -1
  13. package/dist/batch/execute.js.map +1 -1
  14. package/dist/batch/fuzzy-edit.d.ts +1 -1
  15. package/dist/batch/fuzzy-edit.d.ts.map +1 -1
  16. package/dist/batch/fuzzy-edit.js +43 -17
  17. package/dist/batch/fuzzy-edit.js.map +1 -1
  18. package/dist/batch/summary.d.ts.map +1 -1
  19. package/dist/batch/summary.js +146 -0
  20. package/dist/batch/summary.js.map +1 -1
  21. package/dist/cli/ask-user.d.ts +40 -0
  22. package/dist/cli/ask-user.d.ts.map +1 -0
  23. package/dist/cli/ask-user.js +117 -0
  24. package/dist/cli/ask-user.js.map +1 -0
  25. package/dist/cli/batch-read.d.ts +17 -0
  26. package/dist/cli/batch-read.d.ts.map +1 -0
  27. package/dist/cli/batch-read.js +76 -0
  28. package/dist/cli/batch-read.js.map +1 -0
  29. package/dist/cli/batch.d.ts +20 -0
  30. package/dist/cli/batch.d.ts.map +1 -0
  31. package/dist/cli/batch.js +128 -0
  32. package/dist/cli/batch.js.map +1 -0
  33. package/dist/cli/chain.d.ts +24 -0
  34. package/dist/cli/chain.d.ts.map +1 -0
  35. package/dist/cli/chain.js +166 -0
  36. package/dist/cli/chain.js.map +1 -0
  37. package/dist/cli/exec/bash.d.ts +7 -0
  38. package/dist/cli/exec/bash.d.ts.map +1 -0
  39. package/dist/cli/exec/bash.js +63 -0
  40. package/dist/cli/exec/bash.js.map +1 -0
  41. package/dist/cli/exec/delete.d.ts +6 -0
  42. package/dist/cli/exec/delete.d.ts.map +1 -0
  43. package/dist/cli/exec/delete.js +18 -0
  44. package/dist/cli/exec/delete.js.map +1 -0
  45. package/dist/cli/exec/edit.d.ts +6 -0
  46. package/dist/cli/exec/edit.d.ts.map +1 -0
  47. package/dist/cli/exec/edit.js +44 -0
  48. package/dist/cli/exec/edit.js.map +1 -0
  49. package/dist/cli/exec/patch.d.ts +6 -0
  50. package/dist/cli/exec/patch.d.ts.map +1 -0
  51. package/dist/cli/exec/patch.js +20 -0
  52. package/dist/cli/exec/patch.js.map +1 -0
  53. package/dist/cli/exec/poll.d.ts +7 -0
  54. package/dist/cli/exec/poll.d.ts.map +1 -0
  55. package/dist/cli/exec/poll.js +59 -0
  56. package/dist/cli/exec/poll.js.map +1 -0
  57. package/dist/cli/exec/read.d.ts +15 -0
  58. package/dist/cli/exec/read.d.ts.map +1 -0
  59. package/dist/cli/exec/read.js +54 -0
  60. package/dist/cli/exec/read.js.map +1 -0
  61. package/dist/cli/exec/rg.d.ts +10 -0
  62. package/dist/cli/exec/rg.d.ts.map +1 -0
  63. package/dist/cli/exec/rg.js +32 -0
  64. package/dist/cli/exec/rg.js.map +1 -0
  65. package/dist/cli/exec/util.d.ts +9 -0
  66. package/dist/cli/exec/util.d.ts.map +1 -0
  67. package/dist/cli/exec/util.js +8 -0
  68. package/dist/cli/exec/util.js.map +1 -0
  69. package/dist/cli/exec/web.d.ts +8 -0
  70. package/dist/cli/exec/web.d.ts.map +1 -0
  71. package/dist/cli/exec/web.js +48 -0
  72. package/dist/cli/exec/web.js.map +1 -0
  73. package/dist/cli/exec/write.d.ts +6 -0
  74. package/dist/cli/exec/write.d.ts.map +1 -0
  75. package/dist/cli/exec/write.js +23 -0
  76. package/dist/cli/exec/write.js.map +1 -0
  77. package/dist/cli/flags/bash.d.ts +3 -0
  78. package/dist/cli/flags/bash.d.ts.map +1 -0
  79. package/dist/cli/flags/bash.js +7 -0
  80. package/dist/cli/flags/bash.js.map +1 -0
  81. package/dist/cli/flags/delete.d.ts +3 -0
  82. package/dist/cli/flags/delete.d.ts.map +1 -0
  83. package/dist/cli/flags/delete.js +4 -0
  84. package/dist/cli/flags/delete.js.map +1 -0
  85. package/dist/cli/flags/edit.d.ts +3 -0
  86. package/dist/cli/flags/edit.d.ts.map +1 -0
  87. package/dist/cli/flags/edit.js +8 -0
  88. package/dist/cli/flags/edit.js.map +1 -0
  89. package/dist/cli/flags/patch.d.ts +3 -0
  90. package/dist/cli/flags/patch.d.ts.map +1 -0
  91. package/dist/cli/flags/patch.js +5 -0
  92. package/dist/cli/flags/patch.js.map +1 -0
  93. package/dist/cli/flags/poll.d.ts +3 -0
  94. package/dist/cli/flags/poll.d.ts.map +1 -0
  95. package/dist/cli/flags/poll.js +5 -0
  96. package/dist/cli/flags/poll.js.map +1 -0
  97. package/dist/cli/flags/read.d.ts +3 -0
  98. package/dist/cli/flags/read.d.ts.map +1 -0
  99. package/dist/cli/flags/read.js +7 -0
  100. package/dist/cli/flags/read.js.map +1 -0
  101. package/dist/cli/flags/rg.d.ts +3 -0
  102. package/dist/cli/flags/rg.d.ts.map +1 -0
  103. package/dist/cli/flags/rg.js +10 -0
  104. package/dist/cli/flags/rg.js.map +1 -0
  105. package/dist/cli/flags/web.d.ts +3 -0
  106. package/dist/cli/flags/web.d.ts.map +1 -0
  107. package/dist/cli/flags/web.js +7 -0
  108. package/dist/cli/flags/web.js.map +1 -0
  109. package/dist/cli/flags/write.d.ts +3 -0
  110. package/dist/cli/flags/write.d.ts.map +1 -0
  111. package/dist/cli/flags/write.js +5 -0
  112. package/dist/cli/flags/write.js.map +1 -0
  113. package/dist/cli/flow.d.ts +33 -0
  114. package/dist/cli/flow.d.ts.map +1 -0
  115. package/dist/cli/flow.js +185 -0
  116. package/dist/cli/flow.js.map +1 -0
  117. package/dist/cli/format.d.ts +12 -0
  118. package/dist/cli/format.d.ts.map +1 -0
  119. package/dist/cli/format.js +29 -0
  120. package/dist/cli/format.js.map +1 -0
  121. package/dist/cli/help.d.ts +16 -0
  122. package/dist/cli/help.d.ts.map +1 -0
  123. package/dist/cli/help.js +42 -0
  124. package/dist/cli/help.js.map +1 -0
  125. package/dist/cli/parse.d.ts +24 -0
  126. package/dist/cli/parse.d.ts.map +1 -0
  127. package/dist/cli/parse.js +165 -0
  128. package/dist/cli/parse.js.map +1 -0
  129. package/dist/cli/register.d.ts +69 -0
  130. package/dist/cli/register.d.ts.map +1 -0
  131. package/dist/cli/register.js +82 -0
  132. package/dist/cli/register.js.map +1 -0
  133. package/dist/cli/runner.d.ts +30 -0
  134. package/dist/cli/runner.d.ts.map +1 -0
  135. package/dist/cli/runner.js +102 -0
  136. package/dist/cli/runner.js.map +1 -0
  137. package/dist/cli/tokenize.d.ts +9 -0
  138. package/dist/cli/tokenize.d.ts.map +1 -0
  139. package/dist/cli/tokenize.js +80 -0
  140. package/dist/cli/tokenize.js.map +1 -0
  141. package/dist/core2/snapshot.d.ts.map +1 -1
  142. package/dist/core2/snapshot.js +8 -1
  143. package/dist/core2/snapshot.js.map +1 -1
  144. package/dist/flow/agents.d.ts +2 -0
  145. package/dist/flow/agents.d.ts.map +1 -1
  146. package/dist/flow/agents.js +2 -0
  147. package/dist/flow/agents.js.map +1 -1
  148. package/dist/flow/continuation.d.ts.map +1 -1
  149. package/dist/flow/continuation.js +26 -0
  150. package/dist/flow/continuation.js.map +1 -1
  151. package/dist/flow/executor.d.ts.map +1 -1
  152. package/dist/flow/executor.js +1 -0
  153. package/dist/flow/executor.js.map +1 -1
  154. package/dist/flow/flow-args.js +1 -1
  155. package/dist/flow/flow-args.js.map +1 -1
  156. package/dist/flow/process-lifecycle.d.ts.map +1 -1
  157. package/dist/flow/process-lifecycle.js +11 -3
  158. package/dist/flow/process-lifecycle.js.map +1 -1
  159. package/dist/flow/runner.d.ts.map +1 -1
  160. package/dist/flow/runner.js +36 -5
  161. package/dist/flow/runner.js.map +1 -1
  162. package/dist/flow/warp.d.ts.map +1 -1
  163. package/dist/flow/warp.js +16 -10
  164. package/dist/flow/warp.js.map +1 -1
  165. package/dist/index.d.ts +1 -0
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.js +158 -241
  168. package/dist/index.js.map +1 -1
  169. package/dist/steering/flow-prompt.js +2 -2
  170. package/dist/steering/flow-prompt.js.map +1 -1
  171. package/dist/steering/sliding-prompt.d.ts.map +1 -1
  172. package/dist/steering/sliding-prompt.js +10 -21
  173. package/dist/steering/sliding-prompt.js.map +1 -1
  174. package/dist/tools/ask-user.d.ts +10 -7
  175. package/dist/tools/ask-user.d.ts.map +1 -1
  176. package/dist/tools/ask-user.js +51 -62
  177. package/dist/tools/ask-user.js.map +1 -1
  178. package/dist/tools/trace.d.ts +12 -7
  179. package/dist/tools/trace.d.ts.map +1 -1
  180. package/dist/tools/trace.js +155 -194
  181. package/dist/tools/trace.js.map +1 -1
  182. package/dist/tools/web-ops.d.ts +40 -0
  183. package/dist/tools/web-ops.d.ts.map +1 -1
  184. package/dist/tools/web-ops.js +7 -3
  185. package/dist/tools/web-ops.js.map +1 -1
  186. package/package.json +3 -2
  187. package/dist/batch/index.d.ts +0 -73
  188. package/dist/batch/index.d.ts.map +0 -1
  189. package/dist/batch/index.js +0 -450
  190. package/dist/batch/index.js.map +0 -1
  191. package/dist/batch/normalize.d.ts +0 -4
  192. package/dist/batch/normalize.d.ts.map +0 -1
  193. package/dist/batch/normalize.js +0 -85
  194. package/dist/batch/normalize.js.map +0 -1
  195. package/dist/flow/flow-args-prep.d.ts +0 -28
  196. package/dist/flow/flow-args-prep.d.ts.map +0 -1
  197. package/dist/flow/flow-args-prep.js +0 -83
  198. package/dist/flow/flow-args-prep.js.map +0 -1
  199. package/dist/flow/flow-dispatch-prep.d.ts +0 -11
  200. package/dist/flow/flow-dispatch-prep.d.ts.map +0 -1
  201. package/dist/flow/flow-dispatch-prep.js +0 -40
  202. package/dist/flow/flow-dispatch-prep.js.map +0 -1
  203. package/dist/flow/op-aliases.d.ts +0 -51
  204. package/dist/flow/op-aliases.d.ts.map +0 -1
  205. package/dist/flow/op-aliases.js +0 -185
  206. package/dist/flow/op-aliases.js.map +0 -1
  207. package/dist/tools/array-coerce.d.ts +0 -9
  208. package/dist/tools/array-coerce.d.ts.map +0 -1
  209. package/dist/tools/array-coerce.js +0 -47
  210. package/dist/tools/array-coerce.js.map +0 -1
  211. package/dist/tools/trace-dispatch-prep.d.ts +0 -10
  212. package/dist/tools/trace-dispatch-prep.d.ts.map +0 -1
  213. package/dist/tools/trace-dispatch-prep.js +0 -199
  214. package/dist/tools/trace-dispatch-prep.js.map +0 -1
@@ -1,10 +0,0 @@
1
- export type DispatchPrepResult = {
2
- dispatch: Array<{
3
- tool: "batch" | "bash" | "web";
4
- ops: unknown[];
5
- }>;
6
- notes: string[];
7
- changed: boolean;
8
- };
9
- export declare function prepareTraceDispatchArguments(input: unknown): DispatchPrepResult;
10
- //# sourceMappingURL=trace-dispatch-prep.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace-dispatch-prep.d.ts","sourceRoot":"","sources":["../../src/tools/trace-dispatch-prep.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;QAAC,GAAG,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAkKhF"}
@@ -1,199 +0,0 @@
1
- import { applyOpAliases, applyDispatchWrapperAliases } from "../flow/op-aliases.js";
2
- export function prepareTraceDispatchArguments(input) {
3
- if (!input || typeof input !== "object") {
4
- return { dispatch: [], notes: [], changed: false };
5
- }
6
- const args = input;
7
- const rawDispatch = args.dispatch;
8
- if (!rawDispatch) {
9
- return { dispatch: [], notes: [], changed: false };
10
- }
11
- if (typeof rawDispatch === "string") {
12
- return {
13
- dispatch: [{ tool: "bash", ops: [{ c: rawDispatch }] }],
14
- notes: ["string → bash[1]"],
15
- changed: true,
16
- };
17
- }
18
- if (!Array.isArray(rawDispatch)) {
19
- return { dispatch: [], notes: [], changed: true };
20
- }
21
- const notes = [];
22
- const dispatch = [];
23
- let changed = false;
24
- for (let i = 0; i < rawDispatch.length; i++) {
25
- const group = rawDispatch[i];
26
- if (group === null || group === undefined) {
27
- changed = true;
28
- notes.push(`dispatch[${i}]: dropped null/undefined`);
29
- continue;
30
- }
31
- if (typeof group !== "object" || Array.isArray(group)) {
32
- changed = true;
33
- const type = Array.isArray(group) ? "array" : typeof group;
34
- notes.push(`dispatch[${i}]: dropped non-object (${type})`);
35
- continue;
36
- }
37
- const rawG = group;
38
- const wrapperResult = applyDispatchWrapperAliases(rawG);
39
- if (wrapperResult.aliased)
40
- notes.push("aliased dispatch wrapper");
41
- if (wrapperResult.changed)
42
- changed = true;
43
- const g = wrapperResult.result;
44
- const tool = g.tool;
45
- if (tool !== "batch" && tool !== "bash" && tool !== "web") {
46
- changed = true;
47
- continue;
48
- }
49
- let ops = g.ops;
50
- // Handle bare string ops
51
- if (typeof ops === "string") {
52
- ops = [{ c: ops }];
53
- notes.push("string → bash[1]");
54
- changed = true;
55
- }
56
- // Handle single object ops (wrap in array) or nested dispatcher
57
- if (ops && typeof ops === "object" && !Array.isArray(ops)) {
58
- const opsObj = ops;
59
- // Check for nested dispatcher: { tool, ops: { item: {...} } }
60
- if (opsObj.item && typeof opsObj.item === "object") {
61
- if (Array.isArray(opsObj.item)) {
62
- ops = opsObj.item;
63
- }
64
- else {
65
- ops = [opsObj.item];
66
- }
67
- notes.push("flattened nested dispatcher");
68
- changed = true;
69
- }
70
- else {
71
- ops = [ops];
72
- notes.push("single obj → array[1]");
73
- changed = true;
74
- }
75
- }
76
- const opsArray = Array.isArray(ops) ? ops : [];
77
- if (opsArray !== ops) {
78
- changed = true;
79
- }
80
- const normalizedOps = [];
81
- for (const op of opsArray) {
82
- if (typeof op === "string") {
83
- normalizedOps.push({ c: op });
84
- notes.push("string → bash[1]");
85
- changed = true;
86
- continue;
87
- }
88
- if (!op || typeof op !== "object") {
89
- changed = true;
90
- continue;
91
- }
92
- const opObj = op;
93
- // Flatten nested dispatcher inside ops array: { tool: 'bash', ops: { item: {...} } }
94
- if (opObj.tool && opObj.ops) {
95
- const innerOps = opObj.ops;
96
- if (innerOps.item && typeof innerOps.item === "object") {
97
- if (Array.isArray(innerOps.item)) {
98
- for (const innerItem of innerOps.item) {
99
- const flatOp = { ...innerItem };
100
- const aliased = applyOpAliases(flatOp, tool);
101
- if (aliased.aliased)
102
- notes.push("aliased op");
103
- if (aliased.changed)
104
- changed = true;
105
- const inferred = applyInference(aliased.result, tool, notes, normalizedOps);
106
- if (inferred)
107
- changed = true;
108
- }
109
- }
110
- else {
111
- const flatOp = { ...innerOps.item };
112
- const aliased = applyOpAliases(flatOp, tool);
113
- if (aliased.aliased)
114
- notes.push("aliased op");
115
- if (aliased.changed)
116
- changed = true;
117
- const inferred = applyInference(aliased.result, tool, notes, normalizedOps);
118
- if (inferred)
119
- changed = true;
120
- }
121
- notes.push("flattened nested dispatcher");
122
- changed = true;
123
- continue;
124
- }
125
- }
126
- const aliasedOp = applyOpAliases(opObj, tool);
127
- if (aliasedOp.aliased)
128
- notes.push("aliased op");
129
- if (aliasedOp.changed)
130
- changed = true;
131
- // Strip stray 'tool' key from bash ops
132
- if (tool === "bash" && aliasedOp.result.tool !== undefined) {
133
- const { tool: _, ...rest } = aliasedOp.result;
134
- normalizedOps.push(rest);
135
- notes.push("stripped stray tool");
136
- changed = true;
137
- continue;
138
- }
139
- const inferred = applyInference(aliasedOp.result, tool, notes, normalizedOps);
140
- if (inferred)
141
- changed = true;
142
- }
143
- // Preserve unknown wrapper keys for forward compatibility
144
- dispatch.push({ tool: tool, ...g, ops: normalizedOps });
145
- }
146
- // If no structural changes were made, return the original array to preserve
147
- // reference equality so upstream callers can detect whether normalization occurred.
148
- if (notes.length === 0 && !changed) {
149
- return {
150
- dispatch: rawDispatch,
151
- notes: [],
152
- changed: false,
153
- };
154
- }
155
- return { dispatch, notes, changed: true };
156
- }
157
- function applyInference(opObj, tool, notes, normalizedOps) {
158
- if (tool === "batch") {
159
- if (opObj.o === undefined) {
160
- if (opObj.c !== undefined && opObj.p === undefined) {
161
- normalizedOps.push({ ...opObj, o: "bash", p: opObj.c });
162
- notes.push("inferred o=bash");
163
- return true;
164
- }
165
- else if (opObj.e !== undefined) {
166
- normalizedOps.push({ ...opObj, o: "edit" });
167
- notes.push("inferred o=edit");
168
- return true;
169
- }
170
- else if (opObj.c !== undefined) {
171
- normalizedOps.push({ ...opObj, o: "write" });
172
- notes.push("inferred o=write");
173
- return true;
174
- }
175
- else if (opObj.p !== undefined) {
176
- normalizedOps.push({ ...opObj, o: "read" });
177
- notes.push("inferred o=read");
178
- return true;
179
- }
180
- }
181
- }
182
- if (tool === "web") {
183
- if (opObj.o === undefined) {
184
- if (opObj.q !== undefined) {
185
- normalizedOps.push({ ...opObj, o: "search" });
186
- notes.push("inferred o=search");
187
- return true;
188
- }
189
- else if (opObj.u !== undefined) {
190
- normalizedOps.push({ ...opObj, o: "fetch" });
191
- notes.push("inferred o=fetch");
192
- return true;
193
- }
194
- }
195
- }
196
- normalizedOps.push(opObj);
197
- return false;
198
- }
199
- //# sourceMappingURL=trace-dispatch-prep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace-dispatch-prep.js","sourceRoot":"","sources":["../../src/tools/trace-dispatch-prep.ts"],"names":[],"mappings":"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"}