@wrongstack/tools 0.316.1 → 0.317.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/dist/builtin.js CHANGED
@@ -5,9 +5,9 @@ import {
5
5
  TIER2_TOOLS,
6
6
  TIER3_TOOLS,
7
7
  builtinTools
8
- } from "./chunk-VXECAJJ7.js";
8
+ } from "./chunk-DSEANA2W.js";
9
9
  import "./chunk-JRJJX3L5.js";
10
- import "./chunk-L25CVUVR.js";
10
+ import "./chunk-JQRIR762.js";
11
11
  import "./chunk-EEOFQDT6.js";
12
12
  import "./chunk-NKJW5GFO.js";
13
13
  import "./chunk-DR7JOQTC.js";
@@ -24,7 +24,7 @@ import "./chunk-RGISBZBD.js";
24
24
  import "./chunk-EMRGN4KM.js";
25
25
  import "./chunk-AHHDWNXC.js";
26
26
  import "./chunk-RXISBFR5.js";
27
- import "./chunk-QZQSPUBF.js";
27
+ import "./chunk-5OAOKALG.js";
28
28
  import "./chunk-VB3MJGCV.js";
29
29
  import "./chunk-UKU2ZX4C.js";
30
30
  import "./chunk-J5SKD6LN.js";
@@ -34,7 +34,7 @@ import "./chunk-EJWSCQ6D.js";
34
34
  import "./chunk-PQKK5JH7.js";
35
35
  import "./chunk-OUBDL3WH.js";
36
36
  import "./chunk-22B7GE5T.js";
37
- import "./chunk-MZZN7VCD.js";
37
+ import "./chunk-HPEO4EA7.js";
38
38
  import "./chunk-UNSKG6DC.js";
39
39
  import "./chunk-553IQUMO.js";
40
40
  import "./chunk-Q5JPPCZC.js";
@@ -53,13 +53,13 @@ import "./chunk-7EY5DCRO.js";
53
53
  import "./chunk-JNNVRHMV.js";
54
54
  import "./chunk-PY2IOS7C.js";
55
55
  import "./chunk-K3WNSHUF.js";
56
- import "./chunk-JOHXDF3D.js";
57
- import "./chunk-VFKPWSOX.js";
58
- import "./chunk-ZJQ4IGXK.js";
56
+ import "./chunk-YGG6X57C.js";
57
+ import "./chunk-P7FYFZ6M.js";
58
+ import "./chunk-U6DZWHBA.js";
59
59
  import "./chunk-FQZOHLG3.js";
60
- import "./chunk-HYX2TZ7O.js";
61
- import "./chunk-4UESMQDP.js";
62
- import "./chunk-DA4KNE2H.js";
60
+ import "./chunk-QDQY7NQ2.js";
61
+ import "./chunk-VGBUDLW4.js";
62
+ import "./chunk-TRDX25UH.js";
63
63
  import "./chunk-IYK7XGDZ.js";
64
64
  import "./chunk-ZLTFLC25.js";
65
65
  import "./chunk-A6BRWIXN.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  enqueueReindex
3
- } from "./chunk-HYX2TZ7O.js";
3
+ } from "./chunk-QDQY7NQ2.js";
4
4
  import {
5
5
  resolveRealInsideRoot,
6
6
  safeResolveReal,
@@ -312,4 +312,4 @@ function extractPatchedFiles(output) {
312
312
  export {
313
313
  patchTool
314
314
  };
315
- //# sourceMappingURL=chunk-QZQSPUBF.js.map
315
+ //# sourceMappingURL=chunk-5OAOKALG.js.map
@@ -14,7 +14,7 @@ import {
14
14
  codebaseStatsTool,
15
15
  codebaseTargetedTestTool,
16
16
  deadCodeScanTool
17
- } from "./chunk-L25CVUVR.js";
17
+ } from "./chunk-JQRIR762.js";
18
18
  import {
19
19
  planTool
20
20
  } from "./chunk-NKJW5GFO.js";
@@ -62,7 +62,7 @@ import {
62
62
  } from "./chunk-RXISBFR5.js";
63
63
  import {
64
64
  patchTool
65
- } from "./chunk-QZQSPUBF.js";
65
+ } from "./chunk-5OAOKALG.js";
66
66
  import {
67
67
  jsonTool
68
68
  } from "./chunk-VB3MJGCV.js";
@@ -88,7 +88,7 @@ import {
88
88
  } from "./chunk-OUBDL3WH.js";
89
89
  import {
90
90
  replaceTool
91
- } from "./chunk-MZZN7VCD.js";
91
+ } from "./chunk-HPEO4EA7.js";
92
92
  import {
93
93
  globTool
94
94
  } from "./chunk-UNSKG6DC.js";
@@ -133,13 +133,13 @@ import {
133
133
  } from "./chunk-K3WNSHUF.js";
134
134
  import {
135
135
  readTool
136
- } from "./chunk-JOHXDF3D.js";
136
+ } from "./chunk-YGG6X57C.js";
137
137
  import {
138
138
  writeTool
139
- } from "./chunk-VFKPWSOX.js";
139
+ } from "./chunk-P7FYFZ6M.js";
140
140
  import {
141
141
  editTool
142
- } from "./chunk-ZJQ4IGXK.js";
142
+ } from "./chunk-U6DZWHBA.js";
143
143
  import {
144
144
  resolvePowerShell
145
145
  } from "./chunk-V43EQ6VR.js";
@@ -1088,4 +1088,4 @@ export {
1088
1088
  TIER3_TOOLS,
1089
1089
  builtinTools
1090
1090
  };
1091
- //# sourceMappingURL=chunk-VXECAJJ7.js.map
1091
+ //# sourceMappingURL=chunk-DSEANA2W.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-Q5JPPCZC.js";
4
4
  import {
5
5
  enqueueReindex
6
- } from "./chunk-HYX2TZ7O.js";
6
+ } from "./chunk-QDQY7NQ2.js";
7
7
  import {
8
8
  isBinaryBuffer,
9
9
  safeResolveReal,
@@ -356,4 +356,4 @@ export {
356
356
  replaceTool,
357
357
  __resetRgDetectionForTests
358
358
  };
359
- //# sourceMappingURL=chunk-MZZN7VCD.js.map
359
+ //# sourceMappingURL=chunk-HPEO4EA7.js.map
@@ -13,7 +13,7 @@ import {
13
13
  outgoingCallsService,
14
14
  runStartupIndex,
15
15
  searchCodebaseIndex
16
- } from "./chunk-HYX2TZ7O.js";
16
+ } from "./chunk-QDQY7NQ2.js";
17
17
  import {
18
18
  IndexTimeoutError,
19
19
  SCHEMA_VERSION,
@@ -21,7 +21,7 @@ import {
21
21
  indexCircuitBreaker,
22
22
  indexStorePool,
23
23
  resolveIndexDir
24
- } from "./chunk-DA4KNE2H.js";
24
+ } from "./chunk-TRDX25UH.js";
25
25
  import {
26
26
  EXT_TO_LANG,
27
27
  detectLang,
@@ -1648,7 +1648,7 @@ async function extractTreeSitterSkeleton(content, lang, opts) {
1648
1648
  const nodeEnd = node.endPosition.row + 1;
1649
1649
  let bodyStart;
1650
1650
  let bodyEnd;
1651
- let bodyNode = node.childForFieldName("body") ?? node.children.find(
1651
+ const bodyNode = node.childForFieldName("body") ?? node.children.find(
1652
1652
  (c) => [
1653
1653
  "compound_statement",
1654
1654
  "statement_block",
@@ -1685,8 +1685,8 @@ async function extractTreeSitterSkeleton(content, lang, opts) {
1685
1685
  });
1686
1686
  }
1687
1687
  }
1688
- let nameNode = node.childForFieldName("name") ?? node.childForFieldName("declarator");
1689
- let symbolName = nameNode ? nameNode.text : void 0;
1688
+ const nameNode = node.childForFieldName("name") ?? node.childForFieldName("declarator");
1689
+ const symbolName = nameNode ? nameNode.text : void 0;
1690
1690
  symbolRanges.push({
1691
1691
  name: symbolName,
1692
1692
  kind: type.includes("function") ? "function" : "method",
@@ -2827,4 +2827,4 @@ export {
2827
2827
  deadCodeScanTool,
2828
2828
  runDeadCodeScan
2829
2829
  };
2830
- //# sourceMappingURL=chunk-L25CVUVR.js.map
2830
+ //# sourceMappingURL=chunk-JQRIR762.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-FQZOHLG3.js";
4
4
  import {
5
5
  enqueueReindex
6
- } from "./chunk-HYX2TZ7O.js";
6
+ } from "./chunk-QDQY7NQ2.js";
7
7
  import {
8
8
  safeResolveReal,
9
9
  sha256hex,
@@ -151,4 +151,4 @@ async function finishWrite(input, ctx, prepared, signal) {
151
151
  export {
152
152
  writeTool
153
153
  };
154
- //# sourceMappingURL=chunk-VFKPWSOX.js.map
154
+ //# sourceMappingURL=chunk-P7FYFZ6M.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  builtinTools
3
- } from "./chunk-VXECAJJ7.js";
3
+ } from "./chunk-DSEANA2W.js";
4
4
 
5
5
  // src/pack.ts
6
6
  var builtinToolsPack = {
@@ -12,4 +12,4 @@ var builtinToolsPack = {
12
12
  export {
13
13
  builtinToolsPack
14
14
  };
15
- //# sourceMappingURL=chunk-I64BS3VC.js.map
15
+ //# sourceMappingURL=chunk-PCHQ6YRR.js.map
@@ -9,7 +9,7 @@ import {
9
9
  projectIndexServerBuildId,
10
10
  projectIndexServerEndpoint,
11
11
  projectIndexServerMetadataPath
12
- } from "./chunk-4UESMQDP.js";
12
+ } from "./chunk-VGBUDLW4.js";
13
13
  import {
14
14
  CircuitOpenError,
15
15
  IndexTimeoutError,
@@ -24,7 +24,7 @@ import {
24
24
  searchService,
25
25
  statsService,
26
26
  symbolGraphService
27
- } from "./chunk-DA4KNE2H.js";
27
+ } from "./chunk-TRDX25UH.js";
28
28
  import {
29
29
  isIndexablePath
30
30
  } from "./chunk-TEBQ4VPZ.js";
@@ -1269,4 +1269,4 @@ export {
1269
1269
  checkCodebaseIndexServerHealth,
1270
1270
  ensureCodebaseIndexServer
1271
1271
  };
1272
- //# sourceMappingURL=chunk-HYX2TZ7O.js.map
1272
+ //# sourceMappingURL=chunk-QDQY7NQ2.js.map
@@ -410,19 +410,12 @@ var NGRAM_SIZE = 3;
410
410
  function embedText(text) {
411
411
  const vec = new Float32Array(VECTOR_DIMENSIONS);
412
412
  const normalized = text.toLowerCase().trim();
413
- if (normalized.length < NGRAM_SIZE) {
414
- const padded = ` ${normalized} `.slice(0, Math.max(NGRAM_SIZE, normalized.length + 2));
415
- for (let i = 0; i <= padded.length - NGRAM_SIZE; i++) {
416
- const ngram = padded.slice(i, i + NGRAM_SIZE);
417
- const bucket = hashNgram(ngram) % VECTOR_DIMENSIONS;
418
- vec[bucket] += 1;
419
- }
420
- } else {
421
- for (let i = 0; i <= normalized.length - NGRAM_SIZE; i++) {
422
- const ngram = normalized.slice(i, i + NGRAM_SIZE);
423
- const bucket = hashNgram(ngram) % VECTOR_DIMENSIONS;
424
- vec[bucket] += 1;
425
- }
413
+ if (normalized.length === 0) return vec;
414
+ const target = normalized.length < NGRAM_SIZE ? ` ${normalized} `.slice(0, Math.max(NGRAM_SIZE, normalized.length + 2)) : normalized;
415
+ for (let i = 0; i <= target.length - NGRAM_SIZE; i++) {
416
+ const ngram = target.slice(i, i + NGRAM_SIZE);
417
+ const bucket = hashNgram(ngram) % VECTOR_DIMENSIONS;
418
+ vec[bucket] += 1;
426
419
  }
427
420
  let norm = 0;
428
421
  for (let i = 0; i < VECTOR_DIMENSIONS; i++) {
@@ -456,6 +449,10 @@ function encodeVector(vec) {
456
449
  return Buffer.from(vec.buffer, vec.byteOffset, vec.byteLength);
457
450
  }
458
451
  function decodeVector(buf) {
452
+ if (buf.byteLength === 0) return new Float32Array(0);
453
+ if (buf.byteLength % 4 !== 0) {
454
+ throw new Error(`decodeVector: invalid vector byteLength ${buf.byteLength} (must be a multiple of 4)`);
455
+ }
459
456
  const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
460
457
  const copy = new Float32Array(buf.byteLength / 4);
461
458
  for (let i = 0; i < copy.length; i++) {
@@ -4409,4 +4406,4 @@ export {
4409
4406
  incomingCallsService,
4410
4407
  outgoingCallsService
4411
4408
  };
4412
- //# sourceMappingURL=chunk-DA4KNE2H.js.map
4409
+ //# sourceMappingURL=chunk-TRDX25UH.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-FQZOHLG3.js";
4
4
  import {
5
5
  enqueueReindex
6
- } from "./chunk-HYX2TZ7O.js";
6
+ } from "./chunk-QDQY7NQ2.js";
7
7
  import {
8
8
  safeResolveReal,
9
9
  sha256hex,
@@ -471,4 +471,4 @@ Compare this against your old_string and retry with the file's actual text.` : "
471
471
  export {
472
472
  editTool
473
473
  };
474
- //# sourceMappingURL=chunk-ZJQ4IGXK.js.map
474
+ //# sourceMappingURL=chunk-U6DZWHBA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveIndexDir
3
- } from "./chunk-DA4KNE2H.js";
3
+ } from "./chunk-TRDX25UH.js";
4
4
 
5
5
  // src/codebase-index/binary-frame.ts
6
6
  import { decode, encode } from "@msgpack/msgpack";
@@ -119,4 +119,4 @@ export {
119
119
  PROJECT_INDEX_SERVER_MAX_FRAME_CHARS,
120
120
  encodeProjectServerMessage
121
121
  };
122
- //# sourceMappingURL=chunk-4UESMQDP.js.map
122
+ //# sourceMappingURL=chunk-VGBUDLW4.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  builtinToolsPack
3
- } from "./chunk-I64BS3VC.js";
3
+ } from "./chunk-PCHQ6YRR.js";
4
4
  import {
5
5
  TIER1_TOOLS,
6
6
  TIER2_TOOLS
7
- } from "./chunk-VXECAJJ7.js";
7
+ } from "./chunk-DSEANA2W.js";
8
8
 
9
9
  // src/tool-tier.ts
10
10
  function toolNameSet(tools) {
@@ -51,4 +51,4 @@ export {
51
51
  selectBuiltinToolsForTier,
52
52
  registerBuiltinToolTier
53
53
  };
54
- //# sourceMappingURL=chunk-MQX2KXVW.js.map
54
+ //# sourceMappingURL=chunk-XGHMUZ77.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getIndexState,
3
3
  searchCodebaseIndex
4
- } from "./chunk-HYX2TZ7O.js";
4
+ } from "./chunk-QDQY7NQ2.js";
5
5
  import {
6
6
  codebaseIndexDirOverride
7
- } from "./chunk-DA4KNE2H.js";
7
+ } from "./chunk-TRDX25UH.js";
8
8
  import {
9
9
  isBinaryBuffer,
10
10
  safeResolveReal,
@@ -292,4 +292,4 @@ ${interesting.join("\n")}` : "symbols/imports: (none detected)"
292
292
  export {
293
293
  readTool
294
294
  };
295
- //# sourceMappingURL=chunk-JOHXDF3D.js.map
295
+ //# sourceMappingURL=chunk-YGG6X57C.js.map
@@ -18,7 +18,7 @@ import {
18
18
  polyglotInvariantEngine,
19
19
  replaceSymbolInFile,
20
20
  runDeadCodeScan
21
- } from "../chunk-L25CVUVR.js";
21
+ } from "../chunk-JQRIR762.js";
22
22
  import "../chunk-EEOFQDT6.js";
23
23
  import "../chunk-22B7GE5T.js";
24
24
  import "../chunk-2VSZC6QM.js";
@@ -45,11 +45,11 @@ import {
45
45
  shutdownCodebaseIndexHost,
46
46
  shutdownCodebaseIndexServer,
47
47
  symbolGraphService
48
- } from "../chunk-HYX2TZ7O.js";
48
+ } from "../chunk-QDQY7NQ2.js";
49
49
  import {
50
50
  projectIndexServerEndpoint,
51
51
  projectIndexServerMetadataPath
52
- } from "../chunk-4UESMQDP.js";
52
+ } from "../chunk-VGBUDLW4.js";
53
53
  import {
54
54
  CircuitOpenError,
55
55
  IndexCircuitBreaker,
@@ -66,7 +66,7 @@ import {
66
66
  resolveIndexDir,
67
67
  runIndexer,
68
68
  tokenise
69
- } from "../chunk-DA4KNE2H.js";
69
+ } from "../chunk-TRDX25UH.js";
70
70
  import "../chunk-IYK7XGDZ.js";
71
71
  import "../chunk-ZLTFLC25.js";
72
72
  import "../chunk-A6BRWIXN.js";
@@ -10,7 +10,7 @@ import {
10
10
  projectIndexServerBuildId,
11
11
  projectIndexServerEndpoint,
12
12
  projectIndexServerMetadataPath
13
- } from "../chunk-4UESMQDP.js";
13
+ } from "../chunk-VGBUDLW4.js";
14
14
  import {
15
15
  fileGraphService,
16
16
  incomingCallsService,
@@ -22,7 +22,7 @@ import {
22
22
  searchService,
23
23
  statsService,
24
24
  symbolGraphService
25
- } from "../chunk-DA4KNE2H.js";
25
+ } from "../chunk-TRDX25UH.js";
26
26
  import "../chunk-IYK7XGDZ.js";
27
27
  import "../chunk-ZLTFLC25.js";
28
28
  import "../chunk-A6BRWIXN.js";
@@ -7,7 +7,7 @@ import {
7
7
  searchService,
8
8
  statsService,
9
9
  symbolGraphService
10
- } from "../chunk-DA4KNE2H.js";
10
+ } from "../chunk-TRDX25UH.js";
11
11
  import "../chunk-IYK7XGDZ.js";
12
12
  import "../chunk-ZLTFLC25.js";
13
13
  import "../chunk-A6BRWIXN.js";
package/dist/edit.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  editTool
3
- } from "./chunk-ZJQ4IGXK.js";
3
+ } from "./chunk-U6DZWHBA.js";
4
4
  import "./chunk-FQZOHLG3.js";
5
- import "./chunk-HYX2TZ7O.js";
6
- import "./chunk-4UESMQDP.js";
7
- import "./chunk-DA4KNE2H.js";
5
+ import "./chunk-QDQY7NQ2.js";
6
+ import "./chunk-VGBUDLW4.js";
7
+ import "./chunk-TRDX25UH.js";
8
8
  import "./chunk-IYK7XGDZ.js";
9
9
  import "./chunk-ZLTFLC25.js";
10
10
  import "./chunk-A6BRWIXN.js";
package/dist/index.js CHANGED
@@ -22,10 +22,10 @@ import "./chunk-Z6DAKQ3U.js";
22
22
  import {
23
23
  registerBuiltinToolTier,
24
24
  selectBuiltinToolsForTier
25
- } from "./chunk-MQX2KXVW.js";
25
+ } from "./chunk-XGHMUZ77.js";
26
26
  import {
27
27
  builtinToolsPack
28
- } from "./chunk-I64BS3VC.js";
28
+ } from "./chunk-PCHQ6YRR.js";
29
29
  import {
30
30
  OFF_ONLY_TOOLS,
31
31
  OPTIONAL_TOOLS,
@@ -38,7 +38,7 @@ import {
38
38
  clarifyTool,
39
39
  pwshTool,
40
40
  securityAstScanTool
41
- } from "./chunk-VXECAJJ7.js";
41
+ } from "./chunk-DSEANA2W.js";
42
42
  import {
43
43
  discoverE2EProjects,
44
44
  e2ePlanTool
@@ -59,7 +59,7 @@ import {
59
59
  generateRepoMap,
60
60
  replaceSymbolInFile,
61
61
  runDeadCodeScan
62
- } from "./chunk-L25CVUVR.js";
62
+ } from "./chunk-JQRIR762.js";
63
63
  import "./chunk-EEOFQDT6.js";
64
64
  import {
65
65
  planTool
@@ -108,7 +108,7 @@ import {
108
108
  } from "./chunk-RXISBFR5.js";
109
109
  import {
110
110
  patchTool
111
- } from "./chunk-QZQSPUBF.js";
111
+ } from "./chunk-5OAOKALG.js";
112
112
  import {
113
113
  jsonTool
114
114
  } from "./chunk-VB3MJGCV.js";
@@ -149,7 +149,7 @@ import {
149
149
  import "./chunk-22B7GE5T.js";
150
150
  import {
151
151
  replaceTool
152
- } from "./chunk-MZZN7VCD.js";
152
+ } from "./chunk-HPEO4EA7.js";
153
153
  import {
154
154
  globTool
155
155
  } from "./chunk-UNSKG6DC.js";
@@ -248,13 +248,13 @@ import {
248
248
  } from "./chunk-K3WNSHUF.js";
249
249
  import {
250
250
  readTool
251
- } from "./chunk-JOHXDF3D.js";
251
+ } from "./chunk-YGG6X57C.js";
252
252
  import {
253
253
  writeTool
254
- } from "./chunk-VFKPWSOX.js";
254
+ } from "./chunk-P7FYFZ6M.js";
255
255
  import {
256
256
  editTool
257
- } from "./chunk-ZJQ4IGXK.js";
257
+ } from "./chunk-U6DZWHBA.js";
258
258
  import "./chunk-FQZOHLG3.js";
259
259
  import {
260
260
  cancelPendingReindexes,
@@ -275,15 +275,15 @@ import {
275
275
  shutdownCodebaseIndexHost,
276
276
  shutdownCodebaseIndexServer,
277
277
  symbolGraphService
278
- } from "./chunk-HYX2TZ7O.js";
279
- import "./chunk-4UESMQDP.js";
278
+ } from "./chunk-QDQY7NQ2.js";
279
+ import "./chunk-VGBUDLW4.js";
280
280
  import {
281
281
  CircuitOpenError,
282
282
  IndexCircuitBreaker,
283
283
  IndexTimeoutError,
284
284
  indexCircuitBreaker,
285
285
  resetIndexCircuitBreaker
286
- } from "./chunk-DA4KNE2H.js";
286
+ } from "./chunk-TRDX25UH.js";
287
287
  import "./chunk-IYK7XGDZ.js";
288
288
  import "./chunk-ZLTFLC25.js";
289
289
  import "./chunk-A6BRWIXN.js";
@@ -683,15 +683,21 @@ var TOOL_ICON_MAP = {
683
683
  read: "file",
684
684
  write: "file",
685
685
  create: "file",
686
+ view_file: "file",
687
+ write_to_file: "file",
686
688
  // File modification
687
689
  edit: "edit",
688
690
  patch: "edit",
689
691
  replace: "edit",
692
+ replace_file_content: "edit",
690
693
  // Content search
691
694
  grep: "search",
692
695
  search: "search",
696
+ grep_search: "search",
693
697
  // File discovery
694
698
  glob: "folder",
699
+ find_by_name: "folder",
700
+ find_files: "folder",
695
701
  // Shell/command execution
696
702
  bash: "terminal",
697
703
  exec: "terminal",
@@ -700,17 +706,23 @@ var TOOL_ICON_MAP = {
700
706
  run: "terminal",
701
707
  command: "terminal",
702
708
  shell: "terminal",
709
+ run_command: "terminal",
703
710
  // Network
704
711
  fetch: "web",
705
712
  curl: "web",
706
713
  http: "web",
707
714
  request: "web",
715
+ read_url_content: "web",
716
+ search_web: "web",
717
+ web_search: "web",
708
718
  // Version control
709
719
  git: "git",
710
720
  // Directory structure
711
721
  tree: "tree",
712
722
  ls: "tree",
713
723
  list: "tree",
724
+ list_dir: "tree",
725
+ list_directory: "tree",
714
726
  // Code quality
715
727
  lint: "code",
716
728
  format: "code",
@@ -796,6 +808,12 @@ var TOOL_ICON_MAP = {
796
808
  reason: "brain",
797
809
  analyze: "brain",
798
810
  reasoning: "brain",
811
+ invoke_subagent: "brain",
812
+ define_subagent: "brain",
813
+ manage_subagents: "brain",
814
+ ask_question: "document",
815
+ generate_image: "scaffold",
816
+ schedule: "settings",
799
817
  // Language intelligence
800
818
  lsp_diagnostics: "code",
801
819
  lsp_definition: "search",
package/dist/pack.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  builtinToolsPack
3
- } from "./chunk-I64BS3VC.js";
4
- import "./chunk-VXECAJJ7.js";
3
+ } from "./chunk-PCHQ6YRR.js";
4
+ import "./chunk-DSEANA2W.js";
5
5
  import "./chunk-JRJJX3L5.js";
6
- import "./chunk-L25CVUVR.js";
6
+ import "./chunk-JQRIR762.js";
7
7
  import "./chunk-EEOFQDT6.js";
8
8
  import "./chunk-NKJW5GFO.js";
9
9
  import "./chunk-DR7JOQTC.js";
@@ -20,7 +20,7 @@ import "./chunk-RGISBZBD.js";
20
20
  import "./chunk-EMRGN4KM.js";
21
21
  import "./chunk-AHHDWNXC.js";
22
22
  import "./chunk-RXISBFR5.js";
23
- import "./chunk-QZQSPUBF.js";
23
+ import "./chunk-5OAOKALG.js";
24
24
  import "./chunk-VB3MJGCV.js";
25
25
  import "./chunk-UKU2ZX4C.js";
26
26
  import "./chunk-J5SKD6LN.js";
@@ -30,7 +30,7 @@ import "./chunk-EJWSCQ6D.js";
30
30
  import "./chunk-PQKK5JH7.js";
31
31
  import "./chunk-OUBDL3WH.js";
32
32
  import "./chunk-22B7GE5T.js";
33
- import "./chunk-MZZN7VCD.js";
33
+ import "./chunk-HPEO4EA7.js";
34
34
  import "./chunk-UNSKG6DC.js";
35
35
  import "./chunk-553IQUMO.js";
36
36
  import "./chunk-Q5JPPCZC.js";
@@ -49,13 +49,13 @@ import "./chunk-7EY5DCRO.js";
49
49
  import "./chunk-JNNVRHMV.js";
50
50
  import "./chunk-PY2IOS7C.js";
51
51
  import "./chunk-K3WNSHUF.js";
52
- import "./chunk-JOHXDF3D.js";
53
- import "./chunk-VFKPWSOX.js";
54
- import "./chunk-ZJQ4IGXK.js";
52
+ import "./chunk-YGG6X57C.js";
53
+ import "./chunk-P7FYFZ6M.js";
54
+ import "./chunk-U6DZWHBA.js";
55
55
  import "./chunk-FQZOHLG3.js";
56
- import "./chunk-HYX2TZ7O.js";
57
- import "./chunk-4UESMQDP.js";
58
- import "./chunk-DA4KNE2H.js";
56
+ import "./chunk-QDQY7NQ2.js";
57
+ import "./chunk-VGBUDLW4.js";
58
+ import "./chunk-TRDX25UH.js";
59
59
  import "./chunk-IYK7XGDZ.js";
60
60
  import "./chunk-ZLTFLC25.js";
61
61
  import "./chunk-A6BRWIXN.js";
package/dist/patch.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  patchTool
3
- } from "./chunk-QZQSPUBF.js";
4
- import "./chunk-HYX2TZ7O.js";
5
- import "./chunk-4UESMQDP.js";
6
- import "./chunk-DA4KNE2H.js";
3
+ } from "./chunk-5OAOKALG.js";
4
+ import "./chunk-QDQY7NQ2.js";
5
+ import "./chunk-VGBUDLW4.js";
6
+ import "./chunk-TRDX25UH.js";
7
7
  import "./chunk-IYK7XGDZ.js";
8
8
  import "./chunk-ZLTFLC25.js";
9
9
  import "./chunk-A6BRWIXN.js";
package/dist/read.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  readTool
3
- } from "./chunk-JOHXDF3D.js";
4
- import "./chunk-HYX2TZ7O.js";
5
- import "./chunk-4UESMQDP.js";
6
- import "./chunk-DA4KNE2H.js";
3
+ } from "./chunk-YGG6X57C.js";
4
+ import "./chunk-QDQY7NQ2.js";
5
+ import "./chunk-VGBUDLW4.js";
6
+ import "./chunk-TRDX25UH.js";
7
7
  import "./chunk-IYK7XGDZ.js";
8
8
  import "./chunk-ZLTFLC25.js";
9
9
  import "./chunk-A6BRWIXN.js";
package/dist/replace.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  __resetRgDetectionForTests,
3
3
  replaceTool
4
- } from "./chunk-MZZN7VCD.js";
4
+ } from "./chunk-HPEO4EA7.js";
5
5
  import "./chunk-Q5JPPCZC.js";
6
- import "./chunk-HYX2TZ7O.js";
7
- import "./chunk-4UESMQDP.js";
8
- import "./chunk-DA4KNE2H.js";
6
+ import "./chunk-QDQY7NQ2.js";
7
+ import "./chunk-VGBUDLW4.js";
8
+ import "./chunk-TRDX25UH.js";
9
9
  import "./chunk-IYK7XGDZ.js";
10
10
  import "./chunk-ZLTFLC25.js";
11
11
  import "./chunk-A6BRWIXN.js";
package/dist/tool-tier.js CHANGED
@@ -2,11 +2,11 @@ import {
2
2
  BUILTIN_TIER_COUNTS,
3
3
  registerBuiltinToolTier,
4
4
  selectBuiltinToolsForTier
5
- } from "./chunk-MQX2KXVW.js";
6
- import "./chunk-I64BS3VC.js";
7
- import "./chunk-VXECAJJ7.js";
5
+ } from "./chunk-XGHMUZ77.js";
6
+ import "./chunk-PCHQ6YRR.js";
7
+ import "./chunk-DSEANA2W.js";
8
8
  import "./chunk-JRJJX3L5.js";
9
- import "./chunk-L25CVUVR.js";
9
+ import "./chunk-JQRIR762.js";
10
10
  import "./chunk-EEOFQDT6.js";
11
11
  import "./chunk-NKJW5GFO.js";
12
12
  import "./chunk-DR7JOQTC.js";
@@ -23,7 +23,7 @@ import "./chunk-RGISBZBD.js";
23
23
  import "./chunk-EMRGN4KM.js";
24
24
  import "./chunk-AHHDWNXC.js";
25
25
  import "./chunk-RXISBFR5.js";
26
- import "./chunk-QZQSPUBF.js";
26
+ import "./chunk-5OAOKALG.js";
27
27
  import "./chunk-VB3MJGCV.js";
28
28
  import "./chunk-UKU2ZX4C.js";
29
29
  import "./chunk-J5SKD6LN.js";
@@ -33,7 +33,7 @@ import "./chunk-EJWSCQ6D.js";
33
33
  import "./chunk-PQKK5JH7.js";
34
34
  import "./chunk-OUBDL3WH.js";
35
35
  import "./chunk-22B7GE5T.js";
36
- import "./chunk-MZZN7VCD.js";
36
+ import "./chunk-HPEO4EA7.js";
37
37
  import "./chunk-UNSKG6DC.js";
38
38
  import "./chunk-553IQUMO.js";
39
39
  import "./chunk-Q5JPPCZC.js";
@@ -52,13 +52,13 @@ import "./chunk-7EY5DCRO.js";
52
52
  import "./chunk-JNNVRHMV.js";
53
53
  import "./chunk-PY2IOS7C.js";
54
54
  import "./chunk-K3WNSHUF.js";
55
- import "./chunk-JOHXDF3D.js";
56
- import "./chunk-VFKPWSOX.js";
57
- import "./chunk-ZJQ4IGXK.js";
55
+ import "./chunk-YGG6X57C.js";
56
+ import "./chunk-P7FYFZ6M.js";
57
+ import "./chunk-U6DZWHBA.js";
58
58
  import "./chunk-FQZOHLG3.js";
59
- import "./chunk-HYX2TZ7O.js";
60
- import "./chunk-4UESMQDP.js";
61
- import "./chunk-DA4KNE2H.js";
59
+ import "./chunk-QDQY7NQ2.js";
60
+ import "./chunk-VGBUDLW4.js";
61
+ import "./chunk-TRDX25UH.js";
62
62
  import "./chunk-IYK7XGDZ.js";
63
63
  import "./chunk-ZLTFLC25.js";
64
64
  import "./chunk-A6BRWIXN.js";
package/dist/write.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  writeTool
3
- } from "./chunk-VFKPWSOX.js";
3
+ } from "./chunk-P7FYFZ6M.js";
4
4
  import "./chunk-FQZOHLG3.js";
5
- import "./chunk-HYX2TZ7O.js";
6
- import "./chunk-4UESMQDP.js";
7
- import "./chunk-DA4KNE2H.js";
5
+ import "./chunk-QDQY7NQ2.js";
6
+ import "./chunk-VGBUDLW4.js";
7
+ import "./chunk-TRDX25UH.js";
8
8
  import "./chunk-IYK7XGDZ.js";
9
9
  import "./chunk-ZLTFLC25.js";
10
10
  import "./chunk-A6BRWIXN.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/tools",
3
- "version": "0.316.1",
3
+ "version": "0.317.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,14 +249,14 @@
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.317.0",
253
+ "@wrongstack/kanban": "0.317.0",
254
+ "@wrongstack/persistence": "0.317.0",
255
+ "@wrongstack/primitives": "0.317.0",
252
256
  "tree-sitter-wasm": "1.1.4",
253
257
  "turndown": "^7.2.4",
254
258
  "undici": "^8.10.0",
255
- "web-tree-sitter": "0.26.12",
256
- "@wrongstack/kanban": "0.316.1",
257
- "@wrongstack/core": "0.316.1",
258
- "@wrongstack/primitives": "0.316.1",
259
- "@wrongstack/persistence": "0.316.1"
259
+ "web-tree-sitter": "0.26.12"
260
260
  },
261
261
  "devDependencies": {
262
262
  "@types/node": "^26.2.0",