@co-engram/core 0.1.0

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 (531) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +167 -0
  3. package/dist/config/defaults.d.ts +45 -0
  4. package/dist/config/defaults.d.ts.map +1 -0
  5. package/dist/config/defaults.js +70 -0
  6. package/dist/config/defaults.js.map +1 -0
  7. package/dist/config/index.d.ts +84 -0
  8. package/dist/config/index.d.ts.map +1 -0
  9. package/dist/config/index.js +230 -0
  10. package/dist/config/index.js.map +1 -0
  11. package/dist/config/types.d.ts +145 -0
  12. package/dist/config/types.d.ts.map +1 -0
  13. package/dist/config/types.js +14 -0
  14. package/dist/config/types.js.map +1 -0
  15. package/dist/contradiction/arbiter.d.ts +51 -0
  16. package/dist/contradiction/arbiter.d.ts.map +1 -0
  17. package/dist/contradiction/arbiter.js +112 -0
  18. package/dist/contradiction/arbiter.js.map +1 -0
  19. package/dist/contradiction/auto-degrade.d.ts +53 -0
  20. package/dist/contradiction/auto-degrade.d.ts.map +1 -0
  21. package/dist/contradiction/auto-degrade.js +79 -0
  22. package/dist/contradiction/auto-degrade.js.map +1 -0
  23. package/dist/contradiction/detector.d.ts +33 -0
  24. package/dist/contradiction/detector.d.ts.map +1 -0
  25. package/dist/contradiction/detector.js +76 -0
  26. package/dist/contradiction/detector.js.map +1 -0
  27. package/dist/contradiction/index.d.ts +11 -0
  28. package/dist/contradiction/index.d.ts.map +1 -0
  29. package/dist/contradiction/index.js +11 -0
  30. package/dist/contradiction/index.js.map +1 -0
  31. package/dist/contradiction/resolver.d.ts +45 -0
  32. package/dist/contradiction/resolver.d.ts.map +1 -0
  33. package/dist/contradiction/resolver.js +196 -0
  34. package/dist/contradiction/resolver.js.map +1 -0
  35. package/dist/contradiction/types.d.ts +73 -0
  36. package/dist/contradiction/types.d.ts.map +1 -0
  37. package/dist/contradiction/types.js +7 -0
  38. package/dist/contradiction/types.js.map +1 -0
  39. package/dist/dedup/dedupe.d.ts +49 -0
  40. package/dist/dedup/dedupe.d.ts.map +1 -0
  41. package/dist/dedup/dedupe.js +111 -0
  42. package/dist/dedup/dedupe.js.map +1 -0
  43. package/dist/dedup/hash.d.ts +27 -0
  44. package/dist/dedup/hash.d.ts.map +1 -0
  45. package/dist/dedup/hash.js +43 -0
  46. package/dist/dedup/hash.js.map +1 -0
  47. package/dist/dedup/index.d.ts +12 -0
  48. package/dist/dedup/index.d.ts.map +1 -0
  49. package/dist/dedup/index.js +12 -0
  50. package/dist/dedup/index.js.map +1 -0
  51. package/dist/dedup/llm-triage.d.ts +48 -0
  52. package/dist/dedup/llm-triage.d.ts.map +1 -0
  53. package/dist/dedup/llm-triage.js +100 -0
  54. package/dist/dedup/llm-triage.js.map +1 -0
  55. package/dist/dedup/merge.d.ts +41 -0
  56. package/dist/dedup/merge.d.ts.map +1 -0
  57. package/dist/dedup/merge.js +55 -0
  58. package/dist/dedup/merge.js.map +1 -0
  59. package/dist/dedup/similar.d.ts +45 -0
  60. package/dist/dedup/similar.d.ts.map +1 -0
  61. package/dist/dedup/similar.js +103 -0
  62. package/dist/dedup/similar.js.map +1 -0
  63. package/dist/dedup/types.d.ts +72 -0
  64. package/dist/dedup/types.d.ts.map +1 -0
  65. package/dist/dedup/types.js +18 -0
  66. package/dist/dedup/types.js.map +1 -0
  67. package/dist/disclosure/adaptive.d.ts +86 -0
  68. package/dist/disclosure/adaptive.d.ts.map +1 -0
  69. package/dist/disclosure/adaptive.js +196 -0
  70. package/dist/disclosure/adaptive.js.map +1 -0
  71. package/dist/disclosure/budget.d.ts +51 -0
  72. package/dist/disclosure/budget.d.ts.map +1 -0
  73. package/dist/disclosure/budget.js +91 -0
  74. package/dist/disclosure/budget.js.map +1 -0
  75. package/dist/disclosure/index.d.ts +11 -0
  76. package/dist/disclosure/index.d.ts.map +1 -0
  77. package/dist/disclosure/index.js +11 -0
  78. package/dist/disclosure/index.js.map +1 -0
  79. package/dist/disclosure/tier-loader.d.ts +58 -0
  80. package/dist/disclosure/tier-loader.d.ts.map +1 -0
  81. package/dist/disclosure/tier-loader.js +205 -0
  82. package/dist/disclosure/tier-loader.js.map +1 -0
  83. package/dist/dreaming/decay.d.ts +46 -0
  84. package/dist/dreaming/decay.d.ts.map +1 -0
  85. package/dist/dreaming/decay.js +69 -0
  86. package/dist/dreaming/decay.js.map +1 -0
  87. package/dist/dreaming/deep.d.ts +48 -0
  88. package/dist/dreaming/deep.d.ts.map +1 -0
  89. package/dist/dreaming/deep.js +41 -0
  90. package/dist/dreaming/deep.js.map +1 -0
  91. package/dist/dreaming/index.d.ts +12 -0
  92. package/dist/dreaming/index.d.ts.map +1 -0
  93. package/dist/dreaming/index.js +12 -0
  94. package/dist/dreaming/index.js.map +1 -0
  95. package/dist/dreaming/light.d.ts +54 -0
  96. package/dist/dreaming/light.d.ts.map +1 -0
  97. package/dist/dreaming/light.js +114 -0
  98. package/dist/dreaming/light.js.map +1 -0
  99. package/dist/dreaming/rem.d.ts +128 -0
  100. package/dist/dreaming/rem.d.ts.map +1 -0
  101. package/dist/dreaming/rem.js +228 -0
  102. package/dist/dreaming/rem.js.map +1 -0
  103. package/dist/dreaming/scheduler.d.ts +75 -0
  104. package/dist/dreaming/scheduler.d.ts.map +1 -0
  105. package/dist/dreaming/scheduler.js +138 -0
  106. package/dist/dreaming/scheduler.js.map +1 -0
  107. package/dist/dreaming/trash.d.ts +174 -0
  108. package/dist/dreaming/trash.d.ts.map +1 -0
  109. package/dist/dreaming/trash.js +466 -0
  110. package/dist/dreaming/trash.js.map +1 -0
  111. package/dist/evolution/category.d.ts +127 -0
  112. package/dist/evolution/category.d.ts.map +1 -0
  113. package/dist/evolution/category.js +271 -0
  114. package/dist/evolution/category.js.map +1 -0
  115. package/dist/evolution/index.d.ts +8 -0
  116. package/dist/evolution/index.d.ts.map +1 -0
  117. package/dist/evolution/index.js +8 -0
  118. package/dist/evolution/index.js.map +1 -0
  119. package/dist/evolution/triggered.d.ts +107 -0
  120. package/dist/evolution/triggered.d.ts.map +1 -0
  121. package/dist/evolution/triggered.js +278 -0
  122. package/dist/evolution/triggered.js.map +1 -0
  123. package/dist/generative/cross-pollinate.d.ts +144 -0
  124. package/dist/generative/cross-pollinate.d.ts.map +1 -0
  125. package/dist/generative/cross-pollinate.js +390 -0
  126. package/dist/generative/cross-pollinate.js.map +1 -0
  127. package/dist/generative/gap-detector.d.ts +80 -0
  128. package/dist/generative/gap-detector.d.ts.map +1 -0
  129. package/dist/generative/gap-detector.js +250 -0
  130. package/dist/generative/gap-detector.js.map +1 -0
  131. package/dist/generative/hypothesis.d.ts +161 -0
  132. package/dist/generative/hypothesis.d.ts.map +1 -0
  133. package/dist/generative/hypothesis.js +356 -0
  134. package/dist/generative/hypothesis.js.map +1 -0
  135. package/dist/generative/index.d.ts +9 -0
  136. package/dist/generative/index.d.ts.map +1 -0
  137. package/dist/generative/index.js +9 -0
  138. package/dist/generative/index.js.map +1 -0
  139. package/dist/graph/clustering.d.ts +117 -0
  140. package/dist/graph/clustering.d.ts.map +1 -0
  141. package/dist/graph/clustering.js +196 -0
  142. package/dist/graph/clustering.js.map +1 -0
  143. package/dist/graph/index.d.ts +13 -0
  144. package/dist/graph/index.d.ts.map +1 -0
  145. package/dist/graph/index.js +13 -0
  146. package/dist/graph/index.js.map +1 -0
  147. package/dist/graph/layout.d.ts +46 -0
  148. package/dist/graph/layout.d.ts.map +1 -0
  149. package/dist/graph/layout.js +269 -0
  150. package/dist/graph/layout.js.map +1 -0
  151. package/dist/graph/presets.d.ts +134 -0
  152. package/dist/graph/presets.d.ts.map +1 -0
  153. package/dist/graph/presets.js +190 -0
  154. package/dist/graph/presets.js.map +1 -0
  155. package/dist/graph/registry.d.ts +42 -0
  156. package/dist/graph/registry.d.ts.map +1 -0
  157. package/dist/graph/registry.js +158 -0
  158. package/dist/graph/registry.js.map +1 -0
  159. package/dist/graph/snapshot.d.ts +113 -0
  160. package/dist/graph/snapshot.d.ts.map +1 -0
  161. package/dist/graph/snapshot.js +194 -0
  162. package/dist/graph/snapshot.js.map +1 -0
  163. package/dist/graph/traverse.d.ts +84 -0
  164. package/dist/graph/traverse.d.ts.map +1 -0
  165. package/dist/graph/traverse.js +190 -0
  166. package/dist/graph/traverse.js.map +1 -0
  167. package/dist/graph/view-config.d.ts +99 -0
  168. package/dist/graph/view-config.d.ts.map +1 -0
  169. package/dist/graph/view-config.js +208 -0
  170. package/dist/graph/view-config.js.map +1 -0
  171. package/dist/host/detect-git-author.d.ts +26 -0
  172. package/dist/host/detect-git-author.d.ts.map +1 -0
  173. package/dist/host/detect-git-author.js +53 -0
  174. package/dist/host/detect-git-author.js.map +1 -0
  175. package/dist/host/index.d.ts +7 -0
  176. package/dist/host/index.d.ts.map +1 -0
  177. package/dist/host/index.js +7 -0
  178. package/dist/host/index.js.map +1 -0
  179. package/dist/i18n/en.d.ts +8 -0
  180. package/dist/i18n/en.d.ts.map +1 -0
  181. package/dist/i18n/en.js +211 -0
  182. package/dist/i18n/en.js.map +1 -0
  183. package/dist/i18n/field-names.d.ts +95 -0
  184. package/dist/i18n/field-names.d.ts.map +1 -0
  185. package/dist/i18n/field-names.js +329 -0
  186. package/dist/i18n/field-names.js.map +1 -0
  187. package/dist/i18n/index.d.ts +92 -0
  188. package/dist/i18n/index.d.ts.map +1 -0
  189. package/dist/i18n/index.js +135 -0
  190. package/dist/i18n/index.js.map +1 -0
  191. package/dist/i18n/types.d.ts +92 -0
  192. package/dist/i18n/types.d.ts.map +1 -0
  193. package/dist/i18n/types.js +7 -0
  194. package/dist/i18n/types.js.map +1 -0
  195. package/dist/i18n/zh.d.ts +197 -0
  196. package/dist/i18n/zh.d.ts.map +1 -0
  197. package/dist/i18n/zh.js +216 -0
  198. package/dist/i18n/zh.js.map +1 -0
  199. package/dist/importance/index.d.ts +7 -0
  200. package/dist/importance/index.d.ts.map +1 -0
  201. package/dist/importance/index.js +7 -0
  202. package/dist/importance/index.js.map +1 -0
  203. package/dist/importance/vector.d.ts +113 -0
  204. package/dist/importance/vector.d.ts.map +1 -0
  205. package/dist/importance/vector.js +202 -0
  206. package/dist/importance/vector.js.map +1 -0
  207. package/dist/index/digest-builder.d.ts +59 -0
  208. package/dist/index/digest-builder.d.ts.map +1 -0
  209. package/dist/index/digest-builder.js +195 -0
  210. package/dist/index/digest-builder.js.map +1 -0
  211. package/dist/index/graph-builder.d.ts +32 -0
  212. package/dist/index/graph-builder.d.ts.map +1 -0
  213. package/dist/index/graph-builder.js +104 -0
  214. package/dist/index/graph-builder.js.map +1 -0
  215. package/dist/index/incremental.d.ts +31 -0
  216. package/dist/index/incremental.d.ts.map +1 -0
  217. package/dist/index/incremental.js +47 -0
  218. package/dist/index/incremental.js.map +1 -0
  219. package/dist/index/index.d.ts +11 -0
  220. package/dist/index/index.d.ts.map +1 -0
  221. package/dist/index/index.js +11 -0
  222. package/dist/index/index.js.map +1 -0
  223. package/dist/index/orchestrator.d.ts +60 -0
  224. package/dist/index/orchestrator.d.ts.map +1 -0
  225. package/dist/index/orchestrator.js +99 -0
  226. package/dist/index/orchestrator.js.map +1 -0
  227. package/dist/index/types.d.ts +116 -0
  228. package/dist/index/types.d.ts.map +1 -0
  229. package/dist/index/types.js +10 -0
  230. package/dist/index/types.js.map +1 -0
  231. package/dist/index.d.ts +37 -0
  232. package/dist/index.d.ts.map +1 -0
  233. package/dist/index.js +37 -0
  234. package/dist/index.js.map +1 -0
  235. package/dist/learning/index.d.ts +7 -0
  236. package/dist/learning/index.d.ts.map +1 -0
  237. package/dist/learning/index.js +7 -0
  238. package/dist/learning/index.js.map +1 -0
  239. package/dist/learning/loop.d.ts +79 -0
  240. package/dist/learning/loop.d.ts.map +1 -0
  241. package/dist/learning/loop.js +116 -0
  242. package/dist/learning/loop.js.map +1 -0
  243. package/dist/lifecycle/freshness.d.ts +35 -0
  244. package/dist/lifecycle/freshness.d.ts.map +1 -0
  245. package/dist/lifecycle/freshness.js +60 -0
  246. package/dist/lifecycle/freshness.js.map +1 -0
  247. package/dist/lifecycle/index.d.ts +7 -0
  248. package/dist/lifecycle/index.d.ts.map +1 -0
  249. package/dist/lifecycle/index.js +7 -0
  250. package/dist/lifecycle/index.js.map +1 -0
  251. package/dist/lineage/index.d.ts +10 -0
  252. package/dist/lineage/index.d.ts.map +1 -0
  253. package/dist/lineage/index.js +10 -0
  254. package/dist/lineage/index.js.map +1 -0
  255. package/dist/lineage/trace.d.ts +142 -0
  256. package/dist/lineage/trace.d.ts.map +1 -0
  257. package/dist/lineage/trace.js +316 -0
  258. package/dist/lineage/trace.js.map +1 -0
  259. package/dist/maintenance/engine.d.ts +78 -0
  260. package/dist/maintenance/engine.d.ts.map +1 -0
  261. package/dist/maintenance/engine.js +291 -0
  262. package/dist/maintenance/engine.js.map +1 -0
  263. package/dist/maintenance/index.d.ts +8 -0
  264. package/dist/maintenance/index.d.ts.map +1 -0
  265. package/dist/maintenance/index.js +8 -0
  266. package/dist/maintenance/index.js.map +1 -0
  267. package/dist/maintenance/types.d.ts +111 -0
  268. package/dist/maintenance/types.d.ts.map +1 -0
  269. package/dist/maintenance/types.js +24 -0
  270. package/dist/maintenance/types.js.map +1 -0
  271. package/dist/observability/audit-log.d.ts +77 -0
  272. package/dist/observability/audit-log.d.ts.map +1 -0
  273. package/dist/observability/audit-log.js +101 -0
  274. package/dist/observability/audit-log.js.map +1 -0
  275. package/dist/observability/effectiveness-tracker.d.ts +162 -0
  276. package/dist/observability/effectiveness-tracker.d.ts.map +1 -0
  277. package/dist/observability/effectiveness-tracker.js +251 -0
  278. package/dist/observability/effectiveness-tracker.js.map +1 -0
  279. package/dist/observability/index.d.ts +16 -0
  280. package/dist/observability/index.d.ts.map +1 -0
  281. package/dist/observability/index.js +16 -0
  282. package/dist/observability/index.js.map +1 -0
  283. package/dist/observability/necessity-evaluator.d.ts +116 -0
  284. package/dist/observability/necessity-evaluator.d.ts.map +1 -0
  285. package/dist/observability/necessity-evaluator.js +487 -0
  286. package/dist/observability/necessity-evaluator.js.map +1 -0
  287. package/dist/observability/proposal-engine.d.ts +224 -0
  288. package/dist/observability/proposal-engine.d.ts.map +1 -0
  289. package/dist/observability/proposal-engine.js +651 -0
  290. package/dist/observability/proposal-engine.js.map +1 -0
  291. package/dist/perspectives/index.d.ts +7 -0
  292. package/dist/perspectives/index.d.ts.map +1 -0
  293. package/dist/perspectives/index.js +7 -0
  294. package/dist/perspectives/index.js.map +1 -0
  295. package/dist/perspectives/multi-view.d.ts +81 -0
  296. package/dist/perspectives/multi-view.d.ts.map +1 -0
  297. package/dist/perspectives/multi-view.js +221 -0
  298. package/dist/perspectives/multi-view.js.map +1 -0
  299. package/dist/prompt-builder/builder.d.ts +47 -0
  300. package/dist/prompt-builder/builder.d.ts.map +1 -0
  301. package/dist/prompt-builder/builder.js +136 -0
  302. package/dist/prompt-builder/builder.js.map +1 -0
  303. package/dist/prompt-builder/index.d.ts +8 -0
  304. package/dist/prompt-builder/index.d.ts.map +1 -0
  305. package/dist/prompt-builder/index.js +8 -0
  306. package/dist/prompt-builder/index.js.map +1 -0
  307. package/dist/prompt-builder/types.d.ts +42 -0
  308. package/dist/prompt-builder/types.d.ts.map +1 -0
  309. package/dist/prompt-builder/types.js +10 -0
  310. package/dist/prompt-builder/types.js.map +1 -0
  311. package/dist/prompt-signals/cache.d.ts +36 -0
  312. package/dist/prompt-signals/cache.d.ts.map +1 -0
  313. package/dist/prompt-signals/cache.js +70 -0
  314. package/dist/prompt-signals/cache.js.map +1 -0
  315. package/dist/prompt-signals/index.d.ts +12 -0
  316. package/dist/prompt-signals/index.d.ts.map +1 -0
  317. package/dist/prompt-signals/index.js +11 -0
  318. package/dist/prompt-signals/index.js.map +1 -0
  319. package/dist/prompt-signals/stats.d.ts +45 -0
  320. package/dist/prompt-signals/stats.d.ts.map +1 -0
  321. package/dist/prompt-signals/stats.js +119 -0
  322. package/dist/prompt-signals/stats.js.map +1 -0
  323. package/dist/prompt-signals/types.d.ts +53 -0
  324. package/dist/prompt-signals/types.d.ts.map +1 -0
  325. package/dist/prompt-signals/types.js +34 -0
  326. package/dist/prompt-signals/types.js.map +1 -0
  327. package/dist/provenance/index.d.ts +7 -0
  328. package/dist/provenance/index.d.ts.map +1 -0
  329. package/dist/provenance/index.js +7 -0
  330. package/dist/provenance/index.js.map +1 -0
  331. package/dist/provenance/reliability.d.ts +133 -0
  332. package/dist/provenance/reliability.d.ts.map +1 -0
  333. package/dist/provenance/reliability.js +213 -0
  334. package/dist/provenance/reliability.js.map +1 -0
  335. package/dist/reinforcement/config.d.ts +34 -0
  336. package/dist/reinforcement/config.d.ts.map +1 -0
  337. package/dist/reinforcement/config.js +43 -0
  338. package/dist/reinforcement/config.js.map +1 -0
  339. package/dist/reinforcement/index.d.ts +12 -0
  340. package/dist/reinforcement/index.d.ts.map +1 -0
  341. package/dist/reinforcement/index.js +12 -0
  342. package/dist/reinforcement/index.js.map +1 -0
  343. package/dist/reinforcement/ltd.d.ts +59 -0
  344. package/dist/reinforcement/ltd.d.ts.map +1 -0
  345. package/dist/reinforcement/ltd.js +90 -0
  346. package/dist/reinforcement/ltd.js.map +1 -0
  347. package/dist/reinforcement/ltp.d.ts +63 -0
  348. package/dist/reinforcement/ltp.d.ts.map +1 -0
  349. package/dist/reinforcement/ltp.js +99 -0
  350. package/dist/reinforcement/ltp.js.map +1 -0
  351. package/dist/reinforcement/related.d.ts +39 -0
  352. package/dist/reinforcement/related.d.ts.map +1 -0
  353. package/dist/reinforcement/related.js +92 -0
  354. package/dist/reinforcement/related.js.map +1 -0
  355. package/dist/retrieval/filter.d.ts +18 -0
  356. package/dist/retrieval/filter.d.ts.map +1 -0
  357. package/dist/retrieval/filter.js +68 -0
  358. package/dist/retrieval/filter.js.map +1 -0
  359. package/dist/retrieval/fts.d.ts +44 -0
  360. package/dist/retrieval/fts.d.ts.map +1 -0
  361. package/dist/retrieval/fts.js +120 -0
  362. package/dist/retrieval/fts.js.map +1 -0
  363. package/dist/retrieval/index.d.ts +10 -0
  364. package/dist/retrieval/index.d.ts.map +1 -0
  365. package/dist/retrieval/index.js +10 -0
  366. package/dist/retrieval/index.js.map +1 -0
  367. package/dist/retrieval/orchestrator.d.ts +78 -0
  368. package/dist/retrieval/orchestrator.d.ts.map +1 -0
  369. package/dist/retrieval/orchestrator.js +156 -0
  370. package/dist/retrieval/orchestrator.js.map +1 -0
  371. package/dist/retrieval/scoring.d.ts +105 -0
  372. package/dist/retrieval/scoring.d.ts.map +1 -0
  373. package/dist/retrieval/scoring.js +165 -0
  374. package/dist/retrieval/scoring.js.map +1 -0
  375. package/dist/signals/extract.d.ts +98 -0
  376. package/dist/signals/extract.d.ts.map +1 -0
  377. package/dist/signals/extract.js +388 -0
  378. package/dist/signals/extract.js.map +1 -0
  379. package/dist/signals/file-sink.d.ts +81 -0
  380. package/dist/signals/file-sink.d.ts.map +1 -0
  381. package/dist/signals/file-sink.js +227 -0
  382. package/dist/signals/file-sink.js.map +1 -0
  383. package/dist/signals/index.d.ts +12 -0
  384. package/dist/signals/index.d.ts.map +1 -0
  385. package/dist/signals/index.js +12 -0
  386. package/dist/signals/index.js.map +1 -0
  387. package/dist/signals/rpe.d.ts +60 -0
  388. package/dist/signals/rpe.d.ts.map +1 -0
  389. package/dist/signals/rpe.js +68 -0
  390. package/dist/signals/rpe.js.map +1 -0
  391. package/dist/signals/types.d.ts +80 -0
  392. package/dist/signals/types.d.ts.map +1 -0
  393. package/dist/signals/types.js +14 -0
  394. package/dist/signals/types.js.map +1 -0
  395. package/dist/storage/engram-index.d.ts +73 -0
  396. package/dist/storage/engram-index.d.ts.map +1 -0
  397. package/dist/storage/engram-index.js +215 -0
  398. package/dist/storage/engram-index.js.map +1 -0
  399. package/dist/storage/engram-store.d.ts +147 -0
  400. package/dist/storage/engram-store.d.ts.map +1 -0
  401. package/dist/storage/engram-store.js +221 -0
  402. package/dist/storage/engram-store.js.map +1 -0
  403. package/dist/storage/git-stage.d.ts +56 -0
  404. package/dist/storage/git-stage.d.ts.map +1 -0
  405. package/dist/storage/git-stage.js +147 -0
  406. package/dist/storage/git-stage.js.map +1 -0
  407. package/dist/storage/git.d.ts +57 -0
  408. package/dist/storage/git.d.ts.map +1 -0
  409. package/dist/storage/git.js +156 -0
  410. package/dist/storage/git.js.map +1 -0
  411. package/dist/storage/hash.d.ts +23 -0
  412. package/dist/storage/hash.d.ts.map +1 -0
  413. package/dist/storage/hash.js +31 -0
  414. package/dist/storage/hash.js.map +1 -0
  415. package/dist/storage/index.d.ts +14 -0
  416. package/dist/storage/index.d.ts.map +1 -0
  417. package/dist/storage/index.js +14 -0
  418. package/dist/storage/index.js.map +1 -0
  419. package/dist/storage/path.d.ts +51 -0
  420. package/dist/storage/path.d.ts.map +1 -0
  421. package/dist/storage/path.js +72 -0
  422. package/dist/storage/path.js.map +1 -0
  423. package/dist/storage/repository.d.ts +342 -0
  424. package/dist/storage/repository.d.ts.map +1 -0
  425. package/dist/storage/repository.js +1221 -0
  426. package/dist/storage/repository.js.map +1 -0
  427. package/dist/storage/synapse-store.d.ts +113 -0
  428. package/dist/storage/synapse-store.d.ts.map +1 -0
  429. package/dist/storage/synapse-store.js +279 -0
  430. package/dist/storage/synapse-store.js.map +1 -0
  431. package/dist/tools/doctor-tools.d.ts +53 -0
  432. package/dist/tools/doctor-tools.d.ts.map +1 -0
  433. package/dist/tools/doctor-tools.js +97 -0
  434. package/dist/tools/doctor-tools.js.map +1 -0
  435. package/dist/tools/engram-tools.d.ts +166 -0
  436. package/dist/tools/engram-tools.d.ts.map +1 -0
  437. package/dist/tools/engram-tools.js +834 -0
  438. package/dist/tools/engram-tools.js.map +1 -0
  439. package/dist/tools/index.d.ts +16 -0
  440. package/dist/tools/index.d.ts.map +1 -0
  441. package/dist/tools/index.js +16 -0
  442. package/dist/tools/index.js.map +1 -0
  443. package/dist/tools/llm-descriptions.d.ts +61 -0
  444. package/dist/tools/llm-descriptions.d.ts.map +1 -0
  445. package/dist/tools/llm-descriptions.js +556 -0
  446. package/dist/tools/llm-descriptions.js.map +1 -0
  447. package/dist/tools/proposal-tools.d.ts +40 -0
  448. package/dist/tools/proposal-tools.d.ts.map +1 -0
  449. package/dist/tools/proposal-tools.js +99 -0
  450. package/dist/tools/proposal-tools.js.map +1 -0
  451. package/dist/tools/registry.d.ts +30 -0
  452. package/dist/tools/registry.d.ts.map +1 -0
  453. package/dist/tools/registry.js +43 -0
  454. package/dist/tools/registry.js.map +1 -0
  455. package/dist/tools/schemas.d.ts +715 -0
  456. package/dist/tools/schemas.d.ts.map +1 -0
  457. package/dist/tools/schemas.js +383 -0
  458. package/dist/tools/schemas.js.map +1 -0
  459. package/dist/tools/skill-tools.d.ts +26 -0
  460. package/dist/tools/skill-tools.d.ts.map +1 -0
  461. package/dist/tools/skill-tools.js +84 -0
  462. package/dist/tools/skill-tools.js.map +1 -0
  463. package/dist/tools/synapse-tools.d.ts +28 -0
  464. package/dist/tools/synapse-tools.d.ts.map +1 -0
  465. package/dist/tools/synapse-tools.js +177 -0
  466. package/dist/tools/synapse-tools.js.map +1 -0
  467. package/dist/tools/tool.d.ts +84 -0
  468. package/dist/tools/tool.d.ts.map +1 -0
  469. package/dist/tools/tool.js +22 -0
  470. package/dist/tools/tool.js.map +1 -0
  471. package/dist/tools/wrapped.d.ts +28 -0
  472. package/dist/tools/wrapped.d.ts.map +1 -0
  473. package/dist/tools/wrapped.js +172 -0
  474. package/dist/tools/wrapped.js.map +1 -0
  475. package/dist/types/disclosure.d.ts +70 -0
  476. package/dist/types/disclosure.d.ts.map +1 -0
  477. package/dist/types/disclosure.js +9 -0
  478. package/dist/types/disclosure.js.map +1 -0
  479. package/dist/types/engram.d.ts +203 -0
  480. package/dist/types/engram.d.ts.map +1 -0
  481. package/dist/types/engram.js +7 -0
  482. package/dist/types/engram.js.map +1 -0
  483. package/dist/types/index.d.ts +15 -0
  484. package/dist/types/index.d.ts.map +1 -0
  485. package/dist/types/index.js +15 -0
  486. package/dist/types/index.js.map +1 -0
  487. package/dist/types/intention.d.ts +91 -0
  488. package/dist/types/intention.d.ts.map +1 -0
  489. package/dist/types/intention.js +9 -0
  490. package/dist/types/intention.js.map +1 -0
  491. package/dist/types/repository-types.d.ts +113 -0
  492. package/dist/types/repository-types.d.ts.map +1 -0
  493. package/dist/types/repository-types.js +18 -0
  494. package/dist/types/repository-types.js.map +1 -0
  495. package/dist/types/scene.d.ts +52 -0
  496. package/dist/types/scene.d.ts.map +1 -0
  497. package/dist/types/scene.js +12 -0
  498. package/dist/types/scene.js.map +1 -0
  499. package/dist/types/skill.d.ts +107 -0
  500. package/dist/types/skill.d.ts.map +1 -0
  501. package/dist/types/skill.js +10 -0
  502. package/dist/types/skill.js.map +1 -0
  503. package/dist/types/slugify.d.ts +34 -0
  504. package/dist/types/slugify.d.ts.map +1 -0
  505. package/dist/types/slugify.js +55 -0
  506. package/dist/types/slugify.js.map +1 -0
  507. package/dist/types/synapse-id.d.ts +22 -0
  508. package/dist/types/synapse-id.d.ts.map +1 -0
  509. package/dist/types/synapse-id.js +34 -0
  510. package/dist/types/synapse-id.js.map +1 -0
  511. package/dist/types/synapse.d.ts +99 -0
  512. package/dist/types/synapse.d.ts.map +1 -0
  513. package/dist/types/synapse.js +9 -0
  514. package/dist/types/synapse.js.map +1 -0
  515. package/dist/verification/index.d.ts +11 -0
  516. package/dist/verification/index.d.ts.map +1 -0
  517. package/dist/verification/index.js +11 -0
  518. package/dist/verification/index.js.map +1 -0
  519. package/dist/verification/metacognition.d.ts +102 -0
  520. package/dist/verification/metacognition.d.ts.map +1 -0
  521. package/dist/verification/metacognition.js +284 -0
  522. package/dist/verification/metacognition.js.map +1 -0
  523. package/dist/verification/state-machine.d.ts +77 -0
  524. package/dist/verification/state-machine.d.ts.map +1 -0
  525. package/dist/verification/state-machine.js +126 -0
  526. package/dist/verification/state-machine.js.map +1 -0
  527. package/dist/verification/upgrade.d.ts +133 -0
  528. package/dist/verification/upgrade.d.ts.map +1 -0
  529. package/dist/verification/upgrade.js +364 -0
  530. package/dist/verification/upgrade.js.map +1 -0
  531. package/package.json +70 -0
@@ -0,0 +1,79 @@
1
+ /**
2
+ * 闭合学习回路(spec §5.3.5:多巴胺闭环)
3
+ *
4
+ * closeLearningLoop:把使用结果(outcome + effectiveness)反馈到系统:
5
+ * 1. 更新 engram 的 importance / reinforcementScore / failedUses(LTP/LTD)
6
+ * 2. 触发相关 synapse 的 Hebbian 强化(成功时;失败不反向放大)
7
+ * 3. 触发 Provenance 奖惩回路更新(P2 3.7 接口预留)
8
+ *
9
+ * 业务场景:
10
+ * - agent 使用 engram 后,主动上报 outcome(success/failure/partial)
11
+ * - 这是"三信号追踪"的天然信号源(retrieved/effective/failed)
12
+ *
13
+ * @module @co-engram/core/learning
14
+ */
15
+ import type { EngramRepository } from "../storage/repository.js";
16
+ import { type ReinforcementConfig } from "../reinforcement/config.js";
17
+ /** 使用结果分类 */
18
+ export type LearningOutcome = "success" | "failure" | "partial";
19
+ export interface CloseLearningLoopInput {
20
+ readonly engramId: string;
21
+ readonly outcome: LearningOutcome;
22
+ /** 有效性 [0,1](partial 时必填,success 默认 1,failure 默认 0) */
23
+ readonly effectiveness?: number;
24
+ /** 失败原因(outcome=failure 时建议填写,供审计) */
25
+ readonly reason?: string;
26
+ /** 调用者标识 */
27
+ readonly reportedBy: string;
28
+ }
29
+ export interface CloseLearningLoopResult {
30
+ readonly engramId: string;
31
+ readonly outcome: LearningOutcome;
32
+ /** LTP/LTD 处理后的 importance */
33
+ readonly importance: number;
34
+ readonly importanceDelta: number;
35
+ readonly reinforcementScore: number;
36
+ readonly failedUses: number;
37
+ readonly effectiveRetrievals: number;
38
+ /** 触发的 Hebbian 邻居强化(仅 success/partial) */
39
+ readonly hebbianReinforcement: {
40
+ readonly triggered: boolean;
41
+ readonly reinforcedNeighborIds: readonly string[];
42
+ readonly skipped: number;
43
+ };
44
+ /** 触发的 Provenance 奖惩(stub,P2 3.7 接入) */
45
+ readonly provenanceUpdate: {
46
+ readonly triggered: boolean;
47
+ readonly message: string;
48
+ };
49
+ /** 是否触发自动降级(failedUses 达阈值) */
50
+ readonly shouldArchive: boolean;
51
+ readonly shouldForget: boolean;
52
+ /** 最终时间戳 */
53
+ readonly reportedAt: string;
54
+ }
55
+ /**
56
+ * 闭合学习回路
57
+ *
58
+ * 行为分支:
59
+ * - success (effectiveness 默认 1):
60
+ * recordRetrievalSuccess → reinforceRelated → provenanceReward
61
+ * - partial (effectiveness 必填,通常 0.3-0.7):
62
+ * 同 success 但 effectiveness 较低 → 邻居强化按比例衰减
63
+ * - failure:
64
+ * recordRetrievalFailure → 不触发 reinforceRelated → provenancePenalty
65
+ * 检查 shouldArchive / shouldForget,但不自动执行(由调用方决定)
66
+ *
67
+ * Provenance 奖惩回路(P2 3.7):
68
+ * - 当前为 stub,只返回 triggered 标记
69
+ * - 实际接入后:找到 engram.createdBy 对应的 source,更新 source.reliability
70
+ */
71
+ export declare function closeLearningLoop(repo: EngramRepository, input: CloseLearningLoopInput, options?: {
72
+ readonly config?: ReinforcementConfig;
73
+ readonly archiveThreshold?: number;
74
+ readonly forgetThreshold?: number;
75
+ readonly nowIso?: string;
76
+ /** Provenance 回调(P2 3.7 接入时注入) */
77
+ readonly onProvenanceUpdate?: (engramId: string, outcome: LearningOutcome, effectiveness: number) => void;
78
+ }): CloseLearningLoopResult;
79
+ //# sourceMappingURL=loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/learning/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQjE,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAEpC,aAAa;AACb,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,0CAA0C;IAC1C,QAAQ,CAAC,oBAAoB,EAAE;QAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;QAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,wCAAwC;IACxC,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,+BAA+B;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,YAAY;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,sBAAsB,EAC7B,OAAO,GAAE;IACP,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,MAAM,KAClB,IAAI,CAAC;CACN,GACL,uBAAuB,CA0GzB"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * 闭合学习回路(spec §5.3.5:多巴胺闭环)
3
+ *
4
+ * closeLearningLoop:把使用结果(outcome + effectiveness)反馈到系统:
5
+ * 1. 更新 engram 的 importance / reinforcementScore / failedUses(LTP/LTD)
6
+ * 2. 触发相关 synapse 的 Hebbian 强化(成功时;失败不反向放大)
7
+ * 3. 触发 Provenance 奖惩回路更新(P2 3.7 接口预留)
8
+ *
9
+ * 业务场景:
10
+ * - agent 使用 engram 后,主动上报 outcome(success/failure/partial)
11
+ * - 这是"三信号追踪"的天然信号源(retrieved/effective/failed)
12
+ *
13
+ * @module @co-engram/core/learning
14
+ */
15
+ import { recordRetrievalSuccess } from "../reinforcement/ltp.js";
16
+ import { recordRetrievalFailure, DEFAULT_ARCHIVE_THRESHOLD, DEFAULT_FORGET_THRESHOLD, } from "../reinforcement/ltd.js";
17
+ import { reinforceRelated } from "../reinforcement/related.js";
18
+ import { DEFAULT_CONFIG, } from "../reinforcement/config.js";
19
+ /**
20
+ * 闭合学习回路
21
+ *
22
+ * 行为分支:
23
+ * - success (effectiveness 默认 1):
24
+ * recordRetrievalSuccess → reinforceRelated → provenanceReward
25
+ * - partial (effectiveness 必填,通常 0.3-0.7):
26
+ * 同 success 但 effectiveness 较低 → 邻居强化按比例衰减
27
+ * - failure:
28
+ * recordRetrievalFailure → 不触发 reinforceRelated → provenancePenalty
29
+ * 检查 shouldArchive / shouldForget,但不自动执行(由调用方决定)
30
+ *
31
+ * Provenance 奖惩回路(P2 3.7):
32
+ * - 当前为 stub,只返回 triggered 标记
33
+ * - 实际接入后:找到 engram.createdBy 对应的 source,更新 source.reliability
34
+ */
35
+ export function closeLearningLoop(repo, input, options = {}) {
36
+ if (!repo.exists(input.engramId)) {
37
+ throw new Error(`Engram not found: ${input.engramId}`);
38
+ }
39
+ const config = options.config ?? DEFAULT_CONFIG;
40
+ const archiveThreshold = options.archiveThreshold ?? DEFAULT_ARCHIVE_THRESHOLD;
41
+ const forgetThreshold = options.forgetThreshold ?? DEFAULT_FORGET_THRESHOLD;
42
+ const nowIso = input.reportedBy
43
+ ? (options.nowIso ?? new Date().toISOString())
44
+ : (options.nowIso ?? new Date().toISOString());
45
+ // 根据 outcome 决定 effectiveness
46
+ let effectiveness;
47
+ switch (input.outcome) {
48
+ case "success":
49
+ effectiveness = input.effectiveness ?? 1;
50
+ break;
51
+ case "partial":
52
+ effectiveness = input.effectiveness ?? 0.5;
53
+ break;
54
+ case "failure":
55
+ effectiveness = 0;
56
+ break;
57
+ }
58
+ if (effectiveness < 0 || effectiveness > 1) {
59
+ throw new Error(`effectiveness must be in [0,1], got ${effectiveness}`);
60
+ }
61
+ let importanceDelta = 0;
62
+ let shouldArchive = false;
63
+ let shouldForget = false;
64
+ let reinforcedNeighborIds = [];
65
+ let skipped = 0;
66
+ if (input.outcome === "failure") {
67
+ // === LTD 路径 ===
68
+ const ltdResult = recordRetrievalFailure(repo, input.engramId, config, archiveThreshold, forgetThreshold, nowIso);
69
+ importanceDelta = ltdResult.importanceDelta;
70
+ shouldArchive = ltdResult.shouldArchive;
71
+ shouldForget = ltdResult.shouldForget;
72
+ // 不触发 Hebbian 强化(避免反向放大失败)
73
+ }
74
+ else {
75
+ // === LTP 路径(success / partial)===
76
+ const ltpResult = recordRetrievalSuccess(repo, input.engramId, effectiveness, config, nowIso);
77
+ importanceDelta = ltpResult.importanceDelta;
78
+ // Hebbian 邻居强化(仅当 importanceDelta > 0)
79
+ if (importanceDelta > 0) {
80
+ const relatedResult = reinforceRelated(repo, input.engramId, importanceDelta, config, nowIso);
81
+ reinforcedNeighborIds = relatedResult.reinforcedNeighborIds;
82
+ skipped = relatedResult.skipped;
83
+ }
84
+ }
85
+ // Provenance 奖惩(P2 3.7 stub)
86
+ let provenanceTriggered = false;
87
+ let provenanceMessage = "provenance update not configured";
88
+ if (options.onProvenanceUpdate) {
89
+ options.onProvenanceUpdate(input.engramId, input.outcome, effectiveness);
90
+ provenanceTriggered = true;
91
+ provenanceMessage = `provenance ${input.outcome} signal delivered`;
92
+ }
93
+ const finalEngram = repo.readEngram(input.engramId);
94
+ return {
95
+ engramId: input.engramId,
96
+ outcome: input.outcome,
97
+ importance: finalEngram.importance,
98
+ importanceDelta,
99
+ reinforcementScore: finalEngram.reinforcementScore,
100
+ failedUses: finalEngram.failedUses,
101
+ effectiveRetrievals: finalEngram.effectiveRetrievals,
102
+ hebbianReinforcement: {
103
+ triggered: reinforcedNeighborIds.length > 0,
104
+ reinforcedNeighborIds,
105
+ skipped,
106
+ },
107
+ provenanceUpdate: {
108
+ triggered: provenanceTriggered,
109
+ message: provenanceMessage,
110
+ },
111
+ shouldArchive,
112
+ shouldForget,
113
+ reportedAt: nowIso,
114
+ };
115
+ }
116
+ //# sourceMappingURL=loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/learning/loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Freshness 自动计算(P1:记忆生命周期)
3
+ *
4
+ * 神经科学依据:艾宾浩斯遗忘曲线 + 多级存储模型
5
+ *
6
+ * 计算规则(基于 spec §3.1):
7
+ * - freshness 由 lastEffectiveAt + decayHalfLifeDays 派生(不存储)
8
+ * - halfLife 内 → fresh
9
+ * - 1×~2×halfLife → aging
10
+ * - 2×~4×halfLife → stale
11
+ * - 4×+halfLife → forgotten(候选遗忘)
12
+ *
13
+ * decayHalfLifeDays = null 表示永不衰退,恒为 fresh
14
+ *
15
+ * @module @co-engram/core/lifecycle
16
+ */
17
+ import type { EngramFreshness } from "../types/engram.js";
18
+ /** 默认半衰期天数(与 EngramRepository 默认值一致) */
19
+ export declare const DEFAULT_HALF_LIFE_DAYS = 90;
20
+ /**
21
+ * 根据 lastEffectiveAt + decayHalfLifeDays 计算当前 freshness
22
+ *
23
+ * @param lastEffectiveAt - 最后一次有效检索时间(ISO),null 表示从未有效
24
+ * @param decayHalfLifeDays - 半衰期天数,null 表示永不衰退
25
+ * @param now - 当前时间(可注入用于测试),默认 new Date()
26
+ */
27
+ export declare function computeFreshness(lastEffectiveAt: string | null | undefined, decayHalfLifeDays: number | null | undefined, now?: Date): EngramFreshness;
28
+ /**
29
+ * 批量计算 freshness(用于派生索引重建)
30
+ */
31
+ export declare function computeFreshnessBatch(items: ReadonlyArray<{
32
+ readonly lastEffectiveAt: string | null | undefined;
33
+ readonly decayHalfLifeDays: number | null | undefined;
34
+ }>, now?: Date): EngramFreshness[];
35
+ //# sourceMappingURL=freshness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/lifecycle/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,wCAAwC;AACxC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1C,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5C,GAAG,GAAE,IAAiB,GACrB,eAAe,CA6BjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,CAAC;IACnB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACvD,CAAC,EACF,GAAG,GAAE,IAAiB,GACrB,eAAe,EAAE,CAInB"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Freshness 自动计算(P1:记忆生命周期)
3
+ *
4
+ * 神经科学依据:艾宾浩斯遗忘曲线 + 多级存储模型
5
+ *
6
+ * 计算规则(基于 spec §3.1):
7
+ * - freshness 由 lastEffectiveAt + decayHalfLifeDays 派生(不存储)
8
+ * - halfLife 内 → fresh
9
+ * - 1×~2×halfLife → aging
10
+ * - 2×~4×halfLife → stale
11
+ * - 4×+halfLife → forgotten(候选遗忘)
12
+ *
13
+ * decayHalfLifeDays = null 表示永不衰退,恒为 fresh
14
+ *
15
+ * @module @co-engram/core/lifecycle
16
+ */
17
+ /** 默认半衰期天数(与 EngramRepository 默认值一致) */
18
+ export const DEFAULT_HALF_LIFE_DAYS = 90;
19
+ /**
20
+ * 根据 lastEffectiveAt + decayHalfLifeDays 计算当前 freshness
21
+ *
22
+ * @param lastEffectiveAt - 最后一次有效检索时间(ISO),null 表示从未有效
23
+ * @param decayHalfLifeDays - 半衰期天数,null 表示永不衰退
24
+ * @param now - 当前时间(可注入用于测试),默认 new Date()
25
+ */
26
+ export function computeFreshness(lastEffectiveAt, decayHalfLifeDays, now = new Date()) {
27
+ // 永不衰退
28
+ if (decayHalfLifeDays === null || decayHalfLifeDays === undefined) {
29
+ return "fresh";
30
+ }
31
+ // 从未有效检索 → 视为 fresh(新创建的 engram)
32
+ if (!lastEffectiveAt) {
33
+ return "fresh";
34
+ }
35
+ const lastEffective = new Date(lastEffectiveAt).getTime();
36
+ if (Number.isNaN(lastEffective)) {
37
+ return "fresh";
38
+ }
39
+ const ageMs = now.getTime() - lastEffective;
40
+ if (ageMs < 0) {
41
+ // 时间倒流(时钟偏差)→ fresh
42
+ return "fresh";
43
+ }
44
+ const ageDays = ageMs / (1000 * 60 * 60 * 24);
45
+ const halfLife = decayHalfLifeDays;
46
+ if (ageDays <= halfLife)
47
+ return "fresh";
48
+ if (ageDays <= halfLife * 2)
49
+ return "aging";
50
+ if (ageDays <= halfLife * 4)
51
+ return "stale";
52
+ return "forgotten";
53
+ }
54
+ /**
55
+ * 批量计算 freshness(用于派生索引重建)
56
+ */
57
+ export function computeFreshnessBatch(items, now = new Date()) {
58
+ return items.map((item) => computeFreshness(item.lastEffectiveAt, item.decayHalfLifeDays, now));
59
+ }
60
+ //# sourceMappingURL=freshness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../src/lifecycle/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,wCAAwC;AACxC,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,eAA0C,EAC1C,iBAA4C,EAC5C,MAAY,IAAI,IAAI,EAAE;IAEtB,OAAO;IACP,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1D,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC;IAC5C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,oBAAoB;QACpB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC;IAEnC,IAAI,OAAO,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,OAAO,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,IAAI,OAAO,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAGE,EACF,MAAY,IAAI,IAAI,EAAE;IAEtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CACpE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 生命周期 barrel
3
+ *
4
+ * @module @co-engram/core/lifecycle
5
+ */
6
+ export * from "./freshness.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 生命周期 barrel
3
+ *
4
+ * @module @co-engram/core/lifecycle
5
+ */
6
+ export * from "./freshness.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Lineage 模块 barrel(P3 4.6)
3
+ *
4
+ * 进化血统追溯:通过 derives_from / consolidates / supersedes synapse
5
+ * 反向追溯 engram 的起源和演化路径。
6
+ *
7
+ * @module @co-engram/core/lineage
8
+ */
9
+ export * from "./trace.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lineage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Lineage 模块 barrel(P3 4.6)
3
+ *
4
+ * 进化血统追溯:通过 derives_from / consolidates / supersedes synapse
5
+ * 反向追溯 engram 的起源和演化路径。
6
+ *
7
+ * @module @co-engram/core/lineage
8
+ */
9
+ export * from "./trace.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lineage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,YAAY,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * 进化血统追溯(spec §3.4 / §12.7 场景 6,P3 4.6)
3
+ *
4
+ * 语义级 commit history:通过 synapse 图谱追溯 engram 的"祖先"和"后代"。
5
+ *
6
+ * 支持的血统 synapse kind(spec §12.7):
7
+ * - derives_from:A 从 B 派生(如 hypothesis 从多个 observation 派生)
8
+ * - consolidates:A 整合 B(如 pattern 从多个 fact 整合)
9
+ * - supersedes:A 取代 B(如新版 procedure 取代旧版)
10
+ *
11
+ * 追溯方向:
12
+ * - ancestors:当前 engram 的"来源"(沿 outgoing 这些 kind 找 to)
13
+ * 例如 hypothesis.derives_from → observation
14
+ * - descendants:当前 engram 的"演化结果"(沿 incoming 找 from)
15
+ * 例如 observation 被 hypothesis.derives_from 引用
16
+ *
17
+ * 返回 DAG(防止环),按 BFS 保证最短路径。
18
+ *
19
+ * @module @co-engram/core/lineage
20
+ */
21
+ import type { EngramRepository } from "../storage/repository.js";
22
+ import type { EngramId, EngramKind } from "../types/engram.js";
23
+ import type { SynapseKind } from "../types/synapse.js";
24
+ /** 血统 synapse kind 集合 */
25
+ export declare const LINEAGE_KINDS: ReadonlySet<SynapseKind>;
26
+ /** 血统关系类型(self 或三种 lineage kind 之一) */
27
+ export type LineageRelation = "self" | "derives_from" | "consolidates" | "supersedes";
28
+ /** 单个血统节点 */
29
+ export interface LineageNode {
30
+ readonly engramId: EngramId;
31
+ readonly title: string;
32
+ readonly kind: EngramKind;
33
+ /** 距离起点的深度(root=0) */
34
+ readonly depth: number;
35
+ /**
36
+ * 到达此节点的血统关系:
37
+ * - 'self':起点本身
38
+ * - 'derives_from' / 'consolidates' / 'supersedes':经过的 synapse kind
39
+ */
40
+ readonly relation: LineageRelation;
41
+ /** 触达此节点的 synapse ID(self 时为 undefined) */
42
+ readonly viaSynapseId?: string;
43
+ /** 创建时间(用于排序) */
44
+ readonly createdAt: string;
45
+ /** 创建者 */
46
+ readonly createdBy: string;
47
+ }
48
+ /** 单条血统边 */
49
+ export interface LineageEdge {
50
+ readonly from: EngramId;
51
+ readonly to: EngramId;
52
+ readonly kind: SynapseKind;
53
+ readonly synapseId: string;
54
+ /** 边的方向:root → ancestor(追溯历史)或 descendant → root(演化结果) */
55
+ readonly direction: "ancestor" | "descendant";
56
+ }
57
+ /** 血统查询方向 */
58
+ export type LineageDirection = "ancestors" | "descendants" | "both";
59
+ /** 完整血统图 */
60
+ export interface EvolutionLineage {
61
+ /** 起点 engram ID */
62
+ readonly rootId: EngramId;
63
+ /** 所有节点(包括 root) */
64
+ readonly nodes: readonly LineageNode[];
65
+ /** 所有边 */
66
+ readonly edges: readonly LineageEdge[];
67
+ /** 最大深度 */
68
+ readonly maxDepth: number;
69
+ /** 节点总数 */
70
+ readonly totalNodes: number;
71
+ /**
72
+ * 起源节点(ancestors 方向的叶子,无更深的 ancestor)
73
+ * 例:observation 是最原始的来源
74
+ */
75
+ readonly origins: readonly EngramId[];
76
+ /**
77
+ * 终点节点(descendants 方向的叶子,无更深的 descendant)
78
+ * 例:procedure / skill 是演化的最终形态
79
+ */
80
+ readonly terminals: readonly EngramId[];
81
+ /** 是否检测到环(边数异常多时) */
82
+ readonly hasCycle: boolean;
83
+ }
84
+ /** 查询选项 */
85
+ export interface GetLineageOptions {
86
+ /** 追溯方向(默认 both) */
87
+ readonly direction?: LineageDirection;
88
+ /** 最大深度(默认 10) */
89
+ readonly maxDepth?: number;
90
+ /** 限制使用的 synapse kind(默认全部三种) */
91
+ readonly kinds?: readonly SynapseKind[];
92
+ }
93
+ /**
94
+ * 获取 engram 的完整进化血统
95
+ *
96
+ * 算法:双向 BFS
97
+ * - ancestors 方向:从 root 出发,沿 outgoing(d|c|s) 找 to(历史来源)
98
+ * - descendants 方向:从 root 出发,遍历所有 engram 的 outgoing,找指向 root 的 synapse
99
+ *
100
+ * 防环:visited set 跟踪所有访问过的 engramId;同一 engram 可能从多条路径触达,
101
+ * 但只保留最短路径的 depth。
102
+ *
103
+ * @returns EvolutionLineage
104
+ */
105
+ export declare function getEvolutionLineage(repo: EngramRepository, engramId: EngramId, options?: GetLineageOptions): EvolutionLineage;
106
+ /**
107
+ * 仅追溯祖先(直接、间接来源)
108
+ */
109
+ export declare function getAncestors(repo: EngramRepository, engramId: EngramId, options?: Omit<GetLineageOptions, "direction">): EvolutionLineage;
110
+ /**
111
+ * 仅追溯后代(直接、间接演化结果)
112
+ */
113
+ export declare function getDescendants(repo: EngramRepository, engramId: EngramId, options?: Omit<GetLineageOptions, "direction">): EvolutionLineage;
114
+ /**
115
+ * 追溯到原 observation(最深的 ancestor 中 kind=observation 的)
116
+ *
117
+ * spec §4.6 验收:从 Skill 反向追溯到原 observation 的完整链路。
118
+ */
119
+ export declare function traceToOriginObservations(repo: EngramRepository, engramId: EngramId, options?: Omit<GetLineageOptions, "direction">): readonly EngramId[];
120
+ /**
121
+ * 从 root 到指定 ancestor 的路径(任一最短路径)
122
+ *
123
+ * @returns 节点序列;不存在时返回空
124
+ */
125
+ export declare function findPathToAncestor(repo: EngramRepository, fromId: EngramId, toAncestorId: EngramId, options?: Omit<GetLineageOptions, "direction">): readonly EngramId[];
126
+ /**
127
+ * 统计:仓库的血统健康度
128
+ *
129
+ * - totalLineageEdges:derives_from + consolidates + supersedes 总边数
130
+ * - engramsWithLineage:有血统关系的 engram 数
131
+ * - orphanEngrams:无任何血统关系的 engram 数(独立存在的)
132
+ * - avgDepth:平均血统深度
133
+ */
134
+ export interface LineageStats {
135
+ readonly totalLineageEdges: number;
136
+ readonly engramsWithLineage: number;
137
+ readonly orphanEngrams: number;
138
+ readonly avgDepth: number;
139
+ readonly maxDepth: number;
140
+ }
141
+ export declare function computeLineageStats(repo: EngramRepository): LineageStats;
142
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/lineage/trace.ts"],"names":[],"mappings":"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"}