cognitive-core 0.2.5 → 0.3.1

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 (1279) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +88 -143
  3. package/dist/agents/mock-provider.d.ts.map +1 -1
  4. package/dist/agents/mock-provider.js.map +1 -1
  5. package/dist/agents/types.d.ts.map +1 -1
  6. package/dist/agents/types.js +5 -4
  7. package/dist/agents/types.js.map +1 -1
  8. package/dist/atlas.d.ts +309 -97
  9. package/dist/atlas.d.ts.map +1 -1
  10. package/dist/atlas.js +743 -277
  11. package/dist/atlas.js.map +1 -1
  12. package/dist/bin/cli-utils.d.ts +25 -2
  13. package/dist/bin/cli-utils.d.ts.map +1 -1
  14. package/dist/bin/cli-utils.js +79 -9
  15. package/dist/bin/cli-utils.js.map +1 -1
  16. package/dist/bin/cognitive-core.js +32 -0
  17. package/dist/bin/cognitive-core.js.map +1 -1
  18. package/dist/bin/commands/dream.d.ts +17 -0
  19. package/dist/bin/commands/dream.d.ts.map +1 -0
  20. package/dist/bin/commands/dream.js +168 -0
  21. package/dist/bin/commands/dream.js.map +1 -0
  22. package/dist/bin/commands/eval.d.ts +181 -0
  23. package/dist/bin/commands/eval.d.ts.map +1 -0
  24. package/dist/bin/commands/eval.js +1582 -0
  25. package/dist/bin/commands/eval.js.map +1 -0
  26. package/dist/bin/commands/kb.js +0 -8
  27. package/dist/bin/commands/kb.js.map +1 -1
  28. package/dist/bin/commands/learn.js +12 -4
  29. package/dist/bin/commands/learn.js.map +1 -1
  30. package/dist/bin/commands/legacy.d.ts.map +1 -1
  31. package/dist/bin/commands/legacy.js +1 -1
  32. package/dist/bin/commands/legacy.js.map +1 -1
  33. package/dist/bin/commands/run.d.ts.map +1 -1
  34. package/dist/bin/commands/run.js +10 -9
  35. package/dist/bin/commands/run.js.map +1 -1
  36. package/dist/bin/commands/sessions.d.ts.map +1 -1
  37. package/dist/bin/commands/sessions.js.map +1 -1
  38. package/dist/bin/commands/skills.d.ts.map +1 -1
  39. package/dist/bin/commands/skills.js +283 -1
  40. package/dist/bin/commands/skills.js.map +1 -1
  41. package/dist/embeddings/bm25.d.ts.map +1 -1
  42. package/dist/embeddings/bm25.js +1 -2
  43. package/dist/embeddings/bm25.js.map +1 -1
  44. package/dist/embeddings/index.d.ts +3 -3
  45. package/dist/embeddings/index.d.ts.map +1 -1
  46. package/dist/embeddings/index.js +3 -3
  47. package/dist/embeddings/index.js.map +1 -1
  48. package/dist/embeddings/inverted-index.js +62 -7
  49. package/dist/embeddings/inverted-index.js.map +1 -1
  50. package/dist/embeddings/manager.d.ts.map +1 -1
  51. package/dist/embeddings/manager.js +6 -5
  52. package/dist/embeddings/manager.js.map +1 -1
  53. package/dist/embeddings/provider.d.ts +96 -5
  54. package/dist/embeddings/provider.d.ts.map +1 -1
  55. package/dist/embeddings/provider.js +171 -48
  56. package/dist/embeddings/provider.js.map +1 -1
  57. package/dist/embeddings/vector-store.d.ts.map +1 -1
  58. package/dist/embeddings/vector-store.js +3 -1
  59. package/dist/embeddings/vector-store.js.map +1 -1
  60. package/dist/eval/ablation-validate.d.ts +12 -0
  61. package/dist/eval/ablation-validate.d.ts.map +1 -0
  62. package/dist/eval/ablation-validate.js +78 -0
  63. package/dist/eval/ablation-validate.js.map +1 -0
  64. package/dist/eval/ablation.d.ts +94 -0
  65. package/dist/eval/ablation.d.ts.map +1 -0
  66. package/dist/eval/ablation.js +161 -0
  67. package/dist/eval/ablation.js.map +1 -0
  68. package/dist/eval/ci-smoke.d.ts +11 -0
  69. package/dist/eval/ci-smoke.d.ts.map +1 -0
  70. package/dist/eval/ci-smoke.js +49 -0
  71. package/dist/eval/ci-smoke.js.map +1 -0
  72. package/dist/eval/diagnostics.d.ts +214 -0
  73. package/dist/eval/diagnostics.d.ts.map +1 -0
  74. package/dist/eval/diagnostics.js +107 -0
  75. package/dist/eval/diagnostics.js.map +1 -0
  76. package/dist/eval/index.d.ts +27 -0
  77. package/dist/eval/index.d.ts.map +1 -0
  78. package/dist/eval/index.js +27 -0
  79. package/dist/eval/index.js.map +1 -0
  80. package/dist/eval/live/alfworld.d.ts +248 -0
  81. package/dist/eval/live/alfworld.d.ts.map +1 -0
  82. package/dist/eval/live/alfworld.js +637 -0
  83. package/dist/eval/live/alfworld.js.map +1 -0
  84. package/dist/eval/live/alfworld_h1.d.ts +16 -0
  85. package/dist/eval/live/alfworld_h1.d.ts.map +1 -0
  86. package/dist/eval/live/alfworld_h1.js +75 -0
  87. package/dist/eval/live/alfworld_h1.js.map +1 -0
  88. package/dist/eval/live/alfworld_memory.d.ts +38 -0
  89. package/dist/eval/live/alfworld_memory.d.ts.map +1 -0
  90. package/dist/eval/live/alfworld_memory.js +184 -0
  91. package/dist/eval/live/alfworld_memory.js.map +1 -0
  92. package/dist/eval/live/alfworld_strategy.d.ts +65 -0
  93. package/dist/eval/live/alfworld_strategy.d.ts.map +1 -0
  94. package/dist/eval/live/alfworld_strategy.js +89 -0
  95. package/dist/eval/live/alfworld_strategy.js.map +1 -0
  96. package/dist/eval/live/azure-openai-llm-provider.d.ts +41 -0
  97. package/dist/eval/live/azure-openai-llm-provider.d.ts.map +1 -0
  98. package/dist/eval/live/azure-openai-llm-provider.js +92 -0
  99. package/dist/eval/live/azure-openai-llm-provider.js.map +1 -0
  100. package/dist/eval/live/bridges/skillflow_e2b_bridge.d.ts +3 -0
  101. package/dist/eval/live/bridges/skillflow_e2b_bridge.d.ts.map +1 -0
  102. package/dist/eval/live/bridges/skillflow_e2b_bridge.js +12 -0
  103. package/dist/eval/live/bridges/skillflow_e2b_bridge.js.map +1 -0
  104. package/dist/eval/live/claude-cli-llm-provider.d.ts +53 -0
  105. package/dist/eval/live/claude-cli-llm-provider.d.ts.map +1 -0
  106. package/dist/eval/live/claude-cli-llm-provider.js +71 -0
  107. package/dist/eval/live/claude-cli-llm-provider.js.map +1 -0
  108. package/dist/eval/live/claude-cli.d.ts +96 -0
  109. package/dist/eval/live/claude-cli.d.ts.map +1 -0
  110. package/dist/eval/live/claude-cli.js +314 -0
  111. package/dist/eval/live/claude-cli.js.map +1 -0
  112. package/dist/eval/live/claude-delegate.d.ts +41 -0
  113. package/dist/eval/live/claude-delegate.d.ts.map +1 -0
  114. package/dist/eval/live/claude-delegate.js +59 -0
  115. package/dist/eval/live/claude-delegate.js.map +1 -0
  116. package/dist/eval/live/claude-workspace-backend.d.ts +24 -0
  117. package/dist/eval/live/claude-workspace-backend.d.ts.map +1 -0
  118. package/dist/eval/live/claude-workspace-backend.js +76 -0
  119. package/dist/eval/live/claude-workspace-backend.js.map +1 -0
  120. package/dist/eval/live/clbench.d.ts +64 -0
  121. package/dist/eval/live/clbench.d.ts.map +1 -0
  122. package/dist/eval/live/clbench.js +291 -0
  123. package/dist/eval/live/clbench.js.map +1 -0
  124. package/dist/eval/live/cold-reuse.d.ts +21 -0
  125. package/dist/eval/live/cold-reuse.d.ts.map +1 -0
  126. package/dist/eval/live/cold-reuse.js +102 -0
  127. package/dist/eval/live/cold-reuse.js.map +1 -0
  128. package/dist/eval/live/difficulty-registry.d.ts +68 -0
  129. package/dist/eval/live/difficulty-registry.d.ts.map +1 -0
  130. package/dist/eval/live/difficulty-registry.js +169 -0
  131. package/dist/eval/live/difficulty-registry.js.map +1 -0
  132. package/dist/eval/live/docker.d.ts +52 -0
  133. package/dist/eval/live/docker.d.ts.map +1 -0
  134. package/dist/eval/live/docker.js +164 -0
  135. package/dist/eval/live/docker.js.map +1 -0
  136. package/dist/eval/live/env-bridge.d.ts +68 -0
  137. package/dist/eval/live/env-bridge.d.ts.map +1 -0
  138. package/dist/eval/live/env-bridge.js +188 -0
  139. package/dist/eval/live/env-bridge.js.map +1 -0
  140. package/dist/eval/live/gsm8k.d.ts +44 -0
  141. package/dist/eval/live/gsm8k.d.ts.map +1 -0
  142. package/dist/eval/live/gsm8k.js +142 -0
  143. package/dist/eval/live/gsm8k.js.map +1 -0
  144. package/dist/eval/live/index.d.ts +38 -0
  145. package/dist/eval/live/index.d.ts.map +1 -0
  146. package/dist/eval/live/index.js +38 -0
  147. package/dist/eval/live/index.js.map +1 -0
  148. package/dist/eval/live/lifelongagent.d.ts +64 -0
  149. package/dist/eval/live/lifelongagent.d.ts.map +1 -0
  150. package/dist/eval/live/lifelongagent.js +216 -0
  151. package/dist/eval/live/lifelongagent.js.map +1 -0
  152. package/dist/eval/live/lift-registry.d.ts +128 -0
  153. package/dist/eval/live/lift-registry.d.ts.map +1 -0
  154. package/dist/eval/live/lift-registry.js +147 -0
  155. package/dist/eval/live/lift-registry.js.map +1 -0
  156. package/dist/eval/live/live-benchmark.d.ts +84 -0
  157. package/dist/eval/live/live-benchmark.d.ts.map +1 -0
  158. package/dist/eval/live/live-benchmark.js +2 -0
  159. package/dist/eval/live/live-benchmark.js.map +1 -0
  160. package/dist/eval/live/live-runner.d.ts +609 -0
  161. package/dist/eval/live/live-runner.d.ts.map +1 -0
  162. package/dist/eval/live/live-runner.js +1409 -0
  163. package/dist/eval/live/live-runner.js.map +1 -0
  164. package/dist/eval/live/refine.d.ts +88 -0
  165. package/dist/eval/live/refine.d.ts.map +1 -0
  166. package/dist/eval/live/refine.js +135 -0
  167. package/dist/eval/live/refine.js.map +1 -0
  168. package/dist/eval/live/registry-store.d.ts +109 -0
  169. package/dist/eval/live/registry-store.d.ts.map +1 -0
  170. package/dist/eval/live/registry-store.js +272 -0
  171. package/dist/eval/live/registry-store.js.map +1 -0
  172. package/dist/eval/live/run-checkpoint.d.ts +55 -0
  173. package/dist/eval/live/run-checkpoint.d.ts.map +1 -0
  174. package/dist/eval/live/run-checkpoint.js +86 -0
  175. package/dist/eval/live/run-checkpoint.js.map +1 -0
  176. package/dist/eval/live/run-resume.d.ts +22 -0
  177. package/dist/eval/live/run-resume.d.ts.map +1 -0
  178. package/dist/eval/live/run-resume.js +70 -0
  179. package/dist/eval/live/run-resume.js.map +1 -0
  180. package/dist/eval/live/skill-injector.d.ts +36 -0
  181. package/dist/eval/live/skill-injector.d.ts.map +1 -0
  182. package/dist/eval/live/skill-injector.js +81 -0
  183. package/dist/eval/live/skill-injector.js.map +1 -0
  184. package/dist/eval/live/skillflow-embedded-workbook-bundle.d.ts +3 -0
  185. package/dist/eval/live/skillflow-embedded-workbook-bundle.d.ts.map +1 -0
  186. package/dist/eval/live/skillflow-embedded-workbook-bundle.js +391 -0
  187. package/dist/eval/live/skillflow-embedded-workbook-bundle.js.map +1 -0
  188. package/dist/eval/live/skillflow.d.ts +154 -0
  189. package/dist/eval/live/skillflow.d.ts.map +1 -0
  190. package/dist/eval/live/skillflow.js +612 -0
  191. package/dist/eval/live/skillflow.js.map +1 -0
  192. package/dist/eval/live/skilllearnbench.d.ts +43 -0
  193. package/dist/eval/live/skilllearnbench.d.ts.map +1 -0
  194. package/dist/eval/live/skilllearnbench.js +154 -0
  195. package/dist/eval/live/skilllearnbench.js.map +1 -0
  196. package/dist/eval/live/skillopt_v1.d.ts +96 -0
  197. package/dist/eval/live/skillopt_v1.d.ts.map +1 -0
  198. package/dist/eval/live/skillopt_v1.js +0 -0
  199. package/dist/eval/live/skillopt_v1.js.map +1 -0
  200. package/dist/eval/live/skillopt_v1_causal.d.ts +26 -0
  201. package/dist/eval/live/skillopt_v1_causal.d.ts.map +1 -0
  202. package/dist/eval/live/skillopt_v1_causal.js +106 -0
  203. package/dist/eval/live/skillopt_v1_causal.js.map +1 -0
  204. package/dist/eval/live/skillopt_v1_memory.d.ts +53 -0
  205. package/dist/eval/live/skillopt_v1_memory.d.ts.map +1 -0
  206. package/dist/eval/live/skillopt_v1_memory.js +147 -0
  207. package/dist/eval/live/skillopt_v1_memory.js.map +1 -0
  208. package/dist/eval/live/skillopt_v1_rules.d.ts +39 -0
  209. package/dist/eval/live/skillopt_v1_rules.d.ts.map +1 -0
  210. package/dist/eval/live/skillopt_v1_rules.js +91 -0
  211. package/dist/eval/live/skillopt_v1_rules.js.map +1 -0
  212. package/dist/eval/live/skillsbench.d.ts +138 -0
  213. package/dist/eval/live/skillsbench.d.ts.map +1 -0
  214. package/dist/eval/live/skillsbench.js +626 -0
  215. package/dist/eval/live/skillsbench.js.map +1 -0
  216. package/dist/eval/live/stopping.d.ts +69 -0
  217. package/dist/eval/live/stopping.d.ts.map +1 -0
  218. package/dist/eval/live/stopping.js +213 -0
  219. package/dist/eval/live/stopping.js.map +1 -0
  220. package/dist/eval/live/trace.d.ts +20 -0
  221. package/dist/eval/live/trace.d.ts.map +1 -0
  222. package/dist/eval/live/trace.js +41 -0
  223. package/dist/eval/live/trace.js.map +1 -0
  224. package/dist/eval/mechanism-trace-adapter.d.ts +8 -0
  225. package/dist/eval/mechanism-trace-adapter.d.ts.map +1 -0
  226. package/dist/eval/mechanism-trace-adapter.js +118 -0
  227. package/dist/eval/mechanism-trace-adapter.js.map +1 -0
  228. package/dist/eval/memory-ab.d.ts +61 -0
  229. package/dist/eval/memory-ab.d.ts.map +1 -0
  230. package/dist/eval/memory-ab.js +161 -0
  231. package/dist/eval/memory-ab.js.map +1 -0
  232. package/dist/eval/memory-mock.d.ts +54 -0
  233. package/dist/eval/memory-mock.d.ts.map +1 -0
  234. package/dist/eval/memory-mock.js +129 -0
  235. package/dist/eval/memory-mock.js.map +1 -0
  236. package/dist/eval/memory-qa/index.d.ts +13 -0
  237. package/dist/eval/memory-qa/index.d.ts.map +1 -0
  238. package/dist/eval/memory-qa/index.js +13 -0
  239. package/dist/eval/memory-qa/index.js.map +1 -0
  240. package/dist/eval/memory-qa/iterative.d.ts +80 -0
  241. package/dist/eval/memory-qa/iterative.d.ts.map +1 -0
  242. package/dist/eval/memory-qa/iterative.js +107 -0
  243. package/dist/eval/memory-qa/iterative.js.map +1 -0
  244. package/dist/eval/memory-qa/loaders.d.ts +11 -0
  245. package/dist/eval/memory-qa/loaders.d.ts.map +1 -0
  246. package/dist/eval/memory-qa/loaders.js +21 -0
  247. package/dist/eval/memory-qa/loaders.js.map +1 -0
  248. package/dist/eval/memory-qa/metrics.d.ts +3 -0
  249. package/dist/eval/memory-qa/metrics.d.ts.map +1 -0
  250. package/dist/eval/memory-qa/metrics.js +2 -0
  251. package/dist/eval/memory-qa/metrics.js.map +1 -0
  252. package/dist/eval/memory-qa/qa.d.ts +186 -0
  253. package/dist/eval/memory-qa/qa.d.ts.map +1 -0
  254. package/dist/eval/memory-qa/qa.js +424 -0
  255. package/dist/eval/memory-qa/qa.js.map +1 -0
  256. package/dist/eval/memory-qa/retrieval.d.ts +33 -0
  257. package/dist/eval/memory-qa/retrieval.d.ts.map +1 -0
  258. package/dist/eval/memory-qa/retrieval.js +44 -0
  259. package/dist/eval/memory-qa/retrieval.js.map +1 -0
  260. package/dist/eval/memory-qa/serving.d.ts +60 -0
  261. package/dist/eval/memory-qa/serving.d.ts.map +1 -0
  262. package/dist/eval/memory-qa/serving.js +267 -0
  263. package/dist/eval/memory-qa/serving.js.map +1 -0
  264. package/dist/eval/memory-qa/types.d.ts +2 -0
  265. package/dist/eval/memory-qa/types.d.ts.map +1 -0
  266. package/dist/eval/memory-qa/types.js +2 -0
  267. package/dist/eval/memory-qa/types.js.map +1 -0
  268. package/dist/eval/metrics.d.ts +120 -0
  269. package/dist/eval/metrics.d.ts.map +1 -0
  270. package/dist/eval/metrics.js +361 -0
  271. package/dist/eval/metrics.js.map +1 -0
  272. package/dist/eval/oracle-smoke.d.ts +75 -0
  273. package/dist/eval/oracle-smoke.d.ts.map +1 -0
  274. package/dist/eval/oracle-smoke.js +143 -0
  275. package/dist/eval/oracle-smoke.js.map +1 -0
  276. package/dist/eval/playbook-calibration-report.d.ts +40 -0
  277. package/dist/eval/playbook-calibration-report.d.ts.map +1 -0
  278. package/dist/eval/playbook-calibration-report.js +246 -0
  279. package/dist/eval/playbook-calibration-report.js.map +1 -0
  280. package/dist/eval/playbook-candidate-decisions-report.d.ts +36 -0
  281. package/dist/eval/playbook-candidate-decisions-report.d.ts.map +1 -0
  282. package/dist/eval/playbook-candidate-decisions-report.js +201 -0
  283. package/dist/eval/playbook-candidate-decisions-report.js.map +1 -0
  284. package/dist/eval/playbook-usage-report.d.ts +7 -0
  285. package/dist/eval/playbook-usage-report.d.ts.map +1 -0
  286. package/dist/eval/playbook-usage-report.js +222 -0
  287. package/dist/eval/playbook-usage-report.js.map +1 -0
  288. package/dist/eval/report.d.ts +28 -0
  289. package/dist/eval/report.d.ts.map +1 -0
  290. package/dist/eval/report.js +567 -0
  291. package/dist/eval/report.js.map +1 -0
  292. package/dist/eval/retrieval/corpus.d.ts +41 -0
  293. package/dist/eval/retrieval/corpus.d.ts.map +1 -0
  294. package/dist/eval/retrieval/corpus.js +158 -0
  295. package/dist/eval/retrieval/corpus.js.map +1 -0
  296. package/dist/eval/retrieval/index.d.ts +12 -0
  297. package/dist/eval/retrieval/index.d.ts.map +1 -0
  298. package/dist/eval/retrieval/index.js +14 -0
  299. package/dist/eval/retrieval/index.js.map +1 -0
  300. package/dist/eval/retrieval/knowledge-corpus.d.ts +91 -0
  301. package/dist/eval/retrieval/knowledge-corpus.d.ts.map +1 -0
  302. package/dist/eval/retrieval/knowledge-corpus.js +268 -0
  303. package/dist/eval/retrieval/knowledge-corpus.js.map +1 -0
  304. package/dist/eval/retrieval/knowledge-quality.d.ts +91 -0
  305. package/dist/eval/retrieval/knowledge-quality.d.ts.map +1 -0
  306. package/dist/eval/retrieval/knowledge-quality.js +247 -0
  307. package/dist/eval/retrieval/knowledge-quality.js.map +1 -0
  308. package/dist/eval/retrieval/ladder.d.ts +69 -0
  309. package/dist/eval/retrieval/ladder.d.ts.map +1 -0
  310. package/dist/eval/retrieval/ladder.js +80 -0
  311. package/dist/eval/retrieval/ladder.js.map +1 -0
  312. package/dist/eval/retrieval/quality.d.ts +39 -0
  313. package/dist/eval/retrieval/quality.d.ts.map +1 -0
  314. package/dist/eval/retrieval/quality.js +75 -0
  315. package/dist/eval/retrieval/quality.js.map +1 -0
  316. package/dist/eval/rng.d.ts +25 -0
  317. package/dist/eval/rng.d.ts.map +1 -0
  318. package/dist/eval/rng.js +43 -0
  319. package/dist/eval/rng.js.map +1 -0
  320. package/dist/eval/runner.d.ts +65 -0
  321. package/dist/eval/runner.d.ts.map +1 -0
  322. package/dist/eval/runner.js +216 -0
  323. package/dist/eval/runner.js.map +1 -0
  324. package/dist/eval/skill-bundle.d.ts +18 -0
  325. package/dist/eval/skill-bundle.d.ts.map +1 -0
  326. package/dist/eval/skill-bundle.js +38 -0
  327. package/dist/eval/skill-bundle.js.map +1 -0
  328. package/dist/eval/swarmkit-report.d.ts +21 -0
  329. package/dist/eval/swarmkit-report.d.ts.map +1 -0
  330. package/dist/eval/swarmkit-report.js +93 -0
  331. package/dist/eval/swarmkit-report.js.map +1 -0
  332. package/dist/eval/task-stream.d.ts +22 -0
  333. package/dist/eval/task-stream.d.ts.map +1 -0
  334. package/dist/eval/task-stream.js +99 -0
  335. package/dist/eval/task-stream.js.map +1 -0
  336. package/dist/eval/types.d.ts +173 -0
  337. package/dist/eval/types.d.ts.map +1 -0
  338. package/dist/eval/types.js +11 -0
  339. package/dist/eval/types.js.map +1 -0
  340. package/dist/experimental/causal-store.d.ts +97 -0
  341. package/dist/experimental/causal-store.d.ts.map +1 -0
  342. package/dist/experimental/causal-store.js +213 -0
  343. package/dist/experimental/causal-store.js.map +1 -0
  344. package/dist/experimental/graph-layers/base.d.ts +29 -0
  345. package/dist/experimental/graph-layers/base.d.ts.map +1 -0
  346. package/dist/experimental/graph-layers/base.js +143 -0
  347. package/dist/experimental/graph-layers/base.js.map +1 -0
  348. package/dist/experimental/graph-layers/causal.d.ts +14 -0
  349. package/dist/experimental/graph-layers/causal.d.ts.map +1 -0
  350. package/dist/experimental/graph-layers/causal.js +14 -0
  351. package/dist/experimental/graph-layers/causal.js.map +1 -0
  352. package/dist/experimental/graph-layers/entity.d.ts +14 -0
  353. package/dist/experimental/graph-layers/entity.d.ts.map +1 -0
  354. package/dist/experimental/graph-layers/entity.js +14 -0
  355. package/dist/experimental/graph-layers/entity.js.map +1 -0
  356. package/dist/experimental/graph-layers/index.d.ts +6 -0
  357. package/dist/experimental/graph-layers/index.d.ts.map +1 -0
  358. package/dist/experimental/graph-layers/index.js +6 -0
  359. package/dist/experimental/graph-layers/index.js.map +1 -0
  360. package/dist/experimental/graph-layers/semantic.d.ts +14 -0
  361. package/dist/experimental/graph-layers/semantic.d.ts.map +1 -0
  362. package/dist/experimental/graph-layers/semantic.js +14 -0
  363. package/dist/experimental/graph-layers/semantic.js.map +1 -0
  364. package/dist/experimental/graph-layers/temporal.d.ts +14 -0
  365. package/dist/experimental/graph-layers/temporal.d.ts.map +1 -0
  366. package/dist/experimental/graph-layers/temporal.js +14 -0
  367. package/dist/experimental/graph-layers/temporal.js.map +1 -0
  368. package/dist/experimental/healing-orchestrator.d.ts +182 -0
  369. package/dist/experimental/healing-orchestrator.d.ts.map +1 -0
  370. package/dist/experimental/healing-orchestrator.js +250 -0
  371. package/dist/experimental/healing-orchestrator.js.map +1 -0
  372. package/dist/experimental/knowledge-graph-types.d.ts +148 -0
  373. package/dist/experimental/knowledge-graph-types.d.ts.map +1 -0
  374. package/dist/experimental/knowledge-graph-types.js +40 -0
  375. package/dist/experimental/knowledge-graph-types.js.map +1 -0
  376. package/dist/experimental/knowledge-graph.d.ts +41 -0
  377. package/dist/experimental/knowledge-graph.d.ts.map +1 -0
  378. package/dist/experimental/knowledge-graph.js +270 -0
  379. package/dist/experimental/knowledge-graph.js.map +1 -0
  380. package/dist/experimental/meta-reflection.d.ts +47 -0
  381. package/dist/experimental/meta-reflection.d.ts.map +1 -0
  382. package/dist/experimental/meta-reflection.js +143 -0
  383. package/dist/experimental/meta-reflection.js.map +1 -0
  384. package/dist/experimental/moe-gate.d.ts +134 -0
  385. package/dist/experimental/moe-gate.d.ts.map +1 -0
  386. package/dist/experimental/moe-gate.js +240 -0
  387. package/dist/experimental/moe-gate.js.map +1 -0
  388. package/dist/experimental/reasoning-bank.d.ts +130 -0
  389. package/dist/experimental/reasoning-bank.d.ts.map +1 -0
  390. package/dist/experimental/reasoning-bank.js +427 -0
  391. package/dist/experimental/reasoning-bank.js.map +1 -0
  392. package/dist/experimental/team/team-config.d.ts +127 -0
  393. package/dist/experimental/team/team-config.d.ts.map +1 -0
  394. package/dist/experimental/team/team-config.js +48 -0
  395. package/dist/experimental/team/team-config.js.map +1 -0
  396. package/dist/experimental/team/team-experience.d.ts +300 -0
  397. package/dist/experimental/team/team-experience.d.ts.map +1 -0
  398. package/dist/experimental/team/team-experience.js +355 -0
  399. package/dist/experimental/team/team-experience.js.map +1 -0
  400. package/dist/experimental/team/team-ingester.d.ts +152 -0
  401. package/dist/experimental/team/team-ingester.d.ts.map +1 -0
  402. package/dist/experimental/team/team-ingester.js +330 -0
  403. package/dist/experimental/team/team-ingester.js.map +1 -0
  404. package/dist/experimental/team/team-meta-learner.d.ts +51 -0
  405. package/dist/experimental/team/team-meta-learner.d.ts.map +1 -0
  406. package/dist/experimental/team/team-meta-learner.js +404 -0
  407. package/dist/experimental/team/team-meta-learner.js.map +1 -0
  408. package/dist/experimental/team/team-meta.d.ts +160 -0
  409. package/dist/experimental/team/team-meta.d.ts.map +1 -0
  410. package/dist/experimental/team/team-meta.js +42 -0
  411. package/dist/experimental/team/team-meta.js.map +1 -0
  412. package/dist/experimental/team/team-pipeline.d.ts +77 -0
  413. package/dist/experimental/team/team-pipeline.d.ts.map +1 -0
  414. package/dist/experimental/team/team-pipeline.js +262 -0
  415. package/dist/experimental/team/team-pipeline.js.map +1 -0
  416. package/dist/experimental/team/team-playbook-extraction.d.ts +45 -0
  417. package/dist/experimental/team/team-playbook-extraction.d.ts.map +1 -0
  418. package/dist/experimental/team/team-playbook-extraction.js +526 -0
  419. package/dist/experimental/team/team-playbook-extraction.js.map +1 -0
  420. package/dist/experimental/team/team-playbook.d.ts +276 -0
  421. package/dist/experimental/team/team-playbook.d.ts.map +1 -0
  422. package/dist/experimental/team/team-playbook.js +85 -0
  423. package/dist/experimental/team/team-playbook.js.map +1 -0
  424. package/dist/experimental/team/team-router.d.ts +98 -0
  425. package/dist/experimental/team/team-router.d.ts.map +1 -0
  426. package/dist/experimental/team/team-router.js +312 -0
  427. package/dist/experimental/team/team-router.js.map +1 -0
  428. package/dist/experimental/team/team-skill-library.d.ts +180 -0
  429. package/dist/experimental/team/team-skill-library.d.ts.map +1 -0
  430. package/dist/experimental/team/team-skill-library.js +385 -0
  431. package/dist/experimental/team/team-skill-library.js.map +1 -0
  432. package/dist/experimental/team/team-trajectory-analysis.d.ts +19 -0
  433. package/dist/experimental/team/team-trajectory-analysis.d.ts.map +1 -0
  434. package/dist/experimental/team/team-trajectory-analysis.js +442 -0
  435. package/dist/experimental/team/team-trajectory-analysis.js.map +1 -0
  436. package/dist/experimental/team/team-trajectory.d.ts +305 -0
  437. package/dist/experimental/team/team-trajectory.d.ts.map +1 -0
  438. package/dist/experimental/team/team-trajectory.js +315 -0
  439. package/dist/experimental/team/team-trajectory.js.map +1 -0
  440. package/dist/factory.d.ts +2 -3
  441. package/dist/factory.d.ts.map +1 -1
  442. package/dist/factory.js +12 -11
  443. package/dist/factory.js.map +1 -1
  444. package/dist/index.d.ts +9 -11
  445. package/dist/index.d.ts.map +1 -1
  446. package/dist/index.js +26 -32
  447. package/dist/index.js.map +1 -1
  448. package/dist/learning/analyzer.d.ts +26 -36
  449. package/dist/learning/analyzer.d.ts.map +1 -1
  450. package/dist/learning/analyzer.js +50 -11
  451. package/dist/learning/analyzer.js.map +1 -1
  452. package/dist/learning/compound-bootstrap/external-acquisition.d.ts +63 -0
  453. package/dist/learning/compound-bootstrap/external-acquisition.d.ts.map +1 -0
  454. package/dist/learning/compound-bootstrap/external-acquisition.js +255 -0
  455. package/dist/learning/compound-bootstrap/external-acquisition.js.map +1 -0
  456. package/dist/learning/compound-bootstrap/index.d.ts +3 -0
  457. package/dist/learning/compound-bootstrap/index.d.ts.map +1 -0
  458. package/dist/learning/compound-bootstrap/index.js +3 -0
  459. package/dist/learning/compound-bootstrap/index.js.map +1 -0
  460. package/dist/learning/compound-bootstrap/workspace-analyzer.d.ts +33 -0
  461. package/dist/learning/compound-bootstrap/workspace-analyzer.d.ts.map +1 -0
  462. package/dist/learning/compound-bootstrap/workspace-analyzer.js +379 -0
  463. package/dist/learning/compound-bootstrap/workspace-analyzer.js.map +1 -0
  464. package/dist/learning/consolidation-coordinator.d.ts +49 -0
  465. package/dist/learning/consolidation-coordinator.d.ts.map +1 -0
  466. package/dist/learning/consolidation-coordinator.js +75 -0
  467. package/dist/learning/consolidation-coordinator.js.map +1 -0
  468. package/dist/learning/convention-distiller.d.ts +84 -0
  469. package/dist/learning/convention-distiller.d.ts.map +1 -0
  470. package/dist/learning/convention-distiller.js +268 -0
  471. package/dist/learning/convention-distiller.js.map +1 -0
  472. package/dist/learning/distiller.d.ts +82 -0
  473. package/dist/learning/distiller.d.ts.map +1 -0
  474. package/dist/learning/distiller.js +353 -0
  475. package/dist/learning/distiller.js.map +1 -0
  476. package/dist/learning/effectiveness.d.ts +12 -2
  477. package/dist/learning/effectiveness.d.ts.map +1 -1
  478. package/dist/learning/effectiveness.js +18 -14
  479. package/dist/learning/effectiveness.js.map +1 -1
  480. package/dist/learning/escalation.d.ts +89 -0
  481. package/dist/learning/escalation.d.ts.map +1 -0
  482. package/dist/learning/escalation.js +168 -0
  483. package/dist/learning/escalation.js.map +1 -0
  484. package/dist/learning/external-exposure.d.ts +57 -0
  485. package/dist/learning/external-exposure.d.ts.map +1 -0
  486. package/dist/learning/external-exposure.js +95 -0
  487. package/dist/learning/external-exposure.js.map +1 -0
  488. package/dist/learning/gepa-proposer.d.ts +116 -0
  489. package/dist/learning/gepa-proposer.d.ts.map +1 -0
  490. package/dist/learning/gepa-proposer.js +258 -0
  491. package/dist/learning/gepa-proposer.js.map +1 -0
  492. package/dist/learning/index.d.ts +21 -8
  493. package/dist/learning/index.d.ts.map +1 -1
  494. package/dist/learning/index.js +28 -10
  495. package/dist/learning/index.js.map +1 -1
  496. package/dist/learning/instant-loop.d.ts +46 -16
  497. package/dist/learning/instant-loop.d.ts.map +1 -1
  498. package/dist/learning/instant-loop.js +114 -111
  499. package/dist/learning/instant-loop.js.map +1 -1
  500. package/dist/learning/knowledge-extractor.d.ts.map +1 -1
  501. package/dist/learning/knowledge-extractor.js +1 -2
  502. package/dist/learning/knowledge-extractor.js.map +1 -1
  503. package/dist/learning/llm-extractor.d.ts +88 -0
  504. package/dist/learning/llm-extractor.d.ts.map +1 -0
  505. package/dist/learning/llm-extractor.js +372 -0
  506. package/dist/learning/llm-extractor.js.map +1 -0
  507. package/dist/learning/loop-coordinator.d.ts +61 -0
  508. package/dist/learning/loop-coordinator.d.ts.map +1 -0
  509. package/dist/learning/loop-coordinator.js +96 -0
  510. package/dist/learning/loop-coordinator.js.map +1 -0
  511. package/dist/learning/maintenance-scheduler.d.ts +15 -4
  512. package/dist/learning/maintenance-scheduler.d.ts.map +1 -1
  513. package/dist/learning/maintenance-scheduler.js +19 -16
  514. package/dist/learning/maintenance-scheduler.js.map +1 -1
  515. package/dist/learning/mechanism-trace.d.ts +196 -0
  516. package/dist/learning/mechanism-trace.d.ts.map +1 -0
  517. package/dist/learning/mechanism-trace.js +81 -0
  518. package/dist/learning/mechanism-trace.js.map +1 -0
  519. package/dist/learning/merge-proposer.d.ts +102 -0
  520. package/dist/learning/merge-proposer.d.ts.map +1 -0
  521. package/dist/learning/merge-proposer.js +253 -0
  522. package/dist/learning/merge-proposer.js.map +1 -0
  523. package/dist/learning/meta-learner.d.ts +9 -7
  524. package/dist/learning/meta-learner.d.ts.map +1 -1
  525. package/dist/learning/meta-learner.js +16 -45
  526. package/dist/learning/meta-learner.js.map +1 -1
  527. package/dist/learning/mutation-gate.d.ts +218 -0
  528. package/dist/learning/mutation-gate.d.ts.map +1 -0
  529. package/dist/learning/mutation-gate.js +390 -0
  530. package/dist/learning/mutation-gate.js.map +1 -0
  531. package/dist/learning/oracle-signal.d.ts +67 -0
  532. package/dist/learning/oracle-signal.d.ts.map +1 -0
  533. package/dist/learning/oracle-signal.js +94 -0
  534. package/dist/learning/oracle-signal.js.map +1 -0
  535. package/dist/learning/pipeline.d.ts +116 -0
  536. package/dist/learning/pipeline.d.ts.map +1 -0
  537. package/dist/learning/pipeline.js +288 -0
  538. package/dist/learning/pipeline.js.map +1 -0
  539. package/dist/learning/playbook-extractor.d.ts +8 -0
  540. package/dist/learning/playbook-extractor.d.ts.map +1 -1
  541. package/dist/learning/playbook-extractor.js +119 -34
  542. package/dist/learning/playbook-extractor.js.map +1 -1
  543. package/dist/learning/playbook-optimizer.d.ts +37 -0
  544. package/dist/learning/playbook-optimizer.d.ts.map +1 -0
  545. package/dist/learning/playbook-optimizer.js +125 -0
  546. package/dist/learning/playbook-optimizer.js.map +1 -0
  547. package/dist/learning/reflective-proposer.d.ts +173 -0
  548. package/dist/learning/reflective-proposer.d.ts.map +1 -0
  549. package/dist/learning/reflective-proposer.js +354 -0
  550. package/dist/learning/reflective-proposer.js.map +1 -0
  551. package/dist/learning/reflexion-generator.d.ts.map +1 -1
  552. package/dist/learning/reflexion-generator.js +4 -3
  553. package/dist/learning/reflexion-generator.js.map +1 -1
  554. package/dist/learning/replay-executor.d.ts +64 -0
  555. package/dist/learning/replay-executor.d.ts.map +1 -0
  556. package/dist/learning/replay-executor.js +92 -0
  557. package/dist/learning/replay-executor.js.map +1 -0
  558. package/dist/learning/replay-types.d.ts +150 -0
  559. package/dist/learning/replay-types.d.ts.map +1 -0
  560. package/dist/learning/replay-types.js +207 -0
  561. package/dist/learning/replay-types.js.map +1 -0
  562. package/dist/learning/replay.d.ts +166 -0
  563. package/dist/learning/replay.d.ts.map +1 -0
  564. package/dist/learning/replay.js +228 -0
  565. package/dist/learning/replay.js.map +1 -0
  566. package/dist/learning/seed-report.d.ts +88 -0
  567. package/dist/learning/seed-report.d.ts.map +1 -0
  568. package/dist/learning/seed-report.js +120 -0
  569. package/dist/learning/seed-report.js.map +1 -0
  570. package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -1
  571. package/dist/learning/trajectory-sources/dataclaw.js +6 -18
  572. package/dist/learning/trajectory-sources/dataclaw.js.map +1 -1
  573. package/dist/learning/trajectory-sources/entire.d.ts.map +1 -1
  574. package/dist/learning/trajectory-sources/entire.js +30 -9
  575. package/dist/learning/trajectory-sources/entire.js.map +1 -1
  576. package/dist/learning/trajectory-sources/file.d.ts.map +1 -1
  577. package/dist/learning/trajectory-sources/file.js.map +1 -1
  578. package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -1
  579. package/dist/learning/trajectory-sources/huggingface.js +7 -7
  580. package/dist/learning/trajectory-sources/huggingface.js.map +1 -1
  581. package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -1
  582. package/dist/learning/trajectory-sources/in-memory.js.map +1 -1
  583. package/dist/learning/trajectory-sources/index.d.ts +3 -4
  584. package/dist/learning/trajectory-sources/index.d.ts.map +1 -1
  585. package/dist/learning/trajectory-sources/index.js +3 -4
  586. package/dist/learning/trajectory-sources/index.js.map +1 -1
  587. package/dist/learning/trajectory-sources/pipeline.d.ts +4 -3
  588. package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -1
  589. package/dist/learning/trajectory-sources/pipeline.js +4 -3
  590. package/dist/learning/trajectory-sources/pipeline.js.map +1 -1
  591. package/dist/learning/unified-pipeline.d.ts +486 -61
  592. package/dist/learning/unified-pipeline.d.ts.map +1 -1
  593. package/dist/learning/unified-pipeline.js +1501 -232
  594. package/dist/learning/unified-pipeline.js.map +1 -1
  595. package/dist/learning/usage-inference.d.ts.map +1 -1
  596. package/dist/learning/usage-inference.js +4 -9
  597. package/dist/learning/usage-inference.js.map +1 -1
  598. package/dist/learning/workspace-snapshot.d.ts +146 -0
  599. package/dist/learning/workspace-snapshot.d.ts.map +1 -0
  600. package/dist/learning/workspace-snapshot.js +269 -0
  601. package/dist/learning/workspace-snapshot.js.map +1 -0
  602. package/dist/mcp/playbook-server.d.ts +61 -2
  603. package/dist/mcp/playbook-server.d.ts.map +1 -1
  604. package/dist/mcp/playbook-server.js +179 -9
  605. package/dist/mcp/playbook-server.js.map +1 -1
  606. package/dist/memory/coherence.d.ts.map +1 -1
  607. package/dist/memory/coherence.js +5 -7
  608. package/dist/memory/coherence.js.map +1 -1
  609. package/dist/memory/curated-loader.d.ts +24 -0
  610. package/dist/memory/curated-loader.d.ts.map +1 -1
  611. package/dist/memory/curated-loader.js +22 -5
  612. package/dist/memory/curated-loader.js.map +1 -1
  613. package/dist/memory/evolution/llm-evolver.d.ts +36 -0
  614. package/dist/memory/evolution/llm-evolver.d.ts.map +1 -0
  615. package/dist/memory/evolution/llm-evolver.js +106 -0
  616. package/dist/memory/evolution/llm-evolver.js.map +1 -0
  617. package/dist/memory/experience.d.ts +34 -13
  618. package/dist/memory/experience.d.ts.map +1 -1
  619. package/dist/memory/experience.js +59 -48
  620. package/dist/memory/experience.js.map +1 -1
  621. package/dist/memory/extraction/conversation-extractor.d.ts +62 -0
  622. package/dist/memory/extraction/conversation-extractor.d.ts.map +1 -0
  623. package/dist/memory/extraction/conversation-extractor.js +169 -0
  624. package/dist/memory/extraction/conversation-extractor.js.map +1 -0
  625. package/dist/memory/filesystem-cascade.d.ts +116 -0
  626. package/dist/memory/filesystem-cascade.d.ts.map +1 -0
  627. package/dist/memory/filesystem-cascade.js +221 -0
  628. package/dist/memory/filesystem-cascade.js.map +1 -0
  629. package/dist/memory/index.d.ts +14 -10
  630. package/dist/memory/index.d.ts.map +1 -1
  631. package/dist/memory/index.js +15 -12
  632. package/dist/memory/index.js.map +1 -1
  633. package/dist/memory/knowledge-bank.d.ts +145 -29
  634. package/dist/memory/knowledge-bank.d.ts.map +1 -1
  635. package/dist/memory/knowledge-bank.js +511 -200
  636. package/dist/memory/knowledge-bank.js.map +1 -1
  637. package/dist/memory/knowledge-defrag.d.ts +32 -9
  638. package/dist/memory/knowledge-defrag.d.ts.map +1 -1
  639. package/dist/memory/knowledge-defrag.js +57 -49
  640. package/dist/memory/knowledge-defrag.js.map +1 -1
  641. package/dist/memory/meta-playbook-bank.d.ts +24 -0
  642. package/dist/memory/meta-playbook-bank.d.ts.map +1 -0
  643. package/dist/memory/meta-playbook-bank.js +135 -0
  644. package/dist/memory/meta-playbook-bank.js.map +1 -0
  645. package/dist/memory/meta.d.ts.map +1 -1
  646. package/dist/memory/meta.js +33 -14
  647. package/dist/memory/meta.js.map +1 -1
  648. package/dist/memory/playbook-applicability.d.ts +43 -0
  649. package/dist/memory/playbook-applicability.d.ts.map +1 -0
  650. package/dist/memory/playbook-applicability.js +155 -0
  651. package/dist/memory/playbook-applicability.js.map +1 -0
  652. package/dist/memory/playbook-incorporation.d.ts +24 -0
  653. package/dist/memory/playbook-incorporation.d.ts.map +1 -0
  654. package/dist/memory/playbook-incorporation.js +41 -0
  655. package/dist/memory/playbook-incorporation.js.map +1 -0
  656. package/dist/memory/playbook.d.ts +444 -7
  657. package/dist/memory/playbook.d.ts.map +1 -1
  658. package/dist/memory/playbook.js +1231 -50
  659. package/dist/memory/playbook.js.map +1 -1
  660. package/dist/memory/procedural-skill.d.ts +142 -0
  661. package/dist/memory/procedural-skill.d.ts.map +1 -0
  662. package/dist/memory/procedural-skill.js +846 -0
  663. package/dist/memory/procedural-skill.js.map +1 -0
  664. package/dist/memory/search-provider.d.ts +8 -3
  665. package/dist/memory/search-provider.d.ts.map +1 -1
  666. package/dist/memory/search-providers/embedding.d.ts +64 -0
  667. package/dist/memory/search-providers/embedding.d.ts.map +1 -0
  668. package/dist/memory/search-providers/embedding.js +96 -0
  669. package/dist/memory/search-providers/embedding.js.map +1 -0
  670. package/dist/memory/search-providers/hybrid.d.ts +74 -0
  671. package/dist/memory/search-providers/hybrid.d.ts.map +1 -0
  672. package/dist/memory/search-providers/hybrid.js +94 -0
  673. package/dist/memory/search-providers/hybrid.js.map +1 -0
  674. package/dist/memory/search-providers/index.d.ts +3 -0
  675. package/dist/memory/search-providers/index.d.ts.map +1 -1
  676. package/dist/memory/search-providers/index.js +3 -0
  677. package/dist/memory/search-providers/index.js.map +1 -1
  678. package/dist/memory/search-providers/keyword-expanding.d.ts +22 -0
  679. package/dist/memory/search-providers/keyword-expanding.d.ts.map +1 -0
  680. package/dist/memory/search-providers/keyword-expanding.js +35 -0
  681. package/dist/memory/search-providers/keyword-expanding.js.map +1 -0
  682. package/dist/memory/search-providers/minimem.d.ts +16 -4
  683. package/dist/memory/search-providers/minimem.d.ts.map +1 -1
  684. package/dist/memory/search-providers/minimem.js +14 -3
  685. package/dist/memory/search-providers/minimem.js.map +1 -1
  686. package/dist/memory/search-providers/text-similarity.d.ts +2 -4
  687. package/dist/memory/search-providers/text-similarity.d.ts.map +1 -1
  688. package/dist/memory/search-providers/text-similarity.js.map +1 -1
  689. package/dist/memory/seeds/meta-playbook-seeds.d.ts +27 -0
  690. package/dist/memory/seeds/meta-playbook-seeds.d.ts.map +1 -0
  691. package/dist/memory/seeds/meta-playbook-seeds.js +560 -0
  692. package/dist/memory/seeds/meta-playbook-seeds.js.map +1 -0
  693. package/dist/memory/seeds/meta-strategy-seeds.d.ts +23 -0
  694. package/dist/memory/seeds/meta-strategy-seeds.d.ts.map +1 -0
  695. package/dist/memory/seeds/meta-strategy-seeds.js +82 -0
  696. package/dist/memory/seeds/meta-strategy-seeds.js.map +1 -0
  697. package/dist/memory/seeds/seed-loader.d.ts +34 -0
  698. package/dist/memory/seeds/seed-loader.d.ts.map +1 -0
  699. package/dist/memory/seeds/seed-loader.js +60 -0
  700. package/dist/memory/seeds/seed-loader.js.map +1 -0
  701. package/dist/memory/skill-exporter.d.ts.map +1 -1
  702. package/dist/memory/skill-exporter.js +1 -2
  703. package/dist/memory/skill-exporter.js.map +1 -1
  704. package/dist/memory/source-resolver.d.ts.map +1 -1
  705. package/dist/memory/source-resolver.js +7 -8
  706. package/dist/memory/source-resolver.js.map +1 -1
  707. package/dist/memory/system.d.ts +119 -14
  708. package/dist/memory/system.d.ts.map +1 -1
  709. package/dist/memory/system.js +416 -60
  710. package/dist/memory/system.js.map +1 -1
  711. package/dist/memory/temporal-compressor.d.ts +1 -1
  712. package/dist/memory/temporal-compressor.d.ts.map +1 -1
  713. package/dist/memory/temporal-compressor.js +26 -16
  714. package/dist/memory/temporal-compressor.js.map +1 -1
  715. package/dist/persistence/index.d.ts +2 -2
  716. package/dist/persistence/index.d.ts.map +1 -1
  717. package/dist/persistence/index.js +1 -1
  718. package/dist/persistence/index.js.map +1 -1
  719. package/dist/persistence/migrator.d.ts +34 -1
  720. package/dist/persistence/migrator.d.ts.map +1 -1
  721. package/dist/persistence/migrator.js +163 -33
  722. package/dist/persistence/migrator.js.map +1 -1
  723. package/dist/persistence/sqlite-persistence.d.ts +412 -1
  724. package/dist/persistence/sqlite-persistence.d.ts.map +1 -1
  725. package/dist/persistence/sqlite-persistence.js +1038 -47
  726. package/dist/persistence/sqlite-persistence.js.map +1 -1
  727. package/dist/runtime/backends/acp-protocol.d.ts.map +1 -1
  728. package/dist/runtime/backends/acp-protocol.js +2 -1
  729. package/dist/runtime/backends/acp-protocol.js.map +1 -1
  730. package/dist/runtime/backends/acp.d.ts.map +1 -1
  731. package/dist/runtime/backends/acp.js +5 -4
  732. package/dist/runtime/backends/acp.js.map +1 -1
  733. package/dist/runtime/backends/index.d.ts +2 -2
  734. package/dist/runtime/backends/index.d.ts.map +1 -1
  735. package/dist/runtime/backends/index.js +2 -2
  736. package/dist/runtime/backends/index.js.map +1 -1
  737. package/dist/runtime/backends/macro-agent.d.ts +17 -1
  738. package/dist/runtime/backends/macro-agent.d.ts.map +1 -1
  739. package/dist/runtime/backends/macro-agent.js +1 -1
  740. package/dist/runtime/backends/macro-agent.js.map +1 -1
  741. package/dist/runtime/backends/mock.d.ts.map +1 -1
  742. package/dist/runtime/backends/mock.js.map +1 -1
  743. package/dist/runtime/backends/subprocess.d.ts.map +1 -1
  744. package/dist/runtime/backends/subprocess.js +5 -4
  745. package/dist/runtime/backends/subprocess.js.map +1 -1
  746. package/dist/runtime/compute-provider.d.ts +2 -18
  747. package/dist/runtime/compute-provider.d.ts.map +1 -1
  748. package/dist/runtime/compute-provider.js +8 -8
  749. package/dist/runtime/compute-provider.js.map +1 -1
  750. package/dist/runtime/flows/learning.d.ts +2 -1
  751. package/dist/runtime/flows/learning.d.ts.map +1 -1
  752. package/dist/runtime/flows/learning.js +4 -5
  753. package/dist/runtime/flows/learning.js.map +1 -1
  754. package/dist/runtime/flows/validation.d.ts.map +1 -1
  755. package/dist/runtime/flows/validation.js +2 -5
  756. package/dist/runtime/flows/validation.js.map +1 -1
  757. package/dist/runtime/index.d.ts +1 -1
  758. package/dist/runtime/index.d.ts.map +1 -1
  759. package/dist/runtime/index.js.map +1 -1
  760. package/dist/runtime/manager.d.ts +128 -0
  761. package/dist/runtime/manager.d.ts.map +1 -1
  762. package/dist/runtime/manager.js +375 -64
  763. package/dist/runtime/manager.js.map +1 -1
  764. package/dist/runtime/types.d.ts +92 -1
  765. package/dist/runtime/types.d.ts.map +1 -1
  766. package/dist/search/evaluator.d.ts +71 -0
  767. package/dist/search/evaluator.d.ts.map +1 -1
  768. package/dist/search/evaluator.js +40 -5
  769. package/dist/search/evaluator.js.map +1 -1
  770. package/dist/search/index.d.ts +3 -5
  771. package/dist/search/index.d.ts.map +1 -1
  772. package/dist/search/index.js +4 -7
  773. package/dist/search/index.js.map +1 -1
  774. package/dist/search/moe-gate.d.ts +48 -2
  775. package/dist/search/moe-gate.d.ts.map +1 -1
  776. package/dist/search/moe-gate.js +117 -4
  777. package/dist/search/moe-gate.js.map +1 -1
  778. package/dist/search/refinement-loop.d.ts +63 -3
  779. package/dist/search/refinement-loop.d.ts.map +1 -1
  780. package/dist/search/refinement-loop.js +278 -23
  781. package/dist/search/refinement-loop.js.map +1 -1
  782. package/dist/search/refinement-types.d.ts +4 -2
  783. package/dist/search/refinement-types.d.ts.map +1 -1
  784. package/dist/search/refinement-types.js +2 -11
  785. package/dist/search/refinement-types.js.map +1 -1
  786. package/dist/search/router.d.ts +41 -34
  787. package/dist/search/router.d.ts.map +1 -1
  788. package/dist/search/router.js +156 -90
  789. package/dist/search/router.js.map +1 -1
  790. package/dist/search/solver.js +1 -1
  791. package/dist/search/solver.js.map +1 -1
  792. package/dist/search/task-difficulty.d.ts +54 -0
  793. package/dist/search/task-difficulty.d.ts.map +1 -0
  794. package/dist/search/task-difficulty.js +116 -0
  795. package/dist/search/task-difficulty.js.map +1 -0
  796. package/dist/search/tau-bench-verifier.d.ts +74 -0
  797. package/dist/search/tau-bench-verifier.d.ts.map +1 -0
  798. package/dist/search/tau-bench-verifier.js +96 -0
  799. package/dist/search/tau-bench-verifier.js.map +1 -0
  800. package/dist/search/verification-runner.d.ts.map +1 -1
  801. package/dist/search/verification-runner.js +6 -5
  802. package/dist/search/verification-runner.js.map +1 -1
  803. package/dist/session-bank/git-reader.d.ts.map +1 -1
  804. package/dist/session-bank/git-reader.js +5 -19
  805. package/dist/session-bank/git-reader.js.map +1 -1
  806. package/dist/session-bank/parser.d.ts.map +1 -1
  807. package/dist/session-bank/parser.js +26 -0
  808. package/dist/session-bank/parser.js.map +1 -1
  809. package/dist/session-bank/session-bank.d.ts.map +1 -1
  810. package/dist/session-bank/session-bank.js +2 -5
  811. package/dist/session-bank/session-bank.js.map +1 -1
  812. package/dist/session-bank/types.d.ts +24 -0
  813. package/dist/session-bank/types.d.ts.map +1 -1
  814. package/dist/surfacing/index.d.ts +3 -3
  815. package/dist/surfacing/index.d.ts.map +1 -1
  816. package/dist/surfacing/index.js +2 -2
  817. package/dist/surfacing/index.js.map +1 -1
  818. package/dist/surfacing/shared-bank.d.ts +43 -0
  819. package/dist/surfacing/shared-bank.d.ts.map +1 -0
  820. package/dist/surfacing/shared-bank.js +104 -0
  821. package/dist/surfacing/shared-bank.js.map +1 -0
  822. package/dist/surfacing/skill-library.d.ts +98 -2
  823. package/dist/surfacing/skill-library.d.ts.map +1 -1
  824. package/dist/surfacing/skill-library.js +192 -17
  825. package/dist/surfacing/skill-library.js.map +1 -1
  826. package/dist/surfacing/skill-publisher.d.ts +6 -4
  827. package/dist/surfacing/skill-publisher.d.ts.map +1 -1
  828. package/dist/surfacing/skill-publisher.js +32 -30
  829. package/dist/surfacing/skill-publisher.js.map +1 -1
  830. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
  831. package/dist/surfacing/sqlite-storage-adapter.js +12 -8
  832. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
  833. package/dist/types/analysis.d.ts +43 -0
  834. package/dist/types/analysis.d.ts.map +1 -0
  835. package/dist/types/analysis.js +10 -0
  836. package/dist/types/analysis.js.map +1 -0
  837. package/dist/types/config.d.ts +2178 -425
  838. package/dist/types/config.d.ts.map +1 -1
  839. package/dist/types/config.js +600 -88
  840. package/dist/types/config.js.map +1 -1
  841. package/dist/types/dataclaw.d.ts +3 -3
  842. package/dist/types/index.d.ts +4 -7
  843. package/dist/types/index.d.ts.map +1 -1
  844. package/dist/types/index.js +2 -10
  845. package/dist/types/index.js.map +1 -1
  846. package/dist/types/knowledge-graph.d.ts +1 -1
  847. package/dist/types/knowledge-graph.d.ts.map +1 -1
  848. package/dist/types/knowledge.d.ts +219 -11
  849. package/dist/types/knowledge.d.ts.map +1 -1
  850. package/dist/types/knowledge.js +90 -30
  851. package/dist/types/knowledge.js.map +1 -1
  852. package/dist/types/memory.d.ts +8 -0
  853. package/dist/types/memory.d.ts.map +1 -1
  854. package/dist/types/memory.js +12 -4
  855. package/dist/types/memory.js.map +1 -1
  856. package/dist/types/outcome.d.ts +11 -0
  857. package/dist/types/outcome.d.ts.map +1 -1
  858. package/dist/types/outcome.js +9 -0
  859. package/dist/types/outcome.js.map +1 -1
  860. package/dist/types/playbook.d.ts +63 -0
  861. package/dist/types/playbook.d.ts.map +1 -1
  862. package/dist/types/playbook.js +51 -0
  863. package/dist/types/playbook.js.map +1 -1
  864. package/dist/types/trajectory-source.d.ts +1 -1
  865. package/dist/types/trajectory-source.d.ts.map +1 -1
  866. package/dist/types/trajectory.d.ts +61 -0
  867. package/dist/types/trajectory.d.ts.map +1 -1
  868. package/dist/types/trajectory.js +25 -0
  869. package/dist/types/trajectory.js.map +1 -1
  870. package/dist/utils/clock.d.ts +36 -0
  871. package/dist/utils/clock.d.ts.map +1 -0
  872. package/dist/utils/clock.js +48 -0
  873. package/dist/utils/clock.js.map +1 -0
  874. package/dist/utils/frontmatter.d.ts.map +1 -1
  875. package/dist/utils/frontmatter.js +10 -2
  876. package/dist/utils/frontmatter.js.map +1 -1
  877. package/dist/utils/index.d.ts +4 -1
  878. package/dist/utils/index.d.ts.map +1 -1
  879. package/dist/utils/index.js +4 -1
  880. package/dist/utils/index.js.map +1 -1
  881. package/dist/utils/logger.d.ts +31 -0
  882. package/dist/utils/logger.d.ts.map +1 -0
  883. package/dist/utils/logger.js +50 -0
  884. package/dist/utils/logger.js.map +1 -0
  885. package/dist/utils/objectives.d.ts +45 -0
  886. package/dist/utils/objectives.d.ts.map +1 -0
  887. package/dist/utils/objectives.js +74 -0
  888. package/dist/utils/objectives.js.map +1 -0
  889. package/dist/utils/partitioned-store.d.ts.map +1 -1
  890. package/dist/utils/partitioned-store.js.map +1 -1
  891. package/dist/utils/playbook-hash.d.ts +19 -0
  892. package/dist/utils/playbook-hash.d.ts.map +1 -0
  893. package/dist/utils/playbook-hash.js +51 -0
  894. package/dist/utils/playbook-hash.js.map +1 -0
  895. package/dist/utils/similarity.d.ts.map +1 -1
  896. package/dist/utils/similarity.js.map +1 -1
  897. package/dist/utils/solver-canonicalizer.d.ts +22 -0
  898. package/dist/utils/solver-canonicalizer.d.ts.map +1 -0
  899. package/dist/utils/solver-canonicalizer.js +41 -0
  900. package/dist/utils/solver-canonicalizer.js.map +1 -0
  901. package/dist/utils/storage.d.ts.map +1 -1
  902. package/dist/utils/storage.js +1 -3
  903. package/dist/utils/storage.js.map +1 -1
  904. package/dist/utils/task-signature.d.ts +34 -0
  905. package/dist/utils/task-signature.d.ts.map +1 -0
  906. package/dist/utils/task-signature.js +112 -0
  907. package/dist/utils/task-signature.js.map +1 -0
  908. package/dist/utils/trajectory-helpers.d.ts.map +1 -1
  909. package/dist/utils/trajectory-helpers.js.map +1 -1
  910. package/dist/utils/validation.d.ts.map +1 -1
  911. package/dist/utils/validation.js.map +1 -1
  912. package/dist/workspace/efficacy-toolkit.d.ts.map +1 -1
  913. package/dist/workspace/efficacy-toolkit.js +18 -26
  914. package/dist/workspace/efficacy-toolkit.js.map +1 -1
  915. package/dist/workspace/index.d.ts +4 -3
  916. package/dist/workspace/index.d.ts.map +1 -1
  917. package/dist/workspace/index.js +5 -3
  918. package/dist/workspace/index.js.map +1 -1
  919. package/dist/workspace/runner.d.ts.map +1 -1
  920. package/dist/workspace/runner.js +95 -21
  921. package/dist/workspace/runner.js.map +1 -1
  922. package/dist/workspace/skill-converter.d.ts +66 -1
  923. package/dist/workspace/skill-converter.d.ts.map +1 -1
  924. package/dist/workspace/skill-converter.js +238 -19
  925. package/dist/workspace/skill-converter.js.map +1 -1
  926. package/dist/workspace/skill-import.d.ts +43 -0
  927. package/dist/workspace/skill-import.d.ts.map +1 -0
  928. package/dist/workspace/skill-import.js +40 -0
  929. package/dist/workspace/skill-import.js.map +1 -0
  930. package/dist/workspace/templates/index.d.ts +6 -8
  931. package/dist/workspace/templates/index.d.ts.map +1 -1
  932. package/dist/workspace/templates/index.js +7 -11
  933. package/dist/workspace/templates/index.js.map +1 -1
  934. package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -1
  935. package/dist/workspace/templates/knowledge-defrag.js +0 -2
  936. package/dist/workspace/templates/knowledge-defrag.js.map +1 -1
  937. package/dist/workspace/templates/knowledge-extraction.d.ts +11 -0
  938. package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -1
  939. package/dist/workspace/templates/knowledge-extraction.js +11 -6
  940. package/dist/workspace/templates/knowledge-extraction.js.map +1 -1
  941. package/dist/workspace/templates/playbook-conditioning.d.ts +38 -0
  942. package/dist/workspace/templates/playbook-conditioning.d.ts.map +1 -0
  943. package/dist/workspace/templates/playbook-conditioning.js +147 -0
  944. package/dist/workspace/templates/playbook-conditioning.js.map +1 -0
  945. package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -1
  946. package/dist/workspace/templates/playbook-decay-detection.js +24 -18
  947. package/dist/workspace/templates/playbook-decay-detection.js.map +1 -1
  948. package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -1
  949. package/dist/workspace/templates/playbook-efficacy-audit.js +26 -11
  950. package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -1
  951. package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -1
  952. package/dist/workspace/templates/playbook-extraction.js +75 -15
  953. package/dist/workspace/templates/playbook-extraction.js.map +1 -1
  954. package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -1
  955. package/dist/workspace/templates/playbook-lifecycle-review.js +12 -8
  956. package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -1
  957. package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -1
  958. package/dist/workspace/templates/refinement-analysis.js +11 -5
  959. package/dist/workspace/templates/refinement-analysis.js.map +1 -1
  960. package/dist/workspace/templates/skill-enrichment.d.ts.map +1 -1
  961. package/dist/workspace/templates/skill-enrichment.js +7 -11
  962. package/dist/workspace/templates/skill-enrichment.js.map +1 -1
  963. package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -1
  964. package/dist/workspace/templates/solution-evaluation.js +15 -8
  965. package/dist/workspace/templates/solution-evaluation.js.map +1 -1
  966. package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -1
  967. package/dist/workspace/templates/trajectory-analysis.js +1 -3
  968. package/dist/workspace/templates/trajectory-analysis.js.map +1 -1
  969. package/dist/workspace/templates/usage-inference.d.ts.map +1 -1
  970. package/dist/workspace/templates/usage-inference.js +9 -7
  971. package/dist/workspace/templates/usage-inference.js.map +1 -1
  972. package/dist/workspace/types.d.ts +32 -2
  973. package/dist/workspace/types.d.ts.map +1 -1
  974. package/dist/workspace/types.js +29 -0
  975. package/dist/workspace/types.js.map +1 -1
  976. package/package.json +43 -19
  977. package/playbooks/agent-ops/long-task-checkpointing.json +54 -0
  978. package/playbooks/agent-ops/progressive-context-gathering.json +56 -0
  979. package/playbooks/agent-ops/safe-destructive-operations.json +59 -0
  980. package/playbooks/agent-ops/scope-discipline.json +56 -0
  981. package/playbooks/agent-ops/stall-detection-strategy-switch.json +55 -0
  982. package/playbooks/agent-ops/verification-before-completion.json +54 -0
  983. package/playbooks/alfworld/clean-and-place.json +35 -0
  984. package/playbooks/alfworld/cool-and-place.json +35 -0
  985. package/playbooks/alfworld/examine-in-light.json +32 -0
  986. package/playbooks/alfworld/heat-and-place.json +35 -0
  987. package/playbooks/alfworld/pick-and-place.json +37 -0
  988. package/playbooks/alfworld/pick-two-and-place.json +35 -0
  989. package/.claude/settings.json +0 -197
  990. package/.entire/settings.json +0 -4
  991. package/.sessionlog/settings.json +0 -4
  992. package/CLAUDE.md +0 -233
  993. package/SKILL.md +0 -193
  994. package/docs/DESIGN-agentic-workspace.md +0 -2057
  995. package/docs/DESIGN-semantic-memory-knowledge-bank.md +0 -1789
  996. package/docs/DESIGN-session-bank.md +0 -1134
  997. package/docs/DESIGN-team-extraction-pipeline.md +0 -1369
  998. package/docs/PROPOSAL-team-aware-learning.md +0 -1080
  999. package/docs/RESEARCH-semantic-memory-knowledge-structures.md +0 -517
  1000. package/docs/RESEARCH-team-trajectory-learning.md +0 -553
  1001. package/gaps.md +0 -204
  1002. package/scripts/migrate-to-playbooks.ts +0 -307
  1003. package/src/agents/index.ts +0 -14
  1004. package/src/agents/mock-provider.ts +0 -93
  1005. package/src/agents/types.ts +0 -137
  1006. package/src/atlas.ts +0 -1198
  1007. package/src/bin/cli-utils.ts +0 -220
  1008. package/src/bin/cognitive-core.ts +0 -162
  1009. package/src/bin/commands/kb.ts +0 -266
  1010. package/src/bin/commands/learn.ts +0 -100
  1011. package/src/bin/commands/legacy.ts +0 -182
  1012. package/src/bin/commands/run.ts +0 -113
  1013. package/src/bin/commands/sessions.ts +0 -221
  1014. package/src/bin/commands/skills.ts +0 -146
  1015. package/src/embeddings/bm25.ts +0 -337
  1016. package/src/embeddings/index.ts +0 -42
  1017. package/src/embeddings/inverted-index.ts +0 -134
  1018. package/src/embeddings/manager.ts +0 -293
  1019. package/src/embeddings/provider.ts +0 -318
  1020. package/src/embeddings/vector-store.ts +0 -365
  1021. package/src/factory.ts +0 -280
  1022. package/src/index.ts +0 -495
  1023. package/src/learning/analyzer.ts +0 -319
  1024. package/src/learning/effectiveness.ts +0 -428
  1025. package/src/learning/energy-evaluator.ts +0 -282
  1026. package/src/learning/healing-orchestrator.ts +0 -383
  1027. package/src/learning/index.ts +0 -150
  1028. package/src/learning/instant-loop.ts +0 -357
  1029. package/src/learning/knowledge-extractor.ts +0 -470
  1030. package/src/learning/maintenance-scheduler.ts +0 -271
  1031. package/src/learning/meta-learner.ts +0 -552
  1032. package/src/learning/playbook-extractor.ts +0 -702
  1033. package/src/learning/reflexion-generator.ts +0 -273
  1034. package/src/learning/team-ingester.ts +0 -499
  1035. package/src/learning/team-meta-learner.ts +0 -558
  1036. package/src/learning/team-pipeline.ts +0 -364
  1037. package/src/learning/trajectory-sources/dataclaw.ts +0 -403
  1038. package/src/learning/trajectory-sources/entire.ts +0 -251
  1039. package/src/learning/trajectory-sources/file.ts +0 -136
  1040. package/src/learning/trajectory-sources/huggingface.ts +0 -248
  1041. package/src/learning/trajectory-sources/in-memory.ts +0 -61
  1042. package/src/learning/trajectory-sources/index.ts +0 -15
  1043. package/src/learning/trajectory-sources/pipeline.ts +0 -69
  1044. package/src/learning/unified-pipeline.ts +0 -1191
  1045. package/src/learning/usage-inference.ts +0 -372
  1046. package/src/mcp/index.ts +0 -12
  1047. package/src/mcp/playbook-server.ts +0 -565
  1048. package/src/memory/candidate-retrieval.ts +0 -72
  1049. package/src/memory/causal-store.ts +0 -273
  1050. package/src/memory/coherence.ts +0 -252
  1051. package/src/memory/curated-loader.ts +0 -213
  1052. package/src/memory/experience.ts +0 -682
  1053. package/src/memory/graph-layers/base.ts +0 -184
  1054. package/src/memory/graph-layers/causal.ts +0 -16
  1055. package/src/memory/graph-layers/entity.ts +0 -16
  1056. package/src/memory/graph-layers/index.ts +0 -5
  1057. package/src/memory/graph-layers/semantic.ts +0 -16
  1058. package/src/memory/graph-layers/temporal.ts +0 -16
  1059. package/src/memory/index.ts +0 -131
  1060. package/src/memory/knowledge-bank.ts +0 -1317
  1061. package/src/memory/knowledge-defrag.ts +0 -329
  1062. package/src/memory/knowledge-graph.ts +0 -361
  1063. package/src/memory/meta.ts +0 -488
  1064. package/src/memory/playbook.ts +0 -676
  1065. package/src/memory/reasoning-bank.ts +0 -458
  1066. package/src/memory/reflexion.ts +0 -122
  1067. package/src/memory/search-provider.ts +0 -35
  1068. package/src/memory/search-providers/index.ts +0 -3
  1069. package/src/memory/search-providers/minimem.ts +0 -84
  1070. package/src/memory/search-providers/text-similarity.ts +0 -35
  1071. package/src/memory/skill-exporter.ts +0 -357
  1072. package/src/memory/source-resolver.ts +0 -422
  1073. package/src/memory/system.ts +0 -620
  1074. package/src/memory/team-experience.ts +0 -604
  1075. package/src/memory/temporal-compressor.ts +0 -409
  1076. package/src/persistence/index.ts +0 -37
  1077. package/src/persistence/migrator.ts +0 -298
  1078. package/src/persistence/serializers.ts +0 -79
  1079. package/src/persistence/sqlite-persistence.ts +0 -925
  1080. package/src/runtime/backends/acp-protocol.ts +0 -231
  1081. package/src/runtime/backends/acp.ts +0 -239
  1082. package/src/runtime/backends/index.ts +0 -38
  1083. package/src/runtime/backends/macro-agent.ts +0 -177
  1084. package/src/runtime/backends/mock.ts +0 -218
  1085. package/src/runtime/backends/subprocess.ts +0 -356
  1086. package/src/runtime/compute-provider.ts +0 -206
  1087. package/src/runtime/flows/learning.ts +0 -166
  1088. package/src/runtime/flows/validation.ts +0 -381
  1089. package/src/runtime/index.ts +0 -75
  1090. package/src/runtime/manager.ts +0 -685
  1091. package/src/runtime/types.ts +0 -198
  1092. package/src/search/evaluator.ts +0 -499
  1093. package/src/search/index.ts +0 -78
  1094. package/src/search/moe-gate.ts +0 -304
  1095. package/src/search/refinement-loop.ts +0 -457
  1096. package/src/search/refinement-types.ts +0 -159
  1097. package/src/search/router.ts +0 -368
  1098. package/src/search/solver.ts +0 -303
  1099. package/src/search/team-router.ts +0 -459
  1100. package/src/search/verification-runner.ts +0 -570
  1101. package/src/session-bank/git-reader.ts +0 -200
  1102. package/src/session-bank/index.ts +0 -26
  1103. package/src/session-bank/parser.ts +0 -548
  1104. package/src/session-bank/session-bank.ts +0 -485
  1105. package/src/session-bank/types.ts +0 -176
  1106. package/src/surfacing/index.ts +0 -29
  1107. package/src/surfacing/publisher.ts +0 -23
  1108. package/src/surfacing/skill-library.ts +0 -625
  1109. package/src/surfacing/skill-publisher.ts +0 -258
  1110. package/src/surfacing/sqlite-storage-adapter.ts +0 -287
  1111. package/src/surfacing/team-skill-library.ts +0 -610
  1112. package/src/types/config.ts +0 -661
  1113. package/src/types/dataclaw.ts +0 -99
  1114. package/src/types/huggingface-transformers.d.ts +0 -12
  1115. package/src/types/index.ts +0 -293
  1116. package/src/types/knowledge-graph.ts +0 -246
  1117. package/src/types/knowledge.ts +0 -388
  1118. package/src/types/memory.ts +0 -300
  1119. package/src/types/meta.ts +0 -218
  1120. package/src/types/outcome.ts +0 -66
  1121. package/src/types/playbook.ts +0 -215
  1122. package/src/types/step.ts +0 -40
  1123. package/src/types/task.ts +0 -52
  1124. package/src/types/team-meta.ts +0 -212
  1125. package/src/types/team-playbook.ts +0 -384
  1126. package/src/types/team-trajectory.ts +0 -673
  1127. package/src/types/trajectory-source.ts +0 -47
  1128. package/src/types/trajectory.ts +0 -80
  1129. package/src/utils/error-classifier.ts +0 -113
  1130. package/src/utils/frontmatter.ts +0 -118
  1131. package/src/utils/index.ts +0 -63
  1132. package/src/utils/partitioned-store.ts +0 -299
  1133. package/src/utils/similarity.ts +0 -139
  1134. package/src/utils/storage.ts +0 -249
  1135. package/src/utils/trajectory-helpers.ts +0 -79
  1136. package/src/utils/validation.ts +0 -286
  1137. package/src/workspace/efficacy-toolkit.ts +0 -496
  1138. package/src/workspace/index.ts +0 -77
  1139. package/src/workspace/runner.ts +0 -281
  1140. package/src/workspace/skill-converter.ts +0 -288
  1141. package/src/workspace/templates/index.ts +0 -95
  1142. package/src/workspace/templates/knowledge-defrag.ts +0 -223
  1143. package/src/workspace/templates/knowledge-extraction.ts +0 -337
  1144. package/src/workspace/templates/meta-reflection.ts +0 -208
  1145. package/src/workspace/templates/playbook-decay-detection.ts +0 -272
  1146. package/src/workspace/templates/playbook-efficacy-audit.ts +0 -246
  1147. package/src/workspace/templates/playbook-extraction.ts +0 -240
  1148. package/src/workspace/templates/playbook-lifecycle-review.ts +0 -274
  1149. package/src/workspace/templates/refinement-analysis.ts +0 -162
  1150. package/src/workspace/templates/skill-enrichment.ts +0 -275
  1151. package/src/workspace/templates/solution-evaluation.ts +0 -199
  1152. package/src/workspace/templates/team-playbook-extraction.ts +0 -631
  1153. package/src/workspace/templates/team-trajectory-analysis.ts +0 -564
  1154. package/src/workspace/templates/trajectory-analysis.ts +0 -234
  1155. package/src/workspace/templates/usage-inference.ts +0 -163
  1156. package/src/workspace/types.ts +0 -185
  1157. package/tests/atlas-knowledge.test.ts +0 -165
  1158. package/tests/embeddings/bm25.test.ts +0 -130
  1159. package/tests/embeddings/inverted-index.test.ts +0 -138
  1160. package/tests/embeddings/manager.test.ts +0 -205
  1161. package/tests/feature-toggles.test.ts +0 -275
  1162. package/tests/fixtures/behavioral-trajectories.ts +0 -210
  1163. package/tests/gap-fixes.test.ts +0 -1116
  1164. package/tests/integration/atlas.test.ts +0 -266
  1165. package/tests/integration/cli-e2e.test.ts +0 -621
  1166. package/tests/integration/curated-sources-e2e.test.ts +0 -502
  1167. package/tests/integration/dataclaw-e2e.test.ts +0 -559
  1168. package/tests/integration/e2e.test.ts +0 -1337
  1169. package/tests/integration/entire-e2e.test.ts +0 -376
  1170. package/tests/integration/huggingface-e2e.test.ts +0 -627
  1171. package/tests/integration/persistence-e2e.test.ts +0 -741
  1172. package/tests/integration/phase-e2e.test.ts +0 -1143
  1173. package/tests/integration/pipeline-data-correctness.test.ts +0 -794
  1174. package/tests/integration/ranking-driven-loadout-e2e.test.ts +0 -185
  1175. package/tests/integration/session-bank.test.ts +0 -231
  1176. package/tests/integration/sessionlog-e2e.test.ts +0 -329
  1177. package/tests/integration/skill-publishing-filesystem-e2e.test.ts +0 -216
  1178. package/tests/integration/skill-tree-wiring.test.ts +0 -152
  1179. package/tests/integration/unified-pipeline-e2e.test.ts +0 -634
  1180. package/tests/learning/analyzer.test.ts +0 -426
  1181. package/tests/learning/dataclaw-trajectory-source.test.ts +0 -642
  1182. package/tests/learning/effectiveness.test.ts +0 -542
  1183. package/tests/learning/energy-evaluator.test.ts +0 -180
  1184. package/tests/learning/entire-trajectory-source.test.ts +0 -380
  1185. package/tests/learning/healing-orchestrator.test.ts +0 -269
  1186. package/tests/learning/huggingface-trajectory-source.test.ts +0 -817
  1187. package/tests/learning/instant-loop.test.ts +0 -243
  1188. package/tests/learning/knowledge-extractor.test.ts +0 -491
  1189. package/tests/learning/maintenance-scheduler.test.ts +0 -191
  1190. package/tests/learning/meta-learner.test.ts +0 -418
  1191. package/tests/learning/pipeline-memory-updates.test.ts +0 -721
  1192. package/tests/learning/playbook-extractor-provenance.test.ts +0 -114
  1193. package/tests/learning/reflexion-generator.test.ts +0 -411
  1194. package/tests/learning/team-ingester.test.ts +0 -349
  1195. package/tests/learning/team-meta-learner.test.ts +0 -618
  1196. package/tests/learning/team-pipeline.test.ts +0 -334
  1197. package/tests/learning/trajectory-sources.test.ts +0 -320
  1198. package/tests/learning/unified-pipeline-efficacy.test.ts +0 -232
  1199. package/tests/learning/unified-pipeline.test.ts +0 -322
  1200. package/tests/learning/usage-inference.test.ts +0 -254
  1201. package/tests/mcp/playbook-server.test.ts +0 -257
  1202. package/tests/memory/candidate-retrieval.test.ts +0 -167
  1203. package/tests/memory/causal-store.test.ts +0 -276
  1204. package/tests/memory/coherence.test.ts +0 -232
  1205. package/tests/memory/compound-engineering-seed.test.ts +0 -338
  1206. package/tests/memory/curated-loader-extended.test.ts +0 -225
  1207. package/tests/memory/experience.test.ts +0 -203
  1208. package/tests/memory/graph-layers/semantic.test.ts +0 -219
  1209. package/tests/memory/knowledge-bank-extraction.test.ts +0 -558
  1210. package/tests/memory/knowledge-bank.test.ts +0 -705
  1211. package/tests/memory/knowledge-defrag.test.ts +0 -366
  1212. package/tests/memory/knowledge-evolution.test.ts +0 -563
  1213. package/tests/memory/knowledge-graph.test.ts +0 -492
  1214. package/tests/memory/knowledge-inbox.test.ts +0 -258
  1215. package/tests/memory/knowledge-minimem.test.ts +0 -251
  1216. package/tests/memory/meta.test.ts +0 -399
  1217. package/tests/memory/playbook-quality-validation.test.ts +0 -430
  1218. package/tests/memory/playbook.test.ts +0 -644
  1219. package/tests/memory/provenance.test.ts +0 -648
  1220. package/tests/memory/reasoning-bank.test.ts +0 -239
  1221. package/tests/memory/reflexion.test.ts +0 -166
  1222. package/tests/memory/skill-exporter.test.ts +0 -475
  1223. package/tests/memory/source-resolver.test.ts +0 -700
  1224. package/tests/memory/system.test.ts +0 -330
  1225. package/tests/memory/team-experience.test.ts +0 -411
  1226. package/tests/memory/temporal-compressor.test.ts +0 -318
  1227. package/tests/persistence/migrator.test.ts +0 -1009
  1228. package/tests/persistence/sqlite-persistence.test.ts +0 -635
  1229. package/tests/runtime/agent-manager.test.ts +0 -517
  1230. package/tests/runtime/compute-provider.test.ts +0 -288
  1231. package/tests/runtime/delegate.test.ts +0 -354
  1232. package/tests/runtime/macro-agent-backend.test.ts +0 -266
  1233. package/tests/runtime/mock-backend.test.ts +0 -248
  1234. package/tests/search/evaluator.test.ts +0 -257
  1235. package/tests/search/moe-gate.test.ts +0 -250
  1236. package/tests/search/refinement-loop.test.ts +0 -477
  1237. package/tests/search/refinement.test.ts +0 -267
  1238. package/tests/search/router.test.ts +0 -506
  1239. package/tests/search/team-router.test.ts +0 -376
  1240. package/tests/search/verification-runner.test.ts +0 -357
  1241. package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +0 -12
  1242. package/tests/session-bank/fixtures/multi-tool-session/metadata.json +0 -28
  1243. package/tests/session-bank/fixtures/root-metadata.json +0 -18
  1244. package/tests/session-bank/fixtures/sessionlog-root-metadata.json +0 -16
  1245. package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +0 -6
  1246. package/tests/session-bank/fixtures/sessionlog-session/metadata.json +0 -55
  1247. package/tests/session-bank/fixtures/simple-session/full.jsonl +0 -6
  1248. package/tests/session-bank/fixtures/simple-session/metadata.json +0 -38
  1249. package/tests/session-bank/git-reader.test.ts +0 -232
  1250. package/tests/session-bank/parser.test.ts +0 -453
  1251. package/tests/session-bank/session-bank.test.ts +0 -546
  1252. package/tests/surfacing/skill-library.test.ts +0 -297
  1253. package/tests/surfacing/skill-publisher.test.ts +0 -432
  1254. package/tests/surfacing/sqlite-storage-adapter.test.ts +0 -197
  1255. package/tests/surfacing/team-skill-library.test.ts +0 -444
  1256. package/tests/types/outcome.test.ts +0 -147
  1257. package/tests/types/step.test.ts +0 -133
  1258. package/tests/types/task.test.ts +0 -158
  1259. package/tests/types/team-meta.test.ts +0 -147
  1260. package/tests/types/team-playbook.test.ts +0 -246
  1261. package/tests/types/team-trajectory.test.ts +0 -557
  1262. package/tests/types/trajectory.test.ts +0 -253
  1263. package/tests/utils/error-classifier.test.ts +0 -149
  1264. package/tests/utils/frontmatter.test.ts +0 -208
  1265. package/tests/utils/partitioned-store.test.ts +0 -230
  1266. package/tests/utils/similarity.test.ts +0 -188
  1267. package/tests/utils/trajectory-helpers.test.ts +0 -163
  1268. package/tests/utils/validation.test.ts +0 -252
  1269. package/tests/workspace/efficacy-toolkit.test.ts +0 -404
  1270. package/tests/workspace/full-flow.test.ts +0 -845
  1271. package/tests/workspace/manager.test.ts +0 -215
  1272. package/tests/workspace/runner.test.ts +0 -336
  1273. package/tests/workspace/skill-converter.test.ts +0 -205
  1274. package/tests/workspace/templates/knowledge-extraction.test.ts +0 -235
  1275. package/tests/workspace/templates/playbook-efficacy.test.ts +0 -377
  1276. package/tests/workspace/templates/team-playbook-extraction.test.ts +0 -341
  1277. package/tests/workspace/templates/team-trajectory-analysis.test.ts +0 -417
  1278. package/tsconfig.json +0 -25
  1279. package/vitest.config.ts +0 -22
@@ -0,0 +1,846 @@
1
+ /**
2
+ * Filesystem-canonical procedural memory.
3
+ *
4
+ * This module defines the round-trip format for storing a cognitive-core
5
+ * Playbook as a portable SKILL.md file. Generic skill consumers can read the
6
+ * top-level fields/body; cognitive-core reindexes from the namespaced `ccore`
7
+ * frontmatter block.
8
+ */
9
+ import { mkdir, readdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';
10
+ import { existsSync } from 'node:fs';
11
+ import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
12
+ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
13
+ import { z } from 'zod';
14
+ const FRONTMATTER_REGEX = /^---\n([\s\S]*?)\n---\n?([\s\S]*)$/;
15
+ const CCORE_SCHEMA_VERSION = 1;
16
+ const IGNORED_SKILL_SCAN_DIRS = new Set(['node_modules', '.git', '.candidates']);
17
+ const PROCEDURAL_PLAYBOOK_ROOT = 'playbooks';
18
+ const AtlasMemoryManifestSchema = z
19
+ .object({
20
+ schemaVersion: z.number().int().positive().default(1),
21
+ canonicalStores: z
22
+ .object({
23
+ knowledge: z.enum(['filesystem', 'sqlite']).optional(),
24
+ procedural: z.enum(['filesystem', 'sqlite']).optional(),
25
+ episodes: z.enum(['filesystem', 'sqlite']).optional(),
26
+ })
27
+ .passthrough()
28
+ .optional(),
29
+ procedural: z
30
+ .object({
31
+ dir: z.string().min(1).optional(),
32
+ strictStartup: z.boolean().optional(),
33
+ pruneSqliteOnly: z.boolean().optional(),
34
+ })
35
+ .passthrough()
36
+ .optional(),
37
+ })
38
+ .passthrough();
39
+ export function resolveScopedProceduralPlaybookDir(baseDir, dir = PROCEDURAL_PLAYBOOK_ROOT) {
40
+ if (isAbsolute(dir)) {
41
+ throw new Error(`Procedural playbook directory must be relative to Atlas storage root: ${dir}`);
42
+ }
43
+ const root = resolve(baseDir, PROCEDURAL_PLAYBOOK_ROOT);
44
+ const candidate = resolve(baseDir, dir);
45
+ const rel = relative(root, candidate);
46
+ if (candidate !== root && (rel.startsWith('..') || isAbsolute(rel))) {
47
+ throw new Error(`Procedural playbook directory must stay under ${root}: ${dir}`);
48
+ }
49
+ return candidate;
50
+ }
51
+ export class ProceduralMemoryFileStore {
52
+ rootDir;
53
+ constructor(rootDir) {
54
+ this.rootDir = rootDir;
55
+ }
56
+ async write(playbook, options = {}) {
57
+ const dirName = canonicalPlaybookDirName(playbook);
58
+ const skillDir = join(this.rootDir, dirName);
59
+ const path = join(skillDir, 'SKILL.md');
60
+ let baseFrontmatter = options.baseFrontmatter;
61
+ if (!baseFrontmatter && existsSync(path)) {
62
+ const existing = parsePlaybookSkillMarkdown(await readFile(path, 'utf-8'));
63
+ if (existing.playbook.id !== playbook.id) {
64
+ throw new Error(`Canonical skill directory collision: ${dirName} already contains playbook ${existing.playbook.id}`);
65
+ }
66
+ baseFrontmatter = existing.frontmatter;
67
+ }
68
+ const content = playbookToSkillMarkdown(playbook, {
69
+ ...options,
70
+ baseFrontmatter,
71
+ includeOperationalState: options.includeOperationalState ?? false,
72
+ });
73
+ await mkdir(skillDir, { recursive: true });
74
+ const tmpPath = join(skillDir, `.SKILL.md.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`);
75
+ await writeFile(tmpPath, content, 'utf-8');
76
+ await rename(tmpPath, path);
77
+ return path;
78
+ }
79
+ async delete(playbook) {
80
+ const skillDir = join(this.rootDir, canonicalPlaybookDirName(playbook));
81
+ const path = join(skillDir, 'SKILL.md');
82
+ if (existsSync(path)) {
83
+ try {
84
+ const existing = parsePlaybookSkillMarkdown(await readFile(path, 'utf-8'));
85
+ if (existing.playbook.id !== playbook.id)
86
+ return;
87
+ }
88
+ catch {
89
+ return;
90
+ }
91
+ }
92
+ await rm(skillDir, {
93
+ recursive: true,
94
+ force: true,
95
+ });
96
+ }
97
+ /**
98
+ * Write the rebuildable operational-state sidecar (.ccore/state.json) next to
99
+ * the playbook's SKILL.md. Operational fields (confidence, counters,
100
+ * consolidation strength, lastUsed) are intentionally NOT in the stable
101
+ * SKILL.md, so this snapshot is what lets a from-files reindex restore them —
102
+ * making SQLite a pure rebuildable cache. Atomic (tmp + rename). No-op when the
103
+ * SKILL.md doesn't exist (nothing canonical to attach state to).
104
+ */
105
+ async writeState(playbook) {
106
+ const skillDir = join(this.rootDir, canonicalPlaybookDirName(playbook));
107
+ if (!existsSync(join(skillDir, 'SKILL.md')))
108
+ return;
109
+ const ccoreDir = join(skillDir, '.ccore');
110
+ const path = join(ccoreDir, 'state.json');
111
+ const state = {
112
+ id: playbook.id,
113
+ confidence: playbook.confidence,
114
+ successCount: playbook.evolution.successCount,
115
+ failureCount: playbook.evolution.failureCount,
116
+ consolidationStrength: playbook.evolution.consolidationStrength ?? 0,
117
+ domainBreadth: playbook.evolution.domainBreadth ?? 0,
118
+ lastUsed: playbook.evolution.lastUsed
119
+ ? new Date(playbook.evolution.lastUsed).toISOString()
120
+ : null,
121
+ updatedAt: playbook.updatedAt ? new Date(playbook.updatedAt).toISOString() : null,
122
+ };
123
+ await mkdir(ccoreDir, { recursive: true });
124
+ const tmpPath = join(ccoreDir, `.state.json.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`);
125
+ await writeFile(tmpPath, JSON.stringify(state, null, 2), 'utf-8');
126
+ await rename(tmpPath, path);
127
+ }
128
+ }
129
+ export async function readAtlasMemoryManifest(baseDir) {
130
+ const manifestPath = join(baseDir, 'manifest.json');
131
+ if (!existsSync(manifestPath))
132
+ return null;
133
+ const parsed = JSON.parse(await readFile(manifestPath, 'utf-8'));
134
+ const result = AtlasMemoryManifestSchema.safeParse(parsed);
135
+ if (!result.success) {
136
+ const issue = result.error.issues[0];
137
+ const path = issue.path.length > 0 ? issue.path.join('.') : '<root>';
138
+ throw new Error(`${manifestPath} is invalid at ${path}: ${issue.message}`);
139
+ }
140
+ return result.data;
141
+ }
142
+ export async function writeAtlasMemoryManifest(baseDir, manifest) {
143
+ const result = AtlasMemoryManifestSchema.safeParse(manifest);
144
+ if (!result.success) {
145
+ const issue = result.error.issues[0];
146
+ const path = issue.path.length > 0 ? issue.path.join('.') : '<root>';
147
+ throw new Error(`manifest is invalid at ${path}: ${issue.message}`);
148
+ }
149
+ await mkdir(baseDir, { recursive: true });
150
+ const manifestPath = join(baseDir, 'manifest.json');
151
+ const content = `${JSON.stringify(result.data, null, 2)}\n`;
152
+ const tmpPath = join(baseDir, `.manifest.json.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`);
153
+ await writeFile(tmpPath, content, 'utf-8');
154
+ await rename(tmpPath, manifestPath);
155
+ return manifestPath;
156
+ }
157
+ export async function pruneSqliteOnlyPlaybooks(library, canonicalPlaybookIds) {
158
+ const canonical = new Set(canonicalPlaybookIds);
159
+ const all = await library.getAll();
160
+ const sqliteOnly = all.filter((playbook) => !canonical.has(playbook.id));
161
+ for (const playbook of sqliteOnly) {
162
+ await library.delete(playbook.id);
163
+ }
164
+ return {
165
+ pruned: sqliteOnly.length,
166
+ retained: all.length - sqliteOnly.length,
167
+ ids: sqliteOnly.map((playbook) => playbook.id),
168
+ };
169
+ }
170
+ export function playbookToSkillMarkdown(playbook, options = {}) {
171
+ const frontmatter = buildSkillFrontmatter(playbook, options);
172
+ const yaml = stringifyYaml(frontmatter, {
173
+ lineWidth: 120,
174
+ defaultKeyType: 'PLAIN',
175
+ defaultStringType: 'PLAIN',
176
+ });
177
+ return `---\n${yaml}---\n\n${buildSkillBody(playbook)}`;
178
+ }
179
+ export function skillMarkdownToPlaybook(markdown) {
180
+ return parsePlaybookSkillMarkdown(markdown).playbook;
181
+ }
182
+ export function parsePlaybookSkillMarkdown(markdown) {
183
+ const match = markdown.match(FRONTMATTER_REGEX);
184
+ if (!match) {
185
+ throw new Error('SKILL.md is missing YAML frontmatter');
186
+ }
187
+ const [, yamlBlock, body] = match;
188
+ const parsed = parseYaml(yamlBlock);
189
+ if (!isRecord(parsed)) {
190
+ throw new Error('SKILL.md frontmatter must be a YAML object');
191
+ }
192
+ const ccore = parsed.ccore;
193
+ if (!isRecord(ccore)) {
194
+ throw new Error('SKILL.md frontmatter is missing required ccore block');
195
+ }
196
+ if (ccore.kind !== 'procedural') {
197
+ throw new Error('SKILL.md ccore.kind must be "procedural"');
198
+ }
199
+ return {
200
+ playbook: playbookFromFrontmatter(parsed, ccore),
201
+ frontmatter: parsed,
202
+ body: body.trim(),
203
+ };
204
+ }
205
+ export async function exportPlaybookAsCanonicalSkill(playbook, outputDir, options = {}) {
206
+ const content = playbookToSkillMarkdown(playbook, options);
207
+ const dirName = canonicalPlaybookDirName(playbook);
208
+ const skillDir = join(outputDir, dirName);
209
+ if (!existsSync(skillDir)) {
210
+ await mkdir(skillDir, { recursive: true });
211
+ }
212
+ const path = join(skillDir, 'SKILL.md');
213
+ if (existsSync(path)) {
214
+ const existing = skillMarkdownToPlaybook(await readFile(path, 'utf-8'));
215
+ if (existing.id !== playbook.id) {
216
+ throw new Error(`Canonical skill directory collision: ${dirName} already contains playbook ${existing.id}`);
217
+ }
218
+ }
219
+ await writeFile(path, content, 'utf-8');
220
+ return {
221
+ playbookId: playbook.id,
222
+ dirName,
223
+ path,
224
+ content,
225
+ };
226
+ }
227
+ export async function exportPlaybooksAsCanonicalSkills(library, outputDir, options = {}) {
228
+ const result = {
229
+ exported: 0,
230
+ errors: [],
231
+ skills: [],
232
+ };
233
+ if (!existsSync(outputDir)) {
234
+ await mkdir(outputDir, { recursive: true });
235
+ }
236
+ const playbooks = await library.getAll();
237
+ const idsByDir = new Map();
238
+ for (const playbook of playbooks) {
239
+ const dirName = canonicalPlaybookDirName(playbook);
240
+ const ids = idsByDir.get(dirName) ?? [];
241
+ ids.push(playbook.id);
242
+ idsByDir.set(dirName, ids);
243
+ }
244
+ for (const playbook of playbooks) {
245
+ try {
246
+ const dirName = canonicalPlaybookDirName(playbook);
247
+ const collidingIds = idsByDir.get(dirName) ?? [];
248
+ if (new Set(collidingIds).size > 1) {
249
+ throw new Error(`Canonical skill directory collision: ${dirName} maps ids ${collidingIds.join(', ')}`);
250
+ }
251
+ const exported = await exportPlaybookAsCanonicalSkill(playbook, outputDir, options);
252
+ result.skills.push(exported);
253
+ result.exported++;
254
+ }
255
+ catch (error) {
256
+ result.errors.push({
257
+ playbook: playbook.id,
258
+ error: error instanceof Error ? error.message : String(error),
259
+ });
260
+ }
261
+ }
262
+ return result;
263
+ }
264
+ export async function validateCanonicalPlaybookFiles(rootDir) {
265
+ const result = {
266
+ rootDir,
267
+ valid: 0,
268
+ invalid: [],
269
+ duplicateIds: [],
270
+ playbooks: [],
271
+ };
272
+ if (!existsSync(rootDir)) {
273
+ result.invalid.push({ path: rootDir, message: 'Directory does not exist' });
274
+ return result;
275
+ }
276
+ const skillPaths = await findSkillMarkdownFiles(rootDir);
277
+ const pathsById = new Map();
278
+ for (const path of skillPaths) {
279
+ try {
280
+ const content = await readFile(path, 'utf-8');
281
+ const parsed = parsePlaybookSkillMarkdown(content);
282
+ result.valid++;
283
+ result.playbooks.push({
284
+ id: parsed.playbook.id,
285
+ name: parsed.playbook.name,
286
+ path,
287
+ });
288
+ const existing = pathsById.get(parsed.playbook.id) ?? [];
289
+ existing.push(path);
290
+ pathsById.set(parsed.playbook.id, existing);
291
+ }
292
+ catch (error) {
293
+ result.invalid.push({
294
+ path,
295
+ message: error instanceof Error ? error.message : String(error),
296
+ });
297
+ }
298
+ }
299
+ for (const [id, paths] of pathsById.entries()) {
300
+ if (paths.length > 1) {
301
+ result.duplicateIds.push({ id, paths });
302
+ }
303
+ }
304
+ return result;
305
+ }
306
+ /**
307
+ * Overlay the rebuildable operational-state sidecar (.ccore/state.json, written
308
+ * by ProceduralMemoryFileStore.writeState) onto a playbook parsed from SKILL.md.
309
+ * The stable SKILL.md omits confidence/counters, so without this a reindex resets
310
+ * them to defaults; with it, SQLite operational state is fully reconstructable
311
+ * from files ("delete the DB, lose nothing").
312
+ */
313
+ async function applyStateSidecar(playbook, skillMdPath) {
314
+ const statePath = join(dirname(skillMdPath), '.ccore', 'state.json');
315
+ if (!existsSync(statePath))
316
+ return;
317
+ try {
318
+ const raw = JSON.parse(await readFile(statePath, 'utf-8'));
319
+ if (typeof raw.id === 'string' && raw.id !== playbook.id)
320
+ return; // dir/id mismatch guard
321
+ if (typeof raw.confidence === 'number')
322
+ playbook.confidence = raw.confidence;
323
+ if (typeof raw.successCount === 'number')
324
+ playbook.evolution.successCount = raw.successCount;
325
+ if (typeof raw.failureCount === 'number')
326
+ playbook.evolution.failureCount = raw.failureCount;
327
+ if (typeof raw.consolidationStrength === 'number') {
328
+ playbook.evolution.consolidationStrength = raw.consolidationStrength;
329
+ }
330
+ if (typeof raw.domainBreadth === 'number')
331
+ playbook.evolution.domainBreadth = raw.domainBreadth;
332
+ if (typeof raw.lastUsed === 'string')
333
+ playbook.evolution.lastUsed = new Date(raw.lastUsed);
334
+ }
335
+ catch {
336
+ // Corrupt/unreadable sidecar — keep the SKILL.md-parsed defaults.
337
+ }
338
+ }
339
+ export async function reindexCanonicalPlaybookFiles(library, rootDir) {
340
+ const result = {
341
+ rootDir,
342
+ indexed: 0,
343
+ skipped: [],
344
+ duplicateIds: [],
345
+ playbooks: [],
346
+ rootMissing: false,
347
+ };
348
+ if (!existsSync(rootDir)) {
349
+ // Cold store: nothing written yet. Not a warning — flagged for a debug log.
350
+ result.rootMissing = true;
351
+ return result;
352
+ }
353
+ const skillPaths = await findSkillMarkdownFiles(rootDir);
354
+ const parsed = [];
355
+ const pathsById = new Map();
356
+ for (const path of skillPaths) {
357
+ try {
358
+ const content = await readFile(path, 'utf-8');
359
+ const playbook = skillMarkdownToPlaybook(content);
360
+ await applyStateSidecar(playbook, path);
361
+ parsed.push({ path, playbook });
362
+ const paths = pathsById.get(playbook.id) ?? [];
363
+ paths.push(path);
364
+ pathsById.set(playbook.id, paths);
365
+ }
366
+ catch (error) {
367
+ result.skipped.push({
368
+ path,
369
+ message: error instanceof Error ? error.message : String(error),
370
+ });
371
+ }
372
+ }
373
+ const duplicateIds = new Set();
374
+ for (const [id, paths] of pathsById.entries()) {
375
+ if (paths.length > 1) {
376
+ duplicateIds.add(id);
377
+ result.duplicateIds.push({ id, paths });
378
+ for (const path of paths) {
379
+ result.skipped.push({ path, id, message: `Duplicate playbook id: ${id}` });
380
+ }
381
+ }
382
+ }
383
+ const candidates = parsed.filter(({ playbook }) => !duplicateIds.has(playbook.id));
384
+ const candidateIds = new Set(candidates.map(({ playbook }) => playbook.id));
385
+ const sorted = sortPlaybooksForParents(candidates);
386
+ for (const item of sorted) {
387
+ const parentId = item.playbook.parentPlaybookId;
388
+ if (parentId && !candidateIds.has(parentId) && !(await library.get(parentId))) {
389
+ result.skipped.push({
390
+ path: item.path,
391
+ id: item.playbook.id,
392
+ message: `Missing parent playbook id: ${parentId}`,
393
+ });
394
+ continue;
395
+ }
396
+ try {
397
+ await library.upsertCanonical(item.playbook);
398
+ result.indexed++;
399
+ result.playbooks.push({
400
+ id: item.playbook.id,
401
+ name: item.playbook.name,
402
+ path: item.path,
403
+ });
404
+ }
405
+ catch (error) {
406
+ result.skipped.push({
407
+ path: item.path,
408
+ id: item.playbook.id,
409
+ message: error instanceof Error ? error.message : String(error),
410
+ });
411
+ }
412
+ }
413
+ return result;
414
+ }
415
+ /**
416
+ * Reindex a single canonical SKILL.md into the derived cache — the file-granular
417
+ * counterpart of {@link reindexCanonicalPlaybookFiles}, used by the filesystem
418
+ * cascade when a watcher reports one file changed. Parses the file, overlays the
419
+ * operational-state sidecar, and upserts the derived row (no structural write, so
420
+ * it never re-triggers the watcher). Throws on a malformed file so the caller can
421
+ * park the queue entry; returns the indexed playbook on success.
422
+ */
423
+ export async function reindexCanonicalPlaybookFile(library, path) {
424
+ const content = await readFile(path, 'utf-8');
425
+ const playbook = skillMarkdownToPlaybook(content);
426
+ await applyStateSidecar(playbook, path);
427
+ await library.upsertCanonical(playbook);
428
+ return playbook;
429
+ }
430
+ export function canonicalPlaybookDirName(playbook) {
431
+ return slugify(playbook.name || playbook.id);
432
+ }
433
+ function buildSkillFrontmatter(playbook, options) {
434
+ const baseFrontmatter = options.baseFrontmatter ?? {};
435
+ const baseCcore = isRecord(baseFrontmatter.ccore) ? baseFrontmatter.ccore : {};
436
+ const merged = {
437
+ ...baseFrontmatter,
438
+ id: playbook.id,
439
+ name: playbook.name,
440
+ version: playbook.evolution.version,
441
+ description: buildDescription(playbook),
442
+ status: 'active',
443
+ tags: playbook.applicability.domains,
444
+ ccore: {
445
+ ...baseCcore,
446
+ ...toCcoreFrontmatter(playbook, options.includeOperationalState ?? false),
447
+ },
448
+ };
449
+ if (playbook.userInvocable !== undefined) {
450
+ merged['user-invocable'] = playbook.userInvocable;
451
+ }
452
+ return omitUndefined(merged);
453
+ }
454
+ function sortPlaybooksForParents(items) {
455
+ const byId = new Map(items.map((item) => [item.playbook.id, item]));
456
+ const visited = new Set();
457
+ const visiting = new Set();
458
+ const sorted = [];
459
+ const visit = (item) => {
460
+ if (visited.has(item.playbook.id))
461
+ return;
462
+ if (visiting.has(item.playbook.id)) {
463
+ sorted.push(item);
464
+ visited.add(item.playbook.id);
465
+ return;
466
+ }
467
+ visiting.add(item.playbook.id);
468
+ const parentId = item.playbook.parentPlaybookId;
469
+ const parent = parentId ? byId.get(parentId) : undefined;
470
+ if (parent)
471
+ visit(parent);
472
+ visiting.delete(item.playbook.id);
473
+ if (!visited.has(item.playbook.id)) {
474
+ visited.add(item.playbook.id);
475
+ sorted.push(item);
476
+ }
477
+ };
478
+ for (const item of items)
479
+ visit(item);
480
+ return sorted;
481
+ }
482
+ async function findSkillMarkdownFiles(rootDir) {
483
+ const found = [];
484
+ const entries = await readdir(rootDir, { withFileTypes: true });
485
+ for (const entry of entries) {
486
+ const path = join(rootDir, entry.name);
487
+ if (entry.isDirectory()) {
488
+ if (IGNORED_SKILL_SCAN_DIRS.has(entry.name))
489
+ continue;
490
+ found.push(...(await findSkillMarkdownFiles(path)));
491
+ continue;
492
+ }
493
+ if (entry.isFile() && entry.name === 'SKILL.md') {
494
+ const s = await stat(path);
495
+ if (s.isFile())
496
+ found.push(path);
497
+ }
498
+ }
499
+ return found.sort();
500
+ }
501
+ function toCcoreFrontmatter(playbook, includeOperationalState) {
502
+ const evolution = includeOperationalState
503
+ ? {
504
+ version: playbook.evolution.version,
505
+ createdFrom: playbook.evolution.createdFrom,
506
+ failures: (playbook.evolution.failures ?? []).map((failure) => ({
507
+ ...failure,
508
+ timestamp: toIso(failure.timestamp),
509
+ })),
510
+ refinements: (playbook.evolution.refinements ?? []).map((refinement) => ({
511
+ ...refinement,
512
+ addedAt: toIso(refinement.addedAt),
513
+ })),
514
+ successCount: playbook.evolution.successCount,
515
+ failureCount: playbook.evolution.failureCount,
516
+ lastUsed: playbook.evolution.lastUsed ? toIso(playbook.evolution.lastUsed) : undefined,
517
+ consolidationStrength: playbook.evolution.consolidationStrength,
518
+ domainBreadth: playbook.evolution.domainBreadth,
519
+ }
520
+ : {
521
+ version: playbook.evolution.version,
522
+ createdFrom: playbook.evolution.createdFrom,
523
+ refinements: (playbook.evolution.refinements ?? []).map((refinement) => ({
524
+ ...refinement,
525
+ addedAt: toIso(refinement.addedAt),
526
+ })),
527
+ };
528
+ return omitUndefined({
529
+ kind: 'procedural',
530
+ schemaVersion: CCORE_SCHEMA_VERSION,
531
+ id: playbook.id,
532
+ applicability: playbook.applicability,
533
+ guidance: playbook.guidance,
534
+ verification: playbook.verification,
535
+ evolution,
536
+ provenance: playbook.provenance
537
+ ? {
538
+ ...playbook.provenance,
539
+ recordedAt: toIso(playbook.provenance.recordedAt),
540
+ }
541
+ : undefined,
542
+ confidence: includeOperationalState ? playbook.confidence : undefined,
543
+ complexity: playbook.complexity,
544
+ estimatedEffort: playbook.estimatedEffort,
545
+ createdAt: toIso(playbook.createdAt),
546
+ updatedAt: toIso(playbook.updatedAt),
547
+ parentPlaybookId: playbook.parentPlaybookId,
548
+ userInvocable: playbook.userInvocable,
549
+ publishMetadata: playbook.publishMetadata,
550
+ skillLevel: playbook.skillLevel,
551
+ });
552
+ }
553
+ function buildSkillBody(playbook) {
554
+ const sections = [];
555
+ sections.push(`# ${titleCase(playbook.name)}`);
556
+ sections.push('');
557
+ if (playbook.applicability.situations.length > 0) {
558
+ sections.push('## When To Use');
559
+ sections.push('');
560
+ sections.push(...playbook.applicability.situations.map((s) => `- ${s}`));
561
+ sections.push('');
562
+ }
563
+ if (playbook.applicability.antiPatterns.length > 0) {
564
+ sections.push('## When Not To Use');
565
+ sections.push('');
566
+ sections.push(...playbook.applicability.antiPatterns.map((s) => `- ${s}`));
567
+ sections.push('');
568
+ }
569
+ sections.push('## Procedure');
570
+ sections.push('');
571
+ sections.push(playbook.guidance.strategy);
572
+ if (playbook.guidance.tactics.length > 0) {
573
+ sections.push('');
574
+ sections.push(...playbook.guidance.tactics.map((t) => `- ${t}`));
575
+ }
576
+ if (playbook.guidance.steps && playbook.guidance.steps.length > 0) {
577
+ sections.push('');
578
+ sections.push(...playbook.guidance.steps.map((s, i) => `${i + 1}. ${s}`));
579
+ }
580
+ sections.push('');
581
+ if (playbook.guidance.codeExample) {
582
+ sections.push('## Example');
583
+ sections.push('');
584
+ sections.push('```');
585
+ sections.push(playbook.guidance.codeExample);
586
+ sections.push('```');
587
+ sections.push('');
588
+ }
589
+ sections.push('## Verification');
590
+ sections.push('');
591
+ if (playbook.verification.successIndicators.length > 0) {
592
+ sections.push('Success:');
593
+ sections.push(...playbook.verification.successIndicators.map((s) => `- ${s}`));
594
+ sections.push('');
595
+ }
596
+ if (playbook.verification.failureIndicators.length > 0) {
597
+ sections.push('Failure:');
598
+ sections.push(...playbook.verification.failureIndicators.map((s) => `- ${s}`));
599
+ sections.push('');
600
+ }
601
+ if (playbook.verification.rollbackStrategy) {
602
+ sections.push(`Rollback: ${playbook.verification.rollbackStrategy}`);
603
+ sections.push('');
604
+ }
605
+ if ((playbook.evolution.refinements ?? []).length > 0) {
606
+ sections.push('## Notes');
607
+ sections.push('');
608
+ for (const refinement of playbook.evolution.refinements ?? []) {
609
+ sections.push(`- ${refinement.context}: ${refinement.addition}`);
610
+ }
611
+ sections.push('');
612
+ }
613
+ return sections.join('\n').trimEnd() + '\n';
614
+ }
615
+ function playbookFromFrontmatter(frontmatter, ccore) {
616
+ const id = requireString(ccore.id ?? frontmatter.id, 'ccore.id');
617
+ const name = requireString(frontmatter.name ?? id, 'name');
618
+ const createdAt = parseDate(ccore.createdAt, 'ccore.createdAt');
619
+ const updatedAt = parseDate(ccore.updatedAt, 'ccore.updatedAt');
620
+ const evolution = parseEvolution(ccore.evolution, frontmatter.version);
621
+ return omitUndefined({
622
+ id,
623
+ name,
624
+ applicability: requireRecord(ccore.applicability, 'ccore.applicability'),
625
+ guidance: requireRecord(ccore.guidance, 'ccore.guidance'),
626
+ verification: requireRecord(ccore.verification, 'ccore.verification'),
627
+ evolution,
628
+ provenance: parseProvenance(ccore.provenance),
629
+ confidence: optionalNumber(ccore.confidence) ?? 0.3,
630
+ complexity: parseComplexity(ccore.complexity),
631
+ estimatedEffort: requireNumber(ccore.estimatedEffort, 'ccore.estimatedEffort'),
632
+ createdAt,
633
+ updatedAt,
634
+ parentPlaybookId: optionalString(ccore.parentPlaybookId),
635
+ userInvocable: optionalBoolean(ccore.userInvocable ?? frontmatter['user-invocable']),
636
+ publishMetadata: isRecord(ccore.publishMetadata) ? ccore.publishMetadata : undefined,
637
+ skillLevel: parseSkillLevel(ccore.skillLevel),
638
+ });
639
+ }
640
+ function parseEvolution(value, fallbackVersion) {
641
+ const evolution = requireRecord(value, 'ccore.evolution');
642
+ const failures = optionalArray(evolution.failures).map((failure, index) => {
643
+ const row = requireRecord(failure, `ccore.evolution.failures[${index}]`);
644
+ return {
645
+ trajectoryId: requireString(row.trajectoryId, `ccore.evolution.failures[${index}].trajectoryId`),
646
+ context: requireString(row.context, `ccore.evolution.failures[${index}].context`),
647
+ failureMode: requireString(row.failureMode, `ccore.evolution.failures[${index}].failureMode`),
648
+ timestamp: parseDate(row.timestamp, `ccore.evolution.failures[${index}].timestamp`),
649
+ };
650
+ });
651
+ const refinements = optionalArray(evolution.refinements).map((refinement, index) => {
652
+ const row = requireRecord(refinement, `ccore.evolution.refinements[${index}]`);
653
+ return {
654
+ context: requireString(row.context, `ccore.evolution.refinements[${index}].context`),
655
+ addition: requireString(row.addition, `ccore.evolution.refinements[${index}].addition`),
656
+ source: parseRefinementSource(row.source),
657
+ addedAt: parseDate(row.addedAt, `ccore.evolution.refinements[${index}].addedAt`),
658
+ };
659
+ });
660
+ return omitUndefined({
661
+ version: requireString(evolution.version ?? fallbackVersion, 'ccore.evolution.version'),
662
+ createdFrom: optionalStringArray(evolution.createdFrom, 'ccore.evolution.createdFrom'),
663
+ failures,
664
+ refinements,
665
+ successCount: optionalNumber(evolution.successCount) ?? 0,
666
+ failureCount: optionalNumber(evolution.failureCount) ?? 0,
667
+ lastUsed: evolution.lastUsed
668
+ ? parseDate(evolution.lastUsed, 'ccore.evolution.lastUsed')
669
+ : undefined,
670
+ consolidationStrength: optionalNumber(evolution.consolidationStrength),
671
+ domainBreadth: optionalNumber(evolution.domainBreadth),
672
+ });
673
+ }
674
+ function parseProvenance(value) {
675
+ if (value === undefined || value === null)
676
+ return undefined;
677
+ const provenance = requireRecord(value, 'ccore.provenance');
678
+ return omitUndefined({
679
+ origin: parseOrigin(provenance.origin),
680
+ extractionMethod: parseExtractionMethod(provenance.extractionMethod),
681
+ fallbackReason: optionalString(provenance.fallbackReason),
682
+ template: optionalString(provenance.template),
683
+ templateVersion: optionalString(provenance.templateVersion),
684
+ sourceFile: optionalString(provenance.sourceFile),
685
+ importedFrom: optionalString(provenance.importedFrom),
686
+ curatedBy: optionalString(provenance.curatedBy),
687
+ recordedAt: parseDate(provenance.recordedAt, 'ccore.provenance.recordedAt'),
688
+ creationCostUsd: optionalNumber(provenance.creationCostUsd),
689
+ });
690
+ }
691
+ function buildDescription(playbook) {
692
+ const lead = playbook.applicability.situations[0] ?? playbook.guidance.strategy;
693
+ const triggers = playbook.applicability.triggers.slice(0, 5);
694
+ const triggerText = triggers.length > 0 ? ` Use when ${triggers.map((t) => `"${t}"`).join(', ')}.` : '';
695
+ const domains = playbook.applicability.domains.length > 0
696
+ ? ` Domains: ${playbook.applicability.domains.join(', ')}.`
697
+ : '';
698
+ const full = `${lead}${triggerText}${domains}`;
699
+ return full.length <= 1024 ? full : `${full.slice(0, 1021)}...`;
700
+ }
701
+ function slugify(value) {
702
+ return (value
703
+ .toLowerCase()
704
+ .replace(/[^a-z0-9]+/g, '-')
705
+ .replace(/^-+|-+$/g, '') || 'playbook');
706
+ }
707
+ function titleCase(value) {
708
+ return value
709
+ .split(/[-_\s]+/)
710
+ .filter(Boolean)
711
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
712
+ .join(' ');
713
+ }
714
+ function toIso(value) {
715
+ const date = value instanceof Date ? value : new Date(value);
716
+ if (Number.isNaN(date.getTime())) {
717
+ throw new Error('Cannot serialize invalid date to SKILL.md');
718
+ }
719
+ return date.toISOString();
720
+ }
721
+ function parseDate(value, path) {
722
+ if (value instanceof Date)
723
+ return value;
724
+ if (typeof value !== 'string' && typeof value !== 'number') {
725
+ throw new Error(`${path} must be a date string`);
726
+ }
727
+ const parsed = new Date(value);
728
+ if (Number.isNaN(parsed.getTime())) {
729
+ throw new Error(`${path} must be a valid date`);
730
+ }
731
+ return parsed;
732
+ }
733
+ function parseComplexity(value) {
734
+ if (value === 'simple' || value === 'moderate' || value === 'complex')
735
+ return value;
736
+ throw new Error('ccore.complexity must be simple, moderate, or complex');
737
+ }
738
+ function parseSkillLevel(value) {
739
+ if (value === 'planning' ||
740
+ value === 'functional' ||
741
+ value === 'atomic-check' ||
742
+ value === 'executable-bundle') {
743
+ return value;
744
+ }
745
+ if (value === undefined || value === null)
746
+ return undefined;
747
+ throw new Error('ccore.skillLevel has an unsupported value');
748
+ }
749
+ function parseOrigin(value) {
750
+ if (value === 'extracted' || value === 'curated' || value === 'imported' || value === 'manual') {
751
+ return value;
752
+ }
753
+ throw new Error('ccore.provenance.origin has an unsupported value');
754
+ }
755
+ function parseExtractionMethod(value) {
756
+ if (value === 'heuristic' ||
757
+ value === 'trajectory-distiller' ||
758
+ value === 'workspace-agent' ||
759
+ value === 'gepa') {
760
+ return value;
761
+ }
762
+ if (value === undefined || value === null)
763
+ return undefined;
764
+ throw new Error('ccore.provenance.extractionMethod has an unsupported value');
765
+ }
766
+ function parseRefinementSource(value) {
767
+ if (value === 'failure' || value === 'success' || value === 'manual')
768
+ return value;
769
+ throw new Error('refinement.source has an unsupported value');
770
+ }
771
+ function stringArray(value, path) {
772
+ const array = requireArray(value, path);
773
+ for (const item of array) {
774
+ if (typeof item !== 'string')
775
+ throw new Error(`${path} must contain only strings`);
776
+ }
777
+ return array;
778
+ }
779
+ function optionalStringArray(value, path) {
780
+ if (value === undefined || value === null)
781
+ return [];
782
+ return stringArray(value, path);
783
+ }
784
+ function optionalArray(value) {
785
+ if (value === undefined || value === null)
786
+ return [];
787
+ if (!Array.isArray(value))
788
+ throw new Error('optional array field must be an array');
789
+ return value;
790
+ }
791
+ function requireArray(value, path) {
792
+ if (!Array.isArray(value))
793
+ throw new Error(`${path} must be an array`);
794
+ return value;
795
+ }
796
+ function requireRecord(value, path) {
797
+ if (!isRecord(value))
798
+ throw new Error(`${path} must be an object`);
799
+ return value;
800
+ }
801
+ function requireString(value, path) {
802
+ if (typeof value !== 'string' || value.length === 0) {
803
+ throw new Error(`${path} must be a non-empty string`);
804
+ }
805
+ return value;
806
+ }
807
+ function optionalString(value) {
808
+ if (value === undefined || value === null)
809
+ return undefined;
810
+ if (typeof value !== 'string')
811
+ throw new Error('optional string field must be a string');
812
+ return value;
813
+ }
814
+ function requireNumber(value, path) {
815
+ if (typeof value !== 'number' || Number.isNaN(value)) {
816
+ throw new Error(`${path} must be a number`);
817
+ }
818
+ return value;
819
+ }
820
+ function optionalNumber(value) {
821
+ if (value === undefined || value === null)
822
+ return undefined;
823
+ if (typeof value !== 'number' || Number.isNaN(value)) {
824
+ throw new Error('optional number field must be a number');
825
+ }
826
+ return value;
827
+ }
828
+ function optionalBoolean(value) {
829
+ if (value === undefined || value === null)
830
+ return undefined;
831
+ if (typeof value !== 'boolean')
832
+ throw new Error('optional boolean field must be a boolean');
833
+ return value;
834
+ }
835
+ function isRecord(value) {
836
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
837
+ }
838
+ function omitUndefined(obj) {
839
+ const result = {};
840
+ for (const [key, value] of Object.entries(obj)) {
841
+ if (value !== undefined)
842
+ result[key] = value;
843
+ }
844
+ return result;
845
+ }
846
+ //# sourceMappingURL=procedural-skill.js.map