@openma/common 0.0.0-stage → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +391 -2
  3. package/dist/acp-artifacts/binary.d.ts +35 -0
  4. package/dist/acp-artifacts/binary.d.ts.map +1 -0
  5. package/dist/acp-artifacts/binary.js +120 -0
  6. package/dist/acp-artifacts/binary.js.map +1 -0
  7. package/dist/acp-artifacts/index.d.ts +7 -0
  8. package/dist/acp-artifacts/index.d.ts.map +1 -0
  9. package/dist/acp-artifacts/index.js +7 -0
  10. package/dist/acp-artifacts/index.js.map +1 -0
  11. package/dist/acp-artifacts/node-abi.d.ts +3 -0
  12. package/dist/acp-artifacts/node-abi.d.ts.map +1 -0
  13. package/dist/acp-artifacts/node-abi.js +17 -0
  14. package/dist/acp-artifacts/node-abi.js.map +1 -0
  15. package/dist/acp-artifacts/npm-cli.d.ts +3 -0
  16. package/dist/acp-artifacts/npm-cli.d.ts.map +1 -0
  17. package/dist/acp-artifacts/npm-cli.js +9 -0
  18. package/dist/acp-artifacts/npm-cli.js.map +1 -0
  19. package/dist/acp-artifacts/npm.d.ts +37 -0
  20. package/dist/acp-artifacts/npm.d.ts.map +1 -0
  21. package/dist/acp-artifacts/npm.js +167 -0
  22. package/dist/acp-artifacts/npm.js.map +1 -0
  23. package/dist/acp-artifacts/registry.d.ts +45 -0
  24. package/dist/acp-artifacts/registry.d.ts.map +1 -0
  25. package/dist/acp-artifacts/registry.js +206 -0
  26. package/dist/acp-artifacts/registry.js.map +1 -0
  27. package/dist/acp-artifacts/shared.d.ts +45 -0
  28. package/dist/acp-artifacts/shared.d.ts.map +1 -0
  29. package/dist/acp-artifacts/shared.js +157 -0
  30. package/dist/acp-artifacts/shared.js.map +1 -0
  31. package/dist/acp-artifacts/uvx.d.ts +32 -0
  32. package/dist/acp-artifacts/uvx.d.ts.map +1 -0
  33. package/dist/acp-artifacts/uvx.js +95 -0
  34. package/dist/acp-artifacts/uvx.js.map +1 -0
  35. package/dist/acp-fork/index.d.ts +51 -0
  36. package/dist/acp-fork/index.d.ts.map +1 -0
  37. package/dist/acp-fork/index.js +116 -0
  38. package/dist/acp-fork/index.js.map +1 -0
  39. package/dist/acp-harnesses/agent-setup.d.ts +118 -0
  40. package/dist/acp-harnesses/agent-setup.d.ts.map +1 -0
  41. package/dist/acp-harnesses/agent-setup.js +717 -0
  42. package/dist/acp-harnesses/agent-setup.js.map +1 -0
  43. package/dist/acp-harnesses/custom-agents.d.ts +81 -0
  44. package/dist/acp-harnesses/custom-agents.d.ts.map +1 -0
  45. package/dist/acp-harnesses/custom-agents.js +361 -0
  46. package/dist/acp-harnesses/custom-agents.js.map +1 -0
  47. package/dist/acp-harnesses/headless-launch.d.ts +34 -0
  48. package/dist/acp-harnesses/headless-launch.d.ts.map +1 -0
  49. package/dist/acp-harnesses/headless-launch.js +67 -0
  50. package/dist/acp-harnesses/headless-launch.js.map +1 -0
  51. package/dist/acp-harnesses/index.d.ts +18 -0
  52. package/dist/acp-harnesses/index.d.ts.map +1 -0
  53. package/dist/acp-harnesses/index.js +58 -0
  54. package/dist/acp-harnesses/index.js.map +1 -0
  55. package/dist/acp-harnesses/install-state.d.ts +86 -0
  56. package/dist/acp-harnesses/install-state.d.ts.map +1 -0
  57. package/dist/acp-harnesses/install-state.js +322 -0
  58. package/dist/acp-harnesses/install-state.js.map +1 -0
  59. package/dist/acp-harnesses/installer.d.ts +145 -0
  60. package/dist/acp-harnesses/installer.d.ts.map +1 -0
  61. package/dist/acp-harnesses/installer.js +716 -0
  62. package/dist/acp-harnesses/installer.js.map +1 -0
  63. package/dist/acp-harnesses/known-agents.d.ts +154 -0
  64. package/dist/acp-harnesses/known-agents.d.ts.map +1 -0
  65. package/dist/acp-harnesses/known-agents.js +240 -0
  66. package/dist/acp-harnesses/known-agents.js.map +1 -0
  67. package/dist/acp-harnesses/launcher.d.ts +27 -0
  68. package/dist/acp-harnesses/launcher.d.ts.map +1 -0
  69. package/dist/acp-harnesses/launcher.js +64 -0
  70. package/dist/acp-harnesses/launcher.js.map +1 -0
  71. package/dist/acp-harnesses/registry-fetch.d.ts +42 -0
  72. package/dist/acp-harnesses/registry-fetch.d.ts.map +1 -0
  73. package/dist/acp-harnesses/registry-fetch.js +132 -0
  74. package/dist/acp-harnesses/registry-fetch.js.map +1 -0
  75. package/dist/acp-harnesses/registry.d.ts +36 -0
  76. package/dist/acp-harnesses/registry.d.ts.map +1 -0
  77. package/dist/acp-harnesses/registry.js +307 -0
  78. package/dist/acp-harnesses/registry.js.map +1 -0
  79. package/dist/acp-runtime/errors.d.ts +7 -0
  80. package/dist/acp-runtime/errors.d.ts.map +1 -0
  81. package/dist/acp-runtime/errors.js +17 -0
  82. package/dist/acp-runtime/errors.js.map +1 -0
  83. package/dist/acp-runtime/fork-support.d.ts +8 -0
  84. package/dist/acp-runtime/fork-support.d.ts.map +1 -0
  85. package/dist/acp-runtime/fork-support.js +20 -0
  86. package/dist/acp-runtime/fork-support.js.map +1 -0
  87. package/dist/acp-runtime/index.d.ts +11 -0
  88. package/dist/acp-runtime/index.d.ts.map +1 -0
  89. package/dist/acp-runtime/index.js +6 -0
  90. package/dist/acp-runtime/index.js.map +1 -0
  91. package/dist/acp-runtime/probe.d.ts +103 -0
  92. package/dist/acp-runtime/probe.d.ts.map +1 -0
  93. package/dist/acp-runtime/probe.js +872 -0
  94. package/dist/acp-runtime/probe.js.map +1 -0
  95. package/dist/acp-runtime/runtime.d.ts +7 -0
  96. package/dist/acp-runtime/runtime.d.ts.map +1 -0
  97. package/dist/acp-runtime/runtime.js +26 -0
  98. package/dist/acp-runtime/runtime.js.map +1 -0
  99. package/dist/acp-runtime/session.d.ts +87 -0
  100. package/dist/acp-runtime/session.d.ts.map +1 -0
  101. package/dist/acp-runtime/session.js +1071 -0
  102. package/dist/acp-runtime/session.js.map +1 -0
  103. package/dist/acp-runtime/spawners/node.d.ts +5 -0
  104. package/dist/acp-runtime/spawners/node.d.ts.map +1 -0
  105. package/dist/acp-runtime/spawners/node.js +244 -0
  106. package/dist/acp-runtime/spawners/node.js.map +1 -0
  107. package/dist/acp-runtime/types.d.ts +180 -0
  108. package/dist/acp-runtime/types.d.ts.map +1 -0
  109. package/dist/acp-runtime/types.js +2 -0
  110. package/dist/acp-runtime/types.js.map +1 -0
  111. package/dist/agent-contract/acp.d.ts +4 -0
  112. package/dist/agent-contract/acp.d.ts.map +1 -0
  113. package/dist/agent-contract/acp.js +273 -0
  114. package/dist/agent-contract/acp.js.map +1 -0
  115. package/dist/agent-contract/index.d.ts +125 -0
  116. package/dist/agent-contract/index.d.ts.map +1 -0
  117. package/dist/agent-contract/index.js +102 -0
  118. package/dist/agent-contract/index.js.map +1 -0
  119. package/dist/agent-contract/managed.d.ts +5 -0
  120. package/dist/agent-contract/managed.d.ts.map +1 -0
  121. package/dist/agent-contract/managed.js +242 -0
  122. package/dist/agent-contract/managed.js.map +1 -0
  123. package/dist/agent-ui/index.d.ts +170 -0
  124. package/dist/agent-ui/index.d.ts.map +1 -0
  125. package/dist/agent-ui/index.js +853 -0
  126. package/dist/agent-ui/index.js.map +1 -0
  127. package/dist/agent-ui/presentation.d.ts +30 -0
  128. package/dist/agent-ui/presentation.d.ts.map +1 -0
  129. package/dist/agent-ui/presentation.js +79 -0
  130. package/dist/agent-ui/presentation.js.map +1 -0
  131. package/dist/agent-ui/react.d.ts +50 -0
  132. package/dist/agent-ui/react.d.ts.map +1 -0
  133. package/dist/agent-ui/react.js +334 -0
  134. package/dist/agent-ui/react.js.map +1 -0
  135. package/dist/brand/index.d.ts +17 -0
  136. package/dist/brand/index.d.ts.map +1 -0
  137. package/dist/brand/index.js +119 -0
  138. package/dist/brand/index.js.map +1 -0
  139. package/dist/brand/openma-logo-mark.svg +7 -0
  140. package/dist/brand/tokens.css +77 -0
  141. package/dist/brand/website.css +67 -0
  142. package/dist/chat-ui/acp.d.ts +26 -0
  143. package/dist/chat-ui/acp.d.ts.map +1 -0
  144. package/dist/chat-ui/acp.js +166 -0
  145. package/dist/chat-ui/acp.js.map +1 -0
  146. package/dist/chat-ui/components.d.ts +230 -0
  147. package/dist/chat-ui/components.d.ts.map +1 -0
  148. package/dist/chat-ui/components.js +561 -0
  149. package/dist/chat-ui/components.js.map +1 -0
  150. package/dist/chat-ui/composer-drafts.d.ts +21 -0
  151. package/dist/chat-ui/composer-drafts.d.ts.map +1 -0
  152. package/dist/chat-ui/composer-drafts.js +58 -0
  153. package/dist/chat-ui/composer-drafts.js.map +1 -0
  154. package/dist/chat-ui/controller.d.ts +61 -0
  155. package/dist/chat-ui/controller.d.ts.map +1 -0
  156. package/dist/chat-ui/controller.js +218 -0
  157. package/dist/chat-ui/controller.js.map +1 -0
  158. package/dist/chat-ui/index.d.ts +8 -0
  159. package/dist/chat-ui/index.d.ts.map +1 -0
  160. package/dist/chat-ui/index.js +8 -0
  161. package/dist/chat-ui/index.js.map +1 -0
  162. package/dist/chat-ui/markdown.d.ts +37 -0
  163. package/dist/chat-ui/markdown.d.ts.map +1 -0
  164. package/dist/chat-ui/markdown.js +33 -0
  165. package/dist/chat-ui/markdown.js.map +1 -0
  166. package/dist/chat-ui/presentation.d.ts +34 -0
  167. package/dist/chat-ui/presentation.d.ts.map +1 -0
  168. package/dist/chat-ui/presentation.js +191 -0
  169. package/dist/chat-ui/presentation.js.map +1 -0
  170. package/dist/chat-ui/styles.css +815 -0
  171. package/dist/chat-ui/utils.d.ts +14 -0
  172. package/dist/chat-ui/utils.d.ts.map +1 -0
  173. package/dist/chat-ui/utils.js +71 -0
  174. package/dist/chat-ui/utils.js.map +1 -0
  175. package/dist/local-runtime/checkpoint.d.ts +28 -0
  176. package/dist/local-runtime/checkpoint.d.ts.map +1 -0
  177. package/dist/local-runtime/checkpoint.js +2 -0
  178. package/dist/local-runtime/checkpoint.js.map +1 -0
  179. package/dist/local-runtime/daemon-connection.d.ts +27 -0
  180. package/dist/local-runtime/daemon-connection.d.ts.map +1 -0
  181. package/dist/local-runtime/daemon-connection.js +161 -0
  182. package/dist/local-runtime/daemon-connection.js.map +1 -0
  183. package/dist/local-runtime/daemon-host.d.ts +39 -0
  184. package/dist/local-runtime/daemon-host.d.ts.map +1 -0
  185. package/dist/local-runtime/daemon-host.js +88 -0
  186. package/dist/local-runtime/daemon-host.js.map +1 -0
  187. package/dist/local-runtime/index.d.ts +6 -0
  188. package/dist/local-runtime/index.d.ts.map +1 -0
  189. package/dist/local-runtime/index.js +5 -0
  190. package/dist/local-runtime/index.js.map +1 -0
  191. package/dist/local-runtime/runtime.d.ts +36 -0
  192. package/dist/local-runtime/runtime.d.ts.map +1 -0
  193. package/dist/local-runtime/runtime.js +82 -0
  194. package/dist/local-runtime/runtime.js.map +1 -0
  195. package/dist/local-runtime/session-host.d.ts +62 -0
  196. package/dist/local-runtime/session-host.d.ts.map +1 -0
  197. package/dist/local-runtime/session-host.js +477 -0
  198. package/dist/local-runtime/session-host.js.map +1 -0
  199. package/dist/managed-runtime/acp-subagents.d.ts +14 -0
  200. package/dist/managed-runtime/acp-subagents.d.ts.map +1 -0
  201. package/dist/managed-runtime/acp-subagents.js +67 -0
  202. package/dist/managed-runtime/acp-subagents.js.map +1 -0
  203. package/dist/managed-runtime/claimed-environment-work.d.ts +61 -0
  204. package/dist/managed-runtime/claimed-environment-work.d.ts.map +1 -0
  205. package/dist/managed-runtime/claimed-environment-work.js +170 -0
  206. package/dist/managed-runtime/claimed-environment-work.js.map +1 -0
  207. package/dist/managed-runtime/contracts.d.ts +31 -0
  208. package/dist/managed-runtime/contracts.d.ts.map +1 -0
  209. package/dist/managed-runtime/contracts.js +2 -0
  210. package/dist/managed-runtime/contracts.js.map +1 -0
  211. package/dist/managed-runtime/http-control.d.ts +67 -0
  212. package/dist/managed-runtime/http-control.d.ts.map +1 -0
  213. package/dist/managed-runtime/http-control.js +465 -0
  214. package/dist/managed-runtime/http-control.js.map +1 -0
  215. package/dist/managed-runtime/index.d.ts +89 -0
  216. package/dist/managed-runtime/index.d.ts.map +1 -0
  217. package/dist/managed-runtime/index.js +215 -0
  218. package/dist/managed-runtime/index.js.map +1 -0
  219. package/dist/managed-runtime/input-identity.d.ts +2 -0
  220. package/dist/managed-runtime/input-identity.d.ts.map +1 -0
  221. package/dist/managed-runtime/input-identity.js +2 -0
  222. package/dist/managed-runtime/input-identity.js.map +1 -0
  223. package/dist/managed-runtime/managed-event-projector.d.ts +24 -0
  224. package/dist/managed-runtime/managed-event-projector.d.ts.map +1 -0
  225. package/dist/managed-runtime/managed-event-projector.js +333 -0
  226. package/dist/managed-runtime/managed-event-projector.js.map +1 -0
  227. package/dist/managed-runtime/semantic-recovery.d.ts +61 -0
  228. package/dist/managed-runtime/semantic-recovery.d.ts.map +1 -0
  229. package/dist/managed-runtime/semantic-recovery.js +167 -0
  230. package/dist/managed-runtime/semantic-recovery.js.map +1 -0
  231. package/dist/project-ui/CreateProjectDialog.d.ts +15 -0
  232. package/dist/project-ui/CreateProjectDialog.d.ts.map +1 -0
  233. package/dist/project-ui/CreateProjectDialog.js +87 -0
  234. package/dist/project-ui/CreateProjectDialog.js.map +1 -0
  235. package/dist/project-ui/ProjectComposer.d.ts +13 -0
  236. package/dist/project-ui/ProjectComposer.d.ts.map +1 -0
  237. package/dist/project-ui/ProjectComposer.js +70 -0
  238. package/dist/project-ui/ProjectComposer.js.map +1 -0
  239. package/dist/project-ui/ProjectConversation.d.ts +10 -0
  240. package/dist/project-ui/ProjectConversation.d.ts.map +1 -0
  241. package/dist/project-ui/ProjectConversation.js +28 -0
  242. package/dist/project-ui/ProjectConversation.js.map +1 -0
  243. package/dist/project-ui/ProjectMessageAttachments.d.ts +4 -0
  244. package/dist/project-ui/ProjectMessageAttachments.d.ts.map +1 -0
  245. package/dist/project-ui/ProjectMessageAttachments.js +28 -0
  246. package/dist/project-ui/ProjectMessageAttachments.js.map +1 -0
  247. package/dist/project-ui/ProjectSettings.d.ts +8 -0
  248. package/dist/project-ui/ProjectSettings.d.ts.map +1 -0
  249. package/dist/project-ui/ProjectSettings.js +65 -0
  250. package/dist/project-ui/ProjectSettings.js.map +1 -0
  251. package/dist/project-ui/Projects.d.ts +18 -0
  252. package/dist/project-ui/Projects.d.ts.map +1 -0
  253. package/dist/project-ui/Projects.js +377 -0
  254. package/dist/project-ui/Projects.js.map +1 -0
  255. package/dist/project-ui/client.d.ts +234 -0
  256. package/dist/project-ui/client.d.ts.map +1 -0
  257. package/dist/project-ui/client.js +42 -0
  258. package/dist/project-ui/client.js.map +1 -0
  259. package/dist/project-ui/controls.d.ts +15 -0
  260. package/dist/project-ui/controls.d.ts.map +1 -0
  261. package/dist/project-ui/controls.js +17 -0
  262. package/dist/project-ui/controls.js.map +1 -0
  263. package/dist/project-ui/index.d.ts +20 -0
  264. package/dist/project-ui/index.d.ts.map +1 -0
  265. package/dist/project-ui/index.js +17 -0
  266. package/dist/project-ui/index.js.map +1 -0
  267. package/dist/project-ui/project-coordinator.d.ts +3 -0
  268. package/dist/project-ui/project-coordinator.d.ts.map +1 -0
  269. package/dist/project-ui/project-coordinator.js +12 -0
  270. package/dist/project-ui/project-coordinator.js.map +1 -0
  271. package/dist/project-ui/project-goals.d.ts +48 -0
  272. package/dist/project-ui/project-goals.d.ts.map +1 -0
  273. package/dist/project-ui/project-goals.js +169 -0
  274. package/dist/project-ui/project-goals.js.map +1 -0
  275. package/dist/project-ui/projects-query.d.ts +19 -0
  276. package/dist/project-ui/projects-query.d.ts.map +1 -0
  277. package/dist/project-ui/projects-query.js +132 -0
  278. package/dist/project-ui/projects-query.js.map +1 -0
  279. package/dist/project-ui/styles.css +847 -0
  280. package/dist/protocol/acp/index.d.ts +52 -0
  281. package/dist/protocol/acp/index.d.ts.map +1 -0
  282. package/dist/protocol/acp/index.js +1056 -0
  283. package/dist/protocol/acp/index.js.map +1 -0
  284. package/dist/protocol/cursor-cloud/index.d.ts +74 -0
  285. package/dist/protocol/cursor-cloud/index.d.ts.map +1 -0
  286. package/dist/protocol/cursor-cloud/index.js +249 -0
  287. package/dist/protocol/cursor-cloud/index.js.map +1 -0
  288. package/dist/protocol/managed/index.d.ts +32 -0
  289. package/dist/protocol/managed/index.d.ts.map +1 -0
  290. package/dist/protocol/managed/index.js +646 -0
  291. package/dist/protocol/managed/index.js.map +1 -0
  292. package/dist/protocol/managed/input-identity.d.ts +3 -0
  293. package/dist/protocol/managed/input-identity.d.ts.map +1 -0
  294. package/dist/protocol/managed/input-identity.js +6 -0
  295. package/dist/protocol/managed/input-identity.js.map +1 -0
  296. package/dist/protocol/openai-agents/index.d.ts +102 -0
  297. package/dist/protocol/openai-agents/index.d.ts.map +1 -0
  298. package/dist/protocol/openai-agents/index.js +142 -0
  299. package/dist/protocol/openai-agents/index.js.map +1 -0
  300. package/dist/session-events/acp-system-notices.d.ts +10 -0
  301. package/dist/session-events/acp-system-notices.d.ts.map +1 -0
  302. package/dist/session-events/acp-system-notices.js +46 -0
  303. package/dist/session-events/acp-system-notices.js.map +1 -0
  304. package/dist/session-events/acp.d.ts +214 -0
  305. package/dist/session-events/acp.d.ts.map +1 -0
  306. package/dist/session-events/acp.js +956 -0
  307. package/dist/session-events/acp.js.map +1 -0
  308. package/dist/session-events/managed.d.ts +141 -0
  309. package/dist/session-events/managed.d.ts.map +1 -0
  310. package/dist/session-events/managed.js +324 -0
  311. package/dist/session-events/managed.js.map +1 -0
  312. package/dist/session-events/openma.d.ts +304 -0
  313. package/dist/session-events/openma.d.ts.map +1 -0
  314. package/dist/session-events/openma.js +438 -0
  315. package/dist/session-events/openma.js.map +1 -0
  316. package/dist/session-kernel/index.d.ts +118 -0
  317. package/dist/session-kernel/index.d.ts.map +1 -0
  318. package/dist/session-kernel/index.js +215 -0
  319. package/dist/session-kernel/index.js.map +1 -0
  320. package/dist/session-orchestrator/index.d.ts +71 -0
  321. package/dist/session-orchestrator/index.d.ts.map +1 -0
  322. package/dist/session-orchestrator/index.js +177 -0
  323. package/dist/session-orchestrator/index.js.map +1 -0
  324. package/dist/session-ui/index.d.ts +96 -0
  325. package/dist/session-ui/index.d.ts.map +1 -0
  326. package/dist/session-ui/index.js +277 -0
  327. package/dist/session-ui/index.js.map +1 -0
  328. package/package.json +222 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/acp-harnesses/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Static overlay over the official ACP registry.
3
+ *
4
+ * The official registry at
5
+ * https://cdn.agentclientprotocol.com/registry/v1/latest/registry.json is the
6
+ * source of truth for ACP-compatible agents (~35 entries, auto-updated). This
7
+ * file holds only the deltas the desktop needs on top:
8
+ *
9
+ * 1. Featured-agent ordering (the four we promote in the agent picker).
10
+ * 2. Agents not in the official registry yet (hermes, openclaw).
11
+ *
12
+ * Browser-safe (no node deps): the renderer can import this directly when it
13
+ * just needs an entry's display label / install hint without rewinding through
14
+ * IPC. The main process additionally fetches the full official registry at
15
+ * runtime (registry-fetch.ts) and merges.
16
+ */
17
+ import type { AgentSpec } from "../acp-runtime/types.js";
18
+ export interface KnownAgentRegistryDistribution {
19
+ binary?: Record<string, {
20
+ archive: string;
21
+ cmd: string;
22
+ args?: string[];
23
+ env?: Record<string, string>;
24
+ sha256?: string;
25
+ }>;
26
+ npx?: {
27
+ package: string;
28
+ args?: string[];
29
+ env?: Record<string, string>;
30
+ };
31
+ uvx?: {
32
+ package: string;
33
+ args?: string[];
34
+ env?: Record<string, string>;
35
+ };
36
+ }
37
+ export interface KnownAgentConfigSelectValue {
38
+ value: string;
39
+ name: string;
40
+ description?: string | null;
41
+ }
42
+ export interface KnownAgentConfigOption {
43
+ id: string;
44
+ name: string;
45
+ type: "select" | "boolean" | "string";
46
+ category?: string | null;
47
+ description?: string | null;
48
+ currentValue?: string;
49
+ options?: KnownAgentConfigSelectValue[];
50
+ }
51
+ /**
52
+ * How a harness is started for one unattended run (a benchmark trial, a CI
53
+ * job): which of its own flags and variables carry the generic options in
54
+ * `AcpHeadlessLaunchOptions`. Hosts name the harness id and pass those
55
+ * options to `buildAcpHeadlessLaunch`; they never spell a harness flag.
56
+ */
57
+ export interface KnownAgentHeadlessLaunch {
58
+ /** Flags that turn off interactive behaviour. Always passed. */
59
+ args?: string[];
60
+ /** Flag that takes the directory for the harness's own session files. */
61
+ sessionDir?: {
62
+ flag: string;
63
+ };
64
+ /** Where the agent's user-level configuration directory is set. */
65
+ agentDir?: {
66
+ flag?: string;
67
+ env?: string;
68
+ };
69
+ /** Flag that loads project-level resources without a stored trust decision. */
70
+ trustProject?: {
71
+ flag: string;
72
+ };
73
+ /** Model selection. The value is `[provider<sep>]model[<sep>thinking]`. */
74
+ model?: {
75
+ flag: string;
76
+ providerSeparator?: string;
77
+ thinkingSeparator?: string;
78
+ };
79
+ }
80
+ /**
81
+ * A reproducible npm install of a harness: the adapter package and the
82
+ * dependencies that decide the agent's behaviour, each at one exact version.
83
+ * `installPinnedAcpHarness` enforces `dependencies` through npm `overrides`.
84
+ */
85
+ export interface KnownAgentPinnedInstall {
86
+ /** Exact package spec, `name@x.y.z`. */
87
+ package: string;
88
+ /** Dependency name to exact version. */
89
+ dependencies: Record<string, string>;
90
+ }
91
+ export interface KnownAgentEntry {
92
+ /** Canonical id used by hosts and dropdowns. Slug-only, no spaces. */
93
+ id: string;
94
+ label: string;
95
+ /** Official registry icon URL, when advertised by the agent. */
96
+ icon?: string;
97
+ spec: AgentSpec;
98
+ /** Registry-advertised version string (semver). Used by
99
+ * acp-binary-update.ts to compare against the locally-installed
100
+ * binary's reported version. Optional because overlay entries
101
+ * (claude-acp, openclaw, …) don't ship versions; only entries that
102
+ * pass through `mapOfficialAgent` carry one. */
103
+ version?: string;
104
+ installHint?: string;
105
+ homepage?: string;
106
+ /** UI signal: render in the picker's first group. */
107
+ featured?: boolean;
108
+ /** Native ACP CLI supplied by the user's system PATH. Registry-managed
109
+ * shims are resolved from Backchat's managed ACP bin directory first. */
110
+ systemPath?: boolean;
111
+ /** PATH command used when the managed registry shim is not installed.
112
+ * `spec.args` are passed to this command. */
113
+ systemCommand?: string;
114
+ /** Public ACP registry id. Used for app-managed installs. */
115
+ registryId?: string;
116
+ /** Exact distribution from the registry snapshot used to render this entry.
117
+ * Passing it to the installer avoids a second network fetch. */
118
+ registryDistribution?: KnownAgentRegistryDistribution;
119
+ /** Install source for entries Backchat can install into its managed bin dir. */
120
+ installSource?: "registry" | "adapter";
121
+ /** Backchat-hosted executable URL for app-managed adapter installs. */
122
+ downloadUrl?: string;
123
+ /** Only lightweight ACP adapters/shims may be app-managed downloads. */
124
+ downloadKind?: "adapter";
125
+ /** Initial UI seed. Live ACP session config_options override this. */
126
+ configOptions?: KnownAgentConfigOption[];
127
+ /** If set, this entry is an ACP wrapper around a separate upstream binary
128
+ * (e.g. claude-acp wraps `claude`). Used by the Settings → Agents page to
129
+ * distinguish "you have claude but need the wrapper" from "the agent
130
+ * itself isn't installed". */
131
+ wraps?: string;
132
+ /** How to install. `npm` is auto-installable from the UI; `binary` needs the
133
+ * user to download and place on PATH. */
134
+ install?: {
135
+ kind: "npm";
136
+ package: string;
137
+ } | {
138
+ kind: "binary";
139
+ archives: Partial<Record<string, {
140
+ url: string;
141
+ cmd: string;
142
+ }>>;
143
+ downloadUrl?: string;
144
+ };
145
+ /** Unattended launch recipe. Absent when the harness has none recorded. */
146
+ headless?: KnownAgentHeadlessLaunch;
147
+ /** Exact versions for hosts that need a reproducible install. Product
148
+ * installs keep following `registryDistribution`. */
149
+ pinned?: KnownAgentPinnedInstall;
150
+ }
151
+ export declare function registryShimName(id: string): string;
152
+ export declare const OVERLAY_AGENTS: KnownAgentEntry[];
153
+ export declare function resolveOverlayAgent(id: string): KnownAgentEntry | null;
154
+ //# sourceMappingURL=known-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-agents.d.ts","sourceRoot":"","sources":["../../src/acp-harnesses/known-agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ /**
2
+ * Static overlay over the official ACP registry.
3
+ *
4
+ * The official registry at
5
+ * https://cdn.agentclientprotocol.com/registry/v1/latest/registry.json is the
6
+ * source of truth for ACP-compatible agents (~35 entries, auto-updated). This
7
+ * file holds only the deltas the desktop needs on top:
8
+ *
9
+ * 1. Featured-agent ordering (the four we promote in the agent picker).
10
+ * 2. Agents not in the official registry yet (hermes, openclaw).
11
+ *
12
+ * Browser-safe (no node deps): the renderer can import this directly when it
13
+ * just needs an entry's display label / install hint without rewinding through
14
+ * IPC. The main process additionally fetches the full official registry at
15
+ * runtime (registry-fetch.ts) and merges.
16
+ */
17
+ export function registryShimName(id) {
18
+ return `openma-acp-${id}`;
19
+ }
20
+ export const OVERLAY_AGENTS = [
21
+ {
22
+ id: "claude-acp",
23
+ label: "Claude",
24
+ spec: { command: "claude-agent-acp" },
25
+ featured: true,
26
+ wraps: "claude",
27
+ registryId: "claude-acp",
28
+ installSource: "registry",
29
+ install: { kind: "npm", package: "@agentclientprotocol/claude-agent-acp" },
30
+ installHint: "npm install -g @agentclientprotocol/claude-agent-acp",
31
+ homepage: "https://github.com/agentclientprotocol/claude-agent-acp",
32
+ },
33
+ {
34
+ id: "codex-acp",
35
+ label: "Codex",
36
+ spec: { command: "codex-acp" },
37
+ featured: true,
38
+ wraps: "codex",
39
+ registryId: "codex-acp",
40
+ installSource: "registry",
41
+ installHint: "download from https://github.com/zed-industries/codex-acp/releases and place on PATH",
42
+ homepage: "https://github.com/zed-industries/codex-acp",
43
+ },
44
+ {
45
+ // Keep the existing harness id while using OpenMA's Pi adapter. The public
46
+ // registry points at a different package; npm supplies this package's latest.
47
+ id: "pi-acp",
48
+ label: "Pi",
49
+ spec: { command: registryShimName("pi-acp") },
50
+ registryId: "pi-acp",
51
+ installSource: "registry",
52
+ install: { kind: "npm", package: "@openma/pi-acp" },
53
+ registryDistribution: { npx: { package: "@openma/pi-acp" } },
54
+ installHint: "npm install -g @openma/pi-acp@latest",
55
+ homepage: "https://github.com/openma-ai/pi-acp",
56
+ headless: {
57
+ // No editor is attached, so tools run in the agent's own process, and
58
+ // the startup banner would be recorded as an assistant message.
59
+ args: ["--no-delegation", "--quiet-startup"],
60
+ sessionDir: { flag: "--session-dir" },
61
+ agentDir: { flag: "--agent-dir", env: "PI_CODING_AGENT_DIR" },
62
+ trustProject: { flag: "--trust-projects" },
63
+ model: {
64
+ flag: "--model",
65
+ providerSeparator: "/",
66
+ thinkingSeparator: ":",
67
+ },
68
+ },
69
+ // @openma/pi-acp depends on the Pi SDK as ^1.1.0, so an unpinned install
70
+ // takes whatever 1.x is newest that day. These are the versions 0.1.7 was
71
+ // released against. Update them together with the adapter version.
72
+ pinned: {
73
+ package: "@openma/pi-acp@0.1.7",
74
+ dependencies: {
75
+ "@earendil-works/chord": "1.1.0",
76
+ "@earendil-works/pi-agent-core": "1.1.0",
77
+ "@earendil-works/pi-ai": "1.1.0",
78
+ "@earendil-works/pi-codemode": "1.1.0",
79
+ "@earendil-works/pi-coding-agent": "1.1.0",
80
+ "@earendil-works/pi-mcp": "1.1.0",
81
+ "@earendil-works/pi-telemetry": "1.1.0",
82
+ "@earendil-works/pi-tui": "1.1.0",
83
+ },
84
+ },
85
+ },
86
+ {
87
+ id: "gemini",
88
+ label: "Gemini CLI",
89
+ spec: { command: registryShimName("gemini"), args: ["--acp"] },
90
+ registryId: "gemini",
91
+ installSource: "registry",
92
+ installHint: "npm install -g @google/gemini-cli",
93
+ homepage: "https://github.com/google-gemini/gemini-cli",
94
+ },
95
+ {
96
+ id: "opencode",
97
+ label: "OpenCode",
98
+ spec: { command: registryShimName("opencode"), args: ["acp"] },
99
+ registryId: "opencode",
100
+ installSource: "registry",
101
+ installHint: "npm install -g opencode-ai@latest # or curl -fsSL https://opencode.ai/install | bash",
102
+ homepage: "https://opencode.ai/",
103
+ },
104
+ {
105
+ id: "cursor",
106
+ label: "Cursor",
107
+ spec: { command: registryShimName("cursor"), args: ["acp"] },
108
+ systemPath: true,
109
+ systemCommand: "cursor-agent",
110
+ registryId: "cursor",
111
+ installSource: "registry",
112
+ installHint: "Install the Cursor CLI so `cursor-agent` is on PATH (https://cursor.com/docs/cli/acp)",
113
+ homepage: "https://cursor.com/docs/cli/acp",
114
+ },
115
+ {
116
+ id: "qwen-code",
117
+ label: "Qwen Code",
118
+ spec: { command: registryShimName("qwen-code"), args: ["--acp", "--experimental-skills"] },
119
+ registryId: "qwen-code",
120
+ installSource: "registry",
121
+ homepage: "https://github.com/QwenLM/qwen-code",
122
+ },
123
+ {
124
+ id: "github-copilot-cli",
125
+ label: "GitHub Copilot",
126
+ spec: { command: registryShimName("github-copilot-cli"), args: ["--acp"] },
127
+ registryId: "github-copilot-cli",
128
+ installSource: "registry",
129
+ homepage: "https://github.com/github/copilot-cli",
130
+ },
131
+ {
132
+ id: "kilo",
133
+ label: "Kilo",
134
+ spec: { command: registryShimName("kilo"), args: ["acp"] },
135
+ registryId: "kilo",
136
+ installSource: "registry",
137
+ homepage: "https://kilo.ai/",
138
+ },
139
+ {
140
+ // The public ACP registry still points `kimi` at the retired Python/Rust
141
+ // Kimi CLI line. Backchat intentionally tracks the replacement Kimi Code
142
+ // package, whose ACP entrypoint is `kimi acp`.
143
+ id: "kimi",
144
+ label: "Kimi Code",
145
+ spec: { command: registryShimName("kimi"), args: ["acp"] },
146
+ version: "0.33.0",
147
+ registryId: "kimi",
148
+ installSource: "registry",
149
+ install: { kind: "npm", package: "@moonshot-ai/kimi-code" },
150
+ registryDistribution: {
151
+ npx: { package: "@moonshot-ai/kimi-code@0.33.0", args: ["acp"] },
152
+ },
153
+ installHint: "npm install -g @moonshot-ai/kimi-code@latest",
154
+ homepage: "https://github.com/MoonshotAI/kimi-code",
155
+ },
156
+ {
157
+ id: "grok-build",
158
+ label: "Grok Build",
159
+ spec: { command: registryShimName("grok-build"), args: ["agent", "stdio"] },
160
+ registryId: "grok-build",
161
+ installSource: "registry",
162
+ homepage: "https://github.com/xai-org/grok-cli",
163
+ },
164
+ {
165
+ id: "amp-acp",
166
+ label: "Amp",
167
+ spec: { command: registryShimName("amp-acp") },
168
+ registryId: "amp-acp",
169
+ installSource: "registry",
170
+ homepage: "https://github.com/tao12345666333/amp-acp",
171
+ },
172
+ {
173
+ id: "goose",
174
+ label: "Goose",
175
+ spec: { command: registryShimName("goose"), args: ["acp"] },
176
+ registryId: "goose",
177
+ installSource: "registry",
178
+ homepage: "https://block.github.io/goose/",
179
+ },
180
+ {
181
+ id: "cline",
182
+ label: "Cline",
183
+ spec: { command: registryShimName("cline"), args: ["--acp"] },
184
+ registryId: "cline",
185
+ installSource: "registry",
186
+ homepage: "https://cline.bot/",
187
+ },
188
+ {
189
+ id: "auggie",
190
+ label: "Auggie CLI",
191
+ spec: { command: registryShimName("auggie"), args: ["--acp"] },
192
+ registryId: "auggie",
193
+ installSource: "registry",
194
+ homepage: "https://www.augmentcode.com/",
195
+ },
196
+ {
197
+ id: "hermes",
198
+ label: "Hermes",
199
+ spec: { command: "hermes", args: ["acp"] },
200
+ featured: true,
201
+ systemPath: true,
202
+ installHint: "curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",
203
+ homepage: "https://github.com/NousResearch/hermes-agent",
204
+ },
205
+ {
206
+ id: "openclaw",
207
+ label: "OpenClaw",
208
+ spec: { command: "openclaw", args: ["acp"] },
209
+ featured: true,
210
+ systemPath: true,
211
+ installHint: "npm install -g openclaw",
212
+ homepage: "https://github.com/openclaw/openclaw",
213
+ },
214
+ {
215
+ id: "dsh-acp",
216
+ label: "DeepSeek Harness",
217
+ spec: { command: "dsh-acp" },
218
+ featured: true,
219
+ // Registry-protocol agent (npx distribution): app-managed install into
220
+ // the managed ACP bin dir. Official entry pending
221
+ // (agentclientprotocol/registry#506); until it lands, the embedded npx
222
+ // distribution below covers installation and the merge layer then picks
223
+ // up icon/version/distribution automatically.
224
+ registryId: "dsh-acp",
225
+ installSource: "registry",
226
+ install: { kind: "npm", package: "@openma/deepseek-harness-acp" },
227
+ registryDistribution: {
228
+ npx: { package: "@openma/deepseek-harness-acp" },
229
+ },
230
+ installHint: "npm install -g @openma/deepseek-harness-acp",
231
+ homepage: "https://github.com/openma-ai/deepseek-harness-acp",
232
+ },
233
+ ];
234
+ export function resolveOverlayAgent(id) {
235
+ for (const e of OVERLAY_AGENTS)
236
+ if (e.id === id)
237
+ return e;
238
+ return null;
239
+ }
240
+ //# sourceMappingURL=known-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-agents.js","sourceRoot":"","sources":["../../src/acp-harnesses/known-agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Launcher files and command lines for managed harness installs on POSIX and
3
+ * Windows. Everything here is a pure function of its arguments, so both
4
+ * platforms' output is tested on either one.
5
+ */
6
+ /**
7
+ * A `.cmd` launcher: sets the variables, then runs the target (itself a
8
+ * `.cmd` from `node_modules/.bin`, hence `call`) with the fixed arguments
9
+ * followed by the caller's.
10
+ */
11
+ export declare function renderWindowsLauncher(commandPath: string, args?: readonly string[], env?: Record<string, string | undefined>): string;
12
+ /** The command a launcher written by this package runs: `exec '…'` (sh) or `call "…"` (.cmd). */
13
+ export declare function launcherTarget(launcher: string): string | undefined;
14
+ export interface CommandInvocation {
15
+ file: string;
16
+ args: string[];
17
+ /** Set when `args` already carry Windows quoting and must not be re-quoted. */
18
+ windowsVerbatimArguments?: true;
19
+ }
20
+ /**
21
+ * How to start `command` without a shell option. On Windows a `.cmd`/`.bat`
22
+ * file, or a bare name such as `npm` that PATH resolves to one, cannot be
23
+ * started by CreateProcess, so it goes through `cmd.exe /d /s /c "<line>"`.
24
+ * A path to any other executable, and every POSIX command, starts directly.
25
+ */
26
+ export declare function commandInvocation(windows: boolean, command: string, args: readonly string[], comSpec?: string): CommandInvocation;
27
+ //# sourceMappingURL=launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/acp-harnesses/launcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,SAAS,MAAM,EAAO,EAC5B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAC3C,MAAM,CAUR;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAInE;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+EAA+E;IAC/E,wBAAwB,CAAC,EAAE,IAAI,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,iBAAiB,CASnB"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Launcher files and command lines for managed harness installs on POSIX and
3
+ * Windows. Everything here is a pure function of its arguments, so both
4
+ * platforms' output is tested on either one.
5
+ */
6
+ import { quoteWindowsArg } from "../acp-artifacts/npm.js";
7
+ const ENV_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
8
+ function definedEnv(env) {
9
+ return Object.entries(env).flatMap(([key, value]) => {
10
+ if (value === undefined)
11
+ return [];
12
+ if (!ENV_NAME.test(key))
13
+ throw new Error(`Launcher env key is not shell-safe: ${key}`);
14
+ return [[key, value]];
15
+ });
16
+ }
17
+ /** `%` starts a variable reference inside a batch file. */
18
+ function batchLiteral(value, what) {
19
+ if (/["\r\n]/.test(value)) {
20
+ throw new Error(`${what} cannot be written to a .cmd launcher: ${JSON.stringify(value)}`);
21
+ }
22
+ return value.replaceAll("%", "%%");
23
+ }
24
+ /**
25
+ * A `.cmd` launcher: sets the variables, then runs the target (itself a
26
+ * `.cmd` from `node_modules/.bin`, hence `call`) with the fixed arguments
27
+ * followed by the caller's.
28
+ */
29
+ export function renderWindowsLauncher(commandPath, args = [], env = {}) {
30
+ const fixed = args.map((arg) => ` ${quoteWindowsArg(batchLiteral(arg, "Launcher argument"))}`).join("");
31
+ return [
32
+ "@echo off",
33
+ "setlocal",
34
+ ...definedEnv(env).map(([key, value]) => `set "${key}=${batchLiteral(value, `Launcher env ${key}`)}"`),
35
+ `call "${batchLiteral(commandPath, "Launcher target")}"${fixed} %*`,
36
+ "exit /b %ERRORLEVEL%",
37
+ "",
38
+ ].join("\r\n");
39
+ }
40
+ /** The command a launcher written by this package runs: `exec '…'` (sh) or `call "…"` (.cmd). */
41
+ export function launcherTarget(launcher) {
42
+ const posix = launcher.match(/^exec\s+'([^']+)'(?:\s|$)/m)?.[1];
43
+ if (posix)
44
+ return posix;
45
+ return launcher.match(/^call\s+"([^"]+)"(?:\s|$)/m)?.[1]?.replaceAll("%%", "%");
46
+ }
47
+ /**
48
+ * How to start `command` without a shell option. On Windows a `.cmd`/`.bat`
49
+ * file, or a bare name such as `npm` that PATH resolves to one, cannot be
50
+ * started by CreateProcess, so it goes through `cmd.exe /d /s /c "<line>"`.
51
+ * A path to any other executable, and every POSIX command, starts directly.
52
+ */
53
+ export function commandInvocation(windows, command, args, comSpec) {
54
+ const needsShell = /\.(?:cmd|bat)$/i.test(command) || !/[\\/]/.test(command);
55
+ if (!windows || !needsShell)
56
+ return { file: command, args: [...args] };
57
+ const line = [command, ...args].map(quoteWindowsArg).join(" ");
58
+ return {
59
+ file: comSpec || "cmd.exe",
60
+ args: ["/d", "/s", "/c", `"${line}"`],
61
+ windowsVerbatimArguments: true,
62
+ };
63
+ }
64
+ //# sourceMappingURL=launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/acp-harnesses/launcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE5C,SAAS,UAAU,CAAC,GAAuC;IACzD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;QACvF,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAqB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2DAA2D;AAC3D,SAAS,YAAY,CAAC,KAAa,EAAE,IAAY;IAC/C,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0CAA0C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,OAA0B,EAAE,EAC5B,MAA0C,EAAE;IAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,OAAO;QACL,WAAW;QACX,UAAU;QACV,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,EAAE,CAAC,GAAG,CAAC;QACtG,SAAS,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,KAAK,KAAK;QACnE,sBAAsB;QACtB,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAClF,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,OAAe,EACf,IAAuB,EACvB,OAAgB;IAEhB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,OAAO,IAAI,SAAS;QAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC;QACrC,wBAAwB,EAAE,IAAI;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Official ACP Registry — fetch, cache, and map to our internal shape.
3
+ *
4
+ * Source of truth: https://cdn.agentclientprotocol.com/registry/v1/latest/registry.json
5
+ * Maintained by the ACP project (Apache 2.0). Auto-updated hourly by their CI
6
+ * when upstream agents publish new versions.
7
+ *
8
+ * 1. App startup: try to fetch the official JSON. Cache to disk with
9
+ * `fetchedAt`.
10
+ * 2. Subsequent loads: serve from cache while it's fresh (1h matches
11
+ * their cron).
12
+ * 3. Network failure: keep using stale cache forever.
13
+ * 4. Cold start with no cache and no network: caller falls back to the
14
+ * static overlay (see registry.ts:loadRegistry).
15
+ *
16
+ * Vendored from @open-managed-agents/acp-runtime (Apache-2.0).
17
+ */
18
+ import { type KnownAgentEntry, type KnownAgentRegistryDistribution } from "./known-agents.js";
19
+ export interface OfficialRegistryAgent {
20
+ id: string;
21
+ name: string;
22
+ icon?: string;
23
+ version?: string;
24
+ description?: string;
25
+ repository?: string;
26
+ website?: string;
27
+ license?: string;
28
+ distribution: KnownAgentRegistryDistribution;
29
+ }
30
+ interface OfficialRegistry {
31
+ version: number;
32
+ agents: OfficialRegistryAgent[];
33
+ extensions?: unknown[];
34
+ }
35
+ export declare function fetchOfficialRegistry(opts?: {
36
+ cachePath?: string;
37
+ ttlMs?: number;
38
+ cacheOnly?: boolean;
39
+ }): Promise<OfficialRegistry>;
40
+ export declare function mapOfficialAgent(o: OfficialRegistryAgent): KnownAgentEntry | null;
41
+ export {};
42
+ //# sourceMappingURL=registry-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-fetch.d.ts","sourceRoot":"","sources":["../../src/acp-harnesses/registry-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,8BAA8B,EACpC,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,8BAA8B,CAAC;CAC9C;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB;AAOD,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoC5B;AAgBD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI,CAwDjF"}