@lousy-agents/cli 5.14.2 → 5.14.4
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/api/copilot-with-fastify/biome.template.json +1 -1
- package/api/copilot-with-fastify/package-lock.json +52 -40
- package/api/copilot-with-fastify/package.json +2 -2
- package/cli/copilot-with-citty/biome.template.json +1 -1
- package/cli/copilot-with-citty/package.json +2 -2
- package/dist/index.js +53 -33
- package/package.json +1 -1
- package/ui/copilot-with-react/biome.template.json +1 -1
- package/ui/copilot-with-react/package.json +2 -2
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"zod": "4.4.3"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@biomejs/biome": "2.4.
|
|
21
|
-
"@lousy-agents/mcp": "5.14.
|
|
20
|
+
"@biomejs/biome": "2.4.15",
|
|
21
|
+
"@lousy-agents/mcp": "5.14.3",
|
|
22
22
|
"@modelcontextprotocol/server-sequential-thinking": "2025.12.18",
|
|
23
23
|
"@testcontainers/postgresql": "11.14.0",
|
|
24
24
|
"@types/node": "24.12.3",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"license": "Apache-2.0"
|
|
39
39
|
},
|
|
40
40
|
"node_modules/@biomejs/biome": {
|
|
41
|
-
"version": "2.4.
|
|
42
|
-
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.
|
|
43
|
-
"integrity": "sha512-
|
|
41
|
+
"version": "2.4.15",
|
|
42
|
+
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.15.tgz",
|
|
43
|
+
"integrity": "sha512-j5VH3a/h/HXTKBM50MDMxRCzkeLv9S2XJcW2WgnZT1+xyisi+0bISrXR82gCX+8S9lvK0skEvHJRN+3Ktr2hlw==",
|
|
44
44
|
"dev": true,
|
|
45
45
|
"license": "MIT OR Apache-2.0",
|
|
46
46
|
"bin": {
|
|
@@ -54,20 +54,20 @@
|
|
|
54
54
|
"url": "https://opencollective.com/biome"
|
|
55
55
|
},
|
|
56
56
|
"optionalDependencies": {
|
|
57
|
-
"@biomejs/cli-darwin-arm64": "2.4.
|
|
58
|
-
"@biomejs/cli-darwin-x64": "2.4.
|
|
59
|
-
"@biomejs/cli-linux-arm64": "2.4.
|
|
60
|
-
"@biomejs/cli-linux-arm64-musl": "2.4.
|
|
61
|
-
"@biomejs/cli-linux-x64": "2.4.
|
|
62
|
-
"@biomejs/cli-linux-x64-musl": "2.4.
|
|
63
|
-
"@biomejs/cli-win32-arm64": "2.4.
|
|
64
|
-
"@biomejs/cli-win32-x64": "2.4.
|
|
57
|
+
"@biomejs/cli-darwin-arm64": "2.4.15",
|
|
58
|
+
"@biomejs/cli-darwin-x64": "2.4.15",
|
|
59
|
+
"@biomejs/cli-linux-arm64": "2.4.15",
|
|
60
|
+
"@biomejs/cli-linux-arm64-musl": "2.4.15",
|
|
61
|
+
"@biomejs/cli-linux-x64": "2.4.15",
|
|
62
|
+
"@biomejs/cli-linux-x64-musl": "2.4.15",
|
|
63
|
+
"@biomejs/cli-win32-arm64": "2.4.15",
|
|
64
|
+
"@biomejs/cli-win32-x64": "2.4.15"
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"node_modules/@biomejs/cli-darwin-arm64": {
|
|
68
|
-
"version": "2.4.
|
|
69
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.
|
|
70
|
-
"integrity": "sha512-
|
|
68
|
+
"version": "2.4.15",
|
|
69
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.15.tgz",
|
|
70
|
+
"integrity": "sha512-rF3PPqLq1yoST79zaQbDjVJwsuIeci/O+9bgNmC5QpgOqz6aqYuzA4abyAGx+mgyiDXn4A049xAN8gijbuR1Qg==",
|
|
71
71
|
"cpu": [
|
|
72
72
|
"arm64"
|
|
73
73
|
],
|
|
@@ -82,9 +82,9 @@
|
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
"node_modules/@biomejs/cli-darwin-x64": {
|
|
85
|
-
"version": "2.4.
|
|
86
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.
|
|
87
|
-
"integrity": "sha512
|
|
85
|
+
"version": "2.4.15",
|
|
86
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.15.tgz",
|
|
87
|
+
"integrity": "sha512-/5KHXYMfSJs1fNXiX30xFtI8JcCFV6zaVVLxOa0M2sfqBKHkpQhRTv94yxQWxeTY2lzo2OuTlNvPC+hDQt2wcQ==",
|
|
88
88
|
"cpu": [
|
|
89
89
|
"x64"
|
|
90
90
|
],
|
|
@@ -99,13 +99,16 @@
|
|
|
99
99
|
}
|
|
100
100
|
},
|
|
101
101
|
"node_modules/@biomejs/cli-linux-arm64": {
|
|
102
|
-
"version": "2.4.
|
|
103
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.
|
|
104
|
-
"integrity": "sha512-
|
|
102
|
+
"version": "2.4.15",
|
|
103
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.15.tgz",
|
|
104
|
+
"integrity": "sha512-owaAMZD/T4LrD0ELNCk0Km3qrRHuM0X6EAyVE1FSqGY0rbLoiDLrO4Us2tllm6cAeB2Ioa9C2C08NZPdr8+0Ug==",
|
|
105
105
|
"cpu": [
|
|
106
106
|
"arm64"
|
|
107
107
|
],
|
|
108
108
|
"dev": true,
|
|
109
|
+
"libc": [
|
|
110
|
+
"glibc"
|
|
111
|
+
],
|
|
109
112
|
"license": "MIT OR Apache-2.0",
|
|
110
113
|
"optional": true,
|
|
111
114
|
"os": [
|
|
@@ -116,13 +119,16 @@
|
|
|
116
119
|
}
|
|
117
120
|
},
|
|
118
121
|
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
|
119
|
-
"version": "2.4.
|
|
120
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.
|
|
121
|
-
"integrity": "sha512
|
|
122
|
+
"version": "2.4.15",
|
|
123
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.15.tgz",
|
|
124
|
+
"integrity": "sha512-ZPcxznxm0pogHBLZhYntyR3sR+MrZjqJIKEr7ZqVen0Rl+P/4upVmfYXjftizi9RoqZntg33fv/1fbdhbYXpEQ==",
|
|
122
125
|
"cpu": [
|
|
123
126
|
"arm64"
|
|
124
127
|
],
|
|
125
128
|
"dev": true,
|
|
129
|
+
"libc": [
|
|
130
|
+
"musl"
|
|
131
|
+
],
|
|
126
132
|
"license": "MIT OR Apache-2.0",
|
|
127
133
|
"optional": true,
|
|
128
134
|
"os": [
|
|
@@ -133,13 +139,16 @@
|
|
|
133
139
|
}
|
|
134
140
|
},
|
|
135
141
|
"node_modules/@biomejs/cli-linux-x64": {
|
|
136
|
-
"version": "2.4.
|
|
137
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.
|
|
138
|
-
"integrity": "sha512-
|
|
142
|
+
"version": "2.4.15",
|
|
143
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.15.tgz",
|
|
144
|
+
"integrity": "sha512-0jj7THz12GbUOLmMibktK6DZjqz2zV64KFxyBtcFTKPiiOIY0a7vns1elpO1dERvxpsZ5ik0oFfz0oGwFde1+g==",
|
|
139
145
|
"cpu": [
|
|
140
146
|
"x64"
|
|
141
147
|
],
|
|
142
148
|
"dev": true,
|
|
149
|
+
"libc": [
|
|
150
|
+
"glibc"
|
|
151
|
+
],
|
|
143
152
|
"license": "MIT OR Apache-2.0",
|
|
144
153
|
"optional": true,
|
|
145
154
|
"os": [
|
|
@@ -150,13 +159,16 @@
|
|
|
150
159
|
}
|
|
151
160
|
},
|
|
152
161
|
"node_modules/@biomejs/cli-linux-x64-musl": {
|
|
153
|
-
"version": "2.4.
|
|
154
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.
|
|
155
|
-
"integrity": "sha512-
|
|
162
|
+
"version": "2.4.15",
|
|
163
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.15.tgz",
|
|
164
|
+
"integrity": "sha512-CNq/9W38SYSH023lfcQ4KKU8K0YX8T//FZUhcgtMMRABDojx5XsMV7jlweAvGSl389wJQB29Qo6Zb/a+jdvt+w==",
|
|
156
165
|
"cpu": [
|
|
157
166
|
"x64"
|
|
158
167
|
],
|
|
159
168
|
"dev": true,
|
|
169
|
+
"libc": [
|
|
170
|
+
"musl"
|
|
171
|
+
],
|
|
160
172
|
"license": "MIT OR Apache-2.0",
|
|
161
173
|
"optional": true,
|
|
162
174
|
"os": [
|
|
@@ -167,9 +179,9 @@
|
|
|
167
179
|
}
|
|
168
180
|
},
|
|
169
181
|
"node_modules/@biomejs/cli-win32-arm64": {
|
|
170
|
-
"version": "2.4.
|
|
171
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.
|
|
172
|
-
"integrity": "sha512-
|
|
182
|
+
"version": "2.4.15",
|
|
183
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.15.tgz",
|
|
184
|
+
"integrity": "sha512-ouhkYdlhp/1GghEJPdWwD/Vi3gQ1nFxuSpMolWsbq3Lsq3QUR4jl6UdhhscdCugKU5vOEuMiJhvKj66O0OCq+w==",
|
|
173
185
|
"cpu": [
|
|
174
186
|
"arm64"
|
|
175
187
|
],
|
|
@@ -184,9 +196,9 @@
|
|
|
184
196
|
}
|
|
185
197
|
},
|
|
186
198
|
"node_modules/@biomejs/cli-win32-x64": {
|
|
187
|
-
"version": "2.4.
|
|
188
|
-
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.
|
|
189
|
-
"integrity": "sha512-
|
|
199
|
+
"version": "2.4.15",
|
|
200
|
+
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.15.tgz",
|
|
201
|
+
"integrity": "sha512-zBrGq5mx5wwpnow4+2BxUvleDM+GNd4sLbPaMapsSLQLD0NGRCquqPBTgN+7XkUteHvj7M+BstuI8tmnV7+HgQ==",
|
|
190
202
|
"cpu": [
|
|
191
203
|
"x64"
|
|
192
204
|
],
|
|
@@ -944,9 +956,9 @@
|
|
|
944
956
|
}
|
|
945
957
|
},
|
|
946
958
|
"node_modules/@lousy-agents/mcp": {
|
|
947
|
-
"version": "5.14.
|
|
948
|
-
"resolved": "https://registry.npmjs.org/@lousy-agents/mcp/-/mcp-5.14.
|
|
949
|
-
"integrity": "sha512-
|
|
959
|
+
"version": "5.14.3",
|
|
960
|
+
"resolved": "https://registry.npmjs.org/@lousy-agents/mcp/-/mcp-5.14.3.tgz",
|
|
961
|
+
"integrity": "sha512-KyOZHY6sfnwpsKJ98m+thulAHJTdlWrHLCJF+xx2H+Slf2uEoE/dUEFOFEIGximWWFfutOVOf4yetUX6Aqzxbw==",
|
|
950
962
|
"dev": true,
|
|
951
963
|
"license": "BSD-2-Clause-Patent",
|
|
952
964
|
"dependencies": {
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"zod": "4.4.3"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@biomejs/biome": "2.4.
|
|
32
|
-
"@lousy-agents/mcp": "5.14.
|
|
31
|
+
"@biomejs/biome": "2.4.15",
|
|
32
|
+
"@lousy-agents/mcp": "5.14.3",
|
|
33
33
|
"@modelcontextprotocol/server-sequential-thinking": "2025.12.18",
|
|
34
34
|
"@testcontainers/postgresql": "11.14.0",
|
|
35
35
|
"@types/node": "24.12.3",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"zod": "4.4.3"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@biomejs/biome": "2.4.
|
|
23
|
-
"@lousy-agents/mcp": "5.14.
|
|
22
|
+
"@biomejs/biome": "2.4.15",
|
|
23
|
+
"@lousy-agents/mcp": "5.14.3",
|
|
24
24
|
"@modelcontextprotocol/server-sequential-thinking": "2025.12.18",
|
|
25
25
|
"@types/node": "24.12.3",
|
|
26
26
|
"@upstash/context7-mcp": "2.2.4",
|
package/dist/index.js
CHANGED
|
@@ -3513,10 +3513,9 @@ function getFsSafePythonConfig() {
|
|
|
3513
3513
|
};
|
|
3514
3514
|
}
|
|
3515
3515
|
function canFallbackFromPythonError(error) {
|
|
3516
|
+
const code = error instanceof Error && "code" in error ? error.code : undefined;
|
|
3516
3517
|
return (getFsSafePythonConfig().mode !== "require" &&
|
|
3517
|
-
|
|
3518
|
-
"code" in error &&
|
|
3519
|
-
error.code === "helper-unavailable");
|
|
3518
|
+
(code === "helper-unavailable" || code === "unsupported-platform"));
|
|
3520
3519
|
}
|
|
3521
3520
|
|
|
3522
3521
|
// EXTERNAL MODULE: external "node:child_process"
|
|
@@ -27428,6 +27427,13 @@ async function checkAndPromptAgentShell(npmrcGateway, targetDir, prompt, environ
|
|
|
27428
27427
|
* until a directory containing package.json is found.
|
|
27429
27428
|
*/ function findPackageRoot(startDir) {
|
|
27430
27429
|
let dir = startDir;
|
|
27430
|
+
// Safe: existence-only stop-condition for directory traversal; no readFileSync
|
|
27431
|
+
// on the same path inside this loop. This function is private (not exported)
|
|
27432
|
+
// and its only call site is `findPackageRoot(__dirname)` at module init —
|
|
27433
|
+
// __dirname is always an absolute path derived from import.meta.url, never
|
|
27434
|
+
// user-controlled input. Do NOT export this function or call it with
|
|
27435
|
+
// external input without removing this suppression and adding path validation.
|
|
27436
|
+
// biome-ignore format: nosemgrep suppression requires inline trailing comment
|
|
27431
27437
|
while(!(0,external_node_fs_.existsSync)((0,external_node_path_.join)(dir, "package.json"))){
|
|
27432
27438
|
const parent = (0,external_node_path_.dirname)(dir);
|
|
27433
27439
|
if (parent === dir) {
|
|
@@ -50931,8 +50937,10 @@ class Composer {
|
|
|
50931
50937
|
}
|
|
50932
50938
|
}
|
|
50933
50939
|
if (afterDoc) {
|
|
50934
|
-
|
|
50935
|
-
|
|
50940
|
+
for (let i = 0; i < this.errors.length; ++i)
|
|
50941
|
+
doc.errors.push(this.errors[i]);
|
|
50942
|
+
for (let i = 0; i < this.warnings.length; ++i)
|
|
50943
|
+
doc.warnings.push(this.warnings[i]);
|
|
50936
50944
|
}
|
|
50937
50945
|
else {
|
|
50938
50946
|
doc.errors = this.errors;
|
|
@@ -54747,7 +54755,7 @@ class Lexer {
|
|
|
54747
54755
|
const n = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true));
|
|
54748
54756
|
this.indentNext = this.indentValue + 1;
|
|
54749
54757
|
this.indentValue += n;
|
|
54750
|
-
return
|
|
54758
|
+
return 'block-start';
|
|
54751
54759
|
}
|
|
54752
54760
|
return 'doc';
|
|
54753
54761
|
}
|
|
@@ -55068,32 +55076,36 @@ class Lexer {
|
|
|
55068
55076
|
return 0;
|
|
55069
55077
|
}
|
|
55070
55078
|
*pushIndicators() {
|
|
55071
|
-
|
|
55072
|
-
|
|
55073
|
-
|
|
55074
|
-
|
|
55075
|
-
|
|
55076
|
-
|
|
55077
|
-
|
|
55078
|
-
|
|
55079
|
-
|
|
55080
|
-
|
|
55081
|
-
|
|
55082
|
-
|
|
55083
|
-
|
|
55084
|
-
|
|
55085
|
-
|
|
55086
|
-
|
|
55087
|
-
|
|
55088
|
-
|
|
55089
|
-
|
|
55090
|
-
|
|
55091
|
-
|
|
55092
|
-
|
|
55079
|
+
let n = 0;
|
|
55080
|
+
loop: while (true) {
|
|
55081
|
+
switch (this.charAt(0)) {
|
|
55082
|
+
case '!':
|
|
55083
|
+
n += yield* this.pushTag();
|
|
55084
|
+
n += yield* this.pushSpaces(true);
|
|
55085
|
+
continue loop;
|
|
55086
|
+
case '&':
|
|
55087
|
+
n += yield* this.pushUntil(isNotAnchorChar);
|
|
55088
|
+
n += yield* this.pushSpaces(true);
|
|
55089
|
+
continue loop;
|
|
55090
|
+
case '-': // this is an error
|
|
55091
|
+
case '?': // this is an error outside flow collections
|
|
55092
|
+
case ':': {
|
|
55093
|
+
const inFlow = this.flowLevel > 0;
|
|
55094
|
+
const ch1 = this.charAt(1);
|
|
55095
|
+
if (isEmpty(ch1) || (inFlow && flowIndicatorChars.has(ch1))) {
|
|
55096
|
+
if (!inFlow)
|
|
55097
|
+
this.indentNext = this.indentValue + 1;
|
|
55098
|
+
else if (this.flowKey)
|
|
55099
|
+
this.flowKey = false;
|
|
55100
|
+
n += yield* this.pushCount(1);
|
|
55101
|
+
n += yield* this.pushSpaces(true);
|
|
55102
|
+
continue loop;
|
|
55103
|
+
}
|
|
55093
55104
|
}
|
|
55094
55105
|
}
|
|
55106
|
+
break loop;
|
|
55095
55107
|
}
|
|
55096
|
-
return
|
|
55108
|
+
return n;
|
|
55097
55109
|
}
|
|
55098
55110
|
*pushTag() {
|
|
55099
55111
|
if (this.charAt(1) === '<') {
|
|
@@ -55273,6 +55285,14 @@ function getFirstKeyStartProps(prev) {
|
|
|
55273
55285
|
}
|
|
55274
55286
|
return prev.splice(i, prev.length);
|
|
55275
55287
|
}
|
|
55288
|
+
function arrayPushArray(target, source) {
|
|
55289
|
+
// May exhaust call stack with large `source` array
|
|
55290
|
+
if (source.length < 1e5)
|
|
55291
|
+
Array.prototype.push.apply(target, source);
|
|
55292
|
+
else
|
|
55293
|
+
for (let i = 0; i < source.length; ++i)
|
|
55294
|
+
target.push(source[i]);
|
|
55295
|
+
}
|
|
55276
55296
|
function fixFlowSeqItems(fc) {
|
|
55277
55297
|
if (fc.start.type === 'flow-seq-start') {
|
|
55278
55298
|
for (const it of fc.items) {
|
|
@@ -55285,12 +55305,12 @@ function fixFlowSeqItems(fc) {
|
|
|
55285
55305
|
delete it.key;
|
|
55286
55306
|
if (isFlowToken(it.value)) {
|
|
55287
55307
|
if (it.value.end)
|
|
55288
|
-
|
|
55308
|
+
arrayPushArray(it.value.end, it.sep);
|
|
55289
55309
|
else
|
|
55290
55310
|
it.value.end = it.sep;
|
|
55291
55311
|
}
|
|
55292
55312
|
else
|
|
55293
|
-
|
|
55313
|
+
arrayPushArray(it.start, it.sep);
|
|
55294
55314
|
delete it.sep;
|
|
55295
55315
|
}
|
|
55296
55316
|
}
|
|
@@ -55710,7 +55730,7 @@ class Parser {
|
|
|
55710
55730
|
const prev = map.items[map.items.length - 2];
|
|
55711
55731
|
const end = prev?.value?.end;
|
|
55712
55732
|
if (Array.isArray(end)) {
|
|
55713
|
-
|
|
55733
|
+
arrayPushArray(end, it.start);
|
|
55714
55734
|
end.push(this.sourceToken);
|
|
55715
55735
|
map.items.pop();
|
|
55716
55736
|
return;
|
|
@@ -55925,7 +55945,7 @@ class Parser {
|
|
|
55925
55945
|
const prev = seq.items[seq.items.length - 2];
|
|
55926
55946
|
const end = prev?.value?.end;
|
|
55927
55947
|
if (Array.isArray(end)) {
|
|
55928
|
-
|
|
55948
|
+
arrayPushArray(end, it.start);
|
|
55929
55949
|
end.push(this.sourceToken);
|
|
55930
55950
|
seq.items.pop();
|
|
55931
55951
|
return;
|
package/package.json
CHANGED
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"react-dom": "19.2.6"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@biomejs/biome": "2.4.
|
|
24
|
+
"@biomejs/biome": "2.4.15",
|
|
25
25
|
"@eslint/eslintrc": "3.3.5",
|
|
26
|
-
"@lousy-agents/mcp": "5.14.
|
|
26
|
+
"@lousy-agents/mcp": "5.14.3",
|
|
27
27
|
"@modelcontextprotocol/server-sequential-thinking": "2025.12.18",
|
|
28
28
|
"@testing-library/jest-dom": "6.9.1",
|
|
29
29
|
"@testing-library/react": "16.3.2",
|