@north-light/crouter 0.3.307 → 0.3.309

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/dist/builtin-pi-packages/pi-crtr-extensions/package-lock.json +635 -163
  2. package/dist/clients/attach/viewer.js +9 -9
  3. package/dist/commands/__tests__/node-message.test.js +13 -0
  4. package/dist/commands/canvas-history/grep.js +1 -1
  5. package/dist/commands/canvas-history/read.js +1 -1
  6. package/dist/commands/canvas-history/search.js +1 -1
  7. package/dist/commands/memory/__tests__/command-selector-and-mutation-guards.test.js +20 -0
  8. package/dist/commands/memory/edit.js +8 -11
  9. package/dist/commands/node-inspect-artifacts.js +2 -2
  10. package/dist/commands/push.js +1 -1
  11. package/dist/core/__tests__/canvas-inbox-watcher.test.js +3 -3
  12. package/dist/core/__tests__/human-deliver.test.js +1 -1
  13. package/dist/core/__tests__/integration/broker-wedge-supervision.test.d.ts +1 -0
  14. package/dist/core/__tests__/integration/broker-wedge-supervision.test.js +102 -0
  15. package/dist/core/__tests__/integration/refresh-stall-recycle.test.js +68 -2
  16. package/dist/core/__tests__/seam/inbox-reference-guidance.test.d.ts +1 -0
  17. package/dist/core/__tests__/seam/inbox-reference-guidance.test.js +70 -0
  18. package/dist/core/canvas/__tests__/session-window.test.d.ts +1 -0
  19. package/dist/core/canvas/__tests__/session-window.test.js +70 -0
  20. package/dist/core/canvas/browse/app.js +52 -27
  21. package/dist/core/canvas/browse/render.js +11 -2
  22. package/dist/core/canvas/render-source.js +63 -25
  23. package/dist/core/command.js +15 -0
  24. package/dist/core/feed/inbox.js +6 -4
  25. package/dist/core/runtime/bearings-render.js +3 -3
  26. package/dist/core/runtime/broker/inbox.js +6 -4
  27. package/dist/core/runtime/fleet.js +1 -1
  28. package/dist/core/runtime/placement.d.ts +1 -1
  29. package/dist/core/runtime/placement.js +1 -1
  30. package/dist/core/runtime/tmux-driver.d.ts +7 -0
  31. package/dist/core/runtime/tmux-driver.js +20 -0
  32. package/dist/core/substrate/on-read.d.ts +6 -4
  33. package/dist/core/substrate/on-read.js +14 -6
  34. package/dist/core/substrate/surface-match.d.ts +12 -4
  35. package/dist/core/substrate/surface-match.js +19 -10
  36. package/dist/daemon/api/handlers/canvas.js +3 -3
  37. package/dist/daemon/reconcilers/broker-supervision.d.ts +14 -2
  38. package/dist/daemon/reconcilers/broker-supervision.js +109 -57
  39. package/dist/daemon/reconcilers/storage-maintenance.d.ts +5 -0
  40. package/dist/daemon/reconcilers/storage-maintenance.js +31 -8
  41. package/dist/pi-extensions/__tests__/pre-command-gate.test.js +10 -10
  42. package/dist/pi-extensions/canvas-doc-substrate.js +11 -5
  43. package/dist/shared/generated-context.d.ts +2 -0
  44. package/dist/shared/generated-context.js +6 -0
  45. package/package.json +1 -1
  46. package/runtime.lock.json +5 -5
@@ -12,7 +12,7 @@
12
12
  "yaml": "^2.9.0"
13
13
  },
14
14
  "devDependencies": {
15
- "@earendil-works/pi-ai": "^0.79.6"
15
+ "@earendil-works/pi-ai": "0.82.1"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "@earendil-works/pi-coding-agent": "*"
@@ -527,16 +527,17 @@
527
527
  }
528
528
  },
529
529
  "node_modules/@earendil-works/pi-ai": {
530
- "version": "0.79.6",
531
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.79.6.tgz",
532
- "integrity": "sha512-KGepEdgEeWDs7Imwlp96tBsO8TjSIpcDBvazsCDtHRa81+uwJI/YGetTegI52pMlKhVpJFLIGajRi4PCGC5MUg==",
530
+ "version": "0.82.1",
531
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.82.1.tgz",
532
+ "integrity": "sha512-3WFYRhEp3lQB3444EhPMBcM7zSaEUE3eJgHOR7s4081NLqbw/FsWilIKWXSua0Gv3sRr7m9xMidR3pPDE7jI/A==",
533
533
  "dev": true,
534
534
  "license": "MIT",
535
535
  "dependencies": {
536
536
  "@anthropic-ai/sdk": "0.91.1",
537
537
  "@aws-sdk/client-bedrock-runtime": "3.1048.0",
538
538
  "@google/genai": "1.52.0",
539
- "@mistralai/mistralai": "2.2.1",
539
+ "@mistralai/mistralai": "2.2.6",
540
+ "@opentelemetry/api": "1.9.0",
540
541
  "@smithy/node-http-handler": "4.7.3",
541
542
  "http-proxy-agent": "7.0.2",
542
543
  "https-proxy-agent": "7.0.6",
@@ -552,21 +553,22 @@
552
553
  }
553
554
  },
554
555
  "node_modules/@earendil-works/pi-coding-agent": {
555
- "version": "0.79.6",
556
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-0.79.6.tgz",
557
- "integrity": "sha512-xPQDoA3+4Q8UsInST8OGFHPHyi7JQIbx51ku5kf2VuhXrrTv/npjVTXYD3A3D5xs6QRebV0B2mQqHfXaxQAplw==",
556
+ "version": "0.85.1",
557
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-0.85.1.tgz",
558
+ "integrity": "sha512-FGRN+OHbWaefBPGaTggAdLjrIHW+s2PzLyglz/5dfLzb9of7uuXMXYC0fJIeZTw+shS32o2cuQ9jF7YSDuL/oQ==",
558
559
  "hasShrinkwrap": true,
559
560
  "license": "MIT",
560
561
  "peer": true,
561
562
  "dependencies": {
562
- "@earendil-works/pi-agent-core": "^0.79.6",
563
- "@earendil-works/pi-ai": "^0.79.6",
564
- "@earendil-works/pi-tui": "^0.79.6",
563
+ "@earendil-works/chord": "^0.85.1",
564
+ "@earendil-works/pi-agent-core": "^0.85.1",
565
+ "@earendil-works/pi-ai": "^0.85.1",
566
+ "@earendil-works/pi-tui": "^0.85.1",
565
567
  "@silvia-odwyer/photon-node": "0.3.4",
566
568
  "chalk": "5.6.2",
567
569
  "cross-spawn": "7.0.6",
568
570
  "diff": "8.0.4",
569
- "glob": "13.0.6",
571
+ "grok-mermaid": "0.2.2",
570
572
  "highlight.js": "10.7.3",
571
573
  "hosted-git-info": "9.0.3",
572
574
  "ignore": "7.0.5",
@@ -574,12 +576,12 @@
574
576
  "minimatch": "10.2.5",
575
577
  "proper-lockfile": "4.1.2",
576
578
  "semver": "7.8.0",
577
- "typebox": "1.1.38",
578
- "undici": "8.3.0",
579
+ "typebox": "1.3.7",
580
+ "undici": "8.9.0",
579
581
  "yaml": "2.9.0"
580
582
  },
581
583
  "bin": {
582
- "pi": "dist/cli.js"
584
+ "pi": "dist/bundle/cli.js"
583
585
  },
584
586
  "engines": {
585
587
  "node": ">=22.19.0"
@@ -589,13 +591,14 @@
589
591
  }
590
592
  },
591
593
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@anthropic-ai/sdk": {
592
- "version": "0.91.1",
593
- "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.91.1.tgz",
594
- "integrity": "sha512-LAmu761tSN9r66ixvmciswUj/ZC+1Q4iAfpedTfSVLeswRwnY3n2Nb6Tsk+cLPP28aLOPWeMgIuTuCcMC6W/iw==",
594
+ "version": "0.123.0",
595
+ "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.123.0.tgz",
596
+ "integrity": "sha512-Y9oX9mPNGZClHQOFqrWRk43Srcu/UHuPq3rfxxOq7JgW0gi+lJA2MAOK4Ul3k/+AUrwRWFJvd0tK3oC0Pw25dw==",
595
597
  "license": "MIT",
596
598
  "peer": true,
597
599
  "dependencies": {
598
- "json-schema-to-ts": "^3.1.1"
600
+ "json-schema-to-ts": "^3.1.1",
601
+ "standardwebhooks": "^1.0.0"
599
602
  },
600
603
  "bin": {
601
604
  "anthropic-ai-sdk": "bin/cli"
@@ -1050,15 +1053,30 @@
1050
1053
  "node": ">=6.9.0"
1051
1054
  }
1052
1055
  },
1056
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/chord": {
1057
+ "version": "0.85.1",
1058
+ "resolved": "https://registry.npmjs.org/@earendil-works/chord/-/chord-0.85.1.tgz",
1059
+ "license": "MIT",
1060
+ "peer": true,
1061
+ "dependencies": {
1062
+ "esbuild": "0.28.1"
1063
+ },
1064
+ "engines": {
1065
+ "node": ">=22.19.0"
1066
+ }
1067
+ },
1053
1068
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-agent-core": {
1054
- "version": "0.79.6",
1055
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.79.6.tgz",
1069
+ "version": "0.85.1",
1070
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.85.1.tgz",
1056
1071
  "license": "MIT",
1057
1072
  "peer": true,
1058
1073
  "dependencies": {
1059
- "@earendil-works/pi-ai": "^0.79.6",
1074
+ "@earendil-works/chord": "^0.85.1",
1075
+ "@earendil-works/pi-ai": "^0.85.1",
1076
+ "@earendil-works/pi-telemetry": "^0.85.1",
1077
+ "diff": "8.0.4",
1060
1078
  "ignore": "7.0.5",
1061
- "typebox": "1.1.38",
1079
+ "typebox": "1.3.7",
1062
1080
  "yaml": "2.9.0"
1063
1081
  },
1064
1082
  "engines": {
@@ -1066,32 +1084,41 @@
1066
1084
  }
1067
1085
  },
1068
1086
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-ai": {
1069
- "version": "0.79.6",
1070
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.79.6.tgz",
1087
+ "version": "0.85.1",
1088
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.85.1.tgz",
1071
1089
  "license": "MIT",
1072
1090
  "peer": true,
1073
1091
  "dependencies": {
1074
- "@anthropic-ai/sdk": "0.91.1",
1092
+ "@anthropic-ai/sdk": "0.123.0",
1075
1093
  "@aws-sdk/client-bedrock-runtime": "3.1048.0",
1094
+ "@earendil-works/pi-telemetry": "^0.85.1",
1076
1095
  "@google/genai": "1.52.0",
1077
- "@mistralai/mistralai": "2.2.1",
1078
1096
  "@smithy/node-http-handler": "4.7.3",
1079
1097
  "http-proxy-agent": "7.0.2",
1080
1098
  "https-proxy-agent": "7.0.6",
1081
- "openai": "6.26.0",
1099
+ "openai": "6.40.0",
1082
1100
  "partial-json": "0.1.7",
1083
- "typebox": "1.1.38"
1101
+ "typebox": "1.3.7"
1084
1102
  },
1085
1103
  "bin": {
1086
- "pi-ai": "./dist/cli.js"
1104
+ "pi-ai": "dist/cli.js"
1087
1105
  },
1088
1106
  "engines": {
1089
1107
  "node": ">=22.19.0"
1090
1108
  }
1091
1109
  },
1110
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-telemetry": {
1111
+ "version": "0.85.1",
1112
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-0.85.1.tgz",
1113
+ "license": "MIT",
1114
+ "peer": true,
1115
+ "engines": {
1116
+ "node": ">=22.19.0"
1117
+ }
1118
+ },
1092
1119
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-tui": {
1093
- "version": "0.79.6",
1094
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.79.6.tgz",
1120
+ "version": "0.85.1",
1121
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.85.1.tgz",
1095
1122
  "license": "MIT",
1096
1123
  "peer": true,
1097
1124
  "dependencies": {
@@ -1102,6 +1129,448 @@
1102
1129
  "node": ">=22.19.0"
1103
1130
  }
1104
1131
  },
1132
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/aix-ppc64": {
1133
+ "version": "0.28.1",
1134
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz",
1135
+ "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==",
1136
+ "cpu": [
1137
+ "ppc64"
1138
+ ],
1139
+ "license": "MIT",
1140
+ "optional": true,
1141
+ "os": [
1142
+ "aix"
1143
+ ],
1144
+ "peer": true,
1145
+ "engines": {
1146
+ "node": ">=18"
1147
+ }
1148
+ },
1149
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/android-arm": {
1150
+ "version": "0.28.1",
1151
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz",
1152
+ "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==",
1153
+ "cpu": [
1154
+ "arm"
1155
+ ],
1156
+ "license": "MIT",
1157
+ "optional": true,
1158
+ "os": [
1159
+ "android"
1160
+ ],
1161
+ "peer": true,
1162
+ "engines": {
1163
+ "node": ">=18"
1164
+ }
1165
+ },
1166
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/android-arm64": {
1167
+ "version": "0.28.1",
1168
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz",
1169
+ "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==",
1170
+ "cpu": [
1171
+ "arm64"
1172
+ ],
1173
+ "license": "MIT",
1174
+ "optional": true,
1175
+ "os": [
1176
+ "android"
1177
+ ],
1178
+ "peer": true,
1179
+ "engines": {
1180
+ "node": ">=18"
1181
+ }
1182
+ },
1183
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/android-x64": {
1184
+ "version": "0.28.1",
1185
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz",
1186
+ "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==",
1187
+ "cpu": [
1188
+ "x64"
1189
+ ],
1190
+ "license": "MIT",
1191
+ "optional": true,
1192
+ "os": [
1193
+ "android"
1194
+ ],
1195
+ "peer": true,
1196
+ "engines": {
1197
+ "node": ">=18"
1198
+ }
1199
+ },
1200
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/darwin-arm64": {
1201
+ "version": "0.28.1",
1202
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz",
1203
+ "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==",
1204
+ "cpu": [
1205
+ "arm64"
1206
+ ],
1207
+ "license": "MIT",
1208
+ "optional": true,
1209
+ "os": [
1210
+ "darwin"
1211
+ ],
1212
+ "peer": true,
1213
+ "engines": {
1214
+ "node": ">=18"
1215
+ }
1216
+ },
1217
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/darwin-x64": {
1218
+ "version": "0.28.1",
1219
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz",
1220
+ "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==",
1221
+ "cpu": [
1222
+ "x64"
1223
+ ],
1224
+ "license": "MIT",
1225
+ "optional": true,
1226
+ "os": [
1227
+ "darwin"
1228
+ ],
1229
+ "peer": true,
1230
+ "engines": {
1231
+ "node": ">=18"
1232
+ }
1233
+ },
1234
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/freebsd-arm64": {
1235
+ "version": "0.28.1",
1236
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz",
1237
+ "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==",
1238
+ "cpu": [
1239
+ "arm64"
1240
+ ],
1241
+ "license": "MIT",
1242
+ "optional": true,
1243
+ "os": [
1244
+ "freebsd"
1245
+ ],
1246
+ "peer": true,
1247
+ "engines": {
1248
+ "node": ">=18"
1249
+ }
1250
+ },
1251
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/freebsd-x64": {
1252
+ "version": "0.28.1",
1253
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz",
1254
+ "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==",
1255
+ "cpu": [
1256
+ "x64"
1257
+ ],
1258
+ "license": "MIT",
1259
+ "optional": true,
1260
+ "os": [
1261
+ "freebsd"
1262
+ ],
1263
+ "peer": true,
1264
+ "engines": {
1265
+ "node": ">=18"
1266
+ }
1267
+ },
1268
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-arm": {
1269
+ "version": "0.28.1",
1270
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz",
1271
+ "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==",
1272
+ "cpu": [
1273
+ "arm"
1274
+ ],
1275
+ "license": "MIT",
1276
+ "optional": true,
1277
+ "os": [
1278
+ "linux"
1279
+ ],
1280
+ "peer": true,
1281
+ "engines": {
1282
+ "node": ">=18"
1283
+ }
1284
+ },
1285
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-arm64": {
1286
+ "version": "0.28.1",
1287
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz",
1288
+ "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==",
1289
+ "cpu": [
1290
+ "arm64"
1291
+ ],
1292
+ "license": "MIT",
1293
+ "optional": true,
1294
+ "os": [
1295
+ "linux"
1296
+ ],
1297
+ "peer": true,
1298
+ "engines": {
1299
+ "node": ">=18"
1300
+ }
1301
+ },
1302
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-ia32": {
1303
+ "version": "0.28.1",
1304
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz",
1305
+ "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==",
1306
+ "cpu": [
1307
+ "ia32"
1308
+ ],
1309
+ "license": "MIT",
1310
+ "optional": true,
1311
+ "os": [
1312
+ "linux"
1313
+ ],
1314
+ "peer": true,
1315
+ "engines": {
1316
+ "node": ">=18"
1317
+ }
1318
+ },
1319
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-loong64": {
1320
+ "version": "0.28.1",
1321
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz",
1322
+ "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==",
1323
+ "cpu": [
1324
+ "loong64"
1325
+ ],
1326
+ "license": "MIT",
1327
+ "optional": true,
1328
+ "os": [
1329
+ "linux"
1330
+ ],
1331
+ "peer": true,
1332
+ "engines": {
1333
+ "node": ">=18"
1334
+ }
1335
+ },
1336
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-mips64el": {
1337
+ "version": "0.28.1",
1338
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz",
1339
+ "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==",
1340
+ "cpu": [
1341
+ "mips64el"
1342
+ ],
1343
+ "license": "MIT",
1344
+ "optional": true,
1345
+ "os": [
1346
+ "linux"
1347
+ ],
1348
+ "peer": true,
1349
+ "engines": {
1350
+ "node": ">=18"
1351
+ }
1352
+ },
1353
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-ppc64": {
1354
+ "version": "0.28.1",
1355
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz",
1356
+ "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==",
1357
+ "cpu": [
1358
+ "ppc64"
1359
+ ],
1360
+ "license": "MIT",
1361
+ "optional": true,
1362
+ "os": [
1363
+ "linux"
1364
+ ],
1365
+ "peer": true,
1366
+ "engines": {
1367
+ "node": ">=18"
1368
+ }
1369
+ },
1370
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-riscv64": {
1371
+ "version": "0.28.1",
1372
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz",
1373
+ "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==",
1374
+ "cpu": [
1375
+ "riscv64"
1376
+ ],
1377
+ "license": "MIT",
1378
+ "optional": true,
1379
+ "os": [
1380
+ "linux"
1381
+ ],
1382
+ "peer": true,
1383
+ "engines": {
1384
+ "node": ">=18"
1385
+ }
1386
+ },
1387
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-s390x": {
1388
+ "version": "0.28.1",
1389
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz",
1390
+ "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==",
1391
+ "cpu": [
1392
+ "s390x"
1393
+ ],
1394
+ "license": "MIT",
1395
+ "optional": true,
1396
+ "os": [
1397
+ "linux"
1398
+ ],
1399
+ "peer": true,
1400
+ "engines": {
1401
+ "node": ">=18"
1402
+ }
1403
+ },
1404
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/linux-x64": {
1405
+ "version": "0.28.1",
1406
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz",
1407
+ "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==",
1408
+ "cpu": [
1409
+ "x64"
1410
+ ],
1411
+ "license": "MIT",
1412
+ "optional": true,
1413
+ "os": [
1414
+ "linux"
1415
+ ],
1416
+ "peer": true,
1417
+ "engines": {
1418
+ "node": ">=18"
1419
+ }
1420
+ },
1421
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/netbsd-arm64": {
1422
+ "version": "0.28.1",
1423
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz",
1424
+ "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==",
1425
+ "cpu": [
1426
+ "arm64"
1427
+ ],
1428
+ "license": "MIT",
1429
+ "optional": true,
1430
+ "os": [
1431
+ "netbsd"
1432
+ ],
1433
+ "peer": true,
1434
+ "engines": {
1435
+ "node": ">=18"
1436
+ }
1437
+ },
1438
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/netbsd-x64": {
1439
+ "version": "0.28.1",
1440
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz",
1441
+ "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==",
1442
+ "cpu": [
1443
+ "x64"
1444
+ ],
1445
+ "license": "MIT",
1446
+ "optional": true,
1447
+ "os": [
1448
+ "netbsd"
1449
+ ],
1450
+ "peer": true,
1451
+ "engines": {
1452
+ "node": ">=18"
1453
+ }
1454
+ },
1455
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/openbsd-arm64": {
1456
+ "version": "0.28.1",
1457
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz",
1458
+ "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==",
1459
+ "cpu": [
1460
+ "arm64"
1461
+ ],
1462
+ "license": "MIT",
1463
+ "optional": true,
1464
+ "os": [
1465
+ "openbsd"
1466
+ ],
1467
+ "peer": true,
1468
+ "engines": {
1469
+ "node": ">=18"
1470
+ }
1471
+ },
1472
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/openbsd-x64": {
1473
+ "version": "0.28.1",
1474
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz",
1475
+ "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==",
1476
+ "cpu": [
1477
+ "x64"
1478
+ ],
1479
+ "license": "MIT",
1480
+ "optional": true,
1481
+ "os": [
1482
+ "openbsd"
1483
+ ],
1484
+ "peer": true,
1485
+ "engines": {
1486
+ "node": ">=18"
1487
+ }
1488
+ },
1489
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/openharmony-arm64": {
1490
+ "version": "0.28.1",
1491
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz",
1492
+ "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==",
1493
+ "cpu": [
1494
+ "arm64"
1495
+ ],
1496
+ "license": "MIT",
1497
+ "optional": true,
1498
+ "os": [
1499
+ "openharmony"
1500
+ ],
1501
+ "peer": true,
1502
+ "engines": {
1503
+ "node": ">=18"
1504
+ }
1505
+ },
1506
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/sunos-x64": {
1507
+ "version": "0.28.1",
1508
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz",
1509
+ "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==",
1510
+ "cpu": [
1511
+ "x64"
1512
+ ],
1513
+ "license": "MIT",
1514
+ "optional": true,
1515
+ "os": [
1516
+ "sunos"
1517
+ ],
1518
+ "peer": true,
1519
+ "engines": {
1520
+ "node": ">=18"
1521
+ }
1522
+ },
1523
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/win32-arm64": {
1524
+ "version": "0.28.1",
1525
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz",
1526
+ "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==",
1527
+ "cpu": [
1528
+ "arm64"
1529
+ ],
1530
+ "license": "MIT",
1531
+ "optional": true,
1532
+ "os": [
1533
+ "win32"
1534
+ ],
1535
+ "peer": true,
1536
+ "engines": {
1537
+ "node": ">=18"
1538
+ }
1539
+ },
1540
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/win32-ia32": {
1541
+ "version": "0.28.1",
1542
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz",
1543
+ "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==",
1544
+ "cpu": [
1545
+ "ia32"
1546
+ ],
1547
+ "license": "MIT",
1548
+ "optional": true,
1549
+ "os": [
1550
+ "win32"
1551
+ ],
1552
+ "peer": true,
1553
+ "engines": {
1554
+ "node": ">=18"
1555
+ }
1556
+ },
1557
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@esbuild/win32-x64": {
1558
+ "version": "0.28.1",
1559
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz",
1560
+ "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==",
1561
+ "cpu": [
1562
+ "x64"
1563
+ ],
1564
+ "license": "MIT",
1565
+ "optional": true,
1566
+ "os": [
1567
+ "win32"
1568
+ ],
1569
+ "peer": true,
1570
+ "engines": {
1571
+ "node": ">=18"
1572
+ }
1573
+ },
1105
1574
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@google/genai": {
1106
1575
  "version": "1.52.0",
1107
1576
  "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.52.0.tgz",
@@ -1205,9 +1674,6 @@
1205
1674
  "cpu": [
1206
1675
  "arm64"
1207
1676
  ],
1208
- "libc": [
1209
- "glibc"
1210
- ],
1211
1677
  "license": "MIT",
1212
1678
  "optional": true,
1213
1679
  "os": [
@@ -1225,9 +1691,6 @@
1225
1691
  "cpu": [
1226
1692
  "arm64"
1227
1693
  ],
1228
- "libc": [
1229
- "musl"
1230
- ],
1231
1694
  "license": "MIT",
1232
1695
  "optional": true,
1233
1696
  "os": [
@@ -1245,9 +1708,6 @@
1245
1708
  "cpu": [
1246
1709
  "riscv64"
1247
1710
  ],
1248
- "libc": [
1249
- "glibc"
1250
- ],
1251
1711
  "license": "MIT",
1252
1712
  "optional": true,
1253
1713
  "os": [
@@ -1265,9 +1725,6 @@
1265
1725
  "cpu": [
1266
1726
  "x64"
1267
1727
  ],
1268
- "libc": [
1269
- "glibc"
1270
- ],
1271
1728
  "license": "MIT",
1272
1729
  "optional": true,
1273
1730
  "os": [
@@ -1285,9 +1742,6 @@
1285
1742
  "cpu": [
1286
1743
  "x64"
1287
1744
  ],
1288
- "libc": [
1289
- "musl"
1290
- ],
1291
1745
  "license": "MIT",
1292
1746
  "optional": true,
1293
1747
  "os": [
@@ -1332,18 +1786,6 @@
1332
1786
  "node": ">= 10"
1333
1787
  }
1334
1788
  },
1335
- "node_modules/@earendil-works/pi-coding-agent/node_modules/@mistralai/mistralai": {
1336
- "version": "2.2.1",
1337
- "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-2.2.1.tgz",
1338
- "integrity": "sha512-uKU8CZmL2RzYKmplsU01hii4p3pe4HqJefpWNRWXm1Tcm0Sm4xXfwSLIy4k7ZCPlbETCGcp69E7hZs+WOJ5itQ==",
1339
- "license": "Apache-2.0",
1340
- "peer": true,
1341
- "dependencies": {
1342
- "ws": "^8.18.0",
1343
- "zod": "^3.25.0 || ^4.0.0",
1344
- "zod-to-json-schema": "^3.25.0"
1345
- }
1346
- },
1347
1789
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@nodable/entities": {
1348
1790
  "version": "2.1.0",
1349
1791
  "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz",
@@ -1379,9 +1821,9 @@
1379
1821
  "peer": true
1380
1822
  },
1381
1823
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/eventemitter": {
1382
- "version": "1.1.0",
1383
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
1384
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
1824
+ "version": "1.1.1",
1825
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
1826
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
1385
1827
  "license": "BSD-3-Clause",
1386
1828
  "peer": true
1387
1829
  },
@@ -1402,13 +1844,6 @@
1402
1844
  "license": "BSD-3-Clause",
1403
1845
  "peer": true
1404
1846
  },
1405
- "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/inquire": {
1406
- "version": "1.1.2",
1407
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.2.tgz",
1408
- "integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==",
1409
- "license": "BSD-3-Clause",
1410
- "peer": true
1411
- },
1412
1847
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@protobufjs/path": {
1413
1848
  "version": "1.1.2",
1414
1849
  "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
@@ -1566,6 +2001,13 @@
1566
2001
  "node": ">=14.0.0"
1567
2002
  }
1568
2003
  },
2004
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/@stablelib/base64": {
2005
+ "version": "1.0.1",
2006
+ "resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz",
2007
+ "integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==",
2008
+ "license": "MIT",
2009
+ "peer": true
2010
+ },
1569
2011
  "node_modules/@earendil-works/pi-coding-agent/node_modules/@types/node": {
1570
2012
  "version": "22.19.19",
1571
2013
  "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz",
@@ -1635,16 +2077,16 @@
1635
2077
  "peer": true
1636
2078
  },
1637
2079
  "node_modules/@earendil-works/pi-coding-agent/node_modules/brace-expansion": {
1638
- "version": "5.0.6",
1639
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
1640
- "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
2080
+ "version": "5.0.9",
2081
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
2082
+ "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
1641
2083
  "license": "MIT",
1642
2084
  "peer": true,
1643
2085
  "dependencies": {
1644
2086
  "balanced-match": "^4.0.2"
1645
2087
  },
1646
2088
  "engines": {
1647
- "node": "18 || 20 || >=22"
2089
+ "node": "20 || >=22"
1648
2090
  }
1649
2091
  },
1650
2092
  "node_modules/@earendil-works/pi-coding-agent/node_modules/buffer-equal-constant-time": {
@@ -1730,6 +2172,48 @@
1730
2172
  "safe-buffer": "^5.0.1"
1731
2173
  }
1732
2174
  },
2175
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/esbuild": {
2176
+ "version": "0.28.1",
2177
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz",
2178
+ "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
2179
+ "hasInstallScript": true,
2180
+ "license": "MIT",
2181
+ "peer": true,
2182
+ "bin": {
2183
+ "esbuild": "bin/esbuild"
2184
+ },
2185
+ "engines": {
2186
+ "node": ">=18"
2187
+ },
2188
+ "optionalDependencies": {
2189
+ "@esbuild/aix-ppc64": "0.28.1",
2190
+ "@esbuild/android-arm": "0.28.1",
2191
+ "@esbuild/android-arm64": "0.28.1",
2192
+ "@esbuild/android-x64": "0.28.1",
2193
+ "@esbuild/darwin-arm64": "0.28.1",
2194
+ "@esbuild/darwin-x64": "0.28.1",
2195
+ "@esbuild/freebsd-arm64": "0.28.1",
2196
+ "@esbuild/freebsd-x64": "0.28.1",
2197
+ "@esbuild/linux-arm": "0.28.1",
2198
+ "@esbuild/linux-arm64": "0.28.1",
2199
+ "@esbuild/linux-ia32": "0.28.1",
2200
+ "@esbuild/linux-loong64": "0.28.1",
2201
+ "@esbuild/linux-mips64el": "0.28.1",
2202
+ "@esbuild/linux-ppc64": "0.28.1",
2203
+ "@esbuild/linux-riscv64": "0.28.1",
2204
+ "@esbuild/linux-s390x": "0.28.1",
2205
+ "@esbuild/linux-x64": "0.28.1",
2206
+ "@esbuild/netbsd-arm64": "0.28.1",
2207
+ "@esbuild/netbsd-x64": "0.28.1",
2208
+ "@esbuild/openbsd-arm64": "0.28.1",
2209
+ "@esbuild/openbsd-x64": "0.28.1",
2210
+ "@esbuild/openharmony-arm64": "0.28.1",
2211
+ "@esbuild/sunos-x64": "0.28.1",
2212
+ "@esbuild/win32-arm64": "0.28.1",
2213
+ "@esbuild/win32-ia32": "0.28.1",
2214
+ "@esbuild/win32-x64": "0.28.1"
2215
+ }
2216
+ },
1733
2217
  "node_modules/@earendil-works/pi-coding-agent/node_modules/extend": {
1734
2218
  "version": "3.0.2",
1735
2219
  "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -1737,6 +2221,13 @@
1737
2221
  "license": "MIT",
1738
2222
  "peer": true
1739
2223
  },
2224
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/fast-sha256": {
2225
+ "version": "1.3.0",
2226
+ "resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz",
2227
+ "integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==",
2228
+ "license": "Unlicense",
2229
+ "peer": true
2230
+ },
1740
2231
  "node_modules/@earendil-works/pi-coding-agent/node_modules/fast-xml-builder": {
1741
2232
  "version": "1.2.0",
1742
2233
  "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz",
@@ -1856,24 +2347,6 @@
1856
2347
  "url": "https://github.com/sponsors/sindresorhus"
1857
2348
  }
1858
2349
  },
1859
- "node_modules/@earendil-works/pi-coding-agent/node_modules/glob": {
1860
- "version": "13.0.6",
1861
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
1862
- "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
1863
- "license": "BlueOak-1.0.0",
1864
- "peer": true,
1865
- "dependencies": {
1866
- "minimatch": "^10.2.2",
1867
- "minipass": "^7.1.3",
1868
- "path-scurry": "^2.0.2"
1869
- },
1870
- "engines": {
1871
- "node": "18 || 20 || >=22"
1872
- },
1873
- "funding": {
1874
- "url": "https://github.com/sponsors/isaacs"
1875
- }
1876
- },
1877
2350
  "node_modules/@earendil-works/pi-coding-agent/node_modules/google-auth-library": {
1878
2351
  "version": "10.6.2",
1879
2352
  "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.6.2.tgz",
@@ -1909,6 +2382,16 @@
1909
2382
  "license": "ISC",
1910
2383
  "peer": true
1911
2384
  },
2385
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/grok-mermaid": {
2386
+ "version": "0.2.2",
2387
+ "resolved": "https://registry.npmjs.org/grok-mermaid/-/grok-mermaid-0.2.2.tgz",
2388
+ "integrity": "sha512-XcJEP5dDC8liHBh52mlLjU18fNvu1ckFsu0QpIG3+APZ270fsj9wxpiA6cOURmbUEuoMVgjbC2+UYgTdCqqgzA==",
2389
+ "license": "Apache-2.0",
2390
+ "peer": true,
2391
+ "engines": {
2392
+ "node": ">=18"
2393
+ }
2394
+ },
1912
2395
  "node_modules/@earendil-works/pi-coding-agent/node_modules/highlight.js": {
1913
2396
  "version": "10.7.3",
1914
2397
  "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
@@ -2080,16 +2563,6 @@
2080
2563
  "url": "https://github.com/sponsors/isaacs"
2081
2564
  }
2082
2565
  },
2083
- "node_modules/@earendil-works/pi-coding-agent/node_modules/minipass": {
2084
- "version": "7.1.3",
2085
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
2086
- "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
2087
- "license": "BlueOak-1.0.0",
2088
- "peer": true,
2089
- "engines": {
2090
- "node": ">=16 || 14 >=14.17"
2091
- }
2092
- },
2093
2566
  "node_modules/@earendil-works/pi-coding-agent/node_modules/ms": {
2094
2567
  "version": "2.1.3",
2095
2568
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -2138,14 +2611,11 @@
2138
2611
  }
2139
2612
  },
2140
2613
  "node_modules/@earendil-works/pi-coding-agent/node_modules/openai": {
2141
- "version": "6.26.0",
2142
- "resolved": "https://registry.npmjs.org/openai/-/openai-6.26.0.tgz",
2143
- "integrity": "sha512-zd23dbWTjiJ6sSAX6s0HrCZi41JwTA1bQVs0wLQPZ2/5o2gxOJA5wh7yOAUgwYybfhDXyhwlpeQf7Mlgx8EOCA==",
2614
+ "version": "6.40.0",
2615
+ "resolved": "https://registry.npmjs.org/openai/-/openai-6.40.0.tgz",
2616
+ "integrity": "sha512-MWtTjd/gQt4jpbji61NTgFWJLoY/PdRJ6wG9/ZDRMYNMlBKrCrSlkLI+KgHP1vR1qT6LKSAyAqIxno6lcK9JiA==",
2144
2617
  "license": "Apache-2.0",
2145
2618
  "peer": true,
2146
- "bin": {
2147
- "openai": "bin/cli"
2148
- },
2149
2619
  "peerDependencies": {
2150
2620
  "ws": "^8.18.0",
2151
2621
  "zod": "^3.25 || ^4.0"
@@ -2213,23 +2683,6 @@
2213
2683
  "node": ">=8"
2214
2684
  }
2215
2685
  },
2216
- "node_modules/@earendil-works/pi-coding-agent/node_modules/path-scurry": {
2217
- "version": "2.0.2",
2218
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
2219
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
2220
- "license": "BlueOak-1.0.0",
2221
- "peer": true,
2222
- "dependencies": {
2223
- "lru-cache": "^11.0.0",
2224
- "minipass": "^7.1.2"
2225
- },
2226
- "engines": {
2227
- "node": "18 || 20 || >=22"
2228
- },
2229
- "funding": {
2230
- "url": "https://github.com/sponsors/isaacs"
2231
- }
2232
- },
2233
2686
  "node_modules/@earendil-works/pi-coding-agent/node_modules/proper-lockfile": {
2234
2687
  "version": "4.1.2",
2235
2688
  "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz",
@@ -2253,9 +2706,9 @@
2253
2706
  }
2254
2707
  },
2255
2708
  "node_modules/@earendil-works/pi-coding-agent/node_modules/protobufjs": {
2256
- "version": "7.5.9",
2257
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.9.tgz",
2258
- "integrity": "sha512-Od4muIm3HW1AouyHF5lONOf1FWo3hY1NbFDoy191X9GzhpgW1clCoaFjfVs2rKJNFYpTNJbje4cbAIDBZJ63ZA==",
2709
+ "version": "7.6.5",
2710
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.5.tgz",
2711
+ "integrity": "sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==",
2259
2712
  "hasInstallScript": true,
2260
2713
  "license": "BSD-3-Clause",
2261
2714
  "peer": true,
@@ -2263,15 +2716,14 @@
2263
2716
  "@protobufjs/aspromise": "^1.1.2",
2264
2717
  "@protobufjs/base64": "^1.1.2",
2265
2718
  "@protobufjs/codegen": "^2.0.5",
2266
- "@protobufjs/eventemitter": "^1.1.0",
2719
+ "@protobufjs/eventemitter": "^1.1.1",
2267
2720
  "@protobufjs/fetch": "^1.1.1",
2268
2721
  "@protobufjs/float": "^1.0.2",
2269
- "@protobufjs/inquire": "^1.1.2",
2270
2722
  "@protobufjs/path": "^1.1.2",
2271
2723
  "@protobufjs/pool": "^1.1.0",
2272
2724
  "@protobufjs/utf8": "^1.1.1",
2273
2725
  "@types/node": ">=13.7.0",
2274
- "long": "^5.0.0"
2726
+ "long": "^5.3.2"
2275
2727
  },
2276
2728
  "engines": {
2277
2729
  "node": ">=12.0.0"
@@ -2351,6 +2803,17 @@
2351
2803
  "license": "ISC",
2352
2804
  "peer": true
2353
2805
  },
2806
+ "node_modules/@earendil-works/pi-coding-agent/node_modules/standardwebhooks": {
2807
+ "version": "1.1.1",
2808
+ "resolved": "https://registry.npmjs.org/standardwebhooks/-/standardwebhooks-1.1.1.tgz",
2809
+ "integrity": "sha512-bCbX9ZEyFkWPsRz7Bl3NuQUJohmwGSev/yhr7vhaGPlc4AfIrspIRa6cPTBuI1ItmrTDJ4d/S2hCsfe4+vQGnQ==",
2810
+ "license": "MIT",
2811
+ "peer": true,
2812
+ "dependencies": {
2813
+ "@stablelib/base64": "^1.0.0",
2814
+ "fast-sha256": "^1.3.0"
2815
+ }
2816
+ },
2354
2817
  "node_modules/@earendil-works/pi-coding-agent/node_modules/strnum": {
2355
2818
  "version": "2.3.0",
2356
2819
  "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz",
@@ -2379,16 +2842,16 @@
2379
2842
  "peer": true
2380
2843
  },
2381
2844
  "node_modules/@earendil-works/pi-coding-agent/node_modules/typebox": {
2382
- "version": "1.1.38",
2383
- "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.38.tgz",
2384
- "integrity": "sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==",
2845
+ "version": "1.3.7",
2846
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.3.7.tgz",
2847
+ "integrity": "sha512-meKuifc33Pccx0O6PdIzYMq3Og8zvP4TIi/a+Bw3AEMZMxOD0+RHGQvpglEe6Zdy3wZ8nqn/j95h8LUZLk/6Hg==",
2385
2848
  "license": "MIT",
2386
2849
  "peer": true
2387
2850
  },
2388
2851
  "node_modules/@earendil-works/pi-coding-agent/node_modules/undici": {
2389
- "version": "8.3.0",
2390
- "resolved": "https://registry.npmjs.org/undici/-/undici-8.3.0.tgz",
2391
- "integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q==",
2852
+ "version": "8.9.0",
2853
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.9.0.tgz",
2854
+ "integrity": "sha512-aWZpUj7XoGonMClx4gdDRfgBjqeA+F473aDmROQQbM9n6PRfK/u1q/a0X4wMTgcHfT8H6fpbt98PFuDUwFg2YA==",
2392
2855
  "license": "MIT",
2393
2856
  "peer": true,
2394
2857
  "engines": {
@@ -2429,9 +2892,9 @@
2429
2892
  }
2430
2893
  },
2431
2894
  "node_modules/@earendil-works/pi-coding-agent/node_modules/ws": {
2432
- "version": "8.20.1",
2433
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
2434
- "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
2895
+ "version": "8.21.0",
2896
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
2897
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
2435
2898
  "license": "MIT",
2436
2899
  "peer": true,
2437
2900
  "engines": {
@@ -2482,26 +2945,6 @@
2482
2945
  "url": "https://github.com/sponsors/eemeli"
2483
2946
  }
2484
2947
  },
2485
- "node_modules/@earendil-works/pi-coding-agent/node_modules/zod": {
2486
- "version": "3.25.76",
2487
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
2488
- "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
2489
- "license": "MIT",
2490
- "peer": true,
2491
- "funding": {
2492
- "url": "https://github.com/sponsors/colinhacks"
2493
- }
2494
- },
2495
- "node_modules/@earendil-works/pi-coding-agent/node_modules/zod-to-json-schema": {
2496
- "version": "3.25.2",
2497
- "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz",
2498
- "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==",
2499
- "license": "ISC",
2500
- "peer": true,
2501
- "peerDependencies": {
2502
- "zod": "^3.25.28 || ^4"
2503
- }
2504
- },
2505
2948
  "node_modules/@google/genai": {
2506
2949
  "version": "1.52.0",
2507
2950
  "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.52.0.tgz",
@@ -2528,15 +2971,24 @@
2528
2971
  }
2529
2972
  },
2530
2973
  "node_modules/@mistralai/mistralai": {
2531
- "version": "2.2.1",
2532
- "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-2.2.1.tgz",
2533
- "integrity": "sha512-uKU8CZmL2RzYKmplsU01hii4p3pe4HqJefpWNRWXm1Tcm0Sm4xXfwSLIy4k7ZCPlbETCGcp69E7hZs+WOJ5itQ==",
2974
+ "version": "2.2.6",
2975
+ "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-2.2.6.tgz",
2976
+ "integrity": "sha512-W8pX7zHxjJvMIpw8JMxeJEleapXX0Q9NPszdNzqkM3MIEoIGPObdodujj+WHteXEvGfaP/AMwlNyRfEzSY6dQQ==",
2534
2977
  "dev": true,
2535
2978
  "license": "Apache-2.0",
2536
2979
  "dependencies": {
2980
+ "@opentelemetry/semantic-conventions": "^1.40.0",
2537
2981
  "ws": "^8.18.0",
2538
2982
  "zod": "^3.25.0 || ^4.0.0",
2539
2983
  "zod-to-json-schema": "^3.25.0"
2984
+ },
2985
+ "peerDependencies": {
2986
+ "@opentelemetry/api": "^1.9.0"
2987
+ },
2988
+ "peerDependenciesMeta": {
2989
+ "@opentelemetry/api": {
2990
+ "optional": true
2991
+ }
2540
2992
  }
2541
2993
  },
2542
2994
  "node_modules/@nodable/entities": {
@@ -2552,6 +3004,26 @@
2552
3004
  ],
2553
3005
  "license": "MIT"
2554
3006
  },
3007
+ "node_modules/@opentelemetry/api": {
3008
+ "version": "1.9.0",
3009
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
3010
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
3011
+ "dev": true,
3012
+ "license": "Apache-2.0",
3013
+ "engines": {
3014
+ "node": ">=8.0.0"
3015
+ }
3016
+ },
3017
+ "node_modules/@opentelemetry/semantic-conventions": {
3018
+ "version": "1.43.0",
3019
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.43.0.tgz",
3020
+ "integrity": "sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==",
3021
+ "dev": true,
3022
+ "license": "Apache-2.0",
3023
+ "engines": {
3024
+ "node": ">=14"
3025
+ }
3026
+ },
2555
3027
  "node_modules/@protobufjs/aspromise": {
2556
3028
  "version": "1.1.2",
2557
3029
  "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
@@ -3365,7 +3837,7 @@
3365
3837
  "version": "4.4.3",
3366
3838
  "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz",
3367
3839
  "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==",
3368
- "dev": true,
3840
+ "devOptional": true,
3369
3841
  "license": "MIT",
3370
3842
  "funding": {
3371
3843
  "url": "https://github.com/sponsors/colinhacks"