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
package/src/atlas.ts CHANGED
@@ -1,21 +1,53 @@
1
1
  import type {
2
2
  Task,
3
3
  Trajectory,
4
+ TeamTrajectory,
5
+ TeamPlaybook,
4
6
  AtlasConfig,
5
7
  Playbook,
6
8
  } from './types/index.js';
9
+ import type { KnowledgeMatch } from './types/knowledge.js';
7
10
  import { createDefaultConfig } from './types/index.js';
8
- import { MemorySystem, createMemorySystem } from './memory/index.js';
11
+ import { MemorySystem, createMemorySystem, type TeamExperience } from './memory/index.js';
9
12
  import {
10
13
  LearningPipeline,
11
14
  createLearningPipeline,
12
15
  type ProcessResult,
13
16
  type BatchResult,
14
17
  } from './learning/index.js';
18
+ import {
19
+ TeamLearningPipeline,
20
+ createTeamLearningPipeline,
21
+ type TeamBatchResult,
22
+ type TeamProcessResult,
23
+ } from './learning/team-pipeline.js';
24
+ import {
25
+ TeamMetaLearner,
26
+ createTeamMetaLearner,
27
+ } from './learning/team-meta-learner.js';
28
+ import {
29
+ TeamRouter,
30
+ createTeamRouter,
31
+ type TeamRecommendation,
32
+ type TeamRecommendationInput,
33
+ } from './search/team-router.js';
34
+ import {
35
+ TeamSkillLibrary,
36
+ createTeamSkillLibrary,
37
+ type TeamOutcomeFeedback,
38
+ } from './surfacing/team-skill-library.js';
15
39
  import {
16
40
  PlaybookUsageInference,
17
41
  createUsageInference,
18
42
  } from './learning/usage-inference.js';
43
+ import {
44
+ MetaLearner,
45
+ createMetaLearner,
46
+ } from './learning/meta-learner.js';
47
+ import {
48
+ LearningEffectivenessTracker,
49
+ createEffectivenessTracker,
50
+ } from './learning/effectiveness.js';
19
51
  import { TaskRouter, createRouter, type RoutingDecision } from './search/router.js';
20
52
  import { DirectSolver, createSolver } from './search/solver.js';
21
53
  import {
@@ -25,15 +57,30 @@ import {
25
57
  import type { RefinementResult } from './search/refinement-types.js';
26
58
  import type { LLMProvider } from './agents/types.js';
27
59
  import { AgentManager, createAgentManager } from './runtime/manager.js';
28
- import type { AgentBackend, AgentSpawnConfig } from './runtime/types.js';
60
+ import type { AgentBackend, AgentSpawnConfig, AgentDelegate } from './runtime/types.js';
29
61
  import {
30
62
  SkillLibrary,
31
63
  createSkillLibrary,
32
64
  } from './surfacing/skill-library.js';
65
+ import { SqliteStorageAdapter } from './surfacing/sqlite-storage-adapter.js';
66
+ import { join } from 'node:path';
33
67
  import {
34
68
  PlaybookMCPServer,
35
69
  createPlaybookMCPServer,
36
70
  } from './mcp/playbook-server.js';
71
+ import {
72
+ AgenticTaskRunner,
73
+ createAgenticTaskRunner,
74
+ } from './workspace/runner.js';
75
+ import { usageInferenceTemplate } from './workspace/templates/usage-inference.js';
76
+ import { metaReflectionTemplate } from './workspace/templates/meta-reflection.js';
77
+ import { WorkspaceManager } from 'agent-workspace';
78
+
79
+ /**
80
+ * Result from processing a team trajectory.
81
+ * Re-exports the pipeline's TeamProcessResult type.
82
+ */
83
+ export type { TeamProcessResult } from './learning/team-pipeline.js';
37
84
 
38
85
  /**
39
86
  * Atlas statistics
@@ -44,9 +91,16 @@ export interface AtlasStats {
44
91
  playbookCount: number;
45
92
  metaObservationCount: number;
46
93
  };
94
+ teamMemory?: {
95
+ teamExperienceCount: number;
96
+ teamPlaybookCount: number;
97
+ rolePlaybookCount: number;
98
+ teamMetaObservationCount: number;
99
+ };
47
100
  learning: {
48
101
  trajectoriesProcessed: number;
49
102
  pendingTrajectories: number;
103
+ teamTrajectoriesProcessed: number;
50
104
  };
51
105
  execution?: {
52
106
  agentManagerEnabled: boolean;
@@ -91,6 +145,8 @@ export interface SolveResult {
91
145
  injectedPlaybooks?: Playbook[];
92
146
  /** Playbook usage inference results */
93
147
  playbookUsage?: PlaybookUsage[];
148
+ /** Knowledge notes that were surfaced for this task */
149
+ surfacedKnowledge?: KnowledgeMatch[];
94
150
  }
95
151
 
96
152
  /**
@@ -112,19 +168,36 @@ export class Atlas {
112
168
  private config: AtlasConfig;
113
169
  private provider: LLMProvider | null = null;
114
170
  private trajectoriesProcessed = 0;
171
+ private teamTrajectoriesProcessed = 0;
115
172
 
116
173
  // Playbook-based components
117
174
  private skillLibrary: SkillLibrary | null = null;
175
+ private skillTreeStorage: SqliteStorageAdapter | null = null;
118
176
  private usageInference: PlaybookUsageInference | null = null;
119
177
  private mcpServer: PlaybookMCPServer | null = null;
120
178
 
179
+ // Meta-learning and effectiveness
180
+ private metaLearner: MetaLearner | null = null;
181
+ private effectivenessTracker: LearningEffectivenessTracker | null = null;
182
+
183
+ // Agentic workspace components
184
+ private taskRunner: AgenticTaskRunner | null = null;
185
+ private workspaceManager: WorkspaceManager | null = null;
186
+
187
+ // Team-aware learning, recommendation, and surfacing
188
+ private teamLearning: TeamLearningPipeline | null = null;
189
+ private teamRouter: TeamRouter | null = null;
190
+ private teamMetaLearner: TeamMetaLearner | null = null;
191
+ private teamSkillLibrary: TeamSkillLibrary | null = null;
192
+
121
193
  constructor(config?: Partial<AtlasConfig>) {
122
194
  this.config = createDefaultConfig(config);
123
195
 
124
- // Initialize memory system
196
+ // Initialize memory system (with optional knowledge bank)
125
197
  this.memory = createMemorySystem(
126
198
  this.config.storage.baseDir,
127
- this.config.memory
199
+ this.config.memory,
200
+ this.config.knowledgeBank.enabled ? this.config.knowledgeBank : undefined
128
201
  );
129
202
 
130
203
  // Initialize learning pipeline
@@ -132,6 +205,27 @@ export class Atlas {
132
205
 
133
206
  // Initialize router
134
207
  this.router = createRouter(this.memory, this.config.router);
208
+
209
+ // Initialize team learning pipeline and router if enabled
210
+ if (this.config.teamLearning.enabled) {
211
+ this.teamLearning = createTeamLearningPipeline(
212
+ this.memory.teamExperiences,
213
+ this.config.teamLearning
214
+ );
215
+
216
+ // Initialize team meta-learner and team router
217
+ this.teamMetaLearner = createTeamMetaLearner(
218
+ this.memory.teamExperiences
219
+ );
220
+ this.teamRouter = createTeamRouter(
221
+ this.memory.teamExperiences,
222
+ undefined,
223
+ this.teamMetaLearner
224
+ );
225
+ this.teamSkillLibrary = createTeamSkillLibrary(
226
+ this.memory.teamExperiences
227
+ );
228
+ }
135
229
  }
136
230
 
137
231
  /**
@@ -148,9 +242,29 @@ export class Atlas {
148
242
  );
149
243
  this.usageInference = createUsageInference();
150
244
 
245
+ // Wire skill-tree publisher if enabled (default: true)
246
+ if (this.config.skillTree.enabled) {
247
+ const dbPath = join(this.config.storage.baseDir, this.config.skillTree.dbPath);
248
+ this.skillTreeStorage = new SqliteStorageAdapter(dbPath);
249
+ await this.skillTreeStorage.initialize();
250
+ this.skillLibrary.setPublisher(this.skillTreeStorage);
251
+ }
252
+
151
253
  // Refresh skill tiers on init
152
254
  await this.skillLibrary.refreshTiers();
153
255
  }
256
+
257
+ // Initialize meta-learner and connect to router
258
+ if (this.memory.meta) {
259
+ this.metaLearner = createMetaLearner(this.memory.meta);
260
+ this.router.setMetaLearner(this.metaLearner);
261
+ }
262
+
263
+ // Initialize effectiveness tracker
264
+ this.effectivenessTracker = createEffectivenessTracker(
265
+ this.config.storage.baseDir
266
+ );
267
+ await this.effectivenessTracker.init();
154
268
  }
155
269
 
156
270
  /**
@@ -166,15 +280,41 @@ export class Atlas {
166
280
  * Set up the AgentManager with backends for real action execution
167
281
  * This is the recommended way to configure Atlas for execution
168
282
  */
169
- setAgentManager(backends: AgentBackend[]): void {
283
+ setAgentManager(
284
+ backends: AgentBackend[],
285
+ options?: { delegate?: AgentDelegate }
286
+ ): void {
170
287
  // Create AgentManager with memory system
171
- this.agentManager = createAgentManager(this.memory);
288
+ this.agentManager = createAgentManager(this.memory, {
289
+ delegate: options?.delegate,
290
+ });
172
291
 
173
292
  // Register all backends
174
293
  for (const backend of backends) {
175
294
  this.agentManager.registerBackend(backend);
176
295
  }
177
296
 
297
+ // Create workspace infrastructure (using agent-workspace package)
298
+ this.workspaceManager = new WorkspaceManager({
299
+ baseDir: this.config.agenticTasks.workspaceBaseDir,
300
+ prefix: 'atlas-workspaces',
301
+ });
302
+ this.taskRunner = createAgenticTaskRunner(
303
+ this.workspaceManager,
304
+ this.agentManager,
305
+ this.memory,
306
+ this.learning,
307
+ this.config.agenticTasks
308
+ );
309
+
310
+ // Connect task runner to learning pipeline for workspace-based analysis
311
+ this.learning.setTaskRunner(this.taskRunner);
312
+
313
+ // Connect task runner to team learning pipeline
314
+ if (this.teamLearning) {
315
+ this.teamLearning.setTaskRunner(this.taskRunner);
316
+ }
317
+
178
318
  // Create refinement loop with config
179
319
  this.refinementLoop = createRefinementLoop(
180
320
  this.agentManager,
@@ -189,6 +329,9 @@ export class Atlas {
189
329
  confidenceThreshold: this.config.refinement.confidenceThreshold,
190
330
  }
191
331
  );
332
+
333
+ // Connect task runner to refinement loop for workspace-based evaluation and analysis
334
+ this.refinementLoop.setTaskRunner(this.taskRunner);
192
335
  }
193
336
 
194
337
  /**
@@ -198,6 +341,24 @@ export class Atlas {
198
341
  return this.agentManager;
199
342
  }
200
343
 
344
+ /**
345
+ * Set a delegate for caller-provided agent execution.
346
+ * Requires AgentManager to be initialized first (via setAgentManager).
347
+ */
348
+ setDelegate(delegate: AgentDelegate): void {
349
+ if (!this.agentManager) {
350
+ throw new Error('AgentManager not initialized. Call setAgentManager() first.');
351
+ }
352
+ this.agentManager.setDelegate(delegate);
353
+ }
354
+
355
+ /**
356
+ * Get the current delegate, if any.
357
+ */
358
+ getDelegate(): AgentDelegate | undefined {
359
+ return this.agentManager?.getDelegate();
360
+ }
361
+
201
362
  /**
202
363
  * Get the RefinementLoop for registering domain verifiers
203
364
  */
@@ -205,6 +366,13 @@ export class Atlas {
205
366
  return this.refinementLoop;
206
367
  }
207
368
 
369
+ /**
370
+ * Get the AgenticTaskRunner for running analysis tasks
371
+ */
372
+ getTaskRunner(): AgenticTaskRunner | null {
373
+ return this.taskRunner;
374
+ }
375
+
208
376
  /**
209
377
  * Check if agent execution is available
210
378
  */
@@ -239,11 +407,30 @@ export class Atlas {
239
407
  }
240
408
  }
241
409
 
410
+ // Surface knowledge from knowledge bank (independent from skill surfacing)
411
+ let knowledgeContext = '';
412
+ let surfacedKnowledge: KnowledgeMatch[] | undefined;
413
+ if (this.memory.knowledgeBank) {
414
+ surfacedKnowledge = await this.memory.knowledgeBank.getRelevantKnowledge(
415
+ { description: task.description, domain: task.domain },
416
+ );
417
+ if (surfacedKnowledge.length > 0) {
418
+ knowledgeContext = this.memory.knowledgeBank.formatKnowledgeForPrompt(
419
+ surfacedKnowledge,
420
+ );
421
+ }
422
+ }
423
+
424
+ // Combine skill context + knowledge context
425
+ const combinedContext = [skillContext, knowledgeContext]
426
+ .filter(Boolean)
427
+ .join('\n\n');
428
+
242
429
  let result: SolveResult;
243
430
 
244
431
  // Prefer AgentManager if available
245
432
  if (this.agentManager) {
246
- result = await this.solveWithAgent(task, routing, skillContext);
433
+ result = await this.solveWithAgent(task, routing, combinedContext || undefined);
247
434
  } else if (this.solver && this.provider) {
248
435
  // Fall back to DirectSolver (deprecated)
249
436
  const solverResult = await this.solver.solve(task, routing);
@@ -261,12 +448,13 @@ export class Atlas {
261
448
 
262
449
  // Add injected playbooks to result
263
450
  result.injectedPlaybooks = injectedPlaybooks;
451
+ result.surfacedKnowledge = surfacedKnowledge;
264
452
 
265
453
  // Infer playbook usage from trajectory
266
- if (this.usageInference && this.skillLibrary && injectedPlaybooks.length > 0) {
267
- const usageResults = await this.usageInference.inferUsage(
454
+ if (this.skillLibrary && injectedPlaybooks.length > 0) {
455
+ const usageResults = await this.inferPlaybookUsage(
268
456
  result.trajectory,
269
- injectedPlaybooks
457
+ injectedPlaybooks,
270
458
  );
271
459
 
272
460
  // Convert to PlaybookUsage format and record outcomes
@@ -292,6 +480,29 @@ export class Atlas {
292
480
  }
293
481
  }
294
482
 
483
+ // Generate meta-reflection (records observation + periodically generates strategies)
484
+ if (this.metaLearner) {
485
+ await this.reflectOnExecution(result.trajectory, routing);
486
+ }
487
+
488
+ // Annotate trajectory for effectiveness tracking
489
+ if (this.effectivenessTracker) {
490
+ const appliedPlaybookIds = (result.playbookUsage ?? [])
491
+ .filter(u => u.wasUsed)
492
+ .map(u => u.playbookId);
493
+
494
+ const surfacedExperienceIds = routing.memoryContext.experiences.map(
495
+ e => e.experience.id
496
+ );
497
+
498
+ await this.effectivenessTracker.annotate(
499
+ result.trajectory,
500
+ routing.memoryContext.playbooks,
501
+ surfacedExperienceIds,
502
+ appliedPlaybookIds,
503
+ );
504
+ }
505
+
295
506
  // Process the trajectory for learning
296
507
  await this.learning.processTrajectory(result.trajectory);
297
508
  this.trajectoriesProcessed++;
@@ -385,6 +596,170 @@ export class Atlas {
385
596
  return result;
386
597
  }
387
598
 
599
+ /**
600
+ * Process a team trajectory through the full team learning pipeline.
601
+ * Ingests, analyzes (heuristic or agentic), stores, and accumulates
602
+ * for batch team playbook extraction.
603
+ */
604
+ async processTeamTrajectory(
605
+ trajectory: TeamTrajectory
606
+ ): Promise<TeamProcessResult> {
607
+ if (!this.config.teamLearning.enabled || !this.teamLearning) {
608
+ return { teamTrajectoryId: trajectory.id, stored: false, analyzed: false };
609
+ }
610
+
611
+ const result = await this.teamLearning.processTeamTrajectory(trajectory);
612
+ this.teamTrajectoriesProcessed++;
613
+
614
+ // Generate team meta-reflection for the meta-learner
615
+ if (this.teamMetaLearner) {
616
+ try {
617
+ await this.teamMetaLearner.generateReflection(trajectory);
618
+ } catch (error) {
619
+ console.error(
620
+ '[Atlas] Team meta-reflection failed:',
621
+ error instanceof Error ? error.message : String(error)
622
+ );
623
+ }
624
+ }
625
+
626
+ // Run batch team learning if ready
627
+ if (this.teamLearning.shouldRunBatch()) {
628
+ await this.runTeamBatchLearning();
629
+ }
630
+
631
+ return result;
632
+ }
633
+
634
+ /**
635
+ * Run batch team playbook extraction explicitly.
636
+ */
637
+ async runTeamBatchLearning(): Promise<TeamBatchResult | null> {
638
+ if (!this.teamLearning) return null;
639
+ return this.teamLearning.runBatchLearning();
640
+ }
641
+
642
+ /**
643
+ * Get the team learning pipeline for direct access.
644
+ */
645
+ getTeamLearning(): TeamLearningPipeline | null {
646
+ return this.teamLearning;
647
+ }
648
+
649
+ /**
650
+ * Recommend a team composition for a given task.
651
+ * Uses team playbooks and meta-strategies to produce a recommendation
652
+ * with optional OpenTeams YAML export.
653
+ */
654
+ async recommendTeam(input: TeamRecommendationInput): Promise<TeamRecommendation> {
655
+ if (!this.teamRouter) {
656
+ throw new Error(
657
+ 'Team learning is not enabled. Set teamLearning.enabled = true in config.'
658
+ );
659
+ }
660
+ return this.teamRouter.recommend(input);
661
+ }
662
+
663
+ /**
664
+ * Get the team router for direct access.
665
+ */
666
+ getTeamRouter(): TeamRouter | null {
667
+ return this.teamRouter;
668
+ }
669
+
670
+ /**
671
+ * Get the team meta-learner for direct access.
672
+ */
673
+ getTeamMetaLearner(): TeamMetaLearner | null {
674
+ return this.teamMetaLearner;
675
+ }
676
+
677
+ /**
678
+ * Get the team skill library for direct access.
679
+ */
680
+ getTeamSkillLibrary(): TeamSkillLibrary | null {
681
+ return this.teamSkillLibrary;
682
+ }
683
+
684
+ /**
685
+ * Record team outcome feedback to update playbook evolution.
686
+ * Updates success/failure counts, recalculates confidence, and
687
+ * accumulates average metrics for the team playbook.
688
+ */
689
+ async recordTeamOutcome(feedback: TeamOutcomeFeedback): Promise<void> {
690
+ if (!this.teamSkillLibrary) {
691
+ throw new Error(
692
+ 'Team learning is not enabled. Set teamLearning.enabled = true in config.'
693
+ );
694
+ }
695
+ await this.teamSkillLibrary.recordTeamOutcome(feedback);
696
+ }
697
+
698
+ /**
699
+ * Format role guidance for injection into an agent's system prompt.
700
+ * Returns markdown-formatted role playbook content for the given role.
701
+ */
702
+ async formatRoleGuidance(
703
+ role: string,
704
+ context?: { topology?: string; domain?: string; taskType?: string }
705
+ ): Promise<string> {
706
+ if (!this.teamSkillLibrary) return '';
707
+
708
+ const ranked = await this.teamSkillLibrary.findRolePlaybooks(role, {
709
+ topology: context?.topology,
710
+ domain: context?.domain,
711
+ taskType: context?.taskType,
712
+ });
713
+
714
+ return this.teamSkillLibrary.formatRoleGuidance(
715
+ role,
716
+ ranked.map((r) => r.playbook)
717
+ );
718
+ }
719
+
720
+ /**
721
+ * Query team memory for coordination patterns.
722
+ */
723
+ async queryTeamMemory(
724
+ query: string,
725
+ options?: {
726
+ domain?: string;
727
+ topology?: string;
728
+ includeExperiences?: boolean;
729
+ includePlaybooks?: boolean;
730
+ }
731
+ ) {
732
+ const results: {
733
+ experiences: Array<{ experience: TeamExperience; score: number }>;
734
+ playbooks: Array<{ playbook: TeamPlaybook; score: number }>;
735
+ } = {
736
+ experiences: [],
737
+ playbooks: [],
738
+ };
739
+
740
+ const shouldIncludeAll = !options || (
741
+ options.includeExperiences === undefined &&
742
+ options.includePlaybooks === undefined
743
+ );
744
+
745
+ if (shouldIncludeAll || options?.includeExperiences) {
746
+ results.experiences = await this.memory.teamExperiences.findSimilarTeamExperiences(
747
+ query,
748
+ { domain: options?.domain, topology: options?.topology }
749
+ );
750
+ }
751
+
752
+ if (shouldIncludeAll || options?.includePlaybooks) {
753
+ results.playbooks = await this.memory.teamExperiences.findMatchingTeamPlaybooks({
754
+ taskType: query,
755
+ domain: options?.domain,
756
+ topology: options?.topology,
757
+ });
758
+ }
759
+
760
+ return results;
761
+ }
762
+
388
763
  /**
389
764
  * Run batch learning explicitly
390
765
  */
@@ -416,9 +791,21 @@ export class Atlas {
416
791
  learning: {
417
792
  trajectoriesProcessed: this.trajectoriesProcessed,
418
793
  pendingTrajectories: this.learning.getAccumulatedCount(),
794
+ teamTrajectoriesProcessed: this.teamTrajectoriesProcessed,
419
795
  },
420
796
  };
421
797
 
798
+ // Add team memory stats if team learning is enabled
799
+ if (this.config.teamLearning.enabled) {
800
+ const teamStats = await this.memory.teamExperiences.getStats();
801
+ stats.teamMemory = {
802
+ teamExperienceCount: teamStats.teamExperienceCount,
803
+ teamPlaybookCount: teamStats.teamPlaybookCount,
804
+ rolePlaybookCount: teamStats.rolePlaybookCount,
805
+ teamMetaObservationCount: teamStats.metaObservationCount,
806
+ };
807
+ }
808
+
422
809
  // Add execution stats if AgentManager is available
423
810
  if (this.agentManager) {
424
811
  stats.execution = {
@@ -448,6 +835,13 @@ export class Atlas {
448
835
  return this.memory;
449
836
  }
450
837
 
838
+ /**
839
+ * Get the knowledge bank for direct access (null if not enabled)
840
+ */
841
+ getKnowledgeBank(): import('./memory/knowledge-bank.js').KnowledgeBank | null {
842
+ return this.memory.knowledgeBank;
843
+ }
844
+
451
845
  /**
452
846
  * Get the learning pipeline for direct access
453
847
  */
@@ -462,6 +856,13 @@ export class Atlas {
462
856
  return this.skillLibrary;
463
857
  }
464
858
 
859
+ /**
860
+ * Get the skill-tree storage adapter (null if not enabled)
861
+ */
862
+ getSkillTreeStorage(): SqliteStorageAdapter | null {
863
+ return this.skillTreeStorage;
864
+ }
865
+
465
866
  /**
466
867
  * Get the MCP server for direct access
467
868
  */
@@ -511,8 +912,102 @@ export class Atlas {
511
912
  }
512
913
 
513
914
  /**
514
- * Close Atlas (flush data to disk)
915
+ * Infer playbook usage via workspace template when taskRunner available,
916
+ * otherwise fall back to heuristic.
917
+ */
918
+ private async inferPlaybookUsage(
919
+ trajectory: Trajectory,
920
+ injectedPlaybooks: Playbook[],
921
+ ): Promise<import('./learning/usage-inference.js').PlaybookUsageResult[]> {
922
+ if (this.taskRunner && injectedPlaybooks.length > 0) {
923
+ try {
924
+ const result = await this.taskRunner.run(usageInferenceTemplate, {
925
+ trajectory,
926
+ injectedPlaybooks,
927
+ });
928
+ return result.output;
929
+ } catch (error) {
930
+ console.error(
931
+ 'Workspace-based usage inference failed, falling back to heuristic:',
932
+ error instanceof Error ? error.message : error
933
+ );
934
+ }
935
+ }
936
+
937
+ // Heuristic fallback
938
+ if (this.usageInference) {
939
+ return this.usageInference.inferUsage(trajectory, injectedPlaybooks);
940
+ }
941
+ return [];
942
+ }
943
+
944
+ /**
945
+ * Reflect on execution via workspace template when taskRunner available,
946
+ * otherwise fall back to MetaLearner's built-in heuristic reflection.
947
+ */
948
+ private async reflectOnExecution(
949
+ trajectory: Trajectory,
950
+ routing: RoutingDecision,
951
+ ): Promise<void> {
952
+ if (!this.metaLearner) return;
953
+
954
+ const routingInfo = {
955
+ strategy: routing.strategy,
956
+ confidence: routing.confidence,
957
+ estimatedBudget: routing.estimatedBudget,
958
+ reasoning: routing.reasoning,
959
+ };
960
+ const playbookMatches = routing.memoryContext.playbooks;
961
+
962
+ if (this.taskRunner) {
963
+ try {
964
+ const result = await this.taskRunner.run(metaReflectionTemplate, {
965
+ trajectory,
966
+ routingDecision: routingInfo,
967
+ playbooksUsed: playbookMatches,
968
+ });
969
+
970
+ // Bridge template output into MetaLearner storage
971
+ const playbookIds = playbookMatches.map(p => p.playbook.id);
972
+ const actualEffort = trajectory.llmCalls ?? trajectory.steps.length;
973
+ await this.metaLearner.recordFromReflection(
974
+ result.output,
975
+ trajectory.id,
976
+ routingInfo,
977
+ playbookIds,
978
+ actualEffort,
979
+ );
980
+ return;
981
+ } catch (error) {
982
+ console.error(
983
+ 'Workspace-based meta-reflection failed, falling back to heuristic:',
984
+ error instanceof Error ? error.message : error
985
+ );
986
+ }
987
+ }
988
+
989
+ // Heuristic fallback
990
+ await this.metaLearner.generateReflection(
991
+ trajectory,
992
+ routingInfo,
993
+ playbookMatches,
994
+ );
995
+ }
996
+
997
+ /**
998
+ * Get the meta learner for direct access
515
999
  */
1000
+ getMetaLearner(): MetaLearner | null {
1001
+ return this.metaLearner;
1002
+ }
1003
+
1004
+ /**
1005
+ * Get the effectiveness tracker for direct access
1006
+ */
1007
+ getEffectivenessTracker(): LearningEffectivenessTracker | null {
1008
+ return this.effectivenessTracker;
1009
+ }
1010
+
516
1011
  async close(): Promise<void> {
517
1012
  // Stop MCP server if running
518
1013
  await this.stopMCPServer();
@@ -521,6 +1016,22 @@ export class Atlas {
521
1016
  if (this.learning.getAccumulatedCount() > 0) {
522
1017
  await this.learning.runBatchLearning();
523
1018
  }
1019
+
1020
+ // Flush team learning pipeline
1021
+ if (this.teamLearning && this.teamLearning.getAccumulatedCount() > 0) {
1022
+ await this.teamLearning.runBatchLearning();
1023
+ }
1024
+
1025
+ // Close effectiveness tracker
1026
+ if (this.effectivenessTracker) {
1027
+ await this.effectivenessTracker.close();
1028
+ }
1029
+
1030
+ // Close skill-tree storage
1031
+ if (this.skillTreeStorage) {
1032
+ this.skillTreeStorage.close();
1033
+ }
1034
+
524
1035
  // Close memory system
525
1036
  await this.memory.close();
526
1037
  }
@@ -552,9 +1063,10 @@ export function createAtlasWithProvider(
552
1063
  */
553
1064
  export function createAtlasWithAgents(
554
1065
  backends: AgentBackend[],
555
- config?: Partial<AtlasConfig>
1066
+ config?: Partial<AtlasConfig>,
1067
+ options?: { delegate?: AgentDelegate }
556
1068
  ): Atlas {
557
1069
  const atlas = new Atlas(config);
558
- atlas.setAgentManager(backends);
1070
+ atlas.setAgentManager(backends, options);
559
1071
  return atlas;
560
1072
  }