@superjackfruitlabs/salaam 0.0.1 → 0.0.2

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 (110) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +25 -17
  3. package/dist/src/a2a-backend.js +225 -0
  4. package/dist/src/a2a-inbound.js +487 -0
  5. package/dist/src/a2a-peer.js +370 -0
  6. package/dist/src/a2a-protocol.js +250 -0
  7. package/dist/src/agent-profiles.js +289 -0
  8. package/dist/src/children.js +132 -26
  9. package/dist/src/claude-provider.js +2 -179
  10. package/dist/src/cli-help.js +107 -6
  11. package/dist/src/cli.js +477 -13
  12. package/dist/src/config.js +26 -3
  13. package/dist/src/credentials.js +7 -2
  14. package/dist/src/external-runtime.js +1 -0
  15. package/dist/src/external-work.js +583 -0
  16. package/dist/src/harness-backend.js +466 -0
  17. package/dist/src/harness-container.js +450 -0
  18. package/dist/src/harness-model-gateway.js +104 -0
  19. package/dist/src/harness-prepare.js +88 -0
  20. package/dist/src/harness-probe.js +111 -0
  21. package/dist/src/harness-protocol.js +325 -0
  22. package/dist/src/harness-readiness.js +50 -0
  23. package/dist/src/harness-rpc.js +206 -0
  24. package/dist/src/harness-tool-identity.js +87 -0
  25. package/dist/src/harness-wire-bridge.js +387 -0
  26. package/dist/src/host.js +6 -1
  27. package/dist/src/house-extension.js +147 -64
  28. package/dist/src/live-provider.js +301 -0
  29. package/dist/src/managed.js +33 -3
  30. package/dist/src/protocol.js +9 -5
  31. package/dist/src/provider-auth.js +300 -0
  32. package/dist/src/provider-config.js +65 -17
  33. package/dist/src/provider-model.js +78 -0
  34. package/dist/src/provider-payload.js +264 -0
  35. package/dist/src/provider-transport.js +36 -0
  36. package/dist/src/provider-usage.js +59 -0
  37. package/dist/src/repository-snapshots.js +219 -0
  38. package/dist/src/service.js +274 -9
  39. package/dist/src/store.js +44 -2
  40. package/dist/src/supervisor.js +246 -35
  41. package/dist/src/task-budget.js +17 -8
  42. package/dist/src/task-context.js +15 -0
  43. package/dist/src/task-driver.js +38 -14
  44. package/dist/src/task-policy.js +20 -1
  45. package/dist/src/task-verification.js +3 -0
  46. package/dist/src/task-work.js +31 -0
  47. package/dist/src/team-work.js +378 -0
  48. package/dist/src/tui-view.js +65 -10
  49. package/dist/src/tui.js +4 -2
  50. package/dist/src/usage.js +18 -0
  51. package/dist/src/worker-boundary.js +298 -0
  52. package/dist/src/worker-workspaces.js +274 -0
  53. package/dist/src/workspaces.js +6 -2
  54. package/harness-runtime/codex-pins.json +10 -0
  55. package/harness-runtime/package-lock.json +560 -0
  56. package/harness-runtime/package.json +9 -0
  57. package/npm-shrinkwrap.json +57 -2
  58. package/package.json +2 -1
  59. package/src/a2a-backend.ts +254 -0
  60. package/src/a2a-inbound.ts +585 -0
  61. package/src/a2a-peer.ts +441 -0
  62. package/src/a2a-protocol.ts +286 -0
  63. package/src/agent-profiles.ts +379 -0
  64. package/src/children.ts +168 -27
  65. package/src/claude-provider.ts +2 -189
  66. package/src/cli-help.ts +107 -6
  67. package/src/cli.ts +602 -12
  68. package/src/config.ts +34 -3
  69. package/src/credentials.ts +9 -2
  70. package/src/external-runtime.ts +54 -0
  71. package/src/external-work.ts +663 -0
  72. package/src/harness-backend.ts +557 -0
  73. package/src/harness-container.ts +543 -0
  74. package/src/harness-model-gateway.ts +138 -0
  75. package/src/harness-prepare.ts +113 -0
  76. package/src/harness-probe.ts +150 -0
  77. package/src/harness-protocol.ts +388 -0
  78. package/src/harness-readiness.ts +71 -0
  79. package/src/harness-rpc.ts +244 -0
  80. package/src/harness-tool-identity.ts +91 -0
  81. package/src/harness-wire-bridge.ts +418 -0
  82. package/src/host.ts +11 -6
  83. package/src/house-extension.ts +165 -66
  84. package/src/live-provider.ts +347 -0
  85. package/src/managed.ts +43 -4
  86. package/src/protocol.ts +36 -8
  87. package/src/provider-auth.ts +336 -0
  88. package/src/provider-config.ts +89 -18
  89. package/src/provider-model.ts +86 -0
  90. package/src/provider-payload.ts +263 -0
  91. package/src/provider-transport.ts +51 -0
  92. package/src/provider-usage.ts +64 -0
  93. package/src/repository-snapshots.ts +259 -0
  94. package/src/service.ts +446 -11
  95. package/src/store.ts +60 -4
  96. package/src/supervisor.ts +294 -41
  97. package/src/task-budget.ts +24 -11
  98. package/src/task-context.ts +17 -0
  99. package/src/task-driver.ts +51 -15
  100. package/src/task-policy.ts +23 -3
  101. package/src/task-verification.ts +2 -0
  102. package/src/task-work.ts +46 -1
  103. package/src/team-work.ts +554 -0
  104. package/src/tui-client.ts +5 -0
  105. package/src/tui-view.ts +164 -12
  106. package/src/tui.ts +5 -2
  107. package/src/usage.ts +17 -0
  108. package/src/worker-boundary.ts +395 -0
  109. package/src/worker-workspaces.ts +390 -0
  110. package/src/workspaces.ts +4 -2
@@ -0,0 +1,560 @@
1
+ {
2
+ "name": "salaam-harness-runtime",
3
+ "version": "0.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "salaam-harness-runtime",
9
+ "version": "0.0.0",
10
+ "dependencies": {
11
+ "@google/gemini-cli": "0.64.0",
12
+ "@zed-industries/claude-agent-acp": "0.23.1"
13
+ }
14
+ },
15
+ "node_modules/@agentclientprotocol/sdk": {
16
+ "version": "0.17.0",
17
+ "resolved": "https://registry.npmjs.org/@agentclientprotocol/sdk/-/sdk-0.17.0.tgz",
18
+ "integrity": "sha512-inBMYAEd9t4E+ULZK2os9kmLG5jbPvMLbPvY71XDDem1YteW/uDwkahg6OwsGR3tvvgVhYbRJ9mJCp2VXqG4xQ==",
19
+ "license": "Apache-2.0",
20
+ "peerDependencies": {
21
+ "zod": "^3.25.0 || ^4.0.0"
22
+ }
23
+ },
24
+ "node_modules/@anthropic-ai/claude-agent-sdk": {
25
+ "version": "0.2.83",
26
+ "resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.2.83.tgz",
27
+ "integrity": "sha512-O8g56htGMxrwbjCbqUqRBMNC0O98B7SkPnfQC7vmo3w2DVnUrBj3qat/IBLB8SI4sjVSZHeJrcK7+ozsCzStSw==",
28
+ "license": "SEE LICENSE IN README.md",
29
+ "engines": {
30
+ "node": ">=18.0.0"
31
+ },
32
+ "optionalDependencies": {
33
+ "@img/sharp-darwin-arm64": "^0.34.2",
34
+ "@img/sharp-darwin-x64": "^0.34.2",
35
+ "@img/sharp-linux-arm": "^0.34.2",
36
+ "@img/sharp-linux-arm64": "^0.34.2",
37
+ "@img/sharp-linux-x64": "^0.34.2",
38
+ "@img/sharp-linuxmusl-arm64": "^0.34.2",
39
+ "@img/sharp-linuxmusl-x64": "^0.34.2",
40
+ "@img/sharp-win32-arm64": "^0.34.2",
41
+ "@img/sharp-win32-x64": "^0.34.2"
42
+ },
43
+ "peerDependencies": {
44
+ "zod": "^4.0.0"
45
+ }
46
+ },
47
+ "node_modules/@github/keytar": {
48
+ "version": "7.10.6",
49
+ "resolved": "https://registry.npmjs.org/@github/keytar/-/keytar-7.10.6.tgz",
50
+ "integrity": "sha512-mRW6cUsSG+nj4jp5gp8e91zPySaT73r+2JM6VyMZfrEgksjPmjSMr+tPGNOK3HUHV+GUU9B1LAiiYy/wmAnIxA==",
51
+ "hasInstallScript": true,
52
+ "license": "MIT",
53
+ "optional": true,
54
+ "dependencies": {
55
+ "node-addon-api": "^8.3.0"
56
+ }
57
+ },
58
+ "node_modules/@google/gemini-cli": {
59
+ "version": "0.64.0",
60
+ "resolved": "https://registry.npmjs.org/@google/gemini-cli/-/gemini-cli-0.64.0.tgz",
61
+ "integrity": "sha512-FHrZ1NPf9QszyVMaa/BP3SsPy40ogBLnbZNWkv/PMi1Uz2zoDNMLGiBzBGmx4Bl7iLRq01K9PY/5kmloXFTpsA==",
62
+ "license": "Apache-2.0",
63
+ "bin": {
64
+ "gemini": "bundle/gemini.js"
65
+ },
66
+ "engines": {
67
+ "node": ">=20"
68
+ },
69
+ "optionalDependencies": {
70
+ "@github/keytar": "7.10.6",
71
+ "@lydell/node-pty": "1.1.0",
72
+ "@lydell/node-pty-darwin-arm64": "1.1.0",
73
+ "@lydell/node-pty-darwin-x64": "1.1.0",
74
+ "@lydell/node-pty-linux-x64": "1.1.0",
75
+ "@lydell/node-pty-win32-arm64": "1.1.0",
76
+ "@lydell/node-pty-win32-x64": "1.1.0",
77
+ "node-pty": "1.0.0"
78
+ }
79
+ },
80
+ "node_modules/@img/sharp-darwin-arm64": {
81
+ "version": "0.34.5",
82
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
83
+ "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
84
+ "cpu": [
85
+ "arm64"
86
+ ],
87
+ "license": "Apache-2.0",
88
+ "optional": true,
89
+ "os": [
90
+ "darwin"
91
+ ],
92
+ "engines": {
93
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
94
+ },
95
+ "funding": {
96
+ "url": "https://opencollective.com/libvips"
97
+ },
98
+ "optionalDependencies": {
99
+ "@img/sharp-libvips-darwin-arm64": "1.2.4"
100
+ }
101
+ },
102
+ "node_modules/@img/sharp-darwin-x64": {
103
+ "version": "0.34.5",
104
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
105
+ "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
106
+ "cpu": [
107
+ "x64"
108
+ ],
109
+ "license": "Apache-2.0",
110
+ "optional": true,
111
+ "os": [
112
+ "darwin"
113
+ ],
114
+ "engines": {
115
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
116
+ },
117
+ "funding": {
118
+ "url": "https://opencollective.com/libvips"
119
+ },
120
+ "optionalDependencies": {
121
+ "@img/sharp-libvips-darwin-x64": "1.2.4"
122
+ }
123
+ },
124
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
125
+ "version": "1.2.4",
126
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
127
+ "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
128
+ "cpu": [
129
+ "arm64"
130
+ ],
131
+ "license": "LGPL-3.0-or-later",
132
+ "optional": true,
133
+ "os": [
134
+ "darwin"
135
+ ],
136
+ "funding": {
137
+ "url": "https://opencollective.com/libvips"
138
+ }
139
+ },
140
+ "node_modules/@img/sharp-libvips-darwin-x64": {
141
+ "version": "1.2.4",
142
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
143
+ "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
144
+ "cpu": [
145
+ "x64"
146
+ ],
147
+ "license": "LGPL-3.0-or-later",
148
+ "optional": true,
149
+ "os": [
150
+ "darwin"
151
+ ],
152
+ "funding": {
153
+ "url": "https://opencollective.com/libvips"
154
+ }
155
+ },
156
+ "node_modules/@img/sharp-libvips-linux-arm": {
157
+ "version": "1.2.4",
158
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
159
+ "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
160
+ "cpu": [
161
+ "arm"
162
+ ],
163
+ "libc": [
164
+ "glibc"
165
+ ],
166
+ "license": "LGPL-3.0-or-later",
167
+ "optional": true,
168
+ "os": [
169
+ "linux"
170
+ ],
171
+ "funding": {
172
+ "url": "https://opencollective.com/libvips"
173
+ }
174
+ },
175
+ "node_modules/@img/sharp-libvips-linux-arm64": {
176
+ "version": "1.2.4",
177
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
178
+ "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
179
+ "cpu": [
180
+ "arm64"
181
+ ],
182
+ "libc": [
183
+ "glibc"
184
+ ],
185
+ "license": "LGPL-3.0-or-later",
186
+ "optional": true,
187
+ "os": [
188
+ "linux"
189
+ ],
190
+ "funding": {
191
+ "url": "https://opencollective.com/libvips"
192
+ }
193
+ },
194
+ "node_modules/@img/sharp-libvips-linux-x64": {
195
+ "version": "1.2.4",
196
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
197
+ "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
198
+ "cpu": [
199
+ "x64"
200
+ ],
201
+ "libc": [
202
+ "glibc"
203
+ ],
204
+ "license": "LGPL-3.0-or-later",
205
+ "optional": true,
206
+ "os": [
207
+ "linux"
208
+ ],
209
+ "funding": {
210
+ "url": "https://opencollective.com/libvips"
211
+ }
212
+ },
213
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
214
+ "version": "1.2.4",
215
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
216
+ "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
217
+ "cpu": [
218
+ "arm64"
219
+ ],
220
+ "libc": [
221
+ "musl"
222
+ ],
223
+ "license": "LGPL-3.0-or-later",
224
+ "optional": true,
225
+ "os": [
226
+ "linux"
227
+ ],
228
+ "funding": {
229
+ "url": "https://opencollective.com/libvips"
230
+ }
231
+ },
232
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
233
+ "version": "1.2.4",
234
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
235
+ "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
236
+ "cpu": [
237
+ "x64"
238
+ ],
239
+ "libc": [
240
+ "musl"
241
+ ],
242
+ "license": "LGPL-3.0-or-later",
243
+ "optional": true,
244
+ "os": [
245
+ "linux"
246
+ ],
247
+ "funding": {
248
+ "url": "https://opencollective.com/libvips"
249
+ }
250
+ },
251
+ "node_modules/@img/sharp-linux-arm": {
252
+ "version": "0.34.5",
253
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
254
+ "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
255
+ "cpu": [
256
+ "arm"
257
+ ],
258
+ "libc": [
259
+ "glibc"
260
+ ],
261
+ "license": "Apache-2.0",
262
+ "optional": true,
263
+ "os": [
264
+ "linux"
265
+ ],
266
+ "engines": {
267
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
268
+ },
269
+ "funding": {
270
+ "url": "https://opencollective.com/libvips"
271
+ },
272
+ "optionalDependencies": {
273
+ "@img/sharp-libvips-linux-arm": "1.2.4"
274
+ }
275
+ },
276
+ "node_modules/@img/sharp-linux-arm64": {
277
+ "version": "0.34.5",
278
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
279
+ "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
280
+ "cpu": [
281
+ "arm64"
282
+ ],
283
+ "libc": [
284
+ "glibc"
285
+ ],
286
+ "license": "Apache-2.0",
287
+ "optional": true,
288
+ "os": [
289
+ "linux"
290
+ ],
291
+ "engines": {
292
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
293
+ },
294
+ "funding": {
295
+ "url": "https://opencollective.com/libvips"
296
+ },
297
+ "optionalDependencies": {
298
+ "@img/sharp-libvips-linux-arm64": "1.2.4"
299
+ }
300
+ },
301
+ "node_modules/@img/sharp-linux-x64": {
302
+ "version": "0.34.5",
303
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
304
+ "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
305
+ "cpu": [
306
+ "x64"
307
+ ],
308
+ "libc": [
309
+ "glibc"
310
+ ],
311
+ "license": "Apache-2.0",
312
+ "optional": true,
313
+ "os": [
314
+ "linux"
315
+ ],
316
+ "engines": {
317
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
318
+ },
319
+ "funding": {
320
+ "url": "https://opencollective.com/libvips"
321
+ },
322
+ "optionalDependencies": {
323
+ "@img/sharp-libvips-linux-x64": "1.2.4"
324
+ }
325
+ },
326
+ "node_modules/@img/sharp-linuxmusl-arm64": {
327
+ "version": "0.34.5",
328
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
329
+ "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
330
+ "cpu": [
331
+ "arm64"
332
+ ],
333
+ "libc": [
334
+ "musl"
335
+ ],
336
+ "license": "Apache-2.0",
337
+ "optional": true,
338
+ "os": [
339
+ "linux"
340
+ ],
341
+ "engines": {
342
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
343
+ },
344
+ "funding": {
345
+ "url": "https://opencollective.com/libvips"
346
+ },
347
+ "optionalDependencies": {
348
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
349
+ }
350
+ },
351
+ "node_modules/@img/sharp-linuxmusl-x64": {
352
+ "version": "0.34.5",
353
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
354
+ "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
355
+ "cpu": [
356
+ "x64"
357
+ ],
358
+ "libc": [
359
+ "musl"
360
+ ],
361
+ "license": "Apache-2.0",
362
+ "optional": true,
363
+ "os": [
364
+ "linux"
365
+ ],
366
+ "engines": {
367
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
368
+ },
369
+ "funding": {
370
+ "url": "https://opencollective.com/libvips"
371
+ },
372
+ "optionalDependencies": {
373
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
374
+ }
375
+ },
376
+ "node_modules/@img/sharp-win32-arm64": {
377
+ "version": "0.34.5",
378
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
379
+ "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
380
+ "cpu": [
381
+ "arm64"
382
+ ],
383
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
384
+ "optional": true,
385
+ "os": [
386
+ "win32"
387
+ ],
388
+ "engines": {
389
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
390
+ },
391
+ "funding": {
392
+ "url": "https://opencollective.com/libvips"
393
+ }
394
+ },
395
+ "node_modules/@img/sharp-win32-x64": {
396
+ "version": "0.34.5",
397
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
398
+ "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
399
+ "cpu": [
400
+ "x64"
401
+ ],
402
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
403
+ "optional": true,
404
+ "os": [
405
+ "win32"
406
+ ],
407
+ "engines": {
408
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
409
+ },
410
+ "funding": {
411
+ "url": "https://opencollective.com/libvips"
412
+ }
413
+ },
414
+ "node_modules/@lydell/node-pty": {
415
+ "version": "1.1.0",
416
+ "resolved": "https://registry.npmjs.org/@lydell/node-pty/-/node-pty-1.1.0.tgz",
417
+ "integrity": "sha512-VDD8LtlMTOrPKWMXUAcB9+LTktzuunqrMwkYR1DMRBkS6LQrCt+0/Ws1o2rMml/n3guePpS7cxhHF7Nm5K4iMw==",
418
+ "license": "MIT",
419
+ "optional": true,
420
+ "optionalDependencies": {
421
+ "@lydell/node-pty-darwin-arm64": "1.1.0",
422
+ "@lydell/node-pty-darwin-x64": "1.1.0",
423
+ "@lydell/node-pty-linux-arm64": "1.1.0",
424
+ "@lydell/node-pty-linux-x64": "1.1.0",
425
+ "@lydell/node-pty-win32-arm64": "1.1.0",
426
+ "@lydell/node-pty-win32-x64": "1.1.0"
427
+ }
428
+ },
429
+ "node_modules/@lydell/node-pty-darwin-arm64": {
430
+ "version": "1.1.0",
431
+ "resolved": "https://registry.npmjs.org/@lydell/node-pty-darwin-arm64/-/node-pty-darwin-arm64-1.1.0.tgz",
432
+ "integrity": "sha512-7kFD+owAA61qmhJCtoMbqj3Uvff3YHDiU+4on5F2vQdcMI3MuwGi7dM6MkFG/yuzpw8LF2xULpL71tOPUfxs0w==",
433
+ "cpu": [
434
+ "arm64"
435
+ ],
436
+ "license": "MIT",
437
+ "optional": true,
438
+ "os": [
439
+ "darwin"
440
+ ]
441
+ },
442
+ "node_modules/@lydell/node-pty-darwin-x64": {
443
+ "version": "1.1.0",
444
+ "resolved": "https://registry.npmjs.org/@lydell/node-pty-darwin-x64/-/node-pty-darwin-x64-1.1.0.tgz",
445
+ "integrity": "sha512-XZdvqj5FjAMjH8bdp0YfaZjur5DrCIDD1VYiE9EkkYVMDQqRUPHYV3U8BVEQVT9hYfjmpr7dNaELF2KyISWSNA==",
446
+ "cpu": [
447
+ "x64"
448
+ ],
449
+ "license": "MIT",
450
+ "optional": true,
451
+ "os": [
452
+ "darwin"
453
+ ]
454
+ },
455
+ "node_modules/@lydell/node-pty-linux-arm64": {
456
+ "version": "1.1.0",
457
+ "resolved": "https://registry.npmjs.org/@lydell/node-pty-linux-arm64/-/node-pty-linux-arm64-1.1.0.tgz",
458
+ "integrity": "sha512-yyDBmalCfHpLiQMT2zyLcqL2Fay4Xy7rIs8GH4dqKLnEviMvPGOK7LADVkKAsbsyXBSISL3Lt1m1MtxhPH6ckg==",
459
+ "cpu": [
460
+ "arm64"
461
+ ],
462
+ "license": "MIT",
463
+ "optional": true,
464
+ "os": [
465
+ "linux"
466
+ ]
467
+ },
468
+ "node_modules/@lydell/node-pty-linux-x64": {
469
+ "version": "1.1.0",
470
+ "resolved": "https://registry.npmjs.org/@lydell/node-pty-linux-x64/-/node-pty-linux-x64-1.1.0.tgz",
471
+ "integrity": "sha512-NcNqRTD14QT+vXcEuqSSvmWY+0+WUBn2uRE8EN0zKtDpIEr9d+YiFj16Uqds6QfcLCHfZmC+Ls7YzwTaqDnanA==",
472
+ "cpu": [
473
+ "x64"
474
+ ],
475
+ "license": "MIT",
476
+ "optional": true,
477
+ "os": [
478
+ "linux"
479
+ ]
480
+ },
481
+ "node_modules/@lydell/node-pty-win32-arm64": {
482
+ "version": "1.1.0",
483
+ "resolved": "https://registry.npmjs.org/@lydell/node-pty-win32-arm64/-/node-pty-win32-arm64-1.1.0.tgz",
484
+ "integrity": "sha512-JOMbCou+0fA7d/m97faIIfIU0jOv8sn2OR7tI45u3AmldKoKoLP8zHY6SAvDDnI3fccO1R2HeR1doVjpS7HM0w==",
485
+ "cpu": [
486
+ "arm64"
487
+ ],
488
+ "license": "MIT",
489
+ "optional": true,
490
+ "os": [
491
+ "win32"
492
+ ]
493
+ },
494
+ "node_modules/@lydell/node-pty-win32-x64": {
495
+ "version": "1.1.0",
496
+ "resolved": "https://registry.npmjs.org/@lydell/node-pty-win32-x64/-/node-pty-win32-x64-1.1.0.tgz",
497
+ "integrity": "sha512-3N56BZ+WDFnUMYRtsrr7Ky2mhWGl9xXcyqR6cexfuCqcz9RNWL+KoXRv/nZylY5dYaXkft4JaR1uVu+roiZDAw==",
498
+ "cpu": [
499
+ "x64"
500
+ ],
501
+ "license": "MIT",
502
+ "optional": true,
503
+ "os": [
504
+ "win32"
505
+ ]
506
+ },
507
+ "node_modules/@zed-industries/claude-agent-acp": {
508
+ "version": "0.23.1",
509
+ "resolved": "https://registry.npmjs.org/@zed-industries/claude-agent-acp/-/claude-agent-acp-0.23.1.tgz",
510
+ "integrity": "sha512-aQ1gAm1MBalwEgE/VB/m4z6sXw/fRccNOW268pNLXnWV704ZuLbbm0N+oEv8KTmd53dJ6YzMhMpD8p5ig6C+sA==",
511
+ "deprecated": "This package has been renamed to @agentclientprotocol/claude-agent-acp. Please migrate to continue receiving updates.",
512
+ "license": "Apache-2.0",
513
+ "dependencies": {
514
+ "@agentclientprotocol/sdk": "0.17.0",
515
+ "@anthropic-ai/claude-agent-sdk": "0.2.83",
516
+ "zod": "^3.25.0 || ^4.0.0"
517
+ },
518
+ "bin": {
519
+ "claude-agent-acp": "dist/index.js"
520
+ }
521
+ },
522
+ "node_modules/nan": {
523
+ "version": "2.30.0",
524
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.30.0.tgz",
525
+ "integrity": "sha512-P5mokDkSvCGBz6mZDD/2l+w9QoICRXdCyZ9ONGmTePr40oihJg3Kpn0YU3twKd6PJnwSlLBWNQeOT6yWEV2c4A==",
526
+ "license": "MIT",
527
+ "optional": true
528
+ },
529
+ "node_modules/node-addon-api": {
530
+ "version": "8.9.2",
531
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.9.2.tgz",
532
+ "integrity": "sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg==",
533
+ "license": "MIT",
534
+ "optional": true,
535
+ "engines": {
536
+ "node": "^18 || ^20 || >= 21"
537
+ }
538
+ },
539
+ "node_modules/node-pty": {
540
+ "version": "1.0.0",
541
+ "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.0.0.tgz",
542
+ "integrity": "sha512-wtBMWWS7dFZm/VgqElrTvtfMq4GzJ6+edFI0Y0zyzygUSZMgZdraDUMUhCIvkjhJjme15qWmbyJbtAx4ot4uZA==",
543
+ "hasInstallScript": true,
544
+ "license": "MIT",
545
+ "optional": true,
546
+ "dependencies": {
547
+ "nan": "^2.17.0"
548
+ }
549
+ },
550
+ "node_modules/zod": {
551
+ "version": "4.6.7",
552
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz",
553
+ "integrity": "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==",
554
+ "license": "MIT",
555
+ "funding": {
556
+ "url": "https://github.com/sponsors/colinhacks"
557
+ }
558
+ }
559
+ }
560
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "salaam-harness-runtime",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "dependencies": {
6
+ "@google/gemini-cli": "0.64.0",
7
+ "@zed-industries/claude-agent-acp": "0.23.1"
8
+ }
9
+ }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@superjackfruitlabs/salaam",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@superjackfruitlabs/salaam",
9
- "version": "0.0.1",
9
+ "version": "0.0.2",
10
10
  "bundleDependencies": [
11
11
  "@earendil-works/pi-ai",
12
12
  "@earendil-works/pi-coding-agent",
@@ -29,6 +29,7 @@
29
29
  "salaam": "bin/salaam.mjs"
30
30
  },
31
31
  "devDependencies": {
32
+ "@a2a-js/sdk": "1.0.1",
32
33
  "@types/node": "26.6.5",
33
34
  "@xterm/headless": "5.5.0",
34
35
  "prettier": "3.9.10",
@@ -42,6 +43,36 @@
42
43
  "node": "26.7.0"
43
44
  }
44
45
  },
46
+ "node_modules/@a2a-js/sdk": {
47
+ "version": "1.0.1",
48
+ "resolved": "https://registry.npmjs.org/@a2a-js/sdk/-/sdk-1.0.1.tgz",
49
+ "integrity": "sha512-CJQdh3Wzwo8qIx5UUkSJ7+7BEI16PB+MXMHHNSmx8JQsQed2HlQgvx1ENOiKUfYA3PlcEvxIwv14dBblhDuPmw==",
50
+ "dev": true,
51
+ "license": "Apache-2.0",
52
+ "dependencies": {
53
+ "jose": "^6.2.3",
54
+ "uuid": "^11.1.0"
55
+ },
56
+ "engines": {
57
+ "node": ">=20"
58
+ },
59
+ "peerDependencies": {
60
+ "@bufbuild/protobuf": "^2.10.2",
61
+ "@grpc/grpc-js": "^1.11.0",
62
+ "express": "^4.21.2 || ^5.1.0"
63
+ },
64
+ "peerDependenciesMeta": {
65
+ "@bufbuild/protobuf": {
66
+ "optional": true
67
+ },
68
+ "@grpc/grpc-js": {
69
+ "optional": true
70
+ },
71
+ "express": {
72
+ "optional": true
73
+ }
74
+ }
75
+ },
45
76
  "node_modules/@anthropic-ai/sdk": {
46
77
  "version": "0.129.0",
47
78
  "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.129.0.tgz",
@@ -3569,6 +3600,16 @@
3569
3600
  "jiti": "lib/jiti-cli.mjs"
3570
3601
  }
3571
3602
  },
3603
+ "node_modules/jose": {
3604
+ "version": "6.2.12",
3605
+ "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.12.tgz",
3606
+ "integrity": "sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==",
3607
+ "dev": true,
3608
+ "license": "MIT",
3609
+ "funding": {
3610
+ "url": "https://github.com/sponsors/panva"
3611
+ }
3612
+ },
3572
3613
  "node_modules/json-bigint": {
3573
3614
  "version": "1.0.0",
3574
3615
  "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
@@ -4688,6 +4729,20 @@
4688
4729
  "pathe": "^2.0.3"
4689
4730
  }
4690
4731
  },
4732
+ "node_modules/uuid": {
4733
+ "version": "11.1.1",
4734
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz",
4735
+ "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==",
4736
+ "dev": true,
4737
+ "funding": [
4738
+ "https://github.com/sponsors/broofa",
4739
+ "https://github.com/sponsors/ctavan"
4740
+ ],
4741
+ "license": "MIT",
4742
+ "bin": {
4743
+ "uuid": "dist/esm/bin/uuid"
4744
+ }
4745
+ },
4691
4746
  "node_modules/vite": {
4692
4747
  "version": "8.3.4",
4693
4748
  "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.4.tgz",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superjackfruitlabs/salaam",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,6 +17,7 @@
17
17
  "dist/src",
18
18
  "src",
19
19
  "pi-pin.json",
20
+ "harness-runtime",
20
21
  "npm-shrinkwrap.json",
21
22
  "LICENSE",
22
23
  "README.md",