@wrongstack/tools 0.310.1 → 0.313.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.
- package/dist/_shell-pick.d.ts +5 -10
- package/dist/audit.js +10 -4055
- package/dist/bash.js +9 -2332
- package/dist/batch-tool-use.js +2 -187
- package/dist/browser/index.js +25 -1339
- package/dist/builtin.js +69 -33985
- package/dist/chunk-2CTB3UK5.js +197 -0
- package/dist/chunk-2ME7ZWDD.js +1272 -0
- package/dist/chunk-2TFQDEPU.js +113 -0
- package/dist/chunk-2ZCJNKFE.js +315 -0
- package/dist/chunk-3PVYQFRQ.js +472 -0
- package/dist/chunk-3QMQBO5Z.js +89 -0
- package/dist/chunk-42AKKX7O.js +385 -0
- package/dist/chunk-42SKEETB.js +113 -0
- package/dist/chunk-4BHUSMNL.js +104 -0
- package/dist/chunk-4I4LWFOO.js +431 -0
- package/dist/chunk-553IQUMO.js +478 -0
- package/dist/chunk-55KF77OK.js +1944 -0
- package/dist/chunk-6HLZK37X.js +359 -0
- package/dist/chunk-6RNIFLG4.js +305 -0
- package/dist/chunk-A6BRWIXN.js +317 -0
- package/dist/chunk-AHHDWNXC.js +200 -0
- package/dist/chunk-B2CIOKWP.js +899 -0
- package/dist/chunk-BTSFTGIL.js +7 -0
- package/dist/chunk-D33S4RQG.js +222 -0
- package/dist/chunk-DIJKHSUO.js +134 -0
- package/dist/chunk-DPL47QGS.js +3515 -0
- package/dist/chunk-EMRGN4KM.js +170 -0
- package/dist/chunk-FGOABE4Z.js +955 -0
- package/dist/chunk-FW65TP4G.js +520 -0
- package/dist/chunk-GOIZNNOA.js +221 -0
- package/dist/chunk-H5MJUAA6.js +295 -0
- package/dist/chunk-H5OHH6F4.js +223 -0
- package/dist/chunk-HC5RM4WY.js +199 -0
- package/dist/chunk-HEQFMLZ7.js +190 -0
- package/dist/chunk-HFXSNKCV.js +196 -0
- package/dist/chunk-HXSBQ2SE.js +1723 -0
- package/dist/chunk-ILESNGNM.js +163 -0
- package/dist/chunk-INF5CGAO.js +137 -0
- package/dist/chunk-IWDFZ6XR.js +337 -0
- package/dist/chunk-IXMNTNW5.js +238 -0
- package/dist/chunk-J4SRJKBW.js +428 -0
- package/dist/chunk-J5SKD6LN.js +235 -0
- package/dist/chunk-JRJJX3L5.js +424 -0
- package/dist/chunk-KXNDHMUB.js +366 -0
- package/dist/chunk-LIJQMYYX.js +59 -0
- package/dist/chunk-MAN26PZ5.js +260 -0
- package/dist/chunk-MKRQMLZA.js +474 -0
- package/dist/chunk-NBDZMMG2.js +169 -0
- package/dist/chunk-NHA6BEIH.js +101 -0
- package/dist/chunk-OA6YJIWL.js +4412 -0
- package/dist/chunk-OZC255IC.js +2830 -0
- package/dist/chunk-PUR6WU2B.js +154 -0
- package/dist/chunk-Q5JPPCZC.js +12 -0
- package/dist/chunk-QBV725YG.js +128 -0
- package/dist/chunk-QHVW4AAM.js +892 -0
- package/dist/chunk-QNJ7AQ4B.js +1000 -0
- package/dist/chunk-RGISBZBD.js +231 -0
- package/dist/chunk-RJZQWEMS.js +84 -0
- package/dist/chunk-RP2ZA47V.js +15 -0
- package/dist/chunk-RXISBFR5.js +315 -0
- package/dist/chunk-S5CCLZL3.js +99 -0
- package/dist/chunk-TVTCSBJF.js +122 -0
- package/dist/chunk-U4D5S3VQ.js +21 -0
- package/dist/chunk-U4VAATKP.js +193 -0
- package/dist/chunk-UKU2ZX4C.js +203 -0
- package/dist/chunk-UNSKG6DC.js +159 -0
- package/dist/chunk-URFKEIHM.js +1091 -0
- package/dist/chunk-UTV7YAW7.js +178 -0
- package/dist/chunk-V43EQ6VR.js +68 -0
- package/dist/chunk-VB3MJGCV.js +610 -0
- package/dist/chunk-WHIIIREL.js +223 -0
- package/dist/chunk-XMIFYKUT.js +1371 -0
- package/dist/chunk-YF2RSV34.js +54 -0
- package/dist/chunk-Z6DAKQ3U.js +1 -0
- package/dist/chunk-ZIGAZFWE.js +522 -0
- package/dist/circuit-breaker.js +3 -191
- package/dist/codebase-index/index.js +84 -13688
- package/dist/codebase-index/parser-worker-script.js +8 -3995
- package/dist/codebase-index/project-server.js +60 -8548
- package/dist/codebase-index/worker.js +20 -8416
- package/dist/design.js +2 -299
- package/dist/diff.js +4 -256
- package/dist/document.js +4 -222
- package/dist/e2e.js +5 -476
- package/dist/edit.js +14 -10200
- package/dist/exec.js +16 -3131
- package/dist/fetch.js +8 -398
- package/dist/format.js +10 -3750
- package/dist/generic-parser-VUXDIAOZ.js +13 -0
- package/dist/git.js +4 -380
- package/dist/glob.js +6 -280
- package/dist/go-parser-6CA77WZ4.js +469 -0
- package/dist/grep.js +7 -604
- package/dist/index.js +318 -35423
- package/dist/install.js +10 -4091
- package/dist/json-parser-7YMDJSBJ.js +213 -0
- package/dist/json.js +4 -665
- package/dist/kanban.js +3 -2096
- package/dist/languages/index.js +23 -4664
- package/dist/legacy-bridge-7UKZT46G.js +18 -0
- package/dist/lint.js +10 -3706
- package/dist/logs.js +4 -287
- package/dist/memory.js +6 -215
- package/dist/mode.js +3 -99
- package/dist/outdated.js +4 -5170
- package/dist/pack.js +65 -33933
- package/dist/parser-dispatch-VPOFDO2U.js +14 -0
- package/dist/patch.js +13 -9935
- package/dist/plan.js +5 -3286
- package/dist/process-registry.js +8 -651
- package/dist/ps-slash.js +12 -1439
- package/dist/py-parser-GPM5VYRG.js +16 -0
- package/dist/read.js +13 -9816
- package/dist/replace.js +15 -10014
- package/dist/rs-parser-WVQ4KYCX.js +81 -0
- package/dist/scaffold.js +4 -253
- package/dist/search.js +5 -585
- package/dist/session-kanban.js +30 -972
- package/dist/skill.js +2 -215
- package/dist/task.js +5 -3410
- package/dist/test.js +10 -3773
- package/dist/todo.js +4 -2891
- package/dist/tool-help.js +3 -123
- package/dist/tool-search.js +3 -79
- package/dist/tool-tier.js +68 -34020
- package/dist/tool-use.js +2 -93
- package/dist/tree-sitter-parser-YCILHGZD.js +17 -0
- package/dist/tree.js +4 -288
- package/dist/ts-parser-YH4ZMWMH.js +232 -0
- package/dist/typecheck.js +10 -3753
- package/dist/win32.js +6 -60
- package/dist/write.js +14 -9882
- package/dist/yaml-parser-GFAOKV53.js +157 -0
- package/package.json +5 -5
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import {
|
|
2
|
+
detectLang
|
|
3
|
+
} from "./chunk-ILESNGNM.js";
|
|
4
|
+
|
|
5
|
+
// src/codebase-index/yaml-parser.ts
|
|
6
|
+
import { expectDefined, truncate } from "@wrongstack/core/utils";
|
|
7
|
+
function parseSymbols(opts) {
|
|
8
|
+
const { file, content, lang } = opts;
|
|
9
|
+
try {
|
|
10
|
+
return regexParse({ file, content, lang });
|
|
11
|
+
} catch {
|
|
12
|
+
return { file, lang, symbols: [], mtimeMs: Date.now() };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function regexParse(opts) {
|
|
16
|
+
const { file, content, lang } = opts;
|
|
17
|
+
const symbols = [];
|
|
18
|
+
const lines = content.split("\n");
|
|
19
|
+
const lineOffsets = [0];
|
|
20
|
+
for (let i = 0; i < lines.length; i++) {
|
|
21
|
+
lineOffsets.push((lineOffsets[i] ?? 0) + (lines[i]?.length ?? 0) + 1);
|
|
22
|
+
}
|
|
23
|
+
function lineFromOffset(offset) {
|
|
24
|
+
let lo = 0;
|
|
25
|
+
let hi = lineOffsets.length - 1;
|
|
26
|
+
while (lo < hi) {
|
|
27
|
+
const mid = lo + hi + 1 >>> 1;
|
|
28
|
+
if (expectDefined(lineOffsets[mid]) <= offset) lo = mid;
|
|
29
|
+
else hi = mid - 1;
|
|
30
|
+
}
|
|
31
|
+
return lo + 1;
|
|
32
|
+
}
|
|
33
|
+
const anchorRegex = /&(\w[\w-]*)/g;
|
|
34
|
+
for (let match = anchorRegex.exec(content); match !== null; match = anchorRegex.exec(content)) {
|
|
35
|
+
const name = expectDefined(match[1]);
|
|
36
|
+
const offset = match.index ?? 0;
|
|
37
|
+
const line = lineFromOffset(offset);
|
|
38
|
+
const col = offset - (lineOffsets[line - 1] ?? 0);
|
|
39
|
+
symbols.push(
|
|
40
|
+
makeSymbol({
|
|
41
|
+
name,
|
|
42
|
+
kind: "const",
|
|
43
|
+
line,
|
|
44
|
+
col,
|
|
45
|
+
signature: `&${name}`,
|
|
46
|
+
file,
|
|
47
|
+
lang
|
|
48
|
+
})
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
const aliasRegex = /\*(\w[\w-]*)/g;
|
|
52
|
+
for (let match = aliasRegex.exec(content); match !== null; match = aliasRegex.exec(content)) {
|
|
53
|
+
const name = expectDefined(match[1]);
|
|
54
|
+
const offset = match.index ?? 0;
|
|
55
|
+
const line = lineFromOffset(offset);
|
|
56
|
+
const col = offset - (lineOffsets[line - 1] ?? 0);
|
|
57
|
+
symbols.push(
|
|
58
|
+
makeSymbol({
|
|
59
|
+
name,
|
|
60
|
+
kind: "const",
|
|
61
|
+
line,
|
|
62
|
+
col,
|
|
63
|
+
signature: `*${name}`,
|
|
64
|
+
file,
|
|
65
|
+
lang
|
|
66
|
+
})
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
const kvRegex = /^(\s*)([^:#\s][^:#\s]*)\s*:/gm;
|
|
70
|
+
for (let match = kvRegex.exec(content); match !== null; match = kvRegex.exec(content)) {
|
|
71
|
+
const indent = match[1]?.length ?? 0;
|
|
72
|
+
const key = match[2];
|
|
73
|
+
if (!key) continue;
|
|
74
|
+
const offset = match.index ?? 0;
|
|
75
|
+
const line = lineFromOffset(offset);
|
|
76
|
+
const col = offset - (lineOffsets[line - 1] ?? 0);
|
|
77
|
+
const lineContent = lines[line - 1] ?? "";
|
|
78
|
+
if (/^[|&>]/.test(lineContent.trim())) continue;
|
|
79
|
+
if (key === "---" || key === "...") continue;
|
|
80
|
+
if (indent > 12) continue;
|
|
81
|
+
const value = extractValue(content, match.index ?? 0);
|
|
82
|
+
const kind = isScalar(value) ? "literal" : "property";
|
|
83
|
+
const signature = `${key}: ${truncate(value, 60)}`;
|
|
84
|
+
symbols.push(makeSymbol({ name: key, kind, line, col, signature, file, lang }));
|
|
85
|
+
}
|
|
86
|
+
const listItemRegex = /^-(\s+)([^:#\s][^:#\s]*)\s*:/gm;
|
|
87
|
+
for (let match = listItemRegex.exec(content); match !== null; match = listItemRegex.exec(content)) {
|
|
88
|
+
const key = expectDefined(match[2]);
|
|
89
|
+
const offset = match.index ?? 0;
|
|
90
|
+
const line = lineFromOffset(offset);
|
|
91
|
+
const col = offset - (lineOffsets[line - 1] ?? 0);
|
|
92
|
+
const value = extractValue(content, offset + match[0]?.length);
|
|
93
|
+
const kind = isScalar(value) ? "literal" : "property";
|
|
94
|
+
symbols.push(
|
|
95
|
+
makeSymbol({
|
|
96
|
+
name: key,
|
|
97
|
+
kind,
|
|
98
|
+
line,
|
|
99
|
+
col,
|
|
100
|
+
signature: `- ${key}: ${truncate(value, 60)}`,
|
|
101
|
+
file,
|
|
102
|
+
lang
|
|
103
|
+
})
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
const blockScalarRegex = /^(\s*)([^:#\s][^:#\s]*)\s*:\s*[|>](\s|$)/gm;
|
|
107
|
+
for (let match = blockScalarRegex.exec(content); match !== null; match = blockScalarRegex.exec(content)) {
|
|
108
|
+
const key = expectDefined(match[2]);
|
|
109
|
+
const offset = match.index ?? 0;
|
|
110
|
+
const line = lineFromOffset(offset);
|
|
111
|
+
const col = offset - (lineOffsets[line - 1] ?? 0);
|
|
112
|
+
symbols.push(
|
|
113
|
+
makeSymbol({
|
|
114
|
+
name: key,
|
|
115
|
+
kind: "property",
|
|
116
|
+
line,
|
|
117
|
+
col,
|
|
118
|
+
signature: `${key}: | ...`,
|
|
119
|
+
file,
|
|
120
|
+
lang
|
|
121
|
+
})
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
return { file, lang, symbols, mtimeMs: Date.now() };
|
|
125
|
+
}
|
|
126
|
+
function extractValue(content, afterColonOffset) {
|
|
127
|
+
const lineEnd = content.indexOf("\n", afterColonOffset);
|
|
128
|
+
const rest = content.slice(afterColonOffset, lineEnd < 0 ? void 0 : lineEnd);
|
|
129
|
+
return rest.trim();
|
|
130
|
+
}
|
|
131
|
+
function isScalar(value) {
|
|
132
|
+
if (!value) return false;
|
|
133
|
+
if (/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/.test(value)) return true;
|
|
134
|
+
if (/^(true|false|null|undefined)$/i.test(value)) return true;
|
|
135
|
+
if (/^'[^']*'$/.test(value) || /^"[^"]*"$/.test(value)) return true;
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
function makeSymbol(opts) {
|
|
139
|
+
return {
|
|
140
|
+
id: 0,
|
|
141
|
+
lang: opts.lang,
|
|
142
|
+
kind: opts.kind,
|
|
143
|
+
name: opts.name,
|
|
144
|
+
file: opts.file,
|
|
145
|
+
line: opts.line,
|
|
146
|
+
col: opts.col,
|
|
147
|
+
signature: opts.signature,
|
|
148
|
+
docComment: "",
|
|
149
|
+
scope: "",
|
|
150
|
+
text: `${opts.name} ${opts.signature}`.trim()
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
export {
|
|
154
|
+
detectLang,
|
|
155
|
+
parseSymbols
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=yaml-parser-GFAOKV53.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wrongstack/tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.313.1",
|
|
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": {
|
|
@@ -253,10 +253,10 @@
|
|
|
253
253
|
"turndown": "^7.2.4",
|
|
254
254
|
"undici": "^8.10.0",
|
|
255
255
|
"web-tree-sitter": "0.26.12",
|
|
256
|
-
"@wrongstack/
|
|
257
|
-
"@wrongstack/
|
|
258
|
-
"@wrongstack/kanban": "0.
|
|
259
|
-
"@wrongstack/
|
|
256
|
+
"@wrongstack/persistence": "0.313.1",
|
|
257
|
+
"@wrongstack/core": "0.313.1",
|
|
258
|
+
"@wrongstack/kanban": "0.313.1",
|
|
259
|
+
"@wrongstack/primitives": "0.313.1"
|
|
260
260
|
},
|
|
261
261
|
"devDependencies": {
|
|
262
262
|
"@types/node": "^26.2.0",
|