codex-computer-use-mcp 0.1.0 → 0.2.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 (46) hide show
  1. package/ARCHITECTURE.md +134 -0
  2. package/CONTRIBUTING.md +16 -10
  3. package/MIGRATION.md +77 -0
  4. package/PROOF.md +114 -67
  5. package/README.md +94 -116
  6. package/SECURITY.md +43 -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 +57 -0
  14. package/dist/direct-broker.js +638 -0
  15. package/dist/direct-broker.js.map +1 -0
  16. package/dist/direct-service.d.ts +31 -0
  17. package/dist/direct-service.js +345 -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-server.js +46 -105
  23. package/dist/mcp-server.js.map +1 -1
  24. package/dist/system.d.ts +0 -1
  25. package/dist/system.js +12 -37
  26. package/dist/system.js.map +1 -1
  27. package/dist/tools.d.ts +78 -0
  28. package/dist/tools.js +192 -0
  29. package/dist/tools.js.map +1 -0
  30. package/integrations/pi/README.md +41 -27
  31. package/integrations/pi/index.ts +110 -123
  32. package/integrations/pi/mcp.json.example +3 -3
  33. package/npm-shrinkwrap.json +3278 -48
  34. package/package.json +40 -13
  35. package/dist/policy.d.ts +0 -42
  36. package/dist/policy.js +0 -428
  37. package/dist/policy.js.map +0 -1
  38. package/dist/prompt.d.ts +0 -62
  39. package/dist/prompt.js +0 -119
  40. package/dist/prompt.js.map +0 -1
  41. package/dist/runner.d.ts +0 -55
  42. package/dist/runner.js +0 -494
  43. package/dist/runner.js.map +0 -1
  44. package/dist/service.d.ts +0 -17
  45. package/dist/service.js +0 -382
  46. package/dist/service.js.map +0 -1
@@ -1,47 +1,2582 @@
1
1
  {
2
2
  "name": "codex-computer-use-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.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.2.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.6",
25
+ "@earendil-works/pi-coding-agent": "0.80.6",
26
+ "@earendil-works/pi-tui": "0.80.6",
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.6",
545
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.6.tgz",
546
+ "integrity": "sha512-7xfLk8sANBp+bpPEbjoOZTbPxsa+++b1JXAoSJsNa3vbs9AHHEclmvg54XLQcxH+fuwaeti/g2jeIfJ+mVYLpA==",
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.6",
571
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-0.80.6.tgz",
572
+ "integrity": "sha512-vcfD6tOk402isLl3Cm/qbn2O10TvgroMp1+/fEGM24ZdvETFCdOYv5VZ7m59EI5fPsjfSJh+CpQ5bhBrhfOg7g==",
573
+ "dev": true,
574
+ "hasShrinkwrap": true,
575
+ "license": "MIT",
576
+ "dependencies": {
577
+ "@earendil-works/pi-agent-core": "^0.80.6",
578
+ "@earendil-works/pi-ai": "^0.80.6",
579
+ "@earendil-works/pi-tui": "^0.80.6",
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.6",
1070
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.80.6.tgz",
1071
+ "integrity": "sha512-Lvn89ko42h5ETUb6Z0Ku6ldskEqXaTdQBYvSa0+7bdG9V6rUEpXptv5e0OVZ1HDcvi8s6/2lGCQWsxKX+DFHNw==",
1072
+ "dev": true,
1073
+ "license": "MIT",
1074
+ "dependencies": {
1075
+ "@earendil-works/pi-ai": "^0.80.6",
1076
+ "ignore": "7.0.5",
1077
+ "typebox": "1.1.38",
1078
+ "yaml": "2.9.0"
1079
+ },
1080
+ "engines": {
1081
+ "node": ">=22.19.0"
1082
+ }
1083
+ },
1084
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-ai": {
1085
+ "version": "0.80.6",
1086
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.6.tgz",
1087
+ "integrity": "sha512-7xfLk8sANBp+bpPEbjoOZTbPxsa+++b1JXAoSJsNa3vbs9AHHEclmvg54XLQcxH+fuwaeti/g2jeIfJ+mVYLpA==",
1088
+ "dev": true,
1089
+ "license": "MIT",
1090
+ "dependencies": {
1091
+ "@anthropic-ai/sdk": "0.91.1",
1092
+ "@aws-sdk/client-bedrock-runtime": "3.1048.0",
1093
+ "@google/genai": "1.52.0",
1094
+ "@mistralai/mistralai": "2.2.6",
1095
+ "@opentelemetry/api": "1.9.0",
1096
+ "@smithy/node-http-handler": "4.7.3",
1097
+ "http-proxy-agent": "7.0.2",
1098
+ "https-proxy-agent": "7.0.6",
1099
+ "openai": "6.26.0",
1100
+ "partial-json": "0.1.7",
1101
+ "typebox": "1.1.38"
1102
+ },
1103
+ "bin": {
1104
+ "pi-ai": "./dist/cli.js"
1105
+ },
1106
+ "engines": {
1107
+ "node": ">=22.19.0"
1108
+ }
1109
+ },
1110
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-tui": {
1111
+ "version": "0.80.6",
1112
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.6.tgz",
1113
+ "integrity": "sha512-bSuzS4EVSqEPj/Qr/p9eqCESfKsGuDNbl77EGci8Iaqqt/C/XCBZL1MjXaxSWW1NsT5afjp/Cb0NTPzOLv/aPA==",
1114
+ "dev": true,
1115
+ "license": "MIT",
1116
+ "dependencies": {
1117
+ "get-east-asian-width": "1.6.0",
1118
+ "marked": "18.0.5"
1119
+ },
1120
+ "engines": {
1121
+ "node": ">=22.19.0"
1122
+ }
1123
+ },
1124
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@google/genai": {
1125
+ "version": "1.52.0",
1126
+ "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.52.0.tgz",
1127
+ "integrity": "sha512-gwSvbpiN/17O9TbsqSsE/OzZcpv5Fo4RQjdngGgogtuB9RsyJ8ZHhX5KjHj1bp5N9snN2eK8LDGXSaWW2hof8Q==",
1128
+ "dev": true,
1129
+ "hasInstallScript": true,
1130
+ "license": "Apache-2.0",
1131
+ "dependencies": {
1132
+ "google-auth-library": "^10.3.0",
1133
+ "p-retry": "^4.6.2",
1134
+ "protobufjs": "^7.5.4",
1135
+ "ws": "^8.18.0"
1136
+ },
1137
+ "engines": {
1138
+ "node": ">=20.0.0"
1139
+ },
1140
+ "peerDependencies": {
1141
+ "@modelcontextprotocol/sdk": "^1.25.2"
1142
+ },
1143
+ "peerDependenciesMeta": {
1144
+ "@modelcontextprotocol/sdk": {
1145
+ "optional": true
1146
+ }
1147
+ }
1148
+ },
1149
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard": {
1150
+ "version": "0.3.9",
1151
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard/-/clipboard-0.3.9.tgz",
1152
+ "integrity": "sha512-ABnA53mdfkGZwOFUdZNv2S0CWGO/EIuPj8Vv9xmBFmSYg/qFc7ihO6q5FcQjvoE67kZpWkEc4AhD6B/os04yuA==",
1153
+ "dev": true,
1154
+ "license": "MIT",
1155
+ "optional": true,
1156
+ "engines": {
1157
+ "node": ">= 10"
1158
+ },
1159
+ "optionalDependencies": {
1160
+ "@mariozechner/clipboard-darwin-arm64": "0.3.9",
1161
+ "@mariozechner/clipboard-darwin-universal": "0.3.9",
1162
+ "@mariozechner/clipboard-darwin-x64": "0.3.9",
1163
+ "@mariozechner/clipboard-linux-arm64-gnu": "0.3.9",
1164
+ "@mariozechner/clipboard-linux-arm64-musl": "0.3.9",
1165
+ "@mariozechner/clipboard-linux-riscv64-gnu": "0.3.9",
1166
+ "@mariozechner/clipboard-linux-x64-gnu": "0.3.9",
1167
+ "@mariozechner/clipboard-linux-x64-musl": "0.3.9",
1168
+ "@mariozechner/clipboard-win32-arm64-msvc": "0.3.9",
1169
+ "@mariozechner/clipboard-win32-x64-msvc": "0.3.9"
1170
+ }
1171
+ },
1172
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-darwin-arm64": {
1173
+ "version": "0.3.9",
1174
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-arm64/-/clipboard-darwin-arm64-0.3.9.tgz",
1175
+ "integrity": "sha512-BfgV7vCEWZwJwZJw03r6bP5+tf0iI/ANuQYCxi9RNn7FrWB3yzGuMKCrNLRl6V761vXRdL8+OqZ0wd4TqlsNOQ==",
1176
+ "cpu": [
1177
+ "arm64"
1178
+ ],
1179
+ "dev": true,
1180
+ "license": "MIT",
1181
+ "optional": true,
1182
+ "os": [
1183
+ "darwin"
1184
+ ],
1185
+ "engines": {
1186
+ "node": ">= 10"
1187
+ }
1188
+ },
1189
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-darwin-universal": {
1190
+ "version": "0.3.9",
1191
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-universal/-/clipboard-darwin-universal-0.3.9.tgz",
1192
+ "integrity": "sha512-BGGR4iA9Z2shAjI65eI5xtyb3LYNlDW9X3gxKxDbqtbnREohsrqznov6zpKoIrsRWpzlYVEdKphS7ksJ0/ndSQ==",
1193
+ "dev": true,
1194
+ "license": "MIT",
1195
+ "optional": true,
1196
+ "os": [
1197
+ "darwin"
1198
+ ],
1199
+ "engines": {
1200
+ "node": ">= 10"
1201
+ }
1202
+ },
1203
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-darwin-x64": {
1204
+ "version": "0.3.9",
1205
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-x64/-/clipboard-darwin-x64-0.3.9.tgz",
1206
+ "integrity": "sha512-4kURmCbS6nt8uYhtmWpUcJWyPHfmAr5dTpXD1nO3pIfa+TSQ9DbrGOYCKH+aEFW47XhQ4Vp8ZTszie+wfFvDKg==",
1207
+ "cpu": [
1208
+ "x64"
1209
+ ],
1210
+ "dev": true,
1211
+ "license": "MIT",
1212
+ "optional": true,
1213
+ "os": [
1214
+ "darwin"
1215
+ ],
1216
+ "engines": {
1217
+ "node": ">= 10"
1218
+ }
1219
+ },
1220
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-arm64-gnu": {
1221
+ "version": "0.3.9",
1222
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-gnu/-/clipboard-linux-arm64-gnu-0.3.9.tgz",
1223
+ "integrity": "sha512-g59OkUGP2DDfCOIKypHeYgv2M55u/cKvXa5dSxFbEJ34XvIQMdcVmpKCkGUro3ZgefXiGVdwguvTMQGpHWzIXw==",
1224
+ "cpu": [
1225
+ "arm64"
1226
+ ],
1227
+ "dev": true,
1228
+ "libc": [
1229
+ "glibc"
1230
+ ],
1231
+ "license": "MIT",
1232
+ "optional": true,
1233
+ "os": [
1234
+ "linux"
1235
+ ],
1236
+ "engines": {
1237
+ "node": ">= 10"
1238
+ }
1239
+ },
1240
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-arm64-musl": {
1241
+ "version": "0.3.9",
1242
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-musl/-/clipboard-linux-arm64-musl-0.3.9.tgz",
1243
+ "integrity": "sha512-AGuJdgKsmJdm4Pych7kv3sqe591ERRaAHW3xjLooiFzn8J+PxUyof++7YZrB5Y5tpnTO+K18Og3taj2NpluCRQ==",
1244
+ "cpu": [
1245
+ "arm64"
1246
+ ],
1247
+ "dev": true,
1248
+ "libc": [
1249
+ "musl"
1250
+ ],
1251
+ "license": "MIT",
1252
+ "optional": true,
1253
+ "os": [
1254
+ "linux"
1255
+ ],
1256
+ "engines": {
1257
+ "node": ">= 10"
1258
+ }
1259
+ },
1260
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-riscv64-gnu": {
1261
+ "version": "0.3.9",
1262
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-riscv64-gnu/-/clipboard-linux-riscv64-gnu-0.3.9.tgz",
1263
+ "integrity": "sha512-DXBEAiuMpk7dhS1a9NzNxVAFi1vaKoPu7rQNgY8LIDLGrK3lnIp3nT10DUum+PKVJoJppIP+NAA8IZe4DMNDPw==",
1264
+ "cpu": [
1265
+ "riscv64"
1266
+ ],
1267
+ "dev": true,
1268
+ "libc": [
1269
+ "glibc"
1270
+ ],
1271
+ "license": "MIT",
1272
+ "optional": true,
1273
+ "os": [
1274
+ "linux"
1275
+ ],
1276
+ "engines": {
1277
+ "node": ">= 10"
1278
+ }
1279
+ },
1280
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-x64-gnu": {
1281
+ "version": "0.3.9",
1282
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-gnu/-/clipboard-linux-x64-gnu-0.3.9.tgz",
1283
+ "integrity": "sha512-WORrMLd6EpElEME7JRKfSaY34nW1P5LbdgK5YNCS1ncG2LqmITsSMEJ8nh2mpvxb3TxqbOOKgY7k9eMJYlW9Mw==",
1284
+ "cpu": [
1285
+ "x64"
1286
+ ],
1287
+ "dev": true,
1288
+ "libc": [
1289
+ "glibc"
1290
+ ],
1291
+ "license": "MIT",
1292
+ "optional": true,
1293
+ "os": [
1294
+ "linux"
1295
+ ],
1296
+ "engines": {
1297
+ "node": ">= 10"
1298
+ }
1299
+ },
1300
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-linux-x64-musl": {
1301
+ "version": "0.3.9",
1302
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-musl/-/clipboard-linux-x64-musl-0.3.9.tgz",
1303
+ "integrity": "sha512-/DHn+1DrfL6oRaPPWXaOKvonFFrni666fxd+zFqiQEfvBH0tsHVWjq9iqBk0oDp0qaPA72lIMy5BptxISBEhZQ==",
1304
+ "cpu": [
1305
+ "x64"
1306
+ ],
1307
+ "dev": true,
1308
+ "libc": [
1309
+ "musl"
1310
+ ],
1311
+ "license": "MIT",
1312
+ "optional": true,
1313
+ "os": [
1314
+ "linux"
1315
+ ],
1316
+ "engines": {
1317
+ "node": ">= 10"
1318
+ }
1319
+ },
1320
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-win32-arm64-msvc": {
1321
+ "version": "0.3.9",
1322
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-arm64-msvc/-/clipboard-win32-arm64-msvc-0.3.9.tgz",
1323
+ "integrity": "sha512-O5FHD3ErkMwMhNzAfu3ggy0ug4z7btZuoQgwwxlzPrwV2bxlD6WDpqBY4NCgICAgZdDKdp+loUEKVAVt8aYnhQ==",
1324
+ "cpu": [
1325
+ "arm64"
1326
+ ],
1327
+ "dev": true,
1328
+ "license": "MIT",
1329
+ "optional": true,
1330
+ "os": [
1331
+ "win32"
1332
+ ],
1333
+ "engines": {
1334
+ "node": ">= 10"
1335
+ }
1336
+ },
1337
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mariozechner/clipboard-win32-x64-msvc": {
1338
+ "version": "0.3.9",
1339
+ "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-x64-msvc/-/clipboard-win32-x64-msvc-0.3.9.tgz",
1340
+ "integrity": "sha512-ihQC3EufqEY81vhXBgVBtK4prL+wc62zJsSvxrgz7K1hsdt6OObz6v9p3Rn1OG3GJksTTKMJF0u/guMISHPhSA==",
1341
+ "cpu": [
1342
+ "x64"
1343
+ ],
1344
+ "dev": true,
1345
+ "license": "MIT",
1346
+ "optional": true,
1347
+ "os": [
1348
+ "win32"
1349
+ ],
1350
+ "engines": {
1351
+ "node": ">= 10"
1352
+ }
1353
+ },
1354
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@mistralai/mistralai": {
1355
+ "version": "2.2.6",
1356
+ "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-2.2.6.tgz",
1357
+ "integrity": "sha512-W8pX7zHxjJvMIpw8JMxeJEleapXX0Q9NPszdNzqkM3MIEoIGPObdodujj+WHteXEvGfaP/AMwlNyRfEzSY6dQQ==",
1358
+ "dev": true,
1359
+ "license": "Apache-2.0",
1360
+ "dependencies": {
1361
+ "@opentelemetry/semantic-conventions": "^1.40.0",
1362
+ "ws": "^8.18.0",
1363
+ "zod": "^3.25.0 || ^4.0.0",
1364
+ "zod-to-json-schema": "^3.25.0"
1365
+ },
1366
+ "peerDependencies": {
1367
+ "@opentelemetry/api": "^1.9.0"
1368
+ },
1369
+ "peerDependenciesMeta": {
1370
+ "@opentelemetry/api": {
1371
+ "optional": true
1372
+ }
1373
+ }
1374
+ },
1375
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@nodable/entities": {
1376
+ "version": "2.1.0",
1377
+ "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz",
1378
+ "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==",
1379
+ "dev": true,
1380
+ "funding": [
1381
+ {
1382
+ "type": "github",
1383
+ "url": "https://github.com/sponsors/nodable"
1384
+ }
1385
+ ],
1386
+ "license": "MIT"
1387
+ },
1388
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@opentelemetry/api": {
1389
+ "version": "1.9.0",
1390
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
1391
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
1392
+ "dev": true,
1393
+ "license": "Apache-2.0",
1394
+ "engines": {
1395
+ "node": ">=8.0.0"
1396
+ }
1397
+ },
1398
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@opentelemetry/semantic-conventions": {
1399
+ "version": "1.41.1",
1400
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.41.1.tgz",
1401
+ "integrity": "sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==",
1402
+ "dev": true,
1403
+ "license": "Apache-2.0",
1404
+ "engines": {
1405
+ "node": ">=14"
1406
+ }
1407
+ },
1408
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/aspromise": {
1409
+ "version": "1.1.2",
1410
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
1411
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
1412
+ "dev": true,
1413
+ "license": "BSD-3-Clause"
1414
+ },
1415
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/base64": {
1416
+ "version": "1.1.2",
1417
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
1418
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
1419
+ "dev": true,
1420
+ "license": "BSD-3-Clause"
1421
+ },
1422
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/codegen": {
1423
+ "version": "2.0.5",
1424
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
1425
+ "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
1426
+ "dev": true,
1427
+ "license": "BSD-3-Clause"
1428
+ },
1429
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/eventemitter": {
1430
+ "version": "1.1.1",
1431
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
1432
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
1433
+ "dev": true,
1434
+ "license": "BSD-3-Clause"
1435
+ },
1436
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/fetch": {
1437
+ "version": "1.1.1",
1438
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz",
1439
+ "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
1440
+ "dev": true,
1441
+ "license": "BSD-3-Clause",
1442
+ "dependencies": {
1443
+ "@protobufjs/aspromise": "^1.1.1"
1444
+ }
1445
+ },
1446
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/float": {
1447
+ "version": "1.0.2",
1448
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
1449
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
1450
+ "dev": true,
1451
+ "license": "BSD-3-Clause"
1452
+ },
1453
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/path": {
1454
+ "version": "1.1.2",
1455
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
1456
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
1457
+ "dev": true,
1458
+ "license": "BSD-3-Clause"
1459
+ },
1460
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/pool": {
1461
+ "version": "1.1.0",
1462
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
1463
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
1464
+ "dev": true,
1465
+ "license": "BSD-3-Clause"
1466
+ },
1467
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/utf8": {
1468
+ "version": "1.1.1",
1469
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz",
1470
+ "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==",
1471
+ "dev": true,
1472
+ "license": "BSD-3-Clause"
1473
+ },
1474
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@silvia-odwyer/photon-node": {
1475
+ "version": "0.3.4",
1476
+ "resolved": "https://registry.npmjs.org/@silvia-odwyer/photon-node/-/photon-node-0.3.4.tgz",
1477
+ "integrity": "sha512-bnly4BKB3KDTFxrUIcgCLbaeVVS8lrAkri1pEzskpmxu9MdfGQTy8b8EgcD83ywD3RPMsIulY8xJH5Awa+t9fA==",
1478
+ "dev": true,
1479
+ "license": "Apache-2.0"
1480
+ },
1481
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/core": {
1482
+ "version": "3.24.3",
1483
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.24.3.tgz",
1484
+ "integrity": "sha512-Ep/7tPamGY8mgESE3LyLKtxJyy6U52WWAqr/3wial47Sj4u3PiIF73AOGI27UyLy9duTkhZbgzodOfLV4TduZg==",
1485
+ "dev": true,
1486
+ "license": "Apache-2.0",
1487
+ "dependencies": {
1488
+ "@aws-crypto/crc32": "5.2.0",
1489
+ "@smithy/types": "^4.14.2",
1490
+ "tslib": "^2.6.2"
1491
+ },
1492
+ "engines": {
1493
+ "node": ">=18.0.0"
1494
+ }
1495
+ },
1496
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/credential-provider-imds": {
1497
+ "version": "4.3.3",
1498
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.3.tgz",
1499
+ "integrity": "sha512-I2Bti0DKFo2IJyN28ijCsx51BAumEYR4/1yZ1FXyBygy9MqbnMqCev4JPth/MbpRfBSRAX35hITSnAdJRo1u5w==",
1500
+ "dev": true,
1501
+ "license": "Apache-2.0",
1502
+ "dependencies": {
1503
+ "@smithy/core": "^3.24.3",
1504
+ "@smithy/types": "^4.14.2",
1505
+ "tslib": "^2.6.2"
1506
+ },
1507
+ "engines": {
1508
+ "node": ">=18.0.0"
1509
+ }
1510
+ },
1511
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/fetch-http-handler": {
1512
+ "version": "5.4.3",
1513
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.4.3.tgz",
1514
+ "integrity": "sha512-F+DRf8IJazRJgYog2A/yJK7eYVc0rqTlRzO+5ZxjJd4WkZoKz0IJRncf7G6t1pdVT3kryJcwuTFhN1c5m6N47A==",
1515
+ "dev": true,
1516
+ "license": "Apache-2.0",
1517
+ "dependencies": {
1518
+ "@smithy/core": "^3.24.3",
1519
+ "@smithy/types": "^4.14.2",
1520
+ "tslib": "^2.6.2"
1521
+ },
1522
+ "engines": {
1523
+ "node": ">=18.0.0"
1524
+ }
1525
+ },
1526
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/is-array-buffer": {
1527
+ "version": "2.2.0",
1528
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
1529
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
1530
+ "dev": true,
1531
+ "license": "Apache-2.0",
1532
+ "dependencies": {
1533
+ "tslib": "^2.6.2"
1534
+ },
1535
+ "engines": {
1536
+ "node": ">=14.0.0"
1537
+ }
1538
+ },
1539
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/node-http-handler": {
1540
+ "version": "4.7.3",
1541
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.3.tgz",
1542
+ "integrity": "sha512-/jPhevcTFPMVl6KNjbaI47iOg1zxC7IsnX4PQDGVZKMFceOXtB8IEYaB7a9VvkP/3oC60WzTeKocvSI7vLT0vA==",
1543
+ "dev": true,
1544
+ "license": "Apache-2.0",
1545
+ "dependencies": {
1546
+ "@smithy/core": "^3.24.3",
1547
+ "@smithy/types": "^4.14.2",
1548
+ "tslib": "^2.6.2"
1549
+ },
1550
+ "engines": {
1551
+ "node": ">=18.0.0"
1552
+ }
1553
+ },
1554
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/signature-v4": {
1555
+ "version": "5.4.3",
1556
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.4.3.tgz",
1557
+ "integrity": "sha512-53+75QuPl6DL+ct6vVEB51FDO5oulXr20TPV46VvJZg76lIlXNWfxi8j+G2V/t0I2qxCBOa3vX/8bmjrpFVo9g==",
1558
+ "dev": true,
1559
+ "license": "Apache-2.0",
1560
+ "dependencies": {
1561
+ "@smithy/core": "^3.24.3",
1562
+ "@smithy/types": "^4.14.2",
1563
+ "tslib": "^2.6.2"
1564
+ },
1565
+ "engines": {
1566
+ "node": ">=18.0.0"
1567
+ }
1568
+ },
1569
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/types": {
1570
+ "version": "4.14.2",
1571
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.2.tgz",
1572
+ "integrity": "sha512-P+otAxbV4CqBybp7EkcJCrig63yE2E7PuNVOmilVMRcx/O+QDzGULTrKsq4DV13gSfak9ObPrWaHl/9bL5YcWw==",
1573
+ "dev": true,
1574
+ "license": "Apache-2.0",
1575
+ "dependencies": {
1576
+ "tslib": "^2.6.2"
1577
+ },
1578
+ "engines": {
1579
+ "node": ">=18.0.0"
1580
+ }
1581
+ },
1582
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/util-buffer-from": {
1583
+ "version": "2.2.0",
1584
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
1585
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
1586
+ "dev": true,
1587
+ "license": "Apache-2.0",
1588
+ "dependencies": {
1589
+ "@smithy/is-array-buffer": "^2.2.0",
1590
+ "tslib": "^2.6.2"
1591
+ },
1592
+ "engines": {
1593
+ "node": ">=14.0.0"
1594
+ }
1595
+ },
1596
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@smithy/util-utf8": {
1597
+ "version": "2.3.0",
1598
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
1599
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
1600
+ "dev": true,
1601
+ "license": "Apache-2.0",
1602
+ "dependencies": {
1603
+ "@smithy/util-buffer-from": "^2.2.0",
1604
+ "tslib": "^2.6.2"
1605
+ },
1606
+ "engines": {
1607
+ "node": ">=14.0.0"
1608
+ }
1609
+ },
1610
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@types/node": {
1611
+ "version": "22.19.19",
1612
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz",
1613
+ "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==",
1614
+ "dev": true,
1615
+ "license": "MIT",
1616
+ "dependencies": {
1617
+ "undici-types": "~6.21.0"
1618
+ }
1619
+ },
1620
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/agent-base": {
1621
+ "version": "7.1.4",
1622
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
1623
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
1624
+ "dev": true,
1625
+ "license": "MIT",
1626
+ "engines": {
1627
+ "node": ">= 14"
1628
+ }
1629
+ },
1630
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/balanced-match": {
1631
+ "version": "4.0.4",
1632
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
1633
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
1634
+ "dev": true,
1635
+ "license": "MIT",
1636
+ "engines": {
1637
+ "node": "18 || 20 || >=22"
1638
+ }
1639
+ },
1640
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/base64-js": {
1641
+ "version": "1.5.1",
1642
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1643
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1644
+ "dev": true,
1645
+ "funding": [
1646
+ {
1647
+ "type": "github",
1648
+ "url": "https://github.com/sponsors/feross"
1649
+ },
1650
+ {
1651
+ "type": "patreon",
1652
+ "url": "https://www.patreon.com/feross"
1653
+ },
1654
+ {
1655
+ "type": "consulting",
1656
+ "url": "https://feross.org/support"
1657
+ }
1658
+ ],
1659
+ "license": "MIT"
1660
+ },
1661
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/bignumber.js": {
1662
+ "version": "9.3.1",
1663
+ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
1664
+ "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
1665
+ "dev": true,
1666
+ "license": "MIT",
1667
+ "engines": {
1668
+ "node": "*"
1669
+ }
1670
+ },
1671
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/bowser": {
1672
+ "version": "2.14.1",
1673
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz",
1674
+ "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==",
1675
+ "dev": true,
1676
+ "license": "MIT"
1677
+ },
1678
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/brace-expansion": {
1679
+ "version": "5.0.6",
1680
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
1681
+ "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
1682
+ "dev": true,
1683
+ "license": "MIT",
1684
+ "dependencies": {
1685
+ "balanced-match": "^4.0.2"
1686
+ },
1687
+ "engines": {
1688
+ "node": "18 || 20 || >=22"
1689
+ }
1690
+ },
1691
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/buffer-equal-constant-time": {
1692
+ "version": "1.0.1",
1693
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
1694
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
1695
+ "dev": true,
1696
+ "license": "BSD-3-Clause"
1697
+ },
1698
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/chalk": {
1699
+ "version": "5.6.2",
1700
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
1701
+ "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
1702
+ "dev": true,
1703
+ "license": "MIT",
1704
+ "engines": {
1705
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
1706
+ },
1707
+ "funding": {
1708
+ "url": "https://github.com/chalk/chalk?sponsor=1"
1709
+ }
1710
+ },
1711
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/cross-spawn": {
1712
+ "version": "7.0.6",
1713
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1714
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1715
+ "dev": true,
1716
+ "license": "MIT",
1717
+ "dependencies": {
1718
+ "path-key": "^3.1.0",
1719
+ "shebang-command": "^2.0.0",
1720
+ "which": "^2.0.1"
1721
+ },
1722
+ "engines": {
1723
+ "node": ">= 8"
1724
+ }
1725
+ },
1726
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/data-uri-to-buffer": {
1727
+ "version": "4.0.1",
1728
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
1729
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
1730
+ "dev": true,
1731
+ "license": "MIT",
1732
+ "engines": {
1733
+ "node": ">= 12"
1734
+ }
1735
+ },
1736
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/debug": {
1737
+ "version": "4.4.3",
1738
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1739
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1740
+ "dev": true,
1741
+ "license": "MIT",
1742
+ "dependencies": {
1743
+ "ms": "^2.1.3"
1744
+ },
1745
+ "engines": {
1746
+ "node": ">=6.0"
1747
+ },
1748
+ "peerDependenciesMeta": {
1749
+ "supports-color": {
1750
+ "optional": true
1751
+ }
1752
+ }
1753
+ },
1754
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/diff": {
1755
+ "version": "8.0.4",
1756
+ "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
1757
+ "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
1758
+ "dev": true,
1759
+ "license": "BSD-3-Clause",
1760
+ "engines": {
1761
+ "node": ">=0.3.1"
1762
+ }
1763
+ },
1764
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ecdsa-sig-formatter": {
1765
+ "version": "1.0.11",
1766
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
1767
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
1768
+ "dev": true,
1769
+ "license": "Apache-2.0",
1770
+ "dependencies": {
1771
+ "safe-buffer": "^5.0.1"
1772
+ }
1773
+ },
1774
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/extend": {
1775
+ "version": "3.0.2",
1776
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1777
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
1778
+ "dev": true,
1779
+ "license": "MIT"
1780
+ },
1781
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/fast-xml-builder": {
1782
+ "version": "1.2.0",
1783
+ "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz",
1784
+ "integrity": "sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==",
1785
+ "dev": true,
1786
+ "funding": [
1787
+ {
1788
+ "type": "github",
1789
+ "url": "https://github.com/sponsors/NaturalIntelligence"
1790
+ }
1791
+ ],
1792
+ "license": "MIT",
1793
+ "dependencies": {
1794
+ "path-expression-matcher": "^1.5.0",
1795
+ "xml-naming": "^0.1.0"
1796
+ }
1797
+ },
1798
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/fast-xml-parser": {
1799
+ "version": "5.7.3",
1800
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.3.tgz",
1801
+ "integrity": "sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==",
1802
+ "dev": true,
1803
+ "funding": [
1804
+ {
1805
+ "type": "github",
1806
+ "url": "https://github.com/sponsors/NaturalIntelligence"
1807
+ }
1808
+ ],
1809
+ "license": "MIT",
1810
+ "dependencies": {
1811
+ "@nodable/entities": "^2.1.0",
1812
+ "fast-xml-builder": "^1.1.7",
1813
+ "path-expression-matcher": "^1.5.0",
1814
+ "strnum": "^2.2.3"
1815
+ },
1816
+ "bin": {
1817
+ "fxparser": "src/cli/cli.js"
1818
+ }
1819
+ },
1820
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/fetch-blob": {
1821
+ "version": "3.2.0",
1822
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
1823
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
1824
+ "dev": true,
1825
+ "funding": [
1826
+ {
1827
+ "type": "github",
1828
+ "url": "https://github.com/sponsors/jimmywarting"
1829
+ },
1830
+ {
1831
+ "type": "paypal",
1832
+ "url": "https://paypal.me/jimmywarting"
1833
+ }
1834
+ ],
1835
+ "license": "MIT",
1836
+ "dependencies": {
1837
+ "node-domexception": "^1.0.0",
1838
+ "web-streams-polyfill": "^3.0.3"
1839
+ },
1840
+ "engines": {
1841
+ "node": "^12.20 || >= 14.13"
1842
+ }
1843
+ },
1844
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/formdata-polyfill": {
1845
+ "version": "4.0.10",
1846
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
1847
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
1848
+ "dev": true,
1849
+ "license": "MIT",
1850
+ "dependencies": {
1851
+ "fetch-blob": "^3.1.2"
1852
+ },
1853
+ "engines": {
1854
+ "node": ">=12.20.0"
1855
+ }
1856
+ },
1857
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/gaxios": {
1858
+ "version": "7.1.4",
1859
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.4.tgz",
1860
+ "integrity": "sha512-bTIgTsM2bWn3XklZISBTQX7ZSddGW+IO3bMdGaemHZ3tbqExMENHLx6kKZ/KlejgrMtj8q7wBItt51yegqalrA==",
1861
+ "dev": true,
1862
+ "license": "Apache-2.0",
1863
+ "dependencies": {
1864
+ "extend": "^3.0.2",
1865
+ "https-proxy-agent": "^7.0.1",
1866
+ "node-fetch": "^3.3.2"
1867
+ },
1868
+ "engines": {
1869
+ "node": ">=18"
1870
+ }
1871
+ },
1872
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/gcp-metadata": {
1873
+ "version": "8.1.2",
1874
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz",
1875
+ "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==",
1876
+ "dev": true,
1877
+ "license": "Apache-2.0",
1878
+ "dependencies": {
1879
+ "gaxios": "^7.0.0",
1880
+ "google-logging-utils": "^1.0.0",
1881
+ "json-bigint": "^1.0.0"
1882
+ },
1883
+ "engines": {
1884
+ "node": ">=18"
1885
+ }
1886
+ },
1887
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/get-east-asian-width": {
1888
+ "version": "1.6.0",
1889
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
1890
+ "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
1891
+ "dev": true,
1892
+ "license": "MIT",
1893
+ "engines": {
1894
+ "node": ">=18"
1895
+ },
1896
+ "funding": {
1897
+ "url": "https://github.com/sponsors/sindresorhus"
1898
+ }
1899
+ },
1900
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/glob": {
1901
+ "version": "13.0.6",
1902
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
1903
+ "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
1904
+ "dev": true,
1905
+ "license": "BlueOak-1.0.0",
1906
+ "dependencies": {
1907
+ "minimatch": "^10.2.2",
1908
+ "minipass": "^7.1.3",
1909
+ "path-scurry": "^2.0.2"
1910
+ },
1911
+ "engines": {
1912
+ "node": "18 || 20 || >=22"
1913
+ },
1914
+ "funding": {
1915
+ "url": "https://github.com/sponsors/isaacs"
1916
+ }
1917
+ },
1918
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/google-auth-library": {
1919
+ "version": "10.6.2",
1920
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.6.2.tgz",
1921
+ "integrity": "sha512-e27Z6EThmVNNvtYASwQxose/G57rkRuaRbQyxM2bvYLLX/GqWZ5chWq2EBoUchJbCc57eC9ArzO5wMsEmWftCw==",
1922
+ "dev": true,
1923
+ "license": "Apache-2.0",
1924
+ "dependencies": {
1925
+ "base64-js": "^1.3.0",
1926
+ "ecdsa-sig-formatter": "^1.0.11",
1927
+ "gaxios": "^7.1.4",
1928
+ "gcp-metadata": "8.1.2",
1929
+ "google-logging-utils": "1.1.3",
1930
+ "jws": "^4.0.0"
1931
+ },
1932
+ "engines": {
1933
+ "node": ">=18"
1934
+ }
1935
+ },
1936
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/google-logging-utils": {
1937
+ "version": "1.1.3",
1938
+ "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz",
1939
+ "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==",
1940
+ "dev": true,
1941
+ "license": "Apache-2.0",
1942
+ "engines": {
1943
+ "node": ">=14"
1944
+ }
1945
+ },
1946
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/graceful-fs": {
1947
+ "version": "4.2.11",
1948
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
1949
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
1950
+ "dev": true,
1951
+ "license": "ISC"
1952
+ },
1953
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/highlight.js": {
1954
+ "version": "10.7.3",
1955
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
1956
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
1957
+ "dev": true,
1958
+ "license": "BSD-3-Clause",
1959
+ "engines": {
1960
+ "node": "*"
1961
+ }
1962
+ },
1963
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/hosted-git-info": {
1964
+ "version": "9.0.3",
1965
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.3.tgz",
1966
+ "integrity": "sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==",
1967
+ "dev": true,
1968
+ "license": "ISC",
1969
+ "dependencies": {
1970
+ "lru-cache": "^11.1.0"
1971
+ },
1972
+ "engines": {
1973
+ "node": "^20.17.0 || >=22.9.0"
1974
+ }
1975
+ },
1976
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/http-proxy-agent": {
1977
+ "version": "7.0.2",
1978
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
1979
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
1980
+ "dev": true,
1981
+ "license": "MIT",
1982
+ "dependencies": {
1983
+ "agent-base": "^7.1.0",
1984
+ "debug": "^4.3.4"
1985
+ },
1986
+ "engines": {
1987
+ "node": ">= 14"
1988
+ }
1989
+ },
1990
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/https-proxy-agent": {
1991
+ "version": "7.0.6",
1992
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
1993
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
1994
+ "dev": true,
1995
+ "license": "MIT",
1996
+ "dependencies": {
1997
+ "agent-base": "^7.1.2",
1998
+ "debug": "4"
1999
+ },
2000
+ "engines": {
2001
+ "node": ">= 14"
2002
+ }
2003
+ },
2004
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ignore": {
2005
+ "version": "7.0.5",
2006
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
2007
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
2008
+ "dev": true,
2009
+ "license": "MIT",
2010
+ "engines": {
2011
+ "node": ">= 4"
2012
+ }
2013
+ },
2014
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/isexe": {
2015
+ "version": "2.0.0",
2016
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2017
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2018
+ "dev": true,
2019
+ "license": "ISC"
2020
+ },
2021
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/jiti": {
2022
+ "version": "2.7.0",
2023
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
2024
+ "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
2025
+ "dev": true,
2026
+ "license": "MIT",
2027
+ "bin": {
2028
+ "jiti": "lib/jiti-cli.mjs"
2029
+ }
2030
+ },
2031
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/json-bigint": {
2032
+ "version": "1.0.0",
2033
+ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
2034
+ "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
2035
+ "dev": true,
2036
+ "license": "MIT",
2037
+ "dependencies": {
2038
+ "bignumber.js": "^9.0.0"
2039
+ }
2040
+ },
2041
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/json-schema-to-ts": {
2042
+ "version": "3.1.1",
2043
+ "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz",
2044
+ "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==",
2045
+ "dev": true,
2046
+ "license": "MIT",
2047
+ "dependencies": {
2048
+ "@babel/runtime": "^7.18.3",
2049
+ "ts-algebra": "^2.0.0"
2050
+ },
2051
+ "engines": {
2052
+ "node": ">=16"
2053
+ }
2054
+ },
2055
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/jwa": {
2056
+ "version": "2.0.1",
2057
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
2058
+ "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==",
2059
+ "dev": true,
2060
+ "license": "MIT",
2061
+ "dependencies": {
2062
+ "buffer-equal-constant-time": "^1.0.1",
2063
+ "ecdsa-sig-formatter": "1.0.11",
2064
+ "safe-buffer": "^5.0.1"
2065
+ }
2066
+ },
2067
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/jws": {
2068
+ "version": "4.0.1",
2069
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
2070
+ "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==",
2071
+ "dev": true,
2072
+ "license": "MIT",
2073
+ "dependencies": {
2074
+ "jwa": "^2.0.1",
2075
+ "safe-buffer": "^5.0.1"
2076
+ }
2077
+ },
2078
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/long": {
2079
+ "version": "5.3.2",
2080
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
2081
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
2082
+ "dev": true,
2083
+ "license": "Apache-2.0"
2084
+ },
2085
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/lru-cache": {
2086
+ "version": "11.4.0",
2087
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.4.0.tgz",
2088
+ "integrity": "sha512-W+R+kFL4HgVxONq2bhXPi3bGpzGe/yEhVOp233qw9wCRtgncJ15P3bC+e4zZMu4Cq7d+WAJjXGW0uUkifhcatA==",
2089
+ "dev": true,
2090
+ "license": "BlueOak-1.0.0",
2091
+ "engines": {
2092
+ "node": "20 || >=22"
2093
+ }
2094
+ },
2095
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/marked": {
2096
+ "version": "18.0.5",
2097
+ "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.5.tgz",
2098
+ "integrity": "sha512-S6GcvALHg6K4ohtu4E7x0a1AqhAjp6cV8KhLSyN9qVapnzJkusVBxZRcIU9AeYsbe6P1hKDusSbEOzGyyuce6w==",
2099
+ "dev": true,
2100
+ "license": "MIT",
2101
+ "bin": {
2102
+ "marked": "bin/marked.js"
2103
+ },
2104
+ "engines": {
2105
+ "node": ">= 20"
2106
+ }
2107
+ },
2108
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/minimatch": {
2109
+ "version": "10.2.5",
2110
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
2111
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
2112
+ "dev": true,
2113
+ "license": "BlueOak-1.0.0",
2114
+ "dependencies": {
2115
+ "brace-expansion": "^5.0.5"
2116
+ },
2117
+ "engines": {
2118
+ "node": "18 || 20 || >=22"
2119
+ },
2120
+ "funding": {
2121
+ "url": "https://github.com/sponsors/isaacs"
2122
+ }
2123
+ },
2124
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/minipass": {
2125
+ "version": "7.1.3",
2126
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
2127
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
2128
+ "dev": true,
2129
+ "license": "BlueOak-1.0.0",
2130
+ "engines": {
2131
+ "node": ">=16 || 14 >=14.17"
2132
+ }
2133
+ },
2134
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ms": {
2135
+ "version": "2.1.3",
2136
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2137
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2138
+ "dev": true,
2139
+ "license": "MIT"
2140
+ },
2141
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/node-domexception": {
2142
+ "version": "1.0.0",
2143
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
2144
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
2145
+ "deprecated": "Use your platform's native DOMException instead",
2146
+ "dev": true,
2147
+ "funding": [
2148
+ {
2149
+ "type": "github",
2150
+ "url": "https://github.com/sponsors/jimmywarting"
2151
+ },
2152
+ {
2153
+ "type": "github",
2154
+ "url": "https://paypal.me/jimmywarting"
2155
+ }
2156
+ ],
2157
+ "license": "MIT",
2158
+ "engines": {
2159
+ "node": ">=10.5.0"
2160
+ }
2161
+ },
2162
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/node-fetch": {
2163
+ "version": "3.3.2",
2164
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
2165
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
2166
+ "dev": true,
2167
+ "license": "MIT",
2168
+ "dependencies": {
2169
+ "data-uri-to-buffer": "^4.0.0",
2170
+ "fetch-blob": "^3.1.4",
2171
+ "formdata-polyfill": "^4.0.10"
2172
+ },
2173
+ "engines": {
2174
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
2175
+ },
2176
+ "funding": {
2177
+ "type": "opencollective",
2178
+ "url": "https://opencollective.com/node-fetch"
2179
+ }
2180
+ },
2181
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/openai": {
2182
+ "version": "6.26.0",
2183
+ "resolved": "https://registry.npmjs.org/openai/-/openai-6.26.0.tgz",
2184
+ "integrity": "sha512-zd23dbWTjiJ6sSAX6s0HrCZi41JwTA1bQVs0wLQPZ2/5o2gxOJA5wh7yOAUgwYybfhDXyhwlpeQf7Mlgx8EOCA==",
2185
+ "dev": true,
2186
+ "license": "Apache-2.0",
2187
+ "bin": {
2188
+ "openai": "bin/cli"
2189
+ },
2190
+ "peerDependencies": {
2191
+ "ws": "^8.18.0",
2192
+ "zod": "^3.25 || ^4.0"
2193
+ },
2194
+ "peerDependenciesMeta": {
2195
+ "ws": {
2196
+ "optional": true
2197
+ },
2198
+ "zod": {
2199
+ "optional": true
2200
+ }
2201
+ }
2202
+ },
2203
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/p-retry": {
2204
+ "version": "4.6.2",
2205
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
2206
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
2207
+ "dev": true,
2208
+ "license": "MIT",
2209
+ "dependencies": {
2210
+ "@types/retry": "0.12.0",
2211
+ "retry": "^0.13.1"
2212
+ },
2213
+ "engines": {
2214
+ "node": ">=8"
2215
+ }
2216
+ },
2217
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/p-retry/node_modules/@types/retry": {
2218
+ "version": "0.12.0",
2219
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
2220
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
2221
+ "dev": true,
2222
+ "license": "MIT"
2223
+ },
2224
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/partial-json": {
2225
+ "version": "0.1.7",
2226
+ "resolved": "https://registry.npmjs.org/partial-json/-/partial-json-0.1.7.tgz",
2227
+ "integrity": "sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==",
2228
+ "dev": true,
2229
+ "license": "MIT"
2230
+ },
2231
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/path-expression-matcher": {
2232
+ "version": "1.5.0",
2233
+ "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz",
2234
+ "integrity": "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==",
2235
+ "dev": true,
2236
+ "funding": [
2237
+ {
2238
+ "type": "github",
2239
+ "url": "https://github.com/sponsors/NaturalIntelligence"
2240
+ }
2241
+ ],
2242
+ "license": "MIT",
2243
+ "engines": {
2244
+ "node": ">=14.0.0"
2245
+ }
2246
+ },
2247
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/path-key": {
2248
+ "version": "3.1.1",
2249
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2250
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2251
+ "dev": true,
2252
+ "license": "MIT",
2253
+ "engines": {
2254
+ "node": ">=8"
2255
+ }
2256
+ },
2257
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/path-scurry": {
2258
+ "version": "2.0.2",
2259
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
2260
+ "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
2261
+ "dev": true,
2262
+ "license": "BlueOak-1.0.0",
2263
+ "dependencies": {
2264
+ "lru-cache": "^11.0.0",
2265
+ "minipass": "^7.1.2"
2266
+ },
2267
+ "engines": {
2268
+ "node": "18 || 20 || >=22"
2269
+ },
2270
+ "funding": {
2271
+ "url": "https://github.com/sponsors/isaacs"
2272
+ }
2273
+ },
2274
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/proper-lockfile": {
2275
+ "version": "4.1.2",
2276
+ "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz",
2277
+ "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==",
2278
+ "dev": true,
2279
+ "license": "MIT",
2280
+ "dependencies": {
2281
+ "graceful-fs": "^4.2.4",
2282
+ "retry": "^0.12.0",
2283
+ "signal-exit": "^3.0.2"
2284
+ }
2285
+ },
2286
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/proper-lockfile/node_modules/retry": {
2287
+ "version": "0.12.0",
2288
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
2289
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
2290
+ "dev": true,
2291
+ "license": "MIT",
2292
+ "engines": {
2293
+ "node": ">= 4"
2294
+ }
2295
+ },
2296
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/protobufjs": {
2297
+ "version": "7.6.4",
2298
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.4.tgz",
2299
+ "integrity": "sha512-RJJPTTpvFfHcWLkIa2JFWK4XvtSzS0yEWDmunqHXli1h3JlkbcQZXDZdcWxv+JK3Xsl5/UFDPZ0iGm7DAengYw==",
2300
+ "dev": true,
2301
+ "hasInstallScript": true,
2302
+ "license": "BSD-3-Clause",
2303
+ "dependencies": {
2304
+ "@protobufjs/aspromise": "^1.1.2",
2305
+ "@protobufjs/base64": "^1.1.2",
2306
+ "@protobufjs/codegen": "^2.0.5",
2307
+ "@protobufjs/eventemitter": "^1.1.1",
2308
+ "@protobufjs/fetch": "^1.1.1",
2309
+ "@protobufjs/float": "^1.0.2",
2310
+ "@protobufjs/path": "^1.1.2",
2311
+ "@protobufjs/pool": "^1.1.0",
2312
+ "@protobufjs/utf8": "^1.1.1",
2313
+ "@types/node": ">=13.7.0",
2314
+ "long": "^5.3.2"
2315
+ },
2316
+ "engines": {
2317
+ "node": ">=12.0.0"
2318
+ }
2319
+ },
2320
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/retry": {
2321
+ "version": "0.13.1",
2322
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
2323
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
2324
+ "dev": true,
2325
+ "license": "MIT",
2326
+ "engines": {
2327
+ "node": ">= 4"
2328
+ }
2329
+ },
2330
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/safe-buffer": {
2331
+ "version": "5.2.1",
2332
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2333
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2334
+ "dev": true,
2335
+ "funding": [
2336
+ {
2337
+ "type": "github",
2338
+ "url": "https://github.com/sponsors/feross"
2339
+ },
2340
+ {
2341
+ "type": "patreon",
2342
+ "url": "https://www.patreon.com/feross"
2343
+ },
2344
+ {
2345
+ "type": "consulting",
2346
+ "url": "https://feross.org/support"
2347
+ }
2348
+ ],
2349
+ "license": "MIT"
2350
+ },
2351
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/semver": {
2352
+ "version": "7.8.0",
2353
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz",
2354
+ "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==",
2355
+ "dev": true,
2356
+ "license": "ISC",
2357
+ "bin": {
2358
+ "semver": "bin/semver.js"
2359
+ },
2360
+ "engines": {
2361
+ "node": ">=10"
2362
+ }
2363
+ },
2364
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/shebang-command": {
2365
+ "version": "2.0.0",
2366
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2367
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2368
+ "dev": true,
2369
+ "license": "MIT",
2370
+ "dependencies": {
2371
+ "shebang-regex": "^3.0.0"
2372
+ },
2373
+ "engines": {
2374
+ "node": ">=8"
2375
+ }
2376
+ },
2377
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/shebang-regex": {
2378
+ "version": "3.0.0",
2379
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2380
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2381
+ "dev": true,
2382
+ "license": "MIT",
2383
+ "engines": {
2384
+ "node": ">=8"
2385
+ }
2386
+ },
2387
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/signal-exit": {
2388
+ "version": "3.0.7",
2389
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
2390
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
2391
+ "dev": true,
2392
+ "license": "ISC"
2393
+ },
2394
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/strnum": {
2395
+ "version": "2.3.0",
2396
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz",
2397
+ "integrity": "sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==",
2398
+ "dev": true,
2399
+ "funding": [
2400
+ {
2401
+ "type": "github",
2402
+ "url": "https://github.com/sponsors/NaturalIntelligence"
2403
+ }
2404
+ ],
2405
+ "license": "MIT"
2406
+ },
2407
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ts-algebra": {
2408
+ "version": "2.0.0",
2409
+ "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz",
2410
+ "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==",
2411
+ "dev": true,
2412
+ "license": "MIT"
2413
+ },
2414
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/tslib": {
2415
+ "version": "2.8.1",
2416
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
2417
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
2418
+ "dev": true,
2419
+ "license": "0BSD"
2420
+ },
2421
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/typebox": {
2422
+ "version": "1.1.38",
2423
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.38.tgz",
2424
+ "integrity": "sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==",
2425
+ "dev": true,
2426
+ "license": "MIT"
2427
+ },
2428
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/undici": {
2429
+ "version": "8.5.0",
2430
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.5.0.tgz",
2431
+ "integrity": "sha512-xamtWoB1EshgjpmlXd7GGm2VfdDtw1+rD8uhry8pSNW3If6S8E0m2T2+orSKeZXEn/aPJMviCpDBA65WJt8zhg==",
2432
+ "dev": true,
2433
+ "license": "MIT",
2434
+ "engines": {
2435
+ "node": ">=22.19.0"
2436
+ }
2437
+ },
2438
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/undici-types": {
2439
+ "version": "6.21.0",
2440
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
2441
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
2442
+ "dev": true,
2443
+ "license": "MIT"
2444
+ },
2445
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/web-streams-polyfill": {
2446
+ "version": "3.3.3",
2447
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
2448
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
2449
+ "dev": true,
10
2450
  "license": "MIT",
11
- "os": [
12
- "darwin"
13
- ],
2451
+ "engines": {
2452
+ "node": ">= 8"
2453
+ }
2454
+ },
2455
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/which": {
2456
+ "version": "2.0.2",
2457
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2458
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2459
+ "dev": true,
2460
+ "license": "ISC",
14
2461
  "dependencies": {
15
- "@modelcontextprotocol/sdk": "1.29.0",
16
- "zod": "4.4.3"
2462
+ "isexe": "^2.0.0"
17
2463
  },
18
2464
  "bin": {
19
- "codex-computer-use-mcp": "dist/mcp-server.js"
20
- },
21
- "devDependencies": {
22
- "@types/node": "^24.0.0",
23
- "typescript": "^7.0.2"
2465
+ "node-which": "bin/node-which"
24
2466
  },
25
2467
  "engines": {
26
- "node": ">=22"
2468
+ "node": ">= 8"
2469
+ }
2470
+ },
2471
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/ws": {
2472
+ "version": "8.21.0",
2473
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
2474
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
2475
+ "dev": true,
2476
+ "license": "MIT",
2477
+ "engines": {
2478
+ "node": ">=10.0.0"
27
2479
  },
28
2480
  "peerDependencies": {
29
- "@earendil-works/pi-ai": "*",
30
- "@earendil-works/pi-coding-agent": "*",
31
- "@earendil-works/pi-tui": "*",
32
- "typebox": "*"
2481
+ "bufferutil": "^4.0.1",
2482
+ "utf-8-validate": ">=5.0.2"
33
2483
  },
34
2484
  "peerDependenciesMeta": {
35
- "@earendil-works/pi-ai": {
36
- "optional": true
37
- },
38
- "@earendil-works/pi-coding-agent": {
2485
+ "bufferutil": {
39
2486
  "optional": true
40
2487
  },
41
- "@earendil-works/pi-tui": {
2488
+ "utf-8-validate": {
42
2489
  "optional": true
43
- },
44
- "typebox": {
2490
+ }
2491
+ }
2492
+ },
2493
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/xml-naming": {
2494
+ "version": "0.1.0",
2495
+ "resolved": "https://registry.npmjs.org/xml-naming/-/xml-naming-0.1.0.tgz",
2496
+ "integrity": "sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==",
2497
+ "dev": true,
2498
+ "funding": [
2499
+ {
2500
+ "type": "github",
2501
+ "url": "https://github.com/sponsors/NaturalIntelligence"
2502
+ }
2503
+ ],
2504
+ "license": "MIT",
2505
+ "engines": {
2506
+ "node": ">=16.0.0"
2507
+ }
2508
+ },
2509
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/yaml": {
2510
+ "version": "2.9.0",
2511
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
2512
+ "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
2513
+ "dev": true,
2514
+ "license": "ISC",
2515
+ "bin": {
2516
+ "yaml": "bin.mjs"
2517
+ },
2518
+ "engines": {
2519
+ "node": ">= 14.6"
2520
+ },
2521
+ "funding": {
2522
+ "url": "https://github.com/sponsors/eemeli"
2523
+ }
2524
+ },
2525
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/zod": {
2526
+ "version": "3.25.76",
2527
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
2528
+ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
2529
+ "dev": true,
2530
+ "license": "MIT",
2531
+ "funding": {
2532
+ "url": "https://github.com/sponsors/colinhacks"
2533
+ }
2534
+ },
2535
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/zod-to-json-schema": {
2536
+ "version": "3.25.2",
2537
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz",
2538
+ "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==",
2539
+ "dev": true,
2540
+ "license": "ISC",
2541
+ "peerDependencies": {
2542
+ "zod": "^3.25.28 || ^4"
2543
+ }
2544
+ },
2545
+ "node_modules/@earendil-works/pi-tui": {
2546
+ "version": "0.80.6",
2547
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.6.tgz",
2548
+ "integrity": "sha512-bSuzS4EVSqEPj/Qr/p9eqCESfKsGuDNbl77EGci8Iaqqt/C/XCBZL1MjXaxSWW1NsT5afjp/Cb0NTPzOLv/aPA==",
2549
+ "dev": true,
2550
+ "license": "MIT",
2551
+ "dependencies": {
2552
+ "get-east-asian-width": "1.6.0",
2553
+ "marked": "18.0.5"
2554
+ },
2555
+ "engines": {
2556
+ "node": ">=22.19.0"
2557
+ }
2558
+ },
2559
+ "node_modules/@google/genai": {
2560
+ "version": "1.52.0",
2561
+ "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.52.0.tgz",
2562
+ "integrity": "sha512-gwSvbpiN/17O9TbsqSsE/OzZcpv5Fo4RQjdngGgogtuB9RsyJ8ZHhX5KjHj1bp5N9snN2eK8LDGXSaWW2hof8Q==",
2563
+ "dev": true,
2564
+ "hasInstallScript": true,
2565
+ "license": "Apache-2.0",
2566
+ "dependencies": {
2567
+ "google-auth-library": "^10.3.0",
2568
+ "p-retry": "^4.6.2",
2569
+ "protobufjs": "^7.5.4",
2570
+ "ws": "^8.18.0"
2571
+ },
2572
+ "engines": {
2573
+ "node": ">=20.0.0"
2574
+ },
2575
+ "peerDependencies": {
2576
+ "@modelcontextprotocol/sdk": "^1.25.2"
2577
+ },
2578
+ "peerDependenciesMeta": {
2579
+ "@modelcontextprotocol/sdk": {
45
2580
  "optional": true
46
2581
  }
47
2582
  }
@@ -58,6 +2593,27 @@
58
2593
  "hono": "^4"
59
2594
  }
60
2595
  },
2596
+ "node_modules/@mistralai/mistralai": {
2597
+ "version": "2.2.6",
2598
+ "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-2.2.6.tgz",
2599
+ "integrity": "sha512-W8pX7zHxjJvMIpw8JMxeJEleapXX0Q9NPszdNzqkM3MIEoIGPObdodujj+WHteXEvGfaP/AMwlNyRfEzSY6dQQ==",
2600
+ "dev": true,
2601
+ "license": "Apache-2.0",
2602
+ "dependencies": {
2603
+ "@opentelemetry/semantic-conventions": "^1.40.0",
2604
+ "ws": "^8.18.0",
2605
+ "zod": "^3.25.0 || ^4.0.0",
2606
+ "zod-to-json-schema": "^3.25.0"
2607
+ },
2608
+ "peerDependencies": {
2609
+ "@opentelemetry/api": "^1.9.0"
2610
+ },
2611
+ "peerDependenciesMeta": {
2612
+ "@opentelemetry/api": {
2613
+ "optional": true
2614
+ }
2615
+ }
2616
+ },
61
2617
  "node_modules/@modelcontextprotocol/sdk": {
62
2618
  "version": "1.29.0",
63
2619
  "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz",
@@ -98,16 +2654,236 @@
98
2654
  }
99
2655
  }
100
2656
  },
2657
+ "node_modules/@opentelemetry/api": {
2658
+ "version": "1.9.0",
2659
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
2660
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
2661
+ "dev": true,
2662
+ "license": "Apache-2.0",
2663
+ "engines": {
2664
+ "node": ">=8.0.0"
2665
+ }
2666
+ },
2667
+ "node_modules/@opentelemetry/semantic-conventions": {
2668
+ "version": "1.43.0",
2669
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.43.0.tgz",
2670
+ "integrity": "sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==",
2671
+ "dev": true,
2672
+ "license": "Apache-2.0",
2673
+ "engines": {
2674
+ "node": ">=14"
2675
+ }
2676
+ },
2677
+ "node_modules/@protobufjs/aspromise": {
2678
+ "version": "1.1.2",
2679
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
2680
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
2681
+ "dev": true,
2682
+ "license": "BSD-3-Clause"
2683
+ },
2684
+ "node_modules/@protobufjs/base64": {
2685
+ "version": "1.1.2",
2686
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
2687
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
2688
+ "dev": true,
2689
+ "license": "BSD-3-Clause"
2690
+ },
2691
+ "node_modules/@protobufjs/codegen": {
2692
+ "version": "2.0.5",
2693
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
2694
+ "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
2695
+ "dev": true,
2696
+ "license": "BSD-3-Clause"
2697
+ },
2698
+ "node_modules/@protobufjs/eventemitter": {
2699
+ "version": "1.1.1",
2700
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
2701
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
2702
+ "dev": true,
2703
+ "license": "BSD-3-Clause"
2704
+ },
2705
+ "node_modules/@protobufjs/fetch": {
2706
+ "version": "1.1.1",
2707
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz",
2708
+ "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
2709
+ "dev": true,
2710
+ "license": "BSD-3-Clause",
2711
+ "dependencies": {
2712
+ "@protobufjs/aspromise": "^1.1.1"
2713
+ }
2714
+ },
2715
+ "node_modules/@protobufjs/float": {
2716
+ "version": "1.0.2",
2717
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
2718
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
2719
+ "dev": true,
2720
+ "license": "BSD-3-Clause"
2721
+ },
2722
+ "node_modules/@protobufjs/path": {
2723
+ "version": "1.1.2",
2724
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
2725
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
2726
+ "dev": true,
2727
+ "license": "BSD-3-Clause"
2728
+ },
2729
+ "node_modules/@protobufjs/pool": {
2730
+ "version": "1.1.0",
2731
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
2732
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
2733
+ "dev": true,
2734
+ "license": "BSD-3-Clause"
2735
+ },
2736
+ "node_modules/@protobufjs/utf8": {
2737
+ "version": "1.1.2",
2738
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.2.tgz",
2739
+ "integrity": "sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==",
2740
+ "dev": true,
2741
+ "license": "BSD-3-Clause"
2742
+ },
2743
+ "node_modules/@smithy/core": {
2744
+ "version": "3.29.3",
2745
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.29.3.tgz",
2746
+ "integrity": "sha512-L+Ys6ecjk5vwPMAKHBpPKlJ3DkqwNcnfEISXBZIsVvWG/XKXfsAP8mwIYlTeLcd2ElHdesPI8OuOmJSFAPhm6A==",
2747
+ "dev": true,
2748
+ "license": "Apache-2.0",
2749
+ "dependencies": {
2750
+ "@smithy/types": "^4.16.1",
2751
+ "tslib": "^2.6.2"
2752
+ },
2753
+ "engines": {
2754
+ "node": ">=18.0.0"
2755
+ }
2756
+ },
2757
+ "node_modules/@smithy/credential-provider-imds": {
2758
+ "version": "4.4.8",
2759
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.4.8.tgz",
2760
+ "integrity": "sha512-q9J7JTiXrAhB8sDp4px97uEPT7CwKH61Co78grdNQvU8QZAdiuaSRhP0tUVf2ogy36RZTrlMU1rBmDEH+cnkiA==",
2761
+ "dev": true,
2762
+ "license": "Apache-2.0",
2763
+ "dependencies": {
2764
+ "@smithy/core": "^3.29.3",
2765
+ "@smithy/types": "^4.16.1",
2766
+ "tslib": "^2.6.2"
2767
+ },
2768
+ "engines": {
2769
+ "node": ">=18.0.0"
2770
+ }
2771
+ },
2772
+ "node_modules/@smithy/fetch-http-handler": {
2773
+ "version": "5.6.5",
2774
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.6.5.tgz",
2775
+ "integrity": "sha512-SuqeisTyPoiIPtIYru/sGxGyXzmZ+8nnFOhC+qRPglt06Ebd1yH//CDltZB2J/3WBNVhwfUaZ0EtHB3cm2X32g==",
2776
+ "dev": true,
2777
+ "license": "Apache-2.0",
2778
+ "dependencies": {
2779
+ "@smithy/core": "^3.29.3",
2780
+ "@smithy/types": "^4.16.1",
2781
+ "tslib": "^2.6.2"
2782
+ },
2783
+ "engines": {
2784
+ "node": ">=18.0.0"
2785
+ }
2786
+ },
2787
+ "node_modules/@smithy/is-array-buffer": {
2788
+ "version": "2.2.0",
2789
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
2790
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
2791
+ "dev": true,
2792
+ "license": "Apache-2.0",
2793
+ "dependencies": {
2794
+ "tslib": "^2.6.2"
2795
+ },
2796
+ "engines": {
2797
+ "node": ">=14.0.0"
2798
+ }
2799
+ },
2800
+ "node_modules/@smithy/node-http-handler": {
2801
+ "version": "4.7.3",
2802
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.3.tgz",
2803
+ "integrity": "sha512-/jPhevcTFPMVl6KNjbaI47iOg1zxC7IsnX4PQDGVZKMFceOXtB8IEYaB7a9VvkP/3oC60WzTeKocvSI7vLT0vA==",
2804
+ "dev": true,
2805
+ "license": "Apache-2.0",
2806
+ "dependencies": {
2807
+ "@smithy/core": "^3.24.3",
2808
+ "@smithy/types": "^4.14.2",
2809
+ "tslib": "^2.6.2"
2810
+ },
2811
+ "engines": {
2812
+ "node": ">=18.0.0"
2813
+ }
2814
+ },
2815
+ "node_modules/@smithy/signature-v4": {
2816
+ "version": "5.6.4",
2817
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.6.4.tgz",
2818
+ "integrity": "sha512-B89bpf2t/y/wia6LZ+4JfHXYQT9PnVftsH05rgJKKIStS7r/4XSs9HOjtPoLtgcA6HCW9jVqX5DBbq7E0PAkiQ==",
2819
+ "dev": true,
2820
+ "license": "Apache-2.0",
2821
+ "dependencies": {
2822
+ "@smithy/core": "^3.29.3",
2823
+ "@smithy/types": "^4.16.1",
2824
+ "tslib": "^2.6.2"
2825
+ },
2826
+ "engines": {
2827
+ "node": ">=18.0.0"
2828
+ }
2829
+ },
2830
+ "node_modules/@smithy/types": {
2831
+ "version": "4.16.1",
2832
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.16.1.tgz",
2833
+ "integrity": "sha512-0JFs3V2y2M9tKW5na/qxe69Zv+uxLMO7QBbhxF/FHu/Gp2NFZAAL9tWl9PU02xxo07pb3G9FTyjNc6D5uZrJIg==",
2834
+ "dev": true,
2835
+ "license": "Apache-2.0",
2836
+ "dependencies": {
2837
+ "tslib": "^2.6.2"
2838
+ },
2839
+ "engines": {
2840
+ "node": ">=18.0.0"
2841
+ }
2842
+ },
2843
+ "node_modules/@smithy/util-buffer-from": {
2844
+ "version": "2.2.0",
2845
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
2846
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
2847
+ "dev": true,
2848
+ "license": "Apache-2.0",
2849
+ "dependencies": {
2850
+ "@smithy/is-array-buffer": "^2.2.0",
2851
+ "tslib": "^2.6.2"
2852
+ },
2853
+ "engines": {
2854
+ "node": ">=14.0.0"
2855
+ }
2856
+ },
2857
+ "node_modules/@smithy/util-utf8": {
2858
+ "version": "2.3.0",
2859
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
2860
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
2861
+ "dev": true,
2862
+ "license": "Apache-2.0",
2863
+ "dependencies": {
2864
+ "@smithy/util-buffer-from": "^2.2.0",
2865
+ "tslib": "^2.6.2"
2866
+ },
2867
+ "engines": {
2868
+ "node": ">=14.0.0"
2869
+ }
2870
+ },
101
2871
  "node_modules/@types/node": {
102
2872
  "version": "24.13.3",
103
2873
  "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz",
104
2874
  "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==",
105
- "dev": true,
106
2875
  "license": "MIT",
107
2876
  "dependencies": {
108
2877
  "undici-types": "~7.18.0"
109
2878
  }
110
2879
  },
2880
+ "node_modules/@types/retry": {
2881
+ "version": "0.12.0",
2882
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
2883
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
2884
+ "dev": true,
2885
+ "license": "MIT"
2886
+ },
111
2887
  "node_modules/@typescript/typescript-aix-ppc64": {
112
2888
  "version": "7.0.2",
113
2889
  "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz",
@@ -115,7 +2891,6 @@
115
2891
  "cpu": [
116
2892
  "ppc64"
117
2893
  ],
118
- "dev": true,
119
2894
  "license": "Apache-2.0",
120
2895
  "optional": true,
121
2896
  "os": [
@@ -132,7 +2907,6 @@
132
2907
  "cpu": [
133
2908
  "arm64"
134
2909
  ],
135
- "dev": true,
136
2910
  "license": "Apache-2.0",
137
2911
  "optional": true,
138
2912
  "os": [
@@ -149,7 +2923,6 @@
149
2923
  "cpu": [
150
2924
  "x64"
151
2925
  ],
152
- "dev": true,
153
2926
  "license": "Apache-2.0",
154
2927
  "optional": true,
155
2928
  "os": [
@@ -166,7 +2939,6 @@
166
2939
  "cpu": [
167
2940
  "arm64"
168
2941
  ],
169
- "dev": true,
170
2942
  "license": "Apache-2.0",
171
2943
  "optional": true,
172
2944
  "os": [
@@ -183,7 +2955,6 @@
183
2955
  "cpu": [
184
2956
  "x64"
185
2957
  ],
186
- "dev": true,
187
2958
  "license": "Apache-2.0",
188
2959
  "optional": true,
189
2960
  "os": [
@@ -200,7 +2971,6 @@
200
2971
  "cpu": [
201
2972
  "arm"
202
2973
  ],
203
- "dev": true,
204
2974
  "license": "Apache-2.0",
205
2975
  "optional": true,
206
2976
  "os": [
@@ -217,7 +2987,6 @@
217
2987
  "cpu": [
218
2988
  "arm64"
219
2989
  ],
220
- "dev": true,
221
2990
  "license": "Apache-2.0",
222
2991
  "optional": true,
223
2992
  "os": [
@@ -234,7 +3003,6 @@
234
3003
  "cpu": [
235
3004
  "loong64"
236
3005
  ],
237
- "dev": true,
238
3006
  "license": "Apache-2.0",
239
3007
  "optional": true,
240
3008
  "os": [
@@ -251,7 +3019,6 @@
251
3019
  "cpu": [
252
3020
  "mips64el"
253
3021
  ],
254
- "dev": true,
255
3022
  "license": "Apache-2.0",
256
3023
  "optional": true,
257
3024
  "os": [
@@ -268,7 +3035,6 @@
268
3035
  "cpu": [
269
3036
  "ppc64"
270
3037
  ],
271
- "dev": true,
272
3038
  "license": "Apache-2.0",
273
3039
  "optional": true,
274
3040
  "os": [
@@ -285,7 +3051,6 @@
285
3051
  "cpu": [
286
3052
  "riscv64"
287
3053
  ],
288
- "dev": true,
289
3054
  "license": "Apache-2.0",
290
3055
  "optional": true,
291
3056
  "os": [
@@ -302,7 +3067,6 @@
302
3067
  "cpu": [
303
3068
  "s390x"
304
3069
  ],
305
- "dev": true,
306
3070
  "license": "Apache-2.0",
307
3071
  "optional": true,
308
3072
  "os": [
@@ -319,7 +3083,6 @@
319
3083
  "cpu": [
320
3084
  "x64"
321
3085
  ],
322
- "dev": true,
323
3086
  "license": "Apache-2.0",
324
3087
  "optional": true,
325
3088
  "os": [
@@ -336,7 +3099,6 @@
336
3099
  "cpu": [
337
3100
  "arm64"
338
3101
  ],
339
- "dev": true,
340
3102
  "license": "Apache-2.0",
341
3103
  "optional": true,
342
3104
  "os": [
@@ -353,7 +3115,6 @@
353
3115
  "cpu": [
354
3116
  "x64"
355
3117
  ],
356
- "dev": true,
357
3118
  "license": "Apache-2.0",
358
3119
  "optional": true,
359
3120
  "os": [
@@ -370,7 +3131,6 @@
370
3131
  "cpu": [
371
3132
  "arm64"
372
3133
  ],
373
- "dev": true,
374
3134
  "license": "Apache-2.0",
375
3135
  "optional": true,
376
3136
  "os": [
@@ -387,7 +3147,6 @@
387
3147
  "cpu": [
388
3148
  "x64"
389
3149
  ],
390
- "dev": true,
391
3150
  "license": "Apache-2.0",
392
3151
  "optional": true,
393
3152
  "os": [
@@ -404,7 +3163,6 @@
404
3163
  "cpu": [
405
3164
  "x64"
406
3165
  ],
407
- "dev": true,
408
3166
  "license": "Apache-2.0",
409
3167
  "optional": true,
410
3168
  "os": [
@@ -421,7 +3179,6 @@
421
3179
  "cpu": [
422
3180
  "arm64"
423
3181
  ],
424
- "dev": true,
425
3182
  "license": "Apache-2.0",
426
3183
  "optional": true,
427
3184
  "os": [
@@ -438,7 +3195,6 @@
438
3195
  "cpu": [
439
3196
  "x64"
440
3197
  ],
441
- "dev": true,
442
3198
  "license": "Apache-2.0",
443
3199
  "optional": true,
444
3200
  "os": [
@@ -458,7 +3214,17 @@
458
3214
  "negotiator": "^1.0.0"
459
3215
  },
460
3216
  "engines": {
461
- "node": ">= 0.6"
3217
+ "node": ">= 0.6"
3218
+ }
3219
+ },
3220
+ "node_modules/agent-base": {
3221
+ "version": "7.1.4",
3222
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
3223
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
3224
+ "dev": true,
3225
+ "license": "MIT",
3226
+ "engines": {
3227
+ "node": ">= 14"
462
3228
  }
463
3229
  },
464
3230
  "node_modules/ajv": {
@@ -494,6 +3260,37 @@
494
3260
  }
495
3261
  }
496
3262
  },
3263
+ "node_modules/base64-js": {
3264
+ "version": "1.5.1",
3265
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
3266
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
3267
+ "dev": true,
3268
+ "funding": [
3269
+ {
3270
+ "type": "github",
3271
+ "url": "https://github.com/sponsors/feross"
3272
+ },
3273
+ {
3274
+ "type": "patreon",
3275
+ "url": "https://www.patreon.com/feross"
3276
+ },
3277
+ {
3278
+ "type": "consulting",
3279
+ "url": "https://feross.org/support"
3280
+ }
3281
+ ],
3282
+ "license": "MIT"
3283
+ },
3284
+ "node_modules/bignumber.js": {
3285
+ "version": "9.3.1",
3286
+ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
3287
+ "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
3288
+ "dev": true,
3289
+ "license": "MIT",
3290
+ "engines": {
3291
+ "node": "*"
3292
+ }
3293
+ },
497
3294
  "node_modules/body-parser": {
498
3295
  "version": "2.3.0",
499
3296
  "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
@@ -531,6 +3328,20 @@
531
3328
  "url": "https://opencollective.com/express"
532
3329
  }
533
3330
  },
3331
+ "node_modules/bowser": {
3332
+ "version": "2.14.1",
3333
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz",
3334
+ "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==",
3335
+ "dev": true,
3336
+ "license": "MIT"
3337
+ },
3338
+ "node_modules/buffer-equal-constant-time": {
3339
+ "version": "1.0.1",
3340
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
3341
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
3342
+ "dev": true,
3343
+ "license": "BSD-3-Clause"
3344
+ },
534
3345
  "node_modules/bytes": {
535
3346
  "version": "3.1.2",
536
3347
  "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -640,6 +3451,16 @@
640
3451
  "node": ">= 8"
641
3452
  }
642
3453
  },
3454
+ "node_modules/data-uri-to-buffer": {
3455
+ "version": "4.0.1",
3456
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
3457
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
3458
+ "dev": true,
3459
+ "license": "MIT",
3460
+ "engines": {
3461
+ "node": ">= 12"
3462
+ }
3463
+ },
643
3464
  "node_modules/debug": {
644
3465
  "version": "4.4.3",
645
3466
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
@@ -680,6 +3501,16 @@
680
3501
  "node": ">= 0.4"
681
3502
  }
682
3503
  },
3504
+ "node_modules/ecdsa-sig-formatter": {
3505
+ "version": "1.0.11",
3506
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
3507
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
3508
+ "dev": true,
3509
+ "license": "Apache-2.0",
3510
+ "dependencies": {
3511
+ "safe-buffer": "^5.0.1"
3512
+ }
3513
+ },
683
3514
  "node_modules/ee-first": {
684
3515
  "version": "1.1.1",
685
3516
  "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -822,6 +3653,13 @@
822
3653
  "express": ">= 4.11"
823
3654
  }
824
3655
  },
3656
+ "node_modules/extend": {
3657
+ "version": "3.0.2",
3658
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
3659
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
3660
+ "dev": true,
3661
+ "license": "MIT"
3662
+ },
825
3663
  "node_modules/fast-deep-equal": {
826
3664
  "version": "3.1.3",
827
3665
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -844,6 +3682,30 @@
844
3682
  ],
845
3683
  "license": "BSD-3-Clause"
846
3684
  },
3685
+ "node_modules/fetch-blob": {
3686
+ "version": "3.2.0",
3687
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
3688
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
3689
+ "dev": true,
3690
+ "funding": [
3691
+ {
3692
+ "type": "github",
3693
+ "url": "https://github.com/sponsors/jimmywarting"
3694
+ },
3695
+ {
3696
+ "type": "paypal",
3697
+ "url": "https://paypal.me/jimmywarting"
3698
+ }
3699
+ ],
3700
+ "license": "MIT",
3701
+ "dependencies": {
3702
+ "node-domexception": "^1.0.0",
3703
+ "web-streams-polyfill": "^3.0.3"
3704
+ },
3705
+ "engines": {
3706
+ "node": "^12.20 || >= 14.13"
3707
+ }
3708
+ },
847
3709
  "node_modules/finalhandler": {
848
3710
  "version": "2.1.1",
849
3711
  "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
@@ -865,6 +3727,19 @@
865
3727
  "url": "https://opencollective.com/express"
866
3728
  }
867
3729
  },
3730
+ "node_modules/formdata-polyfill": {
3731
+ "version": "4.0.10",
3732
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
3733
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
3734
+ "dev": true,
3735
+ "license": "MIT",
3736
+ "dependencies": {
3737
+ "fetch-blob": "^3.1.2"
3738
+ },
3739
+ "engines": {
3740
+ "node": ">=12.20.0"
3741
+ }
3742
+ },
868
3743
  "node_modules/forwarded": {
869
3744
  "version": "0.2.0",
870
3745
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -892,6 +3767,49 @@
892
3767
  "url": "https://github.com/sponsors/ljharb"
893
3768
  }
894
3769
  },
3770
+ "node_modules/gaxios": {
3771
+ "version": "7.2.0",
3772
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.2.0.tgz",
3773
+ "integrity": "sha512-CUVb4wcYe+771XevyH6HtGmXFAGGKkIC3kswAP8Z1JCe0j80JMaTPZH930DWFrvo0atjh18Arc0pEyUCWa5bfg==",
3774
+ "dev": true,
3775
+ "license": "Apache-2.0",
3776
+ "dependencies": {
3777
+ "extend": "^3.0.2",
3778
+ "https-proxy-agent": "^7.0.1",
3779
+ "node-fetch": "^3.3.2"
3780
+ },
3781
+ "engines": {
3782
+ "node": ">=18"
3783
+ }
3784
+ },
3785
+ "node_modules/gcp-metadata": {
3786
+ "version": "8.1.2",
3787
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz",
3788
+ "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==",
3789
+ "dev": true,
3790
+ "license": "Apache-2.0",
3791
+ "dependencies": {
3792
+ "gaxios": "^7.0.0",
3793
+ "google-logging-utils": "^1.0.0",
3794
+ "json-bigint": "^1.0.0"
3795
+ },
3796
+ "engines": {
3797
+ "node": ">=18"
3798
+ }
3799
+ },
3800
+ "node_modules/get-east-asian-width": {
3801
+ "version": "1.6.0",
3802
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
3803
+ "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
3804
+ "dev": true,
3805
+ "license": "MIT",
3806
+ "engines": {
3807
+ "node": ">=18"
3808
+ },
3809
+ "funding": {
3810
+ "url": "https://github.com/sponsors/sindresorhus"
3811
+ }
3812
+ },
895
3813
  "node_modules/get-intrinsic": {
896
3814
  "version": "1.3.0",
897
3815
  "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
@@ -929,6 +3847,34 @@
929
3847
  "node": ">= 0.4"
930
3848
  }
931
3849
  },
3850
+ "node_modules/google-auth-library": {
3851
+ "version": "10.9.0",
3852
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.9.0.tgz",
3853
+ "integrity": "sha512-xtvUqvINPhTaBm7nXqlYPcrMHJPm1lCNdSovxnKKhTm+4JsvQ+KGVYJViLoH9Yxu8w+T0Qv5HubzYT9BLrppJg==",
3854
+ "dev": true,
3855
+ "license": "Apache-2.0",
3856
+ "dependencies": {
3857
+ "base64-js": "^1.3.0",
3858
+ "ecdsa-sig-formatter": "^1.0.11",
3859
+ "gaxios": "^7.1.4",
3860
+ "gcp-metadata": "8.1.2",
3861
+ "google-logging-utils": "1.1.3",
3862
+ "jws": "^4.0.0"
3863
+ },
3864
+ "engines": {
3865
+ "node": ">=18"
3866
+ }
3867
+ },
3868
+ "node_modules/google-logging-utils": {
3869
+ "version": "1.1.3",
3870
+ "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz",
3871
+ "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==",
3872
+ "dev": true,
3873
+ "license": "Apache-2.0",
3874
+ "engines": {
3875
+ "node": ">=14"
3876
+ }
3877
+ },
932
3878
  "node_modules/gopd": {
933
3879
  "version": "1.2.0",
934
3880
  "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -994,6 +3940,34 @@
994
3940
  "url": "https://opencollective.com/express"
995
3941
  }
996
3942
  },
3943
+ "node_modules/http-proxy-agent": {
3944
+ "version": "7.0.2",
3945
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
3946
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
3947
+ "dev": true,
3948
+ "license": "MIT",
3949
+ "dependencies": {
3950
+ "agent-base": "^7.1.0",
3951
+ "debug": "^4.3.4"
3952
+ },
3953
+ "engines": {
3954
+ "node": ">= 14"
3955
+ }
3956
+ },
3957
+ "node_modules/https-proxy-agent": {
3958
+ "version": "7.0.6",
3959
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
3960
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
3961
+ "dev": true,
3962
+ "license": "MIT",
3963
+ "dependencies": {
3964
+ "agent-base": "^7.1.2",
3965
+ "debug": "4"
3966
+ },
3967
+ "engines": {
3968
+ "node": ">= 14"
3969
+ }
3970
+ },
997
3971
  "node_modules/iconv-lite": {
998
3972
  "version": "0.7.3",
999
3973
  "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
@@ -1055,6 +4029,30 @@
1055
4029
  "url": "https://github.com/sponsors/panva"
1056
4030
  }
1057
4031
  },
4032
+ "node_modules/json-bigint": {
4033
+ "version": "1.0.0",
4034
+ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
4035
+ "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
4036
+ "dev": true,
4037
+ "license": "MIT",
4038
+ "dependencies": {
4039
+ "bignumber.js": "^9.0.0"
4040
+ }
4041
+ },
4042
+ "node_modules/json-schema-to-ts": {
4043
+ "version": "3.1.1",
4044
+ "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz",
4045
+ "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==",
4046
+ "dev": true,
4047
+ "license": "MIT",
4048
+ "dependencies": {
4049
+ "@babel/runtime": "^7.18.3",
4050
+ "ts-algebra": "^2.0.0"
4051
+ },
4052
+ "engines": {
4053
+ "node": ">=16"
4054
+ }
4055
+ },
1058
4056
  "node_modules/json-schema-traverse": {
1059
4057
  "version": "1.0.0",
1060
4058
  "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
@@ -1067,6 +4065,49 @@
1067
4065
  "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==",
1068
4066
  "license": "BSD-2-Clause"
1069
4067
  },
4068
+ "node_modules/jwa": {
4069
+ "version": "2.0.1",
4070
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
4071
+ "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==",
4072
+ "dev": true,
4073
+ "license": "MIT",
4074
+ "dependencies": {
4075
+ "buffer-equal-constant-time": "^1.0.1",
4076
+ "ecdsa-sig-formatter": "1.0.11",
4077
+ "safe-buffer": "^5.0.1"
4078
+ }
4079
+ },
4080
+ "node_modules/jws": {
4081
+ "version": "4.0.1",
4082
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz",
4083
+ "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==",
4084
+ "dev": true,
4085
+ "license": "MIT",
4086
+ "dependencies": {
4087
+ "jwa": "^2.0.1",
4088
+ "safe-buffer": "^5.0.1"
4089
+ }
4090
+ },
4091
+ "node_modules/long": {
4092
+ "version": "5.3.2",
4093
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
4094
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
4095
+ "dev": true,
4096
+ "license": "Apache-2.0"
4097
+ },
4098
+ "node_modules/marked": {
4099
+ "version": "18.0.5",
4100
+ "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.5.tgz",
4101
+ "integrity": "sha512-S6GcvALHg6K4ohtu4E7x0a1AqhAjp6cV8KhLSyN9qVapnzJkusVBxZRcIU9AeYsbe6P1hKDusSbEOzGyyuce6w==",
4102
+ "dev": true,
4103
+ "license": "MIT",
4104
+ "bin": {
4105
+ "marked": "bin/marked.js"
4106
+ },
4107
+ "engines": {
4108
+ "node": ">= 20"
4109
+ }
4110
+ },
1070
4111
  "node_modules/math-intrinsics": {
1071
4112
  "version": "1.1.0",
1072
4113
  "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -1137,6 +4178,46 @@
1137
4178
  "node": ">= 0.6"
1138
4179
  }
1139
4180
  },
4181
+ "node_modules/node-domexception": {
4182
+ "version": "1.0.0",
4183
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
4184
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
4185
+ "deprecated": "Use your platform's native DOMException instead",
4186
+ "dev": true,
4187
+ "funding": [
4188
+ {
4189
+ "type": "github",
4190
+ "url": "https://github.com/sponsors/jimmywarting"
4191
+ },
4192
+ {
4193
+ "type": "github",
4194
+ "url": "https://paypal.me/jimmywarting"
4195
+ }
4196
+ ],
4197
+ "license": "MIT",
4198
+ "engines": {
4199
+ "node": ">=10.5.0"
4200
+ }
4201
+ },
4202
+ "node_modules/node-fetch": {
4203
+ "version": "3.3.2",
4204
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
4205
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
4206
+ "dev": true,
4207
+ "license": "MIT",
4208
+ "dependencies": {
4209
+ "data-uri-to-buffer": "^4.0.0",
4210
+ "fetch-blob": "^3.1.4",
4211
+ "formdata-polyfill": "^4.0.10"
4212
+ },
4213
+ "engines": {
4214
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
4215
+ },
4216
+ "funding": {
4217
+ "type": "opencollective",
4218
+ "url": "https://opencollective.com/node-fetch"
4219
+ }
4220
+ },
1140
4221
  "node_modules/object-assign": {
1141
4222
  "version": "4.1.1",
1142
4223
  "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -1179,6 +4260,42 @@
1179
4260
  "wrappy": "1"
1180
4261
  }
1181
4262
  },
4263
+ "node_modules/openai": {
4264
+ "version": "6.26.0",
4265
+ "resolved": "https://registry.npmjs.org/openai/-/openai-6.26.0.tgz",
4266
+ "integrity": "sha512-zd23dbWTjiJ6sSAX6s0HrCZi41JwTA1bQVs0wLQPZ2/5o2gxOJA5wh7yOAUgwYybfhDXyhwlpeQf7Mlgx8EOCA==",
4267
+ "dev": true,
4268
+ "license": "Apache-2.0",
4269
+ "bin": {
4270
+ "openai": "bin/cli"
4271
+ },
4272
+ "peerDependencies": {
4273
+ "ws": "^8.18.0",
4274
+ "zod": "^3.25 || ^4.0"
4275
+ },
4276
+ "peerDependenciesMeta": {
4277
+ "ws": {
4278
+ "optional": true
4279
+ },
4280
+ "zod": {
4281
+ "optional": true
4282
+ }
4283
+ }
4284
+ },
4285
+ "node_modules/p-retry": {
4286
+ "version": "4.6.2",
4287
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
4288
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
4289
+ "dev": true,
4290
+ "license": "MIT",
4291
+ "dependencies": {
4292
+ "@types/retry": "0.12.0",
4293
+ "retry": "^0.13.1"
4294
+ },
4295
+ "engines": {
4296
+ "node": ">=8"
4297
+ }
4298
+ },
1182
4299
  "node_modules/parseurl": {
1183
4300
  "version": "1.3.3",
1184
4301
  "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -1188,6 +4305,13 @@
1188
4305
  "node": ">= 0.8"
1189
4306
  }
1190
4307
  },
4308
+ "node_modules/partial-json": {
4309
+ "version": "0.1.7",
4310
+ "resolved": "https://registry.npmjs.org/partial-json/-/partial-json-0.1.7.tgz",
4311
+ "integrity": "sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==",
4312
+ "dev": true,
4313
+ "license": "MIT"
4314
+ },
1191
4315
  "node_modules/path-key": {
1192
4316
  "version": "3.1.1",
1193
4317
  "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -1216,6 +4340,30 @@
1216
4340
  "node": ">=16.20.0"
1217
4341
  }
1218
4342
  },
4343
+ "node_modules/protobufjs": {
4344
+ "version": "7.6.5",
4345
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.5.tgz",
4346
+ "integrity": "sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==",
4347
+ "dev": true,
4348
+ "hasInstallScript": true,
4349
+ "license": "BSD-3-Clause",
4350
+ "dependencies": {
4351
+ "@protobufjs/aspromise": "^1.1.2",
4352
+ "@protobufjs/base64": "^1.1.2",
4353
+ "@protobufjs/codegen": "^2.0.5",
4354
+ "@protobufjs/eventemitter": "^1.1.1",
4355
+ "@protobufjs/fetch": "^1.1.1",
4356
+ "@protobufjs/float": "^1.0.2",
4357
+ "@protobufjs/path": "^1.1.2",
4358
+ "@protobufjs/pool": "^1.1.0",
4359
+ "@protobufjs/utf8": "^1.1.1",
4360
+ "@types/node": ">=13.7.0",
4361
+ "long": "^5.3.2"
4362
+ },
4363
+ "engines": {
4364
+ "node": ">=12.0.0"
4365
+ }
4366
+ },
1219
4367
  "node_modules/proxy-addr": {
1220
4368
  "version": "2.0.7",
1221
4369
  "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -1282,6 +4430,16 @@
1282
4430
  "node": ">=0.10.0"
1283
4431
  }
1284
4432
  },
4433
+ "node_modules/retry": {
4434
+ "version": "0.13.1",
4435
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
4436
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
4437
+ "dev": true,
4438
+ "license": "MIT",
4439
+ "engines": {
4440
+ "node": ">= 4"
4441
+ }
4442
+ },
1285
4443
  "node_modules/router": {
1286
4444
  "version": "2.2.0",
1287
4445
  "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
@@ -1298,6 +4456,27 @@
1298
4456
  "node": ">= 18"
1299
4457
  }
1300
4458
  },
4459
+ "node_modules/safe-buffer": {
4460
+ "version": "5.2.1",
4461
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
4462
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
4463
+ "dev": true,
4464
+ "funding": [
4465
+ {
4466
+ "type": "github",
4467
+ "url": "https://github.com/sponsors/feross"
4468
+ },
4469
+ {
4470
+ "type": "patreon",
4471
+ "url": "https://www.patreon.com/feross"
4472
+ },
4473
+ {
4474
+ "type": "consulting",
4475
+ "url": "https://feross.org/support"
4476
+ }
4477
+ ],
4478
+ "license": "MIT"
4479
+ },
1301
4480
  "node_modules/safer-buffer": {
1302
4481
  "version": "2.1.2",
1303
4482
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -1466,6 +4645,20 @@
1466
4645
  "node": ">=0.6"
1467
4646
  }
1468
4647
  },
4648
+ "node_modules/ts-algebra": {
4649
+ "version": "2.0.0",
4650
+ "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz",
4651
+ "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==",
4652
+ "dev": true,
4653
+ "license": "MIT"
4654
+ },
4655
+ "node_modules/tslib": {
4656
+ "version": "2.8.1",
4657
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
4658
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
4659
+ "dev": true,
4660
+ "license": "0BSD"
4661
+ },
1469
4662
  "node_modules/type-is": {
1470
4663
  "version": "2.1.0",
1471
4664
  "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
@@ -1497,11 +4690,17 @@
1497
4690
  "url": "https://opencollective.com/express"
1498
4691
  }
1499
4692
  },
4693
+ "node_modules/typebox": {
4694
+ "version": "1.1.38",
4695
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.38.tgz",
4696
+ "integrity": "sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==",
4697
+ "dev": true,
4698
+ "license": "MIT"
4699
+ },
1500
4700
  "node_modules/typescript": {
1501
4701
  "version": "7.0.2",
1502
4702
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz",
1503
4703
  "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==",
1504
- "dev": true,
1505
4704
  "license": "Apache-2.0",
1506
4705
  "bin": {
1507
4706
  "tsc": "bin/tsc"
@@ -1536,7 +4735,6 @@
1536
4735
  "version": "7.18.2",
1537
4736
  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
1538
4737
  "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
1539
- "dev": true,
1540
4738
  "license": "MIT"
1541
4739
  },
1542
4740
  "node_modules/unpipe": {
@@ -1557,6 +4755,16 @@
1557
4755
  "node": ">= 0.8"
1558
4756
  }
1559
4757
  },
4758
+ "node_modules/web-streams-polyfill": {
4759
+ "version": "3.3.3",
4760
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
4761
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
4762
+ "dev": true,
4763
+ "license": "MIT",
4764
+ "engines": {
4765
+ "node": ">= 8"
4766
+ }
4767
+ },
1560
4768
  "node_modules/which": {
1561
4769
  "version": "2.0.2",
1562
4770
  "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -1578,6 +4786,28 @@
1578
4786
  "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1579
4787
  "license": "ISC"
1580
4788
  },
4789
+ "node_modules/ws": {
4790
+ "version": "8.21.0",
4791
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
4792
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
4793
+ "dev": true,
4794
+ "license": "MIT",
4795
+ "engines": {
4796
+ "node": ">=10.0.0"
4797
+ },
4798
+ "peerDependencies": {
4799
+ "bufferutil": "^4.0.1",
4800
+ "utf-8-validate": ">=5.0.2"
4801
+ },
4802
+ "peerDependenciesMeta": {
4803
+ "bufferutil": {
4804
+ "optional": true
4805
+ },
4806
+ "utf-8-validate": {
4807
+ "optional": true
4808
+ }
4809
+ }
4810
+ },
1581
4811
  "node_modules/zod": {
1582
4812
  "version": "4.4.3",
1583
4813
  "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz",