@co-engram/core 0.1.2 → 0.1.3

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 (227) hide show
  1. package/dist/bootstrap/classify.d.ts +67 -0
  2. package/dist/bootstrap/classify.d.ts.map +1 -0
  3. package/dist/bootstrap/classify.js +119 -0
  4. package/dist/bootstrap/classify.js.map +1 -0
  5. package/dist/bootstrap/index.d.ts +89 -0
  6. package/dist/bootstrap/index.d.ts.map +1 -0
  7. package/dist/bootstrap/index.js +158 -0
  8. package/dist/bootstrap/index.js.map +1 -0
  9. package/dist/concepts/dictionary.d.ts +260 -0
  10. package/dist/concepts/dictionary.d.ts.map +1 -0
  11. package/dist/concepts/dictionary.js +253 -0
  12. package/dist/concepts/dictionary.js.map +1 -0
  13. package/dist/concepts/index.d.ts +11 -0
  14. package/dist/concepts/index.d.ts.map +1 -0
  15. package/dist/concepts/index.js +10 -0
  16. package/dist/concepts/index.js.map +1 -0
  17. package/dist/concepts/types.d.ts +65 -0
  18. package/dist/concepts/types.d.ts.map +1 -0
  19. package/dist/concepts/types.js +15 -0
  20. package/dist/concepts/types.js.map +1 -0
  21. package/dist/config/defaults.d.ts +32 -3
  22. package/dist/config/defaults.d.ts.map +1 -1
  23. package/dist/config/defaults.js +52 -2
  24. package/dist/config/defaults.js.map +1 -1
  25. package/dist/config/index.d.ts +18 -1
  26. package/dist/config/index.d.ts.map +1 -1
  27. package/dist/config/index.js +75 -3
  28. package/dist/config/index.js.map +1 -1
  29. package/dist/config/loader.d.ts +10 -0
  30. package/dist/config/loader.d.ts.map +1 -0
  31. package/dist/config/loader.js +10 -0
  32. package/dist/config/loader.js.map +1 -0
  33. package/dist/config/types.d.ts +97 -1
  34. package/dist/config/types.d.ts.map +1 -1
  35. package/dist/contradiction/auto-degrade.d.ts +11 -2
  36. package/dist/contradiction/auto-degrade.d.ts.map +1 -1
  37. package/dist/contradiction/auto-degrade.js +22 -0
  38. package/dist/contradiction/auto-degrade.js.map +1 -1
  39. package/dist/contradiction/resolver.d.ts.map +1 -1
  40. package/dist/contradiction/resolver.js +7 -1
  41. package/dist/contradiction/resolver.js.map +1 -1
  42. package/dist/dreaming/index.d.ts +1 -0
  43. package/dist/dreaming/index.d.ts.map +1 -1
  44. package/dist/dreaming/index.js +1 -0
  45. package/dist/dreaming/index.js.map +1 -1
  46. package/dist/dreaming/llm-pattern-abstraction.d.ts +31 -0
  47. package/dist/dreaming/llm-pattern-abstraction.d.ts.map +1 -0
  48. package/dist/dreaming/llm-pattern-abstraction.js +70 -0
  49. package/dist/dreaming/llm-pattern-abstraction.js.map +1 -0
  50. package/dist/dreaming/rem.d.ts.map +1 -1
  51. package/dist/dreaming/rem.js +1 -0
  52. package/dist/dreaming/rem.js.map +1 -1
  53. package/dist/dreaming/scheduler.d.ts +13 -0
  54. package/dist/dreaming/scheduler.d.ts.map +1 -1
  55. package/dist/dreaming/scheduler.js +14 -2
  56. package/dist/dreaming/scheduler.js.map +1 -1
  57. package/dist/evolution/triggered.d.ts.map +1 -1
  58. package/dist/evolution/triggered.js +1 -0
  59. package/dist/evolution/triggered.js.map +1 -1
  60. package/dist/generative/hypothesis.d.ts.map +1 -1
  61. package/dist/generative/hypothesis.js +1 -0
  62. package/dist/generative/hypothesis.js.map +1 -1
  63. package/dist/i18n/en.d.ts.map +1 -1
  64. package/dist/i18n/en.js +1262 -32
  65. package/dist/i18n/en.js.map +1 -1
  66. package/dist/i18n/index.d.ts +34 -1
  67. package/dist/i18n/index.d.ts.map +1 -1
  68. package/dist/i18n/index.js +36 -7
  69. package/dist/i18n/index.js.map +1 -1
  70. package/dist/i18n/zh.d.ts +698 -32
  71. package/dist/i18n/zh.d.ts.map +1 -1
  72. package/dist/i18n/zh.js +1267 -33
  73. package/dist/i18n/zh.js.map +1 -1
  74. package/dist/index/graph-builder.js +3 -3
  75. package/dist/index/graph-builder.js.map +1 -1
  76. package/dist/index.d.ts +3 -0
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +3 -0
  79. package/dist/index.js.map +1 -1
  80. package/dist/learning/loop.d.ts +9 -0
  81. package/dist/learning/loop.d.ts.map +1 -1
  82. package/dist/learning/loop.js +42 -1
  83. package/dist/learning/loop.js.map +1 -1
  84. package/dist/maintenance/types.d.ts +11 -0
  85. package/dist/maintenance/types.d.ts.map +1 -1
  86. package/dist/maintenance/types.js.map +1 -1
  87. package/dist/merge/synapse-merger.js +6 -0
  88. package/dist/merge/synapse-merger.js.map +1 -1
  89. package/dist/merge-driver.cjs +64 -5
  90. package/dist/observability/audit-log.d.ts +7 -1
  91. package/dist/observability/audit-log.d.ts.map +1 -1
  92. package/dist/observability/audit-log.js.map +1 -1
  93. package/dist/observability/necessity-evaluator.d.ts +29 -0
  94. package/dist/observability/necessity-evaluator.d.ts.map +1 -1
  95. package/dist/observability/necessity-evaluator.js +240 -13
  96. package/dist/observability/necessity-evaluator.js.map +1 -1
  97. package/dist/observability/proposal-engine.d.ts.map +1 -1
  98. package/dist/observability/proposal-engine.js +12 -0
  99. package/dist/observability/proposal-engine.js.map +1 -1
  100. package/dist/observability/runtime-description-check.d.ts +55 -0
  101. package/dist/observability/runtime-description-check.d.ts.map +1 -0
  102. package/dist/observability/runtime-description-check.js +63 -0
  103. package/dist/observability/runtime-description-check.js.map +1 -0
  104. package/dist/prompt-signals/cache.d.ts +73 -0
  105. package/dist/prompt-signals/cache.d.ts.map +1 -1
  106. package/dist/prompt-signals/cache.js +102 -0
  107. package/dist/prompt-signals/cache.js.map +1 -1
  108. package/dist/prompt-signals/event-bus.d.ts +82 -0
  109. package/dist/prompt-signals/event-bus.d.ts.map +1 -0
  110. package/dist/prompt-signals/event-bus.js +105 -0
  111. package/dist/prompt-signals/event-bus.js.map +1 -0
  112. package/dist/prompt-signals/index.d.ts +2 -1
  113. package/dist/prompt-signals/index.d.ts.map +1 -1
  114. package/dist/prompt-signals/index.js +2 -1
  115. package/dist/prompt-signals/index.js.map +1 -1
  116. package/dist/reinforcement/ltp.d.ts +15 -1
  117. package/dist/reinforcement/ltp.d.ts.map +1 -1
  118. package/dist/reinforcement/ltp.js +24 -5
  119. package/dist/reinforcement/ltp.js.map +1 -1
  120. package/dist/reinforcement/related.d.ts +31 -2
  121. package/dist/reinforcement/related.d.ts.map +1 -1
  122. package/dist/reinforcement/related.js +39 -3
  123. package/dist/reinforcement/related.js.map +1 -1
  124. package/dist/retrieval/filter.d.ts.map +1 -1
  125. package/dist/retrieval/filter.js +7 -0
  126. package/dist/retrieval/filter.js.map +1 -1
  127. package/dist/retrieval/fts.d.ts +6 -5
  128. package/dist/retrieval/fts.d.ts.map +1 -1
  129. package/dist/retrieval/fts.js +74 -22
  130. package/dist/retrieval/fts.js.map +1 -1
  131. package/dist/status/index.d.ts +7 -0
  132. package/dist/status/index.d.ts.map +1 -0
  133. package/dist/status/index.js +7 -0
  134. package/dist/status/index.js.map +1 -0
  135. package/dist/status/status.d.ts +132 -0
  136. package/dist/status/status.d.ts.map +1 -0
  137. package/dist/status/status.js +437 -0
  138. package/dist/status/status.js.map +1 -0
  139. package/dist/storage/engram-store.d.ts.map +1 -1
  140. package/dist/storage/engram-store.js +17 -2
  141. package/dist/storage/engram-store.js.map +1 -1
  142. package/dist/storage/git.d.ts +168 -0
  143. package/dist/storage/git.d.ts.map +1 -1
  144. package/dist/storage/git.js +616 -33
  145. package/dist/storage/git.js.map +1 -1
  146. package/dist/storage/index.d.ts +1 -0
  147. package/dist/storage/index.d.ts.map +1 -1
  148. package/dist/storage/index.js +1 -0
  149. package/dist/storage/index.js.map +1 -1
  150. package/dist/storage/infra-doctor.d.ts +42 -0
  151. package/dist/storage/infra-doctor.d.ts.map +1 -0
  152. package/dist/storage/infra-doctor.js +92 -0
  153. package/dist/storage/infra-doctor.js.map +1 -0
  154. package/dist/storage/obsidian-links.d.ts +73 -0
  155. package/dist/storage/obsidian-links.d.ts.map +1 -0
  156. package/dist/storage/obsidian-links.js +177 -0
  157. package/dist/storage/obsidian-links.js.map +1 -0
  158. package/dist/storage/path.d.ts +24 -0
  159. package/dist/storage/path.d.ts.map +1 -1
  160. package/dist/storage/path.js +53 -0
  161. package/dist/storage/path.js.map +1 -1
  162. package/dist/storage/repository.d.ts +37 -1
  163. package/dist/storage/repository.d.ts.map +1 -1
  164. package/dist/storage/repository.js +235 -17
  165. package/dist/storage/repository.js.map +1 -1
  166. package/dist/storage/synapse-store.d.ts +7 -1
  167. package/dist/storage/synapse-store.d.ts.map +1 -1
  168. package/dist/storage/synapse-store.js +8 -0
  169. package/dist/storage/synapse-store.js.map +1 -1
  170. package/dist/tools/audit-query-tool.d.ts +53 -0
  171. package/dist/tools/audit-query-tool.d.ts.map +1 -0
  172. package/dist/tools/audit-query-tool.js +123 -0
  173. package/dist/tools/audit-query-tool.js.map +1 -0
  174. package/dist/tools/doctor-tools.d.ts +5 -0
  175. package/dist/tools/doctor-tools.d.ts.map +1 -1
  176. package/dist/tools/doctor-tools.js +11 -3
  177. package/dist/tools/doctor-tools.js.map +1 -1
  178. package/dist/tools/engram-tools.d.ts +13 -0
  179. package/dist/tools/engram-tools.d.ts.map +1 -1
  180. package/dist/tools/engram-tools.js +72 -8
  181. package/dist/tools/engram-tools.js.map +1 -1
  182. package/dist/tools/index.d.ts +3 -0
  183. package/dist/tools/index.d.ts.map +1 -1
  184. package/dist/tools/index.js +3 -0
  185. package/dist/tools/index.js.map +1 -1
  186. package/dist/tools/llm-descriptions.d.ts +28 -28
  187. package/dist/tools/llm-descriptions.d.ts.map +1 -1
  188. package/dist/tools/llm-descriptions.js +56 -489
  189. package/dist/tools/llm-descriptions.js.map +1 -1
  190. package/dist/tools/normalization.d.ts +43 -0
  191. package/dist/tools/normalization.d.ts.map +1 -0
  192. package/dist/tools/normalization.js +68 -0
  193. package/dist/tools/normalization.js.map +1 -0
  194. package/dist/tools/registry.d.ts.map +1 -1
  195. package/dist/tools/registry.js +6 -0
  196. package/dist/tools/registry.js.map +1 -1
  197. package/dist/tools/schemas.d.ts +67 -11
  198. package/dist/tools/schemas.d.ts.map +1 -1
  199. package/dist/tools/schemas.js +61 -6
  200. package/dist/tools/schemas.js.map +1 -1
  201. package/dist/tools/skill-tools.js +1 -1
  202. package/dist/tools/skill-tools.js.map +1 -1
  203. package/dist/tools/synapse-tools.d.ts.map +1 -1
  204. package/dist/tools/synapse-tools.js +1 -0
  205. package/dist/tools/synapse-tools.js.map +1 -1
  206. package/dist/tools/sync-tools.d.ts +102 -0
  207. package/dist/tools/sync-tools.d.ts.map +1 -0
  208. package/dist/tools/sync-tools.js +309 -0
  209. package/dist/tools/sync-tools.js.map +1 -0
  210. package/dist/tools/synthesize-tools.d.ts +79 -0
  211. package/dist/tools/synthesize-tools.d.ts.map +1 -0
  212. package/dist/tools/synthesize-tools.js +297 -0
  213. package/dist/tools/synthesize-tools.js.map +1 -0
  214. package/dist/tools/tool-profile.d.ts +68 -0
  215. package/dist/tools/tool-profile.d.ts.map +1 -0
  216. package/dist/tools/tool-profile.js +174 -0
  217. package/dist/tools/tool-profile.js.map +1 -0
  218. package/dist/tools/tool.d.ts +17 -0
  219. package/dist/tools/tool.d.ts.map +1 -1
  220. package/dist/tools/tool.js.map +1 -1
  221. package/dist/types/disclosure.d.ts +7 -0
  222. package/dist/types/disclosure.d.ts.map +1 -1
  223. package/dist/types/repository-types.d.ts +17 -1
  224. package/dist/types/repository-types.d.ts.map +1 -1
  225. package/dist/types/synapse.d.ts +19 -1
  226. package/dist/types/synapse.d.ts.map +1 -1
  227. package/package.json +9 -9
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 概念字典类型定义
3
+ *
4
+ * co-engram 引入大量神经科学概念(engram / synapse / LTP / LTD / Hebbian / RPE /
5
+ * verification state machine / observation window / multi-dim importance 等)。
6
+ * 元3「神经科学墙」的核心症状是:这些概念对挑剔用户完全不可见,规则藏在源码里。
7
+ *
8
+ * CONCEPT_DICTIONARY 是这些概念的单一真相源,所有面向用户的 surface
9
+ * (viewer help tab / mcp instructions / prompt-builder / 工具描述)都必须引用它,
10
+ * 不允许在别处重新定义。
11
+ *
12
+ * @module @co-engram/core/concepts
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/concepts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @co-engram/core/config
5
5
  */
6
- import type { AuditSectionConfig, EffectivenessSectionConfig, MaintenanceSectionConfig, ProposalsSectionConfig, ServerSectionConfig, ViewerSectionConfig } from "./types.js";
6
+ import type { AuditSectionConfig, AutoMemorySyncSectionConfig, EffectivenessSectionConfig, MaintenanceSectionConfig, ObservationWindowSectionConfig, ProposalsSectionConfig, ReinforcementSectionConfig, ScoringSectionConfig, ServerSectionConfig, ViewerSectionConfig } from "./types.js";
7
7
  import type { TrashMaintenanceConfig } from "../maintenance/types.js";
8
8
  /**
9
9
  * Maintenance 默认值
@@ -26,10 +26,19 @@ export declare const DEFAULT_PROPOSALS_CONFIG: Readonly<Required<ProposalsSectio
26
26
  export declare const DEFAULT_AUDIT_CONFIG: Readonly<Required<AuditSectionConfig>>;
27
27
  /** Effectiveness 默认值 */
28
28
  export declare const DEFAULT_EFFECTIVENESS_CONFIG: Readonly<Required<EffectivenessSectionConfig>>;
29
- /** Viewer 默认值 */
30
- export declare const DEFAULT_VIEWER_CONFIG: Readonly<Required<Omit<ViewerSectionConfig, "url">>>;
29
+ /** Viewer 默认值(port 已废弃,默认值由 viewer 按 hostType 决定) */
30
+ export declare const DEFAULT_VIEWER_CONFIG: Readonly<Required<Omit<ViewerSectionConfig, "url" | "port">>>;
31
31
  /** Server 默认值 */
32
32
  export declare const DEFAULT_SERVER_CONFIG: Readonly<Required<ServerSectionConfig>>;
33
+ /**
34
+ * Auto-memory 同步默认值
35
+ *
36
+ * `enabled` 默认 true(遵循 low-friction-defaults):Claude Code 用户开箱即用,
37
+ * 不需要手动启用。`projectsRoot` 留空 → 由 claude-code-mcp 用 `~/.claude/projects`
38
+ * 解析(本字段允许 viewer / 用户显式 override)。`debounceMs` 500ms 足够吸收
39
+ * Claude Code 写 MEMORY.md 时连续多次 change 事件。
40
+ */
41
+ export declare const DEFAULT_AUTO_MEMORY_SYNC_CONFIG: Readonly<Required<Omit<AutoMemorySyncSectionConfig, "projectsRoot">>>;
33
42
  /**
34
43
  * Trash 默认值
35
44
  *
@@ -42,4 +51,24 @@ export declare const DEFAULT_SERVER_CONFIG: Readonly<Required<ServerSectionConfi
42
51
  * 期间可 restore,安全边界足够默认开启。
43
52
  */
44
53
  export declare const DEFAULT_TRASH_CONFIG: Readonly<Required<TrashMaintenanceConfig>>;
54
+ /**
55
+ * Reinforcement 默认值(从源码 DEFAULT_CONFIG 单一来源派生)
56
+ *
57
+ * 避免在 config 层重复硬编码 0.02/0.03/0.5/3/1.5。源码改默认值时,
58
+ * config 层自动跟随。
59
+ */
60
+ export declare const DEFAULT_REINFORCEMENT_SECTION: Readonly<Required<ReinforcementSectionConfig>>;
61
+ /**
62
+ * 三因子检索权重默认值(从源码 DEFAULT_WEIGHTS 派生)
63
+ *
64
+ * 字段名映射:relevance ← alpha, recency ← beta, importance ← gamma。
65
+ * 源码改默认值时,config 层自动跟随。
66
+ */
67
+ export declare const DEFAULT_SEARCH_SECTION: Readonly<Required<ScoringSectionConfig>>;
68
+ /**
69
+ * 观察窗口默认值(从源码 DEFAULT_EFFECTIVENESS_WINDOWS 单一来源派生)
70
+ *
71
+ * 5 种 engram kind 各自的窗口长度(毫秒)。源码改默认值时,config 层自动跟随。
72
+ */
73
+ export declare const DEFAULT_OBSERVATION_SECTION: Readonly<Required<ObservationWindowSectionConfig>>;
45
74
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,QAAQ,CACN,IAAI,CACF,wBAAwB,EACxB,SAAS,GAAG,eAAe,GAAG,OAAO,GAAG,OAAO,CAChD,CACF,CACF,GAAG;IACF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;CAU/D,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAC7C,QAAQ,CAAC,sBAAsB,CAAC,CAQjC,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAEvE,CAAC;AAEF,wBAAwB;AACxB,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CACjD,QAAQ,CAAC,0BAA0B,CAAC,CAGrC,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAI3C,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAGzE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAKzE,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,QAAQ,CACN,IAAI,CACF,wBAAwB,EACxB,SAAS,GAAG,eAAe,GAAG,OAAO,GAAG,OAAO,CAChD,CACF,CACF,GAAG;IACF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;CAU/D,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAC7C,QAAQ,CAAC,sBAAsB,CAAC,CAQjC,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAEvE,CAAC;AAEF,wBAAwB;AACxB,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CACjD,QAAQ,CAAC,0BAA0B,CAAC,CAGrC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAGpD,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAGzE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,QAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAI5D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAKzE,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAClD,QAAQ,CAAC,0BAA0B,CAAC,CAOrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAI3E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAChD,QAAQ,CAAC,8BAA8B,CAAC,CAOzC,CAAC"}
@@ -3,6 +3,9 @@
3
3
  *
4
4
  * @module @co-engram/core/config
5
5
  */
6
+ import { DEFAULT_CONFIG as DEFAULT_REINFORCEMENT_ENGINE_CONFIG } from "../reinforcement/config.js";
7
+ import { DEFAULT_WEIGHTS } from "../retrieval/scoring.js";
8
+ import { DEFAULT_EFFECTIVENESS_WINDOWS } from "../observability/effectiveness-tracker.js";
6
9
  /**
7
10
  * Maintenance 默认值
8
11
  *
@@ -41,16 +44,27 @@ export const DEFAULT_AUDIT_CONFIG = {
41
44
  export const DEFAULT_EFFECTIVENESS_CONFIG = {
42
45
  enabled: true,
43
46
  };
44
- /** Viewer 默认值 */
47
+ /** Viewer 默认值(port 已废弃,默认值由 viewer 按 hostType 决定) */
45
48
  export const DEFAULT_VIEWER_CONFIG = {
46
49
  enabled: true,
47
- port: 18799,
48
50
  };
49
51
  /** Server 默认值 */
50
52
  export const DEFAULT_SERVER_CONFIG = {
51
53
  name: "co-engram",
52
54
  version: "0.0.0",
53
55
  };
56
+ /**
57
+ * Auto-memory 同步默认值
58
+ *
59
+ * `enabled` 默认 true(遵循 low-friction-defaults):Claude Code 用户开箱即用,
60
+ * 不需要手动启用。`projectsRoot` 留空 → 由 claude-code-mcp 用 `~/.claude/projects`
61
+ * 解析(本字段允许 viewer / 用户显式 override)。`debounceMs` 500ms 足够吸收
62
+ * Claude Code 写 MEMORY.md 时连续多次 change 事件。
63
+ */
64
+ export const DEFAULT_AUTO_MEMORY_SYNC_CONFIG = {
65
+ enabled: true,
66
+ debounceMs: 500,
67
+ };
54
68
  /**
55
69
  * Trash 默认值
56
70
  *
@@ -67,4 +81,40 @@ export const DEFAULT_TRASH_CONFIG = {
67
81
  afterDays: 30,
68
82
  purgeAfterDays: 365,
69
83
  };
84
+ /**
85
+ * Reinforcement 默认值(从源码 DEFAULT_CONFIG 单一来源派生)
86
+ *
87
+ * 避免在 config 层重复硬编码 0.02/0.03/0.5/3/1.5。源码改默认值时,
88
+ * config 层自动跟随。
89
+ */
90
+ export const DEFAULT_REINFORCEMENT_SECTION = {
91
+ ltpGain: DEFAULT_REINFORCEMENT_ENGINE_CONFIG.ltpGain,
92
+ ltdPenalty: DEFAULT_REINFORCEMENT_ENGINE_CONFIG.ltdPenalty,
93
+ hebbianRatio: DEFAULT_REINFORCEMENT_ENGINE_CONFIG.hebbianRatio,
94
+ failureThreshold: DEFAULT_REINFORCEMENT_ENGINE_CONFIG.failureThreshold,
95
+ failureEscalation: DEFAULT_REINFORCEMENT_ENGINE_CONFIG.failureEscalation,
96
+ };
97
+ /**
98
+ * 三因子检索权重默认值(从源码 DEFAULT_WEIGHTS 派生)
99
+ *
100
+ * 字段名映射:relevance ← alpha, recency ← beta, importance ← gamma。
101
+ * 源码改默认值时,config 层自动跟随。
102
+ */
103
+ export const DEFAULT_SEARCH_SECTION = {
104
+ relevance: DEFAULT_WEIGHTS.alpha,
105
+ recency: DEFAULT_WEIGHTS.beta,
106
+ importance: DEFAULT_WEIGHTS.gamma,
107
+ };
108
+ /**
109
+ * 观察窗口默认值(从源码 DEFAULT_EFFECTIVENESS_WINDOWS 单一来源派生)
110
+ *
111
+ * 5 种 engram kind 各自的窗口长度(毫秒)。源码改默认值时,config 层自动跟随。
112
+ */
113
+ export const DEFAULT_OBSERVATION_SECTION = {
114
+ observation: DEFAULT_EFFECTIVENESS_WINDOWS.observation,
115
+ fact: DEFAULT_EFFECTIVENESS_WINDOWS.fact,
116
+ pattern: DEFAULT_EFFECTIVENESS_WINDOWS.pattern,
117
+ procedure: DEFAULT_EFFECTIVENESS_WINDOWS.procedure,
118
+ hypothesis: DEFAULT_EFFECTIVENESS_WINDOWS.hypothesis,
119
+ };
70
120
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAUnC;IACF,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;IACvC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC9B,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACzC,YAAY,EAAE,GAAG;IACjB,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,wBAAwB,GAEjC;IACF,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC;IACZ,mBAAmB,EAAE,IAAI;IACzB,UAAU,EAAE,CAAC;IACb,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,CAAC;CACtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAA2C;IAC1E,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,MAAM,4BAA4B,GAErC;IACF,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,qBAAqB,GAE9B;IACF,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,qBAAqB,GAA4C;IAC5E,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B;IACE,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,GAAG;CACpB,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,cAAc,IAAI,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAE1F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAUnC;IACF,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;IACvC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC9B,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACzC,YAAY,EAAE,GAAG;IACjB,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,wBAAwB,GAEjC;IACF,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC;IACZ,mBAAmB,EAAE,IAAI;IACzB,UAAU,EAAE,CAAC;IACb,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,CAAC;CACtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAA2C;IAC1E,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,MAAM,4BAA4B,GAErC;IACF,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAE9B;IACF,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,qBAAqB,GAA4C;IAC5E,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAExC;IACF,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,GAAG;CAChB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B;IACE,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,GAAG;CACpB,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAEtC;IACF,OAAO,EAAE,mCAAmC,CAAC,OAAO;IACpD,UAAU,EAAE,mCAAmC,CAAC,UAAU;IAC1D,YAAY,EAAE,mCAAmC,CAAC,YAAY;IAC9D,gBAAgB,EAAE,mCAAmC,CAAC,gBAAgB;IACtE,iBAAiB,EAAE,mCAAmC,CAAC,iBAAiB;CACzE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA6C;IAC9E,SAAS,EAAE,eAAe,CAAC,KAAK;IAChC,OAAO,EAAE,eAAe,CAAC,IAAI;IAC7B,UAAU,EAAE,eAAe,CAAC,KAAK;CAClC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAEpC;IACF,WAAW,EAAE,6BAA6B,CAAC,WAAW;IACtD,IAAI,EAAE,6BAA6B,CAAC,IAAI;IACxC,OAAO,EAAE,6BAA6B,CAAC,OAAO;IAC9C,SAAS,EAAE,6BAA6B,CAAC,SAAS;IAClD,UAAU,EAAE,6BAA6B,CAAC,UAAU;CACrD,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * @module @co-engram/core/config
14
14
  */
15
15
  import type { TeamMemoryConfig } from "./types.js";
16
- export type { TeamMemoryConfig, MaintenanceSectionConfig, ProposalsSectionConfig, AuditSectionConfig, EffectivenessSectionConfig, ViewerSectionConfig, ServerSectionConfig, } from "./types.js";
16
+ export type { TeamMemoryConfig, MaintenanceSectionConfig, ProposalsSectionConfig, AuditSectionConfig, EffectivenessSectionConfig, ViewerSectionConfig, ServerSectionConfig, AutoMemorySyncSectionConfig, ReinforcementSectionConfig, ScoringSectionConfig, ObservationWindowSectionConfig, } from "./types.js";
17
17
  export type { MaintenanceConfig, MaintenanceStage, TrashMaintenanceConfig, } from "../maintenance/types.js";
18
18
  export type { ProposalEngineConfig } from "../observability/proposal-engine.js";
19
19
  /** config 文件名(放在 dataRoot/.co-engram/ 下) */
@@ -33,6 +33,23 @@ export declare function createDefaultConfig(): TeamMemoryConfig;
33
33
  * 幂等:对已规范化的 config 调用此函数,返回值结构等价。
34
34
  */
35
35
  export declare function normalizeConfig(raw: Readonly<TeamMemoryConfig> | undefined): TeamMemoryConfig;
36
+ /**
37
+ * 加载 config(用户友好入口,Task 1.5)
38
+ *
39
+ * 接受 partial config(可省略 version / 任意子系统字段),
40
+ * 用 {@link createDefaultConfig} + {@link fillDefaults} 补齐所有默认值。
41
+ *
42
+ * 与 {@link normalizeConfig} 区别:
43
+ * - `normalizeConfig(raw)` 假设 raw 是从磁盘读出的完整 config(可能字段缺失)
44
+ * - `loadConfig(partial)` 假设 partial 是用户/程序化构造的 override
45
+ *
46
+ * 行为等价:两者都返回"所有子系统字段齐全"的完整 config。
47
+ *
48
+ * @example
49
+ * loadConfig({ reinforcement: { ltpGain: 0.05 } })
50
+ * // → { version: 1, ..., reinforcement: { ltpGain: 0.05, ltdPenalty: 0.03, ... }, ... }
51
+ */
52
+ export declare function loadConfig(partial?: Readonly<Partial<TeamMemoryConfig>>): TeamMemoryConfig;
36
53
  /**
37
54
  * config.json 在 dataRoot 内的完整路径
38
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAWnD,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,4CAA4C;AAC5C,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CActD;AA2CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAC1C,gBAAgB,CAGlB;AAsCD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACzC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAYvC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjE,uCAAuC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAenD,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,4CAA4C;AAC5C,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAkBtD;AAsFD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAC1C,gBAAgB,CAGlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAM,GAChD,gBAAgB,CAOlB;AAsCD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACzC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAYvC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjE,uCAAuC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * @module @co-engram/core/config
14
14
  */
15
- import { DEFAULT_AUDIT_CONFIG, DEFAULT_EFFECTIVENESS_CONFIG, DEFAULT_MAINTENANCE_CONFIG, DEFAULT_PROPOSALS_CONFIG, DEFAULT_SERVER_CONFIG, DEFAULT_TRASH_CONFIG, DEFAULT_VIEWER_CONFIG, } from "./defaults.js";
15
+ import { DEFAULT_AUDIT_CONFIG, DEFAULT_AUTO_MEMORY_SYNC_CONFIG, DEFAULT_EFFECTIVENESS_CONFIG, DEFAULT_MAINTENANCE_CONFIG, DEFAULT_OBSERVATION_SECTION, DEFAULT_PROPOSALS_CONFIG, DEFAULT_REINFORCEMENT_SECTION, DEFAULT_SEARCH_SECTION, DEFAULT_SERVER_CONFIG, DEFAULT_TRASH_CONFIG, DEFAULT_VIEWER_CONFIG, } from "./defaults.js";
16
16
  /** config 文件名(放在 dataRoot/.co-engram/ 下) */
17
17
  export const TEAM_MEMORY_CONFIG_FILENAME = "config.json";
18
18
  /**
@@ -33,6 +33,10 @@ export function createDefaultConfig() {
33
33
  effectiveness: { ...DEFAULT_EFFECTIVENESS_CONFIG },
34
34
  viewer: { ...DEFAULT_VIEWER_CONFIG },
35
35
  server: { ...DEFAULT_SERVER_CONFIG },
36
+ autoMemorySync: { ...DEFAULT_AUTO_MEMORY_SYNC_CONFIG },
37
+ reinforcement: { ...DEFAULT_REINFORCEMENT_SECTION },
38
+ search: { ...DEFAULT_SEARCH_SECTION },
39
+ observation: { ...DEFAULT_OBSERVATION_SECTION },
36
40
  };
37
41
  }
38
42
  /**
@@ -56,12 +60,45 @@ function fillDefaults(raw) {
56
60
  ...DEFAULT_EFFECTIVENESS_CONFIG,
57
61
  ...(raw.effectiveness ?? {}),
58
62
  },
59
- viewer: { ...DEFAULT_VIEWER_CONFIG, ...(raw.viewer ?? {}) },
63
+ viewer: (() => {
64
+ const rawViewer = raw.viewer ?? {};
65
+ // port 已废弃:丢弃用户在 persisted config 设置的 viewer.port
66
+ // (两宿主共享 persisted config 会导致端口冲突)
67
+ const { port: _droppedPort, ...viewerWithoutPort } = rawViewer;
68
+ void _droppedPort;
69
+ return { ...DEFAULT_VIEWER_CONFIG, ...viewerWithoutPort };
70
+ })(),
60
71
  server: { ...DEFAULT_SERVER_CONFIG, ...(raw.server ?? {}) },
72
+ autoMemorySync: (() => {
73
+ const rawSync = raw.autoMemorySync ?? {};
74
+ // projectsRoot 不强制默认值(留空时由 claude-code-mcp 用 ~/.claude/projects 解析)
75
+ const { projectsRoot: _keptRoot, ...rest } = rawSync;
76
+ void _keptRoot;
77
+ return {
78
+ ...DEFAULT_AUTO_MEMORY_SYNC_CONFIG,
79
+ ...rest,
80
+ ...(typeof rawSync.projectsRoot === "string"
81
+ ? { projectsRoot: rawSync.projectsRoot }
82
+ : {}),
83
+ };
84
+ })(),
85
+ reinforcement: {
86
+ ...DEFAULT_REINFORCEMENT_SECTION,
87
+ ...(raw.reinforcement ?? {}),
88
+ },
89
+ search: { ...DEFAULT_SEARCH_SECTION, ...(raw.search ?? {}) },
90
+ observation: {
91
+ ...DEFAULT_OBSERVATION_SECTION,
92
+ ...(raw.observation ?? {}),
93
+ },
61
94
  };
62
95
  }
63
96
  /**
64
- * 检测 raw config 是否需要规范化(字段缺失)
97
+ * 检测 raw config 是否需要规范化(字段缺失 / 含 deprecated 字段)
98
+ *
99
+ * 含 deprecated 字段(如 viewer.port)时也返回 true,让 fillDefaults 丢弃。
100
+ * 否则 loader 会原样返回 raw config,deprecated 字段残留导致两宿主共享
101
+ * persisted config 时抢同一端口。
65
102
  */
66
103
  function needsNormalize(raw) {
67
104
  if (raw.maintenance === undefined)
@@ -76,8 +113,19 @@ function needsNormalize(raw) {
76
113
  return true;
77
114
  if (raw.server === undefined)
78
115
  return true;
116
+ if (raw.autoMemorySync === undefined)
117
+ return true;
79
118
  if (raw.maintenance?.trash === undefined)
80
119
  return true;
120
+ if (raw.reinforcement === undefined)
121
+ return true;
122
+ if (raw.search === undefined)
123
+ return true;
124
+ if (raw.observation === undefined)
125
+ return true;
126
+ // deprecated 字段:存在则触发 normalize 让 fillDefaults 丢弃
127
+ if (raw.viewer?.port !== undefined)
128
+ return true;
81
129
  return false;
82
130
  }
83
131
  /**
@@ -92,6 +140,30 @@ export function normalizeConfig(raw) {
92
140
  const base = raw ?? createDefaultConfig();
93
141
  return fillDefaults(base);
94
142
  }
143
+ /**
144
+ * 加载 config(用户友好入口,Task 1.5)
145
+ *
146
+ * 接受 partial config(可省略 version / 任意子系统字段),
147
+ * 用 {@link createDefaultConfig} + {@link fillDefaults} 补齐所有默认值。
148
+ *
149
+ * 与 {@link normalizeConfig} 区别:
150
+ * - `normalizeConfig(raw)` 假设 raw 是从磁盘读出的完整 config(可能字段缺失)
151
+ * - `loadConfig(partial)` 假设 partial 是用户/程序化构造的 override
152
+ *
153
+ * 行为等价:两者都返回"所有子系统字段齐全"的完整 config。
154
+ *
155
+ * @example
156
+ * loadConfig({ reinforcement: { ltpGain: 0.05 } })
157
+ * // → { version: 1, ..., reinforcement: { ltpGain: 0.05, ltdPenalty: 0.03, ... }, ... }
158
+ */
159
+ export function loadConfig(partial = {}) {
160
+ const base = {
161
+ ...createDefaultConfig(),
162
+ ...partial,
163
+ version: 1,
164
+ };
165
+ return fillDefaults(base);
166
+ }
95
167
  // --- 读写原语 ---
96
168
  async function defaultReadFile(path) {
97
169
  const { readFile } = await import("node:fs/promises");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Loader 入口(Task 1.5)
3
+ *
4
+ * 用户友好的 config 加载 API。背后复用 `normalizeConfig` / `fillDefaults`,
5
+ * 但接口形状更友好:接受 `Partial<TeamMemoryConfig>`(可省略 version / 任意子系统字段)。
6
+ *
7
+ * @module @co-engram/core/config/loader
8
+ */
9
+ export { loadConfig, normalizeConfig, createDefaultConfig, readTeamMemoryConfig, writeTeamMemoryConfig, loadAndSelfHealConfig, resolveConfigPath, TEAM_MEMORY_CONFIG_FILENAME, type LoadResult, } from "./index.js";
10
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Loader 入口(Task 1.5)
3
+ *
4
+ * 用户友好的 config 加载 API。背后复用 `normalizeConfig` / `fillDefaults`,
5
+ * 但接口形状更友好:接受 `Partial<TeamMemoryConfig>`(可省略 version / 任意子系统字段)。
6
+ *
7
+ * @module @co-engram/core/config/loader
8
+ */
9
+ export { loadConfig, normalizeConfig, createDefaultConfig, readTeamMemoryConfig, writeTeamMemoryConfig, loadAndSelfHealConfig, resolveConfigPath, TEAM_MEMORY_CONFIG_FILENAME, } from "./index.js";
10
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,GAE5B,MAAM,YAAY,CAAC"}
@@ -59,7 +59,12 @@ export interface EffectivenessSectionConfig {
59
59
  export interface ViewerSectionConfig {
60
60
  /** 启用 web viewer(默认跟随 proposal engine) */
61
61
  readonly enabled?: boolean;
62
- /** viewer 监听端口(默认 18799) */
62
+ /**
63
+ * @deprecated 已废弃。两宿主(Claude Code / OpenClaw)共享同一 persisted config,
64
+ * 若 viewer.port 在此设置会导致两宿主抢同一端口。改用 env `CO_ENGRAM_VIEWER_PORT`
65
+ * 覆盖,或接受 host-specific 默认(Claude Code=18799,OpenClaw=18899)。
66
+ * 此字段在 normalize 时会被丢弃。
67
+ */
63
68
  readonly port?: number;
64
69
  /** viewer 对外可达 URL */
65
70
  readonly url?: string;
@@ -73,6 +78,89 @@ export interface ServerSectionConfig {
73
78
  /** MCP server version(默认 '0.0.0') */
74
79
  readonly version?: string;
75
80
  }
81
+ /**
82
+ * Reinforcement 子系统在 config.json 中的配置
83
+ *
84
+ * 与 `packages/core/src/reinforcement/config.ts` 的 `ReinforcementConfig` 对齐,
85
+ * 但本接口所有字段可选(由 loader 用 DEFAULT_CONFIG 补齐)。
86
+ *
87
+ * 用户在 config.json 中只需写需要调整的字段,其余自动用 spec 6.2 默认值。
88
+ */
89
+ export interface ReinforcementSectionConfig {
90
+ /** 每次 effective=1 检索的 importance 增益(默认 0.02) */
91
+ readonly ltpGain?: number;
92
+ /** 每次失败使用的 importance 削弱(默认 0.03) */
93
+ readonly ltdPenalty?: number;
94
+ /** Hebbian 邻居强化系数 ∈ [0,1](默认 0.5) */
95
+ readonly hebbianRatio?: number;
96
+ /** 失败累积阈值(默认 3) */
97
+ readonly failureThreshold?: number;
98
+ /** 阈值之上的额外惩罚倍率(默认 1.5) */
99
+ readonly failureEscalation?: number;
100
+ }
101
+ /**
102
+ * 三因子检索权重在 config.json 中的配置
103
+ *
104
+ * 与 `packages/core/src/retrieval/scoring.ts` 的 `ThreeFactorWeights` 对齐,
105
+ * 字段名改用语义化命名(relevance/recency/importance)以便用户理解。
106
+ *
107
+ * 用户在 config.json 中只需写需要调整的字段,其余自动用 spec 3.7 默认值
108
+ * (α=0.5, β=0.3, γ=0.2)。
109
+ */
110
+ export interface ScoringSectionConfig {
111
+ /** relevance 权重(语义/关键词匹配,默认 0.5) */
112
+ readonly relevance?: number;
113
+ /** recency 权重(艾宾浩斯衰退,默认 0.3) */
114
+ readonly recency?: number;
115
+ /** importance 权重(价值,默认 0.2) */
116
+ readonly importance?: number;
117
+ }
118
+ /**
119
+ * 观察窗口覆盖(按 engram kind 分别配置)
120
+ *
121
+ * 与 `packages/core/src/observability/effectiveness-tracker.ts` 的
122
+ * `DEFAULT_EFFECTIVENESS_WINDOWS` 对齐。值为毫秒。
123
+ *
124
+ * 用户在 config.json 中只需写需要调整的 kind,其余自动用默认值。
125
+ */
126
+ export interface ObservationWindowSectionConfig {
127
+ /** observation kind 窗口(默认 6h) */
128
+ readonly observation?: number;
129
+ /** fact kind 窗口(默认 24h) */
130
+ readonly fact?: number;
131
+ /** pattern kind 窗口(默认 48h) */
132
+ readonly pattern?: number;
133
+ /** procedure kind 窗口(默认 48h) */
134
+ readonly procedure?: number;
135
+ /** hypothesis kind 窗口(默认 7d) */
136
+ readonly hypothesis?: number;
137
+ }
138
+ /**
139
+ * Auto-memory 同步子系统配置(Claude Code MCP 专用)
140
+ *
141
+ * Claude Code 在 `~/.claude/projects/<encoded-cwd>/memory/*.md` 下维护一份
142
+ * 自动记忆,本子系统把这份记忆同步为 co-engram engram(幂等,domainTag 标识来源)。
143
+ *
144
+ * 默认 true(遵循 low-friction-defaults)。OpenClaw 没有等价的"自动记忆写入器",
145
+ * 该子系统在 OpenClaw host 下完全不启动(由 claude-code-mcp 在 main() 内决定)。
146
+ */
147
+ export interface AutoMemorySyncSectionConfig {
148
+ /**
149
+ * 启用 auto-memory 同步(默认 true)
150
+ *
151
+ * 设为 false 完全禁用 watcher + 初始扫描,co-engram 不会读 Claude Code 的
152
+ * memory 目录。env `CO_ENGRAM_AUTO_MEMORY_SYNC=0` 优先于本字段。
153
+ */
154
+ readonly enabled?: boolean;
155
+ /**
156
+ * Claude Code projects 根目录(默认 ~/.claude/projects)
157
+ *
158
+ * 通常不需要改,但用户可能用 CO_ENGRAM_CLAUDE_PROJECTS_ROOT 自定义位置。
159
+ */
160
+ readonly projectsRoot?: string;
161
+ /** 文件变化去抖间隔(毫秒,默认 500) */
162
+ readonly debounceMs?: number;
163
+ }
76
164
  /**
77
165
  * team-memory 持久化配置形状
78
166
  *
@@ -140,6 +228,14 @@ export interface TeamMemoryConfig {
140
228
  readonly viewer?: ViewerSectionConfig;
141
229
  /** MCP server 协议身份 */
142
230
  readonly server?: ServerSectionConfig;
231
+ /** Auto-memory 同步子系统配置(Claude Code MCP 专用,OpenClaw 忽略) */
232
+ readonly autoMemorySync?: AutoMemorySyncSectionConfig;
233
+ /** Reinforcement 子系统配置(LTP/LTD/Hebbian 参数,源码 DEFAULT_CONFIG) */
234
+ readonly reinforcement?: ReinforcementSectionConfig;
235
+ /** 三因子检索权重配置(源码 DEFAULT_WEIGHTS α=0.5 β=0.3 γ=0.2) */
236
+ readonly search?: ScoringSectionConfig;
237
+ /** 观察窗口覆盖(按 engram kind,源码 DEFAULT_EFFECTIVENESS_WINDOWS) */
238
+ readonly observation?: ObservationWindowSectionConfig;
143
239
  }
144
240
  export type { MaintenanceStage, TrashMaintenanceConfig, } from "../maintenance/types.js";
145
241
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import type { EngramRepository } from "../storage/repository.js";
10
10
  import type { SynapseResolutionState } from "../types/synapse.js";
11
+ import type { AuditLog } from "../observability/audit-log.js";
11
12
  export interface AutoDegradeResult {
12
13
  readonly scanned: number;
13
14
  readonly degraded: ReadonlyArray<{
@@ -44,8 +45,16 @@ export interface ManualResolveInput {
44
45
  readonly resolvedBy: string;
45
46
  }
46
47
  export declare function manualResolveContradiction(repo: EngramRepository, input: ManualResolveInput, options?: {
47
- now?: Date;
48
- persist?: boolean;
48
+ readonly now?: Date;
49
+ readonly persist?: boolean;
50
+ /**
51
+ * P0-5 修复:auditLog 注入。若提供,则写 merge_resolved audit(此前 enum 有值
52
+ * 但代码从不调用)。让"谁在什么时候基于什么 rationale 把哪条 engram 判定
53
+ * 为 superseded"完整可追溯 —— 这是 co-engram 最重要的决策类型审计。
54
+ */
55
+ readonly auditLog?: AuditLog;
56
+ /** 宿主标识(透传到 audit entry) */
57
+ readonly host?: "claude-code-mcp" | "openclaw-plugin" | string;
49
58
  }): {
50
59
  resolved: boolean;
51
60
  finalStatus: SynapseResolutionState["status"];
@@ -1 +1 @@
1
- {"version":3,"file":"auto-degrade.d.ts","sourceRoot":"","sources":["../../src/contradiction/auto-degrade.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;CACJ;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9C,iBAAiB,CA0CnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9C;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;CAAE,CA8BtE"}
1
+ {"version":3,"file":"auto-degrade.d.ts","sourceRoot":"","sources":["../../src/contradiction/auto-degrade.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;CACJ;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9C,iBAAiB,CA0CnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE;IACP,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,MAAM,CAAC;CAC3D,GACL;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;CAAE,CAuDtE"}
@@ -73,6 +73,28 @@ export function manualResolveContradiction(repo, input, options = {}) {
73
73
  };
74
74
  if (persist) {
75
75
  repo.updateSynapseResolution(input.fromId, input.synapseId, nextState);
76
+ // P0-5 修复:写 merge_resolved audit(enum 有值但代码从未调用,经典 fail-silent)
77
+ if (options.auditLog) {
78
+ options.auditLog.append({
79
+ actor: "user",
80
+ action: "merge_resolved",
81
+ engramId: input.fromId,
82
+ host: options.host,
83
+ metadata: {
84
+ synapseId: input.synapseId,
85
+ fromId: input.fromId,
86
+ toId: synapse.to,
87
+ verdict: input.verdict,
88
+ rationale: input.rationale,
89
+ resolvedBy: input.resolvedBy,
90
+ phase: nextState.phase,
91
+ // 便于 audit_query(action: merge_resolved, engramId) 直接追溯
92
+ // "某个 engram 是否被判定为 superseded"
93
+ supersededEngramId: input.verdict === "keep_old" ? input.fromId : synapse.to,
94
+ winningEngramId: input.verdict === "keep_old" ? synapse.to : input.fromId,
95
+ },
96
+ });
97
+ }
76
98
  }
77
99
  return { resolved: true, finalStatus: "resolved" };
78
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-degrade.js","sourceRoot":"","sources":["../../src/contradiction/auto-degrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-degrade.js","sourceRoot":"","sources":["../../src/contradiction/auto-degrade.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/contradiction/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,KAAK,EAAU,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,2BAA2B;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,qBAAqB;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB;IACtB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,gBAAgB;IAChB,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,yBAAyB,EAChC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,gBAAgB,CAAC,CAoI3B"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/contradiction/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAMjE,OAAO,KAAK,EAAU,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,2BAA2B;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,qBAAqB;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB;IACtB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,gBAAgB;IAChB,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,yBAAyB,EAChC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,gBAAgB,CAAC,CAoI3B"}