@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,208 @@
1
+ /**
2
+ * Graph View 视图配置(spec §12.9,P3 4.7.4)
3
+ *
4
+ * 把"当前 filter + 布局 + 缩放"序列化为可保存/分享的配置。
5
+ *
6
+ * 用途:
7
+ * - 保存视图:保存到 `config/graph-views/<name>.yaml`(Git 友好)
8
+ * - 分享视图:URL 编码所有 filter state,团队成员可复现
9
+ * - 截图导出:附带视图配置作为 metadata
10
+ *
11
+ * @module @co-engram/core/graph
12
+ */
13
+ /**
14
+ * 序列化 GraphViewConfig 为 YAML 字符串
15
+ *
16
+ * 用于保存到 `config/graph-views/<name>.yaml`(Git 友好的纯文本)。
17
+ */
18
+ export function serializeViewConfig(config, options = {}) {
19
+ const indent = options.indent ?? 2;
20
+ return toYaml(config, indent);
21
+ }
22
+ /**
23
+ * 反序列化 YAML 字符串为 GraphViewConfig
24
+ *
25
+ * 简易 YAML 解析(不支持完整 YAML spec,只支持本模块生成的格式)。
26
+ * 生产环境建议用 `js-yaml` 或类似库。
27
+ */
28
+ export function parseViewConfig(raw) {
29
+ const parsed = parseYaml(raw);
30
+ return normalizeViewConfig(parsed);
31
+ }
32
+ /**
33
+ * 把 GraphViewConfig 编码为 URL 参数
34
+ *
35
+ * 用于分享视图:URL 编码所有 filter state(spec §12.9)
36
+ */
37
+ export function encodeViewConfigToUrl(config) {
38
+ // 简化版:用 base64 编码 JSON
39
+ const json = JSON.stringify(config);
40
+ const b64 = Buffer.from(json, "utf8").toString("base64");
41
+ return `view=${b64}`;
42
+ }
43
+ /**
44
+ * 从 URL 参数解码 GraphViewConfig
45
+ */
46
+ export function decodeViewConfigFromUrl(urlParam) {
47
+ const b64 = urlParam.startsWith("view=") ? urlParam.slice(5) : urlParam;
48
+ const json = Buffer.from(b64, "base64").toString("utf8");
49
+ const parsed = JSON.parse(json);
50
+ return normalizeViewConfig(parsed);
51
+ }
52
+ /**
53
+ * 创建默认视图配置
54
+ */
55
+ export function createDefaultViewConfig(options) {
56
+ const now = new Date().toISOString();
57
+ return {
58
+ schemaVersion: 1,
59
+ name: options.name,
60
+ description: options.description,
61
+ createdBy: options.createdBy,
62
+ createdAt: now,
63
+ updatedAt: now,
64
+ filter: options.filter ?? {},
65
+ layout: options.layout ?? "force-directed",
66
+ };
67
+ }
68
+ // ============================================================
69
+ // 内部:YAML 序列化/解析(简化版)
70
+ // ============================================================
71
+ function toYaml(value, indent, depth = 0) {
72
+ const pad = " ".repeat(indent * depth);
73
+ if (value === null || value === undefined)
74
+ return "null";
75
+ if (typeof value === "string") {
76
+ // 需要引号的字符串
77
+ if (/[:#{}\[\],&*?|<>=!%@`]/.test(value) || value.includes("\n")) {
78
+ return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
79
+ }
80
+ return value;
81
+ }
82
+ if (typeof value === "number" || typeof value === "boolean")
83
+ return String(value);
84
+ if (Array.isArray(value)) {
85
+ if (value.length === 0)
86
+ return "[]";
87
+ const items = value.map((v) => {
88
+ const inner = toYaml(v, indent, depth + 1);
89
+ return `${pad}- ${inner.trimStart()}`;
90
+ });
91
+ return "\n" + items.join("\n");
92
+ }
93
+ if (typeof value === "object") {
94
+ const entries = Object.entries(value).filter(([, v]) => v !== undefined);
95
+ if (entries.length === 0)
96
+ return "{}";
97
+ const lines = entries.map(([k, v]) => {
98
+ if (v !== null && typeof v === "object" && !Array.isArray(v)) {
99
+ const nested = toYaml(v, indent, depth + 1);
100
+ return `${pad}${k}:\n${nested}`;
101
+ }
102
+ if (Array.isArray(v) && v.length > 0) {
103
+ const nested = toYaml(v, indent, depth + 1);
104
+ return `${pad}${k}:${nested}`;
105
+ }
106
+ if (Array.isArray(v) && v.length === 0) {
107
+ return `${pad}${k}: []`;
108
+ }
109
+ return `${pad}${k}: ${toYaml(v, indent, depth + 1)}`;
110
+ });
111
+ return lines.join("\n");
112
+ }
113
+ return String(value);
114
+ }
115
+ function parseYaml(raw) {
116
+ const lines = raw
117
+ .split("\n")
118
+ .filter((l) => l.trim() && !l.trim().startsWith("#"));
119
+ const root = {};
120
+ const stack = [{ indent: -1, container: root }];
121
+ for (let i = 0; i < lines.length; i++) {
122
+ const line = lines[i];
123
+ const indent = line.length - line.trimStart().length;
124
+ const content = line.trim();
125
+ // 弹出栈直到找到父容器
126
+ while (stack.length > 1 && stack[stack.length - 1].indent >= indent) {
127
+ stack.pop();
128
+ }
129
+ const container = stack[stack.length - 1].container;
130
+ if (content.startsWith("- ")) {
131
+ if (Array.isArray(container)) {
132
+ container.push(parseScalar(content.slice(2)));
133
+ }
134
+ continue;
135
+ }
136
+ if (content.includes(":")) {
137
+ if (Array.isArray(container))
138
+ continue;
139
+ const colonIdx = content.indexOf(":");
140
+ const key = content.slice(0, colonIdx).trim();
141
+ const valueStr = content.slice(colonIdx + 1).trim();
142
+ if (valueStr === "") {
143
+ const nextLine = lines[i + 1];
144
+ const nextIsArray = nextLine !== undefined &&
145
+ nextLine.trim().startsWith("- ") &&
146
+ nextLine.length - nextLine.trimStart().length > indent;
147
+ if (nextIsArray) {
148
+ const newArr = [];
149
+ container[key] = newArr;
150
+ stack.push({ indent, container: newArr });
151
+ }
152
+ else {
153
+ const newObj = {};
154
+ container[key] = newObj;
155
+ stack.push({ indent, container: newObj });
156
+ }
157
+ }
158
+ else {
159
+ container[key] = parseScalar(valueStr);
160
+ }
161
+ }
162
+ }
163
+ return root;
164
+ }
165
+ function parseScalar(s) {
166
+ if (s === "null")
167
+ return null;
168
+ if (s === "true")
169
+ return true;
170
+ if (s === "false")
171
+ return false;
172
+ if (s === "[]")
173
+ return [];
174
+ if (s === "{}")
175
+ return {};
176
+ if (s.startsWith('"') && s.endsWith('"')) {
177
+ return s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\");
178
+ }
179
+ if (/^-?\d+$/.test(s))
180
+ return parseInt(s, 10);
181
+ if (/^-?\d+\.\d+$/.test(s))
182
+ return parseFloat(s);
183
+ return s;
184
+ }
185
+ function normalizeViewConfig(parsed) {
186
+ if (parsed.schemaVersion !== 1) {
187
+ // 未来版本迁移点
188
+ }
189
+ const filter = parsed.filter ?? {};
190
+ const layout = parsed.layout ?? "force-directed";
191
+ const viewport = parsed.viewport;
192
+ const display = parsed.display;
193
+ const scenePreset = parsed.scenePreset;
194
+ return {
195
+ schemaVersion: 1,
196
+ name: String(parsed.name ?? "unnamed"),
197
+ description: parsed.description ? String(parsed.description) : undefined,
198
+ createdBy: parsed.createdBy ? String(parsed.createdBy) : undefined,
199
+ createdAt: parsed.createdAt ? String(parsed.createdAt) : undefined,
200
+ updatedAt: parsed.updatedAt ? String(parsed.updatedAt) : undefined,
201
+ scenePreset,
202
+ filter,
203
+ layout,
204
+ viewport,
205
+ display,
206
+ };
207
+ }
208
+ //# sourceMappingURL=view-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-config.js","sourceRoot":"","sources":["../../src/graph/view-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 从本地 git 配置探测默认作者标识
3
+ *
4
+ * 用于在不强制用户配置的情况下,把 engram_create / synapse_create 的 `createdBy`
5
+ * 默认值绑定到本机 git 身份。优先 `user.name`(人类可读),其次 `user.email`。
6
+ *
7
+ * 容错策略:
8
+ * - git 未安装(`ENOENT`)→ 返回 undefined
9
+ * - git 退出非零(配置缺失)→ 返回 undefined
10
+ * - 命令输出为空或仅空白 → 返回 undefined
11
+ * - 其它异常一律返回 undefined(绝不抛出)
12
+ *
13
+ * 注意:`git config user.name` 不要求当前目录是 git 仓库,会读 global / system
14
+ * 配置。因此即便 dataRoot 尚未 git init,只要用户做过 `git config --global user.name`,
15
+ * 仍能拿到身份。
16
+ *
17
+ * @module @co-engram/core/host
18
+ */
19
+ /**
20
+ * 从本地 git 配置探测默认作者标识
21
+ *
22
+ * 解析顺序:`user.name` → `user.email`。两者皆无或 git 不可用时返回 undefined,
23
+ * 由调用方继续回退到 env / config / 'unknown'。
24
+ */
25
+ export declare function detectGitAuthor(): string | undefined;
26
+ //# sourceMappingURL=detect-git-author.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-git-author.d.ts","sourceRoot":"","sources":["../../src/host/detect-git-author.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA4BH;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * 从本地 git 配置探测默认作者标识
3
+ *
4
+ * 用于在不强制用户配置的情况下,把 engram_create / synapse_create 的 `createdBy`
5
+ * 默认值绑定到本机 git 身份。优先 `user.name`(人类可读),其次 `user.email`。
6
+ *
7
+ * 容错策略:
8
+ * - git 未安装(`ENOENT`)→ 返回 undefined
9
+ * - git 退出非零(配置缺失)→ 返回 undefined
10
+ * - 命令输出为空或仅空白 → 返回 undefined
11
+ * - 其它异常一律返回 undefined(绝不抛出)
12
+ *
13
+ * 注意:`git config user.name` 不要求当前目录是 git 仓库,会读 global / system
14
+ * 配置。因此即便 dataRoot 尚未 git init,只要用户做过 `git config --global user.name`,
15
+ * 仍能拿到身份。
16
+ *
17
+ * @module @co-engram/core/host
18
+ */
19
+ import { execFileSync } from "node:child_process";
20
+ /**
21
+ * 读取单条 git 配置值。
22
+ *
23
+ * 返回去首尾空白后的字符串;配置不存在或 git 不可用时返回 undefined。
24
+ */
25
+ function readGitConfig(key) {
26
+ try {
27
+ const result = execFileSync("git", ["config", key], {
28
+ encoding: "utf8",
29
+ stdio: ["ignore", "pipe", "ignore"],
30
+ timeout: 2000,
31
+ });
32
+ const trimmed = result.trim();
33
+ return trimmed.length > 0 ? trimmed : undefined;
34
+ }
35
+ catch (err) {
36
+ // ENOENT:git 未安装
37
+ // 非零退出:key 不存在
38
+ // timeout:git 卡住(罕见)
39
+ // 一律静默返回 undefined,绝不影响宿主启动
40
+ void err;
41
+ return undefined;
42
+ }
43
+ }
44
+ /**
45
+ * 从本地 git 配置探测默认作者标识
46
+ *
47
+ * 解析顺序:`user.name` → `user.email`。两者皆无或 git 不可用时返回 undefined,
48
+ * 由调用方继续回退到 env / config / 'unknown'。
49
+ */
50
+ export function detectGitAuthor() {
51
+ return readGitConfig("user.name") ?? readGitConfig("user.email");
52
+ }
53
+ //# sourceMappingURL=detect-git-author.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-git-author.js","sourceRoot":"","sources":["../../src/host/detect-git-author.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAEzE;;;;GAIG;AACH,SAAS,aAAa,CAAC,GAA+B;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;YAClD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,OAAO,EAAE,IAAI;SACd,CAAW,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iBAAiB;QACjB,eAAe;QACf,qBAAqB;QACrB,4BAA4B;QAC5B,KAAM,GAAgC,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Host 适配器共用的环境探测工具
3
+ *
4
+ * @module @co-engram/core/host
5
+ */
6
+ export { detectGitAuthor } from "./detect-git-author.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Host 适配器共用的环境探测工具
3
+ *
4
+ * @module @co-engram/core/host
5
+ */
6
+ export { detectGitAuthor } from "./detect-git-author.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * English translations
3
+ *
4
+ * @module @co-engram/core/i18n
5
+ */
6
+ import type { TranslationDict } from "./types.js";
7
+ export declare const en: TranslationDict;
8
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,EAAE,EAAE,eAuRhB,CAAC"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * English translations
3
+ *
4
+ * @module @co-engram/core/i18n
5
+ */
6
+ export const en = {
7
+ // ===== Engram tools (12) =====
8
+ "tool.engram_create": "Create a new Engram (memory unit). Requires title / content / kind / domainTags / createdBy. Smart dedupe is on by default (dedupe=true): DUPLICATE reinforces the existing engram without creating a duplicate; UPDATE merges; NEW creates.",
9
+ "tool.engram_get": "Read an Engram by disclosure tier (catalog / digest / content / meta / synapses / auto). auto picks a tier based on contextBudget.",
10
+ "tool.engram_update": "Update Engram fields (content / title / importance / etc.).",
11
+ "tool.engram_delete": "Delete an Engram (content + meta + synapses, all three files).",
12
+ "tool.engram_search": "FTS full-text search (Chinese bigram + English word), with optional filters.",
13
+ "tool.engram_list": "List Engrams by filter (no query — filter by metadata, reads latest state directly).",
14
+ "tool.engram_reinforce": "Report an effective retrieval (LTP reinforcement + Hebbian neighbor boost). Updates effectiveRetrievals / reinforcementScore / importance (each += effectiveness × 0.02, clamped to [0,1]); neighbors get 50% boost (except contradicts).",
15
+ "tool.engram_report_failure": "Report a failed use (LTD weakening). Updates failedUses / retrievalCount / importance (-0.03 per use, escalated ×1.5 after threshold). failedUses≥3 suggests archive, ≥5 suggests forget.",
16
+ "tool.engram_archive": "Archive an engram (excluded from default retrieval, but data preserved and recoverable). Search excludes archived by default; use a filter to include.",
17
+ "tool.engram_restore": "Restore from archived/forgotten to active (re-enters default retrieval). If the engram has been swept to .trash/, it is moved back first before restoring.",
18
+ "tool.engram_forget": "Actively forget an engram (RIF retrieval-induced forgetting). Files remain (Git keeps history); the engram leaves all default retrieval immediately. A reason is required. Default pipeline: swept to .trash/ after 30 days (removed from main index), then physically deleted (rm) after another 365 days. Recover anytime via engram_restore or the viewer's Trash tab until purged; after purge, only git history can bring it back.",
19
+ "tool.engram_recompute_importance": "Recompute the multi-dimensional importance of an engram (personal/team/project/network/temporal). network and temporal are system-derived (incomingSynapseCount + Ebbinghaus decay); the rest can be set via overrides. Result composite is written back to engram.importance.",
20
+ // ===== Learning loop tools (4) =====
21
+ "tool.contradiction_resolve": "Manually resolve a contradicts synapse (spec §3.9 phase 2 human intervention). Requires verdict + rationale + resolvedBy. The system marks synapse.resolutionState as resolved and appends to the evidence array.",
22
+ "tool.close_learning_loop": "Close the learning loop (dopamine closure): feed usage outcome back to the system. success/partial → LTP reinforcement + Hebbian neighbor boost; failure → LTD weakening + demotion threshold check. Also triggers the provenance reward/punishment circuit if configured.",
23
+ "tool.upgrade_verification": "Upgrade an engram verification status (unverified → plausible → probable → verified → refuted). Must provide evidence description + verifier. The system validates the state machine (no level skipping) + 3D evidence conditions (evidenceCount + cross-context domainTags + temporal stability days). force=true skips condition checks but keeps state machine validation (manual override scenario).",
24
+ "tool.get_evolution_lineage": "Trace the evolution lineage of an engram (spec §12.7 scenario 6). Follows derives_from / consolidates / supersedes synapses both ways: ancestors = sources (observation etc.), descendants = evolution results (pattern/procedure etc.). Returns DAG nodes and edges for graph visualization. spec §4.6 acceptance: from a Skill you can trace back to the original observation chain.",
25
+ // ===== Synapse tools (4) =====
26
+ "tool.synapse_create": "Create a Synapse (connection) between two Engrams. Updates incoming/outgoing caches on both ends.",
27
+ "tool.synapse_get": "Read a single Synapse (by from engramId + synapseId).",
28
+ "tool.synapse_delete": "Delete a Synapse (updates both caches).",
29
+ "tool.synapse_list": "List all Synapses of an Engram (outgoing / incoming / both).",
30
+ // ===== Skill tools (2) =====
31
+ "tool.skill_get": "Read Skill metadata (procedural memory). P0 reads from in-memory registry.",
32
+ "tool.skill_invoke": "Invoke a Skill (procedural memory). P0 is a framework; concrete template execution (tool-sequence / prompt-template) lands in P1.",
33
+ // ===== Proposal tools (3) =====
34
+ "tool.engram_list_proposals": "List topic proposal candidates. When a topic is mentioned multiple times in conversation but has no matching engram, the system generates a pending proposal for confirmation. Returns pending only by default; pass includeAll=true to see accepted/dismissed history.",
35
+ "tool.engram_accept_proposal": "Accept a proposal candidate → the system auto-creates the corresponding engram and marks the proposal as accepted. Future occurrences of the same topic will not generate duplicate proposals.",
36
+ "tool.engram_dismiss_proposal": "Dismiss a proposal candidate. Suppressed for 30 days by default; override via dismissDays. Reason can be filled for meta-learning.",
37
+ // ===== Repository health tools (2) =====
38
+ "tool.engram_doctor": "Run a self-healing scan over the memory repo. Auto-fixes moved files, title renames, and stale index entries; reports dangling synapse references and orphan markdown for manual review.",
39
+ "tool.engram_list_paths": "List the physical directory tree of the memory repo with cumulative engramCount per node, for progressive disclosure before searching.",
40
+ // ===== OpenClaw-compatible memory tools (2) =====
41
+ "tool.memory_search": "Search team memory (engrams) using natural language. Returns relevant memory snippets with relevance scores. Call this when the user asks about past decisions, preferences, people, dates, or project context.",
42
+ "tool.memory_get": "Read full content of a single memory (engram) by ID. Returns content, metadata (importance, truthScore, reinforcementCount), and related memory IDs. Use after memory_search to dive into specifics.",
43
+ // ===== System prompts (buildProposalPrompt) =====
44
+ "prompt.proposal_prompt": "[co-engram] ${count} memory candidate${plural} pending (topic${plural} seen ≥3 times but not recorded). Use `engram_list_proposals` to view, `engram_accept_proposal` to record, or `engram_dismiss_proposal` to ignore.",
45
+ // ===== Memory section prompts (OpenClaw registerMemoryCapability.promptBuilder) =====
46
+ "prompt.memory.section_header": "## Memory Recall (co-engram)",
47
+ "prompt.memory.when_to_search": 'When to call memory_search: semantic retrieval — user asks "what do we know about X / did we discuss X / find memories about X". The query is a search keyword (e.g. "low-friction-defaults", "ADB debugging"), NOT a "list all" instruction — empty query throws. Run memory_search first, then memory_get for full content on specific hits.',
48
+ "prompt.memory.when_to_list": 'When to call engram_list (listing scenario): user asks "what memories do I have / list all memories / show my memory store / how many memories" — use the engram_list tool (paginated + filtered), NOT memory_search. memory_search ranks by keyword relevance; listing everything needs engram_list. Optional filters: domainTags, kind (fact/pattern/procedure/observation), status (active/archived).',
49
+ "prompt.memory.when_not_to_search": "When NOT to call: general knowledge questions, pure code problems unrelated to team context, simple greetings. Avoid redundant searches for topics already answered in this conversation.",
50
+ "prompt.memory.reading_results": "Reading results: each memory has a truthScore (0-1). Treat memories with truthScore < 0.4 cautiously — consider calling close_learning_loop after verification. Cite memories by engram ID (e.g. [engram_abc123]) when the user benefits from verifying the source.",
51
+ "prompt.memory.writing": 'When creating/updating memories (engram_create / engram_update): leave createdBy blank to let the system auto-resolve to git user.name or plugin config.defaultCreatedBy. **Do NOT fill in generic words like "AIOS" / "openclaw" / "assistant" / "system"** — these are not real authors and break audit log traceability. Only pass createdBy explicitly when the user requests a specific authorship tag (team name, external system name, etc.).',
52
+ "prompt.memory.when_to_reinforce": "When to call engram_reinforce: use your **own judgment** — when a cited memory actually helped complete the task, was adopted into your answer, or successfully guided a decision, call engram_reinforce(id, effectiveness) on it. effectiveness: 1.0=fully useful, 0.7=mostly useful, 0.4=background reference only. Call engram_report_failure when the memory was wrong or stale. co-engram is a self-evolving system: your reinforcement signal is the primary input to importance scoring — call it proactively, do not wait for the user to prompt you. But **be honest**: do not give high scores for tangential references — over-reinforcing lets low-value memories drown out high-value ones.",
53
+ "prompt.memory.proposal_reminder": "Pending proposals: ${count} memory candidate(s) awaiting review. Call engram_list_proposals to inspect, engram_accept_proposal to record, or engram_dismiss_proposal to suppress.",
54
+ "prompt.memory.frequent_topics": "Frequent topics in this team-memory: ${tags}. These are domains where memory_search is most likely to return useful context.",
55
+ "prompt.memory.missed_topics": "Recently missed topics (consider searching proactively): ${topics}. Past turns suggest these should have triggered memory_search but did not.",
56
+ "prompt.memory.low_confidence_topics": "Low-confidence topics frequently retrieved: ${topics}. Consider close_learning_loop or upgrade_verification to strengthen these memories.",
57
+ // ===== Viewer UI strings =====
58
+ "viewer.title": "Co-Engram",
59
+ "viewer.slogan": "Self-evolving team memory",
60
+ "viewer.tab.stats": "Stats",
61
+ "viewer.tab.engrams": "Engrams",
62
+ "viewer.tab.graph": "Graph",
63
+ "viewer.tab.proposals": "Proposals",
64
+ "viewer.tab.audit": "Audit",
65
+ "viewer.tab.trash": "Trash",
66
+ "viewer.tab.config": "Config",
67
+ "viewer.tab.help": "Help",
68
+ "viewer.search.placeholder": "Full-text search engrams...",
69
+ "viewer.search.button": "Search",
70
+ "viewer.search.clear": "Clear",
71
+ "viewer.search.clear_title": "Clear search results and return to default stats view",
72
+ "viewer.auth.prompt": "This viewer requires a token.",
73
+ "viewer.auth.placeholder": "Bearer token",
74
+ "viewer.loading.stats": "Loading stats...",
75
+ "viewer.loading.engrams": "Loading engrams...",
76
+ "viewer.loading.graph": "Loading graph...",
77
+ "viewer.loading.proposals": "Loading proposals...",
78
+ "viewer.loading.audit": "Loading audit log...",
79
+ "viewer.loading.trash": "Loading trash...",
80
+ "viewer.loading.config": "Loading config...",
81
+ "viewer.section.proposals": "Memory Proposals",
82
+ "viewer.section.audit": "Audit Log",
83
+ "viewer.section.trash": "Trash",
84
+ "viewer.section.engrams": "Engrams",
85
+ "viewer.section.graph": "Graph",
86
+ "viewer.footer": "Co-Engram Viewer — loopback only (127.0.0.1)",
87
+ // ===== CLI strings =====
88
+ "cli.init.welcome": "Welcome to Co-Engram. Let's set up your team-memory repository.",
89
+ "cli.init.data_root_prompt": "Where should team-memory live? (absolute path)",
90
+ "cli.init.data_root_default": "Default: $HOME/team-memory",
91
+ "cli.init.language_prompt": "Choose the language for tool descriptions, viewer UI, and system prompts:",
92
+ "cli.init.language_option_en": "English (recommended for international teams)",
93
+ "cli.init.language_option_zh": "简体中文 (recommended for Chinese teams)",
94
+ "cli.init.created_by_prompt": "Default creator identifier for new engrams (e.g. your name):",
95
+ "cli.init.dir_exists": "Directory exists, reusing.",
96
+ "cli.init.dir_created": "Directory created.",
97
+ "cli.init.git_initialized": "Git repository initialized.",
98
+ "cli.init.git_skipped": "Already a Git repo, skipping git init.",
99
+ "cli.init.config_written": "Wrote config to ${path}.",
100
+ "cli.init.next_steps": "Next steps:",
101
+ "cli.init.next_step_mcp": " Wire to Claude Code: claude mcp add co-engram -e CO_ENGRAM_DATA_ROOT=${path} --scope user -- co-engram-mcp",
102
+ "cli.init.next_step_openclaw": " Wire to OpenClaw: install @co-engram/openclaw into extensions/ and set plugins.entries.co-engram.config.dataRoot=${path}",
103
+ "cli.init.done": "Done. Happy remembering!",
104
+ "cli.init.aborted": "Aborted.",
105
+ "cli.init.invalid_language": "Invalid language choice, defaulting to English.",
106
+ "cli.init.help_title": "Co-Engram init — initialize a team-memory repository",
107
+ "cli.init.help_usage": "Usage: co-engram init [options]",
108
+ "cli.init.help_path": " --path <path> Target directory (default: $HOME/team-memory)",
109
+ "cli.init.help_language": " --language <lang> Language: en | zh (default: en, or skip flag for interactive)",
110
+ "cli.init.help_created_by": " --created-by <name> Default creator identifier (default: $USER)",
111
+ "cli.init.help_no_git": " --no-git Skip git init",
112
+ "cli.init.help_force": " --force Overwrite existing .co-engram/config.json",
113
+ "cli.init.help_help": " -h, --help Show this help",
114
+ "cli.init.language_set_env": "(You can override at runtime via CO_ENGRAM_LANGUAGE=zh|en)",
115
+ // ===== Detail panel i18n (viewer runtime) =====
116
+ // Enum display (enum.<category>.<value>)
117
+ "enum.kind.observation": "Observation",
118
+ "enum.kind.fact": "Fact",
119
+ "enum.kind.pattern": "Pattern",
120
+ "enum.kind.procedure": "Procedure",
121
+ "enum.kind.hypothesis": "Hypothesis",
122
+ "enum.freshness.fresh": "Fresh",
123
+ "enum.freshness.aging": "Aging",
124
+ "enum.freshness.stale": "Stale",
125
+ "enum.freshness.forgotten": "Forgotten",
126
+ "enum.status.draft": "Draft",
127
+ "enum.status.active": "Active",
128
+ "enum.status.archived": "Archived",
129
+ "enum.status.forgotten": "Forgotten",
130
+ "enum.sourceType.firsthand": "Firsthand",
131
+ "enum.sourceType.secondhand": "Secondhand",
132
+ "enum.sourceType.inferred": "Inferred",
133
+ "enum.emotionalValence.positive": "Positive",
134
+ "enum.emotionalValence.neutral": "Neutral",
135
+ "enum.emotionalValence.negative": "Negative",
136
+ "enum.verificationStatus.unverified": "Unverified",
137
+ "enum.verificationStatus.plausible": "Plausible",
138
+ "enum.verificationStatus.probable": "Probable",
139
+ "enum.verificationStatus.verified": "Verified",
140
+ "enum.verificationStatus.refuted": "Refuted",
141
+ // Field labels (field.label.<name>)
142
+ "field.label.id": "ID:",
143
+ "field.label.title": "Title:",
144
+ "field.label.domainTags": "Domain tags:",
145
+ "field.label.contextTags": "Context tags:",
146
+ "field.label.content": "Content",
147
+ "field.label.stats": "Stats",
148
+ "field.label.retrievals": "Retrievals:",
149
+ "field.label.effective": "Effective:",
150
+ "field.label.failures": "Failures:",
151
+ "field.label.creator": "Creator:",
152
+ "field.label.time": "Time:",
153
+ "field.label.confidence": "Confidence:",
154
+ "field.label.status": "Status:",
155
+ "field.label.freshness": "Freshness:",
156
+ "field.label.importance": "Importance:",
157
+ "field.label.valueAssessment": "Value Assessment",
158
+ "field.label.multiDimImportance": "Multi-dim Importance",
159
+ "field.label.encodingContext": "Memory Formation Context",
160
+ "field.label.encodingContextValue": "Memory formation context:",
161
+ "field.label.perspective": "Perspective:",
162
+ "field.label.decayProgress": "Decay Progress",
163
+ "field.label.evidenceCount": "Evidence count:",
164
+ "field.label.lastEffective": "Last effective:",
165
+ "field.label.reinforcementScore": "Reinforcement score:",
166
+ "field.label.emotionalValence": "Emotional valence:",
167
+ "field.label.sourceType": "Source type:",
168
+ "field.label.verificationStatus": "Verification status:",
169
+ "field.label.decayHalfLife": "Decay half-life:",
170
+ // Section titles (section.<name>)
171
+ "section.content": "Content",
172
+ "section.stats": "Stats",
173
+ "section.valueAssessment": "Value Assessment",
174
+ "section.multiDimImportance": "Multi-dim Importance",
175
+ "section.encodingContext": "Memory Formation Context",
176
+ // Action buttons (action.<name>)
177
+ "action.edit": "Edit",
178
+ "action.delete": "Delete",
179
+ "action.close": "Close",
180
+ "action.detailView": "Detail View",
181
+ // Common strings (common.<name>)
182
+ "common.none": "None",
183
+ "common.never": "Never",
184
+ "common.unknown": "Unknown",
185
+ "common.totalCount": "${n} total",
186
+ // Decay visualization (decay.<name>)
187
+ "decay.daysToNext": "${days} days to next downgrade",
188
+ "decay.forgotten": "Forgotten",
189
+ "decay.neverDecays": "Never decays",
190
+ "decay.neverDecaysTip": "This engram has decayHalfLifeDays=null; the system does not track its decay.",
191
+ "decay.neverEffective": "Not yet effectively used",
192
+ "decay.neverEffectiveTip": "This engram has not been positively reinforced (engram_reinforce / close_learning_loop success) since creation, so lastEffectiveAt is unset and decay cannot be computed. Tracking begins after the first effective use.",
193
+ "decay.levelLabel": "Current: ${level}",
194
+ // List view (engrams.<area>.<name>)
195
+ "engrams.searchPlaceholder": "Search by title or tags...",
196
+ "engrams.filter.kind": "Kind",
197
+ "engrams.filter.kindAll": "All",
198
+ "engrams.filter.sort": "Sort",
199
+ "engrams.filter.sortNewest": "Newest first",
200
+ "engrams.filter.sortOldest": "Oldest first",
201
+ "engrams.filter.sortImportance": "Importance ↓",
202
+ "engrams.filter.sortRetrievals": "Retrievals ↓",
203
+ "engrams.view.card": "Card",
204
+ "engrams.view.tree": "Tree",
205
+ "engrams.countTotal": "${n} total",
206
+ "engrams.countFiltered": "Showing ${shown} / ${total}",
207
+ "engrams.empty": "No matching memories",
208
+ "engrams.retrievalsCount": "Retrievals ${n}",
209
+ "engrams.untagged": "Untagged",
210
+ };
211
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}