limen-ai 1.5.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +245 -51
  3. package/dist/api/chat/chat_pipeline.js.map +1 -1
  4. package/dist/api/cognitive/cognitive_api.d.ts +43 -9
  5. package/dist/api/cognitive/cognitive_api.d.ts.map +1 -1
  6. package/dist/api/cognitive/cognitive_api.js +182 -7
  7. package/dist/api/cognitive/cognitive_api.js.map +1 -1
  8. package/dist/api/convenience/convenience_types.d.ts +9 -3
  9. package/dist/api/convenience/convenience_types.d.ts.map +1 -1
  10. package/dist/api/convenience/convenience_types.js.map +1 -1
  11. package/dist/api/data/data_api.d.ts +13 -0
  12. package/dist/api/data/data_api.d.ts.map +1 -1
  13. package/dist/api/data/data_api.js +174 -0
  14. package/dist/api/data/data_api.js.map +1 -1
  15. package/dist/api/defaults.d.ts +4 -1
  16. package/dist/api/defaults.d.ts.map +1 -1
  17. package/dist/api/defaults.js +4 -11
  18. package/dist/api/defaults.js.map +1 -1
  19. package/dist/api/errors/limen_error.d.ts +4 -13
  20. package/dist/api/errors/limen_error.d.ts.map +1 -1
  21. package/dist/api/errors/limen_error.js +36 -10
  22. package/dist/api/errors/limen_error.js.map +1 -1
  23. package/dist/api/facades/claim_api_impl.d.ts +2 -2
  24. package/dist/api/facades/claim_api_impl.d.ts.map +1 -1
  25. package/dist/api/facades/claim_api_impl.js +16 -6
  26. package/dist/api/facades/claim_api_impl.js.map +1 -1
  27. package/dist/api/facades/claim_facade.d.ts +1 -1
  28. package/dist/api/facades/claim_facade.d.ts.map +1 -1
  29. package/dist/api/facades/claim_facade.js +8 -12
  30. package/dist/api/facades/claim_facade.js.map +1 -1
  31. package/dist/api/facades/working_memory_facade.d.ts +1 -1
  32. package/dist/api/facades/working_memory_facade.d.ts.map +1 -1
  33. package/dist/api/facades/working_memory_facade.js +6 -9
  34. package/dist/api/facades/working_memory_facade.js.map +1 -1
  35. package/dist/api/gateway/permission_gateway.d.ts +96 -0
  36. package/dist/api/gateway/permission_gateway.d.ts.map +1 -0
  37. package/dist/api/gateway/permission_gateway.js +341 -0
  38. package/dist/api/gateway/permission_gateway.js.map +1 -0
  39. package/dist/api/governance/governed_orchestration.d.ts.map +1 -1
  40. package/dist/api/governance/governed_orchestration.js +4 -3
  41. package/dist/api/governance/governed_orchestration.js.map +1 -1
  42. package/dist/api/index.d.ts +3 -1
  43. package/dist/api/index.d.ts.map +1 -1
  44. package/dist/api/index.js +458 -11
  45. package/dist/api/index.js.map +1 -1
  46. package/dist/api/interfaces/api.d.ts +68 -8
  47. package/dist/api/interfaces/api.d.ts.map +1 -1
  48. package/dist/api/migration/035_vector_search.d.ts +34 -0
  49. package/dist/api/migration/035_vector_search.d.ts.map +1 -0
  50. package/dist/api/migration/035_vector_search.js +108 -0
  51. package/dist/api/migration/035_vector_search.js.map +1 -0
  52. package/dist/api/migration/036_cognitive_engine.d.ts +22 -0
  53. package/dist/api/migration/036_cognitive_engine.d.ts.map +1 -0
  54. package/dist/api/migration/036_cognitive_engine.js +159 -0
  55. package/dist/api/migration/036_cognitive_engine.js.map +1 -0
  56. package/dist/api/migration/037_fts5_retraction_guard.d.ts +21 -0
  57. package/dist/api/migration/037_fts5_retraction_guard.d.ts.map +1 -0
  58. package/dist/api/migration/037_fts5_retraction_guard.js +65 -0
  59. package/dist/api/migration/037_fts5_retraction_guard.js.map +1 -0
  60. package/dist/api/migration/037_sync_foundation.d.ts +25 -0
  61. package/dist/api/migration/037_sync_foundation.d.ts.map +1 -0
  62. package/dist/api/migration/037_sync_foundation.js +113 -0
  63. package/dist/api/migration/037_sync_foundation.js.map +1 -0
  64. package/dist/api/missions/mission_api.js +6 -6
  65. package/dist/api/missions/mission_api.js.map +1 -1
  66. package/dist/claims/interfaces/claim_types.d.ts +18 -1
  67. package/dist/claims/interfaces/claim_types.d.ts.map +1 -1
  68. package/dist/claims/interfaces/claim_types.js.map +1 -1
  69. package/dist/claims/store/claim_stores.d.ts +7 -2
  70. package/dist/claims/store/claim_stores.d.ts.map +1 -1
  71. package/dist/claims/store/claim_stores.js +89 -51
  72. package/dist/claims/store/claim_stores.js.map +1 -1
  73. package/dist/cognitive/access_tracker.d.ts +18 -1
  74. package/dist/cognitive/access_tracker.d.ts.map +1 -1
  75. package/dist/cognitive/access_tracker.js +19 -6
  76. package/dist/cognitive/access_tracker.js.map +1 -1
  77. package/dist/cognitive/auto_connection.d.ts +38 -0
  78. package/dist/cognitive/auto_connection.d.ts.map +1 -0
  79. package/dist/cognitive/auto_connection.js +142 -0
  80. package/dist/cognitive/auto_connection.js.map +1 -0
  81. package/dist/cognitive/cascade.d.ts +9 -3
  82. package/dist/cognitive/cascade.d.ts.map +1 -1
  83. package/dist/cognitive/cascade.js +20 -17
  84. package/dist/cognitive/cascade.js.map +1 -1
  85. package/dist/cognitive/cognitive_types.d.ts +185 -0
  86. package/dist/cognitive/cognitive_types.d.ts.map +1 -0
  87. package/dist/cognitive/cognitive_types.js +46 -0
  88. package/dist/cognitive/cognitive_types.js.map +1 -0
  89. package/dist/cognitive/conflict.d.ts +2 -2
  90. package/dist/cognitive/conflict.d.ts.map +1 -1
  91. package/dist/cognitive/conflict.js +10 -3
  92. package/dist/cognitive/conflict.js.map +1 -1
  93. package/dist/cognitive/consolidation.d.ts +48 -0
  94. package/dist/cognitive/consolidation.d.ts.map +1 -0
  95. package/dist/cognitive/consolidation.js +283 -0
  96. package/dist/cognitive/consolidation.js.map +1 -0
  97. package/dist/cognitive/importance.d.ts +43 -0
  98. package/dist/cognitive/importance.d.ts.map +1 -0
  99. package/dist/cognitive/importance.js +133 -0
  100. package/dist/cognitive/importance.js.map +1 -0
  101. package/dist/cognitive/narrative.d.ts +35 -0
  102. package/dist/cognitive/narrative.d.ts.map +1 -0
  103. package/dist/cognitive/narrative.js +184 -0
  104. package/dist/cognitive/narrative.js.map +1 -0
  105. package/dist/cognitive/self_healing.d.ts +64 -0
  106. package/dist/cognitive/self_healing.d.ts.map +1 -0
  107. package/dist/cognitive/self_healing.js +174 -0
  108. package/dist/cognitive/self_healing.js.map +1 -0
  109. package/dist/context/harness/cgp_harness.d.ts +4 -1
  110. package/dist/context/harness/cgp_harness.d.ts.map +1 -1
  111. package/dist/context/harness/cgp_harness.js +2 -2
  112. package/dist/context/harness/cgp_harness.js.map +1 -1
  113. package/dist/exchange/exchange_types.d.ts +5 -0
  114. package/dist/exchange/exchange_types.d.ts.map +1 -1
  115. package/dist/exchange/exchange_types.js +5 -0
  116. package/dist/exchange/exchange_types.js.map +1 -1
  117. package/dist/exchange/export.d.ts +2 -2
  118. package/dist/exchange/export.d.ts.map +1 -1
  119. package/dist/exchange/export.js +11 -11
  120. package/dist/exchange/export.js.map +1 -1
  121. package/dist/exchange/import.d.ts +7 -0
  122. package/dist/exchange/import.d.ts.map +1 -1
  123. package/dist/exchange/import.js +119 -103
  124. package/dist/exchange/import.js.map +1 -1
  125. package/dist/execution/stores/egp_stores.js +2 -2
  126. package/dist/execution/stores/egp_stores.js.map +1 -1
  127. package/dist/governance/compliance/erasure_engine.d.ts +3 -0
  128. package/dist/governance/compliance/erasure_engine.d.ts.map +1 -1
  129. package/dist/governance/compliance/erasure_engine.js +102 -35
  130. package/dist/governance/compliance/erasure_engine.js.map +1 -1
  131. package/dist/governance/harness/governance_harness.d.ts +7 -0
  132. package/dist/governance/harness/governance_harness.d.ts.map +1 -1
  133. package/dist/governance/harness/governance_harness.js +18 -10
  134. package/dist/governance/harness/governance_harness.js.map +1 -1
  135. package/dist/governance/stores/governance_stores.d.ts +14 -11
  136. package/dist/governance/stores/governance_stores.d.ts.map +1 -1
  137. package/dist/governance/stores/governance_stores.js +63 -40
  138. package/dist/governance/stores/governance_stores.js.map +1 -1
  139. package/dist/kernel/audit/audit_trail.d.ts +7 -1
  140. package/dist/kernel/audit/audit_trail.d.ts.map +1 -1
  141. package/dist/kernel/audit/audit_trail.js +57 -46
  142. package/dist/kernel/audit/audit_trail.js.map +1 -1
  143. package/dist/kernel/database/database_lifecycle.d.ts.map +1 -1
  144. package/dist/kernel/database/database_lifecycle.js +4 -4
  145. package/dist/kernel/database/database_lifecycle.js.map +1 -1
  146. package/dist/kernel/events/event_bus.d.ts.map +1 -1
  147. package/dist/kernel/events/event_bus.js +28 -21
  148. package/dist/kernel/events/event_bus.js.map +1 -1
  149. package/dist/kernel/index.js +1 -1
  150. package/dist/kernel/index.js.map +1 -1
  151. package/dist/kernel/interfaces/common.d.ts +1 -1
  152. package/dist/kernel/interfaces/common.d.ts.map +1 -1
  153. package/dist/kernel/interfaces/database.d.ts +7 -0
  154. package/dist/kernel/interfaces/database.d.ts.map +1 -1
  155. package/dist/kernel/interfaces/index.d.ts +3 -0
  156. package/dist/kernel/interfaces/index.d.ts.map +1 -1
  157. package/dist/kernel/interfaces/index.js +3 -1
  158. package/dist/kernel/interfaces/index.js.map +1 -1
  159. package/dist/kernel/interfaces/instance_context.d.ts +71 -0
  160. package/dist/kernel/interfaces/instance_context.d.ts.map +1 -0
  161. package/dist/kernel/interfaces/instance_context.js +37 -0
  162. package/dist/kernel/interfaces/instance_context.js.map +1 -0
  163. package/dist/kernel/interfaces/kernel.d.ts +5 -0
  164. package/dist/kernel/interfaces/kernel.d.ts.map +1 -1
  165. package/dist/kernel/interfaces/result_utils.d.ts +19 -0
  166. package/dist/kernel/interfaces/result_utils.d.ts.map +1 -0
  167. package/dist/kernel/interfaces/result_utils.js +22 -0
  168. package/dist/kernel/interfaces/result_utils.js.map +1 -0
  169. package/dist/kernel/rate_limiter/rate_limiter.d.ts +6 -1
  170. package/dist/kernel/rate_limiter/rate_limiter.d.ts.map +1 -1
  171. package/dist/kernel/rate_limiter/rate_limiter.js +11 -3
  172. package/dist/kernel/rate_limiter/rate_limiter.js.map +1 -1
  173. package/dist/kernel/retention/retention_scheduler.d.ts.map +1 -1
  174. package/dist/kernel/retention/retention_scheduler.js +89 -77
  175. package/dist/kernel/retention/retention_scheduler.js.map +1 -1
  176. package/dist/kernel/sql_utils.d.ts +15 -0
  177. package/dist/kernel/sql_utils.d.ts.map +1 -0
  178. package/dist/kernel/sql_utils.js +17 -0
  179. package/dist/kernel/sql_utils.js.map +1 -0
  180. package/dist/kernel/tenant/tenant_scope.d.ts.map +1 -1
  181. package/dist/kernel/tenant/tenant_scope.js +2 -0
  182. package/dist/kernel/tenant/tenant_scope.js.map +1 -1
  183. package/dist/orchestration/budget/budget_governance.d.ts.map +1 -1
  184. package/dist/orchestration/budget/budget_governance.js +19 -2
  185. package/dist/orchestration/budget/budget_governance.js.map +1 -1
  186. package/dist/substrate/transport/adapters/anthropic_adapter.d.ts.map +1 -1
  187. package/dist/substrate/transport/adapters/anthropic_adapter.js +32 -8
  188. package/dist/substrate/transport/adapters/anthropic_adapter.js.map +1 -1
  189. package/dist/substrate/transport/adapters/gemini_adapter.d.ts.map +1 -1
  190. package/dist/substrate/transport/adapters/gemini_adapter.js +26 -4
  191. package/dist/substrate/transport/adapters/gemini_adapter.js.map +1 -1
  192. package/dist/substrate/transport/stream_parser.d.ts.map +1 -1
  193. package/dist/substrate/transport/stream_parser.js +5 -3
  194. package/dist/substrate/transport/stream_parser.js.map +1 -1
  195. package/dist/substrate/transport/transport_engine.js +3 -3
  196. package/dist/substrate/transport/transport_engine.js.map +1 -1
  197. package/dist/sync/hlc/hybrid_logical_clock.d.ts +33 -0
  198. package/dist/sync/hlc/hybrid_logical_clock.d.ts.map +1 -0
  199. package/dist/sync/hlc/hybrid_logical_clock.js +140 -0
  200. package/dist/sync/hlc/hybrid_logical_clock.js.map +1 -0
  201. package/dist/sync/index.d.ts +14 -0
  202. package/dist/sync/index.d.ts.map +1 -0
  203. package/dist/sync/index.js +13 -0
  204. package/dist/sync/index.js.map +1 -0
  205. package/dist/sync/interfaces/sync_types.d.ts +106 -0
  206. package/dist/sync/interfaces/sync_types.d.ts.map +1 -0
  207. package/dist/sync/interfaces/sync_types.js +32 -0
  208. package/dist/sync/interfaces/sync_types.js.map +1 -0
  209. package/dist/sync/stores/sync_event_store.d.ts +44 -0
  210. package/dist/sync/stores/sync_event_store.d.ts.map +1 -0
  211. package/dist/sync/stores/sync_event_store.js +241 -0
  212. package/dist/sync/stores/sync_event_store.js.map +1 -0
  213. package/dist/vector/duplicate_detector.d.ts +41 -0
  214. package/dist/vector/duplicate_detector.d.ts.map +1 -0
  215. package/dist/vector/duplicate_detector.js +95 -0
  216. package/dist/vector/duplicate_detector.js.map +1 -0
  217. package/dist/vector/embedding_queue.d.ts +35 -0
  218. package/dist/vector/embedding_queue.d.ts.map +1 -0
  219. package/dist/vector/embedding_queue.js +121 -0
  220. package/dist/vector/embedding_queue.js.map +1 -0
  221. package/dist/vector/hybrid_ranker.d.ts +41 -0
  222. package/dist/vector/hybrid_ranker.d.ts.map +1 -0
  223. package/dist/vector/hybrid_ranker.js +74 -0
  224. package/dist/vector/hybrid_ranker.js.map +1 -0
  225. package/dist/vector/index.d.ts +13 -0
  226. package/dist/vector/index.d.ts.map +1 -0
  227. package/dist/vector/index.js +9 -0
  228. package/dist/vector/index.js.map +1 -0
  229. package/dist/vector/vector_store.d.ts +43 -0
  230. package/dist/vector/vector_store.d.ts.map +1 -0
  231. package/dist/vector/vector_store.js +186 -0
  232. package/dist/vector/vector_store.js.map +1 -0
  233. package/dist/vector/vector_types.d.ts +93 -0
  234. package/dist/vector/vector_types.d.ts.map +1 -0
  235. package/dist/vector/vector_types.js +28 -0
  236. package/dist/vector/vector_types.js.map +1 -0
  237. package/dist/working-memory/harness/wmp_harness.d.ts +24 -4
  238. package/dist/working-memory/harness/wmp_harness.d.ts.map +1 -1
  239. package/dist/working-memory/harness/wmp_harness.js +39 -11
  240. package/dist/working-memory/harness/wmp_harness.js.map +1 -1
  241. package/dist/working-memory/stores/wmp_stores.d.ts +22 -7
  242. package/dist/working-memory/stores/wmp_stores.d.ts.map +1 -1
  243. package/dist/working-memory/stores/wmp_stores.js +78 -41
  244. package/dist/working-memory/stores/wmp_stores.js.map +1 -1
  245. package/examples/{07-knowledge.ts → advanced/07-knowledge.ts} +2 -2
  246. package/examples/{08-governance-visible.ts → advanced/08-governance-visible.ts} +2 -2
  247. package/examples/{01-remember-recall.ts → knowledge/01-remember-recall.ts} +2 -2
  248. package/examples/{02-search-and-decay.ts → knowledge/02-search-and-decay.ts} +2 -2
  249. package/examples/{03-governance.ts → knowledge/03-governance.ts} +2 -2
  250. package/examples/{01-hello.ts → llm-gateway/01-hello.ts} +1 -1
  251. package/examples/{02-streaming.ts → llm-gateway/02-streaming.ts} +1 -1
  252. package/examples/{03-structured-output.ts → llm-gateway/03-structured-output.ts} +1 -1
  253. package/examples/{04-multi-provider.ts → llm-gateway/04-multi-provider.ts} +1 -1
  254. package/examples/{05-sessions.ts → llm-gateway/05-sessions.ts} +1 -1
  255. package/examples/{06-missions.ts → llm-gateway/06-missions.ts} +1 -1
  256. package/package.json +9 -2
package/CHANGELOG.md CHANGED
@@ -5,6 +5,45 @@ All notable changes to Limen are documented in this file.
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
  Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.0] - 2026-04-03 (THINK)
9
+
10
+ ### Added
11
+ - **Phase 11: Vector Search** — semantic search via `sqlite-vec` (optional dependency). Hybrid search combining FTS5 keyword + vector similarity. Duplicate detection before storage with configurable similarity threshold. Embedding queue with `embedPending()` for batch processing. `embeddingStats()` for monitoring. Falls back to full-text search when `sqlite-vec` is unavailable.
12
+ - **Phase 12: Cognitive Engine** — self-healing retraction cascades (opt-in, disabled by default). Consolidation engine: merge similar claims, archive stale claims, suggest contradiction resolutions with dry-run mode. 5-factor importance scoring (recency, confidence, connections, access, centrality). KNN-based auto-connection suggestions via embedding similarity with accept/reject workflow. Mission-scoped narrative snapshots. External verification provider integration (advisory only, never mutates claims).
13
+ - `limen.semanticSearch(query, options?)` — async semantic search via embedding provider.
14
+ - `limen.checkDuplicate(subject, predicate, value)` — pre-storage duplicate detection.
15
+ - `limen.embedPending()` — process embedding queue for pending claims.
16
+ - `limen.embeddingStats()` — embedding pipeline statistics.
17
+ - `limen.cognitive.consolidate(options?)` — merge, archive, suggest resolutions.
18
+ - `limen.cognitive.importance(claimId, weights?)` — composite importance score.
19
+ - `limen.cognitive.narrative(missionId?)` — knowledge state snapshot.
20
+ - `limen.cognitive.verify(claimId)` — external claim verification (async).
21
+ - `limen.cognitive.suggestConnections(claimId)` — KNN relationship suggestions.
22
+ - `limen.cognitive.acceptSuggestion(id)` / `rejectSuggestion(id)` — suggestion workflow.
23
+ - `selfHealing` configuration: `{ enabled, autoRetractThreshold, maxCascadeDepth }`.
24
+ - `vector` configuration: `{ provider, dimensions }`.
25
+ - Migration v036 (cognitive engine tables: connection_suggestions, consolidation_log).
26
+
27
+ ### Changed
28
+ - **BREAKING:** `SearchOptions.mode` now includes `'semantic' | 'hybrid'` alongside existing `'fulltext'`.
29
+ - **BREAKING:** Major version bump signals cognitive capabilities. No breaking API removals — all v1.x APIs continue to work.
30
+ - `sqlite-vec` added as optional dependency (not required for core functionality).
31
+
32
+ ## [1.5.0] - 2026-04-03 (GOVERN)
33
+
34
+ ### Added
35
+ - **Phase 9: Security Hardening** — PII detection engine with configurable patterns (emails, phone numbers, SSNs, credit cards). Claim content sanitization against prompt injection patterns. FTS5 query injection defense. Subject/predicate URI format validation. Sensitivity levels controlling enforcement (block, redact, log). Consent tracking API (`limen.consent`) with CRUD operations, expiry computation on read, and audit trail on all mutations.
36
+ - **Phase 10: Governance Suite** — Data classification engine with configurable rules. Protected predicate system preventing unauthorized mutation of critical knowledge domains. GDPR Article 17 erasure with cryptographic certificate generation (`limen.governance.erasure()`). SOC 2 Type II audit package export (`limen.governance.exportAudit()`). Classification rule management (`addRule`, `removeRule`, `listRules`). Protected predicate management (`protectPredicate`, `listProtectedPredicates`).
37
+ - `limen.consent.register()` / `revoke()` / `check()` / `list()` — consent lifecycle management.
38
+ - `limen.governance.erasure()` — GDPR erasure with audit certificate.
39
+ - `limen.governance.exportAudit()` — SOC 2 compliance export.
40
+ - `limen.governance.addRule()` / `removeRule()` / `listRules()` — classification rule management.
41
+ - `limen.governance.protectPredicate()` / `listProtectedPredicates()` — predicate access control.
42
+ - Migrations for security tables and governance tables.
43
+
44
+ ### Changed
45
+ - Security controls applied at the claim assertion boundary — PII detection and injection defense run before storage, not after.
46
+
8
47
  ## [1.4.0] - 2026-03-31
9
48
 
10
49
  ### Added
package/README.md CHANGED
@@ -14,31 +14,34 @@
14
14
 
15
15
  # Limen
16
16
 
17
- A governed knowledge engine for AI agents. Beliefs, not data.
17
+ Cognitive infrastructure for AI agents — beliefs that decay, governance that enforces, knowledge that heals itself.
18
18
 
19
19
  ```
20
20
  npm install limen-ai
21
21
  ```
22
22
 
23
- ## Quickstart
23
+ Optional, for semantic/vector search:
24
+
25
+ ```
26
+ npm install sqlite-vec
27
+ ```
28
+
29
+ ## Quick Start
24
30
 
25
31
  ```typescript
26
32
  import { createLimen } from 'limen-ai';
27
33
 
28
34
  const limen = await createLimen();
29
35
 
30
- // Store a belief
31
36
  limen.remember('entity:user:alice', 'preference.food', 'loves Thai food');
32
37
 
33
- // Recall what you know
34
38
  const beliefs = limen.recall('entity:user:alice');
35
39
  if (beliefs.ok) {
36
- console.log(beliefs.value[0].value); // "loves Thai food"
37
- console.log(beliefs.value[0].confidence); // 0.7 (governed ceiling)
40
+ console.log(beliefs.value[0].value); // "loves Thai food"
41
+ console.log(beliefs.value[0].confidence); // 0.7 (governed ceiling)
38
42
  console.log(beliefs.value[0].effectiveConfidence); // decays over time
39
43
  }
40
44
 
41
- // Search across all knowledge
42
45
  const results = limen.search('Thai');
43
46
  if (results.ok) {
44
47
  console.log(results.value[0].belief.value); // "loves Thai food"
@@ -48,11 +51,17 @@ if (results.ok) {
48
51
  await limen.shutdown();
49
52
  ```
50
53
 
51
- `createLimen()` with no arguments auto-detects providers, generates a dev encryption key, and provisions a local SQLite database. Copy, paste, run.
54
+ `createLimen()` with no arguments auto-detects LLM providers, generates a dev encryption key, and provisions a local SQLite database. Copy, paste, run. If no LLM provider is configured, core CRUD (remember, recall, search, forget) works in degraded mode — only cognitive features (chat, infer, verify, narrative) require a provider.
55
+
56
+ ## What Makes Limen Different
57
+
58
+ Most AI memory systems store data — key-value pairs, vector embeddings, chat history. Limen stores **beliefs**.
52
59
 
53
- ## Why Limen
60
+ **Beliefs, not data.** Every claim has a confidence score, a temporal anchor, and a decay curve. A belief stored 90 days ago with no reinforcement is weaker than one stored yesterday. This is computed on every read — nothing is stored. `effectiveConfidence` always reflects the current state of belief.
54
61
 
55
- AI agents accumulate knowledge, but most systems store it as flat data -- key-value pairs, vector embeddings, chat history. Knowledge is not data. Knowledge is belief: it has confidence, it decays without reinforcement, it can be contradicted, retracted, and traced back to evidence. Limen treats knowledge this way. Every belief has a confidence score, a temporal anchor, a decay curve, and a governed lifecycle. The engine does not store facts. It manages beliefs.
62
+ **Governance, not storage.** Auto-extracted claims are capped at 0.7 confidence the `maxAutoConfidence` ceiling prevents confidence laundering. Structural conflict detection flags contradictions on write. Cascade retraction penalizes downstream beliefs when a source is retracted. PII detection blocks sensitive data before it reaches the database. Protected predicates prevent unauthorized mutation of critical knowledge.
63
+
64
+ **Cognition, not retrieval.** The engine consolidates duplicate beliefs, computes importance scores, suggests connections between claims, generates narrative snapshots of knowledge state, and optionally self-heals by auto-retracting derived claims whose parents have decayed below threshold.
56
65
 
57
66
  ## Core API
58
67
 
@@ -60,23 +69,15 @@ AI agents accumulate knowledge, but most systems store it as flat data -- key-va
60
69
  |---|---|
61
70
  | `remember(subject, predicate, value, options?)` | Store a belief with confidence and temporal anchoring |
62
71
  | `remember(text, options?)` | Store a free-text observation (auto-generates subject) |
63
- | `recall(subject?, predicate?, options?)` | Retrieve beliefs, filtered by subject/predicate |
72
+ | `recall(subject?, predicate?, options?)` | Retrieve beliefs, filtered by subject/predicate, with decay applied |
64
73
  | `search(query, options?)` | Full-text search across all beliefs (FTS5 + BM25) |
65
- | `forget(claimId, reason?)` | Retract a belief (governed, audited, never deleted) |
74
+ | `forget(claimId, reason?)` | Retract a belief (governed, audited, never deleted). Reason: `'incorrect'` \| `'superseded'` \| `'expired'` \| `'manual'` (default) |
66
75
  | `connect(claimId1, claimId2, type)` | Relate beliefs: `supports`, `contradicts`, `supersedes`, `derived_from` |
67
76
  | `reflect(entries)` | Batch-store categorized learnings (decisions, patterns, warnings, findings) |
68
- | `promptInstructions()` | Get system prompt text teaching agents how to use Limen |
69
- | `cognitive.health(config?)` | Knowledge health report: freshness, conflicts, gaps, stale domains |
70
-
71
- ## Beliefs That Breathe
72
-
73
- Beliefs decay without reinforcement. Limen uses the FSRS power-decay formula: `R(t) = (1 + t/(9*S))^-1`, where `S` is stability in days (governance claims: 365d, findings: 90d, ephemeral: 7d).
74
77
 
75
78
  ```typescript
76
- // A belief stored 60 days ago with stability=90d (finding)
77
- limen.remember('entity:project:limen', 'finding.performance', 'FTS5 queries <5ms at 10K claims');
78
-
79
- // 60 days later, recall shows decay
79
+ // Beliefs decay without reinforcement (FSRS power-decay)
80
+ // R(t) = (1 + t/(9*S))^-1, where S is stability in days
80
81
  const beliefs = limen.recall('entity:project:limen');
81
82
  if (beliefs.ok) {
82
83
  const b = beliefs.value[0];
@@ -84,42 +85,206 @@ if (beliefs.ok) {
84
85
  console.log(b.effectiveConfidence); // 0.57 (after 60d decay with S=90)
85
86
  console.log(b.freshness); // "stale" | "aging" | "fresh"
86
87
  }
87
- ```
88
-
89
- Effective confidence is computed at query time. Nothing is stored. Recall always reflects the current state of belief.
90
88
 
91
- ## Safety and Governance
92
-
93
- Limen contains wrongness by default. Auto-extracted claims are capped at 0.7 confidence -- the `maxAutoConfidence` ceiling prevents confidence laundering. Structural conflict detection flags contradictions. Cascade retraction penalizes downstream beliefs when a source is retracted.
94
-
95
- ```typescript
96
89
  // Wrongness containment: confidence is capped
97
90
  const r = limen.remember('entity:market:ev', 'size.2025', '$45B', { confidence: 0.95 });
98
- console.log(r.ok && r.value.confidence); // 0.7 (capped, not 0.95)
91
+ // r.value.confidence === 0.7 (capped, not 0.95)
99
92
 
100
- // Conflict detection: contradictions are automatic
93
+ // Conflict detection is automatic
101
94
  limen.remember('entity:market:ev', 'size.2025', '$52B');
102
95
  // ^ creates a 'contradicts' relationship with the first claim
103
96
 
104
- // Cascade retraction: derived beliefs are penalized
97
+ // Batch-store learnings
98
+ limen.reflect([
99
+ { category: 'decision', statement: 'Chose FSRS over exponential decay', confidence: 0.85 },
100
+ { category: 'warning', statement: 'FTS5 trigram index doubles storage', confidence: 0.7 },
101
+ ]);
102
+ ```
103
+
104
+ ## Cognitive API
105
+
106
+ The `cognitive` namespace provides knowledge health diagnostics and active knowledge management.
107
+
108
+ | Method | Description |
109
+ |---|---|
110
+ | `cognitive.health(config?)` | Knowledge health report: freshness distribution, conflicts, gaps, stale domains |
111
+ | `cognitive.consolidate(options?)` | Merge similar claims, archive stale ones, suggest contradiction resolutions |
112
+ | `cognitive.importance(claimId, weights?)` | 5-factor composite importance score for a claim |
113
+ | `cognitive.narrative(missionId?)` | Snapshot of knowledge state — threads, themes, evolution over time |
114
+ | `cognitive.verify(claimId)` | Verify a claim via external provider (async, advisory only) |
115
+ | `cognitive.suggestConnections(claimId)` | KNN-based relationship suggestions via embedding similarity |
116
+ | `cognitive.acceptSuggestion(id)` | Accept a pending connection suggestion |
117
+ | `cognitive.rejectSuggestion(id)` | Reject a pending connection suggestion |
118
+
119
+ ```typescript
120
+ // Knowledge health diagnostics
105
121
  const health = limen.cognitive.health();
106
122
  if (health.ok) {
107
- console.log(health.value.conflicts.unresolved); // 1 active conflict
108
- console.log(health.value.freshness); // { fresh: N, aging: N, stale: N }
123
+ console.log(health.value.totalClaims); // total active claims
124
+ console.log(health.value.freshness); // { fresh: N, aging: N, stale: N }
125
+ console.log(health.value.conflicts.unresolved); // unresolved contradictions
126
+ console.log(health.value.gaps); // predicates with no recent claims
127
+ }
128
+
129
+ // Consolidation: merge duplicates, archive stale, suggest resolutions
130
+ const result = limen.cognitive.consolidate({ dryRun: true });
131
+ if (result.ok) {
132
+ console.log(result.value.merged); // claims merged
133
+ console.log(result.value.archived); // claims archived
134
+ console.log(result.value.suggestedResolutions); // contradiction resolutions
135
+ }
136
+
137
+ // Importance scoring
138
+ const score = limen.cognitive.importance(claimId);
139
+ if (score.ok) {
140
+ console.log(score.value.score); // 0.0-1.0 weighted composite
141
+ console.log(score.value.factors); // { accessFrequency, recency, connectionDensity, confidence, governanceWeight }
142
+ }
143
+
144
+ // Knowledge narrative
145
+ const narrative = limen.cognitive.narrative();
146
+ if (narrative.ok) {
147
+ console.log(narrative.value.threads); // thematic threads across claims
148
+ console.log(narrative.value.momentum); // 'growing' | 'stable' | 'declining'
109
149
  }
110
150
  ```
111
151
 
112
- ## Under the Hood
152
+ ## Governance API
153
+
154
+ Classification, access control, compliance, and audit infrastructure.
113
155
 
114
- 16 system calls. 134 invariants across 3 tiers. 3,400+ tests. 1 production dependency (`better-sqlite3`). Every state mutation is audited in a hash-chained, append-only trail. RBAC on every operation. AES-256-GCM encryption at rest. Tenant isolation at row or database level.
156
+ | Method | Description |
157
+ |---|---|
158
+ | `governance.erasure(request)` | GDPR Article 17 erasure with certificate generation |
159
+ | `governance.exportAudit(options)` | SOC 2 Type II audit package export |
160
+ | `governance.addRule(rule)` | Add a data classification rule |
161
+ | `governance.removeRule(ruleId)` | Remove a classification rule |
162
+ | `governance.listRules()` | List all active classification rules |
163
+ | `governance.protectPredicate(rule)` | Protect a predicate from unauthorized mutation |
164
+ | `governance.listProtectedPredicates()` | List all protected predicate rules |
115
165
 
116
- The governance layer runs whether you configure it or not. The difference between the quickstart and production is explicit configuration -- not a different code path.
166
+ ```typescript
167
+ // GDPR erasure with audit certificate
168
+ const erasure = limen.governance.erasure({
169
+ dataSubjectId: 'user:alice',
170
+ reason: 'Right to erasure request',
171
+ requestedBy: 'dpo@company.com',
172
+ });
173
+ if (erasure.ok) {
174
+ console.log(erasure.value.certificateId); // audit-grade certificate
175
+ console.log(erasure.value.claimsErased); // count
176
+ }
117
177
 
118
- Full trust surface with file-and-line evidence: [docs/proof/readiness.md](docs/proof/readiness.md).
178
+ // Protect critical predicates
179
+ limen.governance.protectPredicate({
180
+ predicatePattern: 'governance.*',
181
+ requiredRole: 'admin',
182
+ description: 'Governance claims require admin role',
183
+ });
184
+
185
+ // SOC 2 audit export
186
+ const audit = limen.governance.exportAudit({
187
+ fromDate: '2026-01-01T00:00:00Z',
188
+ toDate: '2026-04-01T00:00:00Z',
189
+ format: 'json',
190
+ });
191
+ ```
192
+
193
+ ## Security
194
+
195
+ Limen applies security controls before data reaches storage.
196
+
197
+ **PII Detection.** Configurable patterns detect and block or redact PII (emails, phone numbers, SSNs, credit cards) before claims are stored. Detections are logged. Sensitivity levels control enforcement.
198
+
199
+ **Injection Defense.** Claim content is sanitized against prompt injection patterns. SQL injection via FTS5 queries is neutralized. Subject/predicate formats are validated against URI patterns.
200
+
201
+ **Consent Tracking.** CRUD for data subject consent records. Consent status (active, revoked, expired) is computed on read with expiry checks. All mutations produce audit trail entries.
202
+
203
+ **Poisoning Defense.** The `maxAutoConfidence` ceiling (default 0.7) prevents any programmatic source from laundering high-confidence claims. Only human-verified claims via `evidence_path` grounding can exceed the ceiling.
204
+
205
+ ```typescript
206
+ // Consent management
207
+ limen.consent.register({
208
+ dataSubjectId: 'user:alice',
209
+ scope: 'knowledge-storage',
210
+ basis: 'consent',
211
+ expiresAt: '2027-01-01T00:00:00Z',
212
+ });
213
+
214
+ const consent = limen.consent.check('user:alice', 'knowledge-storage');
215
+ // consent.value.status === 'active' | 'revoked' | 'expired'
216
+ ```
217
+
218
+ ## Vector Search
219
+
220
+ Semantic search, hybrid search, and duplicate detection. Requires the optional `sqlite-vec` dependency.
221
+
222
+ ```
223
+ npm install sqlite-vec
224
+ ```
225
+
226
+ ```typescript
227
+ import { createLimen } from 'limen-ai';
228
+
229
+ const limen = await createLimen({
230
+ vector: {
231
+ provider: yourEmbeddingProvider, // (query: string) => Promise<Float32Array>
232
+ dimensions: 384,
233
+ },
234
+ });
235
+
236
+ // Embed pending claims (call after batch inserts)
237
+ await limen.embedPending();
238
+
239
+ // Semantic search — finds conceptually similar beliefs
240
+ const results = await limen.semanticSearch('food preferences');
241
+
242
+ // Hybrid search — combines FTS5 keyword + vector similarity
243
+ const hybrid = limen.search('Thai food', { mode: 'hybrid' });
244
+
245
+ // Duplicate detection before storing
246
+ const dup = await limen.checkDuplicate(
247
+ 'entity:user:alice', 'preference.food', 'loves Thai cuisine'
248
+ );
249
+ if (dup.ok && dup.value.isDuplicate) {
250
+ console.log(dup.value.similarClaimId); // existing claim
251
+ console.log(dup.value.similarity); // 0.0-1.0
252
+ }
253
+
254
+ // Embedding statistics
255
+ const stats = limen.embeddingStats();
256
+ if (stats.ok) {
257
+ console.log(stats.value.totalEmbedded);
258
+ console.log(stats.value.pendingCount);
259
+ }
260
+ ```
261
+
262
+ Without `sqlite-vec`, `semanticSearch()` falls back to full-text search. The core engine functions identically with or without vector capabilities.
263
+
264
+ ## Self-Healing
265
+
266
+ When a parent claim is retracted or decays below threshold, derived claims can be automatically retracted in a cascade. This is opt-in.
267
+
268
+ ```typescript
269
+ const limen = await createLimen({
270
+ selfHealing: {
271
+ enabled: true,
272
+ autoRetractThreshold: 0.1, // retract derived claims when parent drops below this
273
+ maxCascadeDepth: 5, // prevent unbounded recursion
274
+ },
275
+ });
276
+
277
+ // If "entity:source:data" is retracted...
278
+ limen.forget(sourceClaimId, 'incorrect');
279
+ // ...all claims with derived_from relationships to it
280
+ // are auto-retracted if their effective confidence < 0.1
281
+ ```
282
+
283
+ Disabled by default. Existing applications upgrading to v2.0.0 see no behavior changes unless explicitly configured.
119
284
 
120
285
  ## Configuration
121
286
 
122
- All fields are optional when calling `createLimen()` with no arguments (zero-config mode).
287
+ All fields optional. `createLimen()` with no arguments runs in zero-config mode.
123
288
 
124
289
  | Option | Type | Default | Description |
125
290
  |---|---|---|---|
@@ -130,12 +295,52 @@ All fields are optional when calling `createLimen()` with no arguments (zero-con
130
295
  | `tenancy.isolation` | `'row-level' \| 'database'` | `'row-level'` | Multi-tenant isolation strategy |
131
296
  | `cognitive.maxAutoConfidence` | `number` | `0.7` | Confidence ceiling for auto-extracted claims |
132
297
  | `autoConflict` | `boolean` | `true` | Structural conflict detection on assertion |
298
+ | `selfHealing.enabled` | `boolean` | `false` | Auto-retraction cascades (opt-in) |
299
+ | `selfHealing.autoRetractThreshold` | `number` | `0.1` | Effective confidence floor for derived claims |
300
+ | `selfHealing.maxCascadeDepth` | `number` | `5` | Maximum cascade recursion depth |
301
+ | `vector.provider` | `EmbeddingProvider` | `undefined` | Embedding function for semantic search |
302
+ | `vector.dimensions` | `number` | `undefined` | Embedding vector dimensions |
133
303
  | `requireRbac` | `boolean` | `false` | Enforce RBAC on all operations |
134
304
  | `defaultTimeoutMs` | `number` | `60000` | Chat/infer timeout (ms) |
135
305
  | `rateLimiting.apiCallsPerMinute` | `number` | `100` | API rate limit |
136
306
  | `failoverPolicy` | `'degrade' \| 'allow-overdraft' \| 'block'` | `'degrade'` | Provider failure behavior |
137
307
  | `logger` | `(event) => void` | No-op | Structured logging callback |
138
308
 
309
+ ## Architecture
310
+
311
+ ```
312
+ API Surface createLimen(), remember(), recall(), search(), cognitive.*,
313
+ governance.*, consent.*, on(), exportData(), importData()
314
+
315
+ Orchestration Missions, task graphs, budgets, 16 system calls
316
+
317
+ Substrate LLM gateway, transport engine, worker pool
318
+
319
+ Kernel SQLite (WAL), audit trail, RBAC, crypto, events
320
+ ```
321
+
322
+ Layers depend downward only. The kernel knows nothing about AI. The API composes everything into a single frozen `Limen` object via `Object.freeze`.
323
+
324
+ 4,000+ tests. 134+ invariants across 3 tiers. 16 system calls. 1 production dependency (`better-sqlite3`). Every state mutation is audited in a hash-chained, append-only trail. RBAC on every operation. AES-256-GCM encryption at rest.
325
+
326
+ ## Trust Surface
327
+
328
+ What is proven:
329
+
330
+ - Every invariant in [docs/proof/invariants.md](docs/proof/invariants.md) links to a file and line number in the source. CI verifies these references stay fresh.
331
+ - 16 system calls, each with interface, implementation, and dual-path test coverage (success + rejection). Evidence: [docs/proof/system-calls.md](docs/proof/system-calls.md).
332
+ - Security model with 8 mechanisms and 25 declared non-protections. Evidence: [docs/proof/security-model.md](docs/proof/security-model.md).
333
+ - Failure mode defenses with honest accounting. Evidence: [docs/proof/failure-modes.md](docs/proof/failure-modes.md).
334
+
335
+ What is not:
336
+
337
+ - Limen is not a vector database. Semantic search requires an external embedding provider and the optional `sqlite-vec` dependency.
338
+ - Limen does not guarantee real-time performance at scale. SQLite with WAL mode is the foundation — appropriate for single-node deployments with thousands to low millions of claims.
339
+ - The cognitive engine (consolidation, narrative, importance) uses heuristic algorithms, not ML models. Results are deterministic but approximate.
340
+ - Self-healing cascades are opt-in and advisory by design. They retract derived claims but do not rewrite or repair them.
341
+
342
+ Full trust surface with file-and-line evidence: [docs/proof/readiness.md](docs/proof/readiness.md).
343
+
139
344
  ## Installation Troubleshooting
140
345
 
141
346
  Limen depends on `better-sqlite3`, which requires native C++ compilation.
@@ -169,17 +374,6 @@ RUN npm install limen-ai
169
374
 
170
375
  If `npm install` fails with `node-gyp` errors, ensure a C++ toolchain is available. On macOS: `xcode-select --install`. On Linux: `apt install build-essential` or `yum groupinstall "Development Tools"`.
171
376
 
172
- ## Architecture
173
-
174
- ```
175
- API Surface createLimen(), remember(), recall(), search(), cognitive.health()
176
- Orchestration Missions, task graphs, budgets, 16 system calls
177
- Substrate LLM gateway, transport engine, worker pool
178
- Kernel SQLite (WAL), audit trail, RBAC, crypto, events
179
- ```
180
-
181
- Layers depend downward only. The kernel knows nothing about AI. The API composes everything into a single frozen `Limen` object.
182
-
183
377
  ## License
184
378
 
185
379
  [Apache License 2.0](LICENSE)
@@ -1 +1 @@
1
- {"version":3,"file":"chat_pipeline.js","sourceRoot":"","sources":["../../../src/api/chat/chat_pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat_pipeline.js","sourceRoot":"","sources":["../../../src/api/chat/chat_pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAeH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,2DAA2D;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,4CAA4C;AAC5C,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IAEJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAdnB,YACmB,IAAgB,EAChB,WAAwB,EACxB,aAAkC,EAClC,OAAmB,EACnB,aAAuC,EACvC,QAA0B,EAC1B,YAA6B,EAC7B,gBAAwB,EACxB,YAAgC,EAChC,YAAoB,EACpB,eAAiC,EACjC,qBAA6B,OAAO,EACpC,OAAqB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EACxF,OAA0B;QAb1B,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAqB;QAClC,YAAO,GAAP,OAAO,CAAY;QACnB,kBAAa,GAAb,aAAa,CAA0B;QACvC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,iBAAY,GAAZ,YAAY,CAAiB;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,iBAAY,GAAZ,YAAY,CAAoB;QAChC,iBAAY,GAAZ,YAAY,CAAQ;QACpB,oBAAe,GAAf,eAAe,CAAkB;QACjC,uBAAkB,GAAlB,kBAAkB,CAAkB;QACpC,SAAI,GAAJ,IAAI,CAAoF;QACxF,YAAO,GAAP,OAAO,CAAmB;IAC1C,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACH,OAAO,CACL,YAA0B,EAC1B,OAA6B,EAC7B,OAAwC;QAExC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,qBAAqB,CAC/B,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,SAAS,CACvB,CAAC;QAEF,8CAA8C;QAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAE1C,4CAA4C;QAC5C,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAE3D,6BAA6B;QAC7B,qBAAqB,CACnB,YAAY,CAAC,aAAa,CAAC,IAAI,EAC/B,IAAI,CAAC,YAAY,CAAC,oBAAoB,CACvC,CAAC;QAEF,0BAA0B;QAC1B,MAAM,WAAW,GAAgB,OAAO,OAAO,KAAK,QAAQ;YAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YACpC,CAAC,CAAC,OAAO,CAAC;QAEZ,wDAAwD;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,YAAY,GAAG,iBAAiB,EAAE,CAAC;YACrC,MAAM,IAAI,UAAU,CAAC,eAAe,EAClC,yCAAyC,YAAY,YAAY,iBAAiB,gBAAgB,CAAC,CAAC;QACxG,CAAC;QAED,mDAAmD;QACnD,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;QAE5C,wDAAwD;QACxD,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC;QAC9D,MAAM,kBAAkB,GAAG,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhF,oBAAoB;QACpB,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAE9D,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzC,uCAAuC;QACvC,iFAAiF;QACjF,MAAM,WAAW,GAAoB;YACnC,GAAG;YACH,IAAI;YACJ,WAAW;YACX,YAAY;YACZ,SAAS,EAAE,kBAAkB;YAC7B,SAAS;YACT,QAAQ;YACR,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;QAEF,yEAAyE;QACzE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE5F,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,eAAe;SAC1B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,IAAqB;QAK5C,yDAAyD;QACzD,IAAI,WAAmC,CAAC;QACxC,IAAI,UAAkC,CAAC;QACvC,IAAI,eAAqD,CAAC;QAC1D,IAAI,cAAsC,CAAC;QAE3C,MAAM,WAAW,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1D,WAAW,GAAG,OAAO,CAAC;YACtB,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxE,eAAe,GAAG,OAAO,CAAC;YAC1B,cAAc,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC;QAEtB,0DAA0D;QAC1D,MAAM,cAAc,GAA+B;YACjD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,QAAQ,CAAC,WAAW,CACzB,IAAI,EACJ,WAAY,EACZ,UAAW,EACX,eAAgB,EAChB,cAAe,CAChB,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CACjB,IAAqB,EACrB,WAAmC,EACnC,UAAkC,EAClC,eAAqD,EACrD,cAAsC;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,YAAY,GAAiB,MAAM,CAAC;QACxC,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAChD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAEhC,+EAA+E;QAC/E,MAAM,YAAY,GAAuF,EAAE,CAAC;QAE5G;;;WAGG;QACH,SAAS,QAAQ,CACf,SAAuD,EACvD,EAAc;YAEd,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAClC,EAAE,EAAE,CAAC;YACL,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC;QAED;;WAEG;QACH,KAAK,UAAU,aAAa,CAC1B,SAAuD,EACvD,EAAuB;YAEvB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,EAAE,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,gCAAgC;QAChC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,aAAa,GAAyC,IAAI,CAAC;QAE/D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,2BAA2B;QAC3B,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1E,sCAAsC;QACtC,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,yFAAyF;QACzF,MAAM,aAAa,GAAgC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAChE,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,mEAAmE;QACnE,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAwB,IAAI,CAAC;QAC7C,IAAI,UAAU,GAAyC,IAAI,CAAC;QAC5D,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,6CAA6C;QAC7C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,kFAAkF;QAClF,IAAI,kBAAkB,GAAoC,IAAI,CAAC;QAE/D,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC;gBACH,yBAAyB;gBACzB,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9D,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC7C,WAAW,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE/C,4BAA4B;gBAC5B,2EAA2E;gBAC3E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;oBAC1B,+DAA+D;oBAC/D,2EAA2E;gBAC7E,CAAC,CAAC,CAAC;gBAEH,2BAA2B;gBAC3B,gEAAgE;gBAChE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;oBACzB,sEAAsE;oBACtE,2EAA2E;gBAC7E,CAAC,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,2EAA2E;gBAC3E,0EAA0E;gBAC1E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;oBAChC,wCAAwC;oBACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAClE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;wBACtC,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO;wBACjC,UAAU,EAAE,CAAC,EAAE,kCAAkC;qBAClD,CACF,CAAC;oBACF,mDAAmD;oBACnD,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;wBACpB,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;oBAClC,CAAC;oBAED,gFAAgF;oBAChF,iFAAiF;oBACjF,kDAAkD;oBAClD,6EAA6E;oBAC7E,kFAAkF;oBAClF,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;wBAC3D,kBAAkB,GAAG,gBAAgB,CACnC,QAAQ,CAAC,eAAe,EACxB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,YAAY,CAAC,OAAO,EACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAC1B,QAAQ,CAAC,kBAAkB,CAC5B,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,4BAA4B;gBAC5B,6EAA6E;gBAC7E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;oBAC1B,8EAA8E;oBAC9E,0EAA0E;gBAC5E,CAAC,CAAC,CAAC;gBAEH,4BAA4B;gBAC5B,8DAA8D;gBAC9D,MAAM,aAAa,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;oBAC3C,oBAAoB;oBACpB,iFAAiF;oBACjF,yFAAyF;oBACzF,MAAM,UAAU,GAAe;wBAC7B,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;wBAC/D,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;wBACjC,GAAG,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;4BACzE,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,CAAC,mBAAmB,EAAE;4BAC1D,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;oBAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,oCAAoC;wBACpC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CACvD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAChC,CAAC;wBAEF,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;4BACrB,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAAC;wBAC/E,CAAC;wBAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;4BAC7C,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCACnC,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC9D,MAAM;4BACR,CAAC;4BAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gCACnB,KAAK,eAAe;oCAClB,uEAAuE;oCACvE,IAAI,CAAC,mBAAmB,EAAE,CAAC;wCACzB,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC;wCACpC,mBAAmB,GAAG,IAAI,CAAC;oCAC7B,CAAC;oCACD,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC;oCAC3B,6DAA6D;oCAC7D,MAAM,4BAA4B,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oCAClF,MAAM;gCACR,KAAK,OAAO;oCACV,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;oCAChC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;oCAClC,MAAM;gCACR,KAAK,MAAM;oCACT,YAAY,GAAG,KAAK,CAAC,YAA4B,CAAC;oCAClD,MAAM;gCACR,KAAK,OAAO;oCACV,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gCAC5D,KAAK,iBAAiB;oCACpB,wCAAwC;oCACxC,MAAM;4BACV,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,kCAAkC;wBAClC,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CACnD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAChC,CAAC;wBAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;4BACvB,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAAC;wBAC/E,CAAC;wBAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC;wBACtC,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;4BAC/C,CAAC,CAAC,QAAQ,CAAC,OAAO;4BAClB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAoC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAEtH,WAAW,GAAG,IAAI,CAAC;wBACnB,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;wBACzC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;wBAC3C,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;wBACjC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;wBAC3B,YAAY,GAAG,QAAQ,CAAC,YAA4B,CAAC;wBAErD,oEAAoE;wBACpE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC;wBAEpC,kEAAkE;wBAClE,YAAY,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,+EAA+E;gBAC/E,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;oBAC3B,+EAA+E;oBAC/E,8EAA8E;gBAChF,CAAC,CAAC,CAAC;gBAEH,0BAA0B;gBAC1B,mEAAmE;gBACnE,+EAA+E;gBAC/E,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;oBACxB,6CAA6C;oBAC7C,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAC7C,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;wBACtC,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,WAAW;wBACpB,UAAU,EAAE,YAAY;wBACxB,SAAS;qBACV,CACF,CAAC;oBAEF,kEAAkE;oBAClE,wEAAwE;oBACxE,IAAI,CAAC;wBACH,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;wBACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CACX;wDAC0C,EAC1C;4BACE,aAAa;4BACb,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI;4BAClC,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI;4BACjC,IAAI,CAAC,YAAY,CAAC,SAAS;4BAC3B,IAAI,CAAC,YAAY,CAAC,cAAc;4BAChC,IAAI,CAAC,WAAW,CAAC,OAAO;4BACxB,WAAW;4BACX,SAAS;4BACT,WAAW;4BACX,YAAY;4BACZ,cAAc;yBACf,CACF,CAAC;oBACJ,CAAC;oBAAC,OAAO,YAAqB,EAAE,CAAC;wBAC/B,gFAAgF;wBAChF,gFAAgF;wBAChF,IAAI,CAAC;4BACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gCACpC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI;gCAC5C,SAAS,EAAE,QAAQ;gCACnB,OAAO,EAAE,eAAe;gCACxB,SAAS,EAAE,8BAA8B;gCACzC,YAAY,EAAE,aAAa;gCAC3B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc;gCAC5C,MAAM,EAAE;oCACN,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oCAClF,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;iCACvC;6BACF,CAAC,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC,CAAC,yDAAyD,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,4BAA4B;gBAC5B,0CAA0C;gBAC1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;oBAC1B,qFAAqF;oBACrF,iFAAiF;gBACnF,CAAC,CAAC,CAAC;gBAEH,uBAAuB;gBACvB,mDAAmD;gBACnD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;oBACrB,qEAAqE;oBACrE,sEAAsE;gBACxE,CAAC,CAAC,CAAC;gBAEH,kBAAkB;gBAClB,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBAE7C,uBAAuB;gBACvB,WAAW,CAAC,WAAW,CAAC,CAAC;gBAEzB,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC;gBAC3C,MAAM,QAAQ,GAAqB;oBACjC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE;oBAC5B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;oBACtC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc;oBAChD,mDAAmD;oBACnD,UAAU;oBACV,yCAAyC;oBACzC,MAAM;oBACN,OAAO;oBACP,MAAM,EAAE;wBACN,KAAK,EAAE,WAAW;wBAClB,MAAM,EAAE,YAAY;wBACpB,2DAA2D;wBAC3D,IAAI,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,QAAQ;qBAC9C;oBACD,QAAQ,EAAE;wBACR,EAAE,EAAE,UAAU;wBACd,KAAK,EAAE,SAAS;qBACjB;oBACD,0DAA0D;oBAC1D,MAAM,EAAE,YAAY;oBACpB,iBAAiB,EAAG,kBAAsD,EAAE,KAAK,IAAI,CAAC;oBACtF,kBAAkB,EAAG,kBAAsD,EAAE,kBAAkB,IAAI,CAAC;oBACpG,WAAW,EAAE,EAAE;iBAChB,CAAC;gBAEF,mFAAmF;gBACnF,kEAAkE;gBAClE,oEAAoE;gBACpE,MAAM,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;oBAChC,gEAAgE;oBAChE,IAAI,CAAC;wBACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;4BACpC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI;4BAC5C,SAAS,EAAE,QAAQ;4BACnB,OAAO,EAAE,eAAe;4BACxB,SAAS,EAAE,yBAAyB;4BACpC,YAAY,EAAE,UAAU;4BACxB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;4BACvC,MAAM,EAAE;gCACN,SAAS,EAAE,aAAa,CAAC,SAAS;gCAClC,eAAe,EAAE,aAAa,CAAC,eAAe;gCAC9C,cAAc,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM;gCAC/C,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oCAC7C,KAAK,EAAE,CAAC,CAAC,KAAK;oCACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;oCACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oCACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;iCACrB,CAAC,CAAC;6BACJ;yBACF,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;gBAChD,CAAC;gBAED,2DAA2D;gBAC3D,qEAAqE;gBACrE,oEAAoE;gBACpE,sDAAsD;gBACtD,sBAAsB,CACpB,IAAI,CAAC,YAAY,CAAC,SAAS,EAC3B,EAAE,EAAE,6CAA6C;gBACjD,QAAQ,CACT,CAAC;gBAEF,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE1B,kCAAkC;gBAClC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,SAAS,CAAC;oBACpD,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC7C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAC3B,WAAW,EAAE,YAAY,EACzB,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,QAAQ,EAAE,GAAG,CAC7C,CAAC;oBACF,IAAI,MAAM,GAAG,CAAC;wBAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAE5C,6CAA6C;gBAC7C,IAAI,QAAQ,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBACpE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;gBAChF,CAAC;gBAED,mBAAmB;gBACnB,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEtF,oCAAoC;gBACpC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACxB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;oBAAS,CAAC;gBACT,gBAAgB,GAAG,IAAI,CAAC;gBACxB,WAAW;gBACX,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtD,+BAA+B;gBAC/B,IAAI,aAAa,CAAC,EAAE;oBAAE,aAAa,CAAC,EAAE,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,6EAA6E;QAC7E,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAElC;;WAEG;QACH,SAAS,kBAAkB,CAAC,KAAkB;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC,CAAC,2DAA2D;QACxE,CAAC;QAED,SAAS,YAAY,CAAC,KAAkB;YACtC,WAAW,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;gBACrB,aAAa,CAAC,EAAE,EAAE,CAAC;gBACnB,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,KAAK,UAAU,4BAA4B,CAAC,KAAkB;YAC5D,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,qEAAqE;YACrE,IAAI,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;gBACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,oBAAoB,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBACD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,SAAS,eAAe;YACtB,IAAI,UAAU;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YACzC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3B,+DAA+D;gBAC/D,eAAe,CAAC,KAAK,EAAE,CAAC;gBACxB,gBAAgB,GAAG,IAAI,CAAC;gBACxB,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;oBACrB,aAAa,CAAC,EAAE,EAAE,CAAC;oBACnB,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;gBAC1B,CAAC;YACH,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;QAED,+BAA+B;QAC/B,OAAO;YACL,KAAK,CAAC,IAAI;gBACR,mDAAmD;gBACnD,eAAe,EAAE,CAAC;gBAElB,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAChD,iCAAiC;oBACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAClC,aAAa,CAAC,EAAE,GAAG,OAAO,CAAC;oBAC7B,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAG,CAAC;oBAE9B,+CAA+C;oBAC/C,WAAW,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,WAAW,GAAG,CAAC;wBAAE,WAAW,GAAG,CAAC,CAAC;oBAErC,6DAA6D;oBAC7D,IAAI,YAAY,IAAI,WAAW,IAAI,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;wBACzE,YAAY,EAAE,CAAC;wBACf,YAAY,GAAG,IAAI,CAAC;oBACtB,CAAC;oBAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACvC,CAAC;gBAED,oCAAoC;gBACpC,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,EAAE,KAAK,EAAE,SAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3C,CAAC;YAED,KAAK,CAAC,MAAM;gBACV,sDAAsD;gBACtD,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzC,eAAe,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,YAAY,EAAE,CAAC;oBAAC,YAAY,EAAE,CAAC;oBAAC,YAAY,GAAG,IAAI,CAAC;gBAAC,CAAC;gBAC1D,OAAO,EAAE,KAAK,EAAE,SAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3C,CAAC;YAED,KAAK,CAAC,KAAK,CAAC,MAAa;gBACvB,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzC,eAAe,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,YAAY,EAAE,CAAC;oBAAC,YAAY,EAAE,CAAC;oBAAC,YAAY,GAAG,IAAI,CAAC;gBAAC,CAAC;gBAC1D,OAAO,EAAE,KAAK,EAAE,SAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3C,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAwB;QAC5C,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF"}
@@ -1,39 +1,73 @@
1
1
  /**
2
- * Phase 5: Cognitive API Namespace.
2
+ * Phase 5 + Phase 12: Cognitive API Namespace.
3
3
  *
4
4
  * Factory that creates the `limen.cognitive` namespace object.
5
- * Thin delegation layer -- all computation lives in cognitive/health.ts.
5
+ * Thin delegation layer -- all computation lives in cognitive/ modules.
6
6
  *
7
7
  * Spec ref: LIMEN_BUILD_PHASES.md (5.3), PHASE-5-DESIGN-SOURCE.md (Decision 2: Option A)
8
8
  * PA Ruling: limen.cognitive.health() APPROVED (not limen.health.cognitive())
9
9
  *
10
- * Forward-compatible with Phase 12 (Cognitive Engine) which will add:
11
- * - limen.cognitive.consolidate()
12
- * - limen.cognitive.verify()
13
- * - limen.cognitive.narrative()
10
+ * Phase 12 additions:
11
+ * - limen.cognitive.consolidate(options?)
12
+ * - limen.cognitive.verify(claimId)
13
+ * - limen.cognitive.narrative(missionId?)
14
+ * - limen.cognitive.importance(claimId)
15
+ * - limen.cognitive.suggestConnections(claimId)
16
+ * - limen.cognitive.acceptSuggestion(suggestionId)
17
+ * - limen.cognitive.rejectSuggestion(suggestionId)
14
18
  */
15
19
  import type { Result } from '../../kernel/interfaces/index.js';
16
20
  import type { TenantId } from '../../kernel/interfaces/index.js';
17
- import type { DatabaseConnection } from '../../kernel/interfaces/database.js';
21
+ import type { OperationContext } from '../../kernel/interfaces/common.js';
22
+ import type { TenantScopedConnection } from '../../kernel/tenant/tenant_scope.js';
18
23
  import type { TimeProvider } from '../../kernel/interfaces/time.js';
19
24
  import type { FreshnessThresholds } from '../../cognitive/freshness.js';
25
+ import type { StabilityConfig } from '../../cognitive/stability.js';
26
+ import type { RetractClaimHandler, RelateClaimsHandler } from '../../claims/interfaces/claim_types.js';
27
+ import type { VectorStore } from '../../vector/vector_store.js';
28
+ import type { EmbeddingProvider } from '../../vector/vector_types.js';
29
+ import type { ConsolidationOptions, ConsolidationResult, ImportanceScore, ImportanceWeights, NarrativeSnapshot, VerificationResult, VerificationProvider, ConnectionSuggestion, SelfHealingConfig } from '../../cognitive/cognitive_types.js';
20
30
  import { type CognitiveHealthReport, type CognitiveHealthConfig } from '../../cognitive/health.js';
21
31
  /**
22
- * Phase 5: Cognitive API namespace interface.
32
+ * Phase 5 + Phase 12: Cognitive API namespace interface.
23
33
  * Exposed as `limen.cognitive` on the Limen public API.
24
34
  */
25
35
  export interface CognitiveNamespace {
26
36
  /** Phase 5 §5.3: Compute cognitive health report. Synchronous. */
27
37
  health(config?: CognitiveHealthConfig): Result<CognitiveHealthReport>;
38
+ /** Phase 12 §12.6: Run consolidation (merge + archive + suggest resolution). */
39
+ consolidate(options?: ConsolidationOptions): Result<ConsolidationResult>;
40
+ /** Phase 12 §12.7: Verify a claim via external provider. ONLY async method. */
41
+ verify(claimId: string): Promise<Result<VerificationResult>>;
42
+ /** Phase 12 §12.5: Compute narrative snapshot for a mission (or global). */
43
+ narrative(missionId?: string | null): Result<NarrativeSnapshot>;
44
+ /** Phase 12 §12.3: Compute importance score for a claim. */
45
+ importance(claimId: string, weights?: ImportanceWeights): Result<ImportanceScore>;
46
+ /** Phase 12 §12.4: Suggest connections for a claim via embedding similarity. */
47
+ suggestConnections(claimId: string): Promise<Result<ConnectionSuggestion[]>>;
48
+ /** Phase 12: Accept a pending connection suggestion (creates the relationship). */
49
+ acceptSuggestion(suggestionId: string): Result<void>;
50
+ /** Phase 12: Reject a pending connection suggestion. */
51
+ rejectSuggestion(suggestionId: string): Result<void>;
28
52
  }
29
53
  /**
30
54
  * Dependencies for creating the CognitiveNamespace.
55
+ * Extended from Phase 5 with Phase 12 additions.
31
56
  */
32
57
  export interface CognitiveNamespaceDeps {
33
- readonly getConnection: () => DatabaseConnection;
58
+ readonly getConnection: () => TenantScopedConnection;
59
+ readonly getContext: () => OperationContext;
34
60
  readonly getTenantId: () => TenantId | null;
35
61
  readonly time: TimeProvider;
36
62
  readonly freshnessThresholds?: FreshnessThresholds | undefined;
63
+ readonly stabilityConfig?: StabilityConfig | undefined;
64
+ readonly retractClaim?: RetractClaimHandler | undefined;
65
+ readonly relateClaims?: RelateClaimsHandler | undefined;
66
+ readonly vectorStore?: VectorStore | null | undefined;
67
+ readonly embeddingProvider?: EmbeddingProvider | null | undefined;
68
+ readonly verificationProvider?: VerificationProvider | null | undefined;
69
+ readonly selfHealingConfig?: SelfHealingConfig | undefined;
70
+ readonly importanceWeights?: ImportanceWeights | undefined;
37
71
  }
38
72
  /**
39
73
  * Create the CognitiveNamespace object.
@@ -1 +1 @@
1
- {"version":3,"file":"cognitive_api.d.ts","sourceRoot":"","sources":["../../../src/api/cognitive/cognitive_api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAInC;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,MAAM,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,kBAAkB,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAChE;AAcD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,CAoBzF"}
1
+ {"version":3,"file":"cognitive_api.d.ts","sourceRoot":"","sources":["../../../src/api/cognitive/cognitive_api.ts"],"names":[],"mappings":"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"}