@wrongstack/tools 0.319.0 → 0.320.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 (119) hide show
  1. package/dist/_edit-match.d.ts +1 -3
  2. package/dist/_util.d.ts +7 -0
  3. package/dist/audit.js +8 -8
  4. package/dist/bash.js +6 -6
  5. package/dist/browser/index.js +1 -1
  6. package/dist/builtin.d.ts +10 -0
  7. package/dist/builtin.js +54 -52
  8. package/dist/{chunk-65EMYN5G.js → chunk-23EX5WDO.js} +6 -3
  9. package/dist/{chunk-2472NT76.js → chunk-2OXHS3KZ.js} +17 -5
  10. package/dist/{chunk-7WV3D4S3.js → chunk-34VLZ35Z.js} +75 -36
  11. package/dist/{chunk-MYRMD6PZ.js → chunk-3GIKYHLA.js} +32 -8
  12. package/dist/{chunk-X5K3U6GI.js → chunk-3M7LLN7W.js} +71 -7
  13. package/dist/{chunk-VALQFAY2.js → chunk-4BABEJC2.js} +158 -45
  14. package/dist/{chunk-42BHI7TN.js → chunk-4CQWNZ62.js} +2 -2
  15. package/dist/{chunk-WNUJR3H4.js → chunk-5UFVCIUB.js} +40 -16
  16. package/dist/{chunk-UMXVT7ST.js → chunk-6AAOT4PW.js} +58 -10
  17. package/dist/{chunk-H6AWAZ2Y.js → chunk-B4HTSV6Z.js} +57 -6
  18. package/dist/{chunk-5ZYEGP2P.js → chunk-BK732J7I.js} +72 -27
  19. package/dist/{chunk-KD5EHYA2.js → chunk-C2DQKVLO.js} +61 -28
  20. package/dist/{chunk-Z4VBTVUM.js → chunk-DFQDJT22.js} +99 -12
  21. package/dist/{chunk-6RNIFLG4.js → chunk-ELRRTWNP.js} +38 -6
  22. package/dist/{chunk-3PVYQFRQ.js → chunk-ESLPBT5A.js} +2 -1
  23. package/dist/{chunk-YZHK4TLF.js → chunk-FQNXYA6W.js} +45 -6
  24. package/dist/{chunk-OYVPBPCL.js → chunk-HR67OWEP.js} +72 -33
  25. package/dist/{chunk-ZDUGI5BC.js → chunk-I7FBZOEP.js} +2 -2
  26. package/dist/{chunk-HBM4QNXU.js → chunk-IU4DV2PA.js} +18 -8
  27. package/dist/{chunk-TFMVHYJI.js → chunk-J43O3BOX.js} +9 -15
  28. package/dist/{chunk-ODFVG54U.js → chunk-J74TMK4M.js} +37 -13
  29. package/dist/{chunk-COUNXG4X.js → chunk-JLYA4X7K.js} +75 -8
  30. package/dist/{chunk-FQZOHLG3.js → chunk-JSNSMG5R.js} +3 -2
  31. package/dist/{chunk-SYXW3Y5Z.js → chunk-JVRLTEO7.js} +2 -2
  32. package/dist/{chunk-V43EQ6VR.js → chunk-KE7A76VC.js} +3 -2
  33. package/dist/{chunk-ZKSBHXVB.js → chunk-KWXIKGE3.js} +64 -15
  34. package/dist/{chunk-RK47IWO3.js → chunk-LRDIRJJL.js} +62 -30
  35. package/dist/{chunk-UC3RKRIV.js → chunk-NDIT3SBZ.js} +3 -3
  36. package/dist/{chunk-C3W3V54D.js → chunk-NSPNFOJ7.js} +57 -27
  37. package/dist/{chunk-TX3R5NVV.js → chunk-NU2IZ72J.js} +7 -7
  38. package/dist/{chunk-WHIIIREL.js → chunk-NYRLWDT5.js} +7 -3
  39. package/dist/{chunk-PMHVSHMU.js → chunk-OTPTQBYE.js} +80 -19
  40. package/dist/{chunk-ZHH3BEWU.js → chunk-OYP27E3I.js} +4 -4
  41. package/dist/{chunk-W4GAAI3M.js → chunk-PV6HIZQD.js} +2 -2
  42. package/dist/{chunk-NKNOBUBU.js → chunk-QGF2C7TF.js} +2 -2
  43. package/dist/{chunk-PQTONQ4P.js → chunk-QPNYDH5B.js} +19 -5
  44. package/dist/{chunk-VFF3Q5Z3.js → chunk-QSNVDHOZ.js} +37 -9
  45. package/dist/{chunk-45JPRMC2.js → chunk-QWKSKFKZ.js} +7 -3
  46. package/dist/{chunk-2VSZC6QM.js → chunk-SCMRM6NL.js} +6 -4
  47. package/dist/{chunk-RJZQWEMS.js → chunk-T77XOX7E.js} +3 -2
  48. package/dist/{chunk-QZDOQRF7.js → chunk-UZFY3CKD.js} +35 -14
  49. package/dist/{chunk-D4CXUZIF.js → chunk-VD2LV5WO.js} +82 -13
  50. package/dist/{chunk-DPKTXJQS.js → chunk-VPALDFYM.js} +2 -2
  51. package/dist/{chunk-IIF5HIVF.js → chunk-VVZPQPTY.js} +2 -2
  52. package/dist/{chunk-HWDB2G7J.js → chunk-W232EFEM.js} +49 -36
  53. package/dist/{chunk-FJEQZHZN.js → chunk-W2CECGTG.js} +24 -14
  54. package/dist/{chunk-4Q7LFU4T.js → chunk-WAQASTXB.js} +20 -9
  55. package/dist/{chunk-CWALNI6K.js → chunk-X6KXNHUO.js} +1 -1
  56. package/dist/{chunk-OCUXN6Y3.js → chunk-XRNN44QY.js} +1 -1
  57. package/dist/{chunk-N5O3FK5Q.js → chunk-XSSFBS5I.js} +70 -29
  58. package/dist/{chunk-Y7QXSE7N.js → chunk-YTKSNTT4.js} +44 -10
  59. package/dist/{chunk-MRKWZCHZ.js → chunk-Z5Q3TXRY.js} +3 -3
  60. package/dist/{chunk-PRXZOIEW.js → chunk-Z6IHMJMC.js} +104 -59
  61. package/dist/{chunk-NWZ6XGBJ.js → chunk-ZBMANLYH.js} +5 -3
  62. package/dist/{chunk-OJ4FIBAN.js → chunk-ZMW6WJFT.js} +30 -23
  63. package/dist/{chunk-QLF74MSV.js → chunk-ZUFHAHTE.js} +12 -6
  64. package/dist/codebase-index/index.js +12 -12
  65. package/dist/codebase-index/parser-worker-script.js +3 -3
  66. package/dist/codebase-index/project-server.js +5 -5
  67. package/dist/codebase-index/worker.js +4 -4
  68. package/dist/design.d.ts +1 -1
  69. package/dist/design.js +1 -1
  70. package/dist/diff.js +3 -2
  71. package/dist/document.js +2 -2
  72. package/dist/e2e.js +2 -2
  73. package/dist/edit.js +9 -9
  74. package/dist/exec.js +6 -6
  75. package/dist/fetch.js +2 -2
  76. package/dist/format.js +8 -8
  77. package/dist/git.js +2 -2
  78. package/dist/glob.js +3 -3
  79. package/dist/{go-parser-IKHW67WE.js → go-parser-D7ELWQ7F.js} +2 -2
  80. package/dist/grep.d.ts +2 -0
  81. package/dist/grep.js +5 -3
  82. package/dist/index.js +56 -56
  83. package/dist/install.js +8 -8
  84. package/dist/{json-parser-2EOVP5MR.js → json-parser-34DHYCPW.js} +1 -18
  85. package/dist/json.js +2 -2
  86. package/dist/kanban-tool-types.d.ts +2 -0
  87. package/dist/kanban.js +2 -2
  88. package/dist/languages/index.js +6 -6
  89. package/dist/legacy-bridge-FOV5ODDI.js +18 -0
  90. package/dist/lint.js +8 -8
  91. package/dist/logs.js +2 -2
  92. package/dist/memory.js +1 -1
  93. package/dist/next-steps.d.ts +7 -0
  94. package/dist/next-steps.js +82 -38
  95. package/dist/outdated.js +5 -3
  96. package/dist/pack.js +53 -53
  97. package/dist/{parser-dispatch-3PDBKIQ7.js → parser-dispatch-BDVCJXTV.js} +4 -4
  98. package/dist/patch.js +8 -8
  99. package/dist/plan.js +4 -4
  100. package/dist/process-registry.js +1 -1
  101. package/dist/ps-slash.js +3 -3
  102. package/dist/{py-parser-RFWG2HYI.js → py-parser-QC6MR4GB.js} +3 -3
  103. package/dist/read.js +8 -8
  104. package/dist/replace.js +9 -8
  105. package/dist/scaffold.js +2 -2
  106. package/dist/search.js +1 -1
  107. package/dist/session-kanban.js +1 -1
  108. package/dist/task.js +4 -4
  109. package/dist/test.js +8 -8
  110. package/dist/todo.js +3 -3
  111. package/dist/tool-search.js +1 -1
  112. package/dist/tool-tier.js +54 -54
  113. package/dist/{tree-sitter-parser-FGKHJGSX.js → tree-sitter-parser-GILYQLS4.js} +2 -2
  114. package/dist/tree.js +2 -2
  115. package/dist/typecheck.js +8 -8
  116. package/dist/win32.js +1 -1
  117. package/dist/write.js +9 -9
  118. package/package.json +5 -5
  119. package/dist/legacy-bridge-EC7GM2IW.js +0 -18
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  formatInstanceSummary,
6
6
  getInstanceCount,
7
7
  listInstances
8
- } from "./chunk-42BHI7TN.js";
8
+ } from "./chunk-4CQWNZ62.js";
9
9
  import {
10
10
  makeSkillTool
11
11
  } from "./chunk-GOIZNNOA.js";
@@ -14,7 +14,7 @@ import {
14
14
  relatedMemoryTool,
15
15
  rememberTool,
16
16
  searchMemoryTool
17
- } from "./chunk-WHIIIREL.js";
17
+ } from "./chunk-NYRLWDT5.js";
18
18
  import {
19
19
  createModeTool
20
20
  } from "./chunk-4BHUSMNL.js";
@@ -22,10 +22,10 @@ import "./chunk-Z6DAKQ3U.js";
22
22
  import {
23
23
  registerBuiltinToolTier,
24
24
  selectBuiltinToolsForTier
25
- } from "./chunk-65EMYN5G.js";
25
+ } from "./chunk-23EX5WDO.js";
26
26
  import {
27
27
  builtinToolsPack
28
- } from "./chunk-SYXW3Y5Z.js";
28
+ } from "./chunk-JVRLTEO7.js";
29
29
  import {
30
30
  OFF_ONLY_TOOLS,
31
31
  OPTIONAL_TOOLS,
@@ -38,11 +38,11 @@ import {
38
38
  clarifyTool,
39
39
  pwshTool,
40
40
  securityAstScanTool
41
- } from "./chunk-VALQFAY2.js";
41
+ } from "./chunk-4BABEJC2.js";
42
42
  import {
43
43
  discoverE2EProjects,
44
44
  e2ePlanTool
45
- } from "./chunk-DPKTXJQS.js";
45
+ } from "./chunk-VPALDFYM.js";
46
46
  import {
47
47
  codebaseAstReplaceTool,
48
48
  codebaseImpactAnalysisTool,
@@ -59,17 +59,17 @@ import {
59
59
  generateRepoMap,
60
60
  replaceSymbolInFile,
61
61
  runDeadCodeScan
62
- } from "./chunk-RK47IWO3.js";
63
- import "./chunk-OCUXN6Y3.js";
62
+ } from "./chunk-LRDIRJJL.js";
63
+ import "./chunk-XRNN44QY.js";
64
64
  import {
65
65
  planTool
66
- } from "./chunk-H6AWAZ2Y.js";
66
+ } from "./chunk-B4HTSV6Z.js";
67
67
  import {
68
68
  taskTool
69
- } from "./chunk-X5K3U6GI.js";
69
+ } from "./chunk-3M7LLN7W.js";
70
70
  import {
71
71
  toolSearchTool
72
- } from "./chunk-RJZQWEMS.js";
72
+ } from "./chunk-T77XOX7E.js";
73
73
  import {
74
74
  toolUseTool
75
75
  } from "./chunk-FRN7TIAA.js";
@@ -81,53 +81,53 @@ import {
81
81
  } from "./chunk-QBV725YG.js";
82
82
  import {
83
83
  designTool
84
- } from "./chunk-6RNIFLG4.js";
84
+ } from "./chunk-ELRRTWNP.js";
85
85
  import {
86
86
  testTool
87
- } from "./chunk-Y7QXSE7N.js";
87
+ } from "./chunk-YTKSNTT4.js";
88
88
  import {
89
89
  installTool
90
- } from "./chunk-4Q7LFU4T.js";
90
+ } from "./chunk-WAQASTXB.js";
91
91
  import {
92
92
  auditTool
93
- } from "./chunk-QZDOQRF7.js";
93
+ } from "./chunk-UZFY3CKD.js";
94
94
  import {
95
95
  outdatedTool
96
- } from "./chunk-Z4VBTVUM.js";
96
+ } from "./chunk-DFQDJT22.js";
97
97
  import {
98
98
  logsTool
99
- } from "./chunk-YZHK4TLF.js";
99
+ } from "./chunk-FQNXYA6W.js";
100
100
  import {
101
101
  documentTool
102
- } from "./chunk-HBM4QNXU.js";
102
+ } from "./chunk-IU4DV2PA.js";
103
103
  import {
104
104
  scaffoldTool
105
- } from "./chunk-2472NT76.js";
105
+ } from "./chunk-2OXHS3KZ.js";
106
106
  import {
107
107
  gitTool
108
- } from "./chunk-UMXVT7ST.js";
108
+ } from "./chunk-6AAOT4PW.js";
109
109
  import {
110
110
  patchTool
111
- } from "./chunk-COUNXG4X.js";
111
+ } from "./chunk-JLYA4X7K.js";
112
112
  import {
113
113
  jsonTool
114
- } from "./chunk-D4CXUZIF.js";
114
+ } from "./chunk-VD2LV5WO.js";
115
115
  import {
116
116
  diffTool
117
- } from "./chunk-7WV3D4S3.js";
117
+ } from "./chunk-34VLZ35Z.js";
118
118
  import {
119
119
  treeTool
120
- } from "./chunk-HWDB2G7J.js";
120
+ } from "./chunk-W232EFEM.js";
121
121
  import {
122
122
  lintTool
123
- } from "./chunk-ZKSBHXVB.js";
123
+ } from "./chunk-KWXIKGE3.js";
124
124
  import {
125
125
  formatTool
126
- } from "./chunk-ODFVG54U.js";
126
+ } from "./chunk-J74TMK4M.js";
127
127
  import {
128
128
  typecheckTool
129
- } from "./chunk-VFF3Q5Z3.js";
130
- import "./chunk-ZDUGI5BC.js";
129
+ } from "./chunk-QSNVDHOZ.js";
130
+ import "./chunk-I7FBZOEP.js";
131
131
  import {
132
132
  ADDITIONAL_LANGUAGE_PROFILES,
133
133
  LanguageProfileRegistry,
@@ -145,22 +145,22 @@ import {
145
145
  planLanguageOperation,
146
146
  validateCommandPlan,
147
147
  validateLanguageProfile
148
- } from "./chunk-UC3RKRIV.js";
149
- import "./chunk-ZHH3BEWU.js";
148
+ } from "./chunk-NDIT3SBZ.js";
149
+ import "./chunk-OYP27E3I.js";
150
150
  import {
151
151
  replaceTool
152
- } from "./chunk-OYVPBPCL.js";
152
+ } from "./chunk-HR67OWEP.js";
153
153
  import {
154
154
  globTool
155
- } from "./chunk-OJ4FIBAN.js";
155
+ } from "./chunk-ZMW6WJFT.js";
156
156
  import {
157
157
  grepTool
158
- } from "./chunk-N5O3FK5Q.js";
158
+ } from "./chunk-XSSFBS5I.js";
159
159
  import "./chunk-Q5JPPCZC.js";
160
- import "./chunk-NWZ6XGBJ.js";
160
+ import "./chunk-ZBMANLYH.js";
161
161
  import {
162
162
  bashTool
163
- } from "./chunk-WNUJR3H4.js";
163
+ } from "./chunk-5UFVCIUB.js";
164
164
  import {
165
165
  checkExecKillCommand,
166
166
  configureDangerBypass,
@@ -172,36 +172,36 @@ import {
172
172
  isExecCommandAllowed,
173
173
  resetDangerBypass,
174
174
  resetExecPolicy
175
- } from "./chunk-PMHVSHMU.js";
175
+ } from "./chunk-OTPTQBYE.js";
176
176
  import "./chunk-BTSFTGIL.js";
177
177
  import {
178
178
  getPersistentProcessRegistry,
179
179
  resetPersistentProcessRegistry
180
- } from "./chunk-NKNOBUBU.js";
181
- import "./chunk-2VSZC6QM.js";
180
+ } from "./chunk-QGF2C7TF.js";
181
+ import "./chunk-SCMRM6NL.js";
182
182
  import {
183
183
  _resetProcessRegistry,
184
184
  getProcessRegistry
185
- } from "./chunk-3PVYQFRQ.js";
185
+ } from "./chunk-ESLPBT5A.js";
186
186
  import {
187
187
  CircuitBreaker
188
188
  } from "./chunk-HFXSNKCV.js";
189
189
  import {
190
190
  fetchTool
191
- } from "./chunk-KD5EHYA2.js";
191
+ } from "./chunk-C2DQKVLO.js";
192
192
  import {
193
193
  searchTool
194
- } from "./chunk-PQTONQ4P.js";
194
+ } from "./chunk-QPNYDH5B.js";
195
195
  import "./chunk-NBDZMMG2.js";
196
196
  import {
197
197
  todoTool
198
- } from "./chunk-5ZYEGP2P.js";
198
+ } from "./chunk-BK732J7I.js";
199
199
  import {
200
200
  kanbanEvidenceKey,
201
201
  kanbanEvidencePointer,
202
202
  kanbanTool,
203
203
  recordKanbanVerificationEvidence
204
- } from "./chunk-FJEQZHZN.js";
204
+ } from "./chunk-W2CECGTG.js";
205
205
  import {
206
206
  SESSION_KANBAN_COLUMNS,
207
207
  applySessionKanbanBoardToTodos,
@@ -216,7 +216,7 @@ import {
216
216
  projectSessionTasksToKanban,
217
217
  projectSessionTodosToKanban,
218
218
  rebindSessionKanbanTask
219
- } from "./chunk-CWALNI6K.js";
219
+ } from "./chunk-X6KXNHUO.js";
220
220
  import {
221
221
  BrowserArtifactStore,
222
222
  BrowserNetworkGuardProxy,
@@ -245,17 +245,17 @@ import {
245
245
  resolvePinnedBrowserTarget,
246
246
  safeBrowserUrl,
247
247
  shutdownBrowserTools
248
- } from "./chunk-45JPRMC2.js";
248
+ } from "./chunk-QWKSKFKZ.js";
249
249
  import {
250
250
  readTool
251
- } from "./chunk-C3W3V54D.js";
251
+ } from "./chunk-NSPNFOJ7.js";
252
252
  import {
253
253
  writeTool
254
- } from "./chunk-MYRMD6PZ.js";
254
+ } from "./chunk-3GIKYHLA.js";
255
255
  import {
256
256
  editTool
257
- } from "./chunk-PRXZOIEW.js";
258
- import "./chunk-FQZOHLG3.js";
257
+ } from "./chunk-Z6IHMJMC.js";
258
+ import "./chunk-JSNSMG5R.js";
259
259
  import {
260
260
  cancelPendingReindexes,
261
261
  checkCodebaseIndexServerHealth,
@@ -275,25 +275,25 @@ import {
275
275
  shutdownCodebaseIndexHost,
276
276
  shutdownCodebaseIndexServer,
277
277
  symbolGraphService
278
- } from "./chunk-MRKWZCHZ.js";
279
- import "./chunk-W4GAAI3M.js";
278
+ } from "./chunk-Z5Q3TXRY.js";
279
+ import "./chunk-PV6HIZQD.js";
280
280
  import {
281
281
  CircuitOpenError,
282
282
  IndexCircuitBreaker,
283
283
  IndexTimeoutError,
284
284
  indexCircuitBreaker,
285
285
  resetIndexCircuitBreaker
286
- } from "./chunk-TFMVHYJI.js";
287
- import "./chunk-TX3R5NVV.js";
288
- import "./chunk-IIF5HIVF.js";
286
+ } from "./chunk-J43O3BOX.js";
287
+ import "./chunk-NU2IZ72J.js";
288
+ import "./chunk-VVZPQPTY.js";
289
289
  import "./chunk-6IEBD27U.js";
290
290
  import "./chunk-UCYQTZ7F.js";
291
291
  import "./chunk-YOHO4DVT.js";
292
292
  import "./chunk-DTQ75VBC.js";
293
293
  import {
294
294
  resolveWin32Command
295
- } from "./chunk-V43EQ6VR.js";
296
- import "./chunk-QLF74MSV.js";
295
+ } from "./chunk-KE7A76VC.js";
296
+ import "./chunk-ZUFHAHTE.js";
297
297
 
298
298
  // src/_session-shell.ts
299
299
  function normalizeShell(value) {
package/dist/install.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  installTool
3
- } from "./chunk-4Q7LFU4T.js";
4
- import "./chunk-ZDUGI5BC.js";
5
- import "./chunk-UC3RKRIV.js";
6
- import "./chunk-ZHH3BEWU.js";
7
- import "./chunk-2VSZC6QM.js";
8
- import "./chunk-3PVYQFRQ.js";
3
+ } from "./chunk-WAQASTXB.js";
4
+ import "./chunk-I7FBZOEP.js";
5
+ import "./chunk-NDIT3SBZ.js";
6
+ import "./chunk-OYP27E3I.js";
7
+ import "./chunk-SCMRM6NL.js";
8
+ import "./chunk-ESLPBT5A.js";
9
9
  import "./chunk-HFXSNKCV.js";
10
- import "./chunk-V43EQ6VR.js";
11
- import "./chunk-QLF74MSV.js";
10
+ import "./chunk-KE7A76VC.js";
11
+ import "./chunk-ZUFHAHTE.js";
12
12
  export {
13
13
  installTool
14
14
  };
@@ -158,23 +158,6 @@ function regexParse(opts) {
158
158
  );
159
159
  }
160
160
  }
161
- const defsRegex = /"\$defs"\s*:|"\$defs"\s*:/g;
162
- const defsMatch = defsRegex.exec(content);
163
- if (defsMatch !== null) {
164
- const offset = expectDefined(defsMatch.index);
165
- const line = lineFromOffset(offset);
166
- pushSymbol(
167
- makeSymbol({
168
- name: "$defs",
169
- kind: "property",
170
- line,
171
- col: offset - (lineOffsets[line - 1] ?? 0),
172
- signature: '"$defs": { ... }',
173
- file,
174
- lang
175
- })
176
- );
177
- }
178
161
  const defsPatterns = [
179
162
  /"\$defs"\s*:/g,
180
163
  /"definitions"\s*:/g,
@@ -276,4 +259,4 @@ export {
276
259
  detectLang,
277
260
  parseSymbols
278
261
  };
279
- //# sourceMappingURL=json-parser-2EOVP5MR.js.map
262
+ //# sourceMappingURL=json-parser-34DHYCPW.js.map
package/dist/json.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  jsonTool
3
- } from "./chunk-D4CXUZIF.js";
3
+ } from "./chunk-VD2LV5WO.js";
4
4
  import "./chunk-Q5JPPCZC.js";
5
- import "./chunk-QLF74MSV.js";
5
+ import "./chunk-ZUFHAHTE.js";
6
6
  export {
7
7
  jsonTool
8
8
  };
@@ -18,6 +18,8 @@ export interface KanbanToolInput extends Omit<AssignKanbanTaskInput, 'status'> {
18
18
  dueDate?: string | undefined;
19
19
  tags?: string[] | undefined;
20
20
  labels?: string[] | undefined;
21
+ /** Singular label filter — takes precedence over the first entry of `labels`. */
22
+ label?: string | undefined;
21
23
  priority?: KanbanTaskPriority | undefined;
22
24
  taskType?: KanbanTaskType | undefined;
23
25
  status?: KanbanTaskStatus | undefined;
package/dist/kanban.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  kanbanTool
3
- } from "./chunk-FJEQZHZN.js";
4
- import "./chunk-CWALNI6K.js";
3
+ } from "./chunk-W2CECGTG.js";
4
+ import "./chunk-X6KXNHUO.js";
5
5
  export {
6
6
  kanbanTool
7
7
  };
@@ -15,13 +15,13 @@ import {
15
15
  planLanguageOperation,
16
16
  validateCommandPlan,
17
17
  validateLanguageProfile
18
- } from "../chunk-UC3RKRIV.js";
19
- import "../chunk-ZHH3BEWU.js";
20
- import "../chunk-2VSZC6QM.js";
21
- import "../chunk-3PVYQFRQ.js";
18
+ } from "../chunk-NDIT3SBZ.js";
19
+ import "../chunk-OYP27E3I.js";
20
+ import "../chunk-SCMRM6NL.js";
21
+ import "../chunk-ESLPBT5A.js";
22
22
  import "../chunk-HFXSNKCV.js";
23
- import "../chunk-V43EQ6VR.js";
24
- import "../chunk-QLF74MSV.js";
23
+ import "../chunk-KE7A76VC.js";
24
+ import "../chunk-ZUFHAHTE.js";
25
25
  export {
26
26
  ADDITIONAL_LANGUAGE_PROFILES,
27
27
  LanguageProfileRegistry,
@@ -0,0 +1,18 @@
1
+ import {
2
+ detectNonJsEcosystem,
3
+ tryLegacyCodeOperation,
4
+ tryLegacyPackageOperation
5
+ } from "./chunk-I7FBZOEP.js";
6
+ import "./chunk-NDIT3SBZ.js";
7
+ import "./chunk-OYP27E3I.js";
8
+ import "./chunk-SCMRM6NL.js";
9
+ import "./chunk-ESLPBT5A.js";
10
+ import "./chunk-HFXSNKCV.js";
11
+ import "./chunk-KE7A76VC.js";
12
+ import "./chunk-ZUFHAHTE.js";
13
+ export {
14
+ detectNonJsEcosystem,
15
+ tryLegacyCodeOperation,
16
+ tryLegacyPackageOperation
17
+ };
18
+ //# sourceMappingURL=legacy-bridge-FOV5ODDI.js.map
package/dist/lint.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  lintTool
3
- } from "./chunk-ZKSBHXVB.js";
4
- import "./chunk-ZDUGI5BC.js";
5
- import "./chunk-UC3RKRIV.js";
6
- import "./chunk-ZHH3BEWU.js";
7
- import "./chunk-2VSZC6QM.js";
8
- import "./chunk-3PVYQFRQ.js";
3
+ } from "./chunk-KWXIKGE3.js";
4
+ import "./chunk-I7FBZOEP.js";
5
+ import "./chunk-NDIT3SBZ.js";
6
+ import "./chunk-OYP27E3I.js";
7
+ import "./chunk-SCMRM6NL.js";
8
+ import "./chunk-ESLPBT5A.js";
9
9
  import "./chunk-HFXSNKCV.js";
10
- import "./chunk-V43EQ6VR.js";
11
- import "./chunk-QLF74MSV.js";
10
+ import "./chunk-KE7A76VC.js";
11
+ import "./chunk-ZUFHAHTE.js";
12
12
  export {
13
13
  lintTool
14
14
  };
package/dist/logs.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  logsTool
3
- } from "./chunk-YZHK4TLF.js";
3
+ } from "./chunk-FQNXYA6W.js";
4
4
  import "./chunk-Q5JPPCZC.js";
5
- import "./chunk-QLF74MSV.js";
5
+ import "./chunk-ZUFHAHTE.js";
6
6
  export {
7
7
  logsTool
8
8
  };
package/dist/memory.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  relatedMemoryTool,
4
4
  rememberTool,
5
5
  searchMemoryTool
6
- } from "./chunk-WHIIIREL.js";
6
+ } from "./chunk-NYRLWDT5.js";
7
7
  export {
8
8
  forgetTool,
9
9
  relatedMemoryTool,
@@ -77,6 +77,8 @@ export declare function projectNextStepsToolInput(input: unknown): ParsedNextSte
77
77
  * carried one keep their suggestions.
78
78
  */
79
79
  export declare function isFinalTurnStopReason(stopReason: string | undefined): boolean;
80
+ /** Whether `index` falls inside a fenced code block of `content`. */
81
+ export declare function indexInsideCodeFence(content: string, index: number): boolean;
80
82
  /**
81
83
  * Parse canonical "<nextsteps>" blocks from assistant output (or raw numbered lines).
82
84
  *
@@ -94,6 +96,11 @@ export declare function parseNextSteps(content: string, requireHeading?: boolean
94
96
  *
95
97
  * Also strips the legacy `<next_steps>` spelling that older persisted
96
98
  * subagent output may contain (WebUI parity).
99
+ *
100
+ * Code-fence aware: a <nextsteps> example inside a fenced code block is
101
+ * documentation and must survive verbatim. Only tags (and their blocks)
102
+ * outside fences are removed; an unpaired open tag outside a fence is
103
+ * reduced to nothing so raw XML never reaches the user.
97
104
  */
98
105
  export declare function stripNextStepsBlock(text: string): string;
99
106
  //# sourceMappingURL=next-steps.d.ts.map
@@ -19,7 +19,41 @@ function projectNextStepsToolInput(input) {
19
19
  function isFinalTurnStopReason(stopReason) {
20
20
  return stopReason !== "tool_use" && stopReason !== "tool_call";
21
21
  }
22
- var NEXT_STEPS_TAG_RE = /<nextsteps\b[^>]*>\s*\n+/i;
22
+ function fenceSpans(content) {
23
+ const spans = [];
24
+ const lines = content.split("\n");
25
+ let offset = 0;
26
+ let open = null;
27
+ for (const line of lines) {
28
+ const lineStart = offset;
29
+ offset += line.length + 1;
30
+ const trimmed = line.trim();
31
+ const marker = /^(`{3,}|~{3,})/.exec(trimmed)?.[1];
32
+ if (marker === void 0) continue;
33
+ if (open === null) {
34
+ open = { markerChar: marker[0], markerLength: marker.length, start: lineStart };
35
+ continue;
36
+ }
37
+ if (marker[0] === open.markerChar && marker.length >= open.markerLength && trimmed === marker) {
38
+ spans.push([open.start, offset]);
39
+ open = null;
40
+ }
41
+ }
42
+ if (open !== null) spans.push([open.start, content.length]);
43
+ return spans;
44
+ }
45
+ function indexInsideCodeFence(content, index) {
46
+ return fenceSpans(content).some(([start, end]) => index >= start && index < end);
47
+ }
48
+ function nonFencedIndexOf(content, needle, fromIndex, spans) {
49
+ let at = fromIndex;
50
+ for (; ; ) {
51
+ const found = content.indexOf(needle, at);
52
+ if (found === -1) return -1;
53
+ if (!spans.some(([start, end]) => found >= start && found < end)) return found;
54
+ at = found + 1;
55
+ }
56
+ }
23
57
  var ITEM_RE = /^(?:(\d+)[.)]\s*|[-*•]\s*)(.+?)(\s+auto="true")?$/;
24
58
  var MAX_STEPS = 6;
25
59
  function parseNextSteps(content, requireHeading = true) {
@@ -62,11 +96,19 @@ function parseRawNumbered(content) {
62
96
  };
63
97
  }
64
98
  function parseWithHeading(content) {
65
- const headingMatch = NEXT_STEPS_TAG_RE.exec(content);
66
- if (!headingMatch) {
67
- return { steps: [], texts: [], stripped: content, autoTexts: [] };
99
+ const empty = { steps: [], texts: [], stripped: content, autoTexts: [] };
100
+ const spans = fenceSpans(content);
101
+ const outsideFences = (index) => !spans.some(([start, end]) => index >= start && index < end);
102
+ const headingScan = /<nextsteps\b[^>]*>\s*\n+/gi;
103
+ let heading = null;
104
+ for (let m = headingScan.exec(content); m !== null; m = headingScan.exec(content)) {
105
+ if (outsideFences(m.index)) {
106
+ heading = { index: m.index, length: m[0].length };
107
+ break;
108
+ }
68
109
  }
69
- const headingEnd = headingMatch.index + headingMatch[0].length;
110
+ if (heading === null) return empty;
111
+ const headingEnd = heading.index + heading.length;
70
112
  const afterHeading = content.slice(headingEnd);
71
113
  const lines = afterHeading.split("\n");
72
114
  const steps = [];
@@ -90,47 +132,49 @@ function parseWithHeading(content) {
90
132
  pushStep(steps, index, text, hasAuto);
91
133
  if (steps.length >= MAX_STEPS) break;
92
134
  }
93
- if (steps.length === 0) {
94
- return { steps: [], texts: [], stripped: content, autoTexts: [] };
95
- }
96
- if (!afterHeading.includes("</nextsteps>")) {
97
- return { steps: [], texts: [], stripped: content, autoTexts: [] };
98
- }
135
+ if (steps.length === 0) return empty;
136
+ const closeAbs = nonFencedIndexOf(content, "</nextsteps>", headingEnd, spans);
137
+ if (closeAbs === -1) return empty;
99
138
  const texts = steps.map((s) => s.text);
100
139
  const autoTexts = steps.filter((s) => s.auto).map((s) => s.text);
101
- const blockStart = headingMatch.index;
102
- const blockEnd = headingMatch[0].length + findBlockEnd(afterHeading, steps.length);
103
- const stripped = (content.slice(0, blockStart) + content.slice(blockStart + blockEnd)).replace(/\n{3,}/g, "\n\n").trim();
140
+ let blockEndAbs = closeAbs + "</nextsteps>".length;
141
+ if (content[blockEndAbs] === "\n") blockEndAbs += 1;
142
+ const stripped = (content.slice(0, heading.index) + content.slice(blockEndAbs)).replace(/\n{3,}/g, "\n\n").trim();
104
143
  return { steps, texts, stripped, autoTexts };
105
144
  }
106
- function findBlockEnd(afterHeading, stepCount) {
107
- const closeIdx = afterHeading.indexOf("</nextsteps>");
108
- if (closeIdx !== -1) {
109
- let end = closeIdx + "</nextsteps>".length;
110
- if (afterHeading[end] === "\n") end += 1;
111
- return end;
112
- }
113
- const lines = afterHeading.split("\n");
114
- let consumed = 0;
115
- let found = 0;
116
- for (const rawLine of lines) {
117
- const line = rawLine.trim();
118
- if (!line) break;
119
- const m = ITEM_RE.exec(line);
120
- if (!m) break;
121
- consumed += rawLine.length + 1;
122
- found++;
123
- if (found >= stepCount) {
124
- consumed -= 1;
125
- break;
145
+ function stripNextStepsBlock(text) {
146
+ const spans = fenceSpans(text);
147
+ const outsideFences = (index) => !spans.some(([start, end]) => index >= start && index < end);
148
+ let result = "";
149
+ let cursor = 0;
150
+ const openTagRe = /<next_?steps\b[^>]*>/gi;
151
+ for (let match = openTagRe.exec(text); match !== null; match = openTagRe.exec(text)) {
152
+ if (!outsideFences(match.index)) continue;
153
+ let removed;
154
+ if (match[0].endsWith("/>")) {
155
+ removed = match[0].length;
156
+ } else {
157
+ const closeRe = /<\/next_?steps\s*>/gi;
158
+ closeRe.lastIndex = match.index + match[0].length;
159
+ removed = -1;
160
+ for (let close = closeRe.exec(text); close !== null; close = closeRe.exec(text)) {
161
+ if (!outsideFences(close.index)) continue;
162
+ removed = close.index + close[0].length - match.index;
163
+ break;
164
+ }
165
+ if (removed === -1) {
166
+ removed = match[0].length;
167
+ }
126
168
  }
169
+ result += text.slice(cursor, match.index);
170
+ cursor = match.index + removed;
171
+ openTagRe.lastIndex = cursor;
127
172
  }
128
- return consumed;
129
- }
130
- function stripNextStepsBlock(text) {
131
- return text.replace(/<next_?steps\b[^>]*>[\s\S]*?<\/next_?steps>/gi, "").replace(/<next_?steps\b[^>]*\/?>/gi, "").replace(/\n{3,}/g, "\n\n").trim();
173
+ result += text.slice(cursor);
174
+ return result.replace(/\n{3,}/g, "\n\n").trim();
132
175
  }
133
176
  export {
177
+ indexInsideCodeFence,
134
178
  isFinalTurnStopReason,
135
179
  parseNextSteps,
136
180
  projectNextStepsToolInput,
package/dist/outdated.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import {
2
2
  outdatedTool
3
- } from "./chunk-Z4VBTVUM.js";
4
- import "./chunk-V43EQ6VR.js";
5
- import "./chunk-QLF74MSV.js";
3
+ } from "./chunk-DFQDJT22.js";
4
+ import "./chunk-ESLPBT5A.js";
5
+ import "./chunk-HFXSNKCV.js";
6
+ import "./chunk-KE7A76VC.js";
7
+ import "./chunk-ZUFHAHTE.js";
6
8
  export {
7
9
  outdatedTool
8
10
  };