cognitive-core 0.2.4 → 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 (1278) 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 +31 -4
  536. package/dist/learning/pipeline.d.ts.map +1 -1
  537. package/dist/learning/pipeline.js +64 -12
  538. package/dist/learning/pipeline.js.map +1 -1
  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 +3 -1
  827. package/dist/surfacing/skill-publisher.d.ts.map +1 -1
  828. package/dist/surfacing/skill-publisher.js +28 -28
  829. package/dist/surfacing/skill-publisher.js.map +1 -1
  830. package/dist/surfacing/sqlite-storage-adapter.d.ts +2 -2
  831. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
  832. package/dist/surfacing/sqlite-storage-adapter.js +27 -18
  833. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
  834. package/dist/types/analysis.d.ts +43 -0
  835. package/dist/types/analysis.d.ts.map +1 -0
  836. package/dist/types/analysis.js +10 -0
  837. package/dist/types/analysis.js.map +1 -0
  838. package/dist/types/config.d.ts +2178 -425
  839. package/dist/types/config.d.ts.map +1 -1
  840. package/dist/types/config.js +600 -88
  841. package/dist/types/config.js.map +1 -1
  842. package/dist/types/dataclaw.d.ts +3 -3
  843. package/dist/types/index.d.ts +4 -7
  844. package/dist/types/index.d.ts.map +1 -1
  845. package/dist/types/index.js +2 -10
  846. package/dist/types/index.js.map +1 -1
  847. package/dist/types/knowledge-graph.d.ts +1 -1
  848. package/dist/types/knowledge-graph.d.ts.map +1 -1
  849. package/dist/types/knowledge.d.ts +219 -11
  850. package/dist/types/knowledge.d.ts.map +1 -1
  851. package/dist/types/knowledge.js +90 -30
  852. package/dist/types/knowledge.js.map +1 -1
  853. package/dist/types/memory.d.ts +8 -0
  854. package/dist/types/memory.d.ts.map +1 -1
  855. package/dist/types/memory.js +12 -4
  856. package/dist/types/memory.js.map +1 -1
  857. package/dist/types/outcome.d.ts +11 -0
  858. package/dist/types/outcome.d.ts.map +1 -1
  859. package/dist/types/outcome.js +9 -0
  860. package/dist/types/outcome.js.map +1 -1
  861. package/dist/types/playbook.d.ts +63 -0
  862. package/dist/types/playbook.d.ts.map +1 -1
  863. package/dist/types/playbook.js +51 -0
  864. package/dist/types/playbook.js.map +1 -1
  865. package/dist/types/trajectory-source.d.ts +1 -1
  866. package/dist/types/trajectory-source.d.ts.map +1 -1
  867. package/dist/types/trajectory.d.ts +61 -0
  868. package/dist/types/trajectory.d.ts.map +1 -1
  869. package/dist/types/trajectory.js +25 -0
  870. package/dist/types/trajectory.js.map +1 -1
  871. package/dist/utils/clock.d.ts +36 -0
  872. package/dist/utils/clock.d.ts.map +1 -0
  873. package/dist/utils/clock.js +48 -0
  874. package/dist/utils/clock.js.map +1 -0
  875. package/dist/utils/frontmatter.d.ts.map +1 -1
  876. package/dist/utils/frontmatter.js +10 -2
  877. package/dist/utils/frontmatter.js.map +1 -1
  878. package/dist/utils/index.d.ts +4 -1
  879. package/dist/utils/index.d.ts.map +1 -1
  880. package/dist/utils/index.js +4 -1
  881. package/dist/utils/index.js.map +1 -1
  882. package/dist/utils/logger.d.ts +31 -0
  883. package/dist/utils/logger.d.ts.map +1 -0
  884. package/dist/utils/logger.js +50 -0
  885. package/dist/utils/logger.js.map +1 -0
  886. package/dist/utils/objectives.d.ts +45 -0
  887. package/dist/utils/objectives.d.ts.map +1 -0
  888. package/dist/utils/objectives.js +74 -0
  889. package/dist/utils/objectives.js.map +1 -0
  890. package/dist/utils/partitioned-store.d.ts.map +1 -1
  891. package/dist/utils/partitioned-store.js.map +1 -1
  892. package/dist/utils/playbook-hash.d.ts +19 -0
  893. package/dist/utils/playbook-hash.d.ts.map +1 -0
  894. package/dist/utils/playbook-hash.js +51 -0
  895. package/dist/utils/playbook-hash.js.map +1 -0
  896. package/dist/utils/similarity.d.ts.map +1 -1
  897. package/dist/utils/similarity.js.map +1 -1
  898. package/dist/utils/solver-canonicalizer.d.ts +22 -0
  899. package/dist/utils/solver-canonicalizer.d.ts.map +1 -0
  900. package/dist/utils/solver-canonicalizer.js +41 -0
  901. package/dist/utils/solver-canonicalizer.js.map +1 -0
  902. package/dist/utils/storage.d.ts.map +1 -1
  903. package/dist/utils/storage.js +1 -3
  904. package/dist/utils/storage.js.map +1 -1
  905. package/dist/utils/task-signature.d.ts +34 -0
  906. package/dist/utils/task-signature.d.ts.map +1 -0
  907. package/dist/utils/task-signature.js +112 -0
  908. package/dist/utils/task-signature.js.map +1 -0
  909. package/dist/utils/trajectory-helpers.d.ts.map +1 -1
  910. package/dist/utils/trajectory-helpers.js.map +1 -1
  911. package/dist/utils/validation.d.ts.map +1 -1
  912. package/dist/utils/validation.js.map +1 -1
  913. package/dist/workspace/efficacy-toolkit.d.ts.map +1 -1
  914. package/dist/workspace/efficacy-toolkit.js +18 -26
  915. package/dist/workspace/efficacy-toolkit.js.map +1 -1
  916. package/dist/workspace/index.d.ts +4 -3
  917. package/dist/workspace/index.d.ts.map +1 -1
  918. package/dist/workspace/index.js +5 -3
  919. package/dist/workspace/index.js.map +1 -1
  920. package/dist/workspace/runner.d.ts.map +1 -1
  921. package/dist/workspace/runner.js +95 -21
  922. package/dist/workspace/runner.js.map +1 -1
  923. package/dist/workspace/skill-converter.d.ts +66 -1
  924. package/dist/workspace/skill-converter.d.ts.map +1 -1
  925. package/dist/workspace/skill-converter.js +238 -19
  926. package/dist/workspace/skill-converter.js.map +1 -1
  927. package/dist/workspace/skill-import.d.ts +43 -0
  928. package/dist/workspace/skill-import.d.ts.map +1 -0
  929. package/dist/workspace/skill-import.js +40 -0
  930. package/dist/workspace/skill-import.js.map +1 -0
  931. package/dist/workspace/templates/index.d.ts +6 -8
  932. package/dist/workspace/templates/index.d.ts.map +1 -1
  933. package/dist/workspace/templates/index.js +7 -11
  934. package/dist/workspace/templates/index.js.map +1 -1
  935. package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -1
  936. package/dist/workspace/templates/knowledge-defrag.js +0 -2
  937. package/dist/workspace/templates/knowledge-defrag.js.map +1 -1
  938. package/dist/workspace/templates/knowledge-extraction.d.ts +11 -0
  939. package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -1
  940. package/dist/workspace/templates/knowledge-extraction.js +11 -6
  941. package/dist/workspace/templates/knowledge-extraction.js.map +1 -1
  942. package/dist/workspace/templates/playbook-conditioning.d.ts +38 -0
  943. package/dist/workspace/templates/playbook-conditioning.d.ts.map +1 -0
  944. package/dist/workspace/templates/playbook-conditioning.js +147 -0
  945. package/dist/workspace/templates/playbook-conditioning.js.map +1 -0
  946. package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -1
  947. package/dist/workspace/templates/playbook-decay-detection.js +24 -18
  948. package/dist/workspace/templates/playbook-decay-detection.js.map +1 -1
  949. package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -1
  950. package/dist/workspace/templates/playbook-efficacy-audit.js +26 -11
  951. package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -1
  952. package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -1
  953. package/dist/workspace/templates/playbook-extraction.js +75 -15
  954. package/dist/workspace/templates/playbook-extraction.js.map +1 -1
  955. package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -1
  956. package/dist/workspace/templates/playbook-lifecycle-review.js +12 -8
  957. package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -1
  958. package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -1
  959. package/dist/workspace/templates/refinement-analysis.js +11 -5
  960. package/dist/workspace/templates/refinement-analysis.js.map +1 -1
  961. package/dist/workspace/templates/skill-enrichment.d.ts.map +1 -1
  962. package/dist/workspace/templates/skill-enrichment.js +7 -11
  963. package/dist/workspace/templates/skill-enrichment.js.map +1 -1
  964. package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -1
  965. package/dist/workspace/templates/solution-evaluation.js +15 -8
  966. package/dist/workspace/templates/solution-evaluation.js.map +1 -1
  967. package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -1
  968. package/dist/workspace/templates/trajectory-analysis.js +1 -3
  969. package/dist/workspace/templates/trajectory-analysis.js.map +1 -1
  970. package/dist/workspace/templates/usage-inference.d.ts.map +1 -1
  971. package/dist/workspace/templates/usage-inference.js +9 -7
  972. package/dist/workspace/templates/usage-inference.js.map +1 -1
  973. package/dist/workspace/types.d.ts +32 -2
  974. package/dist/workspace/types.d.ts.map +1 -1
  975. package/dist/workspace/types.js +29 -0
  976. package/dist/workspace/types.js.map +1 -1
  977. package/package.json +43 -19
  978. package/playbooks/agent-ops/long-task-checkpointing.json +54 -0
  979. package/playbooks/agent-ops/progressive-context-gathering.json +56 -0
  980. package/playbooks/agent-ops/safe-destructive-operations.json +59 -0
  981. package/playbooks/agent-ops/scope-discipline.json +56 -0
  982. package/playbooks/agent-ops/stall-detection-strategy-switch.json +55 -0
  983. package/playbooks/agent-ops/verification-before-completion.json +54 -0
  984. package/playbooks/alfworld/clean-and-place.json +35 -0
  985. package/playbooks/alfworld/cool-and-place.json +35 -0
  986. package/playbooks/alfworld/examine-in-light.json +32 -0
  987. package/playbooks/alfworld/heat-and-place.json +35 -0
  988. package/playbooks/alfworld/pick-and-place.json +37 -0
  989. package/playbooks/alfworld/pick-two-and-place.json +35 -0
  990. package/.claude/settings.json +0 -197
  991. package/.entire/settings.json +0 -4
  992. package/.sessionlog/settings.json +0 -4
  993. package/CLAUDE.md +0 -233
  994. package/SKILL.md +0 -193
  995. package/docs/DESIGN-agentic-workspace.md +0 -2057
  996. package/docs/DESIGN-semantic-memory-knowledge-bank.md +0 -1789
  997. package/docs/DESIGN-session-bank.md +0 -1134
  998. package/docs/DESIGN-team-extraction-pipeline.md +0 -1369
  999. package/docs/PROPOSAL-team-aware-learning.md +0 -1080
  1000. package/docs/RESEARCH-semantic-memory-knowledge-structures.md +0 -517
  1001. package/docs/RESEARCH-team-trajectory-learning.md +0 -553
  1002. package/gaps.md +0 -204
  1003. package/scripts/migrate-to-playbooks.ts +0 -307
  1004. package/src/agents/index.ts +0 -14
  1005. package/src/agents/mock-provider.ts +0 -93
  1006. package/src/agents/types.ts +0 -137
  1007. package/src/atlas.ts +0 -1198
  1008. package/src/bin/cli-utils.ts +0 -220
  1009. package/src/bin/cognitive-core.ts +0 -162
  1010. package/src/bin/commands/kb.ts +0 -266
  1011. package/src/bin/commands/learn.ts +0 -100
  1012. package/src/bin/commands/legacy.ts +0 -182
  1013. package/src/bin/commands/run.ts +0 -113
  1014. package/src/bin/commands/sessions.ts +0 -221
  1015. package/src/bin/commands/skills.ts +0 -146
  1016. package/src/embeddings/bm25.ts +0 -337
  1017. package/src/embeddings/index.ts +0 -42
  1018. package/src/embeddings/inverted-index.ts +0 -134
  1019. package/src/embeddings/manager.ts +0 -293
  1020. package/src/embeddings/provider.ts +0 -318
  1021. package/src/embeddings/vector-store.ts +0 -365
  1022. package/src/factory.ts +0 -280
  1023. package/src/index.ts +0 -495
  1024. package/src/learning/analyzer.ts +0 -319
  1025. package/src/learning/effectiveness.ts +0 -428
  1026. package/src/learning/energy-evaluator.ts +0 -282
  1027. package/src/learning/healing-orchestrator.ts +0 -383
  1028. package/src/learning/index.ts +0 -150
  1029. package/src/learning/instant-loop.ts +0 -357
  1030. package/src/learning/knowledge-extractor.ts +0 -470
  1031. package/src/learning/maintenance-scheduler.ts +0 -271
  1032. package/src/learning/meta-learner.ts +0 -552
  1033. package/src/learning/playbook-extractor.ts +0 -702
  1034. package/src/learning/reflexion-generator.ts +0 -273
  1035. package/src/learning/team-ingester.ts +0 -499
  1036. package/src/learning/team-meta-learner.ts +0 -558
  1037. package/src/learning/team-pipeline.ts +0 -364
  1038. package/src/learning/trajectory-sources/dataclaw.ts +0 -403
  1039. package/src/learning/trajectory-sources/entire.ts +0 -251
  1040. package/src/learning/trajectory-sources/file.ts +0 -136
  1041. package/src/learning/trajectory-sources/huggingface.ts +0 -248
  1042. package/src/learning/trajectory-sources/in-memory.ts +0 -61
  1043. package/src/learning/trajectory-sources/index.ts +0 -15
  1044. package/src/learning/trajectory-sources/pipeline.ts +0 -69
  1045. package/src/learning/unified-pipeline.ts +0 -1191
  1046. package/src/learning/usage-inference.ts +0 -372
  1047. package/src/mcp/index.ts +0 -12
  1048. package/src/mcp/playbook-server.ts +0 -565
  1049. package/src/memory/candidate-retrieval.ts +0 -72
  1050. package/src/memory/causal-store.ts +0 -273
  1051. package/src/memory/coherence.ts +0 -252
  1052. package/src/memory/curated-loader.ts +0 -213
  1053. package/src/memory/experience.ts +0 -682
  1054. package/src/memory/graph-layers/base.ts +0 -184
  1055. package/src/memory/graph-layers/causal.ts +0 -16
  1056. package/src/memory/graph-layers/entity.ts +0 -16
  1057. package/src/memory/graph-layers/index.ts +0 -5
  1058. package/src/memory/graph-layers/semantic.ts +0 -16
  1059. package/src/memory/graph-layers/temporal.ts +0 -16
  1060. package/src/memory/index.ts +0 -131
  1061. package/src/memory/knowledge-bank.ts +0 -1317
  1062. package/src/memory/knowledge-defrag.ts +0 -329
  1063. package/src/memory/knowledge-graph.ts +0 -361
  1064. package/src/memory/meta.ts +0 -488
  1065. package/src/memory/playbook.ts +0 -676
  1066. package/src/memory/reasoning-bank.ts +0 -458
  1067. package/src/memory/reflexion.ts +0 -122
  1068. package/src/memory/search-provider.ts +0 -35
  1069. package/src/memory/search-providers/index.ts +0 -3
  1070. package/src/memory/search-providers/minimem.ts +0 -84
  1071. package/src/memory/search-providers/text-similarity.ts +0 -35
  1072. package/src/memory/skill-exporter.ts +0 -357
  1073. package/src/memory/source-resolver.ts +0 -422
  1074. package/src/memory/system.ts +0 -620
  1075. package/src/memory/team-experience.ts +0 -604
  1076. package/src/memory/temporal-compressor.ts +0 -409
  1077. package/src/persistence/index.ts +0 -37
  1078. package/src/persistence/migrator.ts +0 -298
  1079. package/src/persistence/serializers.ts +0 -79
  1080. package/src/persistence/sqlite-persistence.ts +0 -925
  1081. package/src/runtime/backends/acp-protocol.ts +0 -231
  1082. package/src/runtime/backends/acp.ts +0 -239
  1083. package/src/runtime/backends/index.ts +0 -38
  1084. package/src/runtime/backends/macro-agent.ts +0 -177
  1085. package/src/runtime/backends/mock.ts +0 -218
  1086. package/src/runtime/backends/subprocess.ts +0 -356
  1087. package/src/runtime/compute-provider.ts +0 -206
  1088. package/src/runtime/flows/learning.ts +0 -166
  1089. package/src/runtime/flows/validation.ts +0 -381
  1090. package/src/runtime/index.ts +0 -75
  1091. package/src/runtime/manager.ts +0 -685
  1092. package/src/runtime/types.ts +0 -198
  1093. package/src/search/evaluator.ts +0 -499
  1094. package/src/search/index.ts +0 -78
  1095. package/src/search/moe-gate.ts +0 -304
  1096. package/src/search/refinement-loop.ts +0 -457
  1097. package/src/search/refinement-types.ts +0 -159
  1098. package/src/search/router.ts +0 -368
  1099. package/src/search/solver.ts +0 -303
  1100. package/src/search/team-router.ts +0 -459
  1101. package/src/search/verification-runner.ts +0 -570
  1102. package/src/session-bank/git-reader.ts +0 -200
  1103. package/src/session-bank/index.ts +0 -26
  1104. package/src/session-bank/parser.ts +0 -548
  1105. package/src/session-bank/session-bank.ts +0 -485
  1106. package/src/session-bank/types.ts +0 -176
  1107. package/src/surfacing/index.ts +0 -29
  1108. package/src/surfacing/publisher.ts +0 -23
  1109. package/src/surfacing/skill-library.ts +0 -625
  1110. package/src/surfacing/skill-publisher.ts +0 -257
  1111. package/src/surfacing/sqlite-storage-adapter.ts +0 -285
  1112. package/src/surfacing/team-skill-library.ts +0 -610
  1113. package/src/types/config.ts +0 -661
  1114. package/src/types/dataclaw.ts +0 -99
  1115. package/src/types/huggingface-transformers.d.ts +0 -12
  1116. package/src/types/index.ts +0 -293
  1117. package/src/types/knowledge-graph.ts +0 -246
  1118. package/src/types/knowledge.ts +0 -388
  1119. package/src/types/memory.ts +0 -300
  1120. package/src/types/meta.ts +0 -218
  1121. package/src/types/outcome.ts +0 -66
  1122. package/src/types/playbook.ts +0 -215
  1123. package/src/types/step.ts +0 -40
  1124. package/src/types/task.ts +0 -52
  1125. package/src/types/team-meta.ts +0 -212
  1126. package/src/types/team-playbook.ts +0 -384
  1127. package/src/types/team-trajectory.ts +0 -673
  1128. package/src/types/trajectory-source.ts +0 -47
  1129. package/src/types/trajectory.ts +0 -80
  1130. package/src/utils/error-classifier.ts +0 -113
  1131. package/src/utils/frontmatter.ts +0 -118
  1132. package/src/utils/index.ts +0 -63
  1133. package/src/utils/partitioned-store.ts +0 -299
  1134. package/src/utils/similarity.ts +0 -139
  1135. package/src/utils/storage.ts +0 -249
  1136. package/src/utils/trajectory-helpers.ts +0 -79
  1137. package/src/utils/validation.ts +0 -286
  1138. package/src/workspace/efficacy-toolkit.ts +0 -496
  1139. package/src/workspace/index.ts +0 -77
  1140. package/src/workspace/runner.ts +0 -281
  1141. package/src/workspace/skill-converter.ts +0 -288
  1142. package/src/workspace/templates/index.ts +0 -95
  1143. package/src/workspace/templates/knowledge-defrag.ts +0 -223
  1144. package/src/workspace/templates/knowledge-extraction.ts +0 -337
  1145. package/src/workspace/templates/meta-reflection.ts +0 -208
  1146. package/src/workspace/templates/playbook-decay-detection.ts +0 -272
  1147. package/src/workspace/templates/playbook-efficacy-audit.ts +0 -246
  1148. package/src/workspace/templates/playbook-extraction.ts +0 -240
  1149. package/src/workspace/templates/playbook-lifecycle-review.ts +0 -274
  1150. package/src/workspace/templates/refinement-analysis.ts +0 -162
  1151. package/src/workspace/templates/skill-enrichment.ts +0 -275
  1152. package/src/workspace/templates/solution-evaluation.ts +0 -199
  1153. package/src/workspace/templates/team-playbook-extraction.ts +0 -631
  1154. package/src/workspace/templates/team-trajectory-analysis.ts +0 -564
  1155. package/src/workspace/templates/trajectory-analysis.ts +0 -234
  1156. package/src/workspace/templates/usage-inference.ts +0 -163
  1157. package/src/workspace/types.ts +0 -185
  1158. package/tests/atlas-knowledge.test.ts +0 -165
  1159. package/tests/embeddings/bm25.test.ts +0 -130
  1160. package/tests/embeddings/inverted-index.test.ts +0 -138
  1161. package/tests/embeddings/manager.test.ts +0 -205
  1162. package/tests/feature-toggles.test.ts +0 -275
  1163. package/tests/fixtures/behavioral-trajectories.ts +0 -210
  1164. package/tests/gap-fixes.test.ts +0 -1116
  1165. package/tests/integration/atlas.test.ts +0 -266
  1166. package/tests/integration/cli-e2e.test.ts +0 -621
  1167. package/tests/integration/curated-sources-e2e.test.ts +0 -502
  1168. package/tests/integration/dataclaw-e2e.test.ts +0 -559
  1169. package/tests/integration/e2e.test.ts +0 -1337
  1170. package/tests/integration/entire-e2e.test.ts +0 -376
  1171. package/tests/integration/huggingface-e2e.test.ts +0 -627
  1172. package/tests/integration/persistence-e2e.test.ts +0 -741
  1173. package/tests/integration/phase-e2e.test.ts +0 -1143
  1174. package/tests/integration/pipeline-data-correctness.test.ts +0 -794
  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-tree-wiring.test.ts +0 -152
  1178. package/tests/integration/unified-pipeline-e2e.test.ts +0 -634
  1179. package/tests/learning/analyzer.test.ts +0 -426
  1180. package/tests/learning/dataclaw-trajectory-source.test.ts +0 -642
  1181. package/tests/learning/effectiveness.test.ts +0 -542
  1182. package/tests/learning/energy-evaluator.test.ts +0 -180
  1183. package/tests/learning/entire-trajectory-source.test.ts +0 -380
  1184. package/tests/learning/healing-orchestrator.test.ts +0 -269
  1185. package/tests/learning/huggingface-trajectory-source.test.ts +0 -817
  1186. package/tests/learning/instant-loop.test.ts +0 -243
  1187. package/tests/learning/knowledge-extractor.test.ts +0 -491
  1188. package/tests/learning/maintenance-scheduler.test.ts +0 -191
  1189. package/tests/learning/meta-learner.test.ts +0 -418
  1190. package/tests/learning/pipeline-memory-updates.test.ts +0 -721
  1191. package/tests/learning/playbook-extractor-provenance.test.ts +0 -114
  1192. package/tests/learning/reflexion-generator.test.ts +0 -411
  1193. package/tests/learning/team-ingester.test.ts +0 -349
  1194. package/tests/learning/team-meta-learner.test.ts +0 -618
  1195. package/tests/learning/team-pipeline.test.ts +0 -334
  1196. package/tests/learning/trajectory-sources.test.ts +0 -320
  1197. package/tests/learning/unified-pipeline-efficacy.test.ts +0 -232
  1198. package/tests/learning/unified-pipeline.test.ts +0 -322
  1199. package/tests/learning/usage-inference.test.ts +0 -254
  1200. package/tests/mcp/playbook-server.test.ts +0 -257
  1201. package/tests/memory/candidate-retrieval.test.ts +0 -167
  1202. package/tests/memory/causal-store.test.ts +0 -276
  1203. package/tests/memory/coherence.test.ts +0 -232
  1204. package/tests/memory/compound-engineering-seed.test.ts +0 -338
  1205. package/tests/memory/curated-loader-extended.test.ts +0 -225
  1206. package/tests/memory/experience.test.ts +0 -203
  1207. package/tests/memory/graph-layers/semantic.test.ts +0 -219
  1208. package/tests/memory/knowledge-bank-extraction.test.ts +0 -558
  1209. package/tests/memory/knowledge-bank.test.ts +0 -705
  1210. package/tests/memory/knowledge-defrag.test.ts +0 -366
  1211. package/tests/memory/knowledge-evolution.test.ts +0 -563
  1212. package/tests/memory/knowledge-graph.test.ts +0 -492
  1213. package/tests/memory/knowledge-inbox.test.ts +0 -258
  1214. package/tests/memory/knowledge-minimem.test.ts +0 -251
  1215. package/tests/memory/meta.test.ts +0 -399
  1216. package/tests/memory/playbook-quality-validation.test.ts +0 -430
  1217. package/tests/memory/playbook.test.ts +0 -644
  1218. package/tests/memory/provenance.test.ts +0 -648
  1219. package/tests/memory/reasoning-bank.test.ts +0 -239
  1220. package/tests/memory/reflexion.test.ts +0 -166
  1221. package/tests/memory/skill-exporter.test.ts +0 -475
  1222. package/tests/memory/source-resolver.test.ts +0 -700
  1223. package/tests/memory/system.test.ts +0 -330
  1224. package/tests/memory/team-experience.test.ts +0 -411
  1225. package/tests/memory/temporal-compressor.test.ts +0 -318
  1226. package/tests/persistence/migrator.test.ts +0 -1009
  1227. package/tests/persistence/sqlite-persistence.test.ts +0 -635
  1228. package/tests/runtime/agent-manager.test.ts +0 -517
  1229. package/tests/runtime/compute-provider.test.ts +0 -288
  1230. package/tests/runtime/delegate.test.ts +0 -354
  1231. package/tests/runtime/macro-agent-backend.test.ts +0 -266
  1232. package/tests/runtime/mock-backend.test.ts +0 -248
  1233. package/tests/search/evaluator.test.ts +0 -257
  1234. package/tests/search/moe-gate.test.ts +0 -250
  1235. package/tests/search/refinement-loop.test.ts +0 -477
  1236. package/tests/search/refinement.test.ts +0 -267
  1237. package/tests/search/router.test.ts +0 -506
  1238. package/tests/search/team-router.test.ts +0 -376
  1239. package/tests/search/verification-runner.test.ts +0 -357
  1240. package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +0 -12
  1241. package/tests/session-bank/fixtures/multi-tool-session/metadata.json +0 -28
  1242. package/tests/session-bank/fixtures/root-metadata.json +0 -18
  1243. package/tests/session-bank/fixtures/sessionlog-root-metadata.json +0 -16
  1244. package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +0 -6
  1245. package/tests/session-bank/fixtures/sessionlog-session/metadata.json +0 -55
  1246. package/tests/session-bank/fixtures/simple-session/full.jsonl +0 -6
  1247. package/tests/session-bank/fixtures/simple-session/metadata.json +0 -38
  1248. package/tests/session-bank/git-reader.test.ts +0 -232
  1249. package/tests/session-bank/parser.test.ts +0 -453
  1250. package/tests/session-bank/session-bank.test.ts +0 -546
  1251. package/tests/surfacing/skill-library.test.ts +0 -297
  1252. package/tests/surfacing/skill-publisher.test.ts +0 -437
  1253. package/tests/surfacing/sqlite-storage-adapter.test.ts +0 -206
  1254. package/tests/surfacing/team-skill-library.test.ts +0 -444
  1255. package/tests/types/outcome.test.ts +0 -147
  1256. package/tests/types/step.test.ts +0 -133
  1257. package/tests/types/task.test.ts +0 -158
  1258. package/tests/types/team-meta.test.ts +0 -147
  1259. package/tests/types/team-playbook.test.ts +0 -246
  1260. package/tests/types/team-trajectory.test.ts +0 -557
  1261. package/tests/types/trajectory.test.ts +0 -253
  1262. package/tests/utils/error-classifier.test.ts +0 -149
  1263. package/tests/utils/frontmatter.test.ts +0 -208
  1264. package/tests/utils/partitioned-store.test.ts +0 -230
  1265. package/tests/utils/similarity.test.ts +0 -188
  1266. package/tests/utils/trajectory-helpers.test.ts +0 -163
  1267. package/tests/utils/validation.test.ts +0 -252
  1268. package/tests/workspace/efficacy-toolkit.test.ts +0 -404
  1269. package/tests/workspace/full-flow.test.ts +0 -845
  1270. package/tests/workspace/manager.test.ts +0 -215
  1271. package/tests/workspace/runner.test.ts +0 -336
  1272. package/tests/workspace/skill-converter.test.ts +0 -205
  1273. package/tests/workspace/templates/knowledge-extraction.test.ts +0 -235
  1274. package/tests/workspace/templates/playbook-efficacy.test.ts +0 -377
  1275. package/tests/workspace/templates/team-playbook-extraction.test.ts +0 -341
  1276. package/tests/workspace/templates/team-trajectory-analysis.test.ts +0 -417
  1277. package/tsconfig.json +0 -25
  1278. 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