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 @@
1
+ {"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../../src/eval/memory-qa/loaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAE1E;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/C,iBAAiB,CAAC;QAChB,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QACxB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { normalizeAnswer, f1Score, bleu1, rougeL, overlapScores } from 'swarmkit-eval';
2
+ export type { OverlapScores } from 'swarmkit-eval';
3
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/eval/memory-qa/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvF,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { normalizeAnswer, f1Score, bleu1, rougeL, overlapScores } from 'swarmkit-eval';
2
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/eval/memory-qa/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,186 @@
1
+ import type { SearchProvider } from '../../memory/search-provider.js';
2
+ import type { MemQAInstance, MemQuestion } from './types.js';
3
+ import { type IterativeConfig, type CompleteFn } from './iterative.js';
4
+ import { type MemoryQAServingGate, type MemoryQAServingQuestionDecision } from './serving.js';
5
+ /**
6
+ * Phase B — end-to-end QA over retrieved memory (LLM read + judge).
7
+ *
8
+ * For each answerable question: retrieve top-k notes with a {@link SearchProvider},
9
+ * have the model READ them and answer, then JUDGE the answer against gold. Run
10
+ * with two retrievers (e.g. lexical vs hybrid) to test whether the Phase-A
11
+ * recall gain *converts* to answer-accuracy — the rung-3 of the proxy→outcome
12
+ * ladder. Costs agent budget (≈1 read + ≤1 judge call per question per arm), so
13
+ * it's gated. See docs/DESIGN-memory-qa-benchmarks.md §4 (Phase B).
14
+ *
15
+ * Budget savers: abstention is detected by a `NO_ANSWER` sentinel (no judge
16
+ * call); a correct answer that literally contains the gold short-circuits the
17
+ * judge (high-precision positive). Only ambiguous cases hit the LLM judge.
18
+ */
19
+ /** Minimal LLM hook: prompt in, completion text out. */
20
+ export type { CompleteFn } from './iterative.js';
21
+ export interface QARecord {
22
+ id: string;
23
+ category: string;
24
+ /** Question text — kept so a report can be re-judged post-hoc (J metric). */
25
+ question: string;
26
+ answer: string;
27
+ /** Gold reference answer (for post-hoc word-overlap scoring). */
28
+ gold: string;
29
+ correct: boolean;
30
+ judgedBy: 'contains' | 'llm' | 'abstain-sentinel' | 'overlap' | 'mem0-judge' | 'error';
31
+ /** Retrieval rounds run (iterative mode only) — for cost accounting. */
32
+ iterations?: number;
33
+ }
34
+ export interface QAReport {
35
+ provider: string;
36
+ k: number;
37
+ overall: {
38
+ accuracy: number;
39
+ n: number;
40
+ };
41
+ byCategory: Record<string, {
42
+ accuracy: number;
43
+ n: number;
44
+ }>;
45
+ records: QARecord[];
46
+ }
47
+ /**
48
+ * True when an answer is a refusal / "no information" response. For LoCoMo
49
+ * category 5 (adversarial) the `adversarial_answer` is a planted misattribution
50
+ * distractor (e.g. asks what *Caroline* realized when the transcript shows
51
+ * *Melanie* said it), so the CORRECT behavior is to refuse — and refusing scores
52
+ * 0 under both token-F1 and the J judge (both match the distractor as "gold").
53
+ * Refusal accuracy is therefore the meaningful cat-5 metric: high = robust to the
54
+ * bait. See docs/DESIGN-memory-qa-benchmarks.md §4h.
55
+ */
56
+ export declare function isRefusal(answer: string): boolean;
57
+ /** Fraction of a category's answers that are refusals (= correct on adversarial). */
58
+ export declare function refusalAccuracy(report: QAReport, category: string): {
59
+ accuracy: number;
60
+ n: number;
61
+ };
62
+ /** Run the mem0 J-judge for one (question, gold, answer); true = CORRECT. */
63
+ export declare function judgeCorrect(complete: CompleteFn, question: string, gold: string, answer: string): Promise<boolean>;
64
+ /** A question paired with the instance whose haystack it queries. */
65
+ export interface SampledQuestion {
66
+ instance: MemQAInstance;
67
+ question: MemQuestion;
68
+ }
69
+ /** Deterministic strided down-sample so both A/B arms score the identical set. */
70
+ export declare function sampleQuestions(instances: MemQAInstance[], maxQuestions?: number): SampledQuestion[];
71
+ /**
72
+ * Category-stratified sample: up to `perCategory` answerable questions per
73
+ * `question.category`, strided within each category for spread. Gives
74
+ * representative coverage across question types (the first-N-instances sampler
75
+ * over type-grouped data collapses to one category).
76
+ */
77
+ export declare function sampleStratified(instances: MemQAInstance[], perCategory: number, opts?: {
78
+ includeAbstain?: boolean;
79
+ categoryOffset?: number;
80
+ }): SampledQuestion[];
81
+ /** Run end-to-end QA for one retriever over a (sampled) question set. */
82
+ export declare function runMemoryQA(instances: MemQAInstance[], retriever: SearchProvider, complete: CompleteFn, opts?: {
83
+ k?: number;
84
+ maxQuestions?: number;
85
+ /** Explicit pre-sampled question set — pass the SAME list to both arms for a paired A/B. */
86
+ questions?: SampledQuestion[];
87
+ /**
88
+ * 'judge' (default): LLM-judge correctness (conversion A/B).
89
+ * 'overlap': natural answer + record gold, NO judge call — for word-overlap
90
+ * (F1/BLEU-1) scoring vs A-MEM. Halves the call count (read only).
91
+ */
92
+ scoreMode?: 'judge' | 'overlap';
93
+ /**
94
+ * Custom answer-generation prompt (e.g. to match A-MEM's category-specific
95
+ * F1-optimized prompts). When set, overrides the default read prompt — the
96
+ * fair way to compare memory/retrieval without answer-format confounds.
97
+ */
98
+ buildPrompt?: (question: MemQuestion, excerpts: string[]) => string;
99
+ /**
100
+ * A-MEM's `retrieve_memory_llm` re-rank: after retrieval, an LLM distills the
101
+ * top-k excerpts to "the relevant parts" before the answer read (+1 call/q).
102
+ */
103
+ rerank?: boolean;
104
+ /**
105
+ * In `overlap` mode, also score each answer with the mem0 LLM-judge ("J")
106
+ * via this LLM (so a report carries BOTH word-overlap F1/BLEU and J accuracy).
107
+ * Pass a stronger model than the reader to reduce self-judging bias.
108
+ */
109
+ judge?: CompleteFn;
110
+ /**
111
+ * Iterative reflective-retrieval (MemR3-style closed loop) instead of
112
+ * single-shot top-k. Same retriever + answer prompt, so an A/B vs the
113
+ * default isolates the loop. Takes precedence over `rerank`. See §4i.
114
+ */
115
+ iterative?: IterativeConfig;
116
+ /**
117
+ * Process up to N questions concurrently (default 1 = sequential). Safe for
118
+ * HTTP backends (Azure OpenAI) that handle parallel requests; keep at 1 for
119
+ * the local `claude` CLI. Per-question work (and the iterative loop within a
120
+ * question) stays sequential — only DIFFERENT questions run in parallel.
121
+ */
122
+ concurrency?: number;
123
+ /**
124
+ * Optional eval-only post-retrieval serving gate. The default path is
125
+ * unchanged: top-k hits are all served to the reader. When set, the gate
126
+ * decides which retrieved candidates are actually shown.
127
+ */
128
+ servingGate?: MemoryQAServingGate;
129
+ /** Capture per-question served/withheld diagnostics for gate experiments. */
130
+ onServingDecision?: (decision: MemoryQAServingQuestionDecision) => void;
131
+ onProgress?: (done: number, total: number) => void;
132
+ }): Promise<QAReport>;
133
+ /**
134
+ * Re-derive a report over a subset of question ids. Used to drop questions that
135
+ * ERRORED (transient LLM failure, `judgedBy: 'error'`) from BOTH arms of a paired
136
+ * A/B, so the comparison stays on a common, fully-scored question set.
137
+ */
138
+ export declare function filterReport(report: QAReport, keep: Set<string>): QAReport;
139
+ export interface QACompare {
140
+ baseline: string;
141
+ treatment: string;
142
+ baselineAccuracy: number;
143
+ treatmentAccuracy: number;
144
+ delta: number;
145
+ n: number;
146
+ }
147
+ /** Accuracy A/B between two QA reports (same question set). */
148
+ export declare function compareQA(baseline: QAReport, treatment: QAReport): QACompare;
149
+ export interface PairedAccuracy {
150
+ /** Treatment fixed a baseline miss (baseline wrong → treatment right). */
151
+ b: number;
152
+ /** Treatment broke a baseline hit (baseline right → treatment wrong). */
153
+ c: number;
154
+ delta: number;
155
+ /** McNemar χ² (Yates continuity-corrected), 1 df. */
156
+ chi2: number;
157
+ /** χ² > 3.841 ⇒ paired difference significant at p<0.05. */
158
+ significant: boolean;
159
+ n: number;
160
+ }
161
+ /**
162
+ * McNemar's paired test on per-question correctness (records matched by id).
163
+ * The correct test for paired binary outcomes — only the *discordant* pairs
164
+ * (one arm right, the other wrong) carry signal.
165
+ */
166
+ export declare function pairedAccuracy(baseline: QAReport, treatment: QAReport): PairedAccuracy;
167
+ export declare function formatQA(r: QAReport): string;
168
+ export declare function formatQACompare(c: QACompare): string;
169
+ export interface OverlapCategoryScore {
170
+ f1: number;
171
+ bleu1: number;
172
+ rougeL: number;
173
+ n: number;
174
+ }
175
+ export interface OverlapReport {
176
+ byCategory: Record<string, OverlapCategoryScore>;
177
+ overall: OverlapCategoryScore;
178
+ }
179
+ /**
180
+ * Post-hoc word-overlap scores from a QA report's (answer, gold) pairs, grouped
181
+ * by category — the A-MEM metric family. Deterministic, no extra LLM calls.
182
+ */
183
+ export declare function overlapByCategory(report: QAReport): OverlapReport;
184
+ /** F1×100 table by category (A-MEM reports F1/BLEU-1 on a 0–100 scale). */
185
+ export declare function formatOverlap(r: OverlapReport, categoryNames?: Record<string, string>): string;
186
+ //# sourceMappingURL=qa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../../src/eval/memory-qa/qa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAyB,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,EACrC,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;GAaG;AAEH,wDAAwD;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,UAAU,GAAG,KAAK,GAAG,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;IACvF,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB;AA6ED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIjD;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,GACf;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAIjC;AAED,6EAA6E;AAC7E,wBAAsB,YAAY,CAChC,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAiBD,kFAAkF;AAClF,wBAAgB,eAAe,CAC7B,SAAS,EAAE,aAAa,EAAE,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,eAAe,EAAE,CAOnB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,aAAa,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,eAAe,EAAE,CAyBnB;AAED,yEAAyE;AACzE,wBAAsB,WAAW,CAC/B,SAAS,EAAE,aAAa,EAAE,EAC1B,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,UAAU,EACpB,IAAI,GAAE;IACJ,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IACpE;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,+BAA+B,KAAK,IAAI,CAAC;IACxE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C,GACL,OAAO,CAAC,QAAQ,CAAC,CA0InB;AAuBD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAM1E;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;CACX;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,SAAS,CAS5E;AAED,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,CAAC,EAAE,MAAM,CAAC;IACV,yEAAyE;IACzE,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,WAAW,EAAE,OAAO,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,cAAc,CAsBtF;AAID,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAU5C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAMpD;AAMD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,CA0BjE;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAkB9F"}
@@ -0,0 +1,424 @@
1
+ import { instanceToNotes } from './loaders.js';
2
+ import { overlapScores } from './metrics.js';
3
+ import { runIterativeRetrieval } from './iterative.js';
4
+ import { searchHitsToGateCandidates, serveAllMemoryQAGate, toServingDecision, } from './serving.js';
5
+ const NO_ANSWER = 'NO_ANSWER';
6
+ function normalize(s) {
7
+ return String(s ?? '')
8
+ .toLowerCase()
9
+ .replace(/[^a-z0-9 ]+/g, ' ')
10
+ .replace(/\s+/g, ' ')
11
+ .trim();
12
+ }
13
+ function buildReadPrompt(question, excerpts, natural = false) {
14
+ const numbered = excerpts.map((e, i) => `${i + 1}. ${e}`).join('\n');
15
+ // `natural` (parity mode): no NO_ANSWER sentinel — answer as naturally as the
16
+ // A-MEM QA setup, so word-overlap (F1/BLEU-1) is scored on a real answer.
17
+ const instruction = natural
18
+ ? 'Answer the question in one short phrase, based on the conversation memory above.'
19
+ : `Answer in one short phrase. If the excerpts do not contain the answer, reply exactly: ${NO_ANSWER}`;
20
+ return [
21
+ 'You are answering a question using ONLY the memory excerpts below (from a past conversation).',
22
+ '',
23
+ 'Memory excerpts:',
24
+ numbered,
25
+ '',
26
+ `Question: ${question}`,
27
+ '',
28
+ instruction,
29
+ ].join('\n');
30
+ }
31
+ /** A-MEM's retrieve_memory_llm re-rank: distill retrieved memories to the relevant parts. */
32
+ function buildRerankPrompt(question, excerpts) {
33
+ const numbered = excerpts.map((e, i) => `${i + 1}. ${e}`).join('\n');
34
+ return [
35
+ 'Given the following conversation memories and a question, select the most relevant',
36
+ 'parts of the conversation that would help answer the question. Include the date/time',
37
+ 'if available.',
38
+ '',
39
+ `Memories:\n${numbered}`,
40
+ '',
41
+ `Question: ${question}`,
42
+ '',
43
+ 'Return only the relevant parts of the conversation that would help answer this question.',
44
+ ].join('\n');
45
+ }
46
+ function buildJudgePrompt(question, gold, candidate) {
47
+ return [
48
+ 'Judge whether the candidate answer is correct given the reference answer.',
49
+ 'Minor wording or formatting differences are fine — judge semantic correctness.',
50
+ '',
51
+ `Question: ${question}`,
52
+ `Reference answer: ${gold}`,
53
+ `Candidate answer: ${candidate}`,
54
+ '',
55
+ 'Reply with exactly one word: YES or NO.',
56
+ ].join('\n');
57
+ }
58
+ /**
59
+ * mem0's LLM-judge ("J") prompt verbatim — the LoCoMo-leaderboard metric used by
60
+ * Mem0 / MemR3. Deliberately GENEROUS (topic match counts; format/length/relative
61
+ * dates forgiven), so J ≫ token-F1. Lets our numbers line up with both the F1
62
+ * papers (A-MEM, MGRetrieval) and the J-leaderboard. See docs §4h.
63
+ */
64
+ function buildMem0JudgePrompt(question, gold, candidate) {
65
+ return `Your task is to label an answer to a question as 'CORRECT' or 'WRONG'. You will be given:
66
+ (1) a question, (2) a 'gold' (ground truth) answer, (3) a generated answer to score as CORRECT/WRONG.
67
+
68
+ The gold answer is usually concise. The generated answer may be much longer — be GENEROUS: as long as it touches on the same topic / refers to the same thing as the gold answer, count it CORRECT. For time questions, differing formats or relative references that denote the same date/period are CORRECT (e.g. "May 7th" vs "7 May").
69
+
70
+ Question: ${question}
71
+ Gold answer: ${gold}
72
+ Generated answer: ${candidate}
73
+
74
+ Reply with exactly one word: CORRECT or WRONG.`;
75
+ }
76
+ /**
77
+ * True when an answer is a refusal / "no information" response. For LoCoMo
78
+ * category 5 (adversarial) the `adversarial_answer` is a planted misattribution
79
+ * distractor (e.g. asks what *Caroline* realized when the transcript shows
80
+ * *Melanie* said it), so the CORRECT behavior is to refuse — and refusing scores
81
+ * 0 under both token-F1 and the J judge (both match the distractor as "gold").
82
+ * Refusal accuracy is therefore the meaningful cat-5 metric: high = robust to the
83
+ * bait. See docs/DESIGN-memory-qa-benchmarks.md §4h.
84
+ */
85
+ export function isRefusal(answer) {
86
+ return /not mentioned|no information|not in the conversation|cannot|can'?t|do(es)?n'?t (know|have|mention|appear|say|specify)|isn'?t (mentioned|available|specified)|unable to|not (specified|stated|provided|discussed|available|mentioned)/i.test(answer ?? '');
87
+ }
88
+ /** Fraction of a category's answers that are refusals (= correct on adversarial). */
89
+ export function refusalAccuracy(report, category) {
90
+ const rs = report.records.filter((r) => r.category === category);
91
+ const refused = rs.filter((r) => isRefusal(r.answer)).length;
92
+ return { accuracy: rs.length ? refused / rs.length : 0, n: rs.length };
93
+ }
94
+ /** Run the mem0 J-judge for one (question, gold, answer); true = CORRECT. */
95
+ export async function judgeCorrect(complete, question, gold, answer) {
96
+ try {
97
+ const out = (await complete(buildMem0JudgePrompt(question, gold, answer))).trim().toLowerCase();
98
+ // "wrong" checked first (a CORRECT/WRONG reply won't contain both per the prompt).
99
+ if (/\bwrong\b/.test(out))
100
+ return false;
101
+ return /\bcorrect\b/.test(out);
102
+ }
103
+ catch {
104
+ return false;
105
+ }
106
+ }
107
+ /** Answerable questions only (those with evidence) — abstention is a separate axis. */
108
+ function answerable(q) {
109
+ return !q.abstain && (q.evidenceTurnIds.length > 0 || q.evidenceSessionIds.length > 0);
110
+ }
111
+ function allAnswerable(instances) {
112
+ const all = [];
113
+ for (const instance of instances) {
114
+ for (const question of instance.questions) {
115
+ if (answerable(question))
116
+ all.push({ instance, question });
117
+ }
118
+ }
119
+ return all;
120
+ }
121
+ /** Deterministic strided down-sample so both A/B arms score the identical set. */
122
+ export function sampleQuestions(instances, maxQuestions) {
123
+ const all = allAnswerable(instances);
124
+ if (!maxQuestions || all.length <= maxQuestions)
125
+ return all;
126
+ const stride = all.length / maxQuestions;
127
+ const out = [];
128
+ for (let i = 0; i < maxQuestions; i++)
129
+ out.push(all[Math.floor(i * stride)]);
130
+ return out;
131
+ }
132
+ /**
133
+ * Category-stratified sample: up to `perCategory` answerable questions per
134
+ * `question.category`, strided within each category for spread. Gives
135
+ * representative coverage across question types (the first-N-instances sampler
136
+ * over type-grouped data collapses to one category).
137
+ */
138
+ export function sampleStratified(instances, perCategory, opts = {}) {
139
+ const source = opts.includeAbstain
140
+ ? instances.flatMap((instance) => instance.questions.map((question) => ({ instance, question })))
141
+ : allAnswerable(instances);
142
+ const byCat = new Map();
143
+ for (const sq of source) {
144
+ const arr = byCat.get(sq.question.category) ?? [];
145
+ arr.push(sq);
146
+ byCat.set(sq.question.category, arr);
147
+ }
148
+ const out = [];
149
+ for (const arr of byCat.values()) {
150
+ const take = Math.min(perCategory, arr.length);
151
+ if (take <= 0)
152
+ continue;
153
+ if (opts.categoryOffset !== undefined) {
154
+ const offset = Math.max(0, Math.floor(opts.categoryOffset));
155
+ out.push(...arr.slice(offset, offset + take));
156
+ continue;
157
+ }
158
+ const stride = arr.length / take;
159
+ for (let i = 0; i < take; i++)
160
+ out.push(arr[Math.floor(i * stride)]);
161
+ }
162
+ return out;
163
+ }
164
+ /** Run end-to-end QA for one retriever over a (sampled) question set. */
165
+ export async function runMemoryQA(instances, retriever, complete, opts = {}) {
166
+ const k = opts.k ?? 5;
167
+ const overlapMode = opts.scoreMode === 'overlap';
168
+ const sample = opts.questions ?? sampleQuestions(instances, opts.maxQuestions);
169
+ const concurrency = Math.max(1, Math.floor(opts.concurrency ?? 1));
170
+ if (opts.iterative && (opts.servingGate || opts.onServingDecision)) {
171
+ throw new Error('memory-QA serving gates are only supported for single-shot retrieval; disable iterative mode for gate experiments.');
172
+ }
173
+ // Pre-build notes (+ id index) per instance once — avoids redundant builds and
174
+ // races when questions run concurrently. instanceToNotes is pure, cheap.
175
+ const notesByInstance = new Map();
176
+ const noteByIdByInstance = new Map();
177
+ for (const { instance } of sample) {
178
+ if (notesByInstance.has(instance.id))
179
+ continue;
180
+ const notes = instanceToNotes(instance);
181
+ notesByInstance.set(instance.id, notes);
182
+ noteByIdByInstance.set(instance.id, new Map(notes.map((n) => [n.frontmatter.id, n])));
183
+ }
184
+ const buildAnswerPrompt = (q, ex) => opts.buildPrompt ? opts.buildPrompt(q, ex) : buildReadPrompt(q.question, ex, overlapMode);
185
+ // One question, end-to-end (retrieve → [iterative loop] → answer → score).
186
+ // Always resolves to a QARecord (errors → 'error' sentinel) so one failure
187
+ // never aborts the run; paired callers drop error ids via filterReport.
188
+ async function processOne(sq) {
189
+ const { instance, question } = sq;
190
+ const notes = notesByInstance.get(instance.id);
191
+ const noteById = noteByIdByInstance.get(instance.id);
192
+ try {
193
+ let answer;
194
+ let iterations;
195
+ if (opts.iterative) {
196
+ const res = await runIterativeRetrieval(question, notes, noteById, retriever, complete, buildAnswerPrompt, opts.iterative);
197
+ answer = res.answer;
198
+ iterations = res.iterations;
199
+ }
200
+ else {
201
+ const hits = await retriever.search(question.question, notes, { maxResults: k });
202
+ let servedHits = hits;
203
+ if (opts.servingGate || opts.onServingDecision) {
204
+ const candidates = searchHitsToGateCandidates(hits, noteById);
205
+ const context = { instance, question, provider: retriever.name, candidates, k };
206
+ const gateDecision = opts.servingGate
207
+ ? await opts.servingGate(context)
208
+ : serveAllMemoryQAGate(context);
209
+ opts.onServingDecision?.(toServingDecision(context, gateDecision));
210
+ const servedIds = new Set(gateDecision.servedNoteIds);
211
+ servedHits = hits.filter((hit) => servedIds.has(hit.noteId));
212
+ }
213
+ let excerpts = servedHits.map((h) => noteById.get(h.noteId)?.body ?? '').filter(Boolean);
214
+ if (opts.rerank && excerpts.length > 0) {
215
+ try {
216
+ const distilled = (await complete(buildRerankPrompt(question.question, excerpts))).trim();
217
+ if (distilled)
218
+ excerpts = [distilled];
219
+ }
220
+ catch {
221
+ // Keep the raw excerpts on rerank failure.
222
+ }
223
+ }
224
+ answer = (await complete(buildAnswerPrompt(question, excerpts))).trim();
225
+ }
226
+ let correct = false;
227
+ let judgedBy;
228
+ if (overlapMode) {
229
+ if (opts.judge) {
230
+ correct = await judgeCorrect(opts.judge, question.question, question.answer, answer);
231
+ judgedBy = 'mem0-judge';
232
+ }
233
+ else {
234
+ judgedBy = 'overlap';
235
+ }
236
+ }
237
+ else if (answer.toUpperCase().includes(NO_ANSWER)) {
238
+ judgedBy = 'abstain-sentinel';
239
+ }
240
+ else if (question.answer && normalize(answer).includes(normalize(question.answer))) {
241
+ correct = true; // high-precision positive — skip the judge call
242
+ judgedBy = 'contains';
243
+ }
244
+ else {
245
+ const verdict = await complete(buildJudgePrompt(question.question, question.answer, answer));
246
+ correct = /^\s*yes/i.test(verdict.trim());
247
+ judgedBy = 'llm';
248
+ }
249
+ return {
250
+ id: question.id,
251
+ category: question.category,
252
+ question: question.question,
253
+ answer,
254
+ gold: question.answer,
255
+ correct,
256
+ judgedBy,
257
+ iterations,
258
+ };
259
+ }
260
+ catch {
261
+ return {
262
+ id: question.id,
263
+ category: question.category,
264
+ question: question.question,
265
+ answer: '',
266
+ gold: question.answer,
267
+ correct: false,
268
+ judgedBy: 'error',
269
+ };
270
+ }
271
+ }
272
+ // Bounded worker pool: at most `concurrency` questions in flight. Records are
273
+ // index-assigned to preserve sample order (deterministic artifact); done-count
274
+ // drives progress regardless of completion order.
275
+ const records = new Array(sample.length);
276
+ let nextIdx = 0;
277
+ let done = 0;
278
+ const runners = Array.from({ length: Math.min(concurrency, sample.length) }, async () => {
279
+ for (;;) {
280
+ const i = nextIdx++;
281
+ if (i >= sample.length)
282
+ return;
283
+ records[i] = await processOne(sample[i]);
284
+ opts.onProgress?.(++done, sample.length);
285
+ }
286
+ });
287
+ await Promise.all(runners);
288
+ return buildReport(retriever.name, k, records);
289
+ }
290
+ /** Aggregate per-question records into a QAReport (overall + per-category accuracy). */
291
+ function buildReport(provider, k, records) {
292
+ const byCatAcc = {};
293
+ const catAgg = new Map();
294
+ for (const r of records) {
295
+ const a = catAgg.get(r.category) ?? { hits: 0, n: 0 };
296
+ a.n++;
297
+ if (r.correct)
298
+ a.hits++;
299
+ catAgg.set(r.category, a);
300
+ }
301
+ for (const [cat, a] of catAgg)
302
+ byCatAcc[cat] = { accuracy: a.n ? a.hits / a.n : 0, n: a.n };
303
+ const hits = records.filter((r) => r.correct).length;
304
+ return {
305
+ provider,
306
+ k,
307
+ overall: { accuracy: records.length ? hits / records.length : 0, n: records.length },
308
+ byCategory: byCatAcc,
309
+ records,
310
+ };
311
+ }
312
+ /**
313
+ * Re-derive a report over a subset of question ids. Used to drop questions that
314
+ * ERRORED (transient LLM failure, `judgedBy: 'error'`) from BOTH arms of a paired
315
+ * A/B, so the comparison stays on a common, fully-scored question set.
316
+ */
317
+ export function filterReport(report, keep) {
318
+ return buildReport(report.provider, report.k, report.records.filter((r) => keep.has(r.id)));
319
+ }
320
+ /** Accuracy A/B between two QA reports (same question set). */
321
+ export function compareQA(baseline, treatment) {
322
+ return {
323
+ baseline: baseline.provider,
324
+ treatment: treatment.provider,
325
+ baselineAccuracy: baseline.overall.accuracy,
326
+ treatmentAccuracy: treatment.overall.accuracy,
327
+ delta: treatment.overall.accuracy - baseline.overall.accuracy,
328
+ n: treatment.overall.n,
329
+ };
330
+ }
331
+ /**
332
+ * McNemar's paired test on per-question correctness (records matched by id).
333
+ * The correct test for paired binary outcomes — only the *discordant* pairs
334
+ * (one arm right, the other wrong) carry signal.
335
+ */
336
+ export function pairedAccuracy(baseline, treatment) {
337
+ const base = new Map(baseline.records.map((r) => [r.id, r.correct]));
338
+ let b = 0;
339
+ let c = 0;
340
+ let n = 0;
341
+ for (const r of treatment.records) {
342
+ if (!base.has(r.id))
343
+ continue;
344
+ n++;
345
+ const lex = base.get(r.id);
346
+ if (!lex && r.correct)
347
+ b++;
348
+ else if (lex && !r.correct)
349
+ c++;
350
+ }
351
+ const disc = b + c;
352
+ const chi2 = disc > 0 ? (Math.abs(b - c) - 1) ** 2 / disc : 0;
353
+ return {
354
+ b,
355
+ c,
356
+ delta: treatment.overall.accuracy - baseline.overall.accuracy,
357
+ chi2,
358
+ significant: chi2 > 3.841,
359
+ n,
360
+ };
361
+ }
362
+ const pct = (x) => `${(x * 100).toFixed(0)}%`;
363
+ export function formatQA(r) {
364
+ const cats = Object.keys(r.byCategory).sort();
365
+ const lines = [
366
+ `QA accuracy (${r.provider}, k=${r.k}, n=${r.overall.n}): ${pct(r.overall.accuracy)}`,
367
+ ];
368
+ for (const c of cats)
369
+ lines.push(` ${c.padEnd(26)} ${pct(r.byCategory[c].accuracy).padStart(5)} (n=${r.byCategory[c].n})`);
370
+ return lines.join('\n');
371
+ }
372
+ export function formatQACompare(c) {
373
+ return (`QA A/B: ${c.treatment} vs ${c.baseline} | ` +
374
+ `${pct(c.treatmentAccuracy)} vs ${pct(c.baselineAccuracy)} | ` +
375
+ `Δ ${c.delta >= 0 ? '+' : ''}${pct(c.delta)} (n=${c.n})`);
376
+ }
377
+ /**
378
+ * Post-hoc word-overlap scores from a QA report's (answer, gold) pairs, grouped
379
+ * by category — the A-MEM metric family. Deterministic, no extra LLM calls.
380
+ */
381
+ export function overlapByCategory(report) {
382
+ const agg = new Map();
383
+ const overall = { f1: 0, bleu1: 0, rougeL: 0, n: 0 };
384
+ for (const r of report.records) {
385
+ const s = overlapScores(r.answer, r.gold);
386
+ const a = agg.get(r.category) ?? { f1: 0, bleu1: 0, rougeL: 0, n: 0 };
387
+ a.f1 += s.f1;
388
+ a.bleu1 += s.bleu1;
389
+ a.rougeL += s.rougeL;
390
+ a.n++;
391
+ agg.set(r.category, a);
392
+ overall.f1 += s.f1;
393
+ overall.bleu1 += s.bleu1;
394
+ overall.rougeL += s.rougeL;
395
+ overall.n++;
396
+ }
397
+ const mean = (a) => ({
398
+ f1: a.n ? a.f1 / a.n : 0,
399
+ bleu1: a.n ? a.bleu1 / a.n : 0,
400
+ rougeL: a.n ? a.rougeL / a.n : 0,
401
+ n: a.n,
402
+ });
403
+ const byCategory = {};
404
+ for (const [c, a] of agg)
405
+ byCategory[c] = mean(a);
406
+ return { byCategory, overall: mean(overall) };
407
+ }
408
+ /** F1×100 table by category (A-MEM reports F1/BLEU-1 on a 0–100 scale). */
409
+ export function formatOverlap(r, categoryNames) {
410
+ const x100 = (x) => (x * 100).toFixed(1);
411
+ const cats = Object.keys(r.byCategory).sort();
412
+ const lines = [
413
+ `word-overlap (×100) by category:`,
414
+ ` ${'category'.padEnd(16)} ${'F1'.padStart(6)} ${'BLEU1'.padStart(6)} ${'ROUGE-L'.padStart(7)} n`,
415
+ ];
416
+ for (const c of cats) {
417
+ const s = r.byCategory[c];
418
+ const name = categoryNames?.[c] ?? c;
419
+ lines.push(` ${name.padEnd(16)} ${x100(s.f1).padStart(6)} ${x100(s.bleu1).padStart(6)} ${x100(s.rougeL).padStart(7)} ${s.n}`);
420
+ }
421
+ lines.push(` ${'OVERALL'.padEnd(16)} ${x100(r.overall.f1).padStart(6)} ${x100(r.overall.bleu1).padStart(6)} ${x100(r.overall.rougeL).padStart(7)} ${r.overall.n}`);
422
+ return lines.join('\n');
423
+ }
424
+ //# sourceMappingURL=qa.js.map