iranti 0.2.2 → 0.2.4

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 (51) hide show
  1. package/README.md +38 -11
  2. package/dist/scripts/iranti-cli.js +525 -50
  3. package/dist/scripts/iranti-mcp.js +1 -1
  4. package/dist/scripts/seed.js +10 -10
  5. package/dist/src/api/server.js +1 -1
  6. package/dist/src/chat/index.d.ts +8 -0
  7. package/dist/src/chat/index.d.ts.map +1 -0
  8. package/dist/src/chat/index.js +565 -0
  9. package/dist/src/chat/index.js.map +1 -0
  10. package/dist/src/lib/llm.d.ts +1 -0
  11. package/dist/src/lib/llm.d.ts.map +1 -1
  12. package/dist/src/lib/llm.js +4 -0
  13. package/dist/src/lib/llm.js.map +1 -1
  14. package/dist/src/lib/router.d.ts.map +1 -1
  15. package/dist/src/lib/router.js +46 -42
  16. package/dist/src/lib/router.js.map +1 -1
  17. package/dist/src/librarian/contextual-conflicts.d.ts +9 -0
  18. package/dist/src/librarian/contextual-conflicts.d.ts.map +1 -0
  19. package/dist/src/librarian/contextual-conflicts.js +243 -0
  20. package/dist/src/librarian/contextual-conflicts.js.map +1 -0
  21. package/dist/src/librarian/index.d.ts.map +1 -1
  22. package/dist/src/librarian/index.js +50 -0
  23. package/dist/src/librarian/index.js.map +1 -1
  24. package/dist/src/library/backends/chromaBackend.d.ts +27 -0
  25. package/dist/src/library/backends/chromaBackend.d.ts.map +1 -0
  26. package/dist/src/library/backends/chromaBackend.js +99 -0
  27. package/dist/src/library/backends/chromaBackend.js.map +1 -0
  28. package/dist/src/library/backends/index.d.ts +15 -0
  29. package/dist/src/library/backends/index.d.ts.map +1 -0
  30. package/dist/src/library/backends/index.js +39 -0
  31. package/dist/src/library/backends/index.js.map +1 -0
  32. package/dist/src/library/backends/pgvectorBackend.d.ts +8 -0
  33. package/dist/src/library/backends/pgvectorBackend.d.ts.map +1 -0
  34. package/dist/src/library/backends/pgvectorBackend.js +128 -0
  35. package/dist/src/library/backends/pgvectorBackend.js.map +1 -0
  36. package/dist/src/library/backends/qdrantBackend.d.ts +21 -0
  37. package/dist/src/library/backends/qdrantBackend.d.ts.map +1 -0
  38. package/dist/src/library/backends/qdrantBackend.js +107 -0
  39. package/dist/src/library/backends/qdrantBackend.js.map +1 -0
  40. package/dist/src/library/queries.d.ts.map +1 -1
  41. package/dist/src/library/queries.js +105 -123
  42. package/dist/src/library/queries.js.map +1 -1
  43. package/dist/src/library/vectorBackend.d.ts +19 -0
  44. package/dist/src/library/vectorBackend.d.ts.map +1 -0
  45. package/dist/src/library/vectorBackend.js +3 -0
  46. package/dist/src/library/vectorBackend.js.map +1 -0
  47. package/dist/src/resolutionist/index.d.ts +8 -0
  48. package/dist/src/resolutionist/index.d.ts.map +1 -0
  49. package/dist/src/resolutionist/index.js +265 -0
  50. package/dist/src/resolutionist/index.js.map +1 -0
  51. package/package.json +2 -1
package/README.md CHANGED
@@ -9,10 +9,10 @@
9
9
 
10
10
  Iranti gives agents persistent, identity-based memory. Facts written by one agent are retrievable by any other agent through exact entity+key lookup. Iranti also supports hybrid search (lexical + vector) when exact keys are unknown. Memory persists across sessions and survives context window limits.
11
11
 
12
- **Latest release:** [`v0.2.0`](https://github.com/nfemmanuel/iranti/releases/tag/v0.2.0)
12
+ **Latest release:** [`v0.2.2`](https://github.com/nfemmanuel/iranti/releases/tag/v0.2.2)
13
13
  Published packages:
14
- - `iranti@0.2.0`
15
- - `@iranti/sdk@0.2.0`
14
+ - `iranti@0.2.2`
15
+ - `@iranti/sdk@0.2.2`
16
16
 
17
17
  ---
18
18
 
@@ -31,6 +31,7 @@ Iranti is a knowledge base for multi-agent systems. The primary read path is ide
31
31
  - **Library**: Active truth store (`knowledge_base`) in PostgreSQL.
32
32
  - **Archive**: Historical/superseded truth store (`archive`) in PostgreSQL.
33
33
  - **Archivist**: Maintenance worker that archives stale/low-confidence facts and processes resolved escalations.
34
+ - **Resolutionist**: Interactive CLI reviewer that guides humans through pending escalation files and writes valid authoritative resolutions.
34
35
 
35
36
  ---
36
37
 
@@ -82,10 +83,10 @@ Iranti now also has an adversarial conflict benchmark that measures contradictio
82
83
  | Suite | Score | Notes |
83
84
  |---|---|---|
84
85
  | **Direct contradiction** | `4/4` | Same entity+key conflicts are explicitly resolved or escalated |
85
- | **Temporal conflict** | `3/4` | One known-failing edge remains |
86
- | **Cascading conflict** | `0/4` | Cross-key contradiction detection not implemented yet |
87
- | **Multi-hop conflict** | `0/4` | Graph-aware conflict reasoning not implemented yet |
88
- | **Total** | `7/16 (44%)` | Honest baseline for the current Librarian |
86
+ | **Temporal conflict** | `4/4` | Equal-score ties now use deterministic temporal tie-breaks |
87
+ | **Cascading conflict** | `4/4` | Deterministic same-entity cross-key contradiction checks |
88
+ | **Multi-hop conflict** | `4/4` | Narrow relationship-aware contradiction checks across related entities |
89
+ | **Total** | `16/16 (100%)` | Current benchmark coverage for the Librarian |
89
90
 
90
91
  Conflict benchmark methodology: [`docs/internal/conflict_benchmark.md`](docs/internal/conflict_benchmark.md)
91
92
 
@@ -212,7 +213,7 @@ The current landscape splits into three buckets:
212
213
  Iranti is strongest today as infrastructure for developers building multi-agent systems who need shared, structured, queryable memory rather than pure semantic recall. The current evidence base is now more concrete than a positioning claim alone:
213
214
 
214
215
  - `16/16` fictional-fact transfer in retrieval validation
215
- - `7/16 (44%)` on an adversarial conflict benchmark
216
+ - `16/16 (100%)` on the current adversarial conflict benchmark
216
217
  - `4/4` on empirical consistency validation for serialized writes and read visibility
217
218
 
218
219
  That is not a claim that multi-agent memory is solved. It is a claim that Iranti now has reproducible evidence for three things at once:
@@ -292,6 +293,7 @@ Security quickstart: [`docs/guides/security-quickstart.md`](docs/guides/security
292
293
  Claude Code guide: [`docs/guides/claude-code.md`](docs/guides/claude-code.md)
293
294
  Codex guide: [`docs/guides/codex.md`](docs/guides/codex.md)
294
295
  Release guide: [`docs/guides/releasing.md`](docs/guides/releasing.md)
296
+ Vector backend guide: [`docs/guides/vector-backends.md`](docs/guides/vector-backends.md)
295
297
 
296
298
  ### Claude Code via MCP
297
299
 
@@ -318,6 +320,28 @@ When `iranti codex-setup` is run from a project directory, it automatically capt
318
320
 
319
321
  Guide: [`docs/guides/codex.md`](docs/guides/codex.md)
320
322
 
323
+ ### Resolve Pending Escalations
324
+
325
+ Review unresolved human-escalation files from the CLI:
326
+
327
+ ```bash
328
+ iranti resolve
329
+ ```
330
+
331
+ Use `--dir` to point at a non-default escalation root. Guide: [`docs/guides/conflict-resolution.md`](docs/guides/conflict-resolution.md)
332
+
333
+ ### Native Chat
334
+
335
+ Start a CLI chat session against the configured Iranti instance:
336
+
337
+ ```bash
338
+ iranti chat
339
+ ```
340
+
341
+ Use `--agent`, `--provider`, and `--model` to pin the session identity and model routing.
342
+ The chat surface now includes slash commands for fact history, relationships, conflict-resolution handoff, and confidence updates in addition to memory search/write operations.
343
+ Guide: [`docs/guides/chat.md`](docs/guides/chat.md)
344
+
321
345
  ---
322
346
 
323
347
  ## Install Strategy (Double Layer)
@@ -438,12 +462,14 @@ Use the CLI doctor command before first run or before a release check:
438
462
  iranti doctor
439
463
  iranti doctor --instance local
440
464
  iranti status
441
- iranti upgrade
465
+ iranti upgrade --check
466
+ iranti upgrade --dry-run
467
+ iranti upgrade --yes
442
468
  ```
443
469
 
444
470
  This validates the active env file, database URL, API key presence, provider selection, and provider-specific credentials.
445
471
  `iranti status` shows the current runtime root, known instances, and local binding files.
446
- `iranti upgrade` prints the supported upgrade commands for npm and Python installs.
472
+ `iranti upgrade` detects repo/global/Python install paths, compares current vs latest published versions, prints the exact plan, and executes the selected upgrade path when you pass `--yes`.
447
473
  `iranti configure ...` updates instance/project credentials without manual env editing.
448
474
  `iranti auth ...` manages registry-backed API keys and can sync them into instance or project bindings.
449
475
 
@@ -687,7 +713,7 @@ middleware.after_receive(
687
713
 
688
714
  ## Architecture
689
715
 
690
- Iranti has four internal components:
716
+ Iranti has five internal components:
691
717
 
692
718
  | Component | Role |
693
719
  |---|---|
@@ -695,6 +721,7 @@ Iranti has four internal components:
695
721
  | **Librarian** | Manages all writes. Detects conflicts, reasons about resolution, escalates when uncertain. |
696
722
  | **Attendant** | Per-agent working memory manager. Implements `attend()`, `observe()`, and `handshake()` APIs. |
697
723
  | **Archivist** | Periodic cleanup. Archives expired and low-confidence entries. Processes human-resolved conflicts. |
724
+ | **Resolutionist** | Interactive CLI helper that walks pending escalation files, writes `AUTHORITATIVE_JSON`, and marks them resolved for the Archivist. |
698
725
 
699
726
  ### REST API
700
727