cognitive-core 0.1.0 → 0.1.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 (637) hide show
  1. package/.claude/settings.json +88 -0
  2. package/.claude/settings.local.json +11 -0
  3. package/.entire/settings.json +4 -0
  4. package/README.md +524 -254
  5. package/dist/atlas.d.ts +144 -6
  6. package/dist/atlas.d.ts.map +1 -1
  7. package/dist/atlas.js +339 -10
  8. package/dist/atlas.js.map +1 -1
  9. package/dist/embeddings/provider.d.ts.map +1 -1
  10. package/dist/embeddings/provider.js +6 -3
  11. package/dist/embeddings/provider.js.map +1 -1
  12. package/dist/index.d.ts +8 -6
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +37 -6
  15. package/dist/index.js.map +1 -1
  16. package/dist/learning/index.d.ts +5 -1
  17. package/dist/learning/index.d.ts.map +1 -1
  18. package/dist/learning/index.js +8 -2
  19. package/dist/learning/index.js.map +1 -1
  20. package/dist/learning/knowledge-extractor.d.ts +56 -0
  21. package/dist/learning/knowledge-extractor.d.ts.map +1 -0
  22. package/dist/learning/knowledge-extractor.js +336 -0
  23. package/dist/learning/knowledge-extractor.js.map +1 -0
  24. package/dist/learning/meta-learner.d.ts +7 -0
  25. package/dist/learning/meta-learner.d.ts.map +1 -1
  26. package/dist/learning/meta-learner.js +43 -0
  27. package/dist/learning/meta-learner.js.map +1 -1
  28. package/dist/learning/pipeline.d.ts +24 -0
  29. package/dist/learning/pipeline.d.ts.map +1 -1
  30. package/dist/learning/pipeline.js +70 -4
  31. package/dist/learning/pipeline.js.map +1 -1
  32. package/dist/learning/team-ingester.d.ts +152 -0
  33. package/dist/learning/team-ingester.d.ts.map +1 -0
  34. package/dist/learning/team-ingester.js +333 -0
  35. package/dist/learning/team-ingester.js.map +1 -0
  36. package/dist/learning/team-meta-learner.d.ts +50 -0
  37. package/dist/learning/team-meta-learner.d.ts.map +1 -0
  38. package/dist/learning/team-meta-learner.js +417 -0
  39. package/dist/learning/team-meta-learner.js.map +1 -0
  40. package/dist/learning/team-pipeline.d.ts +76 -0
  41. package/dist/learning/team-pipeline.d.ts.map +1 -0
  42. package/dist/learning/team-pipeline.js +266 -0
  43. package/dist/learning/team-pipeline.js.map +1 -0
  44. package/dist/learning/trajectory-sources/dataclaw.d.ts +41 -0
  45. package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -0
  46. package/dist/learning/trajectory-sources/dataclaw.js +330 -0
  47. package/dist/learning/trajectory-sources/dataclaw.js.map +1 -0
  48. package/dist/learning/trajectory-sources/entire.d.ts +28 -0
  49. package/dist/learning/trajectory-sources/entire.d.ts.map +1 -0
  50. package/dist/learning/trajectory-sources/entire.js +182 -0
  51. package/dist/learning/trajectory-sources/entire.js.map +1 -0
  52. package/dist/learning/trajectory-sources/file.d.ts +23 -0
  53. package/dist/learning/trajectory-sources/file.d.ts.map +1 -0
  54. package/dist/learning/trajectory-sources/file.js +101 -0
  55. package/dist/learning/trajectory-sources/file.js.map +1 -0
  56. package/dist/learning/trajectory-sources/huggingface.d.ts +36 -0
  57. package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -0
  58. package/dist/learning/trajectory-sources/huggingface.js +157 -0
  59. package/dist/learning/trajectory-sources/huggingface.js.map +1 -0
  60. package/dist/learning/trajectory-sources/in-memory.d.ts +21 -0
  61. package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -0
  62. package/dist/learning/trajectory-sources/in-memory.js +43 -0
  63. package/dist/learning/trajectory-sources/in-memory.js.map +1 -0
  64. package/dist/learning/trajectory-sources/index.d.ts +7 -0
  65. package/dist/learning/trajectory-sources/index.d.ts.map +1 -0
  66. package/dist/learning/trajectory-sources/index.js +7 -0
  67. package/dist/learning/trajectory-sources/index.js.map +1 -0
  68. package/dist/learning/trajectory-sources/pipeline.d.ts +24 -0
  69. package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -0
  70. package/dist/learning/trajectory-sources/pipeline.js +47 -0
  71. package/dist/learning/trajectory-sources/pipeline.js.map +1 -0
  72. package/dist/memory/graph-layers/base.d.ts +29 -0
  73. package/dist/memory/graph-layers/base.d.ts.map +1 -0
  74. package/dist/memory/graph-layers/base.js +143 -0
  75. package/dist/memory/graph-layers/base.js.map +1 -0
  76. package/dist/memory/graph-layers/causal.d.ts +14 -0
  77. package/dist/memory/graph-layers/causal.d.ts.map +1 -0
  78. package/dist/memory/graph-layers/causal.js +14 -0
  79. package/dist/memory/graph-layers/causal.js.map +1 -0
  80. package/dist/memory/graph-layers/entity.d.ts +14 -0
  81. package/dist/memory/graph-layers/entity.d.ts.map +1 -0
  82. package/dist/memory/graph-layers/entity.js +14 -0
  83. package/dist/memory/graph-layers/entity.js.map +1 -0
  84. package/dist/memory/graph-layers/index.d.ts +6 -0
  85. package/dist/memory/graph-layers/index.d.ts.map +1 -0
  86. package/dist/memory/graph-layers/index.js +6 -0
  87. package/dist/memory/graph-layers/index.js.map +1 -0
  88. package/dist/memory/graph-layers/semantic.d.ts +14 -0
  89. package/dist/memory/graph-layers/semantic.d.ts.map +1 -0
  90. package/dist/memory/graph-layers/semantic.js +14 -0
  91. package/dist/memory/graph-layers/semantic.js.map +1 -0
  92. package/dist/memory/graph-layers/temporal.d.ts +14 -0
  93. package/dist/memory/graph-layers/temporal.d.ts.map +1 -0
  94. package/dist/memory/graph-layers/temporal.js +14 -0
  95. package/dist/memory/graph-layers/temporal.js.map +1 -0
  96. package/dist/memory/index.d.ts +8 -0
  97. package/dist/memory/index.d.ts.map +1 -1
  98. package/dist/memory/index.js +10 -0
  99. package/dist/memory/index.js.map +1 -1
  100. package/dist/memory/knowledge-bank.d.ts +220 -0
  101. package/dist/memory/knowledge-bank.d.ts.map +1 -0
  102. package/dist/memory/knowledge-bank.js +1003 -0
  103. package/dist/memory/knowledge-bank.js.map +1 -0
  104. package/dist/memory/knowledge-defrag.d.ts +49 -0
  105. package/dist/memory/knowledge-defrag.d.ts.map +1 -0
  106. package/dist/memory/knowledge-defrag.js +257 -0
  107. package/dist/memory/knowledge-defrag.js.map +1 -0
  108. package/dist/memory/knowledge-graph.d.ts +41 -0
  109. package/dist/memory/knowledge-graph.d.ts.map +1 -0
  110. package/dist/memory/knowledge-graph.js +273 -0
  111. package/dist/memory/knowledge-graph.js.map +1 -0
  112. package/dist/memory/search-provider.d.ts +31 -0
  113. package/dist/memory/search-provider.d.ts.map +1 -0
  114. package/dist/memory/search-provider.js +2 -0
  115. package/dist/memory/search-provider.js.map +1 -0
  116. package/dist/memory/search-providers/index.d.ts +3 -0
  117. package/dist/memory/search-providers/index.d.ts.map +1 -0
  118. package/dist/memory/search-providers/index.js +3 -0
  119. package/dist/memory/search-providers/index.js.map +1 -0
  120. package/dist/memory/search-providers/minimem.d.ts +43 -0
  121. package/dist/memory/search-providers/minimem.d.ts.map +1 -0
  122. package/dist/memory/search-providers/minimem.js +56 -0
  123. package/dist/memory/search-providers/minimem.js.map +1 -0
  124. package/dist/memory/search-providers/text-similarity.d.ts +15 -0
  125. package/dist/memory/search-providers/text-similarity.d.ts.map +1 -0
  126. package/dist/memory/search-providers/text-similarity.js +21 -0
  127. package/dist/memory/search-providers/text-similarity.js.map +1 -0
  128. package/dist/memory/skill-exporter.d.ts +75 -0
  129. package/dist/memory/skill-exporter.d.ts.map +1 -0
  130. package/dist/memory/skill-exporter.js +248 -0
  131. package/dist/memory/skill-exporter.js.map +1 -0
  132. package/dist/memory/system.d.ts +15 -3
  133. package/dist/memory/system.d.ts.map +1 -1
  134. package/dist/memory/system.js +46 -8
  135. package/dist/memory/system.js.map +1 -1
  136. package/dist/memory/team-experience.d.ts +298 -0
  137. package/dist/memory/team-experience.d.ts.map +1 -0
  138. package/dist/memory/team-experience.js +355 -0
  139. package/dist/memory/team-experience.js.map +1 -0
  140. package/dist/runtime/backends/acp-protocol.d.ts +49 -0
  141. package/dist/runtime/backends/acp-protocol.d.ts.map +1 -0
  142. package/dist/runtime/backends/acp-protocol.js +166 -0
  143. package/dist/runtime/backends/acp-protocol.js.map +1 -0
  144. package/dist/runtime/backends/acp.d.ts +26 -26
  145. package/dist/runtime/backends/acp.d.ts.map +1 -1
  146. package/dist/runtime/backends/acp.js +32 -156
  147. package/dist/runtime/backends/acp.js.map +1 -1
  148. package/dist/runtime/backends/index.d.ts +3 -1
  149. package/dist/runtime/backends/index.d.ts.map +1 -1
  150. package/dist/runtime/backends/index.js +3 -1
  151. package/dist/runtime/backends/index.js.map +1 -1
  152. package/dist/runtime/backends/macro-agent.d.ts +104 -0
  153. package/dist/runtime/backends/macro-agent.d.ts.map +1 -0
  154. package/dist/runtime/backends/macro-agent.js +107 -0
  155. package/dist/runtime/backends/macro-agent.js.map +1 -0
  156. package/dist/runtime/compute-provider.d.ts +87 -0
  157. package/dist/runtime/compute-provider.d.ts.map +1 -0
  158. package/dist/runtime/compute-provider.js +87 -0
  159. package/dist/runtime/compute-provider.js.map +1 -0
  160. package/dist/runtime/index.d.ts +3 -2
  161. package/dist/runtime/index.d.ts.map +1 -1
  162. package/dist/runtime/index.js +3 -1
  163. package/dist/runtime/index.js.map +1 -1
  164. package/dist/runtime/manager.d.ts +37 -4
  165. package/dist/runtime/manager.d.ts.map +1 -1
  166. package/dist/runtime/manager.js +139 -20
  167. package/dist/runtime/manager.js.map +1 -1
  168. package/dist/runtime/types.d.ts +38 -0
  169. package/dist/runtime/types.d.ts.map +1 -1
  170. package/dist/search/evaluator.d.ts +7 -0
  171. package/dist/search/evaluator.d.ts.map +1 -1
  172. package/dist/search/evaluator.js +24 -4
  173. package/dist/search/evaluator.js.map +1 -1
  174. package/dist/search/index.d.ts +1 -0
  175. package/dist/search/index.d.ts.map +1 -1
  176. package/dist/search/index.js +2 -0
  177. package/dist/search/index.js.map +1 -1
  178. package/dist/search/refinement-loop.d.ts +17 -0
  179. package/dist/search/refinement-loop.d.ts.map +1 -1
  180. package/dist/search/refinement-loop.js +77 -6
  181. package/dist/search/refinement-loop.js.map +1 -1
  182. package/dist/search/refinement-types.d.ts +2 -2
  183. package/dist/search/team-router.d.ts +91 -0
  184. package/dist/search/team-router.d.ts.map +1 -0
  185. package/dist/search/team-router.js +315 -0
  186. package/dist/search/team-router.js.map +1 -0
  187. package/dist/session-bank/git-reader.d.ts +39 -0
  188. package/dist/session-bank/git-reader.d.ts.map +1 -0
  189. package/dist/session-bank/git-reader.js +165 -0
  190. package/dist/session-bank/git-reader.js.map +1 -0
  191. package/dist/session-bank/index.d.ts +5 -0
  192. package/dist/session-bank/index.d.ts.map +1 -0
  193. package/dist/session-bank/index.js +4 -0
  194. package/dist/session-bank/index.js.map +1 -0
  195. package/dist/session-bank/parser.d.ts +39 -0
  196. package/dist/session-bank/parser.d.ts.map +1 -0
  197. package/dist/session-bank/parser.js +231 -0
  198. package/dist/session-bank/parser.js.map +1 -0
  199. package/dist/session-bank/session-bank.d.ts +35 -0
  200. package/dist/session-bank/session-bank.d.ts.map +1 -0
  201. package/dist/session-bank/session-bank.js +326 -0
  202. package/dist/session-bank/session-bank.js.map +1 -0
  203. package/dist/session-bank/types.d.ts +129 -0
  204. package/dist/session-bank/types.d.ts.map +1 -0
  205. package/dist/session-bank/types.js +7 -0
  206. package/dist/session-bank/types.js.map +1 -0
  207. package/dist/surfacing/index.d.ts +4 -0
  208. package/dist/surfacing/index.d.ts.map +1 -1
  209. package/dist/surfacing/index.js +3 -0
  210. package/dist/surfacing/index.js.map +1 -1
  211. package/dist/surfacing/publisher.d.ts +22 -0
  212. package/dist/surfacing/publisher.d.ts.map +1 -0
  213. package/dist/surfacing/publisher.js +9 -0
  214. package/dist/surfacing/publisher.js.map +1 -0
  215. package/dist/surfacing/skill-library.d.ts +12 -0
  216. package/dist/surfacing/skill-library.d.ts.map +1 -1
  217. package/dist/surfacing/skill-library.js +26 -0
  218. package/dist/surfacing/skill-library.js.map +1 -1
  219. package/dist/surfacing/skill-publisher.d.ts +43 -0
  220. package/dist/surfacing/skill-publisher.d.ts.map +1 -0
  221. package/dist/surfacing/skill-publisher.js +197 -0
  222. package/dist/surfacing/skill-publisher.js.map +1 -0
  223. package/dist/surfacing/sqlite-storage-adapter.d.ts +42 -0
  224. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -0
  225. package/dist/surfacing/sqlite-storage-adapter.js +207 -0
  226. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -0
  227. package/dist/surfacing/team-skill-library.d.ts +180 -0
  228. package/dist/surfacing/team-skill-library.d.ts.map +1 -0
  229. package/dist/surfacing/team-skill-library.js +384 -0
  230. package/dist/surfacing/team-skill-library.js.map +1 -0
  231. package/dist/types/config.d.ts +1218 -44
  232. package/dist/types/config.d.ts.map +1 -1
  233. package/dist/types/config.js +216 -0
  234. package/dist/types/config.js.map +1 -1
  235. package/dist/types/dataclaw.d.ts +286 -0
  236. package/dist/types/dataclaw.d.ts.map +1 -0
  237. package/dist/types/dataclaw.js +84 -0
  238. package/dist/types/dataclaw.js.map +1 -0
  239. package/dist/types/index.d.ts +8 -1
  240. package/dist/types/index.d.ts.map +1 -1
  241. package/dist/types/index.js +13 -1
  242. package/dist/types/index.js.map +1 -1
  243. package/dist/types/knowledge-graph.d.ts +148 -0
  244. package/dist/types/knowledge-graph.d.ts.map +1 -0
  245. package/dist/types/knowledge-graph.js +40 -0
  246. package/dist/types/knowledge-graph.js.map +1 -0
  247. package/dist/types/knowledge.d.ts +280 -0
  248. package/dist/types/knowledge.d.ts.map +1 -0
  249. package/dist/types/knowledge.js +191 -0
  250. package/dist/types/knowledge.js.map +1 -0
  251. package/dist/types/team-meta.d.ts +160 -0
  252. package/dist/types/team-meta.d.ts.map +1 -0
  253. package/dist/types/team-meta.js +42 -0
  254. package/dist/types/team-meta.js.map +1 -0
  255. package/dist/types/team-playbook.d.ts +276 -0
  256. package/dist/types/team-playbook.d.ts.map +1 -0
  257. package/dist/types/team-playbook.js +85 -0
  258. package/dist/types/team-playbook.js.map +1 -0
  259. package/dist/types/team-trajectory.d.ts +305 -0
  260. package/dist/types/team-trajectory.d.ts.map +1 -0
  261. package/dist/types/team-trajectory.js +304 -0
  262. package/dist/types/team-trajectory.js.map +1 -0
  263. package/dist/types/trajectory-source.d.ts +39 -0
  264. package/dist/types/trajectory-source.d.ts.map +1 -0
  265. package/dist/types/trajectory-source.js +2 -0
  266. package/dist/types/trajectory-source.js.map +1 -0
  267. package/dist/utils/frontmatter.d.ts +34 -0
  268. package/dist/utils/frontmatter.d.ts.map +1 -0
  269. package/dist/utils/frontmatter.js +93 -0
  270. package/dist/utils/frontmatter.js.map +1 -0
  271. package/dist/utils/index.d.ts +1 -0
  272. package/dist/utils/index.d.ts.map +1 -1
  273. package/dist/utils/index.js +1 -0
  274. package/dist/utils/index.js.map +1 -1
  275. package/dist/workspace/index.d.ts +6 -0
  276. package/dist/workspace/index.d.ts.map +1 -0
  277. package/dist/workspace/index.js +11 -0
  278. package/dist/workspace/index.js.map +1 -0
  279. package/dist/workspace/runner.d.ts +50 -0
  280. package/dist/workspace/runner.d.ts.map +1 -0
  281. package/dist/workspace/runner.js +219 -0
  282. package/dist/workspace/runner.js.map +1 -0
  283. package/dist/workspace/skill-converter.d.ts +18 -0
  284. package/dist/workspace/skill-converter.d.ts.map +1 -0
  285. package/dist/workspace/skill-converter.js +257 -0
  286. package/dist/workspace/skill-converter.js.map +1 -0
  287. package/dist/workspace/templates/index.d.ts +11 -0
  288. package/dist/workspace/templates/index.d.ts.map +1 -0
  289. package/dist/workspace/templates/index.js +21 -0
  290. package/dist/workspace/templates/index.js.map +1 -0
  291. package/dist/workspace/templates/knowledge-defrag.d.ts +25 -0
  292. package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -0
  293. package/dist/workspace/templates/knowledge-defrag.js +154 -0
  294. package/dist/workspace/templates/knowledge-defrag.js.map +1 -0
  295. package/dist/workspace/templates/knowledge-extraction.d.ts +25 -0
  296. package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -0
  297. package/dist/workspace/templates/knowledge-extraction.js +246 -0
  298. package/dist/workspace/templates/knowledge-extraction.js.map +1 -0
  299. package/dist/workspace/templates/meta-reflection.d.ts +47 -0
  300. package/dist/workspace/templates/meta-reflection.d.ts.map +1 -0
  301. package/dist/workspace/templates/meta-reflection.js +135 -0
  302. package/dist/workspace/templates/meta-reflection.js.map +1 -0
  303. package/dist/workspace/templates/playbook-extraction.d.ts +20 -0
  304. package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -0
  305. package/dist/workspace/templates/playbook-extraction.js +189 -0
  306. package/dist/workspace/templates/playbook-extraction.js.map +1 -0
  307. package/dist/workspace/templates/refinement-analysis.d.ts +31 -0
  308. package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -0
  309. package/dist/workspace/templates/refinement-analysis.js +107 -0
  310. package/dist/workspace/templates/refinement-analysis.js.map +1 -0
  311. package/dist/workspace/templates/solution-evaluation.d.ts +21 -0
  312. package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -0
  313. package/dist/workspace/templates/solution-evaluation.js +131 -0
  314. package/dist/workspace/templates/solution-evaluation.js.map +1 -0
  315. package/dist/workspace/templates/team-playbook-extraction.d.ts +44 -0
  316. package/dist/workspace/templates/team-playbook-extraction.d.ts.map +1 -0
  317. package/dist/workspace/templates/team-playbook-extraction.js +497 -0
  318. package/dist/workspace/templates/team-playbook-extraction.js.map +1 -0
  319. package/dist/workspace/templates/team-trajectory-analysis.d.ts +19 -0
  320. package/dist/workspace/templates/team-trajectory-analysis.d.ts.map +1 -0
  321. package/dist/workspace/templates/team-trajectory-analysis.js +442 -0
  322. package/dist/workspace/templates/team-trajectory-analysis.js.map +1 -0
  323. package/dist/workspace/templates/trajectory-analysis.d.ts +19 -0
  324. package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -0
  325. package/dist/workspace/templates/trajectory-analysis.js +170 -0
  326. package/dist/workspace/templates/trajectory-analysis.js.map +1 -0
  327. package/dist/workspace/templates/usage-inference.d.ts +19 -0
  328. package/dist/workspace/templates/usage-inference.d.ts.map +1 -0
  329. package/dist/workspace/templates/usage-inference.js +125 -0
  330. package/dist/workspace/templates/usage-inference.js.map +1 -0
  331. package/dist/workspace/types.d.ts +145 -0
  332. package/dist/workspace/types.d.ts.map +1 -0
  333. package/dist/workspace/types.js +17 -0
  334. package/dist/workspace/types.js.map +1 -0
  335. package/docs/DESIGN-agentic-workspace.md +2057 -0
  336. package/docs/DESIGN-semantic-memory-knowledge-bank.md +1789 -0
  337. package/docs/DESIGN-session-bank.md +1134 -0
  338. package/docs/DESIGN-team-extraction-pipeline.md +1369 -0
  339. package/docs/DESIGN-workspace-migration.md +1079 -0
  340. package/docs/PLAN-agentic-workspace-implementation.md +717 -0
  341. package/docs/PLAN-graph-migration.md +299 -0
  342. package/docs/PLAN-session-bank-implementation.md +474 -0
  343. package/docs/PROPOSAL-team-aware-learning.md +1080 -0
  344. package/docs/RESEARCH-semantic-memory-knowledge-structures.md +517 -0
  345. package/docs/RESEARCH-team-trajectory-learning.md +553 -0
  346. package/gaps.md +204 -0
  347. package/package.json +24 -6
  348. package/references/agent-workspace/CLAUDE.md +74 -0
  349. package/references/agent-workspace/README.md +587 -0
  350. package/references/agent-workspace/media/banner.png +0 -0
  351. package/references/agent-workspace/package-lock.json +2061 -0
  352. package/references/agent-workspace/package.json +54 -0
  353. package/references/agent-workspace/src/handle.ts +122 -0
  354. package/references/agent-workspace/src/index.ts +32 -0
  355. package/references/agent-workspace/src/manager.ts +102 -0
  356. package/references/agent-workspace/src/readers/json.ts +71 -0
  357. package/references/agent-workspace/src/readers/markdown.ts +37 -0
  358. package/references/agent-workspace/src/readers/raw.ts +27 -0
  359. package/references/agent-workspace/src/types.ts +68 -0
  360. package/references/agent-workspace/src/validation.ts +93 -0
  361. package/references/agent-workspace/src/writers/json.ts +17 -0
  362. package/references/agent-workspace/src/writers/markdown.ts +27 -0
  363. package/references/agent-workspace/src/writers/raw.ts +22 -0
  364. package/references/agent-workspace/tests/errors.test.ts +652 -0
  365. package/references/agent-workspace/tests/handle.test.ts +144 -0
  366. package/references/agent-workspace/tests/manager.test.ts +124 -0
  367. package/references/agent-workspace/tests/readers.test.ts +205 -0
  368. package/references/agent-workspace/tests/validation.test.ts +196 -0
  369. package/references/agent-workspace/tests/writers.test.ts +108 -0
  370. package/references/agent-workspace/tsconfig.json +20 -0
  371. package/references/agent-workspace/tsup.config.ts +9 -0
  372. package/references/minimem/.claude/settings.json +7 -0
  373. package/references/minimem/.sudocode/issues.jsonl +18 -0
  374. package/references/minimem/.sudocode/specs.jsonl +1 -0
  375. package/references/minimem/CLAUDE.md +310 -0
  376. package/references/minimem/README.md +556 -0
  377. package/references/minimem/claude-plugin/.claude-plugin/plugin.json +10 -0
  378. package/references/minimem/claude-plugin/.mcp.json +7 -0
  379. package/references/minimem/claude-plugin/README.md +158 -0
  380. package/references/minimem/claude-plugin/commands/recall.md +47 -0
  381. package/references/minimem/claude-plugin/commands/remember.md +41 -0
  382. package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +272 -0
  383. package/references/minimem/claude-plugin/hooks/hooks.json +27 -0
  384. package/references/minimem/claude-plugin/hooks/session-end.sh +86 -0
  385. package/references/minimem/claude-plugin/hooks/session-start.sh +85 -0
  386. package/references/minimem/claude-plugin/skills/memory/SKILL.md +108 -0
  387. package/references/minimem/package-lock.json +5373 -0
  388. package/references/minimem/package.json +60 -0
  389. package/references/minimem/scripts/postbuild.js +35 -0
  390. package/references/minimem/src/__tests__/edge-cases.test.ts +371 -0
  391. package/references/minimem/src/__tests__/errors.test.ts +265 -0
  392. package/references/minimem/src/__tests__/helpers.ts +199 -0
  393. package/references/minimem/src/__tests__/internal.test.ts +407 -0
  394. package/references/minimem/src/__tests__/knowledge.test.ts +287 -0
  395. package/references/minimem/src/__tests__/minimem.integration.test.ts +1127 -0
  396. package/references/minimem/src/__tests__/session.test.ts +190 -0
  397. package/references/minimem/src/cli/__tests__/commands.test.ts +759 -0
  398. package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +141 -0
  399. package/references/minimem/src/cli/commands/append.ts +76 -0
  400. package/references/minimem/src/cli/commands/config.ts +262 -0
  401. package/references/minimem/src/cli/commands/conflicts.ts +413 -0
  402. package/references/minimem/src/cli/commands/daemon.ts +169 -0
  403. package/references/minimem/src/cli/commands/index.ts +12 -0
  404. package/references/minimem/src/cli/commands/init.ts +88 -0
  405. package/references/minimem/src/cli/commands/mcp.ts +177 -0
  406. package/references/minimem/src/cli/commands/push-pull.ts +213 -0
  407. package/references/minimem/src/cli/commands/search.ts +158 -0
  408. package/references/minimem/src/cli/commands/status.ts +84 -0
  409. package/references/minimem/src/cli/commands/sync-init.ts +290 -0
  410. package/references/minimem/src/cli/commands/sync.ts +70 -0
  411. package/references/minimem/src/cli/commands/upsert.ts +197 -0
  412. package/references/minimem/src/cli/config.ts +584 -0
  413. package/references/minimem/src/cli/index.ts +264 -0
  414. package/references/minimem/src/cli/shared.ts +161 -0
  415. package/references/minimem/src/cli/sync/__tests__/central.test.ts +152 -0
  416. package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +209 -0
  417. package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +118 -0
  418. package/references/minimem/src/cli/sync/__tests__/detection.test.ts +207 -0
  419. package/references/minimem/src/cli/sync/__tests__/integration.test.ts +476 -0
  420. package/references/minimem/src/cli/sync/__tests__/registry.test.ts +363 -0
  421. package/references/minimem/src/cli/sync/__tests__/state.test.ts +255 -0
  422. package/references/minimem/src/cli/sync/__tests__/validation.test.ts +193 -0
  423. package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +178 -0
  424. package/references/minimem/src/cli/sync/central.ts +292 -0
  425. package/references/minimem/src/cli/sync/conflicts.ts +204 -0
  426. package/references/minimem/src/cli/sync/daemon.ts +407 -0
  427. package/references/minimem/src/cli/sync/detection.ts +138 -0
  428. package/references/minimem/src/cli/sync/index.ts +107 -0
  429. package/references/minimem/src/cli/sync/operations.ts +373 -0
  430. package/references/minimem/src/cli/sync/registry.ts +279 -0
  431. package/references/minimem/src/cli/sync/state.ts +355 -0
  432. package/references/minimem/src/cli/sync/validation.ts +206 -0
  433. package/references/minimem/src/cli/sync/watcher.ts +234 -0
  434. package/references/minimem/src/cli/version.ts +34 -0
  435. package/references/minimem/src/core/index.ts +9 -0
  436. package/references/minimem/src/core/indexer.ts +628 -0
  437. package/references/minimem/src/core/searcher.ts +221 -0
  438. package/references/minimem/src/db/schema.ts +183 -0
  439. package/references/minimem/src/db/sqlite-vec.ts +24 -0
  440. package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +431 -0
  441. package/references/minimem/src/embeddings/batch-gemini.ts +392 -0
  442. package/references/minimem/src/embeddings/batch-openai.ts +409 -0
  443. package/references/minimem/src/embeddings/embeddings.ts +434 -0
  444. package/references/minimem/src/index.ts +109 -0
  445. package/references/minimem/src/internal.ts +299 -0
  446. package/references/minimem/src/minimem.ts +1276 -0
  447. package/references/minimem/src/search/__tests__/hybrid.test.ts +247 -0
  448. package/references/minimem/src/search/graph.ts +234 -0
  449. package/references/minimem/src/search/hybrid.ts +151 -0
  450. package/references/minimem/src/search/search.ts +256 -0
  451. package/references/minimem/src/server/__tests__/mcp.test.ts +341 -0
  452. package/references/minimem/src/server/__tests__/tools.test.ts +364 -0
  453. package/references/minimem/src/server/mcp.ts +326 -0
  454. package/references/minimem/src/server/tools.ts +720 -0
  455. package/references/minimem/src/session.ts +460 -0
  456. package/references/minimem/tsconfig.json +19 -0
  457. package/references/minimem/tsup.config.ts +26 -0
  458. package/references/minimem/vitest.config.ts +24 -0
  459. package/references/skill-tree/.claude/settings.json +6 -0
  460. package/references/skill-tree/.sudocode/issues.jsonl +11 -0
  461. package/references/skill-tree/.sudocode/specs.jsonl +1 -0
  462. package/references/skill-tree/CLAUDE.md +150 -0
  463. package/references/skill-tree/README.md +324 -0
  464. package/references/skill-tree/docs/GAPS_v1.md +221 -0
  465. package/references/skill-tree/docs/INTEGRATION_PLAN.md +467 -0
  466. package/references/skill-tree/docs/TODOS.md +91 -0
  467. package/references/skill-tree/docs/anthropic_skill_guide.md +1364 -0
  468. package/references/skill-tree/docs/design/federated-skill-trees.md +524 -0
  469. package/references/skill-tree/docs/design/multi-agent-sync.md +759 -0
  470. package/references/skill-tree/docs/scraper/BRAINSTORM.md +583 -0
  471. package/references/skill-tree/docs/scraper/POC_PLAN.md +420 -0
  472. package/references/skill-tree/docs/scraper/README.md +170 -0
  473. package/references/skill-tree/examples/basic-usage.ts +190 -0
  474. package/references/skill-tree/package-lock.json +1509 -0
  475. package/references/skill-tree/package.json +66 -0
  476. package/references/skill-tree/scraper/README.md +123 -0
  477. package/references/skill-tree/scraper/docs/DESIGN.md +683 -0
  478. package/references/skill-tree/scraper/docs/PLAN.md +336 -0
  479. package/references/skill-tree/scraper/drizzle.config.ts +10 -0
  480. package/references/skill-tree/scraper/package-lock.json +6329 -0
  481. package/references/skill-tree/scraper/package.json +68 -0
  482. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +7 -0
  483. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +7 -0
  484. package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +27 -0
  485. package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +21 -0
  486. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +54 -0
  487. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +24 -0
  488. package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +93 -0
  489. package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +22 -0
  490. package/references/skill-tree/scraper/tsup.config.ts +14 -0
  491. package/references/skill-tree/scraper/vitest.config.ts +17 -0
  492. package/references/skill-tree/scripts/convert-to-vitest.ts +166 -0
  493. package/references/skill-tree/skills/skill-writer/SKILL.md +339 -0
  494. package/references/skill-tree/skills/skill-writer/references/examples.md +326 -0
  495. package/references/skill-tree/skills/skill-writer/references/patterns.md +210 -0
  496. package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +123 -0
  497. package/references/skill-tree/test/run-all.ts +106 -0
  498. package/references/skill-tree/test/utils.ts +128 -0
  499. package/references/skill-tree/vitest.config.ts +16 -0
  500. package/src/atlas.ts +525 -13
  501. package/src/embeddings/provider.ts +10 -3
  502. package/src/index.ts +127 -5
  503. package/src/learning/index.ts +41 -6
  504. package/src/learning/knowledge-extractor.ts +470 -0
  505. package/src/learning/meta-learner.ts +54 -0
  506. package/src/learning/pipeline.ts +87 -8
  507. package/src/learning/team-ingester.ts +499 -0
  508. package/src/learning/team-meta-learner.ts +558 -0
  509. package/src/learning/team-pipeline.ts +364 -0
  510. package/src/learning/trajectory-sources/dataclaw.ts +403 -0
  511. package/src/learning/trajectory-sources/entire.ts +240 -0
  512. package/src/learning/trajectory-sources/file.ts +136 -0
  513. package/src/learning/trajectory-sources/huggingface.ts +248 -0
  514. package/src/learning/trajectory-sources/in-memory.ts +61 -0
  515. package/src/learning/trajectory-sources/index.ts +15 -0
  516. package/src/learning/trajectory-sources/pipeline.ts +69 -0
  517. package/src/memory/graph-layers/base.ts +184 -0
  518. package/src/memory/graph-layers/causal.ts +16 -0
  519. package/src/memory/graph-layers/entity.ts +16 -0
  520. package/src/memory/graph-layers/index.ts +5 -0
  521. package/src/memory/graph-layers/semantic.ts +16 -0
  522. package/src/memory/graph-layers/temporal.ts +16 -0
  523. package/src/memory/index.ts +45 -0
  524. package/src/memory/knowledge-bank.ts +1260 -0
  525. package/src/memory/knowledge-defrag.ts +329 -0
  526. package/src/memory/knowledge-graph.ts +361 -0
  527. package/src/memory/search-provider.ts +35 -0
  528. package/src/memory/search-providers/index.ts +3 -0
  529. package/src/memory/search-providers/minimem.ts +84 -0
  530. package/src/memory/search-providers/text-similarity.ts +35 -0
  531. package/src/memory/skill-exporter.ts +357 -0
  532. package/src/memory/system.ts +61 -8
  533. package/src/memory/team-experience.ts +604 -0
  534. package/src/runtime/backends/acp-protocol.ts +231 -0
  535. package/src/runtime/backends/acp.ts +57 -196
  536. package/src/runtime/backends/index.ts +14 -0
  537. package/src/runtime/backends/macro-agent.ts +177 -0
  538. package/src/runtime/compute-provider.ts +206 -0
  539. package/src/runtime/index.ts +22 -0
  540. package/src/runtime/manager.ts +167 -23
  541. package/src/runtime/types.ts +41 -0
  542. package/src/search/evaluator.ts +29 -4
  543. package/src/search/index.ts +9 -0
  544. package/src/search/refinement-loop.ts +106 -12
  545. package/src/search/team-router.ts +459 -0
  546. package/src/session-bank/git-reader.ts +190 -0
  547. package/src/session-bank/index.ts +24 -0
  548. package/src/session-bank/parser.ts +366 -0
  549. package/src/session-bank/session-bank.ts +464 -0
  550. package/src/session-bank/types.ts +173 -0
  551. package/src/surfacing/index.ts +23 -0
  552. package/src/surfacing/publisher.ts +23 -0
  553. package/src/surfacing/skill-library.ts +31 -0
  554. package/src/surfacing/skill-publisher.ts +223 -0
  555. package/src/surfacing/sqlite-storage-adapter.ts +301 -0
  556. package/src/surfacing/team-skill-library.ts +610 -0
  557. package/src/types/config.ts +252 -0
  558. package/src/types/dataclaw.ts +99 -0
  559. package/src/types/huggingface-transformers.d.ts +12 -0
  560. package/src/types/index.ts +156 -0
  561. package/src/types/knowledge-graph.ts +246 -0
  562. package/src/types/knowledge.ts +388 -0
  563. package/src/types/team-meta.ts +212 -0
  564. package/src/types/team-playbook.ts +384 -0
  565. package/src/types/team-trajectory.ts +673 -0
  566. package/src/types/trajectory-source.ts +47 -0
  567. package/src/utils/frontmatter.ts +118 -0
  568. package/src/utils/index.ts +7 -0
  569. package/src/workspace/index.ts +48 -0
  570. package/src/workspace/runner.ts +281 -0
  571. package/src/workspace/skill-converter.ts +288 -0
  572. package/src/workspace/templates/index.ts +64 -0
  573. package/src/workspace/templates/knowledge-defrag.ts +223 -0
  574. package/src/workspace/templates/knowledge-extraction.ts +337 -0
  575. package/src/workspace/templates/meta-reflection.ts +208 -0
  576. package/src/workspace/templates/playbook-extraction.ts +240 -0
  577. package/src/workspace/templates/refinement-analysis.ts +162 -0
  578. package/src/workspace/templates/solution-evaluation.ts +199 -0
  579. package/src/workspace/templates/team-playbook-extraction.ts +631 -0
  580. package/src/workspace/templates/team-trajectory-analysis.ts +564 -0
  581. package/src/workspace/templates/trajectory-analysis.ts +234 -0
  582. package/src/workspace/templates/usage-inference.ts +163 -0
  583. package/src/workspace/types.ts +233 -0
  584. package/tests/atlas-knowledge.test.ts +165 -0
  585. package/tests/gap-fixes.test.ts +1103 -0
  586. package/tests/integration/dataclaw-e2e.test.ts +559 -0
  587. package/tests/integration/e2e.test.ts +407 -0
  588. package/tests/integration/entire-e2e.test.ts +187 -0
  589. package/tests/integration/huggingface-e2e.test.ts +627 -0
  590. package/tests/integration/session-bank.test.ts +225 -0
  591. package/tests/integration/skill-tree-wiring.test.ts +152 -0
  592. package/tests/learning/dataclaw-trajectory-source.test.ts +642 -0
  593. package/tests/learning/entire-trajectory-source.test.ts +380 -0
  594. package/tests/learning/huggingface-trajectory-source.test.ts +817 -0
  595. package/tests/learning/knowledge-extractor.test.ts +491 -0
  596. package/tests/learning/team-ingester.test.ts +349 -0
  597. package/tests/learning/team-meta-learner.test.ts +618 -0
  598. package/tests/learning/team-pipeline.test.ts +334 -0
  599. package/tests/learning/trajectory-sources.test.ts +312 -0
  600. package/tests/memory/graph-layers/semantic.test.ts +219 -0
  601. package/tests/memory/knowledge-bank-extraction.test.ts +558 -0
  602. package/tests/memory/knowledge-bank.test.ts +705 -0
  603. package/tests/memory/knowledge-defrag.test.ts +366 -0
  604. package/tests/memory/knowledge-evolution.test.ts +563 -0
  605. package/tests/memory/knowledge-graph.test.ts +492 -0
  606. package/tests/memory/knowledge-inbox.test.ts +258 -0
  607. package/tests/memory/knowledge-minimem.test.ts +251 -0
  608. package/tests/memory/skill-exporter.test.ts +470 -0
  609. package/tests/memory/team-experience.test.ts +411 -0
  610. package/tests/runtime/agent-manager.test.ts +1 -1
  611. package/tests/runtime/compute-provider.test.ts +288 -0
  612. package/tests/runtime/delegate.test.ts +349 -0
  613. package/tests/runtime/macro-agent-backend.test.ts +266 -0
  614. package/tests/search/team-router.test.ts +376 -0
  615. package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +12 -0
  616. package/tests/session-bank/fixtures/multi-tool-session/metadata.json +28 -0
  617. package/tests/session-bank/fixtures/root-metadata.json +18 -0
  618. package/tests/session-bank/fixtures/simple-session/full.jsonl +6 -0
  619. package/tests/session-bank/fixtures/simple-session/metadata.json +38 -0
  620. package/tests/session-bank/git-reader.test.ts +232 -0
  621. package/tests/session-bank/parser.test.ts +321 -0
  622. package/tests/session-bank/session-bank.test.ts +546 -0
  623. package/tests/surfacing/skill-publisher.test.ts +398 -0
  624. package/tests/surfacing/sqlite-storage-adapter.test.ts +218 -0
  625. package/tests/surfacing/team-skill-library.test.ts +444 -0
  626. package/tests/types/team-meta.test.ts +147 -0
  627. package/tests/types/team-playbook.test.ts +246 -0
  628. package/tests/types/team-trajectory.test.ts +557 -0
  629. package/tests/utils/frontmatter.test.ts +208 -0
  630. package/tests/workspace/full-flow.test.ts +839 -0
  631. package/tests/workspace/manager.test.ts +215 -0
  632. package/tests/workspace/runner.test.ts +330 -0
  633. package/tests/workspace/skill-converter.test.ts +205 -0
  634. package/tests/workspace/templates/knowledge-extraction.test.ts +235 -0
  635. package/tests/workspace/templates/team-playbook-extraction.test.ts +341 -0
  636. package/tests/workspace/templates/team-trajectory-analysis.test.ts +417 -0
  637. package/src/learning/llm-extractor.ts +0 -542
@@ -0,0 +1,49 @@
1
+ /**
2
+ * ACP Protocol Handler (Base Class)
3
+ *
4
+ * Extracts the ACP wire protocol handling (processUpdate, runPrompt,
5
+ * session state management) from the monolithic ACPBackend into a
6
+ * reusable base class.
7
+ *
8
+ * Backend implementations (local, remote) extend this and provide
9
+ * their own spawn() / terminate() for their compute environment.
10
+ */
11
+ import type { Session, ExtendedSessionUpdate } from 'acp-factory';
12
+ import type { AgentSpawnConfig, AgentSession } from '../types.js';
13
+ /**
14
+ * Base session state shared by all ACP backends.
15
+ * Subclasses can extend this with backend-specific fields.
16
+ */
17
+ export interface ACPSessionBase {
18
+ atlasSession: AgentSession;
19
+ acpSession: Session;
20
+ }
21
+ /**
22
+ * Abstract base class that handles ACP wire protocol concerns:
23
+ * - processUpdate(): Parses ExtendedSessionUpdate into AgentSession messages/tool calls
24
+ * - runPrompt(): Streams updates from an ACP session prompt
25
+ * - Common session accessors (getSession, sendMessage, listSessions)
26
+ *
27
+ * Subclasses provide their own lifecycle management (spawn, terminate).
28
+ */
29
+ export declare abstract class ACPProtocolHandler<TState extends ACPSessionBase = ACPSessionBase> {
30
+ protected sessions: Map<string, TState>;
31
+ /**
32
+ * Process a session update from the agent.
33
+ * Uses defensive typing since ACP types can vary.
34
+ */
35
+ protected processUpdate(session: AgentSession, update: ExtendedSessionUpdate, config: AgentSpawnConfig): void;
36
+ /**
37
+ * Run a prompt on an ACP session and collect all streaming updates
38
+ * into the Atlas session.
39
+ */
40
+ protected runPrompt(state: TState, promptContent: string, config: AgentSpawnConfig): Promise<void>;
41
+ getSession(sessionId: string): Promise<AgentSession | undefined>;
42
+ sendMessage(sessionId: string, message: string): Promise<void>;
43
+ listSessions(): Promise<AgentSession[]>;
44
+ /**
45
+ * Get a raw ACP session for advanced usage
46
+ */
47
+ getACPSession(sessionId: string): Session | undefined;
48
+ }
49
+ //# sourceMappingURL=acp-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-protocol.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/acp-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,OAAO,EACP,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAGb,MAAM,aAAa,CAAC;AAMrB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;GAOG;AACH,8BAAsB,kBAAkB,CACtC,MAAM,SAAS,cAAc,GAAG,cAAc;IAE9C,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAMpD;;;OAGG;IACH,SAAS,CAAC,aAAa,CACrB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,gBAAgB,GACvB,IAAI;IAuGP;;;OAGG;cACa,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC;IA2BV,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9D,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CAGtD"}
@@ -0,0 +1,166 @@
1
+ // ============================================================
2
+ // Protocol Handler Base Class
3
+ // ============================================================
4
+ /**
5
+ * Abstract base class that handles ACP wire protocol concerns:
6
+ * - processUpdate(): Parses ExtendedSessionUpdate into AgentSession messages/tool calls
7
+ * - runPrompt(): Streams updates from an ACP session prompt
8
+ * - Common session accessors (getSession, sendMessage, listSessions)
9
+ *
10
+ * Subclasses provide their own lifecycle management (spawn, terminate).
11
+ */
12
+ export class ACPProtocolHandler {
13
+ sessions = new Map();
14
+ // ----------------------------------------------------------
15
+ // Protocol: process a single ACP session update
16
+ // ----------------------------------------------------------
17
+ /**
18
+ * Process a session update from the agent.
19
+ * Uses defensive typing since ACP types can vary.
20
+ */
21
+ processUpdate(session, update, config) {
22
+ // Cast to any for flexible property access since ACP types are complex unions
23
+ const u = update;
24
+ const updateType = u.sessionUpdate;
25
+ switch (updateType) {
26
+ case 'agent_message_chunk':
27
+ case 'user_message_chunk':
28
+ case 'agent_thought_chunk': {
29
+ // ContentChunk has a single 'content' field (ContentBlock)
30
+ const content = u.content;
31
+ if (content && content.type === 'text' && typeof content.text === 'string') {
32
+ const message = {
33
+ role: updateType === 'user_message_chunk' ? 'user' : 'assistant',
34
+ content: content.text,
35
+ timestamp: new Date(),
36
+ };
37
+ session.messages.push(message);
38
+ config.onMessage?.(message);
39
+ }
40
+ break;
41
+ }
42
+ case 'tool_call': {
43
+ // ToolCall has toolCallId, title, rawInput, status, content, etc.
44
+ const toolCallId = u.toolCallId ?? crypto.randomUUID();
45
+ const title = u.title ?? 'unknown';
46
+ const rawInput = u.rawInput;
47
+ const toolCall = {
48
+ id: toolCallId,
49
+ name: title,
50
+ input: rawInput,
51
+ startTime: new Date(),
52
+ };
53
+ session.toolCalls.push(toolCall);
54
+ config.onToolCall?.(toolCall);
55
+ break;
56
+ }
57
+ case 'tool_call_update': {
58
+ // ToolCallUpdate has toolCallId, status, content, etc.
59
+ const toolCallId = u.toolCallId;
60
+ const status = u.status;
61
+ const content = u.content;
62
+ const existingTc = session.toolCalls.find((t) => t.id === toolCallId);
63
+ if (existingTc) {
64
+ if (status === 'completed' || status === 'failed') {
65
+ existingTc.endTime = new Date();
66
+ }
67
+ if (content && Array.isArray(content)) {
68
+ // Extract text from content blocks
69
+ const outputs = [];
70
+ for (const block of content) {
71
+ if (block.type === 'text' && typeof block.text === 'string') {
72
+ outputs.push(block.text);
73
+ }
74
+ else if (block.type === 'diff' && typeof block.diff === 'string') {
75
+ outputs.push(block.diff);
76
+ }
77
+ }
78
+ if (outputs.length > 0) {
79
+ existingTc.output = outputs.join('\n');
80
+ }
81
+ }
82
+ if (status === 'failed') {
83
+ existingTc.error = 'Tool call failed';
84
+ }
85
+ }
86
+ break;
87
+ }
88
+ case 'permission_request': {
89
+ // In auto-approve mode, this shouldn't happen, but log it
90
+ session.messages.push({
91
+ role: 'system',
92
+ content: `Permission requested: ${JSON.stringify(update)}`,
93
+ timestamp: new Date(),
94
+ });
95
+ break;
96
+ }
97
+ case 'plan': {
98
+ // Agent shared its plan
99
+ const plan = u.plan;
100
+ session.messages.push({
101
+ role: 'assistant',
102
+ content: `[Plan] ${JSON.stringify(plan)}`,
103
+ timestamp: new Date(),
104
+ });
105
+ break;
106
+ }
107
+ default:
108
+ // Log other updates for debugging
109
+ session.metadata.lastUpdate = update;
110
+ }
111
+ }
112
+ // ----------------------------------------------------------
113
+ // Protocol: run a prompt and collect streaming updates
114
+ // ----------------------------------------------------------
115
+ /**
116
+ * Run a prompt on an ACP session and collect all streaming updates
117
+ * into the Atlas session.
118
+ */
119
+ async runPrompt(state, promptContent, config) {
120
+ const { atlasSession, acpSession } = state;
121
+ try {
122
+ // Stream updates from the agent
123
+ for await (const update of acpSession.prompt(promptContent)) {
124
+ this.processUpdate(atlasSession, update, config);
125
+ }
126
+ // Mark as completed
127
+ atlasSession.state = 'completed';
128
+ atlasSession.endTime = new Date();
129
+ }
130
+ catch (error) {
131
+ atlasSession.state = 'failed';
132
+ atlasSession.error = error instanceof Error ? error.message : 'Unknown error';
133
+ atlasSession.endTime = new Date();
134
+ console.error(`[ACPProtocol] Session ${atlasSession.id} prompt execution failed:`, error instanceof Error ? error.message : String(error));
135
+ }
136
+ }
137
+ // ----------------------------------------------------------
138
+ // Common session accessors
139
+ // ----------------------------------------------------------
140
+ async getSession(sessionId) {
141
+ return this.sessions.get(sessionId)?.atlasSession;
142
+ }
143
+ async sendMessage(sessionId, message) {
144
+ const state = this.sessions.get(sessionId);
145
+ if (!state) {
146
+ throw new Error('Session not found');
147
+ }
148
+ // Send additional prompt
149
+ for await (const update of state.acpSession.prompt(message)) {
150
+ this.processUpdate(state.atlasSession, update, {
151
+ agentType: state.atlasSession.agentType,
152
+ task: state.atlasSession.task,
153
+ });
154
+ }
155
+ }
156
+ async listSessions() {
157
+ return Array.from(this.sessions.values()).map((s) => s.atlasSession);
158
+ }
159
+ /**
160
+ * Get a raw ACP session for advanced usage
161
+ */
162
+ getACPSession(sessionId) {
163
+ return this.sessions.get(sessionId)?.acpSession;
164
+ }
165
+ }
166
+ //# sourceMappingURL=acp-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-protocol.js","sourceRoot":"","sources":["../../../src/runtime/backends/acp-protocol.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  /**
2
- * ACP Backend using acp-factory
2
+ * Local ACP Backend using acp-factory
3
3
  *
4
- * This backend uses the acp-factory package to spawn and manage ACP-compatible
5
- * agents like Claude Code, providing a clean interface for Atlas integration.
4
+ * Extends ACPProtocolHandler with local process spawning via AgentFactory.
5
+ * The protocol handling (processUpdate, runPrompt, session management) is
6
+ * inherited from the base class so it can be reused by future remote backends.
6
7
  */
7
- import { AgentHandle, Session, type AgentConfig } from 'acp-factory';
8
+ import { AgentHandle, type AgentConfig } from 'acp-factory';
8
9
  import type { AgentBackend, AgentSpawnConfig, AgentSession } from '../types.js';
10
+ import { ACPProtocolHandler, type ACPSessionBase } from './acp-protocol.js';
9
11
  /**
10
12
  * ACP agent configuration
11
13
  */
@@ -14,43 +16,40 @@ export interface ACPAgentConfig extends AgentConfig {
14
16
  displayName?: string;
15
17
  }
16
18
  /**
17
- * ACP Backend
18
- * Uses acp-factory to spawn and manage ACP-compatible agents
19
+ * Session state for locally-spawned ACP agents.
20
+ * Extends the base with an AgentHandle for process lifecycle.
19
21
  */
20
- export declare class ACPBackend implements AgentBackend {
22
+ interface LocalACPSessionState extends ACPSessionBase {
23
+ agentHandle: AgentHandle;
24
+ }
25
+ /**
26
+ * Local ACP Backend
27
+ *
28
+ * Spawns ACP-compatible agents as local processes via AgentFactory.
29
+ * Protocol handling is inherited from ACPProtocolHandler.
30
+ */
31
+ export declare class LocalACPBackend extends ACPProtocolHandler<LocalACPSessionState> implements AgentBackend {
21
32
  readonly name = "acp";
22
33
  readonly supportedTypes: string[];
23
- private sessions;
24
34
  private handles;
25
35
  constructor(configs: Record<string, ACPAgentConfig>);
26
36
  isAvailable(): Promise<boolean>;
27
37
  spawn(config: AgentSpawnConfig): Promise<AgentSession>;
28
- /**
29
- * Run a prompt and collect all updates
30
- */
31
- private runPrompt;
32
- /**
33
- * Process a session update from the agent
34
- * Uses defensive typing since ACP types can vary
35
- */
36
- private processUpdate;
37
- getSession(sessionId: string): Promise<AgentSession | undefined>;
38
- sendMessage(sessionId: string, message: string): Promise<void>;
39
38
  terminate(sessionId: string): Promise<void>;
40
- listSessions(): Promise<AgentSession[]>;
41
- /**
42
- * Get a raw ACP session for advanced usage
43
- */
44
- getACPSession(sessionId: string): Session | undefined;
45
39
  /**
46
- * Get a raw agent handle for advanced usage
40
+ * Get a raw agent handle for advanced usage (local-specific)
47
41
  */
48
42
  getAgentHandle(sessionId: string): AgentHandle | undefined;
49
43
  }
44
+ /**
45
+ * @deprecated Use LocalACPBackend directly. ACPBackend is a backward-compatible alias.
46
+ */
47
+ export declare const ACPBackend: typeof LocalACPBackend;
48
+ export type ACPBackend = LocalACPBackend;
50
49
  /**
51
50
  * Create an ACP backend with agent configurations
52
51
  */
53
- export declare function createACPBackend(configs: Record<string, ACPAgentConfig>): ACPBackend;
52
+ export declare function createACPBackend(configs: Record<string, ACPAgentConfig>): LocalACPBackend;
54
53
  /**
55
54
  * Pre-configured Claude Code agent via claude-code-acp
56
55
  */
@@ -64,4 +63,5 @@ export declare const claudeCodeDirectConfig: ACPAgentConfig;
64
63
  * Helper to register common agents
65
64
  */
66
65
  export declare function registerCommonAgents(): void;
66
+ export {};
67
67
  //# sourceMappingURL=acp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,WAAW,EACX,OAAO,EACP,KAAK,WAAW,EAGjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD;;;GAGG;AACH,qBAAa,UAAW,YAAW,YAAY;IAC7C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAElC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,OAAO,CAAuC;gBAE1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAa7C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmE5D;;OAEG;YACW,SAAS;IA2BvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAuGf,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC3C,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIrD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAG3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACtC,UAAU,CAEZ;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAIjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAIpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
1
+ {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAEL,WAAW,EACX,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAM5E;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;;GAGG;AACH,UAAU,oBAAqB,SAAQ,cAAc;IACnD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAMD;;;;;GAKG;AACH,qBAAa,eACX,SAAQ,kBAAkB,CAAC,oBAAoB,CAC/C,YAAW,YAAY;IAEvB,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAElC,OAAO,CAAC,OAAO,CAAuC;gBAE1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAc7C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmEtD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCjD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAG3D;AAMD;;GAEG;AACH,eAAO,MAAM,UAAU,wBAAkB,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;AAMzC;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACtC,eAAe,CAEjB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAIjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAIpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
@@ -1,20 +1,27 @@
1
1
  /**
2
- * ACP Backend using acp-factory
2
+ * Local ACP Backend using acp-factory
3
3
  *
4
- * This backend uses the acp-factory package to spawn and manage ACP-compatible
5
- * agents like Claude Code, providing a clean interface for Atlas integration.
4
+ * Extends ACPProtocolHandler with local process spawning via AgentFactory.
5
+ * The protocol handling (processUpdate, runPrompt, session management) is
6
+ * inherited from the base class so it can be reused by future remote backends.
6
7
  */
7
8
  import { AgentFactory, } from 'acp-factory';
9
+ import { ACPProtocolHandler } from './acp-protocol.js';
10
+ // ============================================================
11
+ // LocalACPBackend
12
+ // ============================================================
8
13
  /**
9
- * ACP Backend
10
- * Uses acp-factory to spawn and manage ACP-compatible agents
14
+ * Local ACP Backend
15
+ *
16
+ * Spawns ACP-compatible agents as local processes via AgentFactory.
17
+ * Protocol handling is inherited from ACPProtocolHandler.
11
18
  */
12
- export class ACPBackend {
19
+ export class LocalACPBackend extends ACPProtocolHandler {
13
20
  name = 'acp';
14
21
  supportedTypes;
15
- sessions = new Map();
16
22
  handles = new Map();
17
23
  constructor(configs) {
24
+ super();
18
25
  this.supportedTypes = Object.keys(configs);
19
26
  // Register all agent configs with AgentFactory
20
27
  for (const [name, config] of Object.entries(configs)) {
@@ -44,7 +51,7 @@ export class ACPBackend {
44
51
  },
45
52
  };
46
53
  try {
47
- // Spawn the agent
54
+ // Spawn the agent locally via AgentFactory
48
55
  const spawnOptions = {
49
56
  permissionMode: 'auto-approve', // Auto-approve for automated learning
50
57
  env: config.env,
@@ -71,7 +78,7 @@ export class ACPBackend {
71
78
  if (Object.keys(config.task.context).length > 0) {
72
79
  promptContent += `\n\n## Additional Context\n\`\`\`json\n${JSON.stringify(config.task.context, null, 2)}\n\`\`\``;
73
80
  }
74
- // Send prompt and collect updates
81
+ // Send prompt and collect updates (inherited protocol handler)
75
82
  await this.runPrompt(state, promptContent, config);
76
83
  return atlasSession;
77
84
  }
@@ -79,142 +86,10 @@ export class ACPBackend {
79
86
  atlasSession.state = 'failed';
80
87
  atlasSession.error = error instanceof Error ? error.message : 'Unknown error';
81
88
  atlasSession.endTime = new Date();
82
- console.error(`[ACPBackend] Session ${atlasSessionId} spawn failed:`, error instanceof Error ? error.message : String(error));
89
+ console.error(`[LocalACPBackend] Session ${atlasSessionId} spawn failed:`, error instanceof Error ? error.message : String(error));
83
90
  return atlasSession;
84
91
  }
85
92
  }
86
- /**
87
- * Run a prompt and collect all updates
88
- */
89
- async runPrompt(state, promptContent, config) {
90
- const { atlasSession, acpSession } = state;
91
- try {
92
- // Stream updates from the agent
93
- for await (const update of acpSession.prompt(promptContent)) {
94
- this.processUpdate(atlasSession, update, config);
95
- }
96
- // Mark as completed
97
- atlasSession.state = 'completed';
98
- atlasSession.endTime = new Date();
99
- }
100
- catch (error) {
101
- atlasSession.state = 'failed';
102
- atlasSession.error = error instanceof Error ? error.message : 'Unknown error';
103
- atlasSession.endTime = new Date();
104
- console.error(`[ACPBackend] Session ${atlasSession.id} prompt execution failed:`, error instanceof Error ? error.message : String(error));
105
- }
106
- }
107
- /**
108
- * Process a session update from the agent
109
- * Uses defensive typing since ACP types can vary
110
- */
111
- processUpdate(session, update, config) {
112
- // Cast to any for flexible property access since ACP types are complex unions
113
- const u = update;
114
- const updateType = u.sessionUpdate;
115
- switch (updateType) {
116
- case 'agent_message_chunk':
117
- case 'user_message_chunk':
118
- case 'agent_thought_chunk': {
119
- // ContentChunk has a single 'content' field (ContentBlock)
120
- const content = u.content;
121
- if (content && content.type === 'text' && typeof content.text === 'string') {
122
- const message = {
123
- role: updateType === 'user_message_chunk' ? 'user' : 'assistant',
124
- content: content.text,
125
- timestamp: new Date(),
126
- };
127
- session.messages.push(message);
128
- config.onMessage?.(message);
129
- }
130
- break;
131
- }
132
- case 'tool_call': {
133
- // ToolCall has toolCallId, title, rawInput, status, content, etc.
134
- const toolCallId = u.toolCallId ?? crypto.randomUUID();
135
- const title = u.title ?? 'unknown';
136
- const rawInput = u.rawInput;
137
- const toolCall = {
138
- id: toolCallId,
139
- name: title,
140
- input: rawInput,
141
- startTime: new Date(),
142
- };
143
- session.toolCalls.push(toolCall);
144
- config.onToolCall?.(toolCall);
145
- break;
146
- }
147
- case 'tool_call_update': {
148
- // ToolCallUpdate has toolCallId, status, content, etc.
149
- const toolCallId = u.toolCallId;
150
- const status = u.status;
151
- const content = u.content;
152
- const existingTc = session.toolCalls.find((t) => t.id === toolCallId);
153
- if (existingTc) {
154
- if (status === 'completed' || status === 'failed') {
155
- existingTc.endTime = new Date();
156
- }
157
- if (content && Array.isArray(content)) {
158
- // Extract text from content blocks
159
- const outputs = [];
160
- for (const block of content) {
161
- if (block.type === 'text' && typeof block.text === 'string') {
162
- outputs.push(block.text);
163
- }
164
- else if (block.type === 'diff' && typeof block.diff === 'string') {
165
- outputs.push(block.diff);
166
- }
167
- }
168
- if (outputs.length > 0) {
169
- existingTc.output = outputs.join('\n');
170
- }
171
- }
172
- if (status === 'failed') {
173
- existingTc.error = 'Tool call failed';
174
- }
175
- }
176
- break;
177
- }
178
- case 'permission_request': {
179
- // In auto-approve mode, this shouldn't happen, but log it
180
- session.messages.push({
181
- role: 'system',
182
- content: `Permission requested: ${JSON.stringify(update)}`,
183
- timestamp: new Date(),
184
- });
185
- break;
186
- }
187
- case 'plan': {
188
- // Agent shared its plan
189
- const plan = u.plan;
190
- session.messages.push({
191
- role: 'assistant',
192
- content: `[Plan] ${JSON.stringify(plan)}`,
193
- timestamp: new Date(),
194
- });
195
- break;
196
- }
197
- default:
198
- // Log other updates for debugging
199
- session.metadata.lastUpdate = update;
200
- }
201
- }
202
- async getSession(sessionId) {
203
- return this.sessions.get(sessionId)?.atlasSession;
204
- }
205
- async sendMessage(sessionId, message) {
206
- const state = this.sessions.get(sessionId);
207
- if (!state) {
208
- throw new Error('Session not found');
209
- }
210
- // Send additional prompt
211
- for await (const update of state.acpSession.prompt(message)) {
212
- this.processUpdate(state.atlasSession, update, {
213
- agentType: state.atlasSession.agentType,
214
- task: state.atlasSession.task,
215
- });
216
- }
217
- }
218
93
  async terminate(sessionId) {
219
94
  const state = this.sessions.get(sessionId);
220
95
  if (!state)
@@ -225,15 +100,15 @@ export class ACPBackend {
225
100
  }
226
101
  catch (error) {
227
102
  // Log cancellation errors but don't throw
228
- console.error(`[ACPBackend] Session ${sessionId} cancel error:`, error instanceof Error ? error.message : String(error));
103
+ console.error(`[LocalACPBackend] Session ${sessionId} cancel error:`, error instanceof Error ? error.message : String(error));
229
104
  }
230
105
  try {
231
- // Close the agent handle
106
+ // Close the local agent handle
232
107
  await state.agentHandle.close();
233
108
  }
234
109
  catch (error) {
235
110
  // Log close errors but don't throw
236
- console.error(`[ACPBackend] Session ${sessionId} close error:`, error instanceof Error ? error.message : String(error));
111
+ console.error(`[LocalACPBackend] Session ${sessionId} close error:`, error instanceof Error ? error.message : String(error));
237
112
  }
238
113
  state.atlasSession.state = 'failed';
239
114
  state.atlasSession.error = 'Terminated';
@@ -241,27 +116,28 @@ export class ACPBackend {
241
116
  this.sessions.delete(sessionId);
242
117
  this.handles.delete(sessionId);
243
118
  }
244
- async listSessions() {
245
- return Array.from(this.sessions.values()).map((s) => s.atlasSession);
246
- }
247
- /**
248
- * Get a raw ACP session for advanced usage
249
- */
250
- getACPSession(sessionId) {
251
- return this.sessions.get(sessionId)?.acpSession;
252
- }
253
119
  /**
254
- * Get a raw agent handle for advanced usage
120
+ * Get a raw agent handle for advanced usage (local-specific)
255
121
  */
256
122
  getAgentHandle(sessionId) {
257
123
  return this.sessions.get(sessionId)?.agentHandle;
258
124
  }
259
125
  }
126
+ // ============================================================
127
+ // Backward-compatible alias
128
+ // ============================================================
129
+ /**
130
+ * @deprecated Use LocalACPBackend directly. ACPBackend is a backward-compatible alias.
131
+ */
132
+ export const ACPBackend = LocalACPBackend;
133
+ // ============================================================
134
+ // Factory helpers
135
+ // ============================================================
260
136
  /**
261
137
  * Create an ACP backend with agent configurations
262
138
  */
263
139
  export function createACPBackend(configs) {
264
- return new ACPBackend(configs);
140
+ return new LocalACPBackend(configs);
265
141
  }
266
142
  /**
267
143
  * Pre-configured Claude Code agent via claude-code-acp
@@ -1 +1 @@
1
- {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,YAAY,GAMb,MAAM,aAAa,CAAC;AA0BrB;;;GAGG;AACH,MAAM,OAAO,UAAU;IACZ,IAAI,GAAG,KAAK,CAAC;IACb,cAAc,CAAW;IAE1B,QAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;IACnD,OAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEtD,YAAY,OAAuC;QACjD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3C,+CAA+C;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAwB;QAClC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAE3C,gCAAgC;QAChC,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,cAAc;YAClB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE;gBACR,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB;aAC9C;SACF,CAAC;QAEF,IAAI,CAAC;YACH,kBAAkB;YAClB,MAAM,YAAY,GAAiB;gBACjC,cAAc,EAAE,cAAc,EAAE,sCAAsC;gBACtE,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAE9C,qBAAqB;YACrB,YAAY,CAAC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;YAE9D,kCAAkC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAExD,sBAAsB;YACtB,MAAM,KAAK,GAAoB;gBAC7B,YAAY;gBACZ,WAAW;gBACX,UAAU;aACX,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAEzC,gDAAgD;YAChD,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAC5C,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACjC,aAAa,GAAG,mCAAmC,MAAM,CAAC,qBAAqB,cAAc,aAAa,EAAE,CAAC;YAC/G,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,aAAa,IAAI,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;YACpH,CAAC;YAED,kCAAkC;YAClC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YAEnD,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC9B,YAAY,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CACX,wBAAwB,cAAc,gBAAgB,EACtD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACF,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CACrB,KAAsB,EACtB,aAAqB,EACrB,MAAwB;QAExB,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAE3C,IAAI,CAAC;YACH,gCAAgC;YAChC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;YAED,oBAAoB;YACpB,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC;YACjC,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC9B,YAAY,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CACX,wBAAwB,YAAY,CAAC,EAAE,2BAA2B,EAClE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,aAAa,CACnB,OAAqB,EACrB,MAA6B,EAC7B,MAAwB;QAExB,8EAA8E;QAC9E,MAAM,CAAC,GAAG,MAAiC,CAAC;QAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,aAAuB,CAAC;QAE7C,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,2DAA2D;gBAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,OAA8C,CAAC;gBACjE,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3E,MAAM,OAAO,GAAiB;wBAC5B,IAAI,EAAE,UAAU,KAAK,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;wBAChE,OAAO,EAAE,OAAO,CAAC,IAAI;wBACrB,SAAS,EAAE,IAAI,IAAI,EAAE;qBACtB,CAAC;oBACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,kEAAkE;gBAClE,MAAM,UAAU,GAAI,CAAC,CAAC,UAAqB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACnE,MAAM,KAAK,GAAI,CAAC,CAAC,KAAgB,IAAI,SAAS,CAAC;gBAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAE5B,MAAM,QAAQ,GAAa;oBACzB,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC;gBACF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,uDAAuD;gBACvD,MAAM,UAAU,GAAG,CAAC,CAAC,UAAoB,CAAC;gBAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA4B,CAAC;gBAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAqD,CAAC;gBAExE,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;gBACtE,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAClD,UAAU,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;oBAClC,CAAC;oBACD,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,mCAAmC;wBACnC,MAAM,OAAO,GAAa,EAAE,CAAC;wBAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;4BAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCAC5D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC3B,CAAC;iCAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCACnE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC3B,CAAC;wBACH,CAAC;wBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACvB,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACxB,UAAU,CAAC,KAAK,GAAG,kBAAkB,CAAC;oBACxC,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,0DAA0D;gBAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;oBAC1D,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,wBAAwB;gBACxB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBACzC,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED;gBACE,kCAAkC;gBAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,OAAe;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,yBAAyB;QACzB,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE;gBAC7C,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS;gBACvC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0CAA0C;YAC1C,OAAO,CAAC,KAAK,CACX,wBAAwB,SAAS,gBAAgB,EACjD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mCAAmC;YACnC,OAAO,CAAC,KAAK,CACX,wBAAwB,SAAS,eAAe,EAChD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;QACpC,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC;QACxC,KAAK,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;IACnD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAuC;IAEvC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,iBAAiB,CAAC;IACzB,WAAW,EAAE,mBAAmB;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,WAAW,EAAE,iBAAiB;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAC1D,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export { SubprocessBackend, createSubprocessBackend, claudeCodeConfig, type SubprocessAgentConfig, } from './subprocess.js';
2
2
  export { MockBackend, createMockBackend, type MockAgentBehavior, } from './mock.js';
3
- export { ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, type ACPAgentConfig, } from './acp.js';
3
+ export { LocalACPBackend, ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, type ACPAgentConfig, } from './acp.js';
4
+ export { ACPProtocolHandler, type ACPSessionBase, } from './acp-protocol.js';
5
+ export { MacroAgentBackendAdapter, adaptMacroBackend, createMacroAgentSource, type MacroAgentBackendLike, type MacroSessionLike, } from './macro-agent.js';
4
6
  export { AgentFactory } from 'acp-factory';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export { SubprocessBackend, createSubprocessBackend, claudeCodeConfig, } from './subprocess.js';
2
2
  export { MockBackend, createMockBackend, } from './mock.js';
3
- export { ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, } from './acp.js';
3
+ export { LocalACPBackend, ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, } from './acp.js';
4
+ export { ACPProtocolHandler, } from './acp-protocol.js';
5
+ export { MacroAgentBackendAdapter, adaptMacroBackend, createMacroAgentSource, } from './macro-agent.js';
4
6
  // Re-export useful types from acp-factory
5
7
  export { AgentFactory } from 'acp-factory';
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,GAElB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GAErB,MAAM,UAAU,CAAC;AAElB,0CAA0C;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,GAElB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GAErB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAE1B,0CAA0C;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}