limen-ai 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +115 -502
  3. package/dist/api/cognitive/cognitive_api.d.ts +43 -0
  4. package/dist/api/cognitive/cognitive_api.d.ts.map +1 -0
  5. package/dist/api/cognitive/cognitive_api.js +44 -0
  6. package/dist/api/cognitive/cognitive_api.js.map +1 -0
  7. package/dist/api/convenience/convenience_init.d.ts +46 -0
  8. package/dist/api/convenience/convenience_init.d.ts.map +1 -0
  9. package/dist/api/convenience/convenience_init.js +111 -0
  10. package/dist/api/convenience/convenience_init.js.map +1 -0
  11. package/dist/api/convenience/convenience_layer.d.ts +60 -0
  12. package/dist/api/convenience/convenience_layer.d.ts.map +1 -0
  13. package/dist/api/convenience/convenience_layer.js +389 -0
  14. package/dist/api/convenience/convenience_layer.js.map +1 -0
  15. package/dist/api/convenience/convenience_prompt.d.ts +19 -0
  16. package/dist/api/convenience/convenience_prompt.d.ts.map +1 -0
  17. package/dist/api/convenience/convenience_prompt.js +76 -0
  18. package/dist/api/convenience/convenience_prompt.js.map +1 -0
  19. package/dist/api/convenience/convenience_types.d.ts +260 -0
  20. package/dist/api/convenience/convenience_types.d.ts.map +1 -0
  21. package/dist/api/convenience/convenience_types.js +32 -0
  22. package/dist/api/convenience/convenience_types.js.map +1 -0
  23. package/dist/api/facades/claim_api_impl.d.ts +11 -3
  24. package/dist/api/facades/claim_api_impl.d.ts.map +1 -1
  25. package/dist/api/facades/claim_api_impl.js +31 -3
  26. package/dist/api/facades/claim_api_impl.js.map +1 -1
  27. package/dist/api/facades/claim_facade.d.ts +5 -1
  28. package/dist/api/facades/claim_facade.d.ts.map +1 -1
  29. package/dist/api/facades/claim_facade.js +19 -0
  30. package/dist/api/facades/claim_facade.js.map +1 -1
  31. package/dist/api/index.d.ts +1 -1
  32. package/dist/api/index.d.ts.map +1 -1
  33. package/dist/api/index.js +227 -6
  34. package/dist/api/index.js.map +1 -1
  35. package/dist/api/interfaces/api.d.ts +157 -51
  36. package/dist/api/interfaces/api.d.ts.map +1 -1
  37. package/dist/api/migration/028_fts5_search.d.ts +25 -0
  38. package/dist/api/migration/028_fts5_search.d.ts.map +1 -0
  39. package/dist/api/migration/028_fts5_search.js +97 -0
  40. package/dist/api/migration/028_fts5_search.js.map +1 -0
  41. package/dist/api/migration/029_fts5_cjk.d.ts +24 -0
  42. package/dist/api/migration/029_fts5_cjk.d.ts.map +1 -0
  43. package/dist/api/migration/029_fts5_cjk.js +88 -0
  44. package/dist/api/migration/029_fts5_cjk.js.map +1 -0
  45. package/dist/api/migration/030_cognitive_metabolism.d.ts +20 -0
  46. package/dist/api/migration/030_cognitive_metabolism.d.ts.map +1 -0
  47. package/dist/api/migration/030_cognitive_metabolism.js +59 -0
  48. package/dist/api/migration/030_cognitive_metabolism.js.map +1 -0
  49. package/dist/api/migration/031_conflict_index.d.ts +19 -0
  50. package/dist/api/migration/031_conflict_index.d.ts.map +1 -0
  51. package/dist/api/migration/031_conflict_index.js +48 -0
  52. package/dist/api/migration/031_conflict_index.js.map +1 -0
  53. package/dist/api/migration/032_reasoning.d.ts +20 -0
  54. package/dist/api/migration/032_reasoning.d.ts.map +1 -0
  55. package/dist/api/migration/032_reasoning.js +73 -0
  56. package/dist/api/migration/032_reasoning.js.map +1 -0
  57. package/dist/claims/interfaces/claim_types.d.ts +97 -0
  58. package/dist/claims/interfaces/claim_types.d.ts.map +1 -1
  59. package/dist/claims/interfaces/claim_types.js +11 -0
  60. package/dist/claims/interfaces/claim_types.js.map +1 -1
  61. package/dist/claims/store/claim_stores.d.ts.map +1 -1
  62. package/dist/claims/store/claim_stores.js +346 -22
  63. package/dist/claims/store/claim_stores.js.map +1 -1
  64. package/dist/cognitive/access_tracker.d.ts +45 -0
  65. package/dist/cognitive/access_tracker.d.ts.map +1 -0
  66. package/dist/cognitive/access_tracker.js +134 -0
  67. package/dist/cognitive/access_tracker.js.map +1 -0
  68. package/dist/cognitive/cascade.d.ts +55 -0
  69. package/dist/cognitive/cascade.d.ts.map +1 -0
  70. package/dist/cognitive/cascade.js +91 -0
  71. package/dist/cognitive/cascade.js.map +1 -0
  72. package/dist/cognitive/conflict.d.ts +53 -0
  73. package/dist/cognitive/conflict.d.ts.map +1 -0
  74. package/dist/cognitive/conflict.js +50 -0
  75. package/dist/cognitive/conflict.js.map +1 -0
  76. package/dist/cognitive/decay.d.ts +48 -0
  77. package/dist/cognitive/decay.d.ts.map +1 -0
  78. package/dist/cognitive/decay.js +73 -0
  79. package/dist/cognitive/decay.js.map +1 -0
  80. package/dist/cognitive/freshness.d.ts +36 -0
  81. package/dist/cognitive/freshness.d.ts.map +1 -0
  82. package/dist/cognitive/freshness.js +41 -0
  83. package/dist/cognitive/freshness.js.map +1 -0
  84. package/dist/cognitive/health.d.ts +90 -0
  85. package/dist/cognitive/health.d.ts.map +1 -0
  86. package/dist/cognitive/health.js +264 -0
  87. package/dist/cognitive/health.js.map +1 -0
  88. package/dist/cognitive/stability.d.ts +47 -0
  89. package/dist/cognitive/stability.d.ts.map +1 -0
  90. package/dist/cognitive/stability.js +90 -0
  91. package/dist/cognitive/stability.js.map +1 -0
  92. package/dist/exchange/exchange_types.d.ts +133 -0
  93. package/dist/exchange/exchange_types.d.ts.map +1 -0
  94. package/dist/exchange/exchange_types.js +23 -0
  95. package/dist/exchange/exchange_types.js.map +1 -0
  96. package/dist/exchange/export.d.ts +29 -0
  97. package/dist/exchange/export.d.ts.map +1 -0
  98. package/dist/exchange/export.js +192 -0
  99. package/dist/exchange/export.js.map +1 -0
  100. package/dist/exchange/import.d.ts +63 -0
  101. package/dist/exchange/import.d.ts.map +1 -0
  102. package/dist/exchange/import.js +228 -0
  103. package/dist/exchange/import.js.map +1 -0
  104. package/dist/kernel/index.d.ts.map +1 -1
  105. package/dist/kernel/index.js +2 -1
  106. package/dist/kernel/index.js.map +1 -1
  107. package/dist/kernel/interfaces/kernel.d.ts +7 -0
  108. package/dist/kernel/interfaces/kernel.d.ts.map +1 -1
  109. package/dist/kernel/rbac/rbac_engine.d.ts +1 -1
  110. package/dist/kernel/rbac/rbac_engine.d.ts.map +1 -1
  111. package/dist/kernel/rbac/rbac_engine.js +7 -2
  112. package/dist/kernel/rbac/rbac_engine.js.map +1 -1
  113. package/dist/kernel/tenant/tenant_scope.d.ts +19 -1
  114. package/dist/kernel/tenant/tenant_scope.d.ts.map +1 -1
  115. package/dist/kernel/tenant/tenant_scope.js +20 -3
  116. package/dist/kernel/tenant/tenant_scope.js.map +1 -1
  117. package/dist/plugins/plugin_registry.d.ts +89 -0
  118. package/dist/plugins/plugin_registry.d.ts.map +1 -0
  119. package/dist/plugins/plugin_registry.js +303 -0
  120. package/dist/plugins/plugin_registry.js.map +1 -0
  121. package/dist/plugins/plugin_types.d.ts +153 -0
  122. package/dist/plugins/plugin_types.d.ts.map +1 -0
  123. package/dist/plugins/plugin_types.js +42 -0
  124. package/dist/plugins/plugin_types.js.map +1 -0
  125. package/dist/search/search_utils.d.ts +60 -0
  126. package/dist/search/search_utils.d.ts.map +1 -0
  127. package/dist/search/search_utils.js +93 -0
  128. package/dist/search/search_utils.js.map +1 -0
  129. package/examples/01-hello.ts +5 -0
  130. package/examples/01-remember-recall.ts +45 -0
  131. package/examples/02-search-and-decay.ts +66 -0
  132. package/examples/02-streaming.ts +12 -0
  133. package/examples/03-governance.ts +80 -0
  134. package/examples/03-structured-output.ts +30 -0
  135. package/examples/04-multi-provider.ts +50 -0
  136. package/examples/05-sessions.ts +32 -0
  137. package/examples/06-missions.ts +43 -0
  138. package/examples/07-knowledge.ts +73 -0
  139. package/examples/08-governance-visible.ts +42 -0
  140. package/package.json +13 -3
  141. package/dist/api/knowledge/knowledge_api.d.ts +0 -55
  142. package/dist/api/knowledge/knowledge_api.d.ts.map +0 -1
  143. package/dist/api/knowledge/knowledge_api.js +0 -89
  144. package/dist/api/knowledge/knowledge_api.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,54 @@ 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
+ ## [1.4.0] - 2026-03-31
9
+
10
+ ### Added
11
+ - **Structural conflict detection** — auto-creates `contradicts` relationships when new claims conflict with existing same-subject+predicate claims. Contradiction-triggered review for high-confidence (≥0.8) claims.
12
+ - **Cascade retraction** — `derived_from` claims penalized at query-time: 0.5× first-degree, 0.25× second-degree. CONSTITUTIONAL multipliers. Composes with decay: `final = confidence × decay × cascade`.
13
+ - **Retraction reason taxonomy** — `incorrect | superseded | expired | manual`. Validated on retraction.
14
+ - **`requireRbac` config** — when true, all operations require valid agent role. Default: false (backward compatible).
15
+ - **`.raw` access gating** — audit-logged, requires `rawAccessTag` when RBAC active.
16
+ - **`reasoning` column** — optional free-text reasoning on claims, immutable per CCP-I1.
17
+ - **`limen.cognitive.health()`** — CognitiveHealthReport: total claims, freshness distribution, conflict count, confidence stats, gap detection, stale domains.
18
+ - **Gap detection** — identifies predicates with no recent claims.
19
+ - **Stale domain detection** — identifies predicates with no recent access.
20
+ - Migrations v40 (conflict index), v41 (reasoning column).
21
+
22
+ ### Changed
23
+ - `forget()` now accepts typed `reason` parameter from taxonomy.
24
+ - `effectiveConfidence` now includes cascade penalty alongside decay.
25
+ - Search score formula: `effectiveConfidence × BM25` (includes cascade).
26
+
27
+ ## [1.3.0] - 2026-03-31
28
+
29
+ ### Added
30
+ - **Convenience API** (`remember`, `recall`, `forget`, `connect`, `reflect`, `promptInstructions`) — the thesis becomes accessible. 3 lines to store a belief. Full engineering controls: Design Source, Breaker pass, Certifier gate.
31
+ - **FTS5 Full-Text Search** (`search`) — find beliefs by content. Primary index (`unicode61` tokenizer) for Latin/Cyrillic, secondary index (`trigram`) for CJK and substring matching. External content mode (zero data duplication). Tenant-scoped. FTS5 query injection sanitized.
32
+ - **Cognitive Metabolism** — beliefs that breathe. FSRS power-decay formula `R(t) = (1 + t/(9*S))^(-1)` computed on every read, never stored. `effective_confidence` returned alongside raw `confidence`. Freshness classification (Fresh/Aging/Stale). Access tracking with batched flush. `minConfidence` filters by decayed confidence.
33
+ - **Wrongness containment** — `maxAutoConfidence` ceiling (default 0.7) prevents confidence laundering. Auto-extracted claims cannot start above 0.7 unless human-verified via `evidence_path` grounding.
34
+ - **Stability per claim** — predicate-based stability assignment: governance 365d, architectural 180d, finding 90d, warning 30d, ephemeral 7d, preference 120d. Configurable patterns.
35
+ - `retractClaim` on `ClaimApi` — programmatic claim retraction with audit trail.
36
+ - `searchClaims` on `ClaimApi` — programmatic FTS5 search with BM25 ranking.
37
+ - Migrations v37 (FTS5 primary + triggers), v38 (FTS5 CJK trigram + triggers), v39 (cognitive metabolism columns).
38
+ - 235 new tests (3,188 → 3,423). Every test through A21 dual-path (success + rejection).
39
+
40
+ ### Changed
41
+ - npm description updated to "Governed knowledge engine for AI agents."
42
+ - npm keywords expanded for discoverability.
43
+ - `BeliefView` extended with `effectiveConfidence`, `freshness`, `stability`, `lastAccessedAt`, `accessCount`.
44
+ - `SearchResult.score` now uses `effectiveConfidence * BM25` — old claims rank lower than fresh ones.
45
+ - `recall()` and `search()` return decay-aware results by default.
46
+
47
+ ### Removed
48
+ - **Knowledge API stub** (`KnowledgeApi`, `KnowledgeApiImpl`, MCP knowledge tools) — dead code that returned `{ memoriesCreated: 0 }`. Replaced by the convenience API built through full engineering controls.
49
+
50
+ ## [1.2.0] - 2026-03-28
51
+
52
+ ### Added
53
+ - `setDefaultAgent` API for library-mode agent identity.
54
+ - MCP server: session adapter with knowledge tools (subsequently removed in v1.3.0).
55
+
8
56
  ## [1.1.0] - 2026-03-24
9
57
 
10
58
  ### Added