@nyte-ai/plugin 0.0.0-stage → 0.0.19

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 (137) hide show
  1. package/LICENSE +21 -0
  2. package/THIRD-PARTY-NOTICES.md +866 -0
  3. package/dist/chunks/billing-0y7dfkp2.js +146 -0
  4. package/dist/chunks/billing-2v3g7rd9.js +190 -0
  5. package/dist/chunks/billing-3j77ss7y.js +86 -0
  6. package/dist/chunks/billing-3scqmkzb.js +559 -0
  7. package/dist/chunks/billing-4vz9pxyx.js +22 -0
  8. package/dist/chunks/billing-6z2kgtyt.js +51 -0
  9. package/dist/chunks/billing-8rjk35gr.js +444 -0
  10. package/dist/chunks/billing-9nn3yp18.js +176 -0
  11. package/dist/chunks/billing-9qc0eqh4.js +174 -0
  12. package/dist/chunks/billing-a9vqn66p.js +351 -0
  13. package/dist/chunks/billing-bv5zr32b.js +369 -0
  14. package/dist/chunks/billing-cy1rg619.js +302 -0
  15. package/dist/chunks/billing-ejx2hv52.js +323 -0
  16. package/dist/chunks/billing-h13r0byk.js +80 -0
  17. package/dist/chunks/billing-hg64tqf1.js +97 -0
  18. package/dist/chunks/billing-j643d12p.js +197 -0
  19. package/dist/chunks/billing-kn3d30b4.js +276 -0
  20. package/dist/chunks/billing-mvc33pv6.js +36 -0
  21. package/dist/chunks/billing-s4rrspsk.js +7 -0
  22. package/dist/chunks/billing-svrhh5a5.js +307 -0
  23. package/dist/chunks/billing-sxc70w72.js +161 -0
  24. package/dist/chunks/billing-t1qrxe16.js +41 -0
  25. package/dist/chunks/billing-tm34gm2p.js +528 -0
  26. package/dist/chunks/billing-tzr3cebf.js +20 -0
  27. package/dist/chunks/billing-v3hg5rc7.js +373 -0
  28. package/dist/chunks/billing-wmcbg6fw.js +52 -0
  29. package/dist/chunks/billing-ye3wk5r3.js +205 -0
  30. package/dist/chunks/billing-zfpm2rt0.js +29 -0
  31. package/dist/examples/claude-code/LICENSE +21 -0
  32. package/dist/examples/claude-code/billing.d.ts +7 -0
  33. package/dist/examples/claude-code/billing.js +11 -0
  34. package/dist/examples/claude-code/claude-cli.d.ts +35 -0
  35. package/dist/examples/claude-code/claude-cli.js +15 -0
  36. package/dist/examples/claude-code/env.d.ts +1 -0
  37. package/dist/examples/claude-code/env.js +6 -0
  38. package/dist/examples/claude-code/index.d.ts +24 -0
  39. package/dist/examples/claude-code/index.js +149 -0
  40. package/dist/examples/claude-code/inert-mcp.d.ts +1 -0
  41. package/dist/examples/claude-code/inert-mcp.js +6 -0
  42. package/dist/examples/claude-code/model-catalog.d.ts +27 -0
  43. package/dist/examples/claude-code/model-catalog.js +12 -0
  44. package/dist/examples/claude-code/process.d.ts +22 -0
  45. package/dist/examples/claude-code/process.js +25 -0
  46. package/dist/examples/claude-code/replay.d.ts +4 -0
  47. package/dist/examples/claude-code/replay.js +11 -0
  48. package/dist/examples/claude-code/stream.d.ts +3 -0
  49. package/dist/examples/claude-code/stream.js +16 -0
  50. package/dist/examples/claude-code/transcript.d.ts +83 -0
  51. package/dist/examples/claude-code/transcript.js +23 -0
  52. package/dist/examples/claude-code/turn-relay.d.ts +48 -0
  53. package/dist/examples/claude-code/turn-relay.js +9 -0
  54. package/dist/examples/claude-code/wire.d.ts +372 -0
  55. package/dist/examples/claude-code/wire.js +18 -0
  56. package/dist/src/acp/connection.d.ts +24 -0
  57. package/dist/src/acp/connection.js +8 -0
  58. package/dist/src/acp/index.d.ts +54 -0
  59. package/dist/src/acp/index.js +1005 -0
  60. package/dist/src/acp/registry.d.ts +18 -0
  61. package/dist/src/acp/registry.js +9 -0
  62. package/dist/src/acp/thread.d.ts +46 -0
  63. package/dist/src/acp/thread.js +7 -0
  64. package/dist/src/acp/transcript.d.ts +8 -0
  65. package/dist/src/acp/transcript.js +11 -0
  66. package/dist/src/acp/translate.d.ts +33 -0
  67. package/dist/src/acp/translate.js +20 -0
  68. package/dist/src/approvals/approvals.d.ts +189 -0
  69. package/dist/src/approvals/approvals.js +143 -0
  70. package/dist/src/approvals/schema.d.ts +169 -0
  71. package/dist/src/approvals/schema.js +18 -0
  72. package/dist/src/bash-description.d.ts +30 -0
  73. package/dist/src/bash-description.js +18 -0
  74. package/dist/src/browser-tools.d.ts +25 -0
  75. package/dist/src/browser-tools.js +246 -0
  76. package/dist/src/canvas/canvas-compile.d.ts +48 -0
  77. package/dist/src/canvas/canvas-compile.js +8 -0
  78. package/dist/src/canvas/canvas-libraries.d.ts +32 -0
  79. package/dist/src/canvas/canvas-libraries.js +6 -0
  80. package/dist/src/canvas/canvas-preview.d.ts +107 -0
  81. package/dist/src/canvas/canvas-preview.js +12 -0
  82. package/dist/src/canvas/canvas-protocol.d.ts +184 -0
  83. package/dist/src/canvas/canvas-protocol.js +75 -0
  84. package/dist/src/canvas/canvas.d.ts +50 -0
  85. package/dist/src/canvas/canvas.js +221 -0
  86. package/dist/src/canvas/schema.d.ts +47 -0
  87. package/dist/src/canvas/schema.js +8 -0
  88. package/dist/src/claude-code-sdk/index.d.ts +35 -0
  89. package/dist/src/claude-code-sdk/index.js +379 -0
  90. package/dist/src/claude-code-sdk/session.d.ts +50 -0
  91. package/dist/src/claude-code-sdk/session.js +7 -0
  92. package/dist/src/claude-code-sdk/transcript.d.ts +19 -0
  93. package/dist/src/claude-code-sdk/transcript.js +15 -0
  94. package/dist/src/claude-code-sdk/translate.d.ts +18 -0
  95. package/dist/src/claude-code-sdk/translate.js +20 -0
  96. package/dist/src/client/mount.d.ts +44 -0
  97. package/dist/src/client/mount.js +252 -0
  98. package/dist/src/client/notifications.d.ts +36 -0
  99. package/dist/src/client/notifications.js +24 -0
  100. package/dist/src/client/presentation.d.ts +362 -0
  101. package/dist/src/client/presentation.js +391 -0
  102. package/dist/src/client/transcript-tui.d.ts +23 -0
  103. package/dist/src/client/transcript-tui.js +20 -0
  104. package/dist/src/client/transcript.d.ts +23 -0
  105. package/dist/src/client/transcript.js +51 -0
  106. package/dist/src/client.d.ts +53 -0
  107. package/dist/src/client.js +22 -0
  108. package/dist/src/codemode-runtime.d.ts +11 -0
  109. package/dist/src/codemode-runtime.js +10 -0
  110. package/dist/src/codemode-worker.d.ts +1 -0
  111. package/dist/src/codemode-worker.js +2 -0
  112. package/dist/src/codemode.d.ts +21 -0
  113. package/dist/src/codemode.js +170 -0
  114. package/dist/src/core.d.ts +43 -0
  115. package/dist/src/core.js +11 -0
  116. package/dist/src/find-on-path.d.ts +4 -0
  117. package/dist/src/find-on-path.js +8 -0
  118. package/dist/src/openai-astra-context.d.ts +23 -0
  119. package/dist/src/openai-astra-context.js +14 -0
  120. package/dist/src/openai-compaction.d.ts +15 -0
  121. package/dist/src/openai-compaction.js +55 -0
  122. package/dist/src/question/client/questions-tui.d.ts +9 -0
  123. package/dist/src/question/client/questions-tui.js +19 -0
  124. package/dist/src/question/client/questions.d.ts +9 -0
  125. package/dist/src/question/client/questions.js +160 -0
  126. package/dist/src/question/question.d.ts +63 -0
  127. package/dist/src/question/question.js +9 -0
  128. package/dist/src/question/schema.d.ts +101 -0
  129. package/dist/src/question/schema.js +14 -0
  130. package/dist/src/rename.d.ts +79 -0
  131. package/dist/src/rename.js +91 -0
  132. package/dist/src/telemetry.d.ts +36 -0
  133. package/dist/src/telemetry.js +84 -0
  134. package/dist/src/web-search.d.ts +78 -0
  135. package/dist/src/web-search.js +219 -0
  136. package/package.json +190 -3
  137. package/README.md +0 -3
@@ -0,0 +1,1005 @@
1
+ import {
2
+ ACP_PROVIDER2,
3
+ ACP_API2,
4
+ MIRROR_TOOL2,
5
+ mirrorArguments2,
6
+ mirrorClass2
7
+ } from "../../chunks/billing-9nn3yp18.js";
8
+ import"../../chunks/billing-svrhh5a5.js";
9
+ import {
10
+ AcpProcess2
11
+ } from "../../chunks/billing-v3hg5rc7.js";
12
+ import"../../chunks/billing-4vz9pxyx.js";
13
+ import {
14
+ registryEntries2,
15
+ installedAgents2
16
+ } from "../../chunks/billing-hg64tqf1.js";
17
+ import {
18
+ messageKey2,
19
+ userBlocks2,
20
+ transcriptText2
21
+ } from "../../chunks/billing-wmcbg6fw.js";
22
+
23
+ // src/acp/index.ts
24
+ import {
25
+ acquireSessionResources,
26
+ getCurrentSystemPrompt,
27
+ getCurrentTools,
28
+ lazyStream,
29
+ registerSessionResourceCleanup
30
+ } from "@nyte-ai/ai";
31
+ import { processEnvironment } from "@nyte-ai/core";
32
+ import { standard } from "@nyte-ai/schema";
33
+ import { Value } from "typebox/value";
34
+ // src/acp/registry-seed.json
35
+ var registry_seed_default = {
36
+ agents: [
37
+ {
38
+ id: "agoragentic-acp",
39
+ name: "Agoragentic",
40
+ distribution: {
41
+ npx: {
42
+ package: "agoragentic-mcp@1.3.0",
43
+ args: ["--acp"]
44
+ }
45
+ }
46
+ },
47
+ {
48
+ id: "amp-acp",
49
+ name: "Amp",
50
+ distribution: {
51
+ binary: {
52
+ "darwin-aarch64": {
53
+ cmd: "./amp-acp"
54
+ },
55
+ "darwin-x86_64": {
56
+ cmd: "./amp-acp"
57
+ },
58
+ "linux-aarch64": {
59
+ cmd: "./amp-acp"
60
+ },
61
+ "linux-x86_64": {
62
+ cmd: "./amp-acp"
63
+ },
64
+ "windows-x86_64": {
65
+ cmd: "amp-acp.exe"
66
+ }
67
+ }
68
+ }
69
+ },
70
+ {
71
+ id: "antigravity-acp",
72
+ name: "Google Antigravity",
73
+ distribution: {
74
+ binary: {
75
+ "darwin-aarch64": {
76
+ cmd: "./agy_acp_server.par"
77
+ },
78
+ "darwin-x86_64": {
79
+ cmd: "./agy_acp_server.par"
80
+ },
81
+ "linux-x86_64": {
82
+ cmd: "./agy_acp_server.par",
83
+ args: ["--uid="]
84
+ },
85
+ "linux-aarch64": {
86
+ cmd: "./agy_acp_server.par",
87
+ args: ["--uid="]
88
+ },
89
+ "windows-x86_64": {
90
+ cmd: "./agy_acp_server.exe"
91
+ },
92
+ "windows-aarch64": {
93
+ cmd: "./agy_acp_server.exe"
94
+ }
95
+ }
96
+ }
97
+ },
98
+ {
99
+ id: "auggie",
100
+ name: "Auggie CLI",
101
+ distribution: {
102
+ npx: {
103
+ package: "@augmentcode/auggie@0.36.0",
104
+ args: ["--acp"],
105
+ env: {
106
+ AUGMENT_DISABLE_AUTO_UPDATE: "1"
107
+ }
108
+ }
109
+ }
110
+ },
111
+ {
112
+ id: "autohand",
113
+ name: "Autohand Code",
114
+ distribution: {
115
+ npx: {
116
+ package: "@autohandai/autohand-acp@0.2.1"
117
+ }
118
+ }
119
+ },
120
+ {
121
+ id: "bob",
122
+ name: "Bob",
123
+ distribution: {
124
+ npx: {
125
+ package: "@ibm/bob@2.0.8",
126
+ args: ["acp"]
127
+ }
128
+ }
129
+ },
130
+ {
131
+ id: "claude-acp",
132
+ name: "Claude Agent",
133
+ distribution: {
134
+ npx: {
135
+ package: "@agentclientprotocol/claude-agent-acp@0.93.0"
136
+ }
137
+ }
138
+ },
139
+ {
140
+ id: "cline",
141
+ name: "Cline",
142
+ distribution: {
143
+ npx: {
144
+ package: "cline@3.0.72",
145
+ args: ["--acp"]
146
+ }
147
+ }
148
+ },
149
+ {
150
+ id: "codebuddy-code",
151
+ name: "Codebuddy Code",
152
+ distribution: {
153
+ npx: {
154
+ package: "@tencent-ai/codebuddy-code@2.168.2",
155
+ args: ["--acp"]
156
+ }
157
+ }
158
+ },
159
+ {
160
+ id: "codex-acp",
161
+ name: "Codex",
162
+ distribution: {
163
+ npx: {
164
+ package: "@agentclientprotocol/codex-acp@2.2.2"
165
+ }
166
+ }
167
+ },
168
+ {
169
+ id: "cortex-code",
170
+ name: "Cortex Code",
171
+ distribution: {
172
+ binary: {
173
+ "darwin-aarch64": {
174
+ cmd: "./coco-1.0.73+180523.e6179a031de9-darwin-arm64/cortex",
175
+ args: ["acp", "serve"]
176
+ },
177
+ "darwin-x86_64": {
178
+ cmd: "./coco-1.0.73+180523.e6179a031de9-darwin-amd64/cortex",
179
+ args: ["acp", "serve"]
180
+ },
181
+ "linux-x86_64": {
182
+ cmd: "./coco-1.0.73+180523.e6179a031de9-linux-amd64/cortex",
183
+ args: ["acp", "serve"]
184
+ },
185
+ "linux-aarch64": {
186
+ cmd: "./coco-1.0.73+180523.e6179a031de9-linux-arm64/cortex",
187
+ args: ["acp", "serve"]
188
+ },
189
+ "windows-x86_64": {
190
+ cmd: "./coco-1.0.73+180523.e6179a031de9-windows-amd64/cortex.exe",
191
+ args: ["acp", "serve"]
192
+ },
193
+ "windows-aarch64": {
194
+ cmd: "./coco-1.0.73+180523.e6179a031de9-windows-arm64/cortex.exe",
195
+ args: ["acp", "serve"]
196
+ }
197
+ }
198
+ }
199
+ },
200
+ {
201
+ id: "corust-agent",
202
+ name: "Corust Agent",
203
+ distribution: {
204
+ binary: {
205
+ "darwin-aarch64": {
206
+ cmd: "./corust-agent-acp"
207
+ },
208
+ "darwin-x86_64": {
209
+ cmd: "./corust-agent-acp"
210
+ },
211
+ "linux-x86_64": {
212
+ cmd: "./corust-agent-acp"
213
+ },
214
+ "windows-x86_64": {
215
+ cmd: "./corust-agent-acp.exe"
216
+ }
217
+ }
218
+ }
219
+ },
220
+ {
221
+ id: "crow-cli",
222
+ name: "crow-cli",
223
+ distribution: {
224
+ binary: {
225
+ "darwin-aarch64": {
226
+ cmd: "./crow-cli",
227
+ args: ["acp"]
228
+ },
229
+ "darwin-x86_64": {
230
+ cmd: "./crow-cli",
231
+ args: ["acp"]
232
+ },
233
+ "linux-aarch64": {
234
+ cmd: "./crow-cli",
235
+ args: ["acp"]
236
+ },
237
+ "linux-x86_64": {
238
+ cmd: "./crow-cli",
239
+ args: ["acp"]
240
+ },
241
+ "windows-x86_64": {
242
+ cmd: "./crow-cli.exe",
243
+ args: ["acp"]
244
+ }
245
+ }
246
+ }
247
+ },
248
+ {
249
+ id: "cursor",
250
+ name: "Cursor",
251
+ distribution: {
252
+ binary: {
253
+ "darwin-aarch64": {
254
+ cmd: "./dist-package/cursor-agent",
255
+ args: ["acp"]
256
+ },
257
+ "darwin-x86_64": {
258
+ cmd: "./dist-package/cursor-agent",
259
+ args: ["acp"]
260
+ },
261
+ "linux-aarch64": {
262
+ cmd: "./dist-package/cursor-agent",
263
+ args: ["acp"]
264
+ },
265
+ "linux-x86_64": {
266
+ cmd: "./dist-package/cursor-agent",
267
+ args: ["acp"]
268
+ },
269
+ "windows-aarch64": {
270
+ cmd: "./dist-package\\cursor-agent.cmd",
271
+ args: ["acp"]
272
+ },
273
+ "windows-x86_64": {
274
+ cmd: "./dist-package\\cursor-agent.cmd",
275
+ args: ["acp"]
276
+ }
277
+ }
278
+ }
279
+ },
280
+ {
281
+ id: "deepagents",
282
+ name: "DeepAgents",
283
+ distribution: {
284
+ npx: {
285
+ package: "deepagents-acp@0.1.7",
286
+ args: []
287
+ }
288
+ }
289
+ },
290
+ {
291
+ id: "devin",
292
+ name: "Devin",
293
+ distribution: {
294
+ binary: {
295
+ "darwin-aarch64": {
296
+ cmd: "./bin/devin",
297
+ args: ["acp"]
298
+ },
299
+ "darwin-x86_64": {
300
+ cmd: "./bin/devin",
301
+ args: ["acp"]
302
+ },
303
+ "linux-aarch64": {
304
+ cmd: "./bin/devin",
305
+ args: ["acp"]
306
+ },
307
+ "linux-x86_64": {
308
+ cmd: "./bin/devin",
309
+ args: ["acp"]
310
+ },
311
+ "windows-aarch64": {
312
+ cmd: "./bin\\devin.exe",
313
+ args: ["acp"]
314
+ },
315
+ "windows-x86_64": {
316
+ cmd: "./bin\\devin.exe",
317
+ args: ["acp"]
318
+ }
319
+ }
320
+ }
321
+ },
322
+ {
323
+ id: "dimcode",
324
+ name: "DimCode",
325
+ distribution: {
326
+ npx: {
327
+ package: "dimcode@0.5.19",
328
+ args: ["acp"]
329
+ }
330
+ }
331
+ },
332
+ {
333
+ id: "dirac",
334
+ name: "Dirac",
335
+ distribution: {
336
+ npx: {
337
+ package: "dirac-cli@0.5.21",
338
+ args: ["--acp"]
339
+ }
340
+ }
341
+ },
342
+ {
343
+ id: "factory-droid",
344
+ name: "Factory Droid",
345
+ distribution: {
346
+ npx: {
347
+ package: "droid@0.243.0",
348
+ args: ["exec", "--output-format", "acp-daemon"],
349
+ env: {
350
+ DROID_DISABLE_AUTO_UPDATE: "true",
351
+ FACTORY_DROID_AUTO_UPDATE_ENABLED: "false"
352
+ }
353
+ }
354
+ }
355
+ },
356
+ {
357
+ id: "gemini",
358
+ name: "Gemini CLI",
359
+ distribution: {
360
+ npx: {
361
+ package: "@google/gemini-cli@0.64.0",
362
+ args: ["--acp"]
363
+ }
364
+ }
365
+ },
366
+ {
367
+ id: "github-copilot-cli",
368
+ name: "Copilot",
369
+ distribution: {
370
+ npx: {
371
+ package: "@github/copilot@1.0.98",
372
+ args: ["--acp"]
373
+ }
374
+ }
375
+ },
376
+ {
377
+ id: "glm-acp-agent",
378
+ name: "GLM Agent",
379
+ distribution: {
380
+ npx: {
381
+ package: "glm-acp-agent@1.15.0"
382
+ }
383
+ }
384
+ },
385
+ {
386
+ id: "goose",
387
+ name: "goose",
388
+ distribution: {
389
+ binary: {
390
+ "darwin-aarch64": {
391
+ cmd: "./goose",
392
+ args: ["acp"]
393
+ },
394
+ "darwin-x86_64": {
395
+ cmd: "./goose",
396
+ args: ["acp"]
397
+ },
398
+ "linux-aarch64": {
399
+ cmd: "./goose",
400
+ args: ["acp"]
401
+ },
402
+ "linux-x86_64": {
403
+ cmd: "./goose",
404
+ args: ["acp"]
405
+ },
406
+ "windows-x86_64": {
407
+ cmd: "./goose-package\\goose.exe",
408
+ args: ["acp"]
409
+ }
410
+ }
411
+ }
412
+ },
413
+ {
414
+ id: "grok-build",
415
+ name: "Grok Build",
416
+ distribution: {
417
+ npx: {
418
+ package: "@xai-official/grok@1.0.62",
419
+ args: ["agent", "stdio"]
420
+ }
421
+ }
422
+ },
423
+ {
424
+ id: "harn",
425
+ name: "Harn",
426
+ distribution: {
427
+ binary: {
428
+ "darwin-aarch64": {
429
+ cmd: "./harn",
430
+ args: ["serve", "acp"]
431
+ },
432
+ "darwin-x86_64": {
433
+ cmd: "./harn",
434
+ args: ["serve", "acp"]
435
+ },
436
+ "linux-aarch64": {
437
+ cmd: "./harn",
438
+ args: ["serve", "acp"]
439
+ },
440
+ "linux-x86_64": {
441
+ cmd: "./harn",
442
+ args: ["serve", "acp"]
443
+ },
444
+ "windows-x86_64": {
445
+ cmd: "harn.exe",
446
+ args: ["serve", "acp"]
447
+ }
448
+ }
449
+ }
450
+ },
451
+ {
452
+ id: "junie",
453
+ name: "Junie",
454
+ distribution: {
455
+ binary: {
456
+ "darwin-aarch64": {
457
+ cmd: "./Applications/junie.app/Contents/MacOS/junie",
458
+ args: ["--acp=true"]
459
+ },
460
+ "darwin-x86_64": {
461
+ cmd: "./Applications/junie.app/Contents/MacOS/junie",
462
+ args: ["--acp=true"]
463
+ },
464
+ "linux-aarch64": {
465
+ cmd: "./junie-app/bin/junie",
466
+ args: ["--acp=true"]
467
+ },
468
+ "linux-x86_64": {
469
+ cmd: "./junie-app/bin/junie",
470
+ args: ["--acp=true"]
471
+ },
472
+ "windows-x86_64": {
473
+ cmd: "./junie/junie.exe",
474
+ args: ["--acp=true"]
475
+ },
476
+ "windows-aarch64": {
477
+ cmd: "./junie/junie.exe",
478
+ args: ["--acp=true"]
479
+ }
480
+ }
481
+ }
482
+ },
483
+ {
484
+ id: "kilo",
485
+ name: "Kilo",
486
+ distribution: {
487
+ binary: {
488
+ "darwin-aarch64": {
489
+ cmd: "./kilo",
490
+ args: ["acp"]
491
+ },
492
+ "darwin-x86_64": {
493
+ cmd: "./kilo",
494
+ args: ["acp"]
495
+ },
496
+ "linux-aarch64": {
497
+ cmd: "./kilo",
498
+ args: ["acp"]
499
+ },
500
+ "linux-x86_64": {
501
+ cmd: "./kilo",
502
+ args: ["acp"]
503
+ },
504
+ "windows-x86_64": {
505
+ cmd: "./kilo.exe",
506
+ args: ["acp"]
507
+ }
508
+ },
509
+ npx: {
510
+ package: "@kilocode/cli@7.8.12",
511
+ args: ["acp"]
512
+ }
513
+ }
514
+ },
515
+ {
516
+ id: "kimchi",
517
+ name: "Kimchi",
518
+ distribution: {
519
+ binary: {
520
+ "darwin-aarch64": {
521
+ cmd: "./bin/kimchi",
522
+ args: ["--mode", "acp"]
523
+ },
524
+ "darwin-x86_64": {
525
+ cmd: "./bin/kimchi",
526
+ args: ["--mode", "acp"]
527
+ },
528
+ "linux-aarch64": {
529
+ cmd: "./bin/kimchi",
530
+ args: ["--mode", "acp"]
531
+ },
532
+ "linux-x86_64": {
533
+ cmd: "./bin/kimchi",
534
+ args: ["--mode", "acp"]
535
+ },
536
+ "windows-x86_64": {
537
+ cmd: "./bin/kimchi.exe",
538
+ args: ["--mode", "acp"]
539
+ }
540
+ }
541
+ }
542
+ },
543
+ {
544
+ id: "kimi",
545
+ name: "Kimi CLI",
546
+ distribution: {
547
+ binary: {
548
+ "darwin-aarch64": {
549
+ cmd: "./kimi",
550
+ args: ["acp"]
551
+ },
552
+ "linux-aarch64": {
553
+ cmd: "./kimi",
554
+ args: ["acp"]
555
+ },
556
+ "linux-x86_64": {
557
+ cmd: "./kimi",
558
+ args: ["acp"]
559
+ },
560
+ "windows-aarch64": {
561
+ cmd: "./kimi.exe",
562
+ args: ["acp"]
563
+ },
564
+ "windows-x86_64": {
565
+ cmd: "./kimi.exe",
566
+ args: ["acp"]
567
+ }
568
+ }
569
+ }
570
+ },
571
+ {
572
+ id: "minimax-code",
573
+ name: "MiniMax Code",
574
+ distribution: {
575
+ npx: {
576
+ package: "@minimax-ai/code@0.2.7",
577
+ args: ["acp"]
578
+ }
579
+ }
580
+ },
581
+ {
582
+ id: "mistral-vibe",
583
+ name: "Mistral Vibe",
584
+ distribution: {
585
+ binary: {
586
+ "darwin-aarch64": {
587
+ cmd: "./vibe-acp"
588
+ },
589
+ "darwin-x86_64": {
590
+ cmd: "./vibe-acp"
591
+ },
592
+ "linux-aarch64": {
593
+ cmd: "./vibe-acp"
594
+ },
595
+ "linux-x86_64": {
596
+ cmd: "./vibe-acp"
597
+ },
598
+ "windows-x86_64": {
599
+ cmd: "./vibe-acp.exe"
600
+ }
601
+ }
602
+ }
603
+ },
604
+ {
605
+ id: "nova",
606
+ name: "Nova",
607
+ distribution: {
608
+ npx: {
609
+ package: "@compass-ai/nova@1.1.54",
610
+ args: ["acp"]
611
+ }
612
+ }
613
+ },
614
+ {
615
+ id: "opencode",
616
+ name: "OpenCode",
617
+ distribution: {
618
+ binary: {
619
+ "darwin-aarch64": {
620
+ cmd: "./opencode",
621
+ args: ["acp"]
622
+ },
623
+ "darwin-x86_64": {
624
+ cmd: "./opencode",
625
+ args: ["acp"]
626
+ },
627
+ "linux-aarch64": {
628
+ cmd: "./opencode",
629
+ args: ["acp"]
630
+ },
631
+ "linux-x86_64": {
632
+ cmd: "./opencode",
633
+ args: ["acp"]
634
+ },
635
+ "windows-aarch64": {
636
+ cmd: "./opencode",
637
+ args: ["acp"]
638
+ },
639
+ "windows-x86_64": {
640
+ cmd: "./opencode.exe",
641
+ args: ["acp"]
642
+ }
643
+ }
644
+ }
645
+ },
646
+ {
647
+ id: "pi-acp",
648
+ name: "pi ACP",
649
+ distribution: {
650
+ npx: {
651
+ package: "pi-acp@0.0.34"
652
+ }
653
+ }
654
+ },
655
+ {
656
+ id: "poolside",
657
+ name: "Poolside",
658
+ distribution: {
659
+ binary: {
660
+ "darwin-aarch64": {
661
+ cmd: "./pool-darwin-arm64",
662
+ args: ["acp"]
663
+ },
664
+ "darwin-x86_64": {
665
+ cmd: "./pool-darwin-amd64",
666
+ args: ["acp"]
667
+ },
668
+ "linux-aarch64": {
669
+ cmd: "./pool-linux-arm64",
670
+ args: ["acp"]
671
+ },
672
+ "linux-x86_64": {
673
+ cmd: "./pool-linux-amd64",
674
+ args: ["acp"]
675
+ },
676
+ "windows-aarch64": {
677
+ cmd: "./pool-windows-arm64.exe",
678
+ args: ["acp"]
679
+ },
680
+ "windows-x86_64": {
681
+ cmd: "./pool-windows-amd64.exe",
682
+ args: ["acp"]
683
+ }
684
+ }
685
+ }
686
+ },
687
+ {
688
+ id: "qoder",
689
+ name: "Qoder CLI",
690
+ distribution: {
691
+ npx: {
692
+ package: "@qoder-ai/qodercli@0.2.14",
693
+ args: ["--acp"]
694
+ }
695
+ }
696
+ },
697
+ {
698
+ id: "qwen-code",
699
+ name: "Qwen Code",
700
+ distribution: {
701
+ npx: {
702
+ package: "@qwen-code/qwen-code@0.25.2",
703
+ args: ["--acp", "--experimental-skills"]
704
+ }
705
+ }
706
+ },
707
+ {
708
+ id: "sigit",
709
+ name: "siGit Code",
710
+ distribution: {
711
+ binary: {
712
+ "darwin-aarch64": {
713
+ cmd: "./sigit"
714
+ },
715
+ "darwin-x86_64": {
716
+ cmd: "./sigit"
717
+ },
718
+ "linux-aarch64": {
719
+ cmd: "./sigit-linux-arm64"
720
+ },
721
+ "linux-x86_64": {
722
+ cmd: "./sigit-linux-amd64"
723
+ },
724
+ "windows-aarch64": {
725
+ cmd: "./sigit-win-arm64.exe"
726
+ },
727
+ "windows-x86_64": {
728
+ cmd: "./sigit-win-amd64.exe"
729
+ }
730
+ },
731
+ npx: {
732
+ package: "@smbcloud/sigit@1.7.0"
733
+ }
734
+ }
735
+ },
736
+ {
737
+ id: "stakpak",
738
+ name: "Stakpak",
739
+ distribution: {
740
+ binary: {
741
+ "darwin-aarch64": {
742
+ cmd: "./stakpak",
743
+ args: ["acp"]
744
+ },
745
+ "darwin-x86_64": {
746
+ cmd: "./stakpak",
747
+ args: ["acp"]
748
+ },
749
+ "linux-aarch64": {
750
+ cmd: "./stakpak",
751
+ args: ["acp"]
752
+ },
753
+ "linux-x86_64": {
754
+ cmd: "./stakpak",
755
+ args: ["acp"]
756
+ },
757
+ "windows-x86_64": {
758
+ cmd: "./stakpak.exe",
759
+ args: ["acp"]
760
+ }
761
+ }
762
+ }
763
+ },
764
+ {
765
+ id: "vtcode",
766
+ name: "VT Code",
767
+ distribution: {
768
+ binary: {
769
+ "darwin-aarch64": {
770
+ cmd: "./vtcode",
771
+ args: ["acp"],
772
+ env: {
773
+ VT_ACP_ENABLED: "1",
774
+ VT_ACP_ZED_ENABLED: "1"
775
+ }
776
+ },
777
+ "darwin-x86_64": {
778
+ cmd: "./vtcode",
779
+ args: ["acp"],
780
+ env: {
781
+ VT_ACP_ENABLED: "1",
782
+ VT_ACP_ZED_ENABLED: "1"
783
+ }
784
+ },
785
+ "linux-x86_64": {
786
+ cmd: "./vtcode",
787
+ args: ["acp"],
788
+ env: {
789
+ VT_ACP_ENABLED: "1",
790
+ VT_ACP_ZED_ENABLED: "1"
791
+ }
792
+ },
793
+ "windows-x86_64": {
794
+ cmd: "vtcode.exe",
795
+ args: ["acp"],
796
+ env: {
797
+ VT_ACP_ENABLED: "1",
798
+ VT_ACP_ZED_ENABLED: "1"
799
+ }
800
+ }
801
+ }
802
+ }
803
+ }
804
+ ]
805
+ };
806
+
807
+ // src/acp/index.ts
808
+ var NOT_RUNNING = "The agent is no longer running this turn. Send a message to continue.";
809
+ function agentModel(agent) {
810
+ return {
811
+ id: agent.id,
812
+ name: agent.name,
813
+ api: ACP_API2,
814
+ provider: ACP_PROVIDER2,
815
+ baseUrl: `process://acp/${agent.id}`,
816
+ reasoning: false,
817
+ input: ["text", "image"],
818
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
819
+ contextWindow: 1e6,
820
+ maxTokens: 64000
821
+ };
822
+ }
823
+ function mirrorTool(live) {
824
+ return {
825
+ name: MIRROR_TOOL2,
826
+ description: "A tool an ACP agent ran. The agent reports the result; Nyte records it.",
827
+ parameters: standard(mirrorArguments2),
828
+ exposure: "hidden",
829
+ approval: "runtime",
830
+ replay: "safe",
831
+ class: mirrorClass2,
832
+ async execute(args, invocation) {
833
+ const thread = live.get(invocation.session.id)?.thread;
834
+ if (thread === undefined || thread.closed || args.thread !== thread.prefix)
835
+ throw new Error(NOT_RUNNING);
836
+ thread.recording(args.id);
837
+ const output = await thread.result(args.id, invocation.signal);
838
+ if (output.failed)
839
+ throw new Error(output.text === "" ? "The tool call failed." : output.text);
840
+ return { content: [{ kind: "text", text: output.text }] };
841
+ }
842
+ };
843
+ }
844
+ function acpAgents(options) {
845
+ let agents = [];
846
+ const live = new Map;
847
+ const bindings = new Map;
848
+ const forget = (entry) => {
849
+ entry.process.then((started) => started.close()).catch(() => {
850
+ return;
851
+ });
852
+ };
853
+ registerSessionResourceCleanup((id) => {
854
+ for (const [key, entry] of live) {
855
+ if (id !== undefined && key !== id)
856
+ continue;
857
+ live.delete(key);
858
+ forget(entry);
859
+ }
860
+ });
861
+ async function connect(id, model) {
862
+ const binding = bindings.get(id);
863
+ if (binding === undefined)
864
+ throw new Error("ACP agents answer inside a Nyte session.");
865
+ const { env } = binding;
866
+ const agent = agents.find((candidate) => candidate.id === model.id);
867
+ if (agent === undefined)
868
+ throw new Error(`${model.name} is not installed on this machine.`);
869
+ const key = JSON.stringify([agent.id, agent.command, env.cwd]);
870
+ let entry = live.get(id);
871
+ const started = entry?.key === key ? await entry.process.catch(() => {
872
+ return;
873
+ }) : undefined;
874
+ if (entry === undefined || started === undefined || started.closed) {
875
+ if (entry !== undefined)
876
+ forget(entry);
877
+ entry = { key, process: AcpProcess2.start(env, agent), thread: undefined, known: [] };
878
+ live.set(id, entry);
879
+ }
880
+ return { entry, binding, agent: await entry.process };
881
+ }
882
+ async function respond(model, context, signal, id) {
883
+ if (id === undefined)
884
+ throw new Error("ACP agents answer inside a Nyte session.");
885
+ const { entry, binding, agent } = await connect(id, model);
886
+ const messages = context.messages.filter((message) => message.role !== "system");
887
+ const keys = messages.map(messageKey2);
888
+ const images = await agent.images();
889
+ const first = messages.findLastIndex((message) => message.role !== "user") + 1;
890
+ const prompt = messages.slice(first).flatMap((message) => message.role === "user" ? userBlocks2(message, images) : []);
891
+ const current = entry.thread;
892
+ const continues = current !== undefined && !current.closed && entry.known.length < keys.length && entry.known.every((known, index) => keys[index] === known);
893
+ let thread;
894
+ if (continues) {
895
+ thread = current;
896
+ const answered = new Set(messages.flatMap((message) => message.role === "toolResult" ? [message.toolCallId] : []));
897
+ for (const message of messages)
898
+ if (message.role === "assistant") {
899
+ for (const block of message.content)
900
+ if (block.type === "toolCall" && answered.has(block.id) && Value.Check(mirrorArguments2, block.arguments) && block.arguments.thread === thread.prefix)
901
+ thread.skip(block.arguments.id);
902
+ }
903
+ if (prompt.length > 0)
904
+ thread.send(prompt);
905
+ } else {
906
+ if (current !== undefined)
907
+ agent.forget(current);
908
+ if (prompt.length === 0)
909
+ throw new Error(NOT_RUNNING);
910
+ thread = await agent.open(binding.env.cwd, binding.approve);
911
+ entry.thread = thread;
912
+ const history = transcriptText2(messages.slice(0, first));
913
+ thread.send(history === "" ? prompt : [{ type: "text", text: `Earlier in this conversation:
914
+
915
+ ${history}` }, ...prompt]);
916
+ }
917
+ const stream = thread.respond(model, signal);
918
+ stream.result().then((message) => {
919
+ if (entry.thread !== thread)
920
+ return;
921
+ entry.known = message.stopReason === "error" || message.stopReason === "aborted" ? [] : [...keys, messageKey2(message)];
922
+ });
923
+ return stream;
924
+ }
925
+ async function answerOnce(model, context, signal, id) {
926
+ if (id === undefined)
927
+ throw new Error("ACP agents answer inside a Nyte session.");
928
+ const { binding, agent } = await connect(id, model);
929
+ const thread = await agent.open(binding.env.cwd, binding.approve);
930
+ const system = getCurrentSystemPrompt(context.messages);
931
+ const conversation = transcriptText2(context.messages.filter((message) => message.role !== "system"));
932
+ thread.send([
933
+ {
934
+ type: "text",
935
+ text: `${system === undefined ? "" : `${system}
936
+
937
+ `}${conversation}
938
+
939
+ Answer in text only; do not use tools.`
940
+ }
941
+ ]);
942
+ const stream = thread.respond(model, signal, false);
943
+ stream.result().finally(() => agent.forget(thread));
944
+ return stream;
945
+ }
946
+ const stream = (model, context, request) => lazyStream(model, () => getCurrentTools(context.messages).length === 0 ? answerOnce(model, context, request?.signal, request?.sessionId) : respond(model, context, request?.signal, request?.sessionId));
947
+ const provider = {
948
+ id: ACP_PROVIDER2,
949
+ name: "ACP agents",
950
+ baseUrl: "process://acp",
951
+ capabilities: { steer: false },
952
+ explicitOnly: true,
953
+ auth: {
954
+ apiKey: {
955
+ name: "Installed ACP agents",
956
+ resolve: async ({ signal }) => {
957
+ signal.throwIfAborted();
958
+ return agents.length === 0 ? undefined : { auth: {}, source: "Installed ACP agents" };
959
+ }
960
+ }
961
+ },
962
+ getModels: () => agents.map(agentModel),
963
+ refreshModels: async (context) => {
964
+ if (options?.agents !== undefined) {
965
+ const found = await options.agents();
966
+ await context.publish({ update: () => agents = found });
967
+ return;
968
+ }
969
+ await processEnvironment();
970
+ const found = await installedAgents2(registryEntries2(registry_seed_default), process.env.PATH ?? "");
971
+ await context.publish({ update: () => agents = found });
972
+ },
973
+ stream: (model, context, streamOptions) => stream(model, context, {
974
+ signal: streamOptions?.signal,
975
+ sessionId: streamOptions?.sessionId
976
+ }),
977
+ streamSimple: stream
978
+ };
979
+ const plugin = {
980
+ id: "acp",
981
+ contribute: { tools: [mirrorTool(live)] },
982
+ activate(api) {
983
+ const id = api.session.id;
984
+ const binding = {
985
+ env: api.env,
986
+ approve: (call, signal) => api.approve(call, signal)
987
+ };
988
+ const release = acquireSessionResources(id);
989
+ bindings.set(id, binding);
990
+ const unbind = () => {
991
+ if (bindings.get(id) === binding)
992
+ bindings.delete(id);
993
+ release();
994
+ };
995
+ if (api.signal.aborted)
996
+ unbind();
997
+ else
998
+ api.signal.addEventListener("abort", unbind, { once: true });
999
+ }
1000
+ };
1001
+ return { provider, plugin };
1002
+ }
1003
+ export {
1004
+ acpAgents
1005
+ };