@wrongstack/tools 0.319.1 → 1.0.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 (203) hide show
  1. package/dist/_danger-detect.d.ts +8 -0
  2. package/dist/_syntax-check.d.ts +1 -2
  3. package/dist/audit.d.ts +4 -5
  4. package/dist/audit.js +8 -8
  5. package/dist/auto-proceed-loop-guard.js +9 -160
  6. package/dist/bash-kill-guard.d.ts +2 -3
  7. package/dist/bash.d.ts +2 -3
  8. package/dist/bash.js +6 -6
  9. package/dist/batch-tool-use.d.ts +2 -3
  10. package/dist/batch-tool-use.js +1 -1
  11. package/dist/browser/index.d.ts +1 -1
  12. package/dist/browser/index.js +1 -1
  13. package/dist/browser/tools.d.ts +56 -45
  14. package/dist/builtin.js +55 -55
  15. package/dist/{chunk-RJZQWEMS.js → chunk-24T5XIJU.js} +3 -2
  16. package/dist/{chunk-DTQ75VBC.js → chunk-2CTZW6JQ.js} +2 -2
  17. package/dist/chunk-37QKUQ2Z.js +171 -0
  18. package/dist/{chunk-LOBRWKCR.js → chunk-3D5DJWOE.js} +3 -3
  19. package/dist/{chunk-YOKD4GWJ.js → chunk-4ERMPDHV.js} +14 -8
  20. package/dist/{chunk-5EUJF3WC.js → chunk-4WPBS45A.js} +4 -5
  21. package/dist/{chunk-42BHI7TN.js → chunk-5ITQPCLC.js} +2 -2
  22. package/dist/{chunk-B4HTSV6Z.js → chunk-5KS24LTS.js} +11 -11
  23. package/dist/{chunk-QPNYDH5B.js → chunk-62OAECEQ.js} +29 -7
  24. package/dist/{chunk-IYKXK356.js → chunk-6GOZTS6F.js} +4 -4
  25. package/dist/{chunk-OG2BEUBY.js → chunk-7HL23T3T.js} +73 -16
  26. package/dist/{chunk-HFXSNKCV.js → chunk-7JJFC6CT.js} +1 -1
  27. package/dist/{chunk-TTZOK6IY.js → chunk-7N5U2RAU.js} +2 -2
  28. package/dist/{chunk-QBV725YG.js → chunk-7ODZTPCU.js} +2 -2
  29. package/dist/{chunk-OTINMOKK.js → chunk-AB2CAUOP.js} +66 -55
  30. package/dist/{chunk-6AAOT4PW.js → chunk-AQ5YBURX.js} +16 -4
  31. package/dist/{chunk-JDPQOR7C.js → chunk-ASEXQRA7.js} +19 -19
  32. package/dist/{chunk-FRN7TIAA.js → chunk-B3MGJBFI.js} +1 -1
  33. package/dist/{chunk-IWS56OY7.js → chunk-CGXTR34H.js} +63 -4
  34. package/dist/{chunk-IU4DV2PA.js → chunk-CHEK3ASV.js} +6 -3
  35. package/dist/{chunk-GOIZNNOA.js → chunk-DJYLI7EW.js} +1 -1
  36. package/dist/{chunk-CFLJFDYV.js → chunk-DK4J2WMH.js} +14 -11
  37. package/dist/{chunk-ZHH3BEWU.js → chunk-DRRY6SCM.js} +49 -22
  38. package/dist/{chunk-BK732J7I.js → chunk-FBUP524S.js} +4 -4
  39. package/dist/{chunk-WHIIIREL.js → chunk-FVM3O4JQ.js} +7 -3
  40. package/dist/chunk-FYDBUVQD.js +244 -0
  41. package/dist/{chunk-UDVKRX5R.js → chunk-GDDXX27P.js} +50 -50
  42. package/dist/{chunk-O44IMQCN.js → chunk-GKSG5CPH.js} +6 -6
  43. package/dist/{chunk-3PVYQFRQ.js → chunk-HDYUBRMF.js} +5 -3
  44. package/dist/{chunk-ELRRTWNP.js → chunk-IXIS7RSG.js} +2 -2
  45. package/dist/{chunk-X5FOFGXX.js → chunk-IYH4OHBP.js} +6 -6
  46. package/dist/{chunk-MNP3GE7H.js → chunk-JDOO4P6Z.js} +21 -16
  47. package/dist/{chunk-BSJSNVGA.js → chunk-KDEXUQY7.js} +24 -11
  48. package/dist/{chunk-V43EQ6VR.js → chunk-KE7A76VC.js} +3 -2
  49. package/dist/{chunk-2OXHS3KZ.js → chunk-KLJZ4WV4.js} +4 -3
  50. package/dist/{chunk-3M7LLN7W.js → chunk-LQSOU63Z.js} +12 -11
  51. package/dist/{chunk-DC4KMPJO.js → chunk-M6UV67BH.js} +2 -2
  52. package/dist/{chunk-C2DQKVLO.js → chunk-MJSJWXBF.js} +1 -1
  53. package/dist/{chunk-RNWUCZ2U.js → chunk-MK2JK35J.js} +29 -12
  54. package/dist/{chunk-FQZOHLG3.js → chunk-MSOAX3GC.js} +3 -2
  55. package/dist/{chunk-KY4PXYSO.js → chunk-N3K2SFEI.js} +534 -494
  56. package/dist/{chunk-EADULOZV.js → chunk-NJX2RXKJ.js} +50 -7
  57. package/dist/{chunk-AKHYMB4V.js → chunk-NN2SNP2R.js} +6 -6
  58. package/dist/{chunk-CMOUCKGC.js → chunk-NU2IZ72J.js} +6 -6
  59. package/dist/{chunk-RLMX75EM.js → chunk-O6BY43ZB.js} +29 -8
  60. package/dist/{chunk-NKNOBUBU.js → chunk-PVCB7RUZ.js} +2 -2
  61. package/dist/{chunk-UQQS3VNT.js → chunk-QA6IASYX.js} +8 -8
  62. package/dist/{chunk-VPALDFYM.js → chunk-RV7BVTDG.js} +1 -1
  63. package/dist/chunk-S57CDR2H.js +288 -0
  64. package/dist/{chunk-2VSZC6QM.js → chunk-SCMRM6NL.js} +6 -4
  65. package/dist/{chunk-W2CECGTG.js → chunk-SMARDKAC.js} +1 -1
  66. package/dist/{chunk-45JPRMC2.js → chunk-SOR7OCYP.js} +7 -3
  67. package/dist/{chunk-ATSKPZUK.js → chunk-T3SMFF5Q.js} +11 -5
  68. package/dist/{chunk-4BHUSMNL.js → chunk-UI3ZJIG3.js} +1 -1
  69. package/dist/{chunk-WXJY3BKV.js → chunk-VBF2YXUW.js} +2 -2
  70. package/dist/{chunk-FQNXYA6W.js → chunk-VU3QBYL4.js} +36 -5
  71. package/dist/{chunk-IIF5HIVF.js → chunk-VVZPQPTY.js} +2 -2
  72. package/dist/{chunk-VD2LV5WO.js → chunk-VZGPASGD.js} +37 -12
  73. package/dist/{chunk-64VIJPFV.js → chunk-WEEVSWQB.js} +17 -6
  74. package/dist/chunk-XXRMF2BC.js +186 -0
  75. package/dist/{chunk-RTZWBNTY.js → chunk-YEISRT4S.js} +7 -12
  76. package/dist/{chunk-Q5JPPCZC.js → chunk-YJTXRH5Y.js} +3 -2
  77. package/dist/{chunk-GMZYW52L.js → chunk-YULVUTK5.js} +6 -3
  78. package/dist/{chunk-NWZ6XGBJ.js → chunk-ZBMANLYH.js} +5 -3
  79. package/dist/{chunk-DP6CXMJZ.js → chunk-ZTCJCYLN.js} +3 -3
  80. package/dist/circuit-breaker.d.ts +1 -0
  81. package/dist/circuit-breaker.js +1 -1
  82. package/dist/clarify.d.ts +1 -0
  83. package/dist/codebase-index/codebase-ast-replace-tool.d.ts +2 -3
  84. package/dist/codebase-index/codebase-impact-analysis-tool.d.ts +5 -4
  85. package/dist/codebase-index/codebase-incoming-calls-tool.d.ts +4 -3
  86. package/dist/codebase-index/codebase-index-tool.d.ts +2 -3
  87. package/dist/codebase-index/codebase-invariant-check-tool.d.ts +2 -3
  88. package/dist/codebase-index/codebase-outgoing-calls-tool.d.ts +4 -3
  89. package/dist/codebase-index/codebase-repo-map-tool.d.ts +2 -3
  90. package/dist/codebase-index/codebase-search-tool.d.ts +2 -3
  91. package/dist/codebase-index/codebase-skeleton-tool.d.ts +2 -3
  92. package/dist/codebase-index/codebase-stats-tool.d.ts +9 -3
  93. package/dist/codebase-index/codebase-targeted-test-tool.d.ts +4 -3
  94. package/dist/codebase-index/index.d.ts +11 -11
  95. package/dist/codebase-index/index.js +12 -12
  96. package/dist/codebase-index/parser-worker-script.js +3 -3
  97. package/dist/codebase-index/project-server-framing.d.ts +29 -0
  98. package/dist/codebase-index/project-server-lifecycle.d.ts +20 -0
  99. package/dist/codebase-index/project-server-operations.d.ts +37 -0
  100. package/dist/codebase-index/project-server-types.d.ts +30 -0
  101. package/dist/codebase-index/project-server-watcher.d.ts +25 -0
  102. package/dist/codebase-index/project-server.js +451 -394
  103. package/dist/codebase-index/worker.js +5 -5
  104. package/dist/codebase-index/writer-init.d.ts +13 -0
  105. package/dist/codebase-index/writer-maintenance.d.ts +14 -0
  106. package/dist/codebase-index/writer.d.ts +0 -15
  107. package/dist/design.d.ts +2 -2
  108. package/dist/design.js +1 -1
  109. package/dist/diff.d.ts +4 -4
  110. package/dist/diff.js +2 -2
  111. package/dist/document.d.ts +3 -4
  112. package/dist/document.js +1 -1
  113. package/dist/e2e.d.ts +1 -1
  114. package/dist/e2e.js +1 -1
  115. package/dist/edit.d.ts +3 -3
  116. package/dist/edit.js +9 -9
  117. package/dist/exec.d.ts +2 -3
  118. package/dist/exec.js +6 -6
  119. package/dist/fetch.d.ts +4 -3
  120. package/dist/fetch.js +1 -1
  121. package/dist/format.d.ts +17 -45
  122. package/dist/format.js +14 -10
  123. package/dist/git.d.ts +3 -3
  124. package/dist/git.js +1 -1
  125. package/dist/glob.d.ts +2 -3
  126. package/dist/glob.js +3 -3
  127. package/dist/{go-parser-IKHW67WE.js → go-parser-D7ELWQ7F.js} +2 -2
  128. package/dist/grep.d.ts +7 -5
  129. package/dist/grep.js +4 -4
  130. package/dist/index.d.ts +54 -45
  131. package/dist/index.js +122 -63
  132. package/dist/install.d.ts +7 -55
  133. package/dist/install.js +8 -8
  134. package/dist/{json-parser-2EOVP5MR.js → json-parser-34DHYCPW.js} +1 -18
  135. package/dist/json.d.ts +3 -4
  136. package/dist/json.js +2 -2
  137. package/dist/kanban-tool-types.d.ts +1 -2
  138. package/dist/kanban.d.ts +3 -19
  139. package/dist/kanban.js +1 -1
  140. package/dist/languages/execute-tool.d.ts +2 -3
  141. package/dist/languages/index.d.ts +2 -2
  142. package/dist/languages/index.js +6 -6
  143. package/dist/languages/tool.d.ts +3 -4
  144. package/dist/legacy-bridge-YXANP5QB.js +18 -0
  145. package/dist/lint.d.ts +5 -4
  146. package/dist/lint.js +8 -8
  147. package/dist/logs.d.ts +3 -4
  148. package/dist/logs.js +2 -2
  149. package/dist/memory.d.ts +7 -8
  150. package/dist/memory.js +1 -1
  151. package/dist/mode.d.ts +3 -4
  152. package/dist/mode.js +1 -1
  153. package/dist/next-steps-tool.d.ts +2 -3
  154. package/dist/next-steps.d.ts +11 -0
  155. package/dist/next-steps.js +10 -132
  156. package/dist/outdated.d.ts +5 -29
  157. package/dist/outdated.js +4 -4
  158. package/dist/pack.js +56 -56
  159. package/dist/{parser-dispatch-QGC4HSP5.js → parser-dispatch-BDVCJXTV.js} +4 -4
  160. package/dist/patch.d.ts +2 -3
  161. package/dist/patch.js +8 -8
  162. package/dist/plan.d.ts +4 -4
  163. package/dist/plan.js +3 -3
  164. package/dist/process-registry.js +2 -2
  165. package/dist/ps-slash.js +4 -4
  166. package/dist/pwsh.d.ts +1 -0
  167. package/dist/{py-parser-RFWG2HYI.js → py-parser-QC6MR4GB.js} +3 -3
  168. package/dist/read.d.ts +5 -5
  169. package/dist/read.js +8 -8
  170. package/dist/replace.d.ts +2 -3
  171. package/dist/replace.js +10 -10
  172. package/dist/scaffold.d.ts +7 -3
  173. package/dist/scaffold.js +3 -1
  174. package/dist/search.d.ts +17 -3
  175. package/dist/search.js +5 -1
  176. package/dist/set-working-dir.d.ts +2 -3
  177. package/dist/skill.d.ts +4 -5
  178. package/dist/skill.js +1 -1
  179. package/dist/task.d.ts +6 -6
  180. package/dist/task.js +3 -3
  181. package/dist/test.d.ts +5 -4
  182. package/dist/test.js +8 -8
  183. package/dist/todo.d.ts +8 -8
  184. package/dist/todo.js +2 -2
  185. package/dist/tool-diff.js +11 -230
  186. package/dist/tool-help.d.ts +2 -3
  187. package/dist/tool-help.js +1 -1
  188. package/dist/tool-search.d.ts +2 -3
  189. package/dist/tool-search.js +1 -1
  190. package/dist/tool-summary.js +5 -281
  191. package/dist/tool-tier.js +57 -57
  192. package/dist/tool-use.d.ts +2 -3
  193. package/dist/tool-use.js +1 -1
  194. package/dist/tree.d.ts +5 -3
  195. package/dist/tree.js +5 -1
  196. package/dist/typecheck.d.ts +3 -3
  197. package/dist/typecheck.js +8 -8
  198. package/dist/win32.js +1 -1
  199. package/dist/write.d.ts +2 -3
  200. package/dist/write.js +9 -9
  201. package/package.json +5 -5
  202. package/dist/legacy-bridge-3T7SR4SK.js +0 -18
  203. package/dist/spawn-background.d.ts +0 -80
@@ -1,284 +1,8 @@
1
- // src/tool-summary.ts
2
- var FALLBACK_HEAD_FIELDS = [
3
- "path",
4
- "file_path",
5
- "pattern",
6
- "symbol",
7
- "command",
8
- "cmd",
9
- "url",
10
- "query",
11
- "description",
12
- "content"
13
- ];
14
- function clip(s, n) {
15
- return s.length > n ? `${s.slice(0, n - 1)}\u2026` : s;
16
- }
17
- function pickPath(obj) {
18
- const p = obj.file_path ?? obj.path ?? obj.filepath;
19
- return typeof p === "string" ? p : "";
20
- }
21
- function safeJson(v) {
22
- try {
23
- return JSON.stringify(v);
24
- } catch {
25
- return String(v);
26
- }
27
- }
28
- function coerceInput(input) {
29
- if (typeof input === "string") {
30
- const s = input.trim();
31
- if (s.startsWith("{") || s.startsWith("[")) {
32
- try {
33
- const parsed = JSON.parse(s);
34
- if (parsed && typeof parsed === "object")
35
- return { obj: parsed, raw: parsed };
36
- } catch {
37
- }
38
- }
39
- return { obj: null, raw: input };
40
- }
41
- if (input && typeof input === "object")
42
- return { obj: input, raw: input };
43
- return { obj: null, raw: input };
44
- }
45
- function summarizeToolInput(toolName, input) {
46
- if (input === null || input === void 0 || input === "") return "";
47
- const { obj, raw } = coerceInput(input);
48
- if (!obj) return clip(String(raw), 120);
49
- const name = (toolName ?? "").toLowerCase();
50
- if (/^todo(_?write)?$|^todos$/.test(name) || Array.isArray(obj.todos)) {
51
- const todos = obj.todos ?? [];
52
- if (Array.isArray(todos)) {
53
- const done = todos.filter((t) => t?.status === "completed").length;
54
- const wip = todos.filter((t) => t?.status === "in_progress").length;
55
- const parts = [`${todos.length} todo${todos.length === 1 ? "" : "s"}`];
56
- if (done > 0) parts.push(`${done} done`);
57
- if (wip > 0) parts.push(`${wip} in-progress`);
58
- return parts.join(" \xB7 ");
59
- }
60
- }
61
- if (/batch|parallel/.test(name) || Array.isArray(obj.tool_uses) || Array.isArray(obj.calls)) {
62
- const list = obj.tool_uses ?? obj.calls ?? obj.batch;
63
- if (Array.isArray(list)) {
64
- const subNames = /* @__PURE__ */ new Set();
65
- for (const item of list) {
66
- if (item && typeof item === "object" && "name" in item) {
67
- subNames.add(String(item.name));
68
- } else if (item && typeof item === "object" && "tool" in item) {
69
- subNames.add(String(item.tool));
70
- }
71
- }
72
- const preview = [...subNames].slice(0, 3).join(", ");
73
- const more = subNames.size > 3 ? ` +${subNames.size - 3}` : "";
74
- return `${list.length} sub-tool${list.length === 1 ? "" : "s"}${preview ? ` \xB7 ${preview}${more}` : ""}`;
75
- }
76
- }
77
- if (name === "patch" && typeof obj.patch === "string" && obj.patch) {
78
- const fileCount = (obj.patch.match(/^\+\+\+ /gm) ?? []).length;
79
- if (fileCount > 0) return `patch \xB7 ${fileCount} file${fileCount === 1 ? "" : "s"}`;
80
- return `patch \xB7 ${obj.patch.split("\n").length} lines`;
81
- }
82
- if (/^(edit|str_replace|edit_file|patch)$/.test(name)) {
83
- const fp = pickPath(obj);
84
- const oldS = typeof obj.old_string === "string" ? obj.old_string : "";
85
- const newS = typeof obj.new_string === "string" ? obj.new_string : "";
86
- const oldLines = oldS ? oldS.split("\n").length : 0;
87
- const newLines = newS ? newS.split("\n").length : 0;
88
- return `edit ${fp || "(file)"}${oldLines || newLines ? ` (${oldLines} \u2192 ${newLines} lines)` : ""}`;
89
- }
90
- if (/^(write|write_file|create_file|new_file)$/.test(name)) {
91
- const fp = pickPath(obj);
92
- const c = typeof obj.content === "string" ? obj.content : "";
93
- const lines = c ? c.split("\n").length : 0;
94
- return `write ${fp || "(file)"}${lines ? ` \xB7 ${lines} lines` : ""}`;
95
- }
96
- if (/^(bash|shell|sh|exec|run|run_command|run_shell|command)$/.test(name)) {
97
- const cmd = obj.command ?? obj.cmd ?? obj.script;
98
- if (typeof cmd === "string") return `$ ${clip(cmd, 110)}`;
99
- }
100
- if (/^(fetch|http|web|web_fetch|web_search|webfetch|curl|request)$/.test(name)) {
101
- const url = obj.url;
102
- if (typeof url === "string") {
103
- const method = obj.method ?? "GET";
104
- return `${method.toUpperCase()} ${clip(url, 100)}`;
105
- }
106
- }
107
- if (/^(grep|search|ripgrep|rg)$/.test(name)) {
108
- const pattern = obj.pattern;
109
- const scope = obj.path ?? obj.glob ?? obj.type;
110
- if (typeof pattern === "string") {
111
- return scope ? `grep ${clip(pattern, 60)} in ${scope}` : `grep ${clip(pattern, 100)}`;
112
- }
113
- }
114
- if (/^(glob|find)$/.test(name)) {
115
- const p = obj.pattern ?? obj.glob;
116
- if (typeof p === "string") return `glob ${clip(p, 80)}`;
117
- }
118
- if (/^tree$/.test(name)) {
119
- const p = typeof obj.path === "string" ? obj.path : "";
120
- const d = typeof obj.depth === "number" ? obj.depth : null;
121
- return `tree ${p || "."}${d !== null ? ` (depth ${d})` : ""}`;
122
- }
123
- if (/^diff$/.test(name)) {
124
- const a = typeof obj.a === "string" ? obj.a : "";
125
- const b = typeof obj.b === "string" ? obj.b : "";
126
- if (a || b) return `diff ${a && b ? `${a}..${b}` : a || b}`;
127
- const fl = [];
128
- if (Array.isArray(obj.files)) {
129
- for (const f of obj.files) if (typeof f === "string") fl.push(f);
130
- } else if (typeof obj.files === "string") {
131
- for (const part of obj.files.split(",")) {
132
- const t = part.trim();
133
- if (t) fl.push(t);
134
- }
135
- }
136
- if (fl.length === 1) return `diff ${clip(String(fl[0]), 80)}`;
137
- if (fl.length > 1) return `diff ${fl.length} files`;
138
- }
139
- if (/^replace$/.test(name)) {
140
- const pattern = typeof obj.pattern === "string" ? obj.pattern : "";
141
- if (pattern) {
142
- let scope = "";
143
- if (typeof obj.files === "string") {
144
- const parts = obj.files.split(",").map((s) => s.trim()).filter(Boolean);
145
- scope = parts.length > 1 ? `${parts.length} files` : parts[0] ?? "";
146
- } else if (Array.isArray(obj.files) && obj.files.length > 0) {
147
- scope = obj.files.length === 1 ? String(obj.files[0]) : `${obj.files.length} files`;
148
- }
149
- return `replace ${clip(pattern, 60)}${scope ? ` in ${clip(scope, 50)}` : ""}`;
150
- }
151
- }
152
- if (/^(read|read_file|cat|view)$/.test(name)) {
153
- const fp = pickPath(obj);
154
- const offset = obj.offset;
155
- const limit = obj.limit;
156
- if (fp && (typeof offset === "number" || typeof limit === "number")) {
157
- const start = offset ?? 0;
158
- const end = typeof limit === "number" ? start + limit : "";
159
- return `read ${fp} (${start}\u2026${end})`;
160
- }
161
- if (fp) return `read ${fp}`;
162
- }
163
- for (const k of FALLBACK_HEAD_FIELDS) {
164
- const v = obj[k];
165
- if (typeof v === "string" && v.length > 0) {
166
- return `${k}: ${clip(v, 100)}`;
167
- }
168
- }
169
- return clip(safeJson(raw), 120);
170
- }
171
- var SUMMARIZE_TOOL_INPUT_BROWSER_SRC = [
172
- 'function __clip(s,n){ s=String(s==null?"":s); return s.length>n ? s.slice(0,n-1)+"\\u2026" : s; }',
173
- "function toolInputSummary(name, rawInput){",
174
- ' if(rawInput==null || rawInput==="") return "";',
175
- " var obj=null, raw=rawInput;",
176
- ' if(typeof rawInput==="string"){',
177
- " var s=rawInput.trim();",
178
- ' if(s.charAt(0)==="{" || s.charAt(0)==="["){ try{ var pj=JSON.parse(s); if(pj && typeof pj==="object"){ obj=pj; raw=pj; } }catch(_e){} }',
179
- ' } else if(rawInput && typeof rawInput==="object"){ obj=rawInput; raw=rawInput; }',
180
- " if(!obj) return __clip(String(raw),120);",
181
- ' var n=String(name==null?"":name).toLowerCase();',
182
- " if(/^todo(_?write)?$|^todos$/.test(n) || Array.isArray(obj.todos)){",
183
- " var todos=obj.todos||[];",
184
- " if(Array.isArray(todos)){",
185
- " var done=0, wip=0, ti;",
186
- ' for(ti=0; ti<todos.length; ti++){ var st=todos[ti]&&todos[ti].status; if(st==="completed") done++; else if(st==="in_progress") wip++; }',
187
- ' var tp=[todos.length+" todo"+(todos.length===1?"":"s")];',
188
- ' if(done>0) tp.push(done+" done"); if(wip>0) tp.push(wip+" in-progress");',
189
- ' return tp.join(" \\u00b7 ");',
190
- " }",
191
- " }",
192
- " if(/batch|parallel/.test(n) || Array.isArray(obj.tool_uses) || Array.isArray(obj.calls)){",
193
- " var list=obj.tool_uses||obj.calls||obj.batch;",
194
- " if(Array.isArray(list)){",
195
- " var names={}, ord=[], li, it, nm;",
196
- ' for(li=0; li<list.length; li++){ it=list[li]; if(it && typeof it==="object"){ nm=("name" in it)?it.name:(("tool" in it)?it.tool:null); if(nm!=null){ nm=String(nm); if(!names[nm]){ names[nm]=1; ord.push(nm); } } } }',
197
- ' var preview=ord.slice(0,3).join(", ");',
198
- ' var more=ord.length>3 ? " +"+(ord.length-3) : "";',
199
- ' return list.length+" sub-tool"+(list.length===1?"":"s")+(preview?(" \\u00b7 "+preview+more):"");',
200
- " }",
201
- " }",
202
- " var fp;",
203
- ' if(n==="patch" && typeof obj.patch==="string" && obj.patch){',
204
- " var pfm=obj.patch.match(/^\\+\\+\\+ /gm);",
205
- " var pfc=pfm?pfm.length:0;",
206
- ' if(pfc>0) return "patch \\u00b7 "+pfc+" file"+(pfc===1?"":"s");',
207
- ' return "patch \\u00b7 "+obj.patch.split("\\n").length+" lines";',
208
- " }",
209
- " if(/^(edit|str_replace|edit_file|patch)$/.test(n)){",
210
- " fp=(obj.file_path!=null?obj.file_path:(obj.path!=null?obj.path:obj.filepath));",
211
- ' var oldS=typeof obj.old_string==="string"?obj.old_string:"";',
212
- ' var newS=typeof obj.new_string==="string"?obj.new_string:"";',
213
- ' var ol=oldS?oldS.split("\\n").length:0, nl=newS?newS.split("\\n").length:0;',
214
- ' var efp=typeof fp==="string"?fp:"";',
215
- ' return "edit "+(efp||"(file)")+((ol||nl)?(" ("+ol+" \\u2192 "+nl+" lines)"):"");',
216
- " }",
217
- " if(/^(write|write_file|create_file|new_file)$/.test(n)){",
218
- " fp=(obj.file_path!=null?obj.file_path:(obj.path!=null?obj.path:obj.filepath));",
219
- ' var wc=typeof obj.content==="string"?obj.content:"";',
220
- ' var wl=wc?wc.split("\\n").length:0;',
221
- ' var wfp=typeof fp==="string"?fp:"";',
222
- ' return "write "+(wfp||"(file)")+(wl?(" \\u00b7 "+wl+" lines"):"");',
223
- " }",
224
- " if(/^(bash|shell|sh|exec|run|run_command|run_shell|command)$/.test(n)){",
225
- " var cmd=(obj.command!=null?obj.command:(obj.cmd!=null?obj.cmd:obj.script));",
226
- ' if(typeof cmd==="string") return "$ "+__clip(cmd,110);',
227
- " }",
228
- " if(/^(fetch|http|web|web_fetch|web_search|webfetch|curl|request)$/.test(n)){",
229
- ' if(typeof obj.url==="string"){ var mth=(typeof obj.method==="string"?obj.method:"GET"); return mth.toUpperCase()+" "+__clip(obj.url,100); }',
230
- " }",
231
- " if(/^(grep|search|ripgrep|rg)$/.test(n)){",
232
- " var pat=obj.pattern, scope=(obj.path!=null?obj.path:(obj.glob!=null?obj.glob:obj.type));",
233
- ' if(typeof pat==="string"){ return scope ? ("grep "+__clip(pat,60)+" in "+scope) : ("grep "+__clip(pat,100)); }',
234
- " }",
235
- " if(/^(glob|find)$/.test(n)){",
236
- " var gp=(obj.pattern!=null?obj.pattern:obj.glob);",
237
- ' if(typeof gp==="string") return "glob "+__clip(gp,80);',
238
- " }",
239
- " if(/^tree$/.test(n)){",
240
- ' var trp=typeof obj.path==="string"?obj.path:"";',
241
- ' var trd=typeof obj.depth==="number"?obj.depth:null;',
242
- ' return "tree "+(trp||".")+(trd!==null?(" (depth "+trd+")"):"");',
243
- " }",
244
- " if(/^diff$/.test(n)){",
245
- ' var da=typeof obj.a==="string"?obj.a:"", db=typeof obj.b==="string"?obj.b:"";',
246
- ' if(da||db) return "diff "+((da&&db)?(da+".."+db):(da||db));',
247
- " var dfl=[], dfi, dpi;",
248
- ' if(Array.isArray(obj.files)){ for(dfi=0; dfi<obj.files.length; dfi++){ if(typeof obj.files[dfi]==="string") dfl.push(obj.files[dfi]); } }',
249
- ' else if(typeof obj.files==="string"){ var dparts=obj.files.split(","); for(dpi=0; dpi<dparts.length; dpi++){ var dt=dparts[dpi].trim(); if(dt) dfl.push(dt); } }',
250
- ' if(dfl.length===1) return "diff "+__clip(String(dfl[0]),80);',
251
- ' if(dfl.length>1) return "diff "+dfl.length+" files";',
252
- " }",
253
- " if(/^replace$/.test(n)){",
254
- ' var rpat=typeof obj.pattern==="string"?obj.pattern:"";',
255
- " if(rpat){",
256
- ' var rscope="";',
257
- ' if(typeof obj.files==="string"){',
258
- " var rparts=[], rsi;",
259
- ' var rraw=obj.files.split(",");',
260
- " for(rsi=0; rsi<rraw.length; rsi++){ var rt=rraw[rsi].trim(); if(rt) rparts.push(rt); }",
261
- ' rscope=rparts.length>1?(rparts.length+" files"):(rparts.length===1?rparts[0]:"");',
262
- " } else if(Array.isArray(obj.files) && obj.files.length>0){",
263
- ' rscope=obj.files.length===1?String(obj.files[0]):(obj.files.length+" files");',
264
- " }",
265
- ' return "replace "+__clip(rpat,60)+(rscope?(" in "+__clip(rscope,50)):"");',
266
- " }",
267
- " }",
268
- " if(/^(read|read_file|cat|view)$/.test(n)){",
269
- " fp=(obj.file_path!=null?obj.file_path:(obj.path!=null?obj.path:obj.filepath));",
270
- ' if(typeof fp==="string" && fp){',
271
- " var off=obj.offset, lim=obj.limit;",
272
- ' if(typeof off==="number" || typeof lim==="number"){ var start=(typeof off==="number"?off:0); var end=(typeof lim==="number"?(start+lim):""); return "read "+fp+" ("+start+"\\u2026"+end+")"; }',
273
- ' return "read "+fp;',
274
- " }",
275
- " }",
276
- ' var HEAD=["path","file_path","pattern","symbol","command","cmd","url","query","description","content"], hi;',
277
- ' for(hi=0; hi<HEAD.length; hi++){ var hv=obj[HEAD[hi]]; if(typeof hv==="string" && hv.length>0){ return HEAD[hi]+": "+__clip(hv,100); } }',
278
- " var jsonStr; try{ jsonStr=JSON.stringify(raw); }catch(_e2){ jsonStr=String(raw); }",
279
- " return __clip(jsonStr,120);",
280
- "}"
281
- ].join("\n");
1
+ import {
2
+ FALLBACK_HEAD_FIELDS,
3
+ SUMMARIZE_TOOL_INPUT_BROWSER_SRC,
4
+ summarizeToolInput
5
+ } from "./chunk-S57CDR2H.js";
282
6
  export {
283
7
  FALLBACK_HEAD_FIELDS,
284
8
  SUMMARIZE_TOOL_INPUT_BROWSER_SRC,
package/dist/tool-tier.js CHANGED
@@ -2,70 +2,70 @@ import {
2
2
  BUILTIN_TIER_COUNTS,
3
3
  registerBuiltinToolTier,
4
4
  selectBuiltinToolsForTier
5
- } from "./chunk-GMZYW52L.js";
6
- import "./chunk-DC4KMPJO.js";
7
- import "./chunk-OTINMOKK.js";
8
- import "./chunk-VPALDFYM.js";
9
- import "./chunk-RTZWBNTY.js";
5
+ } from "./chunk-YULVUTK5.js";
6
+ import "./chunk-M6UV67BH.js";
7
+ import "./chunk-AB2CAUOP.js";
8
+ import "./chunk-RV7BVTDG.js";
9
+ import "./chunk-YEISRT4S.js";
10
10
  import "./chunk-XRNN44QY.js";
11
- import "./chunk-B4HTSV6Z.js";
12
- import "./chunk-3M7LLN7W.js";
13
- import "./chunk-RJZQWEMS.js";
14
- import "./chunk-FRN7TIAA.js";
15
- import "./chunk-WXJY3BKV.js";
16
- import "./chunk-QBV725YG.js";
17
- import "./chunk-ELRRTWNP.js";
18
- import "./chunk-UQQS3VNT.js";
19
- import "./chunk-RLMX75EM.js";
20
- import "./chunk-64VIJPFV.js";
21
- import "./chunk-IYKXK356.js";
22
- import "./chunk-FQNXYA6W.js";
23
- import "./chunk-IU4DV2PA.js";
24
- import "./chunk-2OXHS3KZ.js";
25
- import "./chunk-6AAOT4PW.js";
26
- import "./chunk-IWS56OY7.js";
27
- import "./chunk-VD2LV5WO.js";
28
- import "./chunk-OG2BEUBY.js";
29
- import "./chunk-MNP3GE7H.js";
30
- import "./chunk-LOBRWKCR.js";
31
- import "./chunk-EADULOZV.js";
32
- import "./chunk-5EUJF3WC.js";
33
- import "./chunk-ATSKPZUK.js";
34
- import "./chunk-TTZOK6IY.js";
35
- import "./chunk-ZHH3BEWU.js";
36
- import "./chunk-X5FOFGXX.js";
37
- import "./chunk-JDPQOR7C.js";
38
- import "./chunk-YOKD4GWJ.js";
39
- import "./chunk-Q5JPPCZC.js";
40
- import "./chunk-NWZ6XGBJ.js";
41
- import "./chunk-AKHYMB4V.js";
42
- import "./chunk-BSJSNVGA.js";
11
+ import "./chunk-5KS24LTS.js";
12
+ import "./chunk-LQSOU63Z.js";
13
+ import "./chunk-24T5XIJU.js";
14
+ import "./chunk-B3MGJBFI.js";
15
+ import "./chunk-VBF2YXUW.js";
16
+ import "./chunk-7ODZTPCU.js";
17
+ import "./chunk-IXIS7RSG.js";
18
+ import "./chunk-QA6IASYX.js";
19
+ import "./chunk-O6BY43ZB.js";
20
+ import "./chunk-WEEVSWQB.js";
21
+ import "./chunk-6GOZTS6F.js";
22
+ import "./chunk-VU3QBYL4.js";
23
+ import "./chunk-CHEK3ASV.js";
24
+ import "./chunk-KLJZ4WV4.js";
25
+ import "./chunk-AQ5YBURX.js";
26
+ import "./chunk-CGXTR34H.js";
27
+ import "./chunk-VZGPASGD.js";
28
+ import "./chunk-7HL23T3T.js";
29
+ import "./chunk-JDOO4P6Z.js";
30
+ import "./chunk-3D5DJWOE.js";
31
+ import "./chunk-NJX2RXKJ.js";
32
+ import "./chunk-4WPBS45A.js";
33
+ import "./chunk-T3SMFF5Q.js";
34
+ import "./chunk-7N5U2RAU.js";
35
+ import "./chunk-DRRY6SCM.js";
36
+ import "./chunk-IYH4OHBP.js";
37
+ import "./chunk-ASEXQRA7.js";
38
+ import "./chunk-4ERMPDHV.js";
39
+ import "./chunk-YJTXRH5Y.js";
40
+ import "./chunk-ZBMANLYH.js";
41
+ import "./chunk-NN2SNP2R.js";
42
+ import "./chunk-KDEXUQY7.js";
43
43
  import "./chunk-BTSFTGIL.js";
44
- import "./chunk-NKNOBUBU.js";
45
- import "./chunk-2VSZC6QM.js";
46
- import "./chunk-3PVYQFRQ.js";
47
- import "./chunk-HFXSNKCV.js";
48
- import "./chunk-C2DQKVLO.js";
49
- import "./chunk-QPNYDH5B.js";
44
+ import "./chunk-PVCB7RUZ.js";
45
+ import "./chunk-SCMRM6NL.js";
46
+ import "./chunk-HDYUBRMF.js";
47
+ import "./chunk-7JJFC6CT.js";
48
+ import "./chunk-MJSJWXBF.js";
49
+ import "./chunk-62OAECEQ.js";
50
50
  import "./chunk-NBDZMMG2.js";
51
- import "./chunk-BK732J7I.js";
52
- import "./chunk-W2CECGTG.js";
51
+ import "./chunk-FBUP524S.js";
52
+ import "./chunk-SMARDKAC.js";
53
53
  import "./chunk-X6KXNHUO.js";
54
- import "./chunk-45JPRMC2.js";
55
- import "./chunk-RNWUCZ2U.js";
56
- import "./chunk-O44IMQCN.js";
57
- import "./chunk-CFLJFDYV.js";
58
- import "./chunk-FQZOHLG3.js";
59
- import "./chunk-DP6CXMJZ.js";
60
- import "./chunk-UDVKRX5R.js";
61
- import "./chunk-KY4PXYSO.js";
62
- import "./chunk-CMOUCKGC.js";
63
- import "./chunk-IIF5HIVF.js";
54
+ import "./chunk-SOR7OCYP.js";
55
+ import "./chunk-MK2JK35J.js";
56
+ import "./chunk-GKSG5CPH.js";
57
+ import "./chunk-DK4J2WMH.js";
58
+ import "./chunk-MSOAX3GC.js";
59
+ import "./chunk-ZTCJCYLN.js";
60
+ import "./chunk-GDDXX27P.js";
61
+ import "./chunk-N3K2SFEI.js";
62
+ import "./chunk-NU2IZ72J.js";
63
+ import "./chunk-VVZPQPTY.js";
64
64
  import "./chunk-6IEBD27U.js";
65
65
  import "./chunk-UCYQTZ7F.js";
66
66
  import "./chunk-YOHO4DVT.js";
67
- import "./chunk-DTQ75VBC.js";
68
- import "./chunk-V43EQ6VR.js";
67
+ import "./chunk-2CTZW6JQ.js";
68
+ import "./chunk-KE7A76VC.js";
69
69
  import "./chunk-ZUFHAHTE.js";
70
70
  export {
71
71
  BUILTIN_TIER_COUNTS,
@@ -1,9 +1,9 @@
1
1
  import { type Tool } from '@wrongstack/core/types';
2
- interface ToolUseInput {
2
+ export interface ToolUseInput {
3
3
  tool: string;
4
4
  input: Record<string, unknown>;
5
5
  }
6
- interface ToolUseOutput {
6
+ export interface ToolUseOutput {
7
7
  tool: string;
8
8
  success: boolean;
9
9
  result?: unknown | undefined;
@@ -11,5 +11,4 @@ interface ToolUseOutput {
11
11
  executionMs: number;
12
12
  }
13
13
  export declare const toolUseTool: Tool<ToolUseInput, ToolUseOutput>;
14
- export {};
15
14
  //# sourceMappingURL=tool-use.d.ts.map
package/dist/tool-use.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  toolUseTool
3
- } from "./chunk-FRN7TIAA.js";
3
+ } from "./chunk-B3MGJBFI.js";
4
4
  export {
5
5
  toolUseTool
6
6
  };
package/dist/tree.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
- interface TreeInput {
2
+ export declare const DEFAULT_MAX_TREE_ENTRIES = 5000;
3
+ export declare const MAX_TREE_OUTPUT_BYTES: number;
4
+ export interface TreeInput {
3
5
  path?: string | undefined;
4
6
  depth?: number | undefined;
5
7
  glob?: string | undefined;
@@ -9,13 +11,13 @@ interface TreeInput {
9
11
  show_hidden?: boolean | undefined;
10
12
  max_entries?: number | undefined;
11
13
  }
12
- interface TreeOutput {
14
+ export interface TreeOutput {
13
15
  tree: string;
14
16
  total_files: number;
15
17
  total_dirs: number;
16
18
  truncated: boolean;
17
19
  path: string;
18
20
  }
21
+ export type TreeContext = Parameters<Tool<TreeInput, TreeOutput>['execute']>[1];
19
22
  export declare const treeTool: Tool<TreeInput, TreeOutput>;
20
- export {};
21
23
  //# sourceMappingURL=tree.d.ts.map
package/dist/tree.js CHANGED
@@ -1,8 +1,12 @@
1
1
  import {
2
+ DEFAULT_MAX_TREE_ENTRIES,
3
+ MAX_TREE_OUTPUT_BYTES,
2
4
  treeTool
3
- } from "./chunk-MNP3GE7H.js";
5
+ } from "./chunk-JDOO4P6Z.js";
4
6
  import "./chunk-ZUFHAHTE.js";
5
7
  export {
8
+ DEFAULT_MAX_TREE_ENTRIES,
9
+ MAX_TREE_OUTPUT_BYTES,
6
10
  treeTool
7
11
  };
8
12
  //# sourceMappingURL=tree.js.map
@@ -1,11 +1,11 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
- interface TypecheckInput {
2
+ export interface TypecheckInput {
3
3
  project?: string | undefined;
4
4
  cwd?: string | undefined;
5
5
  strict?: boolean | undefined;
6
6
  all?: boolean | undefined;
7
7
  }
8
- interface TypecheckOutput {
8
+ export interface TypecheckOutput {
9
9
  project: string;
10
10
  exit_code: number;
11
11
  errors: number;
@@ -13,6 +13,6 @@ interface TypecheckOutput {
13
13
  output: string;
14
14
  truncated: boolean;
15
15
  }
16
+ export type TypecheckContext = Parameters<Tool<TypecheckInput, TypecheckOutput>['execute']>[1];
16
17
  export declare const typecheckTool: Tool<TypecheckInput, TypecheckOutput>;
17
- export {};
18
18
  //# sourceMappingURL=typecheck.d.ts.map
package/dist/typecheck.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  typecheckTool
3
- } from "./chunk-5EUJF3WC.js";
4
- import "./chunk-ATSKPZUK.js";
5
- import "./chunk-TTZOK6IY.js";
6
- import "./chunk-ZHH3BEWU.js";
7
- import "./chunk-2VSZC6QM.js";
8
- import "./chunk-3PVYQFRQ.js";
9
- import "./chunk-HFXSNKCV.js";
10
- import "./chunk-V43EQ6VR.js";
3
+ } from "./chunk-4WPBS45A.js";
4
+ import "./chunk-T3SMFF5Q.js";
5
+ import "./chunk-7N5U2RAU.js";
6
+ import "./chunk-DRRY6SCM.js";
7
+ import "./chunk-SCMRM6NL.js";
8
+ import "./chunk-HDYUBRMF.js";
9
+ import "./chunk-7JJFC6CT.js";
10
+ import "./chunk-KE7A76VC.js";
11
11
  import "./chunk-ZUFHAHTE.js";
12
12
  export {
13
13
  typecheckTool
package/dist/win32.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  buildWin32CmdShimInvocation,
4
4
  resolvePowerShell,
5
5
  resolveWin32Command
6
- } from "./chunk-V43EQ6VR.js";
6
+ } from "./chunk-KE7A76VC.js";
7
7
  export {
8
8
  assertSafeWin32ShellArgs,
9
9
  buildWin32CmdShimInvocation,
package/dist/write.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
- interface WriteInput {
2
+ export interface WriteInput {
3
3
  path: string;
4
4
  content: string;
5
5
  }
6
- interface WriteOutput {
6
+ export interface WriteOutput {
7
7
  path: string;
8
8
  bytes_written: number;
9
9
  created: boolean;
@@ -16,5 +16,4 @@ interface WriteOutput {
16
16
  note?: string | undefined;
17
17
  }
18
18
  export declare const writeTool: Tool<WriteInput, WriteOutput>;
19
- export {};
20
19
  //# sourceMappingURL=write.d.ts.map
package/dist/write.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  writeTool
3
- } from "./chunk-O44IMQCN.js";
4
- import "./chunk-FQZOHLG3.js";
5
- import "./chunk-DP6CXMJZ.js";
6
- import "./chunk-UDVKRX5R.js";
7
- import "./chunk-KY4PXYSO.js";
8
- import "./chunk-CMOUCKGC.js";
9
- import "./chunk-IIF5HIVF.js";
3
+ } from "./chunk-GKSG5CPH.js";
4
+ import "./chunk-MSOAX3GC.js";
5
+ import "./chunk-ZTCJCYLN.js";
6
+ import "./chunk-GDDXX27P.js";
7
+ import "./chunk-N3K2SFEI.js";
8
+ import "./chunk-NU2IZ72J.js";
9
+ import "./chunk-VVZPQPTY.js";
10
10
  import "./chunk-6IEBD27U.js";
11
11
  import "./chunk-UCYQTZ7F.js";
12
12
  import "./chunk-YOHO4DVT.js";
13
- import "./chunk-DTQ75VBC.js";
14
- import "./chunk-V43EQ6VR.js";
13
+ import "./chunk-2CTZW6JQ.js";
14
+ import "./chunk-KE7A76VC.js";
15
15
  import "./chunk-ZUFHAHTE.js";
16
16
  export {
17
17
  writeTool
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/tools",
3
- "version": "0.319.1",
3
+ "version": "1.0.0",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack built-in tools: read/write/edit, bash/exec, grep/glob, git, fetch, test, lint, and more.",
6
6
  "repository": {
@@ -249,10 +249,10 @@
249
249
  "@msgpack/msgpack": "^3.1.3",
250
250
  "@playwright/test": "^1.62.1",
251
251
  "@typescript/typescript6": "^6.0.2",
252
- "@wrongstack/core": "0.319.1",
253
- "@wrongstack/kanban": "0.319.1",
254
- "@wrongstack/persistence": "0.319.1",
255
- "@wrongstack/primitives": "0.319.1",
252
+ "@wrongstack/core": "1.0.0",
253
+ "@wrongstack/kanban": "1.0.0",
254
+ "@wrongstack/persistence": "1.0.0",
255
+ "@wrongstack/primitives": "1.0.0",
256
256
  "tree-sitter-wasm": "1.1.4",
257
257
  "turndown": "^7.2.4",
258
258
  "undici": "^8.10.0",
@@ -1,18 +0,0 @@
1
- import {
2
- detectNonJsEcosystem,
3
- tryLegacyCodeOperation,
4
- tryLegacyPackageOperation
5
- } from "./chunk-ATSKPZUK.js";
6
- import "./chunk-TTZOK6IY.js";
7
- import "./chunk-ZHH3BEWU.js";
8
- import "./chunk-2VSZC6QM.js";
9
- import "./chunk-3PVYQFRQ.js";
10
- import "./chunk-HFXSNKCV.js";
11
- import "./chunk-V43EQ6VR.js";
12
- import "./chunk-ZUFHAHTE.js";
13
- export {
14
- detectNonJsEcosystem,
15
- tryLegacyCodeOperation,
16
- tryLegacyPackageOperation
17
- };
18
- //# sourceMappingURL=legacy-bridge-3T7SR4SK.js.map