codex-computer-use-mcp 0.1.0 → 0.3.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 (50) hide show
  1. package/ARCHITECTURE.md +150 -0
  2. package/CONTRIBUTING.md +16 -10
  3. package/MIGRATION.md +94 -0
  4. package/PROOF.md +128 -54
  5. package/README.md +97 -115
  6. package/SECURITY.md +45 -22
  7. package/dist/audit.d.ts +15 -14
  8. package/dist/audit.js +1 -1
  9. package/dist/audit.js.map +1 -1
  10. package/dist/config.d.ts +8 -8
  11. package/dist/config.js +8 -103
  12. package/dist/config.js.map +1 -1
  13. package/dist/direct-broker.d.ts +71 -0
  14. package/dist/direct-broker.js +652 -0
  15. package/dist/direct-broker.js.map +1 -0
  16. package/dist/direct-service.d.ts +33 -0
  17. package/dist/direct-service.js +350 -0
  18. package/dist/direct-service.js.map +1 -0
  19. package/dist/lock.d.ts +1 -0
  20. package/dist/lock.js +32 -3
  21. package/dist/lock.js.map +1 -1
  22. package/dist/mcp-elicitation.d.ts +8 -0
  23. package/dist/mcp-elicitation.js +47 -0
  24. package/dist/mcp-elicitation.js.map +1 -0
  25. package/dist/mcp-server.js +43 -100
  26. package/dist/mcp-server.js.map +1 -1
  27. package/dist/system.d.ts +0 -1
  28. package/dist/system.js +12 -37
  29. package/dist/system.js.map +1 -1
  30. package/dist/tools.d.ts +84 -0
  31. package/dist/tools.js +262 -0
  32. package/dist/tools.js.map +1 -0
  33. package/docs/adr/0001-standalone-code-mode-mcp.md +45 -0
  34. package/integrations/pi/README.md +51 -27
  35. package/integrations/pi/index.ts +237 -125
  36. package/integrations/pi/mcp.json.example +3 -3
  37. package/npm-shrinkwrap.json +3275 -48
  38. package/package.json +41 -13
  39. package/dist/policy.d.ts +0 -42
  40. package/dist/policy.js +0 -428
  41. package/dist/policy.js.map +0 -1
  42. package/dist/prompt.d.ts +0 -62
  43. package/dist/prompt.js +0 -119
  44. package/dist/prompt.js.map +0 -1
  45. package/dist/runner.d.ts +0 -55
  46. package/dist/runner.js +0 -494
  47. package/dist/runner.js.map +0 -1
  48. package/dist/service.d.ts +0 -17
  49. package/dist/service.js +0 -382
  50. package/dist/service.js.map +0 -1
@@ -1,47 +1,2579 @@
1
1
  {
2
2
  "name": "codex-computer-use-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "codex-computer-use-mcp",
9
- "version": "0.1.0",
9
+ "version": "0.3.0",
10
+ "license": "MIT",
11
+ "os": [
12
+ "darwin"
13
+ ],
14
+ "dependencies": {
15
+ "@modelcontextprotocol/sdk": "1.29.0",
16
+ "@types/node": "24.13.3",
17
+ "typescript": "7.0.2",
18
+ "zod": "4.4.3"
19
+ },
20
+ "bin": {
21
+ "codex-computer-use-mcp": "dist/mcp-server.js"
22
+ },
23
+ "devDependencies": {
24
+ "@earendil-works/pi-ai": "0.80.7",
25
+ "@earendil-works/pi-coding-agent": "0.80.7",
26
+ "@earendil-works/pi-tui": "0.80.7",
27
+ "typebox": "1.1.38"
28
+ },
29
+ "engines": {
30
+ "node": ">=22"
31
+ },
32
+ "peerDependencies": {
33
+ "@earendil-works/pi-ai": "*",
34
+ "@earendil-works/pi-coding-agent": "*",
35
+ "@earendil-works/pi-tui": "*",
36
+ "typebox": "*"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "@earendil-works/pi-ai": {
40
+ "optional": true
41
+ },
42
+ "@earendil-works/pi-coding-agent": {
43
+ "optional": true
44
+ },
45
+ "@earendil-works/pi-tui": {
46
+ "optional": true
47
+ },
48
+ "typebox": {
49
+ "optional": true
50
+ }
51
+ }
52
+ },
53
+ "node_modules/@anthropic-ai/sdk": {
54
+ "version": "0.91.1",
55
+ "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.91.1.tgz",
56
+ "integrity": "sha512-LAmu761tSN9r66ixvmciswUj/ZC+1Q4iAfpedTfSVLeswRwnY3n2Nb6Tsk+cLPP28aLOPWeMgIuTuCcMC6W/iw==",
57
+ "dev": true,
58
+ "license": "MIT",
59
+ "dependencies": {
60
+ "json-schema-to-ts": "^3.1.1"
61
+ },
62
+ "bin": {
63
+ "anthropic-ai-sdk": "bin/cli"
64
+ },
65
+ "peerDependencies": {
66
+ "zod": "^3.25.0 || ^4.0.0"
67
+ },
68
+ "peerDependenciesMeta": {
69
+ "zod": {
70
+ "optional": true
71
+ }
72
+ }
73
+ },
74
+ "node_modules/@aws-crypto/sha256-browser": {
75
+ "version": "5.2.0",
76
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
77
+ "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==",
78
+ "dev": true,
79
+ "license": "Apache-2.0",
80
+ "dependencies": {
81
+ "@aws-crypto/sha256-js": "^5.2.0",
82
+ "@aws-crypto/supports-web-crypto": "^5.2.0",
83
+ "@aws-crypto/util": "^5.2.0",
84
+ "@aws-sdk/types": "^3.222.0",
85
+ "@aws-sdk/util-locate-window": "^3.0.0",
86
+ "@smithy/util-utf8": "^2.0.0",
87
+ "tslib": "^2.6.2"
88
+ }
89
+ },
90
+ "node_modules/@aws-crypto/sha256-js": {
91
+ "version": "5.2.0",
92
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
93
+ "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
94
+ "dev": true,
95
+ "license": "Apache-2.0",
96
+ "dependencies": {
97
+ "@aws-crypto/util": "^5.2.0",
98
+ "@aws-sdk/types": "^3.222.0",
99
+ "tslib": "^2.6.2"
100
+ },
101
+ "engines": {
102
+ "node": ">=16.0.0"
103
+ }
104
+ },
105
+ "node_modules/@aws-crypto/supports-web-crypto": {
106
+ "version": "5.2.0",
107
+ "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
108
+ "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
109
+ "dev": true,
110
+ "license": "Apache-2.0",
111
+ "dependencies": {
112
+ "tslib": "^2.6.2"
113
+ }
114
+ },
115
+ "node_modules/@aws-crypto/util": {
116
+ "version": "5.2.0",
117
+ "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz",
118
+ "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
119
+ "dev": true,
120
+ "license": "Apache-2.0",
121
+ "dependencies": {
122
+ "@aws-sdk/types": "^3.222.0",
123
+ "@smithy/util-utf8": "^2.0.0",
124
+ "tslib": "^2.6.2"
125
+ }
126
+ },
127
+ "node_modules/@aws-sdk/client-bedrock-runtime": {
128
+ "version": "3.1048.0",
129
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.1048.0.tgz",
130
+ "integrity": "sha512-u+NT61JZEkRFtpL0CAw1N1dwxnaLgwVXQl/zjJxTGgLyS/jTIdg2SdoEoCTHxgDyCnqa1HEi9QOoE9/pYRNpOQ==",
131
+ "dev": true,
132
+ "license": "Apache-2.0",
133
+ "dependencies": {
134
+ "@aws-crypto/sha256-browser": "5.2.0",
135
+ "@aws-crypto/sha256-js": "5.2.0",
136
+ "@aws-sdk/core": "^3.974.11",
137
+ "@aws-sdk/credential-provider-node": "^3.972.42",
138
+ "@aws-sdk/eventstream-handler-node": "^3.972.16",
139
+ "@aws-sdk/middleware-eventstream": "^3.972.12",
140
+ "@aws-sdk/middleware-websocket": "^3.972.19",
141
+ "@aws-sdk/token-providers": "3.1048.0",
142
+ "@aws-sdk/types": "^3.973.8",
143
+ "@smithy/core": "^3.24.2",
144
+ "@smithy/fetch-http-handler": "^5.4.2",
145
+ "@smithy/node-http-handler": "^4.7.2",
146
+ "@smithy/types": "^4.14.1",
147
+ "tslib": "^2.6.2"
148
+ },
149
+ "engines": {
150
+ "node": ">=20.0.0"
151
+ }
152
+ },
153
+ "node_modules/@aws-sdk/core": {
154
+ "version": "3.975.1",
155
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.975.1.tgz",
156
+ "integrity": "sha512-8qh/6EYb7hl/ZwVfQufhbMEZs1gQIc7GbdrIf4eprQJ7cv042+74nE6l3YDfyWNzb9iPXb8fRyYSHkNIk5eE6Q==",
157
+ "dev": true,
158
+ "license": "Apache-2.0",
159
+ "dependencies": {
160
+ "@aws-sdk/types": "^3.974.0",
161
+ "@aws-sdk/xml-builder": "^3.972.34",
162
+ "@aws/lambda-invoke-store": "^0.3.0",
163
+ "@smithy/core": "^3.29.2",
164
+ "@smithy/signature-v4": "^5.6.3",
165
+ "@smithy/types": "^4.16.0",
166
+ "bowser": "^2.11.0",
167
+ "tslib": "^2.6.2"
168
+ },
169
+ "engines": {
170
+ "node": ">=20.0.0"
171
+ }
172
+ },
173
+ "node_modules/@aws-sdk/credential-provider-env": {
174
+ "version": "3.972.57",
175
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.57.tgz",
176
+ "integrity": "sha512-1RfJaF7SW1TOnvNGU7kaYjwUf5H3sfm+synGH1bHhRlqcnxCt3szebH3dmKEyY4tuGcbQ6ffzUT89cRitBV8OQ==",
177
+ "dev": true,
178
+ "license": "Apache-2.0",
179
+ "dependencies": {
180
+ "@aws-sdk/core": "^3.975.1",
181
+ "@aws-sdk/types": "^3.974.0",
182
+ "@smithy/core": "^3.29.2",
183
+ "@smithy/types": "^4.16.0",
184
+ "tslib": "^2.6.2"
185
+ },
186
+ "engines": {
187
+ "node": ">=20.0.0"
188
+ }
189
+ },
190
+ "node_modules/@aws-sdk/credential-provider-http": {
191
+ "version": "3.972.59",
192
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.59.tgz",
193
+ "integrity": "sha512-sRCkpTiFnCdQvuaRVjQ6SVoHu6i7RUpurVo1c4F81HWhPvUJ7Wdp5MNtSdX1O29CNXc8em3O5m52hCjVtAD9SA==",
194
+ "dev": true,
195
+ "license": "Apache-2.0",
196
+ "dependencies": {
197
+ "@aws-sdk/core": "^3.975.1",
198
+ "@aws-sdk/types": "^3.974.0",
199
+ "@smithy/core": "^3.29.2",
200
+ "@smithy/fetch-http-handler": "^5.6.4",
201
+ "@smithy/node-http-handler": "^4.9.4",
202
+ "@smithy/types": "^4.16.0",
203
+ "tslib": "^2.6.2"
204
+ },
205
+ "engines": {
206
+ "node": ">=20.0.0"
207
+ }
208
+ },
209
+ "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler": {
210
+ "version": "4.9.5",
211
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.9.5.tgz",
212
+ "integrity": "sha512-bNqdxTQTxmLbomSmlkZFz8L6B/feQ2HHzw4L2zY7Ecp2XffYAZq2uzdWDdxJHJFbEvqd+SRuluJso0P8+xPdbw==",
213
+ "dev": true,
214
+ "license": "Apache-2.0",
215
+ "dependencies": {
216
+ "@smithy/core": "^3.29.3",
217
+ "@smithy/types": "^4.16.1",
218
+ "tslib": "^2.6.2"
219
+ },
220
+ "engines": {
221
+ "node": ">=18.0.0"
222
+ }
223
+ },
224
+ "node_modules/@aws-sdk/credential-provider-ini": {
225
+ "version": "3.973.1",
226
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.973.1.tgz",
227
+ "integrity": "sha512-6d8H6ZAh3ZPKZ6fe1nG2OWeZEZPtt9ravoD1dezPdPtsSkJRoxGAnFSHwKT3E/Te6fHE30zRzjV6TD12rvF6yQ==",
228
+ "dev": true,
229
+ "license": "Apache-2.0",
230
+ "dependencies": {
231
+ "@aws-sdk/core": "^3.975.1",
232
+ "@aws-sdk/credential-provider-env": "^3.972.57",
233
+ "@aws-sdk/credential-provider-http": "^3.972.59",
234
+ "@aws-sdk/credential-provider-login": "^3.972.63",
235
+ "@aws-sdk/credential-provider-process": "^3.972.57",
236
+ "@aws-sdk/credential-provider-sso": "^3.973.1",
237
+ "@aws-sdk/credential-provider-web-identity": "^3.972.63",
238
+ "@aws-sdk/nested-clients": "^3.997.31",
239
+ "@aws-sdk/types": "^3.974.0",
240
+ "@smithy/core": "^3.29.2",
241
+ "@smithy/credential-provider-imds": "^4.4.7",
242
+ "@smithy/types": "^4.16.0",
243
+ "tslib": "^2.6.2"
244
+ },
245
+ "engines": {
246
+ "node": ">=20.0.0"
247
+ }
248
+ },
249
+ "node_modules/@aws-sdk/credential-provider-login": {
250
+ "version": "3.972.63",
251
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.63.tgz",
252
+ "integrity": "sha512-GREWRrMj0XnNKMaVa/Mauoaui26qBEHu71WWqXbwZOu/jFQOnPZjTf7u0KtGKC8VGa6VUs9kDWGgocrKNLS9vw==",
253
+ "dev": true,
254
+ "license": "Apache-2.0",
255
+ "dependencies": {
256
+ "@aws-sdk/core": "^3.975.1",
257
+ "@aws-sdk/nested-clients": "^3.997.31",
258
+ "@aws-sdk/types": "^3.974.0",
259
+ "@smithy/core": "^3.29.2",
260
+ "@smithy/types": "^4.16.0",
261
+ "tslib": "^2.6.2"
262
+ },
263
+ "engines": {
264
+ "node": ">=20.0.0"
265
+ }
266
+ },
267
+ "node_modules/@aws-sdk/credential-provider-node": {
268
+ "version": "3.972.66",
269
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.66.tgz",
270
+ "integrity": "sha512-f+qjRXZpz7sgzbc4QB+6nLKfyKFgRRXzWdXbsKPv/VhVRyHsDyq4yBWC/B75BAJpFIcUeI2XR/3gdWJ677zB4A==",
271
+ "dev": true,
272
+ "license": "Apache-2.0",
273
+ "dependencies": {
274
+ "@aws-sdk/credential-provider-env": "^3.972.57",
275
+ "@aws-sdk/credential-provider-http": "^3.972.59",
276
+ "@aws-sdk/credential-provider-ini": "^3.973.1",
277
+ "@aws-sdk/credential-provider-process": "^3.972.57",
278
+ "@aws-sdk/credential-provider-sso": "^3.973.1",
279
+ "@aws-sdk/credential-provider-web-identity": "^3.972.63",
280
+ "@aws-sdk/types": "^3.974.0",
281
+ "@smithy/core": "^3.29.2",
282
+ "@smithy/credential-provider-imds": "^4.4.7",
283
+ "@smithy/types": "^4.16.0",
284
+ "tslib": "^2.6.2"
285
+ },
286
+ "engines": {
287
+ "node": ">=20.0.0"
288
+ }
289
+ },
290
+ "node_modules/@aws-sdk/credential-provider-process": {
291
+ "version": "3.972.57",
292
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.57.tgz",
293
+ "integrity": "sha512-TiVQhuU0pbhIZAUZacbPHMyzrIdiH+lnx+PMY/Pu/b93dJrq3wdZwzUJ0TPpvNxaqbHsxJvQZW3/h/beLiKq7Q==",
294
+ "dev": true,
295
+ "license": "Apache-2.0",
296
+ "dependencies": {
297
+ "@aws-sdk/core": "^3.975.1",
298
+ "@aws-sdk/types": "^3.974.0",
299
+ "@smithy/core": "^3.29.2",
300
+ "@smithy/types": "^4.16.0",
301
+ "tslib": "^2.6.2"
302
+ },
303
+ "engines": {
304
+ "node": ">=20.0.0"
305
+ }
306
+ },
307
+ "node_modules/@aws-sdk/credential-provider-sso": {
308
+ "version": "3.973.1",
309
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.973.1.tgz",
310
+ "integrity": "sha512-3foTZUJ4821Ij60X7K3NJroygiZLnbBmarN+T//O2cjkISan90zElN3NBmgSlDrTQ7Gs6z/yO8V7h60QNcDZHQ==",
311
+ "dev": true,
312
+ "license": "Apache-2.0",
313
+ "dependencies": {
314
+ "@aws-sdk/core": "^3.975.1",
315
+ "@aws-sdk/nested-clients": "^3.997.31",
316
+ "@aws-sdk/token-providers": "3.1083.0",
317
+ "@aws-sdk/types": "^3.974.0",
318
+ "@smithy/core": "^3.29.2",
319
+ "@smithy/types": "^4.16.0",
320
+ "tslib": "^2.6.2"
321
+ },
322
+ "engines": {
323
+ "node": ">=20.0.0"
324
+ }
325
+ },
326
+ "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers": {
327
+ "version": "3.1083.0",
328
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1083.0.tgz",
329
+ "integrity": "sha512-s0woKnxuHrExLc5L2ArIH5BMkbonHPtt+5hSBM8oknp9M6QTuUmmAmJ2E0EdzCGONrO+8+ADPqvv6UX0nNcc7A==",
330
+ "dev": true,
331
+ "license": "Apache-2.0",
332
+ "dependencies": {
333
+ "@aws-sdk/core": "^3.975.1",
334
+ "@aws-sdk/nested-clients": "^3.997.31",
335
+ "@aws-sdk/types": "^3.974.0",
336
+ "@smithy/core": "^3.29.2",
337
+ "@smithy/types": "^4.16.0",
338
+ "tslib": "^2.6.2"
339
+ },
340
+ "engines": {
341
+ "node": ">=20.0.0"
342
+ }
343
+ },
344
+ "node_modules/@aws-sdk/credential-provider-web-identity": {
345
+ "version": "3.972.63",
346
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.63.tgz",
347
+ "integrity": "sha512-8qZLFhM69eKcS37m459ctPR05Qimycm/74OPVioe6wNZabMT54GYhwBju0+J656RkMasNSawWQu+c8CmBe3TUQ==",
348
+ "dev": true,
349
+ "license": "Apache-2.0",
350
+ "dependencies": {
351
+ "@aws-sdk/core": "^3.975.1",
352
+ "@aws-sdk/nested-clients": "^3.997.31",
353
+ "@aws-sdk/types": "^3.974.0",
354
+ "@smithy/core": "^3.29.2",
355
+ "@smithy/types": "^4.16.0",
356
+ "tslib": "^2.6.2"
357
+ },
358
+ "engines": {
359
+ "node": ">=20.0.0"
360
+ }
361
+ },
362
+ "node_modules/@aws-sdk/eventstream-handler-node": {
363
+ "version": "3.972.26",
364
+ "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.972.26.tgz",
365
+ "integrity": "sha512-RE1fu7Nn05vG0EUJM+8Sde2GFecC658WGaC/asPzLF6K4x3H5ZaDBcQtHRE67Gdgb1VZpyUUliYejHFK1qt0Uw==",
366
+ "dev": true,
367
+ "license": "Apache-2.0",
368
+ "dependencies": {
369
+ "@aws-sdk/types": "^3.974.0",
370
+ "@smithy/core": "^3.29.2",
371
+ "@smithy/types": "^4.16.0",
372
+ "tslib": "^2.6.2"
373
+ },
374
+ "engines": {
375
+ "node": ">=20.0.0"
376
+ }
377
+ },
378
+ "node_modules/@aws-sdk/middleware-eventstream": {
379
+ "version": "3.972.22",
380
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.972.22.tgz",
381
+ "integrity": "sha512-jtkgmhevnpzC1WeS+Y/sgymYbaQ6qg7pVOUl5cUT/8MiLptqrtnXQlNV80m+j2WIx5MIL7kVHIZNxxcK2tfUEQ==",
382
+ "dev": true,
383
+ "license": "Apache-2.0",
384
+ "dependencies": {
385
+ "@aws-sdk/types": "^3.974.0",
386
+ "@smithy/core": "^3.29.2",
387
+ "@smithy/types": "^4.16.0",
388
+ "tslib": "^2.6.2"
389
+ },
390
+ "engines": {
391
+ "node": ">=20.0.0"
392
+ }
393
+ },
394
+ "node_modules/@aws-sdk/middleware-websocket": {
395
+ "version": "3.972.39",
396
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-websocket/-/middleware-websocket-3.972.39.tgz",
397
+ "integrity": "sha512-CS1spxRSezmTmI3PD+3Xrnp6KryTSEz0EefA8u6uGd0s2I0uXseWHALDI/03Wi0IUczXNWo2QrZEaHDuJNby/Q==",
398
+ "dev": true,
399
+ "license": "Apache-2.0",
400
+ "dependencies": {
401
+ "@aws-sdk/core": "^3.975.1",
402
+ "@aws-sdk/types": "^3.974.0",
403
+ "@smithy/core": "^3.29.2",
404
+ "@smithy/fetch-http-handler": "^5.6.4",
405
+ "@smithy/signature-v4": "^5.6.3",
406
+ "@smithy/types": "^4.16.0",
407
+ "tslib": "^2.6.2"
408
+ },
409
+ "engines": {
410
+ "node": ">= 14.0.0"
411
+ }
412
+ },
413
+ "node_modules/@aws-sdk/nested-clients": {
414
+ "version": "3.997.31",
415
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.31.tgz",
416
+ "integrity": "sha512-BDHTpwcsZHEBNEJzOg/B1BkFYJxAXY50dau/NyVWs3d51F0WgIUGSWZot/Os+N3KpDhXeaXnz37mWffAvduREw==",
417
+ "dev": true,
418
+ "license": "Apache-2.0",
419
+ "dependencies": {
420
+ "@aws-sdk/core": "^3.975.1",
421
+ "@aws-sdk/signature-v4-multi-region": "^3.996.39",
422
+ "@aws-sdk/types": "^3.974.0",
423
+ "@smithy/core": "^3.29.2",
424
+ "@smithy/fetch-http-handler": "^5.6.4",
425
+ "@smithy/node-http-handler": "^4.9.4",
426
+ "@smithy/types": "^4.16.0",
427
+ "tslib": "^2.6.2"
428
+ },
429
+ "engines": {
430
+ "node": ">=20.0.0"
431
+ }
432
+ },
433
+ "node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler": {
434
+ "version": "4.9.5",
435
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.9.5.tgz",
436
+ "integrity": "sha512-bNqdxTQTxmLbomSmlkZFz8L6B/feQ2HHzw4L2zY7Ecp2XffYAZq2uzdWDdxJHJFbEvqd+SRuluJso0P8+xPdbw==",
437
+ "dev": true,
438
+ "license": "Apache-2.0",
439
+ "dependencies": {
440
+ "@smithy/core": "^3.29.3",
441
+ "@smithy/types": "^4.16.1",
442
+ "tslib": "^2.6.2"
443
+ },
444
+ "engines": {
445
+ "node": ">=18.0.0"
446
+ }
447
+ },
448
+ "node_modules/@aws-sdk/signature-v4-multi-region": {
449
+ "version": "3.996.39",
450
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.39.tgz",
451
+ "integrity": "sha512-8+srXqYIF8KYMLC4FxMLEM5Ek7kUNibJu1R4m8/fUhhNYIZZz26oGtKkCr8I/HiG2fFQxBvaGgQZT4/mqRCSnA==",
452
+ "dev": true,
453
+ "license": "Apache-2.0",
454
+ "dependencies": {
455
+ "@aws-sdk/types": "^3.974.0",
456
+ "@smithy/signature-v4": "^5.6.3",
457
+ "@smithy/types": "^4.16.0",
458
+ "tslib": "^2.6.2"
459
+ },
460
+ "engines": {
461
+ "node": ">=20.0.0"
462
+ }
463
+ },
464
+ "node_modules/@aws-sdk/token-providers": {
465
+ "version": "3.1048.0",
466
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1048.0.tgz",
467
+ "integrity": "sha512-k0y/GcuesuSfWyUM0WamrGyeZmltRYaPbHO82UDA6mZ/doB+FOHKutikPAtSXMn/hDz970cF+iRuuiYO9VEbAA==",
468
+ "dev": true,
469
+ "license": "Apache-2.0",
470
+ "dependencies": {
471
+ "@aws-sdk/core": "^3.974.11",
472
+ "@aws-sdk/nested-clients": "^3.997.9",
473
+ "@aws-sdk/types": "^3.973.8",
474
+ "@smithy/core": "^3.24.2",
475
+ "@smithy/types": "^4.14.1",
476
+ "tslib": "^2.6.2"
477
+ },
478
+ "engines": {
479
+ "node": ">=20.0.0"
480
+ }
481
+ },
482
+ "node_modules/@aws-sdk/types": {
483
+ "version": "3.974.0",
484
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.974.0.tgz",
485
+ "integrity": "sha512-QIBrw90CDm4O0UaIIzkU6DrFdeJzEb2Va5EPEVpyldj6sHJxB6cshhStJuhZxk3wR3PmjJlYsjPmY1kNb+KGBg==",
486
+ "dev": true,
487
+ "license": "Apache-2.0",
488
+ "dependencies": {
489
+ "@smithy/types": "^4.16.0",
490
+ "tslib": "^2.6.2"
491
+ },
492
+ "engines": {
493
+ "node": ">=20.0.0"
494
+ }
495
+ },
496
+ "node_modules/@aws-sdk/util-locate-window": {
497
+ "version": "3.965.8",
498
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.8.tgz",
499
+ "integrity": "sha512-uUbMs1cBZPafD0ohUj6EwNf0fPZ534NvBxHox4hjX+0Rxq5paSYUem7+hi833pYrzrcnBATKIYpR02MDXT5M9g==",
500
+ "dev": true,
501
+ "license": "Apache-2.0",
502
+ "dependencies": {
503
+ "tslib": "^2.6.2"
504
+ },
505
+ "engines": {
506
+ "node": ">=20.0.0"
507
+ }
508
+ },
509
+ "node_modules/@aws-sdk/xml-builder": {
510
+ "version": "3.972.34",
511
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.34.tgz",
512
+ "integrity": "sha512-wHhWL1y7sN3enBA8POrPpQM5jCcmu2ozyhbRei4c8OjVcEaEs6yLucLa/pla457ggS/ysuy7bosagz3HaJkZXA==",
513
+ "dev": true,
514
+ "license": "Apache-2.0",
515
+ "dependencies": {
516
+ "@smithy/types": "^4.16.0",
517
+ "tslib": "^2.6.2"
518
+ },
519
+ "engines": {
520
+ "node": ">=20.0.0"
521
+ }
522
+ },
523
+ "node_modules/@aws/lambda-invoke-store": {
524
+ "version": "0.3.0",
525
+ "resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.3.0.tgz",
526
+ "integrity": "sha512-sl4Bm6yiMNYrZKkqqDFWN0UfnWhlS8ivKxrYl+6t0gCLrqr8y3B2IqZZbFRkfaVVp7C/baApyh71P+LeE1A2sQ==",
527
+ "dev": true,
528
+ "license": "Apache-2.0",
529
+ "engines": {
530
+ "node": ">=18.0.0"
531
+ }
532
+ },
533
+ "node_modules/@babel/runtime": {
534
+ "version": "7.29.7",
535
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
536
+ "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
537
+ "dev": true,
538
+ "license": "MIT",
539
+ "engines": {
540
+ "node": ">=6.9.0"
541
+ }
542
+ },
543
+ "node_modules/@earendil-works/pi-ai": {
544
+ "version": "0.80.7",
545
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.7.tgz",
546
+ "integrity": "sha512-8RLKLwe5TFM9kKFMNu/lTzveduq4GxZbnlG6ba8FAhLeb5wJP4zbj1eBumKBRvggpFQnW5R/Vo2a8zTlHsV9SQ==",
547
+ "dev": true,
548
+ "license": "MIT",
549
+ "dependencies": {
550
+ "@anthropic-ai/sdk": "0.91.1",
551
+ "@aws-sdk/client-bedrock-runtime": "3.1048.0",
552
+ "@google/genai": "1.52.0",
553
+ "@mistralai/mistralai": "2.2.6",
554
+ "@opentelemetry/api": "1.9.0",
555
+ "@smithy/node-http-handler": "4.7.3",
556
+ "http-proxy-agent": "7.0.2",
557
+ "https-proxy-agent": "7.0.6",
558
+ "openai": "6.26.0",
559
+ "partial-json": "0.1.7",
560
+ "typebox": "1.1.38"
561
+ },
562
+ "bin": {
563
+ "pi-ai": "dist/cli.js"
564
+ },
565
+ "engines": {
566
+ "node": ">=22.19.0"
567
+ }
568
+ },
569
+ "node_modules/@earendil-works/pi-coding-agent": {
570
+ "version": "0.80.7",
571
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-0.80.7.tgz",
572
+ "integrity": "sha512-mxq3IClhdgmCrYiKuzKehs4QKCVJgKmlA70nUEzsgeNsGdxriT7o5sKQTCcxzVJkzDRMcHD/8tAP4/eGrV4gKQ==",
573
+ "dev": true,
574
+ "hasShrinkwrap": true,
575
+ "license": "MIT",
576
+ "dependencies": {
577
+ "@earendil-works/pi-agent-core": "^0.80.7",
578
+ "@earendil-works/pi-ai": "^0.80.7",
579
+ "@earendil-works/pi-tui": "^0.80.7",
580
+ "@silvia-odwyer/photon-node": "0.3.4",
581
+ "chalk": "5.6.2",
582
+ "cross-spawn": "7.0.6",
583
+ "diff": "8.0.4",
584
+ "glob": "13.0.6",
585
+ "highlight.js": "10.7.3",
586
+ "hosted-git-info": "9.0.3",
587
+ "ignore": "7.0.5",
588
+ "jiti": "2.7.0",
589
+ "minimatch": "10.2.5",
590
+ "proper-lockfile": "4.1.2",
591
+ "semver": "7.8.0",
592
+ "typebox": "1.1.38",
593
+ "undici": "8.5.0",
594
+ "yaml": "2.9.0"
595
+ },
596
+ "bin": {
597
+ "pi": "dist/cli.js"
598
+ },
599
+ "engines": {
600
+ "node": ">=22.19.0"
601
+ },
602
+ "optionalDependencies": {
603
+ "@mariozechner/clipboard": "0.3.9"
604
+ }
605
+ },
606
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@anthropic-ai/sdk": {
607
+ "version": "0.91.1",
608
+ "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.91.1.tgz",
609
+ "integrity": "sha512-LAmu761tSN9r66ixvmciswUj/ZC+1Q4iAfpedTfSVLeswRwnY3n2Nb6Tsk+cLPP28aLOPWeMgIuTuCcMC6W/iw==",
610
+ "dev": true,
611
+ "license": "MIT",
612
+ "dependencies": {
613
+ "json-schema-to-ts": "^3.1.1"
614
+ },
615
+ "bin": {
616
+ "anthropic-ai-sdk": "bin/cli"
617
+ },
618
+ "peerDependencies": {
619
+ "zod": "^3.25.0 || ^4.0.0"
620
+ },
621
+ "peerDependenciesMeta": {
622
+ "zod": {
623
+ "optional": true
624
+ }
625
+ }
626
+ },
627
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-crypto/crc32": {
628
+ "version": "5.2.0",
629
+ "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz",
630
+ "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==",
631
+ "dev": true,
632
+ "license": "Apache-2.0",
633
+ "dependencies": {
634
+ "@aws-crypto/util": "^5.2.0",
635
+ "@aws-sdk/types": "^3.222.0",
636
+ "tslib": "^2.6.2"
637
+ },
638
+ "engines": {
639
+ "node": ">=16.0.0"
640
+ }
641
+ },
642
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-crypto/sha256-browser": {
643
+ "version": "5.2.0",
644
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
645
+ "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==",
646
+ "dev": true,
647
+ "license": "Apache-2.0",
648
+ "dependencies": {
649
+ "@aws-crypto/sha256-js": "^5.2.0",
650
+ "@aws-crypto/supports-web-crypto": "^5.2.0",
651
+ "@aws-crypto/util": "^5.2.0",
652
+ "@aws-sdk/types": "^3.222.0",
653
+ "@aws-sdk/util-locate-window": "^3.0.0",
654
+ "@smithy/util-utf8": "^2.0.0",
655
+ "tslib": "^2.6.2"
656
+ }
657
+ },
658
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-crypto/sha256-js": {
659
+ "version": "5.2.0",
660
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
661
+ "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
662
+ "dev": true,
663
+ "license": "Apache-2.0",
664
+ "dependencies": {
665
+ "@aws-crypto/util": "^5.2.0",
666
+ "@aws-sdk/types": "^3.222.0",
667
+ "tslib": "^2.6.2"
668
+ },
669
+ "engines": {
670
+ "node": ">=16.0.0"
671
+ }
672
+ },
673
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-crypto/supports-web-crypto": {
674
+ "version": "5.2.0",
675
+ "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
676
+ "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
677
+ "dev": true,
678
+ "license": "Apache-2.0",
679
+ "dependencies": {
680
+ "tslib": "^2.6.2"
681
+ }
682
+ },
683
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-crypto/util": {
684
+ "version": "5.2.0",
685
+ "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz",
686
+ "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
687
+ "dev": true,
688
+ "license": "Apache-2.0",
689
+ "dependencies": {
690
+ "@aws-sdk/types": "^3.222.0",
691
+ "@smithy/util-utf8": "^2.0.0",
692
+ "tslib": "^2.6.2"
693
+ }
694
+ },
695
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/client-bedrock-runtime": {
696
+ "version": "3.1048.0",
697
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.1048.0.tgz",
698
+ "integrity": "sha512-u+NT61JZEkRFtpL0CAw1N1dwxnaLgwVXQl/zjJxTGgLyS/jTIdg2SdoEoCTHxgDyCnqa1HEi9QOoE9/pYRNpOQ==",
699
+ "dev": true,
700
+ "license": "Apache-2.0",
701
+ "dependencies": {
702
+ "@aws-crypto/sha256-browser": "5.2.0",
703
+ "@aws-crypto/sha256-js": "5.2.0",
704
+ "@aws-sdk/core": "^3.974.11",
705
+ "@aws-sdk/credential-provider-node": "^3.972.42",
706
+ "@aws-sdk/eventstream-handler-node": "^3.972.16",
707
+ "@aws-sdk/middleware-eventstream": "^3.972.12",
708
+ "@aws-sdk/middleware-websocket": "^3.972.19",
709
+ "@aws-sdk/token-providers": "3.1048.0",
710
+ "@aws-sdk/types": "^3.973.8",
711
+ "@smithy/core": "^3.24.2",
712
+ "@smithy/fetch-http-handler": "^5.4.2",
713
+ "@smithy/node-http-handler": "^4.7.2",
714
+ "@smithy/types": "^4.14.1",
715
+ "tslib": "^2.6.2"
716
+ },
717
+ "engines": {
718
+ "node": ">=20.0.0"
719
+ }
720
+ },
721
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/core": {
722
+ "version": "3.974.11",
723
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.11.tgz",
724
+ "integrity": "sha512-QpnINq5FZH6EOaDEkmHdT7eUunbvD27pDNQypaWjFyYz7Zl1q3UCMQErBZxpmfGfI7MvI2TlK8KTkgNpv8b1ug==",
725
+ "dev": true,
726
+ "license": "Apache-2.0",
727
+ "dependencies": {
728
+ "@aws-sdk/types": "^3.973.8",
729
+ "@aws-sdk/xml-builder": "^3.972.24",
730
+ "@aws/lambda-invoke-store": "^0.2.2",
731
+ "@smithy/core": "^3.24.2",
732
+ "@smithy/signature-v4": "^5.4.2",
733
+ "@smithy/types": "^4.14.1",
734
+ "bowser": "^2.11.0",
735
+ "tslib": "^2.6.2"
736
+ },
737
+ "engines": {
738
+ "node": ">=20.0.0"
739
+ }
740
+ },
741
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-env": {
742
+ "version": "3.972.37",
743
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.37.tgz",
744
+ "integrity": "sha512-/jpPvEh6f7ntmIzf7dNxoNX6Q8vt8UpesCjbW6mFfk4V1NW6bIy9qxcQ6WbA8As5yQhsZOe+xeNd4xHX8kdY2Q==",
745
+ "dev": true,
746
+ "license": "Apache-2.0",
747
+ "dependencies": {
748
+ "@aws-sdk/core": "^3.974.11",
749
+ "@aws-sdk/types": "^3.973.8",
750
+ "@smithy/core": "^3.24.2",
751
+ "@smithy/types": "^4.14.1",
752
+ "tslib": "^2.6.2"
753
+ },
754
+ "engines": {
755
+ "node": ">=20.0.0"
756
+ }
757
+ },
758
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-http": {
759
+ "version": "3.972.39",
760
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.39.tgz",
761
+ "integrity": "sha512-pIgTpisWyWg7X1bUbzSjuUYosYTD0Ghz2M0hkSTmb3a6i3qV3uU+NYJPI/E2XSC0HcsZh5rsLPzeXrkb2DS0Cg==",
762
+ "dev": true,
763
+ "license": "Apache-2.0",
764
+ "dependencies": {
765
+ "@aws-sdk/core": "^3.974.11",
766
+ "@aws-sdk/types": "^3.973.8",
767
+ "@smithy/core": "^3.24.2",
768
+ "@smithy/fetch-http-handler": "^5.4.2",
769
+ "@smithy/node-http-handler": "^4.7.2",
770
+ "@smithy/types": "^4.14.1",
771
+ "tslib": "^2.6.2"
772
+ },
773
+ "engines": {
774
+ "node": ">=20.0.0"
775
+ }
776
+ },
777
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-ini": {
778
+ "version": "3.972.41",
779
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.41.tgz",
780
+ "integrity": "sha512-u2tyjaxJJzW8UtW4SM1ZcPMDwO6y+kV+llvou+Adts0FAKyzes5jG4izQN+KX3yE8ZROpS5y1LJ//xL2iSf76w==",
781
+ "dev": true,
782
+ "license": "Apache-2.0",
783
+ "dependencies": {
784
+ "@aws-sdk/core": "^3.974.11",
785
+ "@aws-sdk/credential-provider-env": "^3.972.37",
786
+ "@aws-sdk/credential-provider-http": "^3.972.39",
787
+ "@aws-sdk/credential-provider-login": "^3.972.41",
788
+ "@aws-sdk/credential-provider-process": "^3.972.37",
789
+ "@aws-sdk/credential-provider-sso": "^3.972.41",
790
+ "@aws-sdk/credential-provider-web-identity": "^3.972.41",
791
+ "@aws-sdk/nested-clients": "^3.997.9",
792
+ "@aws-sdk/types": "^3.973.8",
793
+ "@smithy/core": "^3.24.2",
794
+ "@smithy/credential-provider-imds": "^4.3.2",
795
+ "@smithy/types": "^4.14.1",
796
+ "tslib": "^2.6.2"
797
+ },
798
+ "engines": {
799
+ "node": ">=20.0.0"
800
+ }
801
+ },
802
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-login": {
803
+ "version": "3.972.41",
804
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.41.tgz",
805
+ "integrity": "sha512-0LBitxXiAiaE5nlFPfpNIww/8FRY/I7WIndWsc9GmNFOM7cE1wNpVNQEGEk9Outg5l8xl+3vybxFyUy4l9q/LQ==",
806
+ "dev": true,
807
+ "license": "Apache-2.0",
808
+ "dependencies": {
809
+ "@aws-sdk/core": "^3.974.11",
810
+ "@aws-sdk/nested-clients": "^3.997.9",
811
+ "@aws-sdk/types": "^3.973.8",
812
+ "@smithy/core": "^3.24.2",
813
+ "@smithy/types": "^4.14.1",
814
+ "tslib": "^2.6.2"
815
+ },
816
+ "engines": {
817
+ "node": ">=20.0.0"
818
+ }
819
+ },
820
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-node": {
821
+ "version": "3.972.42",
822
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.42.tgz",
823
+ "integrity": "sha512-D4oon2zbqqsWOJUM99Gm3/ZyJ0IJvTXVN3PyloGb3kQEyI36fjCZheZj422lAgTWWd6TSHgiImLt3RIaLdv3dQ==",
824
+ "dev": true,
825
+ "license": "Apache-2.0",
826
+ "dependencies": {
827
+ "@aws-sdk/credential-provider-env": "^3.972.37",
828
+ "@aws-sdk/credential-provider-http": "^3.972.39",
829
+ "@aws-sdk/credential-provider-ini": "^3.972.41",
830
+ "@aws-sdk/credential-provider-process": "^3.972.37",
831
+ "@aws-sdk/credential-provider-sso": "^3.972.41",
832
+ "@aws-sdk/credential-provider-web-identity": "^3.972.41",
833
+ "@aws-sdk/types": "^3.973.8",
834
+ "@smithy/core": "^3.24.2",
835
+ "@smithy/credential-provider-imds": "^4.3.2",
836
+ "@smithy/types": "^4.14.1",
837
+ "tslib": "^2.6.2"
838
+ },
839
+ "engines": {
840
+ "node": ">=20.0.0"
841
+ }
842
+ },
843
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-process": {
844
+ "version": "3.972.37",
845
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.37.tgz",
846
+ "integrity": "sha512-7nVaHBUaWIddASYfVaA9O4D5ZVjewU3sCol9WqZPGfW0nR+0WqE0xHZnD/U2L33PlOB8KNXGKZ6wOES/QijKzg==",
847
+ "dev": true,
848
+ "license": "Apache-2.0",
849
+ "dependencies": {
850
+ "@aws-sdk/core": "^3.974.11",
851
+ "@aws-sdk/types": "^3.973.8",
852
+ "@smithy/core": "^3.24.2",
853
+ "@smithy/types": "^4.14.1",
854
+ "tslib": "^2.6.2"
855
+ },
856
+ "engines": {
857
+ "node": ">=20.0.0"
858
+ }
859
+ },
860
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-sso": {
861
+ "version": "3.972.41",
862
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.41.tgz",
863
+ "integrity": "sha512-IOWAWEHe5LkjSKkkUUX9ciV6Y1scHTsnfEkdt5yyC4Slrc7AGbkLPrpntjqh18ksJAMOaVhoBsO8p2WyTcY2wQ==",
864
+ "dev": true,
865
+ "license": "Apache-2.0",
866
+ "dependencies": {
867
+ "@aws-sdk/core": "^3.974.11",
868
+ "@aws-sdk/nested-clients": "^3.997.9",
869
+ "@aws-sdk/token-providers": "3.1048.0",
870
+ "@aws-sdk/types": "^3.973.8",
871
+ "@smithy/core": "^3.24.2",
872
+ "@smithy/types": "^4.14.1",
873
+ "tslib": "^2.6.2"
874
+ },
875
+ "engines": {
876
+ "node": ">=20.0.0"
877
+ }
878
+ },
879
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/credential-provider-web-identity": {
880
+ "version": "3.972.41",
881
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.41.tgz",
882
+ "integrity": "sha512-mbACk9Yypa8nm4iGZLs0PofOXEcTDOUw6wDnsPXNDNSd2WNXs1tSo+6nc/fh0jLYdfVZThhBL98PHW4aXFsG5A==",
883
+ "dev": true,
884
+ "license": "Apache-2.0",
885
+ "dependencies": {
886
+ "@aws-sdk/core": "^3.974.11",
887
+ "@aws-sdk/nested-clients": "^3.997.9",
888
+ "@aws-sdk/types": "^3.973.8",
889
+ "@smithy/core": "^3.24.2",
890
+ "@smithy/types": "^4.14.1",
891
+ "tslib": "^2.6.2"
892
+ },
893
+ "engines": {
894
+ "node": ">=20.0.0"
895
+ }
896
+ },
897
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/eventstream-handler-node": {
898
+ "version": "3.972.16",
899
+ "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.972.16.tgz",
900
+ "integrity": "sha512-yedpPgKftqjU5SlPFHfqWpOw6xSCRieWRG1euWOlXn4WJxt2VX92VprCa2PpSOXjVCAeK6dTjW9eJRXVig9yGA==",
901
+ "dev": true,
902
+ "license": "Apache-2.0",
903
+ "dependencies": {
904
+ "@aws-sdk/types": "^3.973.8",
905
+ "@smithy/core": "^3.24.2",
906
+ "@smithy/types": "^4.14.1",
907
+ "tslib": "^2.6.2"
908
+ },
909
+ "engines": {
910
+ "node": ">=20.0.0"
911
+ }
912
+ },
913
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/middleware-eventstream": {
914
+ "version": "3.972.12",
915
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.972.12.tgz",
916
+ "integrity": "sha512-tHTHHCHNrq6XklQvlzHBDJG4Iuhh7NVPRdtmvP+nHFA+5sxPlIDzlAHHgfoYHGvT3NXP1yVP/L5c3opUn6T3Qg==",
917
+ "dev": true,
918
+ "license": "Apache-2.0",
919
+ "dependencies": {
920
+ "@aws-sdk/types": "^3.973.8",
921
+ "@smithy/core": "^3.24.2",
922
+ "@smithy/types": "^4.14.1",
923
+ "tslib": "^2.6.2"
924
+ },
925
+ "engines": {
926
+ "node": ">=20.0.0"
927
+ }
928
+ },
929
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/middleware-websocket": {
930
+ "version": "3.972.19",
931
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-websocket/-/middleware-websocket-3.972.19.tgz",
932
+ "integrity": "sha512-mkEhOGYozqKQkbFaVrjwr0faiwwZza1v5/jSY6Tucm3bD+uKTazIUH/4Yo6aMnQD2ua2W9cMP6s8mvwTcjtqHw==",
933
+ "dev": true,
934
+ "license": "Apache-2.0",
935
+ "dependencies": {
936
+ "@aws-sdk/core": "^3.974.11",
937
+ "@aws-sdk/types": "^3.973.8",
938
+ "@smithy/core": "^3.24.2",
939
+ "@smithy/fetch-http-handler": "^5.4.2",
940
+ "@smithy/signature-v4": "^5.4.2",
941
+ "@smithy/types": "^4.14.1",
942
+ "tslib": "^2.6.2"
943
+ },
944
+ "engines": {
945
+ "node": ">= 14.0.0"
946
+ }
947
+ },
948
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/nested-clients": {
949
+ "version": "3.997.9",
950
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.9.tgz",
951
+ "integrity": "sha512-jPR3rnmRI4hWYyzfmTGBr7NblMp8QYYeflHXba1H6+7CGrWVqWKQzaXFQ4qbExqPRsXN3T3L3JxFhr6aouXUGQ==",
952
+ "dev": true,
953
+ "license": "Apache-2.0",
954
+ "dependencies": {
955
+ "@aws-crypto/sha256-browser": "5.2.0",
956
+ "@aws-crypto/sha256-js": "5.2.0",
957
+ "@aws-sdk/core": "^3.974.11",
958
+ "@aws-sdk/signature-v4-multi-region": "^3.996.27",
959
+ "@aws-sdk/types": "^3.973.8",
960
+ "@smithy/core": "^3.24.2",
961
+ "@smithy/fetch-http-handler": "^5.4.2",
962
+ "@smithy/node-http-handler": "^4.7.2",
963
+ "@smithy/types": "^4.14.1",
964
+ "tslib": "^2.6.2"
965
+ },
966
+ "engines": {
967
+ "node": ">=20.0.0"
968
+ }
969
+ },
970
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/signature-v4-multi-region": {
971
+ "version": "3.996.27",
972
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.27.tgz",
973
+ "integrity": "sha512-0Phbz4t6HI3D3skxvG2uI+VWU034/nSIw1T8d+FPzzQG9EQTrw94o9mOKO2Gv3n3Oc8P7JD7RAUxkoneLWv5Eg==",
974
+ "dev": true,
975
+ "license": "Apache-2.0",
976
+ "dependencies": {
977
+ "@aws-sdk/types": "^3.973.8",
978
+ "@smithy/core": "^3.24.2",
979
+ "@smithy/signature-v4": "^5.4.2",
980
+ "@smithy/types": "^4.14.1",
981
+ "tslib": "^2.6.2"
982
+ },
983
+ "engines": {
984
+ "node": ">=20.0.0"
985
+ }
986
+ },
987
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/token-providers": {
988
+ "version": "3.1048.0",
989
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1048.0.tgz",
990
+ "integrity": "sha512-k0y/GcuesuSfWyUM0WamrGyeZmltRYaPbHO82UDA6mZ/doB+FOHKutikPAtSXMn/hDz970cF+iRuuiYO9VEbAA==",
991
+ "dev": true,
992
+ "license": "Apache-2.0",
993
+ "dependencies": {
994
+ "@aws-sdk/core": "^3.974.11",
995
+ "@aws-sdk/nested-clients": "^3.997.9",
996
+ "@aws-sdk/types": "^3.973.8",
997
+ "@smithy/core": "^3.24.2",
998
+ "@smithy/types": "^4.14.1",
999
+ "tslib": "^2.6.2"
1000
+ },
1001
+ "engines": {
1002
+ "node": ">=20.0.0"
1003
+ }
1004
+ },
1005
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/types": {
1006
+ "version": "3.973.8",
1007
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.8.tgz",
1008
+ "integrity": "sha512-gjlAdtHMbtR9X5iIhVUvbVcy55KnznpC6bkDUWW9z915bi0ckdUr5cjf16Kp6xq0bP5HBD2xzgbL9F9Quv5vUw==",
1009
+ "dev": true,
1010
+ "license": "Apache-2.0",
1011
+ "dependencies": {
1012
+ "@smithy/types": "^4.14.1",
1013
+ "tslib": "^2.6.2"
1014
+ },
1015
+ "engines": {
1016
+ "node": ">=20.0.0"
1017
+ }
1018
+ },
1019
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/util-locate-window": {
1020
+ "version": "3.965.5",
1021
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.5.tgz",
1022
+ "integrity": "sha512-WhlJNNINQB+9qtLtZJcpQdgZw3SCDCpXdUJP7cToGwHbCWCnRckGlc6Bx/OhWwIYFNAn+FIydY8SZ0QmVu3xTQ==",
1023
+ "dev": true,
1024
+ "license": "Apache-2.0",
1025
+ "dependencies": {
1026
+ "tslib": "^2.6.2"
1027
+ },
1028
+ "engines": {
1029
+ "node": ">=20.0.0"
1030
+ }
1031
+ },
1032
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws-sdk/xml-builder": {
1033
+ "version": "3.972.24",
1034
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.24.tgz",
1035
+ "integrity": "sha512-V8z5YcDPfsvzrBlj0xR1vhRtocblhYbqdreCJB/voGd4Sr5zjNAeWxexbnqVtskTJe0vFb5KMqbSL++ePl+zRw==",
1036
+ "dev": true,
1037
+ "license": "Apache-2.0",
1038
+ "dependencies": {
1039
+ "@nodable/entities": "2.1.0",
1040
+ "@smithy/types": "^4.14.1",
1041
+ "fast-xml-parser": "5.7.3",
1042
+ "tslib": "^2.6.2"
1043
+ },
1044
+ "engines": {
1045
+ "node": ">=20.0.0"
1046
+ }
1047
+ },
1048
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@aws/lambda-invoke-store": {
1049
+ "version": "0.2.4",
1050
+ "resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.4.tgz",
1051
+ "integrity": "sha512-iY8yvjE0y651BixKNPgmv1WrQc+GZ142sb0z4gYnChDDY2YqI4P/jsSopBWrKfAt7LOJAkOXt7rC/hms+WclQQ==",
1052
+ "dev": true,
1053
+ "license": "Apache-2.0",
1054
+ "engines": {
1055
+ "node": ">=18.0.0"
1056
+ }
1057
+ },
1058
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@babel/runtime": {
1059
+ "version": "7.29.2",
1060
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz",
1061
+ "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==",
1062
+ "dev": true,
1063
+ "license": "MIT",
1064
+ "engines": {
1065
+ "node": ">=6.9.0"
1066
+ }
1067
+ },
1068
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-agent-core": {
1069
+ "version": "0.80.7",
1070
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.80.7.tgz",
1071
+ "dev": true,
1072
+ "license": "MIT",
1073
+ "dependencies": {
1074
+ "@earendil-works/pi-ai": "^0.80.7",
1075
+ "ignore": "7.0.5",
1076
+ "typebox": "1.1.38",
1077
+ "yaml": "2.9.0"
1078
+ },
1079
+ "engines": {
1080
+ "node": ">=22.19.0"
1081
+ }
1082
+ },
1083
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-ai": {
1084
+ "version": "0.80.7",
1085
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.7.tgz",
1086
+ "dev": true,
1087
+ "license": "MIT",
1088
+ "dependencies": {
1089
+ "@anthropic-ai/sdk": "0.91.1",
1090
+ "@aws-sdk/client-bedrock-runtime": "3.1048.0",
1091
+ "@google/genai": "1.52.0",
1092
+ "@mistralai/mistralai": "2.2.6",
1093
+ "@opentelemetry/api": "1.9.0",
1094
+ "@smithy/node-http-handler": "4.7.3",
1095
+ "http-proxy-agent": "7.0.2",
1096
+ "https-proxy-agent": "7.0.6",
1097
+ "openai": "6.26.0",
1098
+ "partial-json": "0.1.7",
1099
+ "typebox": "1.1.38"
1100
+ },
1101
+ "bin": {
1102
+ "pi-ai": "./dist/cli.js"
1103
+ },
1104
+ "engines": {
1105
+ "node": ">=22.19.0"
1106
+ }
1107
+ },
1108
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-tui": {
1109
+ "version": "0.80.7",
1110
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.7.tgz",
1111
+ "dev": true,
1112
+ "license": "MIT",
1113
+ "dependencies": {
1114
+ "get-east-asian-width": "1.6.0",
1115
+ "marked": "18.0.5"
1116
+ },
1117
+ "engines": {
1118
+ "node": ">=22.19.0"
1119
+ }
1120
+ },
1121
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@google/genai": {
1122
+ "version": "1.52.0",
1123
+ "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.52.0.tgz",
1124
+ "integrity": "sha512-gwSvbpiN/17O9TbsqSsE/OzZcpv5Fo4RQjdngGgogtuB9RsyJ8ZHhX5KjHj1bp5N9snN2eK8LDGXSaWW2hof8Q==",
1125
+ "dev": true,
1126
+ "hasInstallScript": true,
1127
+ "license": "Apache-2.0",
1128
+ "dependencies": {
1129
+ "google-auth-library": "^10.3.0",
1130
+ "p-retry": "^4.6.2",
1131
+ "protobufjs": "^7.5.4",
1132
+ "ws": "^8.18.0"
1133
+ },
1134
+ "engines": {
1135
+ "node": ">=20.0.0"
1136
+ },
1137
+ "peerDependencies": {
1138
+ "@modelcontextprotocol/sdk": "^1.25.2"
1139
+ },
1140
+ "peerDependenciesMeta": {
1141
+ "@modelcontextprotocol/sdk": {
1142
+ "optional": true
1143
+ }
1144
+ }
1145
+ },
1146
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard": {
1147
+ "version": "0.3.9",
1148
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard/-/clipboard-0.3.9.tgz",
1149
+ "integrity": "sha512-ABnA53mdfkGZwOFUdZNv2S0CWGO/EIuPj8Vv9xmBFmSYg/qFc7ihO6q5FcQjvoE67kZpWkEc4AhD6B/os04yuA==",
1150
+ "dev": true,
1151
+ "license": "MIT",
1152
+ "optional": true,
1153
+ "engines": {
1154
+ "node": ">= 10"
1155
+ },
1156
+ "optionalDependencies": {
1157
+ "@mariozechner/clipboard-darwin-arm64": "0.3.9",
1158
+ "@mariozechner/clipboard-darwin-universal": "0.3.9",
1159
+ "@mariozechner/clipboard-darwin-x64": "0.3.9",
1160
+ "@mariozechner/clipboard-linux-arm64-gnu": "0.3.9",
1161
+ "@mariozechner/clipboard-linux-arm64-musl": "0.3.9",
1162
+ "@mariozechner/clipboard-linux-riscv64-gnu": "0.3.9",
1163
+ "@mariozechner/clipboard-linux-x64-gnu": "0.3.9",
1164
+ "@mariozechner/clipboard-linux-x64-musl": "0.3.9",
1165
+ "@mariozechner/clipboard-win32-arm64-msvc": "0.3.9",
1166
+ "@mariozechner/clipboard-win32-x64-msvc": "0.3.9"
1167
+ }
1168
+ },
1169
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-darwin-arm64": {
1170
+ "version": "0.3.9",
1171
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-arm64/-/clipboard-darwin-arm64-0.3.9.tgz",
1172
+ "integrity": "sha512-BfgV7vCEWZwJwZJw03r6bP5+tf0iI/ANuQYCxi9RNn7FrWB3yzGuMKCrNLRl6V761vXRdL8+OqZ0wd4TqlsNOQ==",
1173
+ "cpu": [
1174
+ "arm64"
1175
+ ],
1176
+ "dev": true,
1177
+ "license": "MIT",
1178
+ "optional": true,
1179
+ "os": [
1180
+ "darwin"
1181
+ ],
1182
+ "engines": {
1183
+ "node": ">= 10"
1184
+ }
1185
+ },
1186
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-darwin-universal": {
1187
+ "version": "0.3.9",
1188
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-universal/-/clipboard-darwin-universal-0.3.9.tgz",
1189
+ "integrity": "sha512-BGGR4iA9Z2shAjI65eI5xtyb3LYNlDW9X3gxKxDbqtbnREohsrqznov6zpKoIrsRWpzlYVEdKphS7ksJ0/ndSQ==",
1190
+ "dev": true,
1191
+ "license": "MIT",
1192
+ "optional": true,
1193
+ "os": [
1194
+ "darwin"
1195
+ ],
1196
+ "engines": {
1197
+ "node": ">= 10"
1198
+ }
1199
+ },
1200
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-darwin-x64": {
1201
+ "version": "0.3.9",
1202
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-x64/-/clipboard-darwin-x64-0.3.9.tgz",
1203
+ "integrity": "sha512-4kURmCbS6nt8uYhtmWpUcJWyPHfmAr5dTpXD1nO3pIfa+TSQ9DbrGOYCKH+aEFW47XhQ4Vp8ZTszie+wfFvDKg==",
1204
+ "cpu": [
1205
+ "x64"
1206
+ ],
1207
+ "dev": true,
1208
+ "license": "MIT",
1209
+ "optional": true,
1210
+ "os": [
1211
+ "darwin"
1212
+ ],
1213
+ "engines": {
1214
+ "node": ">= 10"
1215
+ }
1216
+ },
1217
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-arm64-gnu": {
1218
+ "version": "0.3.9",
1219
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-gnu/-/clipboard-linux-arm64-gnu-0.3.9.tgz",
1220
+ "integrity": "sha512-g59OkUGP2DDfCOIKypHeYgv2M55u/cKvXa5dSxFbEJ34XvIQMdcVmpKCkGUro3ZgefXiGVdwguvTMQGpHWzIXw==",
1221
+ "cpu": [
1222
+ "arm64"
1223
+ ],
1224
+ "dev": true,
1225
+ "libc": [
1226
+ "glibc"
1227
+ ],
1228
+ "license": "MIT",
1229
+ "optional": true,
1230
+ "os": [
1231
+ "linux"
1232
+ ],
1233
+ "engines": {
1234
+ "node": ">= 10"
1235
+ }
1236
+ },
1237
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-arm64-musl": {
1238
+ "version": "0.3.9",
1239
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-musl/-/clipboard-linux-arm64-musl-0.3.9.tgz",
1240
+ "integrity": "sha512-AGuJdgKsmJdm4Pych7kv3sqe591ERRaAHW3xjLooiFzn8J+PxUyof++7YZrB5Y5tpnTO+K18Og3taj2NpluCRQ==",
1241
+ "cpu": [
1242
+ "arm64"
1243
+ ],
1244
+ "dev": true,
1245
+ "libc": [
1246
+ "musl"
1247
+ ],
1248
+ "license": "MIT",
1249
+ "optional": true,
1250
+ "os": [
1251
+ "linux"
1252
+ ],
1253
+ "engines": {
1254
+ "node": ">= 10"
1255
+ }
1256
+ },
1257
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-riscv64-gnu": {
1258
+ "version": "0.3.9",
1259
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-riscv64-gnu/-/clipboard-linux-riscv64-gnu-0.3.9.tgz",
1260
+ "integrity": "sha512-DXBEAiuMpk7dhS1a9NzNxVAFi1vaKoPu7rQNgY8LIDLGrK3lnIp3nT10DUum+PKVJoJppIP+NAA8IZe4DMNDPw==",
1261
+ "cpu": [
1262
+ "riscv64"
1263
+ ],
1264
+ "dev": true,
1265
+ "libc": [
1266
+ "glibc"
1267
+ ],
1268
+ "license": "MIT",
1269
+ "optional": true,
1270
+ "os": [
1271
+ "linux"
1272
+ ],
1273
+ "engines": {
1274
+ "node": ">= 10"
1275
+ }
1276
+ },
1277
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-x64-gnu": {
1278
+ "version": "0.3.9",
1279
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-gnu/-/clipboard-linux-x64-gnu-0.3.9.tgz",
1280
+ "integrity": "sha512-WORrMLd6EpElEME7JRKfSaY34nW1P5LbdgK5YNCS1ncG2LqmITsSMEJ8nh2mpvxb3TxqbOOKgY7k9eMJYlW9Mw==",
1281
+ "cpu": [
1282
+ "x64"
1283
+ ],
1284
+ "dev": true,
1285
+ "libc": [
1286
+ "glibc"
1287
+ ],
1288
+ "license": "MIT",
1289
+ "optional": true,
1290
+ "os": [
1291
+ "linux"
1292
+ ],
1293
+ "engines": {
1294
+ "node": ">= 10"
1295
+ }
1296
+ },
1297
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-x64-musl": {
1298
+ "version": "0.3.9",
1299
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-musl/-/clipboard-linux-x64-musl-0.3.9.tgz",
1300
+ "integrity": "sha512-/DHn+1DrfL6oRaPPWXaOKvonFFrni666fxd+zFqiQEfvBH0tsHVWjq9iqBk0oDp0qaPA72lIMy5BptxISBEhZQ==",
1301
+ "cpu": [
1302
+ "x64"
1303
+ ],
1304
+ "dev": true,
1305
+ "libc": [
1306
+ "musl"
1307
+ ],
1308
+ "license": "MIT",
1309
+ "optional": true,
1310
+ "os": [
1311
+ "linux"
1312
+ ],
1313
+ "engines": {
1314
+ "node": ">= 10"
1315
+ }
1316
+ },
1317
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-win32-arm64-msvc": {
1318
+ "version": "0.3.9",
1319
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-arm64-msvc/-/clipboard-win32-arm64-msvc-0.3.9.tgz",
1320
+ "integrity": "sha512-O5FHD3ErkMwMhNzAfu3ggy0ug4z7btZuoQgwwxlzPrwV2bxlD6WDpqBY4NCgICAgZdDKdp+loUEKVAVt8aYnhQ==",
1321
+ "cpu": [
1322
+ "arm64"
1323
+ ],
1324
+ "dev": true,
1325
+ "license": "MIT",
1326
+ "optional": true,
1327
+ "os": [
1328
+ "win32"
1329
+ ],
1330
+ "engines": {
1331
+ "node": ">= 10"
1332
+ }
1333
+ },
1334
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-win32-x64-msvc": {
1335
+ "version": "0.3.9",
1336
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-x64-msvc/-/clipboard-win32-x64-msvc-0.3.9.tgz",
1337
+ "integrity": "sha512-ihQC3EufqEY81vhXBgVBtK4prL+wc62zJsSvxrgz7K1hsdt6OObz6v9p3Rn1OG3GJksTTKMJF0u/guMISHPhSA==",
1338
+ "cpu": [
1339
+ "x64"
1340
+ ],
1341
+ "dev": true,
1342
+ "license": "MIT",
1343
+ "optional": true,
1344
+ "os": [
1345
+ "win32"
1346
+ ],
1347
+ "engines": {
1348
+ "node": ">= 10"
1349
+ }
1350
+ },
1351
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mistralai/mistralai": {
1352
+ "version": "2.2.6",
1353
+ "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-2.2.6.tgz",
1354
+ "integrity": "sha512-W8pX7zHxjJvMIpw8JMxeJEleapXX0Q9NPszdNzqkM3MIEoIGPObdodujj+WHteXEvGfaP/AMwlNyRfEzSY6dQQ==",
1355
+ "dev": true,
1356
+ "license": "Apache-2.0",
1357
+ "dependencies": {
1358
+ "@opentelemetry/semantic-conventions": "^1.40.0",
1359
+ "ws": "^8.18.0",
1360
+ "zod": "^3.25.0 || ^4.0.0",
1361
+ "zod-to-json-schema": "^3.25.0"
1362
+ },
1363
+ "peerDependencies": {
1364
+ "@opentelemetry/api": "^1.9.0"
1365
+ },
1366
+ "peerDependenciesMeta": {
1367
+ "@opentelemetry/api": {
1368
+ "optional": true
1369
+ }
1370
+ }
1371
+ },
1372
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@nodable/entities": {
1373
+ "version": "2.1.0",
1374
+ "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz",
1375
+ "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==",
1376
+ "dev": true,
1377
+ "funding": [
1378
+ {
1379
+ "type": "github",
1380
+ "url": "https://github.com/sponsors/nodable"
1381
+ }
1382
+ ],
1383
+ "license": "MIT"
1384
+ },
1385
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@opentelemetry/api": {
1386
+ "version": "1.9.0",
1387
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
1388
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
1389
+ "dev": true,
1390
+ "license": "Apache-2.0",
1391
+ "engines": {
1392
+ "node": ">=8.0.0"
1393
+ }
1394
+ },
1395
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@opentelemetry/semantic-conventions": {
1396
+ "version": "1.41.1",
1397
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.41.1.tgz",
1398
+ "integrity": "sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==",
1399
+ "dev": true,
1400
+ "license": "Apache-2.0",
1401
+ "engines": {
1402
+ "node": ">=14"
1403
+ }
1404
+ },
1405
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/aspromise": {
1406
+ "version": "1.1.2",
1407
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
1408
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
1409
+ "dev": true,
1410
+ "license": "BSD-3-Clause"
1411
+ },
1412
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/base64": {
1413
+ "version": "1.1.2",
1414
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
1415
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
1416
+ "dev": true,
1417
+ "license": "BSD-3-Clause"
1418
+ },
1419
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/codegen": {
1420
+ "version": "2.0.5",
1421
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
1422
+ "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
1423
+ "dev": true,
1424
+ "license": "BSD-3-Clause"
1425
+ },
1426
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/eventemitter": {
1427
+ "version": "1.1.1",
1428
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
1429
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
1430
+ "dev": true,
1431
+ "license": "BSD-3-Clause"
1432
+ },
1433
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/fetch": {
1434
+ "version": "1.1.1",
1435
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz",
1436
+ "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
1437
+ "dev": true,
1438
+ "license": "BSD-3-Clause",
1439
+ "dependencies": {
1440
+ "@protobufjs/aspromise": "^1.1.1"
1441
+ }
1442
+ },
1443
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/float": {
1444
+ "version": "1.0.2",
1445
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
1446
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
1447
+ "dev": true,
1448
+ "license": "BSD-3-Clause"
1449
+ },
1450
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/path": {
1451
+ "version": "1.1.2",
1452
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
1453
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
1454
+ "dev": true,
1455
+ "license": "BSD-3-Clause"
1456
+ },
1457
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/pool": {
1458
+ "version": "1.1.0",
1459
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
1460
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
1461
+ "dev": true,
1462
+ "license": "BSD-3-Clause"
1463
+ },
1464
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/utf8": {
1465
+ "version": "1.1.1",
1466
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz",
1467
+ "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==",
1468
+ "dev": true,
1469
+ "license": "BSD-3-Clause"
1470
+ },
1471
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@silvia-odwyer/photon-node": {
1472
+ "version": "0.3.4",
1473
+ "resolved": "https://registry.npmjs.org/@silvia-odwyer/photon-node/-/photon-node-0.3.4.tgz",
1474
+ "integrity": "sha512-bnly4BKB3KDTFxrUIcgCLbaeVVS8lrAkri1pEzskpmxu9MdfGQTy8b8EgcD83ywD3RPMsIulY8xJH5Awa+t9fA==",
1475
+ "dev": true,
1476
+ "license": "Apache-2.0"
1477
+ },
1478
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/core": {
1479
+ "version": "3.24.3",
1480
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.24.3.tgz",
1481
+ "integrity": "sha512-Ep/7tPamGY8mgESE3LyLKtxJyy6U52WWAqr/3wial47Sj4u3PiIF73AOGI27UyLy9duTkhZbgzodOfLV4TduZg==",
1482
+ "dev": true,
1483
+ "license": "Apache-2.0",
1484
+ "dependencies": {
1485
+ "@aws-crypto/crc32": "5.2.0",
1486
+ "@smithy/types": "^4.14.2",
1487
+ "tslib": "^2.6.2"
1488
+ },
1489
+ "engines": {
1490
+ "node": ">=18.0.0"
1491
+ }
1492
+ },
1493
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/credential-provider-imds": {
1494
+ "version": "4.3.3",
1495
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.3.tgz",
1496
+ "integrity": "sha512-I2Bti0DKFo2IJyN28ijCsx51BAumEYR4/1yZ1FXyBygy9MqbnMqCev4JPth/MbpRfBSRAX35hITSnAdJRo1u5w==",
1497
+ "dev": true,
1498
+ "license": "Apache-2.0",
1499
+ "dependencies": {
1500
+ "@smithy/core": "^3.24.3",
1501
+ "@smithy/types": "^4.14.2",
1502
+ "tslib": "^2.6.2"
1503
+ },
1504
+ "engines": {
1505
+ "node": ">=18.0.0"
1506
+ }
1507
+ },
1508
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/fetch-http-handler": {
1509
+ "version": "5.4.3",
1510
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.4.3.tgz",
1511
+ "integrity": "sha512-F+DRf8IJazRJgYog2A/yJK7eYVc0rqTlRzO+5ZxjJd4WkZoKz0IJRncf7G6t1pdVT3kryJcwuTFhN1c5m6N47A==",
1512
+ "dev": true,
1513
+ "license": "Apache-2.0",
1514
+ "dependencies": {
1515
+ "@smithy/core": "^3.24.3",
1516
+ "@smithy/types": "^4.14.2",
1517
+ "tslib": "^2.6.2"
1518
+ },
1519
+ "engines": {
1520
+ "node": ">=18.0.0"
1521
+ }
1522
+ },
1523
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/is-array-buffer": {
1524
+ "version": "2.2.0",
1525
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
1526
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
1527
+ "dev": true,
1528
+ "license": "Apache-2.0",
1529
+ "dependencies": {
1530
+ "tslib": "^2.6.2"
1531
+ },
1532
+ "engines": {
1533
+ "node": ">=14.0.0"
1534
+ }
1535
+ },
1536
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/node-http-handler": {
1537
+ "version": "4.7.3",
1538
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.3.tgz",
1539
+ "integrity": "sha512-/jPhevcTFPMVl6KNjbaI47iOg1zxC7IsnX4PQDGVZKMFceOXtB8IEYaB7a9VvkP/3oC60WzTeKocvSI7vLT0vA==",
1540
+ "dev": true,
1541
+ "license": "Apache-2.0",
1542
+ "dependencies": {
1543
+ "@smithy/core": "^3.24.3",
1544
+ "@smithy/types": "^4.14.2",
1545
+ "tslib": "^2.6.2"
1546
+ },
1547
+ "engines": {
1548
+ "node": ">=18.0.0"
1549
+ }
1550
+ },
1551
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/signature-v4": {
1552
+ "version": "5.4.3",
1553
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.4.3.tgz",
1554
+ "integrity": "sha512-53+75QuPl6DL+ct6vVEB51FDO5oulXr20TPV46VvJZg76lIlXNWfxi8j+G2V/t0I2qxCBOa3vX/8bmjrpFVo9g==",
1555
+ "dev": true,
1556
+ "license": "Apache-2.0",
1557
+ "dependencies": {
1558
+ "@smithy/core": "^3.24.3",
1559
+ "@smithy/types": "^4.14.2",
1560
+ "tslib": "^2.6.2"
1561
+ },
1562
+ "engines": {
1563
+ "node": ">=18.0.0"
1564
+ }
1565
+ },
1566
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/types": {
1567
+ "version": "4.14.2",
1568
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.2.tgz",
1569
+ "integrity": "sha512-P+otAxbV4CqBybp7EkcJCrig63yE2E7PuNVOmilVMRcx/O+QDzGULTrKsq4DV13gSfak9ObPrWaHl/9bL5YcWw==",
1570
+ "dev": true,
1571
+ "license": "Apache-2.0",
1572
+ "dependencies": {
1573
+ "tslib": "^2.6.2"
1574
+ },
1575
+ "engines": {
1576
+ "node": ">=18.0.0"
1577
+ }
1578
+ },
1579
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/util-buffer-from": {
1580
+ "version": "2.2.0",
1581
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
1582
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
1583
+ "dev": true,
1584
+ "license": "Apache-2.0",
1585
+ "dependencies": {
1586
+ "@smithy/is-array-buffer": "^2.2.0",
1587
+ "tslib": "^2.6.2"
1588
+ },
1589
+ "engines": {
1590
+ "node": ">=14.0.0"
1591
+ }
1592
+ },
1593
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/util-utf8": {
1594
+ "version": "2.3.0",
1595
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
1596
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
1597
+ "dev": true,
1598
+ "license": "Apache-2.0",
1599
+ "dependencies": {
1600
+ "@smithy/util-buffer-from": "^2.2.0",
1601
+ "tslib": "^2.6.2"
1602
+ },
1603
+ "engines": {
1604
+ "node": ">=14.0.0"
1605
+ }
1606
+ },
1607
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@types/node": {
1608
+ "version": "22.19.19",
1609
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz",
1610
+ "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==",
1611
+ "dev": true,
1612
+ "license": "MIT",
1613
+ "dependencies": {
1614
+ "undici-types": "~6.21.0"
1615
+ }
1616
+ },
1617
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/agent-base": {
1618
+ "version": "7.1.4",
1619
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
1620
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
1621
+ "dev": true,
1622
+ "license": "MIT",
1623
+ "engines": {
1624
+ "node": ">= 14"
1625
+ }
1626
+ },
1627
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/balanced-match": {
1628
+ "version": "4.0.4",
1629
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
1630
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
1631
+ "dev": true,
1632
+ "license": "MIT",
1633
+ "engines": {
1634
+ "node": "18 || 20 || >=22"
1635
+ }
1636
+ },
1637
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/base64-js": {
1638
+ "version": "1.5.1",
1639
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1640
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1641
+ "dev": true,
1642
+ "funding": [
1643
+ {
1644
+ "type": "github",
1645
+ "url": "https://github.com/sponsors/feross"
1646
+ },
1647
+ {
1648
+ "type": "patreon",
1649
+ "url": "https://www.patreon.com/feross"
1650
+ },
1651
+ {
1652
+ "type": "consulting",
1653
+ "url": "https://feross.org/support"
1654
+ }
1655
+ ],
1656
+ "license": "MIT"
1657
+ },
1658
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/bignumber.js": {
1659
+ "version": "9.3.1",
1660
+ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
1661
+ "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
1662
+ "dev": true,
1663
+ "license": "MIT",
1664
+ "engines": {
1665
+ "node": "*"
1666
+ }
1667
+ },
1668
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/bowser": {
1669
+ "version": "2.14.1",
1670
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz",
1671
+ "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==",
1672
+ "dev": true,
1673
+ "license": "MIT"
1674
+ },
1675
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/brace-expansion": {
1676
+ "version": "5.0.6",
1677
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
1678
+ "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
1679
+ "dev": true,
1680
+ "license": "MIT",
1681
+ "dependencies": {
1682
+ "balanced-match": "^4.0.2"
1683
+ },
1684
+ "engines": {
1685
+ "node": "18 || 20 || >=22"
1686
+ }
1687
+ },
1688
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/buffer-equal-constant-time": {
1689
+ "version": "1.0.1",
1690
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
1691
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
1692
+ "dev": true,
1693
+ "license": "BSD-3-Clause"
1694
+ },
1695
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/chalk": {
1696
+ "version": "5.6.2",
1697
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
1698
+ "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
1699
+ "dev": true,
1700
+ "license": "MIT",
1701
+ "engines": {
1702
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
1703
+ },
1704
+ "funding": {
1705
+ "url": "https://github.com/chalk/chalk?sponsor=1"
1706
+ }
1707
+ },
1708
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/cross-spawn": {
1709
+ "version": "7.0.6",
1710
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1711
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1712
+ "dev": true,
1713
+ "license": "MIT",
1714
+ "dependencies": {
1715
+ "path-key": "^3.1.0",
1716
+ "shebang-command": "^2.0.0",
1717
+ "which": "^2.0.1"
1718
+ },
1719
+ "engines": {
1720
+ "node": ">= 8"
1721
+ }
1722
+ },
1723
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/data-uri-to-buffer": {
1724
+ "version": "4.0.1",
1725
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
1726
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
1727
+ "dev": true,
1728
+ "license": "MIT",
1729
+ "engines": {
1730
+ "node": ">= 12"
1731
+ }
1732
+ },
1733
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/debug": {
1734
+ "version": "4.4.3",
1735
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1736
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1737
+ "dev": true,
1738
+ "license": "MIT",
1739
+ "dependencies": {
1740
+ "ms": "^2.1.3"
1741
+ },
1742
+ "engines": {
1743
+ "node": ">=6.0"
1744
+ },
1745
+ "peerDependenciesMeta": {
1746
+ "supports-color": {
1747
+ "optional": true
1748
+ }
1749
+ }
1750
+ },
1751
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/diff": {
1752
+ "version": "8.0.4",
1753
+ "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
1754
+ "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
1755
+ "dev": true,
1756
+ "license": "BSD-3-Clause",
1757
+ "engines": {
1758
+ "node": ">=0.3.1"
1759
+ }
1760
+ },
1761
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ecdsa-sig-formatter": {
1762
+ "version": "1.0.11",
1763
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
1764
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
1765
+ "dev": true,
1766
+ "license": "Apache-2.0",
1767
+ "dependencies": {
1768
+ "safe-buffer": "^5.0.1"
1769
+ }
1770
+ },
1771
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/extend": {
1772
+ "version": "3.0.2",
1773
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1774
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
1775
+ "dev": true,
1776
+ "license": "MIT"
1777
+ },
1778
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/fast-xml-builder": {
1779
+ "version": "1.2.0",
1780
+ "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz",
1781
+ "integrity": "sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==",
1782
+ "dev": true,
1783
+ "funding": [
1784
+ {
1785
+ "type": "github",
1786
+ "url": "https://github.com/sponsors/NaturalIntelligence"
1787
+ }
1788
+ ],
1789
+ "license": "MIT",
1790
+ "dependencies": {
1791
+ "path-expression-matcher": "^1.5.0",
1792
+ "xml-naming": "^0.1.0"
1793
+ }
1794
+ },
1795
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/fast-xml-parser": {
1796
+ "version": "5.7.3",
1797
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.3.tgz",
1798
+ "integrity": "sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==",
1799
+ "dev": true,
1800
+ "funding": [
1801
+ {
1802
+ "type": "github",
1803
+ "url": "https://github.com/sponsors/NaturalIntelligence"
1804
+ }
1805
+ ],
1806
+ "license": "MIT",
1807
+ "dependencies": {
1808
+ "@nodable/entities": "^2.1.0",
1809
+ "fast-xml-builder": "^1.1.7",
1810
+ "path-expression-matcher": "^1.5.0",
1811
+ "strnum": "^2.2.3"
1812
+ },
1813
+ "bin": {
1814
+ "fxparser": "src/cli/cli.js"
1815
+ }
1816
+ },
1817
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/fetch-blob": {
1818
+ "version": "3.2.0",
1819
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
1820
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
1821
+ "dev": true,
1822
+ "funding": [
1823
+ {
1824
+ "type": "github",
1825
+ "url": "https://github.com/sponsors/jimmywarting"
1826
+ },
1827
+ {
1828
+ "type": "paypal",
1829
+ "url": "https://paypal.me/jimmywarting"
1830
+ }
1831
+ ],
1832
+ "license": "MIT",
1833
+ "dependencies": {
1834
+ "node-domexception": "^1.0.0",
1835
+ "web-streams-polyfill": "^3.0.3"
1836
+ },
1837
+ "engines": {
1838
+ "node": "^12.20 || >= 14.13"
1839
+ }
1840
+ },
1841
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/formdata-polyfill": {
1842
+ "version": "4.0.10",
1843
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
1844
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
1845
+ "dev": true,
1846
+ "license": "MIT",
1847
+ "dependencies": {
1848
+ "fetch-blob": "^3.1.2"
1849
+ },
1850
+ "engines": {
1851
+ "node": ">=12.20.0"
1852
+ }
1853
+ },
1854
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/gaxios": {
1855
+ "version": "7.1.4",
1856
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.4.tgz",
1857
+ "integrity": "sha512-bTIgTsM2bWn3XklZISBTQX7ZSddGW+IO3bMdGaemHZ3tbqExMENHLx6kKZ/KlejgrMtj8q7wBItt51yegqalrA==",
1858
+ "dev": true,
1859
+ "license": "Apache-2.0",
1860
+ "dependencies": {
1861
+ "extend": "^3.0.2",
1862
+ "https-proxy-agent": "^7.0.1",
1863
+ "node-fetch": "^3.3.2"
1864
+ },
1865
+ "engines": {
1866
+ "node": ">=18"
1867
+ }
1868
+ },
1869
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/gcp-metadata": {
1870
+ "version": "8.1.2",
1871
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz",
1872
+ "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==",
1873
+ "dev": true,
1874
+ "license": "Apache-2.0",
1875
+ "dependencies": {
1876
+ "gaxios": "^7.0.0",
1877
+ "google-logging-utils": "^1.0.0",
1878
+ "json-bigint": "^1.0.0"
1879
+ },
1880
+ "engines": {
1881
+ "node": ">=18"
1882
+ }
1883
+ },
1884
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/get-east-asian-width": {
1885
+ "version": "1.6.0",
1886
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
1887
+ "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
1888
+ "dev": true,
1889
+ "license": "MIT",
1890
+ "engines": {
1891
+ "node": ">=18"
1892
+ },
1893
+ "funding": {
1894
+ "url": "https://github.com/sponsors/sindresorhus"
1895
+ }
1896
+ },
1897
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/glob": {
1898
+ "version": "13.0.6",
1899
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
1900
+ "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
1901
+ "dev": true,
1902
+ "license": "BlueOak-1.0.0",
1903
+ "dependencies": {
1904
+ "minimatch": "^10.2.2",
1905
+ "minipass": "^7.1.3",
1906
+ "path-scurry": "^2.0.2"
1907
+ },
1908
+ "engines": {
1909
+ "node": "18 || 20 || >=22"
1910
+ },
1911
+ "funding": {
1912
+ "url": "https://github.com/sponsors/isaacs"
1913
+ }
1914
+ },
1915
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/google-auth-library": {
1916
+ "version": "10.6.2",
1917
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.6.2.tgz",
1918
+ "integrity": "sha512-e27Z6EThmVNNvtYASwQxose/G57rkRuaRbQyxM2bvYLLX/GqWZ5chWq2EBoUchJbCc57eC9ArzO5wMsEmWftCw==",
1919
+ "dev": true,
1920
+ "license": "Apache-2.0",
1921
+ "dependencies": {
1922
+ "base64-js": "^1.3.0",
1923
+ "ecdsa-sig-formatter": "^1.0.11",
1924
+ "gaxios": "^7.1.4",
1925
+ "gcp-metadata": "8.1.2",
1926
+ "google-logging-utils": "1.1.3",
1927
+ "jws": "^4.0.0"
1928
+ },
1929
+ "engines": {
1930
+ "node": ">=18"
1931
+ }
1932
+ },
1933
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/google-logging-utils": {
1934
+ "version": "1.1.3",
1935
+ "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz",
1936
+ "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==",
1937
+ "dev": true,
1938
+ "license": "Apache-2.0",
1939
+ "engines": {
1940
+ "node": ">=14"
1941
+ }
1942
+ },
1943
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/graceful-fs": {
1944
+ "version": "4.2.11",
1945
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
1946
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
1947
+ "dev": true,
1948
+ "license": "ISC"
1949
+ },
1950
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/highlight.js": {
1951
+ "version": "10.7.3",
1952
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
1953
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
1954
+ "dev": true,
1955
+ "license": "BSD-3-Clause",
1956
+ "engines": {
1957
+ "node": "*"
1958
+ }
1959
+ },
1960
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/hosted-git-info": {
1961
+ "version": "9.0.3",
1962
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.3.tgz",
1963
+ "integrity": "sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==",
1964
+ "dev": true,
1965
+ "license": "ISC",
1966
+ "dependencies": {
1967
+ "lru-cache": "^11.1.0"
1968
+ },
1969
+ "engines": {
1970
+ "node": "^20.17.0 || >=22.9.0"
1971
+ }
1972
+ },
1973
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/http-proxy-agent": {
1974
+ "version": "7.0.2",
1975
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
1976
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
1977
+ "dev": true,
1978
+ "license": "MIT",
1979
+ "dependencies": {
1980
+ "agent-base": "^7.1.0",
1981
+ "debug": "^4.3.4"
1982
+ },
1983
+ "engines": {
1984
+ "node": ">= 14"
1985
+ }
1986
+ },
1987
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/https-proxy-agent": {
1988
+ "version": "7.0.6",
1989
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
1990
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
1991
+ "dev": true,
1992
+ "license": "MIT",
1993
+ "dependencies": {
1994
+ "agent-base": "^7.1.2",
1995
+ "debug": "4"
1996
+ },
1997
+ "engines": {
1998
+ "node": ">= 14"
1999
+ }
2000
+ },
2001
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ignore": {
2002
+ "version": "7.0.5",
2003
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
2004
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
2005
+ "dev": true,
2006
+ "license": "MIT",
2007
+ "engines": {
2008
+ "node": ">= 4"
2009
+ }
2010
+ },
2011
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/isexe": {
2012
+ "version": "2.0.0",
2013
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2014
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2015
+ "dev": true,
2016
+ "license": "ISC"
2017
+ },
2018
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/jiti": {
2019
+ "version": "2.7.0",
2020
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
2021
+ "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
2022
+ "dev": true,
2023
+ "license": "MIT",
2024
+ "bin": {
2025
+ "jiti": "lib/jiti-cli.mjs"
2026
+ }
2027
+ },
2028
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/json-bigint": {
2029
+ "version": "1.0.0",
2030
+ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
2031
+ "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
2032
+ "dev": true,
2033
+ "license": "MIT",
2034
+ "dependencies": {
2035
+ "bignumber.js": "^9.0.0"
2036
+ }
2037
+ },
2038
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/json-schema-to-ts": {
2039
+ "version": "3.1.1",
2040
+ "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz",
2041
+ "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==",
2042
+ "dev": true,
2043
+ "license": "MIT",
2044
+ "dependencies": {
2045
+ "@babel/runtime": "^7.18.3",
2046
+ "ts-algebra": "^2.0.0"
2047
+ },
2048
+ "engines": {
2049
+ "node": ">=16"
2050
+ }
2051
+ },
2052
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/jwa": {
2053
+ "version": "2.0.1",
2054
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
2055
+ "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==",
2056
+ "dev": true,
2057
+ "license": "MIT",
2058
+ "dependencies": {
2059
+ "buffer-equal-constant-time": "^1.0.1",
2060
+ "ecdsa-sig-formatter": "1.0.11",
2061
+ "safe-buffer": "^5.0.1"
2062
+ }
2063
+ },
2064
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/jws": {
2065
+ "version": "4.0.1",
2066
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
2067
+ "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==",
2068
+ "dev": true,
2069
+ "license": "MIT",
2070
+ "dependencies": {
2071
+ "jwa": "^2.0.1",
2072
+ "safe-buffer": "^5.0.1"
2073
+ }
2074
+ },
2075
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/long": {
2076
+ "version": "5.3.2",
2077
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
2078
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
2079
+ "dev": true,
2080
+ "license": "Apache-2.0"
2081
+ },
2082
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/lru-cache": {
2083
+ "version": "11.4.0",
2084
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.4.0.tgz",
2085
+ "integrity": "sha512-W+R+kFL4HgVxONq2bhXPi3bGpzGe/yEhVOp233qw9wCRtgncJ15P3bC+e4zZMu4Cq7d+WAJjXGW0uUkifhcatA==",
2086
+ "dev": true,
2087
+ "license": "BlueOak-1.0.0",
2088
+ "engines": {
2089
+ "node": "20 || >=22"
2090
+ }
2091
+ },
2092
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/marked": {
2093
+ "version": "18.0.5",
2094
+ "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.5.tgz",
2095
+ "integrity": "sha512-S6GcvALHg6K4ohtu4E7x0a1AqhAjp6cV8KhLSyN9qVapnzJkusVBxZRcIU9AeYsbe6P1hKDusSbEOzGyyuce6w==",
2096
+ "dev": true,
2097
+ "license": "MIT",
2098
+ "bin": {
2099
+ "marked": "bin/marked.js"
2100
+ },
2101
+ "engines": {
2102
+ "node": ">= 20"
2103
+ }
2104
+ },
2105
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/minimatch": {
2106
+ "version": "10.2.5",
2107
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
2108
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
2109
+ "dev": true,
2110
+ "license": "BlueOak-1.0.0",
2111
+ "dependencies": {
2112
+ "brace-expansion": "^5.0.5"
2113
+ },
2114
+ "engines": {
2115
+ "node": "18 || 20 || >=22"
2116
+ },
2117
+ "funding": {
2118
+ "url": "https://github.com/sponsors/isaacs"
2119
+ }
2120
+ },
2121
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/minipass": {
2122
+ "version": "7.1.3",
2123
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
2124
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
2125
+ "dev": true,
2126
+ "license": "BlueOak-1.0.0",
2127
+ "engines": {
2128
+ "node": ">=16 || 14 >=14.17"
2129
+ }
2130
+ },
2131
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ms": {
2132
+ "version": "2.1.3",
2133
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2134
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2135
+ "dev": true,
2136
+ "license": "MIT"
2137
+ },
2138
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/node-domexception": {
2139
+ "version": "1.0.0",
2140
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
2141
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
2142
+ "deprecated": "Use your platform's native DOMException instead",
2143
+ "dev": true,
2144
+ "funding": [
2145
+ {
2146
+ "type": "github",
2147
+ "url": "https://github.com/sponsors/jimmywarting"
2148
+ },
2149
+ {
2150
+ "type": "github",
2151
+ "url": "https://paypal.me/jimmywarting"
2152
+ }
2153
+ ],
2154
+ "license": "MIT",
2155
+ "engines": {
2156
+ "node": ">=10.5.0"
2157
+ }
2158
+ },
2159
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/node-fetch": {
2160
+ "version": "3.3.2",
2161
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
2162
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
2163
+ "dev": true,
2164
+ "license": "MIT",
2165
+ "dependencies": {
2166
+ "data-uri-to-buffer": "^4.0.0",
2167
+ "fetch-blob": "^3.1.4",
2168
+ "formdata-polyfill": "^4.0.10"
2169
+ },
2170
+ "engines": {
2171
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
2172
+ },
2173
+ "funding": {
2174
+ "type": "opencollective",
2175
+ "url": "https://opencollective.com/node-fetch"
2176
+ }
2177
+ },
2178
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/openai": {
2179
+ "version": "6.26.0",
2180
+ "resolved": "https://registry.npmjs.org/openai/-/openai-6.26.0.tgz",
2181
+ "integrity": "sha512-zd23dbWTjiJ6sSAX6s0HrCZi41JwTA1bQVs0wLQPZ2/5o2gxOJA5wh7yOAUgwYybfhDXyhwlpeQf7Mlgx8EOCA==",
2182
+ "dev": true,
2183
+ "license": "Apache-2.0",
2184
+ "bin": {
2185
+ "openai": "bin/cli"
2186
+ },
2187
+ "peerDependencies": {
2188
+ "ws": "^8.18.0",
2189
+ "zod": "^3.25 || ^4.0"
2190
+ },
2191
+ "peerDependenciesMeta": {
2192
+ "ws": {
2193
+ "optional": true
2194
+ },
2195
+ "zod": {
2196
+ "optional": true
2197
+ }
2198
+ }
2199
+ },
2200
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/p-retry": {
2201
+ "version": "4.6.2",
2202
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
2203
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
2204
+ "dev": true,
2205
+ "license": "MIT",
2206
+ "dependencies": {
2207
+ "@types/retry": "0.12.0",
2208
+ "retry": "^0.13.1"
2209
+ },
2210
+ "engines": {
2211
+ "node": ">=8"
2212
+ }
2213
+ },
2214
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/p-retry/node_modules/@types/retry": {
2215
+ "version": "0.12.0",
2216
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
2217
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
2218
+ "dev": true,
2219
+ "license": "MIT"
2220
+ },
2221
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/partial-json": {
2222
+ "version": "0.1.7",
2223
+ "resolved": "https://registry.npmjs.org/partial-json/-/partial-json-0.1.7.tgz",
2224
+ "integrity": "sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==",
2225
+ "dev": true,
2226
+ "license": "MIT"
2227
+ },
2228
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/path-expression-matcher": {
2229
+ "version": "1.5.0",
2230
+ "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz",
2231
+ "integrity": "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==",
2232
+ "dev": true,
2233
+ "funding": [
2234
+ {
2235
+ "type": "github",
2236
+ "url": "https://github.com/sponsors/NaturalIntelligence"
2237
+ }
2238
+ ],
2239
+ "license": "MIT",
2240
+ "engines": {
2241
+ "node": ">=14.0.0"
2242
+ }
2243
+ },
2244
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/path-key": {
2245
+ "version": "3.1.1",
2246
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2247
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2248
+ "dev": true,
2249
+ "license": "MIT",
2250
+ "engines": {
2251
+ "node": ">=8"
2252
+ }
2253
+ },
2254
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/path-scurry": {
2255
+ "version": "2.0.2",
2256
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
2257
+ "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
2258
+ "dev": true,
2259
+ "license": "BlueOak-1.0.0",
2260
+ "dependencies": {
2261
+ "lru-cache": "^11.0.0",
2262
+ "minipass": "^7.1.2"
2263
+ },
2264
+ "engines": {
2265
+ "node": "18 || 20 || >=22"
2266
+ },
2267
+ "funding": {
2268
+ "url": "https://github.com/sponsors/isaacs"
2269
+ }
2270
+ },
2271
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/proper-lockfile": {
2272
+ "version": "4.1.2",
2273
+ "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz",
2274
+ "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==",
2275
+ "dev": true,
2276
+ "license": "MIT",
2277
+ "dependencies": {
2278
+ "graceful-fs": "^4.2.4",
2279
+ "retry": "^0.12.0",
2280
+ "signal-exit": "^3.0.2"
2281
+ }
2282
+ },
2283
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/proper-lockfile/node_modules/retry": {
2284
+ "version": "0.12.0",
2285
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
2286
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
2287
+ "dev": true,
2288
+ "license": "MIT",
2289
+ "engines": {
2290
+ "node": ">= 4"
2291
+ }
2292
+ },
2293
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/protobufjs": {
2294
+ "version": "7.6.4",
2295
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.4.tgz",
2296
+ "integrity": "sha512-RJJPTTpvFfHcWLkIa2JFWK4XvtSzS0yEWDmunqHXli1h3JlkbcQZXDZdcWxv+JK3Xsl5/UFDPZ0iGm7DAengYw==",
2297
+ "dev": true,
2298
+ "hasInstallScript": true,
2299
+ "license": "BSD-3-Clause",
2300
+ "dependencies": {
2301
+ "@protobufjs/aspromise": "^1.1.2",
2302
+ "@protobufjs/base64": "^1.1.2",
2303
+ "@protobufjs/codegen": "^2.0.5",
2304
+ "@protobufjs/eventemitter": "^1.1.1",
2305
+ "@protobufjs/fetch": "^1.1.1",
2306
+ "@protobufjs/float": "^1.0.2",
2307
+ "@protobufjs/path": "^1.1.2",
2308
+ "@protobufjs/pool": "^1.1.0",
2309
+ "@protobufjs/utf8": "^1.1.1",
2310
+ "@types/node": ">=13.7.0",
2311
+ "long": "^5.3.2"
2312
+ },
2313
+ "engines": {
2314
+ "node": ">=12.0.0"
2315
+ }
2316
+ },
2317
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/retry": {
2318
+ "version": "0.13.1",
2319
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
2320
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
2321
+ "dev": true,
2322
+ "license": "MIT",
2323
+ "engines": {
2324
+ "node": ">= 4"
2325
+ }
2326
+ },
2327
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/safe-buffer": {
2328
+ "version": "5.2.1",
2329
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2330
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2331
+ "dev": true,
2332
+ "funding": [
2333
+ {
2334
+ "type": "github",
2335
+ "url": "https://github.com/sponsors/feross"
2336
+ },
2337
+ {
2338
+ "type": "patreon",
2339
+ "url": "https://www.patreon.com/feross"
2340
+ },
2341
+ {
2342
+ "type": "consulting",
2343
+ "url": "https://feross.org/support"
2344
+ }
2345
+ ],
2346
+ "license": "MIT"
2347
+ },
2348
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/semver": {
2349
+ "version": "7.8.0",
2350
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz",
2351
+ "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==",
2352
+ "dev": true,
2353
+ "license": "ISC",
2354
+ "bin": {
2355
+ "semver": "bin/semver.js"
2356
+ },
2357
+ "engines": {
2358
+ "node": ">=10"
2359
+ }
2360
+ },
2361
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/shebang-command": {
2362
+ "version": "2.0.0",
2363
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2364
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2365
+ "dev": true,
2366
+ "license": "MIT",
2367
+ "dependencies": {
2368
+ "shebang-regex": "^3.0.0"
2369
+ },
2370
+ "engines": {
2371
+ "node": ">=8"
2372
+ }
2373
+ },
2374
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/shebang-regex": {
2375
+ "version": "3.0.0",
2376
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2377
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2378
+ "dev": true,
2379
+ "license": "MIT",
2380
+ "engines": {
2381
+ "node": ">=8"
2382
+ }
2383
+ },
2384
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/signal-exit": {
2385
+ "version": "3.0.7",
2386
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
2387
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
2388
+ "dev": true,
2389
+ "license": "ISC"
2390
+ },
2391
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/strnum": {
2392
+ "version": "2.3.0",
2393
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz",
2394
+ "integrity": "sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==",
2395
+ "dev": true,
2396
+ "funding": [
2397
+ {
2398
+ "type": "github",
2399
+ "url": "https://github.com/sponsors/NaturalIntelligence"
2400
+ }
2401
+ ],
2402
+ "license": "MIT"
2403
+ },
2404
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ts-algebra": {
2405
+ "version": "2.0.0",
2406
+ "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz",
2407
+ "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==",
2408
+ "dev": true,
2409
+ "license": "MIT"
2410
+ },
2411
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/tslib": {
2412
+ "version": "2.8.1",
2413
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
2414
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
2415
+ "dev": true,
2416
+ "license": "0BSD"
2417
+ },
2418
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/typebox": {
2419
+ "version": "1.1.38",
2420
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.38.tgz",
2421
+ "integrity": "sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==",
2422
+ "dev": true,
2423
+ "license": "MIT"
2424
+ },
2425
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/undici": {
2426
+ "version": "8.5.0",
2427
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.5.0.tgz",
2428
+ "integrity": "sha512-xamtWoB1EshgjpmlXd7GGm2VfdDtw1+rD8uhry8pSNW3If6S8E0m2T2+orSKeZXEn/aPJMviCpDBA65WJt8zhg==",
2429
+ "dev": true,
2430
+ "license": "MIT",
2431
+ "engines": {
2432
+ "node": ">=22.19.0"
2433
+ }
2434
+ },
2435
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/undici-types": {
2436
+ "version": "6.21.0",
2437
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
2438
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
2439
+ "dev": true,
2440
+ "license": "MIT"
2441
+ },
2442
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/web-streams-polyfill": {
2443
+ "version": "3.3.3",
2444
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
2445
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
2446
+ "dev": true,
10
2447
  "license": "MIT",
11
- "os": [
12
- "darwin"
13
- ],
2448
+ "engines": {
2449
+ "node": ">= 8"
2450
+ }
2451
+ },
2452
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/which": {
2453
+ "version": "2.0.2",
2454
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2455
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2456
+ "dev": true,
2457
+ "license": "ISC",
14
2458
  "dependencies": {
15
- "@modelcontextprotocol/sdk": "1.29.0",
16
- "zod": "4.4.3"
2459
+ "isexe": "^2.0.0"
17
2460
  },
18
2461
  "bin": {
19
- "codex-computer-use-mcp": "dist/mcp-server.js"
20
- },
21
- "devDependencies": {
22
- "@types/node": "^24.0.0",
23
- "typescript": "^7.0.2"
2462
+ "node-which": "bin/node-which"
24
2463
  },
25
2464
  "engines": {
26
- "node": ">=22"
2465
+ "node": ">= 8"
2466
+ }
2467
+ },
2468
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ws": {
2469
+ "version": "8.21.0",
2470
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
2471
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
2472
+ "dev": true,
2473
+ "license": "MIT",
2474
+ "engines": {
2475
+ "node": ">=10.0.0"
27
2476
  },
28
2477
  "peerDependencies": {
29
- "@earendil-works/pi-ai": "*",
30
- "@earendil-works/pi-coding-agent": "*",
31
- "@earendil-works/pi-tui": "*",
32
- "typebox": "*"
2478
+ "bufferutil": "^4.0.1",
2479
+ "utf-8-validate": ">=5.0.2"
33
2480
  },
34
2481
  "peerDependenciesMeta": {
35
- "@earendil-works/pi-ai": {
36
- "optional": true
37
- },
38
- "@earendil-works/pi-coding-agent": {
2482
+ "bufferutil": {
39
2483
  "optional": true
40
2484
  },
41
- "@earendil-works/pi-tui": {
2485
+ "utf-8-validate": {
42
2486
  "optional": true
43
- },
44
- "typebox": {
2487
+ }
2488
+ }
2489
+ },
2490
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/xml-naming": {
2491
+ "version": "0.1.0",
2492
+ "resolved": "https://registry.npmjs.org/xml-naming/-/xml-naming-0.1.0.tgz",
2493
+ "integrity": "sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==",
2494
+ "dev": true,
2495
+ "funding": [
2496
+ {
2497
+ "type": "github",
2498
+ "url": "https://github.com/sponsors/NaturalIntelligence"
2499
+ }
2500
+ ],
2501
+ "license": "MIT",
2502
+ "engines": {
2503
+ "node": ">=16.0.0"
2504
+ }
2505
+ },
2506
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/yaml": {
2507
+ "version": "2.9.0",
2508
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
2509
+ "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
2510
+ "dev": true,
2511
+ "license": "ISC",
2512
+ "bin": {
2513
+ "yaml": "bin.mjs"
2514
+ },
2515
+ "engines": {
2516
+ "node": ">= 14.6"
2517
+ },
2518
+ "funding": {
2519
+ "url": "https://github.com/sponsors/eemeli"
2520
+ }
2521
+ },
2522
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/zod": {
2523
+ "version": "3.25.76",
2524
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
2525
+ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
2526
+ "dev": true,
2527
+ "license": "MIT",
2528
+ "funding": {
2529
+ "url": "https://github.com/sponsors/colinhacks"
2530
+ }
2531
+ },
2532
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/zod-to-json-schema": {
2533
+ "version": "3.25.2",
2534
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz",
2535
+ "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==",
2536
+ "dev": true,
2537
+ "license": "ISC",
2538
+ "peerDependencies": {
2539
+ "zod": "^3.25.28 || ^4"
2540
+ }
2541
+ },
2542
+ "node_modules/@earendil-works/pi-tui": {
2543
+ "version": "0.80.7",
2544
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.7.tgz",
2545
+ "integrity": "sha512-1B2++fLZfgI3XMzW2BTpuDuam2uyHnUUEmsOvi5R0Ne9RAt59WjFV0G8ozX6l1Xafa9P5Y3eT4aDtRr/v/CUTA==",
2546
+ "dev": true,
2547
+ "license": "MIT",
2548
+ "dependencies": {
2549
+ "get-east-asian-width": "1.6.0",
2550
+ "marked": "18.0.5"
2551
+ },
2552
+ "engines": {
2553
+ "node": ">=22.19.0"
2554
+ }
2555
+ },
2556
+ "node_modules/@google/genai": {
2557
+ "version": "1.52.0",
2558
+ "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.52.0.tgz",
2559
+ "integrity": "sha512-gwSvbpiN/17O9TbsqSsE/OzZcpv5Fo4RQjdngGgogtuB9RsyJ8ZHhX5KjHj1bp5N9snN2eK8LDGXSaWW2hof8Q==",
2560
+ "dev": true,
2561
+ "hasInstallScript": true,
2562
+ "license": "Apache-2.0",
2563
+ "dependencies": {
2564
+ "google-auth-library": "^10.3.0",
2565
+ "p-retry": "^4.6.2",
2566
+ "protobufjs": "^7.5.4",
2567
+ "ws": "^8.18.0"
2568
+ },
2569
+ "engines": {
2570
+ "node": ">=20.0.0"
2571
+ },
2572
+ "peerDependencies": {
2573
+ "@modelcontextprotocol/sdk": "^1.25.2"
2574
+ },
2575
+ "peerDependenciesMeta": {
2576
+ "@modelcontextprotocol/sdk": {
45
2577
  "optional": true
46
2578
  }
47
2579
  }
@@ -58,6 +2590,27 @@
58
2590
  "hono": "^4"
59
2591
  }
60
2592
  },
2593
+ "node_modules/@mistralai/mistralai": {
2594
+ "version": "2.2.6",
2595
+ "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-2.2.6.tgz",
2596
+ "integrity": "sha512-W8pX7zHxjJvMIpw8JMxeJEleapXX0Q9NPszdNzqkM3MIEoIGPObdodujj+WHteXEvGfaP/AMwlNyRfEzSY6dQQ==",
2597
+ "dev": true,
2598
+ "license": "Apache-2.0",
2599
+ "dependencies": {
2600
+ "@opentelemetry/semantic-conventions": "^1.40.0",
2601
+ "ws": "^8.18.0",
2602
+ "zod": "^3.25.0 || ^4.0.0",
2603
+ "zod-to-json-schema": "^3.25.0"
2604
+ },
2605
+ "peerDependencies": {
2606
+ "@opentelemetry/api": "^1.9.0"
2607
+ },
2608
+ "peerDependenciesMeta": {
2609
+ "@opentelemetry/api": {
2610
+ "optional": true
2611
+ }
2612
+ }
2613
+ },
61
2614
  "node_modules/@modelcontextprotocol/sdk": {
62
2615
  "version": "1.29.0",
63
2616
  "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz",
@@ -98,16 +2651,236 @@
98
2651
  }
99
2652
  }
100
2653
  },
2654
+ "node_modules/@opentelemetry/api": {
2655
+ "version": "1.9.0",
2656
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
2657
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
2658
+ "dev": true,
2659
+ "license": "Apache-2.0",
2660
+ "engines": {
2661
+ "node": ">=8.0.0"
2662
+ }
2663
+ },
2664
+ "node_modules/@opentelemetry/semantic-conventions": {
2665
+ "version": "1.43.0",
2666
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.43.0.tgz",
2667
+ "integrity": "sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==",
2668
+ "dev": true,
2669
+ "license": "Apache-2.0",
2670
+ "engines": {
2671
+ "node": ">=14"
2672
+ }
2673
+ },
2674
+ "node_modules/@protobufjs/aspromise": {
2675
+ "version": "1.1.2",
2676
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
2677
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
2678
+ "dev": true,
2679
+ "license": "BSD-3-Clause"
2680
+ },
2681
+ "node_modules/@protobufjs/base64": {
2682
+ "version": "1.1.2",
2683
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
2684
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
2685
+ "dev": true,
2686
+ "license": "BSD-3-Clause"
2687
+ },
2688
+ "node_modules/@protobufjs/codegen": {
2689
+ "version": "2.0.5",
2690
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
2691
+ "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
2692
+ "dev": true,
2693
+ "license": "BSD-3-Clause"
2694
+ },
2695
+ "node_modules/@protobufjs/eventemitter": {
2696
+ "version": "1.1.1",
2697
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
2698
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
2699
+ "dev": true,
2700
+ "license": "BSD-3-Clause"
2701
+ },
2702
+ "node_modules/@protobufjs/fetch": {
2703
+ "version": "1.1.1",
2704
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz",
2705
+ "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
2706
+ "dev": true,
2707
+ "license": "BSD-3-Clause",
2708
+ "dependencies": {
2709
+ "@protobufjs/aspromise": "^1.1.1"
2710
+ }
2711
+ },
2712
+ "node_modules/@protobufjs/float": {
2713
+ "version": "1.0.2",
2714
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
2715
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
2716
+ "dev": true,
2717
+ "license": "BSD-3-Clause"
2718
+ },
2719
+ "node_modules/@protobufjs/path": {
2720
+ "version": "1.1.2",
2721
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
2722
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
2723
+ "dev": true,
2724
+ "license": "BSD-3-Clause"
2725
+ },
2726
+ "node_modules/@protobufjs/pool": {
2727
+ "version": "1.1.0",
2728
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
2729
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
2730
+ "dev": true,
2731
+ "license": "BSD-3-Clause"
2732
+ },
2733
+ "node_modules/@protobufjs/utf8": {
2734
+ "version": "1.1.2",
2735
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.2.tgz",
2736
+ "integrity": "sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==",
2737
+ "dev": true,
2738
+ "license": "BSD-3-Clause"
2739
+ },
2740
+ "node_modules/@smithy/core": {
2741
+ "version": "3.29.3",
2742
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.29.3.tgz",
2743
+ "integrity": "sha512-L+Ys6ecjk5vwPMAKHBpPKlJ3DkqwNcnfEISXBZIsVvWG/XKXfsAP8mwIYlTeLcd2ElHdesPI8OuOmJSFAPhm6A==",
2744
+ "dev": true,
2745
+ "license": "Apache-2.0",
2746
+ "dependencies": {
2747
+ "@smithy/types": "^4.16.1",
2748
+ "tslib": "^2.6.2"
2749
+ },
2750
+ "engines": {
2751
+ "node": ">=18.0.0"
2752
+ }
2753
+ },
2754
+ "node_modules/@smithy/credential-provider-imds": {
2755
+ "version": "4.4.8",
2756
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.4.8.tgz",
2757
+ "integrity": "sha512-q9J7JTiXrAhB8sDp4px97uEPT7CwKH61Co78grdNQvU8QZAdiuaSRhP0tUVf2ogy36RZTrlMU1rBmDEH+cnkiA==",
2758
+ "dev": true,
2759
+ "license": "Apache-2.0",
2760
+ "dependencies": {
2761
+ "@smithy/core": "^3.29.3",
2762
+ "@smithy/types": "^4.16.1",
2763
+ "tslib": "^2.6.2"
2764
+ },
2765
+ "engines": {
2766
+ "node": ">=18.0.0"
2767
+ }
2768
+ },
2769
+ "node_modules/@smithy/fetch-http-handler": {
2770
+ "version": "5.6.5",
2771
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.6.5.tgz",
2772
+ "integrity": "sha512-SuqeisTyPoiIPtIYru/sGxGyXzmZ+8nnFOhC+qRPglt06Ebd1yH//CDltZB2J/3WBNVhwfUaZ0EtHB3cm2X32g==",
2773
+ "dev": true,
2774
+ "license": "Apache-2.0",
2775
+ "dependencies": {
2776
+ "@smithy/core": "^3.29.3",
2777
+ "@smithy/types": "^4.16.1",
2778
+ "tslib": "^2.6.2"
2779
+ },
2780
+ "engines": {
2781
+ "node": ">=18.0.0"
2782
+ }
2783
+ },
2784
+ "node_modules/@smithy/is-array-buffer": {
2785
+ "version": "2.2.0",
2786
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
2787
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
2788
+ "dev": true,
2789
+ "license": "Apache-2.0",
2790
+ "dependencies": {
2791
+ "tslib": "^2.6.2"
2792
+ },
2793
+ "engines": {
2794
+ "node": ">=14.0.0"
2795
+ }
2796
+ },
2797
+ "node_modules/@smithy/node-http-handler": {
2798
+ "version": "4.7.3",
2799
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.3.tgz",
2800
+ "integrity": "sha512-/jPhevcTFPMVl6KNjbaI47iOg1zxC7IsnX4PQDGVZKMFceOXtB8IEYaB7a9VvkP/3oC60WzTeKocvSI7vLT0vA==",
2801
+ "dev": true,
2802
+ "license": "Apache-2.0",
2803
+ "dependencies": {
2804
+ "@smithy/core": "^3.24.3",
2805
+ "@smithy/types": "^4.14.2",
2806
+ "tslib": "^2.6.2"
2807
+ },
2808
+ "engines": {
2809
+ "node": ">=18.0.0"
2810
+ }
2811
+ },
2812
+ "node_modules/@smithy/signature-v4": {
2813
+ "version": "5.6.4",
2814
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.6.4.tgz",
2815
+ "integrity": "sha512-B89bpf2t/y/wia6LZ+4JfHXYQT9PnVftsH05rgJKKIStS7r/4XSs9HOjtPoLtgcA6HCW9jVqX5DBbq7E0PAkiQ==",
2816
+ "dev": true,
2817
+ "license": "Apache-2.0",
2818
+ "dependencies": {
2819
+ "@smithy/core": "^3.29.3",
2820
+ "@smithy/types": "^4.16.1",
2821
+ "tslib": "^2.6.2"
2822
+ },
2823
+ "engines": {
2824
+ "node": ">=18.0.0"
2825
+ }
2826
+ },
2827
+ "node_modules/@smithy/types": {
2828
+ "version": "4.16.1",
2829
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.16.1.tgz",
2830
+ "integrity": "sha512-0JFs3V2y2M9tKW5na/qxe69Zv+uxLMO7QBbhxF/FHu/Gp2NFZAAL9tWl9PU02xxo07pb3G9FTyjNc6D5uZrJIg==",
2831
+ "dev": true,
2832
+ "license": "Apache-2.0",
2833
+ "dependencies": {
2834
+ "tslib": "^2.6.2"
2835
+ },
2836
+ "engines": {
2837
+ "node": ">=18.0.0"
2838
+ }
2839
+ },
2840
+ "node_modules/@smithy/util-buffer-from": {
2841
+ "version": "2.2.0",
2842
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
2843
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
2844
+ "dev": true,
2845
+ "license": "Apache-2.0",
2846
+ "dependencies": {
2847
+ "@smithy/is-array-buffer": "^2.2.0",
2848
+ "tslib": "^2.6.2"
2849
+ },
2850
+ "engines": {
2851
+ "node": ">=14.0.0"
2852
+ }
2853
+ },
2854
+ "node_modules/@smithy/util-utf8": {
2855
+ "version": "2.3.0",
2856
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
2857
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
2858
+ "dev": true,
2859
+ "license": "Apache-2.0",
2860
+ "dependencies": {
2861
+ "@smithy/util-buffer-from": "^2.2.0",
2862
+ "tslib": "^2.6.2"
2863
+ },
2864
+ "engines": {
2865
+ "node": ">=14.0.0"
2866
+ }
2867
+ },
101
2868
  "node_modules/@types/node": {
102
2869
  "version": "24.13.3",
103
2870
  "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz",
104
2871
  "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==",
105
- "dev": true,
106
2872
  "license": "MIT",
107
2873
  "dependencies": {
108
2874
  "undici-types": "~7.18.0"
109
2875
  }
110
2876
  },
2877
+ "node_modules/@types/retry": {
2878
+ "version": "0.12.0",
2879
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
2880
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
2881
+ "dev": true,
2882
+ "license": "MIT"
2883
+ },
111
2884
  "node_modules/@typescript/typescript-aix-ppc64": {
112
2885
  "version": "7.0.2",
113
2886
  "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz",
@@ -115,7 +2888,6 @@
115
2888
  "cpu": [
116
2889
  "ppc64"
117
2890
  ],
118
- "dev": true,
119
2891
  "license": "Apache-2.0",
120
2892
  "optional": true,
121
2893
  "os": [
@@ -132,7 +2904,6 @@
132
2904
  "cpu": [
133
2905
  "arm64"
134
2906
  ],
135
- "dev": true,
136
2907
  "license": "Apache-2.0",
137
2908
  "optional": true,
138
2909
  "os": [
@@ -149,7 +2920,6 @@
149
2920
  "cpu": [
150
2921
  "x64"
151
2922
  ],
152
- "dev": true,
153
2923
  "license": "Apache-2.0",
154
2924
  "optional": true,
155
2925
  "os": [
@@ -166,7 +2936,6 @@
166
2936
  "cpu": [
167
2937
  "arm64"
168
2938
  ],
169
- "dev": true,
170
2939
  "license": "Apache-2.0",
171
2940
  "optional": true,
172
2941
  "os": [
@@ -183,7 +2952,6 @@
183
2952
  "cpu": [
184
2953
  "x64"
185
2954
  ],
186
- "dev": true,
187
2955
  "license": "Apache-2.0",
188
2956
  "optional": true,
189
2957
  "os": [
@@ -200,7 +2968,6 @@
200
2968
  "cpu": [
201
2969
  "arm"
202
2970
  ],
203
- "dev": true,
204
2971
  "license": "Apache-2.0",
205
2972
  "optional": true,
206
2973
  "os": [
@@ -217,7 +2984,6 @@
217
2984
  "cpu": [
218
2985
  "arm64"
219
2986
  ],
220
- "dev": true,
221
2987
  "license": "Apache-2.0",
222
2988
  "optional": true,
223
2989
  "os": [
@@ -234,7 +3000,6 @@
234
3000
  "cpu": [
235
3001
  "loong64"
236
3002
  ],
237
- "dev": true,
238
3003
  "license": "Apache-2.0",
239
3004
  "optional": true,
240
3005
  "os": [
@@ -251,7 +3016,6 @@
251
3016
  "cpu": [
252
3017
  "mips64el"
253
3018
  ],
254
- "dev": true,
255
3019
  "license": "Apache-2.0",
256
3020
  "optional": true,
257
3021
  "os": [
@@ -268,7 +3032,6 @@
268
3032
  "cpu": [
269
3033
  "ppc64"
270
3034
  ],
271
- "dev": true,
272
3035
  "license": "Apache-2.0",
273
3036
  "optional": true,
274
3037
  "os": [
@@ -285,7 +3048,6 @@
285
3048
  "cpu": [
286
3049
  "riscv64"
287
3050
  ],
288
- "dev": true,
289
3051
  "license": "Apache-2.0",
290
3052
  "optional": true,
291
3053
  "os": [
@@ -302,7 +3064,6 @@
302
3064
  "cpu": [
303
3065
  "s390x"
304
3066
  ],
305
- "dev": true,
306
3067
  "license": "Apache-2.0",
307
3068
  "optional": true,
308
3069
  "os": [
@@ -319,7 +3080,6 @@
319
3080
  "cpu": [
320
3081
  "x64"
321
3082
  ],
322
- "dev": true,
323
3083
  "license": "Apache-2.0",
324
3084
  "optional": true,
325
3085
  "os": [
@@ -336,7 +3096,6 @@
336
3096
  "cpu": [
337
3097
  "arm64"
338
3098
  ],
339
- "dev": true,
340
3099
  "license": "Apache-2.0",
341
3100
  "optional": true,
342
3101
  "os": [
@@ -353,7 +3112,6 @@
353
3112
  "cpu": [
354
3113
  "x64"
355
3114
  ],
356
- "dev": true,
357
3115
  "license": "Apache-2.0",
358
3116
  "optional": true,
359
3117
  "os": [
@@ -370,7 +3128,6 @@
370
3128
  "cpu": [
371
3129
  "arm64"
372
3130
  ],
373
- "dev": true,
374
3131
  "license": "Apache-2.0",
375
3132
  "optional": true,
376
3133
  "os": [
@@ -387,7 +3144,6 @@
387
3144
  "cpu": [
388
3145
  "x64"
389
3146
  ],
390
- "dev": true,
391
3147
  "license": "Apache-2.0",
392
3148
  "optional": true,
393
3149
  "os": [
@@ -404,7 +3160,6 @@
404
3160
  "cpu": [
405
3161
  "x64"
406
3162
  ],
407
- "dev": true,
408
3163
  "license": "Apache-2.0",
409
3164
  "optional": true,
410
3165
  "os": [
@@ -421,7 +3176,6 @@
421
3176
  "cpu": [
422
3177
  "arm64"
423
3178
  ],
424
- "dev": true,
425
3179
  "license": "Apache-2.0",
426
3180
  "optional": true,
427
3181
  "os": [
@@ -438,7 +3192,6 @@
438
3192
  "cpu": [
439
3193
  "x64"
440
3194
  ],
441
- "dev": true,
442
3195
  "license": "Apache-2.0",
443
3196
  "optional": true,
444
3197
  "os": [
@@ -458,7 +3211,17 @@
458
3211
  "negotiator": "^1.0.0"
459
3212
  },
460
3213
  "engines": {
461
- "node": ">= 0.6"
3214
+ "node": ">= 0.6"
3215
+ }
3216
+ },
3217
+ "node_modules/agent-base": {
3218
+ "version": "7.1.4",
3219
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
3220
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
3221
+ "dev": true,
3222
+ "license": "MIT",
3223
+ "engines": {
3224
+ "node": ">= 14"
462
3225
  }
463
3226
  },
464
3227
  "node_modules/ajv": {
@@ -494,6 +3257,37 @@
494
3257
  }
495
3258
  }
496
3259
  },
3260
+ "node_modules/base64-js": {
3261
+ "version": "1.5.1",
3262
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
3263
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
3264
+ "dev": true,
3265
+ "funding": [
3266
+ {
3267
+ "type": "github",
3268
+ "url": "https://github.com/sponsors/feross"
3269
+ },
3270
+ {
3271
+ "type": "patreon",
3272
+ "url": "https://www.patreon.com/feross"
3273
+ },
3274
+ {
3275
+ "type": "consulting",
3276
+ "url": "https://feross.org/support"
3277
+ }
3278
+ ],
3279
+ "license": "MIT"
3280
+ },
3281
+ "node_modules/bignumber.js": {
3282
+ "version": "9.3.1",
3283
+ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
3284
+ "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
3285
+ "dev": true,
3286
+ "license": "MIT",
3287
+ "engines": {
3288
+ "node": "*"
3289
+ }
3290
+ },
497
3291
  "node_modules/body-parser": {
498
3292
  "version": "2.3.0",
499
3293
  "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
@@ -531,6 +3325,20 @@
531
3325
  "url": "https://opencollective.com/express"
532
3326
  }
533
3327
  },
3328
+ "node_modules/bowser": {
3329
+ "version": "2.14.1",
3330
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz",
3331
+ "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==",
3332
+ "dev": true,
3333
+ "license": "MIT"
3334
+ },
3335
+ "node_modules/buffer-equal-constant-time": {
3336
+ "version": "1.0.1",
3337
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
3338
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
3339
+ "dev": true,
3340
+ "license": "BSD-3-Clause"
3341
+ },
534
3342
  "node_modules/bytes": {
535
3343
  "version": "3.1.2",
536
3344
  "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -640,6 +3448,16 @@
640
3448
  "node": ">= 8"
641
3449
  }
642
3450
  },
3451
+ "node_modules/data-uri-to-buffer": {
3452
+ "version": "4.0.1",
3453
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
3454
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
3455
+ "dev": true,
3456
+ "license": "MIT",
3457
+ "engines": {
3458
+ "node": ">= 12"
3459
+ }
3460
+ },
643
3461
  "node_modules/debug": {
644
3462
  "version": "4.4.3",
645
3463
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
@@ -680,6 +3498,16 @@
680
3498
  "node": ">= 0.4"
681
3499
  }
682
3500
  },
3501
+ "node_modules/ecdsa-sig-formatter": {
3502
+ "version": "1.0.11",
3503
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
3504
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
3505
+ "dev": true,
3506
+ "license": "Apache-2.0",
3507
+ "dependencies": {
3508
+ "safe-buffer": "^5.0.1"
3509
+ }
3510
+ },
683
3511
  "node_modules/ee-first": {
684
3512
  "version": "1.1.1",
685
3513
  "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -822,6 +3650,13 @@
822
3650
  "express": ">= 4.11"
823
3651
  }
824
3652
  },
3653
+ "node_modules/extend": {
3654
+ "version": "3.0.2",
3655
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
3656
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
3657
+ "dev": true,
3658
+ "license": "MIT"
3659
+ },
825
3660
  "node_modules/fast-deep-equal": {
826
3661
  "version": "3.1.3",
827
3662
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -844,6 +3679,30 @@
844
3679
  ],
845
3680
  "license": "BSD-3-Clause"
846
3681
  },
3682
+ "node_modules/fetch-blob": {
3683
+ "version": "3.2.0",
3684
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
3685
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
3686
+ "dev": true,
3687
+ "funding": [
3688
+ {
3689
+ "type": "github",
3690
+ "url": "https://github.com/sponsors/jimmywarting"
3691
+ },
3692
+ {
3693
+ "type": "paypal",
3694
+ "url": "https://paypal.me/jimmywarting"
3695
+ }
3696
+ ],
3697
+ "license": "MIT",
3698
+ "dependencies": {
3699
+ "node-domexception": "^1.0.0",
3700
+ "web-streams-polyfill": "^3.0.3"
3701
+ },
3702
+ "engines": {
3703
+ "node": "^12.20 || >= 14.13"
3704
+ }
3705
+ },
847
3706
  "node_modules/finalhandler": {
848
3707
  "version": "2.1.1",
849
3708
  "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
@@ -865,6 +3724,19 @@
865
3724
  "url": "https://opencollective.com/express"
866
3725
  }
867
3726
  },
3727
+ "node_modules/formdata-polyfill": {
3728
+ "version": "4.0.10",
3729
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
3730
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
3731
+ "dev": true,
3732
+ "license": "MIT",
3733
+ "dependencies": {
3734
+ "fetch-blob": "^3.1.2"
3735
+ },
3736
+ "engines": {
3737
+ "node": ">=12.20.0"
3738
+ }
3739
+ },
868
3740
  "node_modules/forwarded": {
869
3741
  "version": "0.2.0",
870
3742
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -892,6 +3764,49 @@
892
3764
  "url": "https://github.com/sponsors/ljharb"
893
3765
  }
894
3766
  },
3767
+ "node_modules/gaxios": {
3768
+ "version": "7.2.0",
3769
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.2.0.tgz",
3770
+ "integrity": "sha512-CUVb4wcYe+771XevyH6HtGmXFAGGKkIC3kswAP8Z1JCe0j80JMaTPZH930DWFrvo0atjh18Arc0pEyUCWa5bfg==",
3771
+ "dev": true,
3772
+ "license": "Apache-2.0",
3773
+ "dependencies": {
3774
+ "extend": "^3.0.2",
3775
+ "https-proxy-agent": "^7.0.1",
3776
+ "node-fetch": "^3.3.2"
3777
+ },
3778
+ "engines": {
3779
+ "node": ">=18"
3780
+ }
3781
+ },
3782
+ "node_modules/gcp-metadata": {
3783
+ "version": "8.1.2",
3784
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz",
3785
+ "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==",
3786
+ "dev": true,
3787
+ "license": "Apache-2.0",
3788
+ "dependencies": {
3789
+ "gaxios": "^7.0.0",
3790
+ "google-logging-utils": "^1.0.0",
3791
+ "json-bigint": "^1.0.0"
3792
+ },
3793
+ "engines": {
3794
+ "node": ">=18"
3795
+ }
3796
+ },
3797
+ "node_modules/get-east-asian-width": {
3798
+ "version": "1.6.0",
3799
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
3800
+ "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
3801
+ "dev": true,
3802
+ "license": "MIT",
3803
+ "engines": {
3804
+ "node": ">=18"
3805
+ },
3806
+ "funding": {
3807
+ "url": "https://github.com/sponsors/sindresorhus"
3808
+ }
3809
+ },
895
3810
  "node_modules/get-intrinsic": {
896
3811
  "version": "1.3.0",
897
3812
  "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
@@ -929,6 +3844,34 @@
929
3844
  "node": ">= 0.4"
930
3845
  }
931
3846
  },
3847
+ "node_modules/google-auth-library": {
3848
+ "version": "10.9.0",
3849
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.9.0.tgz",
3850
+ "integrity": "sha512-xtvUqvINPhTaBm7nXqlYPcrMHJPm1lCNdSovxnKKhTm+4JsvQ+KGVYJViLoH9Yxu8w+T0Qv5HubzYT9BLrppJg==",
3851
+ "dev": true,
3852
+ "license": "Apache-2.0",
3853
+ "dependencies": {
3854
+ "base64-js": "^1.3.0",
3855
+ "ecdsa-sig-formatter": "^1.0.11",
3856
+ "gaxios": "^7.1.4",
3857
+ "gcp-metadata": "8.1.2",
3858
+ "google-logging-utils": "1.1.3",
3859
+ "jws": "^4.0.0"
3860
+ },
3861
+ "engines": {
3862
+ "node": ">=18"
3863
+ }
3864
+ },
3865
+ "node_modules/google-logging-utils": {
3866
+ "version": "1.1.3",
3867
+ "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz",
3868
+ "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==",
3869
+ "dev": true,
3870
+ "license": "Apache-2.0",
3871
+ "engines": {
3872
+ "node": ">=14"
3873
+ }
3874
+ },
932
3875
  "node_modules/gopd": {
933
3876
  "version": "1.2.0",
934
3877
  "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -994,6 +3937,34 @@
994
3937
  "url": "https://opencollective.com/express"
995
3938
  }
996
3939
  },
3940
+ "node_modules/http-proxy-agent": {
3941
+ "version": "7.0.2",
3942
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
3943
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
3944
+ "dev": true,
3945
+ "license": "MIT",
3946
+ "dependencies": {
3947
+ "agent-base": "^7.1.0",
3948
+ "debug": "^4.3.4"
3949
+ },
3950
+ "engines": {
3951
+ "node": ">= 14"
3952
+ }
3953
+ },
3954
+ "node_modules/https-proxy-agent": {
3955
+ "version": "7.0.6",
3956
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
3957
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
3958
+ "dev": true,
3959
+ "license": "MIT",
3960
+ "dependencies": {
3961
+ "agent-base": "^7.1.2",
3962
+ "debug": "4"
3963
+ },
3964
+ "engines": {
3965
+ "node": ">= 14"
3966
+ }
3967
+ },
997
3968
  "node_modules/iconv-lite": {
998
3969
  "version": "0.7.3",
999
3970
  "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
@@ -1055,6 +4026,30 @@
1055
4026
  "url": "https://github.com/sponsors/panva"
1056
4027
  }
1057
4028
  },
4029
+ "node_modules/json-bigint": {
4030
+ "version": "1.0.0",
4031
+ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
4032
+ "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
4033
+ "dev": true,
4034
+ "license": "MIT",
4035
+ "dependencies": {
4036
+ "bignumber.js": "^9.0.0"
4037
+ }
4038
+ },
4039
+ "node_modules/json-schema-to-ts": {
4040
+ "version": "3.1.1",
4041
+ "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz",
4042
+ "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==",
4043
+ "dev": true,
4044
+ "license": "MIT",
4045
+ "dependencies": {
4046
+ "@babel/runtime": "^7.18.3",
4047
+ "ts-algebra": "^2.0.0"
4048
+ },
4049
+ "engines": {
4050
+ "node": ">=16"
4051
+ }
4052
+ },
1058
4053
  "node_modules/json-schema-traverse": {
1059
4054
  "version": "1.0.0",
1060
4055
  "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
@@ -1067,6 +4062,49 @@
1067
4062
  "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==",
1068
4063
  "license": "BSD-2-Clause"
1069
4064
  },
4065
+ "node_modules/jwa": {
4066
+ "version": "2.0.1",
4067
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
4068
+ "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==",
4069
+ "dev": true,
4070
+ "license": "MIT",
4071
+ "dependencies": {
4072
+ "buffer-equal-constant-time": "^1.0.1",
4073
+ "ecdsa-sig-formatter": "1.0.11",
4074
+ "safe-buffer": "^5.0.1"
4075
+ }
4076
+ },
4077
+ "node_modules/jws": {
4078
+ "version": "4.0.1",
4079
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
4080
+ "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==",
4081
+ "dev": true,
4082
+ "license": "MIT",
4083
+ "dependencies": {
4084
+ "jwa": "^2.0.1",
4085
+ "safe-buffer": "^5.0.1"
4086
+ }
4087
+ },
4088
+ "node_modules/long": {
4089
+ "version": "5.3.2",
4090
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
4091
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
4092
+ "dev": true,
4093
+ "license": "Apache-2.0"
4094
+ },
4095
+ "node_modules/marked": {
4096
+ "version": "18.0.5",
4097
+ "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.5.tgz",
4098
+ "integrity": "sha512-S6GcvALHg6K4ohtu4E7x0a1AqhAjp6cV8KhLSyN9qVapnzJkusVBxZRcIU9AeYsbe6P1hKDusSbEOzGyyuce6w==",
4099
+ "dev": true,
4100
+ "license": "MIT",
4101
+ "bin": {
4102
+ "marked": "bin/marked.js"
4103
+ },
4104
+ "engines": {
4105
+ "node": ">= 20"
4106
+ }
4107
+ },
1070
4108
  "node_modules/math-intrinsics": {
1071
4109
  "version": "1.1.0",
1072
4110
  "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -1137,6 +4175,46 @@
1137
4175
  "node": ">= 0.6"
1138
4176
  }
1139
4177
  },
4178
+ "node_modules/node-domexception": {
4179
+ "version": "1.0.0",
4180
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
4181
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
4182
+ "deprecated": "Use your platform's native DOMException instead",
4183
+ "dev": true,
4184
+ "funding": [
4185
+ {
4186
+ "type": "github",
4187
+ "url": "https://github.com/sponsors/jimmywarting"
4188
+ },
4189
+ {
4190
+ "type": "github",
4191
+ "url": "https://paypal.me/jimmywarting"
4192
+ }
4193
+ ],
4194
+ "license": "MIT",
4195
+ "engines": {
4196
+ "node": ">=10.5.0"
4197
+ }
4198
+ },
4199
+ "node_modules/node-fetch": {
4200
+ "version": "3.3.2",
4201
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
4202
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
4203
+ "dev": true,
4204
+ "license": "MIT",
4205
+ "dependencies": {
4206
+ "data-uri-to-buffer": "^4.0.0",
4207
+ "fetch-blob": "^3.1.4",
4208
+ "formdata-polyfill": "^4.0.10"
4209
+ },
4210
+ "engines": {
4211
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
4212
+ },
4213
+ "funding": {
4214
+ "type": "opencollective",
4215
+ "url": "https://opencollective.com/node-fetch"
4216
+ }
4217
+ },
1140
4218
  "node_modules/object-assign": {
1141
4219
  "version": "4.1.1",
1142
4220
  "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -1179,6 +4257,42 @@
1179
4257
  "wrappy": "1"
1180
4258
  }
1181
4259
  },
4260
+ "node_modules/openai": {
4261
+ "version": "6.26.0",
4262
+ "resolved": "https://registry.npmjs.org/openai/-/openai-6.26.0.tgz",
4263
+ "integrity": "sha512-zd23dbWTjiJ6sSAX6s0HrCZi41JwTA1bQVs0wLQPZ2/5o2gxOJA5wh7yOAUgwYybfhDXyhwlpeQf7Mlgx8EOCA==",
4264
+ "dev": true,
4265
+ "license": "Apache-2.0",
4266
+ "bin": {
4267
+ "openai": "bin/cli"
4268
+ },
4269
+ "peerDependencies": {
4270
+ "ws": "^8.18.0",
4271
+ "zod": "^3.25 || ^4.0"
4272
+ },
4273
+ "peerDependenciesMeta": {
4274
+ "ws": {
4275
+ "optional": true
4276
+ },
4277
+ "zod": {
4278
+ "optional": true
4279
+ }
4280
+ }
4281
+ },
4282
+ "node_modules/p-retry": {
4283
+ "version": "4.6.2",
4284
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
4285
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
4286
+ "dev": true,
4287
+ "license": "MIT",
4288
+ "dependencies": {
4289
+ "@types/retry": "0.12.0",
4290
+ "retry": "^0.13.1"
4291
+ },
4292
+ "engines": {
4293
+ "node": ">=8"
4294
+ }
4295
+ },
1182
4296
  "node_modules/parseurl": {
1183
4297
  "version": "1.3.3",
1184
4298
  "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -1188,6 +4302,13 @@
1188
4302
  "node": ">= 0.8"
1189
4303
  }
1190
4304
  },
4305
+ "node_modules/partial-json": {
4306
+ "version": "0.1.7",
4307
+ "resolved": "https://registry.npmjs.org/partial-json/-/partial-json-0.1.7.tgz",
4308
+ "integrity": "sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==",
4309
+ "dev": true,
4310
+ "license": "MIT"
4311
+ },
1191
4312
  "node_modules/path-key": {
1192
4313
  "version": "3.1.1",
1193
4314
  "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -1216,6 +4337,30 @@
1216
4337
  "node": ">=16.20.0"
1217
4338
  }
1218
4339
  },
4340
+ "node_modules/protobufjs": {
4341
+ "version": "7.6.5",
4342
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.5.tgz",
4343
+ "integrity": "sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==",
4344
+ "dev": true,
4345
+ "hasInstallScript": true,
4346
+ "license": "BSD-3-Clause",
4347
+ "dependencies": {
4348
+ "@protobufjs/aspromise": "^1.1.2",
4349
+ "@protobufjs/base64": "^1.1.2",
4350
+ "@protobufjs/codegen": "^2.0.5",
4351
+ "@protobufjs/eventemitter": "^1.1.1",
4352
+ "@protobufjs/fetch": "^1.1.1",
4353
+ "@protobufjs/float": "^1.0.2",
4354
+ "@protobufjs/path": "^1.1.2",
4355
+ "@protobufjs/pool": "^1.1.0",
4356
+ "@protobufjs/utf8": "^1.1.1",
4357
+ "@types/node": ">=13.7.0",
4358
+ "long": "^5.3.2"
4359
+ },
4360
+ "engines": {
4361
+ "node": ">=12.0.0"
4362
+ }
4363
+ },
1219
4364
  "node_modules/proxy-addr": {
1220
4365
  "version": "2.0.7",
1221
4366
  "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -1282,6 +4427,16 @@
1282
4427
  "node": ">=0.10.0"
1283
4428
  }
1284
4429
  },
4430
+ "node_modules/retry": {
4431
+ "version": "0.13.1",
4432
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
4433
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
4434
+ "dev": true,
4435
+ "license": "MIT",
4436
+ "engines": {
4437
+ "node": ">= 4"
4438
+ }
4439
+ },
1285
4440
  "node_modules/router": {
1286
4441
  "version": "2.2.0",
1287
4442
  "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
@@ -1298,6 +4453,27 @@
1298
4453
  "node": ">= 18"
1299
4454
  }
1300
4455
  },
4456
+ "node_modules/safe-buffer": {
4457
+ "version": "5.2.1",
4458
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
4459
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
4460
+ "dev": true,
4461
+ "funding": [
4462
+ {
4463
+ "type": "github",
4464
+ "url": "https://github.com/sponsors/feross"
4465
+ },
4466
+ {
4467
+ "type": "patreon",
4468
+ "url": "https://www.patreon.com/feross"
4469
+ },
4470
+ {
4471
+ "type": "consulting",
4472
+ "url": "https://feross.org/support"
4473
+ }
4474
+ ],
4475
+ "license": "MIT"
4476
+ },
1301
4477
  "node_modules/safer-buffer": {
1302
4478
  "version": "2.1.2",
1303
4479
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -1466,6 +4642,20 @@
1466
4642
  "node": ">=0.6"
1467
4643
  }
1468
4644
  },
4645
+ "node_modules/ts-algebra": {
4646
+ "version": "2.0.0",
4647
+ "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz",
4648
+ "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==",
4649
+ "dev": true,
4650
+ "license": "MIT"
4651
+ },
4652
+ "node_modules/tslib": {
4653
+ "version": "2.8.1",
4654
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
4655
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
4656
+ "dev": true,
4657
+ "license": "0BSD"
4658
+ },
1469
4659
  "node_modules/type-is": {
1470
4660
  "version": "2.1.0",
1471
4661
  "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
@@ -1497,11 +4687,17 @@
1497
4687
  "url": "https://opencollective.com/express"
1498
4688
  }
1499
4689
  },
4690
+ "node_modules/typebox": {
4691
+ "version": "1.1.38",
4692
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.38.tgz",
4693
+ "integrity": "sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==",
4694
+ "dev": true,
4695
+ "license": "MIT"
4696
+ },
1500
4697
  "node_modules/typescript": {
1501
4698
  "version": "7.0.2",
1502
4699
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz",
1503
4700
  "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==",
1504
- "dev": true,
1505
4701
  "license": "Apache-2.0",
1506
4702
  "bin": {
1507
4703
  "tsc": "bin/tsc"
@@ -1536,7 +4732,6 @@
1536
4732
  "version": "7.18.2",
1537
4733
  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
1538
4734
  "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
1539
- "dev": true,
1540
4735
  "license": "MIT"
1541
4736
  },
1542
4737
  "node_modules/unpipe": {
@@ -1557,6 +4752,16 @@
1557
4752
  "node": ">= 0.8"
1558
4753
  }
1559
4754
  },
4755
+ "node_modules/web-streams-polyfill": {
4756
+ "version": "3.3.3",
4757
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
4758
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
4759
+ "dev": true,
4760
+ "license": "MIT",
4761
+ "engines": {
4762
+ "node": ">= 8"
4763
+ }
4764
+ },
1560
4765
  "node_modules/which": {
1561
4766
  "version": "2.0.2",
1562
4767
  "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -1578,6 +4783,28 @@
1578
4783
  "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1579
4784
  "license": "ISC"
1580
4785
  },
4786
+ "node_modules/ws": {
4787
+ "version": "8.21.0",
4788
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
4789
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
4790
+ "dev": true,
4791
+ "license": "MIT",
4792
+ "engines": {
4793
+ "node": ">=10.0.0"
4794
+ },
4795
+ "peerDependencies": {
4796
+ "bufferutil": "^4.0.1",
4797
+ "utf-8-validate": ">=5.0.2"
4798
+ },
4799
+ "peerDependenciesMeta": {
4800
+ "bufferutil": {
4801
+ "optional": true
4802
+ },
4803
+ "utf-8-validate": {
4804
+ "optional": true
4805
+ }
4806
+ }
4807
+ },
1581
4808
  "node_modules/zod": {
1582
4809
  "version": "4.4.3",
1583
4810
  "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz",