cognitive-core 0.0.2 → 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 (857) 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 +563 -107
  5. package/SKILL.md +193 -0
  6. package/dist/agents/index.d.ts +3 -0
  7. package/dist/agents/index.d.ts.map +1 -0
  8. package/dist/agents/index.js +5 -0
  9. package/dist/agents/index.js.map +1 -0
  10. package/dist/agents/mock-provider.d.ts +23 -0
  11. package/dist/agents/mock-provider.d.ts.map +1 -0
  12. package/dist/agents/mock-provider.js +71 -0
  13. package/dist/agents/mock-provider.js.map +1 -0
  14. package/dist/agents/types.d.ts +98 -0
  15. package/dist/agents/types.d.ts.map +1 -0
  16. package/dist/agents/types.js +44 -0
  17. package/dist/agents/types.js.map +1 -0
  18. package/dist/atlas.d.ts +334 -0
  19. package/dist/atlas.d.ts.map +1 -0
  20. package/dist/atlas.js +702 -0
  21. package/dist/atlas.js.map +1 -0
  22. package/dist/bin/cognitive-core.d.ts +18 -0
  23. package/dist/bin/cognitive-core.d.ts.map +1 -0
  24. package/dist/bin/cognitive-core.js +419 -0
  25. package/dist/bin/cognitive-core.js.map +1 -0
  26. package/dist/embeddings/bm25.d.ts +104 -0
  27. package/dist/embeddings/bm25.d.ts.map +1 -0
  28. package/dist/embeddings/bm25.js +264 -0
  29. package/dist/embeddings/bm25.js.map +1 -0
  30. package/dist/embeddings/index.d.ts +12 -0
  31. package/dist/embeddings/index.d.ts.map +1 -0
  32. package/dist/embeddings/index.js +16 -0
  33. package/dist/embeddings/index.js.map +1 -0
  34. package/dist/embeddings/manager.d.ts +112 -0
  35. package/dist/embeddings/manager.d.ts.map +1 -0
  36. package/dist/embeddings/manager.js +215 -0
  37. package/dist/embeddings/manager.js.map +1 -0
  38. package/dist/embeddings/provider.d.ts +101 -0
  39. package/dist/embeddings/provider.d.ts.map +1 -0
  40. package/dist/embeddings/provider.js +235 -0
  41. package/dist/embeddings/provider.js.map +1 -0
  42. package/dist/embeddings/vector-store.d.ts +101 -0
  43. package/dist/embeddings/vector-store.d.ts.map +1 -0
  44. package/dist/embeddings/vector-store.js +256 -0
  45. package/dist/embeddings/vector-store.js.map +1 -0
  46. package/dist/factory.d.ts +193 -0
  47. package/dist/factory.d.ts.map +1 -0
  48. package/dist/factory.js +109 -0
  49. package/dist/factory.js.map +1 -0
  50. package/dist/index.d.ts +32 -453
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +115 -509
  53. package/dist/index.js.map +1 -0
  54. package/dist/learning/analyzer.d.ts +110 -0
  55. package/dist/learning/analyzer.d.ts.map +1 -0
  56. package/dist/learning/analyzer.js +213 -0
  57. package/dist/learning/analyzer.js.map +1 -0
  58. package/dist/learning/effectiveness.d.ts +158 -0
  59. package/dist/learning/effectiveness.d.ts.map +1 -0
  60. package/dist/learning/effectiveness.js +251 -0
  61. package/dist/learning/effectiveness.js.map +1 -0
  62. package/dist/learning/index.d.ts +12 -0
  63. package/dist/learning/index.d.ts.map +1 -0
  64. package/dist/learning/index.js +17 -0
  65. package/dist/learning/index.js.map +1 -0
  66. package/dist/learning/knowledge-extractor.d.ts +56 -0
  67. package/dist/learning/knowledge-extractor.d.ts.map +1 -0
  68. package/dist/learning/knowledge-extractor.js +336 -0
  69. package/dist/learning/knowledge-extractor.js.map +1 -0
  70. package/dist/learning/llm-extractor.d.ts +88 -0
  71. package/dist/learning/llm-extractor.d.ts.map +1 -0
  72. package/dist/learning/llm-extractor.js +372 -0
  73. package/dist/learning/llm-extractor.js.map +1 -0
  74. package/dist/learning/meta-learner.d.ts +87 -0
  75. package/dist/learning/meta-learner.d.ts.map +1 -0
  76. package/dist/learning/meta-learner.js +398 -0
  77. package/dist/learning/meta-learner.js.map +1 -0
  78. package/dist/learning/pipeline.d.ts +89 -0
  79. package/dist/learning/pipeline.d.ts.map +1 -0
  80. package/dist/learning/pipeline.js +236 -0
  81. package/dist/learning/pipeline.js.map +1 -0
  82. package/dist/learning/playbook-extractor.d.ts +113 -0
  83. package/dist/learning/playbook-extractor.d.ts.map +1 -0
  84. package/dist/learning/playbook-extractor.js +523 -0
  85. package/dist/learning/playbook-extractor.js.map +1 -0
  86. package/dist/learning/team-ingester.d.ts +152 -0
  87. package/dist/learning/team-ingester.d.ts.map +1 -0
  88. package/dist/learning/team-ingester.js +333 -0
  89. package/dist/learning/team-ingester.js.map +1 -0
  90. package/dist/learning/team-meta-learner.d.ts +50 -0
  91. package/dist/learning/team-meta-learner.d.ts.map +1 -0
  92. package/dist/learning/team-meta-learner.js +417 -0
  93. package/dist/learning/team-meta-learner.js.map +1 -0
  94. package/dist/learning/team-pipeline.d.ts +76 -0
  95. package/dist/learning/team-pipeline.d.ts.map +1 -0
  96. package/dist/learning/team-pipeline.js +266 -0
  97. package/dist/learning/team-pipeline.js.map +1 -0
  98. package/dist/learning/trajectory-sources/dataclaw.d.ts +41 -0
  99. package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -0
  100. package/dist/learning/trajectory-sources/dataclaw.js +330 -0
  101. package/dist/learning/trajectory-sources/dataclaw.js.map +1 -0
  102. package/dist/learning/trajectory-sources/entire.d.ts +28 -0
  103. package/dist/learning/trajectory-sources/entire.d.ts.map +1 -0
  104. package/dist/learning/trajectory-sources/entire.js +182 -0
  105. package/dist/learning/trajectory-sources/entire.js.map +1 -0
  106. package/dist/learning/trajectory-sources/file.d.ts +23 -0
  107. package/dist/learning/trajectory-sources/file.d.ts.map +1 -0
  108. package/dist/learning/trajectory-sources/file.js +101 -0
  109. package/dist/learning/trajectory-sources/file.js.map +1 -0
  110. package/dist/learning/trajectory-sources/huggingface.d.ts +36 -0
  111. package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -0
  112. package/dist/learning/trajectory-sources/huggingface.js +157 -0
  113. package/dist/learning/trajectory-sources/huggingface.js.map +1 -0
  114. package/dist/learning/trajectory-sources/in-memory.d.ts +21 -0
  115. package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -0
  116. package/dist/learning/trajectory-sources/in-memory.js +43 -0
  117. package/dist/learning/trajectory-sources/in-memory.js.map +1 -0
  118. package/dist/learning/trajectory-sources/index.d.ts +7 -0
  119. package/dist/learning/trajectory-sources/index.d.ts.map +1 -0
  120. package/dist/learning/trajectory-sources/index.js +7 -0
  121. package/dist/learning/trajectory-sources/index.js.map +1 -0
  122. package/dist/learning/trajectory-sources/pipeline.d.ts +24 -0
  123. package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -0
  124. package/dist/learning/trajectory-sources/pipeline.js +47 -0
  125. package/dist/learning/trajectory-sources/pipeline.js.map +1 -0
  126. package/dist/learning/usage-inference.d.ts +82 -0
  127. package/dist/learning/usage-inference.d.ts.map +1 -0
  128. package/dist/learning/usage-inference.js +261 -0
  129. package/dist/learning/usage-inference.js.map +1 -0
  130. package/dist/mcp/index.d.ts +6 -0
  131. package/dist/mcp/index.d.ts.map +1 -0
  132. package/dist/mcp/index.js +6 -0
  133. package/dist/mcp/index.js.map +1 -0
  134. package/dist/mcp/playbook-server.d.ts +120 -0
  135. package/dist/mcp/playbook-server.d.ts.map +1 -0
  136. package/dist/mcp/playbook-server.js +427 -0
  137. package/dist/mcp/playbook-server.js.map +1 -0
  138. package/dist/memory/curated-loader.d.ts +62 -0
  139. package/dist/memory/curated-loader.d.ts.map +1 -0
  140. package/dist/memory/curated-loader.js +106 -0
  141. package/dist/memory/curated-loader.js.map +1 -0
  142. package/dist/memory/experience.d.ts +122 -0
  143. package/dist/memory/experience.d.ts.map +1 -0
  144. package/dist/memory/experience.js +392 -0
  145. package/dist/memory/experience.js.map +1 -0
  146. package/dist/memory/graph-layers/base.d.ts +29 -0
  147. package/dist/memory/graph-layers/base.d.ts.map +1 -0
  148. package/dist/memory/graph-layers/base.js +143 -0
  149. package/dist/memory/graph-layers/base.js.map +1 -0
  150. package/dist/memory/graph-layers/causal.d.ts +14 -0
  151. package/dist/memory/graph-layers/causal.d.ts.map +1 -0
  152. package/dist/memory/graph-layers/causal.js +14 -0
  153. package/dist/memory/graph-layers/causal.js.map +1 -0
  154. package/dist/memory/graph-layers/entity.d.ts +14 -0
  155. package/dist/memory/graph-layers/entity.d.ts.map +1 -0
  156. package/dist/memory/graph-layers/entity.js +14 -0
  157. package/dist/memory/graph-layers/entity.js.map +1 -0
  158. package/dist/memory/graph-layers/index.d.ts +6 -0
  159. package/dist/memory/graph-layers/index.d.ts.map +1 -0
  160. package/dist/memory/graph-layers/index.js +6 -0
  161. package/dist/memory/graph-layers/index.js.map +1 -0
  162. package/dist/memory/graph-layers/semantic.d.ts +14 -0
  163. package/dist/memory/graph-layers/semantic.d.ts.map +1 -0
  164. package/dist/memory/graph-layers/semantic.js +14 -0
  165. package/dist/memory/graph-layers/semantic.js.map +1 -0
  166. package/dist/memory/graph-layers/temporal.d.ts +14 -0
  167. package/dist/memory/graph-layers/temporal.d.ts.map +1 -0
  168. package/dist/memory/graph-layers/temporal.js +14 -0
  169. package/dist/memory/graph-layers/temporal.js.map +1 -0
  170. package/dist/memory/index.d.ts +14 -0
  171. package/dist/memory/index.d.ts.map +1 -0
  172. package/dist/memory/index.js +19 -0
  173. package/dist/memory/index.js.map +1 -0
  174. package/dist/memory/knowledge-bank.d.ts +220 -0
  175. package/dist/memory/knowledge-bank.d.ts.map +1 -0
  176. package/dist/memory/knowledge-bank.js +1003 -0
  177. package/dist/memory/knowledge-bank.js.map +1 -0
  178. package/dist/memory/knowledge-defrag.d.ts +49 -0
  179. package/dist/memory/knowledge-defrag.d.ts.map +1 -0
  180. package/dist/memory/knowledge-defrag.js +257 -0
  181. package/dist/memory/knowledge-defrag.js.map +1 -0
  182. package/dist/memory/knowledge-graph.d.ts +41 -0
  183. package/dist/memory/knowledge-graph.d.ts.map +1 -0
  184. package/dist/memory/knowledge-graph.js +273 -0
  185. package/dist/memory/knowledge-graph.js.map +1 -0
  186. package/dist/memory/meta.d.ts +90 -0
  187. package/dist/memory/meta.d.ts.map +1 -0
  188. package/dist/memory/meta.js +362 -0
  189. package/dist/memory/meta.js.map +1 -0
  190. package/dist/memory/playbook.d.ts +133 -0
  191. package/dist/memory/playbook.d.ts.map +1 -0
  192. package/dist/memory/playbook.js +357 -0
  193. package/dist/memory/playbook.js.map +1 -0
  194. package/dist/memory/search-provider.d.ts +31 -0
  195. package/dist/memory/search-provider.d.ts.map +1 -0
  196. package/dist/memory/search-provider.js +2 -0
  197. package/dist/memory/search-provider.js.map +1 -0
  198. package/dist/memory/search-providers/index.d.ts +3 -0
  199. package/dist/memory/search-providers/index.d.ts.map +1 -0
  200. package/dist/memory/search-providers/index.js +3 -0
  201. package/dist/memory/search-providers/index.js.map +1 -0
  202. package/dist/memory/search-providers/minimem.d.ts +43 -0
  203. package/dist/memory/search-providers/minimem.d.ts.map +1 -0
  204. package/dist/memory/search-providers/minimem.js +56 -0
  205. package/dist/memory/search-providers/minimem.js.map +1 -0
  206. package/dist/memory/search-providers/text-similarity.d.ts +15 -0
  207. package/dist/memory/search-providers/text-similarity.d.ts.map +1 -0
  208. package/dist/memory/search-providers/text-similarity.js +21 -0
  209. package/dist/memory/search-providers/text-similarity.js.map +1 -0
  210. package/dist/memory/skill-exporter.d.ts +75 -0
  211. package/dist/memory/skill-exporter.d.ts.map +1 -0
  212. package/dist/memory/skill-exporter.js +248 -0
  213. package/dist/memory/skill-exporter.js.map +1 -0
  214. package/dist/memory/system.d.ts +179 -0
  215. package/dist/memory/system.d.ts.map +1 -0
  216. package/dist/memory/system.js +421 -0
  217. package/dist/memory/system.js.map +1 -0
  218. package/dist/memory/team-experience.d.ts +298 -0
  219. package/dist/memory/team-experience.d.ts.map +1 -0
  220. package/dist/memory/team-experience.js +355 -0
  221. package/dist/memory/team-experience.js.map +1 -0
  222. package/dist/runtime/backends/acp-protocol.d.ts +49 -0
  223. package/dist/runtime/backends/acp-protocol.d.ts.map +1 -0
  224. package/dist/runtime/backends/acp-protocol.js +166 -0
  225. package/dist/runtime/backends/acp-protocol.js.map +1 -0
  226. package/dist/runtime/backends/acp.d.ts +67 -0
  227. package/dist/runtime/backends/acp.d.ts.map +1 -0
  228. package/dist/runtime/backends/acp.js +166 -0
  229. package/dist/runtime/backends/acp.js.map +1 -0
  230. package/dist/runtime/backends/index.d.ts +7 -0
  231. package/dist/runtime/backends/index.d.ts.map +1 -0
  232. package/dist/runtime/backends/index.js +8 -0
  233. package/dist/runtime/backends/index.js.map +1 -0
  234. package/dist/runtime/backends/macro-agent.d.ts +104 -0
  235. package/dist/runtime/backends/macro-agent.d.ts.map +1 -0
  236. package/dist/runtime/backends/macro-agent.js +107 -0
  237. package/dist/runtime/backends/macro-agent.js.map +1 -0
  238. package/dist/runtime/backends/mock.d.ts +67 -0
  239. package/dist/runtime/backends/mock.d.ts.map +1 -0
  240. package/dist/runtime/backends/mock.js +153 -0
  241. package/dist/runtime/backends/mock.js.map +1 -0
  242. package/dist/runtime/backends/subprocess.d.ts +56 -0
  243. package/dist/runtime/backends/subprocess.d.ts.map +1 -0
  244. package/dist/runtime/backends/subprocess.js +260 -0
  245. package/dist/runtime/backends/subprocess.js.map +1 -0
  246. package/dist/runtime/compute-provider.d.ts +87 -0
  247. package/dist/runtime/compute-provider.d.ts.map +1 -0
  248. package/dist/runtime/compute-provider.js +87 -0
  249. package/dist/runtime/compute-provider.js.map +1 -0
  250. package/dist/runtime/flows/learning.d.ts +73 -0
  251. package/dist/runtime/flows/learning.d.ts.map +1 -0
  252. package/dist/runtime/flows/learning.js +116 -0
  253. package/dist/runtime/flows/learning.js.map +1 -0
  254. package/dist/runtime/flows/validation.d.ts +122 -0
  255. package/dist/runtime/flows/validation.d.ts.map +1 -0
  256. package/dist/runtime/flows/validation.js +223 -0
  257. package/dist/runtime/flows/validation.js.map +1 -0
  258. package/dist/runtime/index.d.ts +7 -0
  259. package/dist/runtime/index.d.ts.map +1 -0
  260. package/dist/runtime/index.js +10 -0
  261. package/dist/runtime/index.js.map +1 -0
  262. package/dist/runtime/manager.d.ts +149 -0
  263. package/dist/runtime/manager.d.ts.map +1 -0
  264. package/dist/runtime/manager.js +535 -0
  265. package/dist/runtime/manager.js.map +1 -0
  266. package/dist/runtime/types.d.ts +176 -0
  267. package/dist/runtime/types.d.ts.map +1 -0
  268. package/dist/runtime/types.js +2 -0
  269. package/dist/runtime/types.js.map +1 -0
  270. package/dist/search/evaluator.d.ts +109 -0
  271. package/dist/search/evaluator.d.ts.map +1 -0
  272. package/dist/search/evaluator.js +372 -0
  273. package/dist/search/evaluator.js.map +1 -0
  274. package/dist/search/index.d.ts +8 -0
  275. package/dist/search/index.d.ts.map +1 -0
  276. package/dist/search/index.js +13 -0
  277. package/dist/search/index.js.map +1 -0
  278. package/dist/search/refinement-loop.d.ts +90 -0
  279. package/dist/search/refinement-loop.d.ts.map +1 -0
  280. package/dist/search/refinement-loop.js +316 -0
  281. package/dist/search/refinement-loop.js.map +1 -0
  282. package/dist/search/refinement-types.d.ts +154 -0
  283. package/dist/search/refinement-types.d.ts.map +1 -0
  284. package/dist/search/refinement-types.js +99 -0
  285. package/dist/search/refinement-types.js.map +1 -0
  286. package/dist/search/router.d.ts +61 -0
  287. package/dist/search/router.d.ts.map +1 -0
  288. package/dist/search/router.js +197 -0
  289. package/dist/search/router.js.map +1 -0
  290. package/dist/search/solver.d.ts +75 -0
  291. package/dist/search/solver.d.ts.map +1 -0
  292. package/dist/search/solver.js +216 -0
  293. package/dist/search/solver.js.map +1 -0
  294. package/dist/search/team-router.d.ts +91 -0
  295. package/dist/search/team-router.d.ts.map +1 -0
  296. package/dist/search/team-router.js +315 -0
  297. package/dist/search/team-router.js.map +1 -0
  298. package/dist/search/verification-runner.d.ts +125 -0
  299. package/dist/search/verification-runner.d.ts.map +1 -0
  300. package/dist/search/verification-runner.js +440 -0
  301. package/dist/search/verification-runner.js.map +1 -0
  302. package/dist/session-bank/git-reader.d.ts +39 -0
  303. package/dist/session-bank/git-reader.d.ts.map +1 -0
  304. package/dist/session-bank/git-reader.js +165 -0
  305. package/dist/session-bank/git-reader.js.map +1 -0
  306. package/dist/session-bank/index.d.ts +5 -0
  307. package/dist/session-bank/index.d.ts.map +1 -0
  308. package/dist/session-bank/index.js +4 -0
  309. package/dist/session-bank/index.js.map +1 -0
  310. package/dist/session-bank/parser.d.ts +39 -0
  311. package/dist/session-bank/parser.d.ts.map +1 -0
  312. package/dist/session-bank/parser.js +231 -0
  313. package/dist/session-bank/parser.js.map +1 -0
  314. package/dist/session-bank/session-bank.d.ts +35 -0
  315. package/dist/session-bank/session-bank.d.ts.map +1 -0
  316. package/dist/session-bank/session-bank.js +326 -0
  317. package/dist/session-bank/session-bank.js.map +1 -0
  318. package/dist/session-bank/types.d.ts +129 -0
  319. package/dist/session-bank/types.d.ts.map +1 -0
  320. package/dist/session-bank/types.js +7 -0
  321. package/dist/session-bank/types.js.map +1 -0
  322. package/dist/surfacing/index.d.ts +6 -0
  323. package/dist/surfacing/index.d.ts.map +1 -0
  324. package/dist/surfacing/index.js +5 -0
  325. package/dist/surfacing/index.js.map +1 -0
  326. package/dist/surfacing/publisher.d.ts +22 -0
  327. package/dist/surfacing/publisher.d.ts.map +1 -0
  328. package/dist/surfacing/publisher.js +9 -0
  329. package/dist/surfacing/publisher.js.map +1 -0
  330. package/dist/surfacing/skill-library.d.ts +170 -0
  331. package/dist/surfacing/skill-library.d.ts.map +1 -0
  332. package/dist/surfacing/skill-library.js +455 -0
  333. package/dist/surfacing/skill-library.js.map +1 -0
  334. package/dist/surfacing/skill-publisher.d.ts +43 -0
  335. package/dist/surfacing/skill-publisher.d.ts.map +1 -0
  336. package/dist/surfacing/skill-publisher.js +197 -0
  337. package/dist/surfacing/skill-publisher.js.map +1 -0
  338. package/dist/surfacing/sqlite-storage-adapter.d.ts +42 -0
  339. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -0
  340. package/dist/surfacing/sqlite-storage-adapter.js +207 -0
  341. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -0
  342. package/dist/surfacing/team-skill-library.d.ts +180 -0
  343. package/dist/surfacing/team-skill-library.d.ts.map +1 -0
  344. package/dist/surfacing/team-skill-library.js +384 -0
  345. package/dist/surfacing/team-skill-library.js.map +1 -0
  346. package/dist/types/config.d.ts +2287 -0
  347. package/dist/types/config.d.ts.map +1 -0
  348. package/dist/types/config.js +490 -0
  349. package/dist/types/config.js.map +1 -0
  350. package/dist/types/dataclaw.d.ts +286 -0
  351. package/dist/types/dataclaw.d.ts.map +1 -0
  352. package/dist/types/dataclaw.js +84 -0
  353. package/dist/types/dataclaw.js.map +1 -0
  354. package/dist/types/index.d.ts +16 -0
  355. package/dist/types/index.d.ts.map +1 -0
  356. package/dist/types/index.js +26 -0
  357. package/dist/types/index.js.map +1 -0
  358. package/dist/types/knowledge-graph.d.ts +148 -0
  359. package/dist/types/knowledge-graph.d.ts.map +1 -0
  360. package/dist/types/knowledge-graph.js +40 -0
  361. package/dist/types/knowledge-graph.js.map +1 -0
  362. package/dist/types/knowledge.d.ts +280 -0
  363. package/dist/types/knowledge.d.ts.map +1 -0
  364. package/dist/types/knowledge.js +191 -0
  365. package/dist/types/knowledge.js.map +1 -0
  366. package/dist/types/memory.d.ts +339 -0
  367. package/dist/types/memory.d.ts.map +1 -0
  368. package/dist/types/memory.js +207 -0
  369. package/dist/types/memory.js.map +1 -0
  370. package/dist/types/meta.d.ts +146 -0
  371. package/dist/types/meta.d.ts.map +1 -0
  372. package/dist/types/meta.js +51 -0
  373. package/dist/types/meta.js.map +1 -0
  374. package/dist/types/outcome.d.ts +42 -0
  375. package/dist/types/outcome.d.ts.map +1 -0
  376. package/dist/types/outcome.js +50 -0
  377. package/dist/types/outcome.js.map +1 -0
  378. package/dist/types/playbook.d.ts +119 -0
  379. package/dist/types/playbook.d.ts.map +1 -0
  380. package/dist/types/playbook.js +71 -0
  381. package/dist/types/playbook.js.map +1 -0
  382. package/dist/types/step.d.ts +44 -0
  383. package/dist/types/step.d.ts.map +1 -0
  384. package/dist/types/step.js +32 -0
  385. package/dist/types/step.js.map +1 -0
  386. package/dist/types/task.d.ts +91 -0
  387. package/dist/types/task.d.ts.map +1 -0
  388. package/dist/types/task.js +39 -0
  389. package/dist/types/task.js.map +1 -0
  390. package/dist/types/team-meta.d.ts +160 -0
  391. package/dist/types/team-meta.d.ts.map +1 -0
  392. package/dist/types/team-meta.js +42 -0
  393. package/dist/types/team-meta.js.map +1 -0
  394. package/dist/types/team-playbook.d.ts +276 -0
  395. package/dist/types/team-playbook.d.ts.map +1 -0
  396. package/dist/types/team-playbook.js +85 -0
  397. package/dist/types/team-playbook.js.map +1 -0
  398. package/dist/types/team-trajectory.d.ts +305 -0
  399. package/dist/types/team-trajectory.d.ts.map +1 -0
  400. package/dist/types/team-trajectory.js +304 -0
  401. package/dist/types/team-trajectory.js.map +1 -0
  402. package/dist/types/trajectory-source.d.ts +39 -0
  403. package/dist/types/trajectory-source.d.ts.map +1 -0
  404. package/dist/types/trajectory-source.js +2 -0
  405. package/dist/types/trajectory-source.js.map +1 -0
  406. package/dist/types/trajectory.d.ts +221 -0
  407. package/dist/types/trajectory.d.ts.map +1 -0
  408. package/dist/types/trajectory.js +60 -0
  409. package/dist/types/trajectory.js.map +1 -0
  410. package/dist/utils/frontmatter.d.ts +34 -0
  411. package/dist/utils/frontmatter.d.ts.map +1 -0
  412. package/dist/utils/frontmatter.js +93 -0
  413. package/dist/utils/frontmatter.js.map +1 -0
  414. package/dist/utils/index.d.ts +5 -0
  415. package/dist/utils/index.d.ts.map +1 -0
  416. package/dist/utils/index.js +5 -0
  417. package/dist/utils/index.js.map +1 -0
  418. package/dist/utils/similarity.d.ts +31 -0
  419. package/dist/utils/similarity.d.ts.map +1 -0
  420. package/dist/utils/similarity.js +107 -0
  421. package/dist/utils/similarity.js.map +1 -0
  422. package/dist/utils/storage.d.ts +106 -0
  423. package/dist/utils/storage.d.ts.map +1 -0
  424. package/dist/utils/storage.js +203 -0
  425. package/dist/utils/storage.js.map +1 -0
  426. package/dist/utils/validation.d.ts +129 -0
  427. package/dist/utils/validation.d.ts.map +1 -0
  428. package/dist/utils/validation.js +171 -0
  429. package/dist/utils/validation.js.map +1 -0
  430. package/dist/workspace/index.d.ts +6 -0
  431. package/dist/workspace/index.d.ts.map +1 -0
  432. package/dist/workspace/index.js +11 -0
  433. package/dist/workspace/index.js.map +1 -0
  434. package/dist/workspace/runner.d.ts +50 -0
  435. package/dist/workspace/runner.d.ts.map +1 -0
  436. package/dist/workspace/runner.js +219 -0
  437. package/dist/workspace/runner.js.map +1 -0
  438. package/dist/workspace/skill-converter.d.ts +18 -0
  439. package/dist/workspace/skill-converter.d.ts.map +1 -0
  440. package/dist/workspace/skill-converter.js +257 -0
  441. package/dist/workspace/skill-converter.js.map +1 -0
  442. package/dist/workspace/templates/index.d.ts +11 -0
  443. package/dist/workspace/templates/index.d.ts.map +1 -0
  444. package/dist/workspace/templates/index.js +21 -0
  445. package/dist/workspace/templates/index.js.map +1 -0
  446. package/dist/workspace/templates/knowledge-defrag.d.ts +25 -0
  447. package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -0
  448. package/dist/workspace/templates/knowledge-defrag.js +154 -0
  449. package/dist/workspace/templates/knowledge-defrag.js.map +1 -0
  450. package/dist/workspace/templates/knowledge-extraction.d.ts +25 -0
  451. package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -0
  452. package/dist/workspace/templates/knowledge-extraction.js +246 -0
  453. package/dist/workspace/templates/knowledge-extraction.js.map +1 -0
  454. package/dist/workspace/templates/meta-reflection.d.ts +47 -0
  455. package/dist/workspace/templates/meta-reflection.d.ts.map +1 -0
  456. package/dist/workspace/templates/meta-reflection.js +135 -0
  457. package/dist/workspace/templates/meta-reflection.js.map +1 -0
  458. package/dist/workspace/templates/playbook-extraction.d.ts +20 -0
  459. package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -0
  460. package/dist/workspace/templates/playbook-extraction.js +189 -0
  461. package/dist/workspace/templates/playbook-extraction.js.map +1 -0
  462. package/dist/workspace/templates/refinement-analysis.d.ts +31 -0
  463. package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -0
  464. package/dist/workspace/templates/refinement-analysis.js +107 -0
  465. package/dist/workspace/templates/refinement-analysis.js.map +1 -0
  466. package/dist/workspace/templates/solution-evaluation.d.ts +21 -0
  467. package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -0
  468. package/dist/workspace/templates/solution-evaluation.js +131 -0
  469. package/dist/workspace/templates/solution-evaluation.js.map +1 -0
  470. package/dist/workspace/templates/team-playbook-extraction.d.ts +44 -0
  471. package/dist/workspace/templates/team-playbook-extraction.d.ts.map +1 -0
  472. package/dist/workspace/templates/team-playbook-extraction.js +497 -0
  473. package/dist/workspace/templates/team-playbook-extraction.js.map +1 -0
  474. package/dist/workspace/templates/team-trajectory-analysis.d.ts +19 -0
  475. package/dist/workspace/templates/team-trajectory-analysis.d.ts.map +1 -0
  476. package/dist/workspace/templates/team-trajectory-analysis.js +442 -0
  477. package/dist/workspace/templates/team-trajectory-analysis.js.map +1 -0
  478. package/dist/workspace/templates/trajectory-analysis.d.ts +19 -0
  479. package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -0
  480. package/dist/workspace/templates/trajectory-analysis.js +170 -0
  481. package/dist/workspace/templates/trajectory-analysis.js.map +1 -0
  482. package/dist/workspace/templates/usage-inference.d.ts +19 -0
  483. package/dist/workspace/templates/usage-inference.d.ts.map +1 -0
  484. package/dist/workspace/templates/usage-inference.js +125 -0
  485. package/dist/workspace/templates/usage-inference.js.map +1 -0
  486. package/dist/workspace/types.d.ts +145 -0
  487. package/dist/workspace/types.d.ts.map +1 -0
  488. package/dist/workspace/types.js +17 -0
  489. package/dist/workspace/types.js.map +1 -0
  490. package/docs/DESIGN-agentic-workspace.md +2057 -0
  491. package/docs/DESIGN-semantic-memory-knowledge-bank.md +1789 -0
  492. package/docs/DESIGN-session-bank.md +1134 -0
  493. package/docs/DESIGN-team-extraction-pipeline.md +1369 -0
  494. package/docs/DESIGN-workspace-migration.md +1079 -0
  495. package/docs/PLAN-agentic-workspace-implementation.md +717 -0
  496. package/docs/PLAN-graph-migration.md +299 -0
  497. package/docs/PLAN-session-bank-implementation.md +474 -0
  498. package/docs/PROPOSAL-team-aware-learning.md +1080 -0
  499. package/docs/RESEARCH-semantic-memory-knowledge-structures.md +517 -0
  500. package/docs/RESEARCH-team-trajectory-learning.md +553 -0
  501. package/gaps.md +204 -0
  502. package/package.json +67 -33
  503. package/references/agent-workspace/CLAUDE.md +74 -0
  504. package/references/agent-workspace/README.md +587 -0
  505. package/references/agent-workspace/media/banner.png +0 -0
  506. package/references/agent-workspace/package-lock.json +2061 -0
  507. package/references/agent-workspace/package.json +54 -0
  508. package/references/agent-workspace/src/handle.ts +122 -0
  509. package/references/agent-workspace/src/index.ts +32 -0
  510. package/references/agent-workspace/src/manager.ts +102 -0
  511. package/references/agent-workspace/src/readers/json.ts +71 -0
  512. package/references/agent-workspace/src/readers/markdown.ts +37 -0
  513. package/references/agent-workspace/src/readers/raw.ts +27 -0
  514. package/references/agent-workspace/src/types.ts +68 -0
  515. package/references/agent-workspace/src/validation.ts +93 -0
  516. package/references/agent-workspace/src/writers/json.ts +17 -0
  517. package/references/agent-workspace/src/writers/markdown.ts +27 -0
  518. package/references/agent-workspace/src/writers/raw.ts +22 -0
  519. package/references/agent-workspace/tests/errors.test.ts +652 -0
  520. package/references/agent-workspace/tests/handle.test.ts +144 -0
  521. package/references/agent-workspace/tests/manager.test.ts +124 -0
  522. package/references/agent-workspace/tests/readers.test.ts +205 -0
  523. package/references/agent-workspace/tests/validation.test.ts +196 -0
  524. package/references/agent-workspace/tests/writers.test.ts +108 -0
  525. package/references/agent-workspace/tsconfig.json +20 -0
  526. package/references/agent-workspace/tsup.config.ts +9 -0
  527. package/references/minimem/.claude/settings.json +7 -0
  528. package/references/minimem/.sudocode/issues.jsonl +18 -0
  529. package/references/minimem/.sudocode/specs.jsonl +1 -0
  530. package/references/minimem/CLAUDE.md +310 -0
  531. package/references/minimem/README.md +556 -0
  532. package/references/minimem/claude-plugin/.claude-plugin/plugin.json +10 -0
  533. package/references/minimem/claude-plugin/.mcp.json +7 -0
  534. package/references/minimem/claude-plugin/README.md +158 -0
  535. package/references/minimem/claude-plugin/commands/recall.md +47 -0
  536. package/references/minimem/claude-plugin/commands/remember.md +41 -0
  537. package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +272 -0
  538. package/references/minimem/claude-plugin/hooks/hooks.json +27 -0
  539. package/references/minimem/claude-plugin/hooks/session-end.sh +86 -0
  540. package/references/minimem/claude-plugin/hooks/session-start.sh +85 -0
  541. package/references/minimem/claude-plugin/skills/memory/SKILL.md +108 -0
  542. package/references/minimem/package-lock.json +5373 -0
  543. package/references/minimem/package.json +60 -0
  544. package/references/minimem/scripts/postbuild.js +35 -0
  545. package/references/minimem/src/__tests__/edge-cases.test.ts +371 -0
  546. package/references/minimem/src/__tests__/errors.test.ts +265 -0
  547. package/references/minimem/src/__tests__/helpers.ts +199 -0
  548. package/references/minimem/src/__tests__/internal.test.ts +407 -0
  549. package/references/minimem/src/__tests__/knowledge.test.ts +287 -0
  550. package/references/minimem/src/__tests__/minimem.integration.test.ts +1127 -0
  551. package/references/minimem/src/__tests__/session.test.ts +190 -0
  552. package/references/minimem/src/cli/__tests__/commands.test.ts +759 -0
  553. package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +141 -0
  554. package/references/minimem/src/cli/commands/append.ts +76 -0
  555. package/references/minimem/src/cli/commands/config.ts +262 -0
  556. package/references/minimem/src/cli/commands/conflicts.ts +413 -0
  557. package/references/minimem/src/cli/commands/daemon.ts +169 -0
  558. package/references/minimem/src/cli/commands/index.ts +12 -0
  559. package/references/minimem/src/cli/commands/init.ts +88 -0
  560. package/references/minimem/src/cli/commands/mcp.ts +177 -0
  561. package/references/minimem/src/cli/commands/push-pull.ts +213 -0
  562. package/references/minimem/src/cli/commands/search.ts +158 -0
  563. package/references/minimem/src/cli/commands/status.ts +84 -0
  564. package/references/minimem/src/cli/commands/sync-init.ts +290 -0
  565. package/references/minimem/src/cli/commands/sync.ts +70 -0
  566. package/references/minimem/src/cli/commands/upsert.ts +197 -0
  567. package/references/minimem/src/cli/config.ts +584 -0
  568. package/references/minimem/src/cli/index.ts +264 -0
  569. package/references/minimem/src/cli/shared.ts +161 -0
  570. package/references/minimem/src/cli/sync/__tests__/central.test.ts +152 -0
  571. package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +209 -0
  572. package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +118 -0
  573. package/references/minimem/src/cli/sync/__tests__/detection.test.ts +207 -0
  574. package/references/minimem/src/cli/sync/__tests__/integration.test.ts +476 -0
  575. package/references/minimem/src/cli/sync/__tests__/registry.test.ts +363 -0
  576. package/references/minimem/src/cli/sync/__tests__/state.test.ts +255 -0
  577. package/references/minimem/src/cli/sync/__tests__/validation.test.ts +193 -0
  578. package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +178 -0
  579. package/references/minimem/src/cli/sync/central.ts +292 -0
  580. package/references/minimem/src/cli/sync/conflicts.ts +204 -0
  581. package/references/minimem/src/cli/sync/daemon.ts +407 -0
  582. package/references/minimem/src/cli/sync/detection.ts +138 -0
  583. package/references/minimem/src/cli/sync/index.ts +107 -0
  584. package/references/minimem/src/cli/sync/operations.ts +373 -0
  585. package/references/minimem/src/cli/sync/registry.ts +279 -0
  586. package/references/minimem/src/cli/sync/state.ts +355 -0
  587. package/references/minimem/src/cli/sync/validation.ts +206 -0
  588. package/references/minimem/src/cli/sync/watcher.ts +234 -0
  589. package/references/minimem/src/cli/version.ts +34 -0
  590. package/references/minimem/src/core/index.ts +9 -0
  591. package/references/minimem/src/core/indexer.ts +628 -0
  592. package/references/minimem/src/core/searcher.ts +221 -0
  593. package/references/minimem/src/db/schema.ts +183 -0
  594. package/references/minimem/src/db/sqlite-vec.ts +24 -0
  595. package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +431 -0
  596. package/references/minimem/src/embeddings/batch-gemini.ts +392 -0
  597. package/references/minimem/src/embeddings/batch-openai.ts +409 -0
  598. package/references/minimem/src/embeddings/embeddings.ts +434 -0
  599. package/references/minimem/src/index.ts +109 -0
  600. package/references/minimem/src/internal.ts +299 -0
  601. package/references/minimem/src/minimem.ts +1276 -0
  602. package/references/minimem/src/search/__tests__/hybrid.test.ts +247 -0
  603. package/references/minimem/src/search/graph.ts +234 -0
  604. package/references/minimem/src/search/hybrid.ts +151 -0
  605. package/references/minimem/src/search/search.ts +256 -0
  606. package/references/minimem/src/server/__tests__/mcp.test.ts +341 -0
  607. package/references/minimem/src/server/__tests__/tools.test.ts +364 -0
  608. package/references/minimem/src/server/mcp.ts +326 -0
  609. package/references/minimem/src/server/tools.ts +720 -0
  610. package/references/minimem/src/session.ts +460 -0
  611. package/references/minimem/tsconfig.json +19 -0
  612. package/references/minimem/tsup.config.ts +26 -0
  613. package/references/minimem/vitest.config.ts +24 -0
  614. package/references/skill-tree/.claude/settings.json +6 -0
  615. package/references/skill-tree/.sudocode/issues.jsonl +11 -0
  616. package/references/skill-tree/.sudocode/specs.jsonl +1 -0
  617. package/references/skill-tree/CLAUDE.md +150 -0
  618. package/references/skill-tree/README.md +324 -0
  619. package/references/skill-tree/docs/GAPS_v1.md +221 -0
  620. package/references/skill-tree/docs/INTEGRATION_PLAN.md +467 -0
  621. package/references/skill-tree/docs/TODOS.md +91 -0
  622. package/references/skill-tree/docs/anthropic_skill_guide.md +1364 -0
  623. package/references/skill-tree/docs/design/federated-skill-trees.md +524 -0
  624. package/references/skill-tree/docs/design/multi-agent-sync.md +759 -0
  625. package/references/skill-tree/docs/scraper/BRAINSTORM.md +583 -0
  626. package/references/skill-tree/docs/scraper/POC_PLAN.md +420 -0
  627. package/references/skill-tree/docs/scraper/README.md +170 -0
  628. package/references/skill-tree/examples/basic-usage.ts +190 -0
  629. package/references/skill-tree/package-lock.json +1509 -0
  630. package/references/skill-tree/package.json +66 -0
  631. package/references/skill-tree/scraper/README.md +123 -0
  632. package/references/skill-tree/scraper/docs/DESIGN.md +683 -0
  633. package/references/skill-tree/scraper/docs/PLAN.md +336 -0
  634. package/references/skill-tree/scraper/drizzle.config.ts +10 -0
  635. package/references/skill-tree/scraper/package-lock.json +6329 -0
  636. package/references/skill-tree/scraper/package.json +68 -0
  637. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +7 -0
  638. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +7 -0
  639. package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +27 -0
  640. package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +21 -0
  641. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +54 -0
  642. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +24 -0
  643. package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +93 -0
  644. package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +22 -0
  645. package/references/skill-tree/scraper/tsup.config.ts +14 -0
  646. package/references/skill-tree/scraper/vitest.config.ts +17 -0
  647. package/references/skill-tree/scripts/convert-to-vitest.ts +166 -0
  648. package/references/skill-tree/skills/skill-writer/SKILL.md +339 -0
  649. package/references/skill-tree/skills/skill-writer/references/examples.md +326 -0
  650. package/references/skill-tree/skills/skill-writer/references/patterns.md +210 -0
  651. package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +123 -0
  652. package/references/skill-tree/test/run-all.ts +106 -0
  653. package/references/skill-tree/test/utils.ts +128 -0
  654. package/references/skill-tree/vitest.config.ts +16 -0
  655. package/scripts/migrate-to-playbooks.ts +307 -0
  656. package/src/agents/index.ts +14 -0
  657. package/src/agents/mock-provider.ts +93 -0
  658. package/src/agents/types.ts +137 -0
  659. package/src/atlas.ts +1072 -0
  660. package/src/bin/cognitive-core.ts +470 -0
  661. package/src/embeddings/bm25.ts +337 -0
  662. package/src/embeddings/index.ts +39 -0
  663. package/src/embeddings/manager.ts +288 -0
  664. package/src/embeddings/provider.ts +318 -0
  665. package/src/embeddings/vector-store.ts +353 -0
  666. package/src/factory.ts +263 -0
  667. package/src/index.ts +368 -0
  668. package/src/learning/analyzer.ts +335 -0
  669. package/src/learning/effectiveness.ts +428 -0
  670. package/src/learning/index.ts +93 -0
  671. package/src/learning/knowledge-extractor.ts +470 -0
  672. package/src/learning/meta-learner.ts +570 -0
  673. package/src/learning/pipeline.ts +323 -0
  674. package/src/learning/playbook-extractor.ts +702 -0
  675. package/src/learning/team-ingester.ts +499 -0
  676. package/src/learning/team-meta-learner.ts +558 -0
  677. package/src/learning/team-pipeline.ts +364 -0
  678. package/src/learning/trajectory-sources/dataclaw.ts +403 -0
  679. package/src/learning/trajectory-sources/entire.ts +240 -0
  680. package/src/learning/trajectory-sources/file.ts +136 -0
  681. package/src/learning/trajectory-sources/huggingface.ts +248 -0
  682. package/src/learning/trajectory-sources/in-memory.ts +61 -0
  683. package/src/learning/trajectory-sources/index.ts +15 -0
  684. package/src/learning/trajectory-sources/pipeline.ts +69 -0
  685. package/src/learning/usage-inference.ts +372 -0
  686. package/src/mcp/index.ts +12 -0
  687. package/src/mcp/playbook-server.ts +565 -0
  688. package/src/memory/curated-loader.ts +160 -0
  689. package/src/memory/experience.ts +515 -0
  690. package/src/memory/graph-layers/base.ts +184 -0
  691. package/src/memory/graph-layers/causal.ts +16 -0
  692. package/src/memory/graph-layers/entity.ts +16 -0
  693. package/src/memory/graph-layers/index.ts +5 -0
  694. package/src/memory/graph-layers/semantic.ts +16 -0
  695. package/src/memory/graph-layers/temporal.ts +16 -0
  696. package/src/memory/index.ts +72 -0
  697. package/src/memory/knowledge-bank.ts +1260 -0
  698. package/src/memory/knowledge-defrag.ts +329 -0
  699. package/src/memory/knowledge-graph.ts +361 -0
  700. package/src/memory/meta.ts +506 -0
  701. package/src/memory/playbook.ts +493 -0
  702. package/src/memory/search-provider.ts +35 -0
  703. package/src/memory/search-providers/index.ts +3 -0
  704. package/src/memory/search-providers/minimem.ts +84 -0
  705. package/src/memory/search-providers/text-similarity.ts +35 -0
  706. package/src/memory/skill-exporter.ts +357 -0
  707. package/src/memory/system.ts +604 -0
  708. package/src/memory/team-experience.ts +604 -0
  709. package/src/runtime/backends/acp-protocol.ts +231 -0
  710. package/src/runtime/backends/acp.ts +239 -0
  711. package/src/runtime/backends/index.ts +38 -0
  712. package/src/runtime/backends/macro-agent.ts +177 -0
  713. package/src/runtime/backends/mock.ts +218 -0
  714. package/src/runtime/backends/subprocess.ts +356 -0
  715. package/src/runtime/compute-provider.ts +206 -0
  716. package/src/runtime/flows/learning.ts +183 -0
  717. package/src/runtime/flows/validation.ts +381 -0
  718. package/src/runtime/index.ts +75 -0
  719. package/src/runtime/manager.ts +685 -0
  720. package/src/runtime/types.ts +198 -0
  721. package/src/search/evaluator.ts +499 -0
  722. package/src/search/index.ts +68 -0
  723. package/src/search/refinement-loop.ts +457 -0
  724. package/src/search/refinement-types.ts +159 -0
  725. package/src/search/router.ts +261 -0
  726. package/src/search/solver.ts +303 -0
  727. package/src/search/team-router.ts +459 -0
  728. package/src/search/verification-runner.ts +570 -0
  729. package/src/session-bank/git-reader.ts +190 -0
  730. package/src/session-bank/index.ts +24 -0
  731. package/src/session-bank/parser.ts +366 -0
  732. package/src/session-bank/session-bank.ts +464 -0
  733. package/src/session-bank/types.ts +173 -0
  734. package/src/surfacing/index.ts +29 -0
  735. package/src/surfacing/publisher.ts +23 -0
  736. package/src/surfacing/skill-library.ts +625 -0
  737. package/src/surfacing/skill-publisher.ts +223 -0
  738. package/src/surfacing/sqlite-storage-adapter.ts +301 -0
  739. package/src/surfacing/team-skill-library.ts +610 -0
  740. package/src/types/config.ts +585 -0
  741. package/src/types/dataclaw.ts +99 -0
  742. package/src/types/huggingface-transformers.d.ts +12 -0
  743. package/src/types/index.ts +286 -0
  744. package/src/types/knowledge-graph.ts +246 -0
  745. package/src/types/knowledge.ts +388 -0
  746. package/src/types/memory.ts +270 -0
  747. package/src/types/meta.ts +218 -0
  748. package/src/types/outcome.ts +66 -0
  749. package/src/types/playbook.ts +196 -0
  750. package/src/types/step.ts +40 -0
  751. package/src/types/task.ts +52 -0
  752. package/src/types/team-meta.ts +212 -0
  753. package/src/types/team-playbook.ts +384 -0
  754. package/src/types/team-trajectory.ts +673 -0
  755. package/src/types/trajectory-source.ts +47 -0
  756. package/src/types/trajectory.ts +80 -0
  757. package/src/utils/frontmatter.ts +118 -0
  758. package/src/utils/index.ts +45 -0
  759. package/src/utils/similarity.ts +139 -0
  760. package/src/utils/storage.ts +249 -0
  761. package/src/utils/validation.ts +286 -0
  762. package/src/workspace/index.ts +48 -0
  763. package/src/workspace/runner.ts +281 -0
  764. package/src/workspace/skill-converter.ts +288 -0
  765. package/src/workspace/templates/index.ts +64 -0
  766. package/src/workspace/templates/knowledge-defrag.ts +223 -0
  767. package/src/workspace/templates/knowledge-extraction.ts +337 -0
  768. package/src/workspace/templates/meta-reflection.ts +208 -0
  769. package/src/workspace/templates/playbook-extraction.ts +240 -0
  770. package/src/workspace/templates/refinement-analysis.ts +162 -0
  771. package/src/workspace/templates/solution-evaluation.ts +199 -0
  772. package/src/workspace/templates/team-playbook-extraction.ts +631 -0
  773. package/src/workspace/templates/team-trajectory-analysis.ts +564 -0
  774. package/src/workspace/templates/trajectory-analysis.ts +234 -0
  775. package/src/workspace/templates/usage-inference.ts +163 -0
  776. package/src/workspace/types.ts +233 -0
  777. package/tests/atlas-knowledge.test.ts +165 -0
  778. package/tests/embeddings/bm25.test.ts +130 -0
  779. package/tests/embeddings/manager.test.ts +205 -0
  780. package/tests/gap-fixes.test.ts +1103 -0
  781. package/tests/integration/atlas.test.ts +266 -0
  782. package/tests/integration/dataclaw-e2e.test.ts +559 -0
  783. package/tests/integration/e2e.test.ts +1336 -0
  784. package/tests/integration/entire-e2e.test.ts +187 -0
  785. package/tests/integration/huggingface-e2e.test.ts +627 -0
  786. package/tests/integration/session-bank.test.ts +225 -0
  787. package/tests/integration/skill-tree-wiring.test.ts +152 -0
  788. package/tests/learning/analyzer.test.ts +426 -0
  789. package/tests/learning/dataclaw-trajectory-source.test.ts +642 -0
  790. package/tests/learning/effectiveness.test.ts +542 -0
  791. package/tests/learning/entire-trajectory-source.test.ts +380 -0
  792. package/tests/learning/huggingface-trajectory-source.test.ts +817 -0
  793. package/tests/learning/knowledge-extractor.test.ts +491 -0
  794. package/tests/learning/pipeline.test.ts +176 -0
  795. package/tests/learning/playbook-extractor-provenance.test.ts +114 -0
  796. package/tests/learning/team-ingester.test.ts +349 -0
  797. package/tests/learning/team-meta-learner.test.ts +618 -0
  798. package/tests/learning/team-pipeline.test.ts +334 -0
  799. package/tests/learning/trajectory-sources.test.ts +312 -0
  800. package/tests/learning/usage-inference.test.ts +254 -0
  801. package/tests/mcp/playbook-server.test.ts +252 -0
  802. package/tests/memory/experience.test.ts +198 -0
  803. package/tests/memory/graph-layers/semantic.test.ts +219 -0
  804. package/tests/memory/knowledge-bank-extraction.test.ts +558 -0
  805. package/tests/memory/knowledge-bank.test.ts +705 -0
  806. package/tests/memory/knowledge-defrag.test.ts +366 -0
  807. package/tests/memory/knowledge-evolution.test.ts +563 -0
  808. package/tests/memory/knowledge-graph.test.ts +492 -0
  809. package/tests/memory/knowledge-inbox.test.ts +258 -0
  810. package/tests/memory/knowledge-minimem.test.ts +251 -0
  811. package/tests/memory/playbook.test.ts +338 -0
  812. package/tests/memory/provenance.test.ts +639 -0
  813. package/tests/memory/skill-exporter.test.ts +470 -0
  814. package/tests/memory/system.test.ts +325 -0
  815. package/tests/memory/team-experience.test.ts +411 -0
  816. package/tests/runtime/agent-manager.test.ts +512 -0
  817. package/tests/runtime/compute-provider.test.ts +288 -0
  818. package/tests/runtime/delegate.test.ts +349 -0
  819. package/tests/runtime/macro-agent-backend.test.ts +266 -0
  820. package/tests/runtime/mock-backend.test.ts +248 -0
  821. package/tests/search/refinement-loop.test.ts +468 -0
  822. package/tests/search/refinement.test.ts +267 -0
  823. package/tests/search/router.test.ts +427 -0
  824. package/tests/search/team-router.test.ts +376 -0
  825. package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +12 -0
  826. package/tests/session-bank/fixtures/multi-tool-session/metadata.json +28 -0
  827. package/tests/session-bank/fixtures/root-metadata.json +18 -0
  828. package/tests/session-bank/fixtures/simple-session/full.jsonl +6 -0
  829. package/tests/session-bank/fixtures/simple-session/metadata.json +38 -0
  830. package/tests/session-bank/git-reader.test.ts +232 -0
  831. package/tests/session-bank/parser.test.ts +321 -0
  832. package/tests/session-bank/session-bank.test.ts +546 -0
  833. package/tests/surfacing/skill-library.test.ts +292 -0
  834. package/tests/surfacing/skill-publisher.test.ts +398 -0
  835. package/tests/surfacing/sqlite-storage-adapter.test.ts +218 -0
  836. package/tests/surfacing/team-skill-library.test.ts +444 -0
  837. package/tests/types/outcome.test.ts +147 -0
  838. package/tests/types/step.test.ts +133 -0
  839. package/tests/types/task.test.ts +158 -0
  840. package/tests/types/team-meta.test.ts +147 -0
  841. package/tests/types/team-playbook.test.ts +246 -0
  842. package/tests/types/team-trajectory.test.ts +557 -0
  843. package/tests/types/trajectory.test.ts +253 -0
  844. package/tests/utils/frontmatter.test.ts +208 -0
  845. package/tests/utils/similarity.test.ts +188 -0
  846. package/tests/utils/validation.test.ts +252 -0
  847. package/tests/workspace/full-flow.test.ts +839 -0
  848. package/tests/workspace/manager.test.ts +215 -0
  849. package/tests/workspace/runner.test.ts +330 -0
  850. package/tests/workspace/skill-converter.test.ts +205 -0
  851. package/tests/workspace/templates/knowledge-extraction.test.ts +235 -0
  852. package/tests/workspace/templates/team-playbook-extraction.test.ts +341 -0
  853. package/tests/workspace/templates/team-trajectory-analysis.test.ts +417 -0
  854. package/tsconfig.json +25 -0
  855. package/vitest.config.ts +22 -0
  856. package/dist/index.d.mts +0 -466
  857. package/dist/index.mjs +0 -478
package/src/atlas.ts ADDED
@@ -0,0 +1,1072 @@
1
+ import type {
2
+ Task,
3
+ Trajectory,
4
+ TeamTrajectory,
5
+ TeamPlaybook,
6
+ AtlasConfig,
7
+ Playbook,
8
+ } from './types/index.js';
9
+ import type { KnowledgeMatch } from './types/knowledge.js';
10
+ import { createDefaultConfig } from './types/index.js';
11
+ import { MemorySystem, createMemorySystem, type TeamExperience } from './memory/index.js';
12
+ import {
13
+ LearningPipeline,
14
+ createLearningPipeline,
15
+ type ProcessResult,
16
+ type BatchResult,
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';
39
+ import {
40
+ PlaybookUsageInference,
41
+ createUsageInference,
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';
51
+ import { TaskRouter, createRouter, type RoutingDecision } from './search/router.js';
52
+ import { DirectSolver, createSolver } from './search/solver.js';
53
+ import {
54
+ RefinementLoop,
55
+ createRefinementLoop,
56
+ } from './search/refinement-loop.js';
57
+ import type { RefinementResult } from './search/refinement-types.js';
58
+ import type { LLMProvider } from './agents/types.js';
59
+ import { AgentManager, createAgentManager } from './runtime/manager.js';
60
+ import type { AgentBackend, AgentSpawnConfig, AgentDelegate } from './runtime/types.js';
61
+ import {
62
+ SkillLibrary,
63
+ createSkillLibrary,
64
+ } from './surfacing/skill-library.js';
65
+ import { SqliteStorageAdapter } from './surfacing/sqlite-storage-adapter.js';
66
+ import { join } from 'node:path';
67
+ import {
68
+ PlaybookMCPServer,
69
+ createPlaybookMCPServer,
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';
84
+
85
+ /**
86
+ * Atlas statistics
87
+ */
88
+ export interface AtlasStats {
89
+ memory: {
90
+ experienceCount: number;
91
+ playbookCount: number;
92
+ metaObservationCount: number;
93
+ };
94
+ teamMemory?: {
95
+ teamExperienceCount: number;
96
+ teamPlaybookCount: number;
97
+ rolePlaybookCount: number;
98
+ teamMetaObservationCount: number;
99
+ };
100
+ learning: {
101
+ trajectoriesProcessed: number;
102
+ pendingTrajectories: number;
103
+ teamTrajectoriesProcessed: number;
104
+ };
105
+ execution?: {
106
+ agentManagerEnabled: boolean;
107
+ refinementEnabled: boolean;
108
+ backends: string[];
109
+ };
110
+ skillLibrary?: {
111
+ coreSkillCount: number;
112
+ domainSkillCounts: Record<string, number>;
113
+ mcpServerEnabled: boolean;
114
+ };
115
+ }
116
+
117
+ /**
118
+ * Playbook usage tracking
119
+ */
120
+ export interface PlaybookUsage {
121
+ playbookId: string;
122
+ playbookName: string;
123
+ wasUsed: boolean;
124
+ usageConfidence: number;
125
+ wasSuccessful: boolean;
126
+ }
127
+
128
+ /**
129
+ * Extended solve result with refinement info
130
+ */
131
+ export interface SolveResult {
132
+ /** The execution trajectory */
133
+ trajectory: Trajectory;
134
+ /** Whether memory was used */
135
+ usedMemory?: boolean;
136
+ /** Strategy used (from legacy solver) */
137
+ strategy?: string;
138
+ /** Routing decision (when using AgentManager) */
139
+ routing?: RoutingDecision;
140
+ /** Whether the result came from agent execution (vs direct solver) */
141
+ usedAgentManager: boolean;
142
+ /** Refinement result if refinement was performed */
143
+ refinement?: RefinementResult;
144
+ /** Playbooks that were injected for this task */
145
+ injectedPlaybooks?: Playbook[];
146
+ /** Playbook usage inference results */
147
+ playbookUsage?: PlaybookUsage[];
148
+ /** Knowledge notes that were surfaced for this task */
149
+ surfacedKnowledge?: KnowledgeMatch[];
150
+ }
151
+
152
+ /**
153
+ * Atlas - Adaptive Trajectory Learning and Abstraction System
154
+ *
155
+ * Main orchestrator that combines:
156
+ * - Memory systems (experiences, playbooks, meta-observations)
157
+ * - Learning engine (trajectory analysis, playbook extraction)
158
+ * - Task routing (deciding how to solve tasks)
159
+ * - Skill surfacing (providing playbooks to agents)
160
+ */
161
+ export class Atlas {
162
+ private memory: MemorySystem;
163
+ private learning: LearningPipeline;
164
+ private router: TaskRouter;
165
+ private solver: DirectSolver | null = null;
166
+ private agentManager: AgentManager | null = null;
167
+ private refinementLoop: RefinementLoop | null = null;
168
+ private config: AtlasConfig;
169
+ private provider: LLMProvider | null = null;
170
+ private trajectoriesProcessed = 0;
171
+ private teamTrajectoriesProcessed = 0;
172
+
173
+ // Playbook-based components
174
+ private skillLibrary: SkillLibrary | null = null;
175
+ private skillTreeStorage: SqliteStorageAdapter | null = null;
176
+ private usageInference: PlaybookUsageInference | null = null;
177
+ private mcpServer: PlaybookMCPServer | null = null;
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
+
193
+ constructor(config?: Partial<AtlasConfig>) {
194
+ this.config = createDefaultConfig(config);
195
+
196
+ // Initialize memory system (with optional knowledge bank)
197
+ this.memory = createMemorySystem(
198
+ this.config.storage.baseDir,
199
+ this.config.memory,
200
+ this.config.knowledgeBank.enabled ? this.config.knowledgeBank : undefined
201
+ );
202
+
203
+ // Initialize learning pipeline
204
+ this.learning = createLearningPipeline(this.memory, this.config.learning);
205
+
206
+ // Initialize router
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
+ }
229
+ }
230
+
231
+ /**
232
+ * Initialize Atlas (load persisted data)
233
+ */
234
+ async init(): Promise<void> {
235
+ await this.memory.init();
236
+
237
+ // Initialize playbook-based components if playbooks are available
238
+ if (this.memory.playbooks) {
239
+ this.skillLibrary = createSkillLibrary(
240
+ this.memory.playbooks,
241
+ this.config.skillLibrary
242
+ );
243
+ this.usageInference = createUsageInference();
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
+
253
+ // Refresh skill tiers on init
254
+ await this.skillLibrary.refreshTiers();
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();
268
+ }
269
+
270
+ /**
271
+ * Set the LLM provider for solving (deprecated)
272
+ * @deprecated Use setAgentManager() with backends for real execution
273
+ */
274
+ setProvider(provider: LLMProvider): void {
275
+ this.provider = provider;
276
+ this.solver = createSolver(this.memory, provider);
277
+ }
278
+
279
+ /**
280
+ * Set up the AgentManager with backends for real action execution
281
+ * This is the recommended way to configure Atlas for execution
282
+ */
283
+ setAgentManager(
284
+ backends: AgentBackend[],
285
+ options?: { delegate?: AgentDelegate }
286
+ ): void {
287
+ // Create AgentManager with memory system
288
+ this.agentManager = createAgentManager(this.memory, {
289
+ delegate: options?.delegate,
290
+ });
291
+
292
+ // Register all backends
293
+ for (const backend of backends) {
294
+ this.agentManager.registerBackend(backend);
295
+ }
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
+
318
+ // Create refinement loop with config
319
+ this.refinementLoop = createRefinementLoop(
320
+ this.agentManager,
321
+ this.memory,
322
+ {
323
+ maxIterations: this.config.refinement.maxIterations,
324
+ minAcceptableScore: this.config.refinement.acceptableScore,
325
+ evaluatorConfig: {
326
+ evaluatorAgentType: this.config.refinement.evaluatorAgentType,
327
+ },
328
+ triggerOnStrategies: this.config.refinement.triggerOnStrategies,
329
+ confidenceThreshold: this.config.refinement.confidenceThreshold,
330
+ }
331
+ );
332
+
333
+ // Connect task runner to refinement loop for workspace-based evaluation and analysis
334
+ this.refinementLoop.setTaskRunner(this.taskRunner);
335
+ }
336
+
337
+ /**
338
+ * Get the AgentManager for direct access
339
+ */
340
+ getAgentManager(): AgentManager | null {
341
+ return this.agentManager;
342
+ }
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
+
362
+ /**
363
+ * Get the RefinementLoop for registering domain verifiers
364
+ */
365
+ getRefinementLoop(): RefinementLoop | null {
366
+ return this.refinementLoop;
367
+ }
368
+
369
+ /**
370
+ * Get the AgenticTaskRunner for running analysis tasks
371
+ */
372
+ getTaskRunner(): AgenticTaskRunner | null {
373
+ return this.taskRunner;
374
+ }
375
+
376
+ /**
377
+ * Check if agent execution is available
378
+ */
379
+ hasAgentExecution(): boolean {
380
+ return this.agentManager !== null;
381
+ }
382
+
383
+ /**
384
+ * Solve a task using the best available method
385
+ * Prefers AgentManager with refinement when available
386
+ */
387
+ async solve(task: Task): Promise<SolveResult> {
388
+ // Route the task first
389
+ const routing = await this.router.route(task);
390
+
391
+ // Get skills for the agent if skill library is available
392
+ let injectedPlaybooks: Playbook[] = [];
393
+ let skillContext = '';
394
+ if (this.skillLibrary) {
395
+ const skills = await this.skillLibrary.getSkillsForAgent(task);
396
+ injectedPlaybooks = [...skills.core, ...skills.domain, ...skills.contextual];
397
+ skillContext = this.skillLibrary.formatForSystemPrompt(skills);
398
+ }
399
+
400
+ // Merge playbooks from router's memory context (deduplicating by ID)
401
+ // This ensures we track ALL playbooks that will be injected into the agent
402
+ const injectedIds = new Set(injectedPlaybooks.map(p => p.id));
403
+ for (const { playbook } of routing.memoryContext.playbooks) {
404
+ if (!injectedIds.has(playbook.id)) {
405
+ injectedPlaybooks.push(playbook);
406
+ injectedIds.add(playbook.id);
407
+ }
408
+ }
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
+
429
+ let result: SolveResult;
430
+
431
+ // Prefer AgentManager if available
432
+ if (this.agentManager) {
433
+ result = await this.solveWithAgent(task, routing, combinedContext || undefined);
434
+ } else if (this.solver && this.provider) {
435
+ // Fall back to DirectSolver (deprecated)
436
+ const solverResult = await this.solver.solve(task, routing);
437
+ result = {
438
+ trajectory: solverResult.trajectory,
439
+ usedMemory: solverResult.usedMemory,
440
+ strategy: solverResult.strategy,
441
+ usedAgentManager: false,
442
+ };
443
+ } else {
444
+ throw new Error(
445
+ 'No execution method available. Call setAgentManager() or setProvider().'
446
+ );
447
+ }
448
+
449
+ // Add injected playbooks to result
450
+ result.injectedPlaybooks = injectedPlaybooks;
451
+ result.surfacedKnowledge = surfacedKnowledge;
452
+
453
+ // Infer playbook usage from trajectory
454
+ if (this.skillLibrary && injectedPlaybooks.length > 0) {
455
+ const usageResults = await this.inferPlaybookUsage(
456
+ result.trajectory,
457
+ injectedPlaybooks,
458
+ );
459
+
460
+ // Convert to PlaybookUsage format and record outcomes
461
+ result.playbookUsage = [];
462
+ for (const usage of usageResults) {
463
+ result.playbookUsage.push({
464
+ playbookId: usage.playbookId,
465
+ playbookName: usage.playbookName,
466
+ wasUsed: usage.wasUsed,
467
+ usageConfidence: usage.usageConfidence,
468
+ wasSuccessful: usage.wasSuccessful,
469
+ });
470
+
471
+ // Record outcome for tier management
472
+ if (usage.wasUsed) {
473
+ await this.skillLibrary.recordOutcome(
474
+ usage.playbookId,
475
+ result.trajectory.id,
476
+ usage.wasSuccessful,
477
+ usage.context
478
+ );
479
+ }
480
+ }
481
+ }
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
+
506
+ // Process the trajectory for learning
507
+ await this.learning.processTrajectory(result.trajectory);
508
+ this.trajectoriesProcessed++;
509
+
510
+ // Run batch learning if ready
511
+ if (this.learning.shouldRunBatch()) {
512
+ await this.runBatchLearning();
513
+ }
514
+
515
+ return result;
516
+ }
517
+
518
+ /**
519
+ * Solve using AgentManager with optional refinement
520
+ */
521
+ private async solveWithAgent(
522
+ task: Task,
523
+ routing: RoutingDecision,
524
+ skillContext?: string
525
+ ): Promise<SolveResult> {
526
+ if (!this.agentManager) {
527
+ throw new Error('AgentManager not available');
528
+ }
529
+
530
+ // Build spawn configuration
531
+ const spawnConfig: AgentSpawnConfig = {
532
+ agentType: this.config.execution.defaultAgentType,
533
+ task,
534
+ timeout: this.config.execution.maxExecutionTime * 1000,
535
+ captureToolCalls: this.config.execution.captureToolCalls,
536
+ // Inject skill context if available
537
+ systemPromptAdditions: skillContext || undefined,
538
+ // Pass router's memory context to avoid duplicate memory queries
539
+ injectedKnowledge: routing.memoryContext,
540
+ };
541
+
542
+ // Run initial execution
543
+ const agentResult = await this.agentManager.spawn(spawnConfig);
544
+
545
+ // Check if refinement should be triggered
546
+ const shouldRefine =
547
+ this.refinementLoop &&
548
+ this.config.refinement.useAgentEvaluation &&
549
+ this.refinementLoop.shouldTriggerRefinement(
550
+ routing.strategy,
551
+ routing.confidence
552
+ );
553
+
554
+ let refinementResult: RefinementResult | undefined;
555
+
556
+ if (shouldRefine && !agentResult.success) {
557
+ // Run refinement loop on failed trajectory
558
+ refinementResult = await this.refinementLoop!.refine(
559
+ agentResult.trajectory,
560
+ spawnConfig
561
+ );
562
+
563
+ return {
564
+ trajectory: refinementResult.trajectory,
565
+ routing,
566
+ usedAgentManager: true,
567
+ refinement: refinementResult,
568
+ };
569
+ }
570
+
571
+ return {
572
+ trajectory: agentResult.trajectory,
573
+ routing,
574
+ usedAgentManager: true,
575
+ };
576
+ }
577
+
578
+ /**
579
+ * Solve multiple tasks
580
+ */
581
+ async solveBatch(tasks: Task[]): Promise<SolveResult[]> {
582
+ const results: SolveResult[] = [];
583
+ for (const task of tasks) {
584
+ const result = await this.solve(task);
585
+ results.push(result);
586
+ }
587
+ return results;
588
+ }
589
+
590
+ /**
591
+ * Process an external trajectory (from another agent)
592
+ */
593
+ async processTrajectory(trajectory: Trajectory): Promise<ProcessResult> {
594
+ const result = await this.learning.processTrajectory(trajectory);
595
+ this.trajectoriesProcessed++;
596
+ return result;
597
+ }
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
+
763
+ /**
764
+ * Run batch learning explicitly
765
+ */
766
+ async runBatchLearning(): Promise<BatchResult> {
767
+ return this.learning.runBatchLearning();
768
+ }
769
+
770
+ /**
771
+ * Query memory for relevant context
772
+ */
773
+ async queryMemory(
774
+ query: string,
775
+ options?: {
776
+ domains?: string[];
777
+ includeExperiences?: boolean;
778
+ includePlaybooks?: boolean;
779
+ }
780
+ ) {
781
+ return this.memory.queryV2(query, options);
782
+ }
783
+
784
+ /**
785
+ * Get Atlas statistics
786
+ */
787
+ async getStats(): Promise<AtlasStats> {
788
+ const memoryStats = await this.memory.getStats();
789
+ const stats: AtlasStats = {
790
+ memory: memoryStats,
791
+ learning: {
792
+ trajectoriesProcessed: this.trajectoriesProcessed,
793
+ pendingTrajectories: this.learning.getAccumulatedCount(),
794
+ teamTrajectoriesProcessed: this.teamTrajectoriesProcessed,
795
+ },
796
+ };
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
+
809
+ // Add execution stats if AgentManager is available
810
+ if (this.agentManager) {
811
+ stats.execution = {
812
+ agentManagerEnabled: true,
813
+ refinementEnabled: this.refinementLoop !== null,
814
+ backends: this.agentManager.listBackends(),
815
+ };
816
+ }
817
+
818
+ // Add skill library stats if available
819
+ if (this.skillLibrary) {
820
+ const libStats = this.skillLibrary.getStats();
821
+ stats.skillLibrary = {
822
+ coreSkillCount: libStats.coreSkillCount,
823
+ domainSkillCounts: libStats.domainSkillCounts,
824
+ mcpServerEnabled: this.mcpServer !== null,
825
+ };
826
+ }
827
+
828
+ return stats;
829
+ }
830
+
831
+ /**
832
+ * Get the memory system for direct access
833
+ */
834
+ getMemory(): MemorySystem {
835
+ return this.memory;
836
+ }
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
+
845
+ /**
846
+ * Get the learning pipeline for direct access
847
+ */
848
+ getLearning(): LearningPipeline {
849
+ return this.learning;
850
+ }
851
+
852
+ /**
853
+ * Get the skill library for direct access
854
+ */
855
+ getSkillLibrary(): SkillLibrary | null {
856
+ return this.skillLibrary;
857
+ }
858
+
859
+ /**
860
+ * Get the skill-tree storage adapter (null if not enabled)
861
+ */
862
+ getSkillTreeStorage(): SqliteStorageAdapter | null {
863
+ return this.skillTreeStorage;
864
+ }
865
+
866
+ /**
867
+ * Get the MCP server for direct access
868
+ */
869
+ getMCPServer(): PlaybookMCPServer | null {
870
+ return this.mcpServer;
871
+ }
872
+
873
+ /**
874
+ * Start the MCP server for playbook access
875
+ */
876
+ async startMCPServer(): Promise<void> {
877
+ if (!this.memory.playbooks) {
878
+ throw new Error('Playbook library not available. Initialize Atlas first.');
879
+ }
880
+
881
+ if (this.mcpServer) {
882
+ return; // Already started
883
+ }
884
+
885
+ this.mcpServer = createPlaybookMCPServer(
886
+ this.memory.playbooks,
887
+ this.skillLibrary ?? undefined,
888
+ this.config.mcp
889
+ );
890
+ }
891
+
892
+ /**
893
+ * Stop the MCP server
894
+ */
895
+ async stopMCPServer(): Promise<void> {
896
+ if (this.mcpServer) {
897
+ this.mcpServer = null;
898
+ }
899
+ }
900
+
901
+ /**
902
+ * Update configuration
903
+ */
904
+ updateConfig(config: Partial<AtlasConfig>): void {
905
+ if (config.learning) {
906
+ this.learning.updateConfig(config.learning);
907
+ }
908
+ if (config.router) {
909
+ this.router.updateConfig(config.router);
910
+ }
911
+ this.config = { ...this.config, ...config };
912
+ }
913
+
914
+ /**
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
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
+
1011
+ async close(): Promise<void> {
1012
+ // Stop MCP server if running
1013
+ await this.stopMCPServer();
1014
+
1015
+ // Flush learning pipeline
1016
+ if (this.learning.getAccumulatedCount() > 0) {
1017
+ await this.learning.runBatchLearning();
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
+
1035
+ // Close memory system
1036
+ await this.memory.close();
1037
+ }
1038
+ }
1039
+
1040
+ /**
1041
+ * Create an Atlas instance
1042
+ */
1043
+ export function createAtlas(config?: Partial<AtlasConfig>): Atlas {
1044
+ return new Atlas(config);
1045
+ }
1046
+
1047
+ /**
1048
+ * Create an Atlas instance with an LLM provider
1049
+ * @deprecated Use createAtlasWithAgents() for real action execution
1050
+ */
1051
+ export function createAtlasWithProvider(
1052
+ provider: LLMProvider,
1053
+ config?: Partial<AtlasConfig>
1054
+ ): Atlas {
1055
+ const atlas = new Atlas(config);
1056
+ atlas.setProvider(provider);
1057
+ return atlas;
1058
+ }
1059
+
1060
+ /**
1061
+ * Create an Atlas instance with AgentManager backends
1062
+ * This is the recommended way to create Atlas for production use
1063
+ */
1064
+ export function createAtlasWithAgents(
1065
+ backends: AgentBackend[],
1066
+ config?: Partial<AtlasConfig>,
1067
+ options?: { delegate?: AgentDelegate }
1068
+ ): Atlas {
1069
+ const atlas = new Atlas(config);
1070
+ atlas.setAgentManager(backends, options);
1071
+ return atlas;
1072
+ }