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.
- package/CHANGELOG.md +39 -0
- package/README.md +245 -51
- package/dist/api/chat/chat_pipeline.js.map +1 -1
- package/dist/api/cognitive/cognitive_api.d.ts +43 -9
- package/dist/api/cognitive/cognitive_api.d.ts.map +1 -1
- package/dist/api/cognitive/cognitive_api.js +182 -7
- package/dist/api/cognitive/cognitive_api.js.map +1 -1
- package/dist/api/convenience/convenience_types.d.ts +9 -3
- package/dist/api/convenience/convenience_types.d.ts.map +1 -1
- package/dist/api/convenience/convenience_types.js.map +1 -1
- package/dist/api/data/data_api.d.ts +13 -0
- package/dist/api/data/data_api.d.ts.map +1 -1
- package/dist/api/data/data_api.js +174 -0
- package/dist/api/data/data_api.js.map +1 -1
- package/dist/api/defaults.d.ts +4 -1
- package/dist/api/defaults.d.ts.map +1 -1
- package/dist/api/defaults.js +4 -11
- package/dist/api/defaults.js.map +1 -1
- package/dist/api/errors/limen_error.d.ts +4 -13
- package/dist/api/errors/limen_error.d.ts.map +1 -1
- package/dist/api/errors/limen_error.js +36 -10
- package/dist/api/errors/limen_error.js.map +1 -1
- package/dist/api/facades/claim_api_impl.d.ts +2 -2
- package/dist/api/facades/claim_api_impl.d.ts.map +1 -1
- package/dist/api/facades/claim_api_impl.js +16 -6
- package/dist/api/facades/claim_api_impl.js.map +1 -1
- package/dist/api/facades/claim_facade.d.ts +1 -1
- package/dist/api/facades/claim_facade.d.ts.map +1 -1
- package/dist/api/facades/claim_facade.js +8 -12
- package/dist/api/facades/claim_facade.js.map +1 -1
- package/dist/api/facades/working_memory_facade.d.ts +1 -1
- package/dist/api/facades/working_memory_facade.d.ts.map +1 -1
- package/dist/api/facades/working_memory_facade.js +6 -9
- package/dist/api/facades/working_memory_facade.js.map +1 -1
- package/dist/api/gateway/permission_gateway.d.ts +96 -0
- package/dist/api/gateway/permission_gateway.d.ts.map +1 -0
- package/dist/api/gateway/permission_gateway.js +341 -0
- package/dist/api/gateway/permission_gateway.js.map +1 -0
- package/dist/api/governance/governed_orchestration.d.ts.map +1 -1
- package/dist/api/governance/governed_orchestration.js +4 -3
- package/dist/api/governance/governed_orchestration.js.map +1 -1
- package/dist/api/index.d.ts +3 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +458 -11
- package/dist/api/index.js.map +1 -1
- package/dist/api/interfaces/api.d.ts +68 -8
- package/dist/api/interfaces/api.d.ts.map +1 -1
- package/dist/api/migration/035_vector_search.d.ts +34 -0
- package/dist/api/migration/035_vector_search.d.ts.map +1 -0
- package/dist/api/migration/035_vector_search.js +108 -0
- package/dist/api/migration/035_vector_search.js.map +1 -0
- package/dist/api/migration/036_cognitive_engine.d.ts +22 -0
- package/dist/api/migration/036_cognitive_engine.d.ts.map +1 -0
- package/dist/api/migration/036_cognitive_engine.js +159 -0
- package/dist/api/migration/036_cognitive_engine.js.map +1 -0
- package/dist/api/migration/037_fts5_retraction_guard.d.ts +21 -0
- package/dist/api/migration/037_fts5_retraction_guard.d.ts.map +1 -0
- package/dist/api/migration/037_fts5_retraction_guard.js +65 -0
- package/dist/api/migration/037_fts5_retraction_guard.js.map +1 -0
- package/dist/api/migration/037_sync_foundation.d.ts +25 -0
- package/dist/api/migration/037_sync_foundation.d.ts.map +1 -0
- package/dist/api/migration/037_sync_foundation.js +113 -0
- package/dist/api/migration/037_sync_foundation.js.map +1 -0
- package/dist/api/missions/mission_api.js +6 -6
- package/dist/api/missions/mission_api.js.map +1 -1
- package/dist/claims/interfaces/claim_types.d.ts +18 -1
- package/dist/claims/interfaces/claim_types.d.ts.map +1 -1
- package/dist/claims/interfaces/claim_types.js.map +1 -1
- package/dist/claims/store/claim_stores.d.ts +7 -2
- package/dist/claims/store/claim_stores.d.ts.map +1 -1
- package/dist/claims/store/claim_stores.js +89 -51
- package/dist/claims/store/claim_stores.js.map +1 -1
- package/dist/cognitive/access_tracker.d.ts +18 -1
- package/dist/cognitive/access_tracker.d.ts.map +1 -1
- package/dist/cognitive/access_tracker.js +19 -6
- package/dist/cognitive/access_tracker.js.map +1 -1
- package/dist/cognitive/auto_connection.d.ts +38 -0
- package/dist/cognitive/auto_connection.d.ts.map +1 -0
- package/dist/cognitive/auto_connection.js +142 -0
- package/dist/cognitive/auto_connection.js.map +1 -0
- package/dist/cognitive/cascade.d.ts +9 -3
- package/dist/cognitive/cascade.d.ts.map +1 -1
- package/dist/cognitive/cascade.js +20 -17
- package/dist/cognitive/cascade.js.map +1 -1
- package/dist/cognitive/cognitive_types.d.ts +185 -0
- package/dist/cognitive/cognitive_types.d.ts.map +1 -0
- package/dist/cognitive/cognitive_types.js +46 -0
- package/dist/cognitive/cognitive_types.js.map +1 -0
- package/dist/cognitive/conflict.d.ts +2 -2
- package/dist/cognitive/conflict.d.ts.map +1 -1
- package/dist/cognitive/conflict.js +10 -3
- package/dist/cognitive/conflict.js.map +1 -1
- package/dist/cognitive/consolidation.d.ts +48 -0
- package/dist/cognitive/consolidation.d.ts.map +1 -0
- package/dist/cognitive/consolidation.js +283 -0
- package/dist/cognitive/consolidation.js.map +1 -0
- package/dist/cognitive/importance.d.ts +43 -0
- package/dist/cognitive/importance.d.ts.map +1 -0
- package/dist/cognitive/importance.js +133 -0
- package/dist/cognitive/importance.js.map +1 -0
- package/dist/cognitive/narrative.d.ts +35 -0
- package/dist/cognitive/narrative.d.ts.map +1 -0
- package/dist/cognitive/narrative.js +184 -0
- package/dist/cognitive/narrative.js.map +1 -0
- package/dist/cognitive/self_healing.d.ts +64 -0
- package/dist/cognitive/self_healing.d.ts.map +1 -0
- package/dist/cognitive/self_healing.js +174 -0
- package/dist/cognitive/self_healing.js.map +1 -0
- package/dist/context/harness/cgp_harness.d.ts +4 -1
- package/dist/context/harness/cgp_harness.d.ts.map +1 -1
- package/dist/context/harness/cgp_harness.js +2 -2
- package/dist/context/harness/cgp_harness.js.map +1 -1
- package/dist/exchange/exchange_types.d.ts +5 -0
- package/dist/exchange/exchange_types.d.ts.map +1 -1
- package/dist/exchange/exchange_types.js +5 -0
- package/dist/exchange/exchange_types.js.map +1 -1
- package/dist/exchange/export.d.ts +2 -2
- package/dist/exchange/export.d.ts.map +1 -1
- package/dist/exchange/export.js +11 -11
- package/dist/exchange/export.js.map +1 -1
- package/dist/exchange/import.d.ts +7 -0
- package/dist/exchange/import.d.ts.map +1 -1
- package/dist/exchange/import.js +119 -103
- package/dist/exchange/import.js.map +1 -1
- package/dist/execution/stores/egp_stores.js +2 -2
- package/dist/execution/stores/egp_stores.js.map +1 -1
- package/dist/governance/compliance/erasure_engine.d.ts +3 -0
- package/dist/governance/compliance/erasure_engine.d.ts.map +1 -1
- package/dist/governance/compliance/erasure_engine.js +102 -35
- package/dist/governance/compliance/erasure_engine.js.map +1 -1
- package/dist/governance/harness/governance_harness.d.ts +7 -0
- package/dist/governance/harness/governance_harness.d.ts.map +1 -1
- package/dist/governance/harness/governance_harness.js +18 -10
- package/dist/governance/harness/governance_harness.js.map +1 -1
- package/dist/governance/stores/governance_stores.d.ts +14 -11
- package/dist/governance/stores/governance_stores.d.ts.map +1 -1
- package/dist/governance/stores/governance_stores.js +63 -40
- package/dist/governance/stores/governance_stores.js.map +1 -1
- package/dist/kernel/audit/audit_trail.d.ts +7 -1
- package/dist/kernel/audit/audit_trail.d.ts.map +1 -1
- package/dist/kernel/audit/audit_trail.js +57 -46
- package/dist/kernel/audit/audit_trail.js.map +1 -1
- package/dist/kernel/database/database_lifecycle.d.ts.map +1 -1
- package/dist/kernel/database/database_lifecycle.js +4 -4
- package/dist/kernel/database/database_lifecycle.js.map +1 -1
- package/dist/kernel/events/event_bus.d.ts.map +1 -1
- package/dist/kernel/events/event_bus.js +28 -21
- package/dist/kernel/events/event_bus.js.map +1 -1
- package/dist/kernel/index.js +1 -1
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/interfaces/common.d.ts +1 -1
- package/dist/kernel/interfaces/common.d.ts.map +1 -1
- package/dist/kernel/interfaces/database.d.ts +7 -0
- package/dist/kernel/interfaces/database.d.ts.map +1 -1
- package/dist/kernel/interfaces/index.d.ts +3 -0
- package/dist/kernel/interfaces/index.d.ts.map +1 -1
- package/dist/kernel/interfaces/index.js +3 -1
- package/dist/kernel/interfaces/index.js.map +1 -1
- package/dist/kernel/interfaces/instance_context.d.ts +71 -0
- package/dist/kernel/interfaces/instance_context.d.ts.map +1 -0
- package/dist/kernel/interfaces/instance_context.js +37 -0
- package/dist/kernel/interfaces/instance_context.js.map +1 -0
- package/dist/kernel/interfaces/kernel.d.ts +5 -0
- package/dist/kernel/interfaces/kernel.d.ts.map +1 -1
- package/dist/kernel/interfaces/result_utils.d.ts +19 -0
- package/dist/kernel/interfaces/result_utils.d.ts.map +1 -0
- package/dist/kernel/interfaces/result_utils.js +22 -0
- package/dist/kernel/interfaces/result_utils.js.map +1 -0
- package/dist/kernel/rate_limiter/rate_limiter.d.ts +6 -1
- package/dist/kernel/rate_limiter/rate_limiter.d.ts.map +1 -1
- package/dist/kernel/rate_limiter/rate_limiter.js +11 -3
- package/dist/kernel/rate_limiter/rate_limiter.js.map +1 -1
- package/dist/kernel/retention/retention_scheduler.d.ts.map +1 -1
- package/dist/kernel/retention/retention_scheduler.js +89 -77
- package/dist/kernel/retention/retention_scheduler.js.map +1 -1
- package/dist/kernel/sql_utils.d.ts +15 -0
- package/dist/kernel/sql_utils.d.ts.map +1 -0
- package/dist/kernel/sql_utils.js +17 -0
- package/dist/kernel/sql_utils.js.map +1 -0
- package/dist/kernel/tenant/tenant_scope.d.ts.map +1 -1
- package/dist/kernel/tenant/tenant_scope.js +2 -0
- package/dist/kernel/tenant/tenant_scope.js.map +1 -1
- package/dist/orchestration/budget/budget_governance.d.ts.map +1 -1
- package/dist/orchestration/budget/budget_governance.js +19 -2
- package/dist/orchestration/budget/budget_governance.js.map +1 -1
- package/dist/substrate/transport/adapters/anthropic_adapter.d.ts.map +1 -1
- package/dist/substrate/transport/adapters/anthropic_adapter.js +32 -8
- package/dist/substrate/transport/adapters/anthropic_adapter.js.map +1 -1
- package/dist/substrate/transport/adapters/gemini_adapter.d.ts.map +1 -1
- package/dist/substrate/transport/adapters/gemini_adapter.js +26 -4
- package/dist/substrate/transport/adapters/gemini_adapter.js.map +1 -1
- package/dist/substrate/transport/stream_parser.d.ts.map +1 -1
- package/dist/substrate/transport/stream_parser.js +5 -3
- package/dist/substrate/transport/stream_parser.js.map +1 -1
- package/dist/substrate/transport/transport_engine.js +3 -3
- package/dist/substrate/transport/transport_engine.js.map +1 -1
- package/dist/sync/hlc/hybrid_logical_clock.d.ts +33 -0
- package/dist/sync/hlc/hybrid_logical_clock.d.ts.map +1 -0
- package/dist/sync/hlc/hybrid_logical_clock.js +140 -0
- package/dist/sync/hlc/hybrid_logical_clock.js.map +1 -0
- package/dist/sync/index.d.ts +14 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +13 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/interfaces/sync_types.d.ts +106 -0
- package/dist/sync/interfaces/sync_types.d.ts.map +1 -0
- package/dist/sync/interfaces/sync_types.js +32 -0
- package/dist/sync/interfaces/sync_types.js.map +1 -0
- package/dist/sync/stores/sync_event_store.d.ts +44 -0
- package/dist/sync/stores/sync_event_store.d.ts.map +1 -0
- package/dist/sync/stores/sync_event_store.js +241 -0
- package/dist/sync/stores/sync_event_store.js.map +1 -0
- package/dist/vector/duplicate_detector.d.ts +41 -0
- package/dist/vector/duplicate_detector.d.ts.map +1 -0
- package/dist/vector/duplicate_detector.js +95 -0
- package/dist/vector/duplicate_detector.js.map +1 -0
- package/dist/vector/embedding_queue.d.ts +35 -0
- package/dist/vector/embedding_queue.d.ts.map +1 -0
- package/dist/vector/embedding_queue.js +121 -0
- package/dist/vector/embedding_queue.js.map +1 -0
- package/dist/vector/hybrid_ranker.d.ts +41 -0
- package/dist/vector/hybrid_ranker.d.ts.map +1 -0
- package/dist/vector/hybrid_ranker.js +74 -0
- package/dist/vector/hybrid_ranker.js.map +1 -0
- package/dist/vector/index.d.ts +13 -0
- package/dist/vector/index.d.ts.map +1 -0
- package/dist/vector/index.js +9 -0
- package/dist/vector/index.js.map +1 -0
- package/dist/vector/vector_store.d.ts +43 -0
- package/dist/vector/vector_store.d.ts.map +1 -0
- package/dist/vector/vector_store.js +186 -0
- package/dist/vector/vector_store.js.map +1 -0
- package/dist/vector/vector_types.d.ts +93 -0
- package/dist/vector/vector_types.d.ts.map +1 -0
- package/dist/vector/vector_types.js +28 -0
- package/dist/vector/vector_types.js.map +1 -0
- package/dist/working-memory/harness/wmp_harness.d.ts +24 -4
- package/dist/working-memory/harness/wmp_harness.d.ts.map +1 -1
- package/dist/working-memory/harness/wmp_harness.js +39 -11
- package/dist/working-memory/harness/wmp_harness.js.map +1 -1
- package/dist/working-memory/stores/wmp_stores.d.ts +22 -7
- package/dist/working-memory/stores/wmp_stores.d.ts.map +1 -1
- package/dist/working-memory/stores/wmp_stores.js +78 -41
- package/dist/working-memory/stores/wmp_stores.js.map +1 -1
- package/examples/{07-knowledge.ts → advanced/07-knowledge.ts} +2 -2
- package/examples/{08-governance-visible.ts → advanced/08-governance-visible.ts} +2 -2
- package/examples/{01-remember-recall.ts → knowledge/01-remember-recall.ts} +2 -2
- package/examples/{02-search-and-decay.ts → knowledge/02-search-and-decay.ts} +2 -2
- package/examples/{03-governance.ts → knowledge/03-governance.ts} +2 -2
- package/examples/{01-hello.ts → llm-gateway/01-hello.ts} +1 -1
- package/examples/{02-streaming.ts → llm-gateway/02-streaming.ts} +1 -1
- package/examples/{03-structured-output.ts → llm-gateway/03-structured-output.ts} +1 -1
- package/examples/{04-multi-provider.ts → llm-gateway/04-multi-provider.ts} +1 -1
- package/examples/{05-sessions.ts → llm-gateway/05-sessions.ts} +1 -1
- package/examples/{06-missions.ts → llm-gateway/06-missions.ts} +1 -1
- 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
|
-
|
|
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
|
-
|
|
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);
|
|
37
|
-
console.log(beliefs.value[0].confidence);
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
77
|
-
|
|
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
|
-
|
|
91
|
+
// r.value.confidence === 0.7 (capped, not 0.95)
|
|
99
92
|
|
|
100
|
-
// Conflict detection
|
|
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
|
-
//
|
|
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.
|
|
108
|
-
console.log(health.value.freshness);
|
|
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
|
-
##
|
|
152
|
+
## Governance API
|
|
153
|
+
|
|
154
|
+
Classification, access control, compliance, and audit infrastructure.
|
|
113
155
|
|
|
114
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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":"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"}
|
|
@@ -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/
|
|
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
|
-
*
|
|
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 {
|
|
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: () =>
|
|
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
|
|
1
|
+
{"version":3,"file":"cognitive_api.d.ts","sourceRoot":"","sources":["../../../src/api/cognitive/cognitive_api.ts"],"names":[],"mappings":"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"}
|