@0xmaxma/claude-gateway 1.7.8 → 1.7.10
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/README.md +11 -3
- package/dist/agent/dreaming/accept.d.ts.map +1 -1
- package/dist/agent/dreaming/accept.js +4 -1
- package/dist/agent/dreaming/accept.js.map +1 -1
- package/dist/agent/dreaming/config.d.ts.map +1 -1
- package/dist/agent/dreaming/config.js +2 -0
- package/dist/agent/dreaming/config.js.map +1 -1
- package/dist/agent/dreaming/reviewer.d.ts.map +1 -1
- package/dist/agent/dreaming/reviewer.js +9 -2
- package/dist/agent/dreaming/reviewer.js.map +1 -1
- package/dist/agent/dreaming/staleness.d.ts +7 -1
- package/dist/agent/dreaming/staleness.d.ts.map +1 -1
- package/dist/agent/dreaming/staleness.js +17 -2
- package/dist/agent/dreaming/staleness.js.map +1 -1
- package/dist/agent/dreaming/types.d.ts +17 -1
- package/dist/agent/dreaming/types.d.ts.map +1 -1
- package/dist/agent/knowledge/archive-db.d.ts +43 -0
- package/dist/agent/knowledge/archive-db.d.ts.map +1 -1
- package/dist/agent/knowledge/archive-db.js +130 -0
- package/dist/agent/knowledge/archive-db.js.map +1 -1
- package/dist/agent/knowledge/config.d.ts +3 -1
- package/dist/agent/knowledge/config.d.ts.map +1 -1
- package/dist/agent/knowledge/config.js +30 -1
- package/dist/agent/knowledge/config.js.map +1 -1
- package/dist/agent/knowledge/index.d.ts +11 -4
- package/dist/agent/knowledge/index.d.ts.map +1 -1
- package/dist/agent/knowledge/index.js +22 -1
- package/dist/agent/knowledge/index.js.map +1 -1
- package/dist/agent/knowledge/indexer.d.ts +0 -7
- package/dist/agent/knowledge/indexer.d.ts.map +1 -1
- package/dist/agent/knowledge/indexer.js +34 -7
- package/dist/agent/knowledge/indexer.js.map +1 -1
- package/dist/agent/knowledge/lifecycle.d.ts +20 -4
- package/dist/agent/knowledge/lifecycle.d.ts.map +1 -1
- package/dist/agent/knowledge/lifecycle.js +33 -4
- package/dist/agent/knowledge/lifecycle.js.map +1 -1
- package/dist/agent/knowledge/reflection.d.ts +114 -0
- package/dist/agent/knowledge/reflection.d.ts.map +1 -0
- package/dist/agent/knowledge/reflection.js +447 -0
- package/dist/agent/knowledge/reflection.js.map +1 -0
- package/dist/agent/knowledge/shared-dedup.d.ts +85 -0
- package/dist/agent/knowledge/shared-dedup.d.ts.map +1 -0
- package/dist/agent/knowledge/shared-dedup.js +187 -0
- package/dist/agent/knowledge/shared-dedup.js.map +1 -0
- package/dist/agent/knowledge/shared-promote.d.ts +82 -7
- package/dist/agent/knowledge/shared-promote.d.ts.map +1 -1
- package/dist/agent/knowledge/shared-promote.js +244 -11
- package/dist/agent/knowledge/shared-promote.js.map +1 -1
- package/dist/agent/knowledge/shared-staleness.d.ts +51 -0
- package/dist/agent/knowledge/shared-staleness.d.ts.map +1 -0
- package/dist/agent/knowledge/shared-staleness.js +149 -0
- package/dist/agent/knowledge/shared-staleness.js.map +1 -0
- package/dist/agent/knowledge/shared-writer.d.ts +19 -0
- package/dist/agent/knowledge/shared-writer.d.ts.map +1 -1
- package/dist/agent/knowledge/shared-writer.js +42 -0
- package/dist/agent/knowledge/shared-writer.js.map +1 -1
- package/dist/agent/knowledge/types.d.ts +24 -0
- package/dist/agent/knowledge/types.d.ts.map +1 -1
- package/dist/agent/runner.d.ts +7 -0
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +106 -16
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/workspace-loader.d.ts +17 -2
- package/dist/agent/workspace-loader.d.ts.map +1 -1
- package/dist/agent/workspace-loader.js +17 -1
- package/dist/agent/workspace-loader.js.map +1 -1
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +2 -1
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/line-webhook-router.d.ts.map +1 -1
- package/dist/api/line-webhook-router.js +7 -15
- package/dist/api/line-webhook-router.js.map +1 -1
- package/dist/api/slack-client.d.ts +25 -2
- package/dist/api/slack-client.d.ts.map +1 -1
- package/dist/api/slack-client.js +102 -0
- package/dist/api/slack-client.js.map +1 -1
- package/dist/api/slack-webhook-router.d.ts +15 -1
- package/dist/api/slack-webhook-router.d.ts.map +1 -1
- package/dist/api/slack-webhook-router.js +128 -1
- package/dist/api/slack-webhook-router.js.map +1 -1
- package/dist/apps/compose-generator.js +7 -4
- package/dist/apps/compose-generator.js.map +1 -1
- package/dist/apps/installer.d.ts +86 -0
- package/dist/apps/installer.d.ts.map +1 -1
- package/dist/apps/installer.js +440 -52
- package/dist/apps/installer.js.map +1 -1
- package/dist/index.js +37 -1
- package/dist/index.js.map +1 -1
- package/dist/session/compactor.d.ts +32 -2
- package/dist/session/compactor.d.ts.map +1 -1
- package/dist/session/compactor.js +134 -19
- package/dist/session/compactor.js.map +1 -1
- package/dist/session/process.d.ts +20 -3
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +120 -5
- package/dist/session/process.js.map +1 -1
- package/dist/shared/image-sniff.d.ts +15 -0
- package/dist/shared/image-sniff.d.ts.map +1 -0
- package/dist/shared/image-sniff.js +29 -0
- package/dist/shared/image-sniff.js.map +1 -0
- package/dist/shell/claude-pty-shell.js +146 -27
- package/dist/shell/claude-pty-shell.js.map +1 -1
- package/dist/shell/draft-phantom.d.ts +49 -0
- package/dist/shell/draft-phantom.d.ts.map +1 -0
- package/dist/shell/draft-phantom.js +59 -0
- package/dist/shell/draft-phantom.js.map +1 -0
- package/dist/shell/submit-diag.d.ts +67 -0
- package/dist/shell/submit-diag.d.ts.map +1 -0
- package/dist/shell/submit-diag.js +69 -0
- package/dist/shell/submit-diag.js.map +1 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/mcp/tools/discord/module.ts +24 -17
- package/mcp/tools/memory/archive-reader.test.ts +25 -1
- package/mcp/tools/memory/archive-reader.ts +70 -12
- package/mcp/tools/memory/archive-writer.test.ts +168 -0
- package/mcp/tools/memory/archive-writer.ts +137 -0
- package/mcp/tools/memory/module.test.ts +187 -0
- package/mcp/tools/memory/module.ts +192 -6
- package/mcp/tools/shared/limits.ts +14 -0
- package/mcp/tools/slack/module.ts +66 -4
- package/mcp/tools/telegram/module.ts +11 -3
- package/mcp/tools/telegram/receiver-server.ts +10 -3
- package/mcp/tools/telegram/typing.ts +178 -34
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -429,7 +429,7 @@ Per-agent overrides are supported under the agent's own `dreaming` block; unset
|
|
|
429
429
|
|
|
430
430
|
- **Deterministic compaction** — before the LLM reviewer, every `auto` run moves completed/terminal log entries out of `MEMORY.md` into `memory/archive/completed.md`, leaving a one-line pointer. It is **domain-agnostic** (not just dev): an entry is archived when its lead line carries an explicit done marker — an UPPERCASE status word (`DONE`, `COMPLETED`, `RESOLVED`, `CLOSED`, `CANCELLED`, `ARCHIVED`, `MERGED`, `SUPERSEDED`, `OBSOLETE`, `DEPRECATED`, `EXPIRED`, `SHIPPED`, `FINISHED`), a checked task box `[x]`, a ✅, or a ~~strikethrough~~ — and it works on both list bullets and `###` entry headers. The archive lives under `memory/` so it is still indexed and **searchable via `memory_search`** — the agent recalls completed work on demand instead of carrying its full changelog in-prompt. It is conservative (uppercase words only, so prose like "Closes #123", "we're not done", or an unchecked `[ ]` box is never archived), idempotent, and never drops an open/active item.
|
|
431
431
|
- **Budget-scaled pruning** — when `MEMORY.md` is over its soft budget, the reviewer is put in an explicit net-shrink mode (propose only length-reducing ops) and `maxChangesPerRun` scales up **for removals** (the add cap stays tight), so an over-budget file converges toward budget instead of trickling at a few edits per night.
|
|
432
|
-
- **Archive staleness GC (`gateway.dreaming.staleness`, planning-66)** — a deterministic pass that runs next to the compactor (auto mode) to keep the Lane-2 archive's **search quality** high. This is a **search-quality fix, not a prompt-budget one**: planning-65 already moved task-log off the injected prompt, so the point here is that `memory_search` should keep surfacing *current* truth instead of stale/superseded facts. Each nightly run **soft-invalidates** archive entries — superseded ones (a deterministic `supersedes/replaces/obsoletes #N` match, which finally populates the previously-inert `supersedes_key`) and aged-out ones (idle-since-last-**retrieval** past `staleTtlDays` and retrieved fewer than `minRetrievalKeep` times) — by **moving** them to `memory/archive/stale.md` and stamping `invalid_at`. It **never deletes**: a staled entry stays under `memory/` so it is still indexed and **searchable** (ยุบได้แต่ไม่ลืม). An entry that is **retrieved after** it was invalidated is **promoted back** to the active archive (the recall feedback loop — proof we aged it out too soon). Recall is fed by an append-only read-path log (`kb_retrieval_log`, gated by `recordRetrievals`) that the GC folds into each entry's `last_retrieved`. High-importance entries (`keepImportance`) and **pinned** files (`memory/pinned/**`) are never aged out; evergreen Lane-1 (`MEMORY.md`/`USER.md`) is structurally excluded. Every move is CAS-guarded with a timestamped backup, and — being a memory-only write — drops **no live session**. Kill-switches: `staleness.enabled:false` (GC no-ops) and `recordRetrievals:false` (age falls back to first-seen only).
|
|
432
|
+
- **Archive staleness GC (`gateway.dreaming.staleness`, planning-66)** — a deterministic pass that runs next to the compactor (auto mode) to keep the Lane-2 archive's **search quality** high. This is a **search-quality fix, not a prompt-budget one**: planning-65 already moved task-log off the injected prompt, so the point here is that `memory_search` should keep surfacing *current* truth instead of stale/superseded facts. Each nightly run **soft-invalidates** archive entries — superseded ones (a deterministic `supersedes/replaces/obsoletes #N` match, which finally populates the previously-inert `supersedes_key`) and aged-out ones (idle-since-last-**retrieval** past `staleTtlDays` and retrieved fewer than `minRetrievalKeep` times) — by **moving** them to `memory/archive/stale.md` and stamping `invalid_at`. It **never deletes**: a staled entry stays under `memory/` so it is still indexed and **searchable** (ยุบได้แต่ไม่ลืม). An entry that is **retrieved after** it was invalidated is **promoted back** to the active archive (the recall feedback loop — proof we aged it out too soon). Recall is fed by an append-only read-path log (`kb_retrieval_log`, gated by `recordRetrievals`) that the GC folds into each entry's `last_retrieved`. High-importance entries (`keepImportance`) and **pinned** files (`memory/pinned/**`) are never aged out; evergreen Lane-1 (`MEMORY.md`/`USER.md`) is structurally excluded. Every move is CAS-guarded with a timestamped backup, and — being a memory-only write — drops **no live session**. One run may soft-invalidate at most `staleness.maxInvalidationsPerRun` entries (default `50`), oldest-idle first, with the remainder resuming on later runs — aging is wall-clock driven, so without a ceiling the first run after anything that widens the GC's visibility (such as backfilling lifecycle rows for previously invisible sources) would relocate every already-expired entry in one night. Restores are never capped. Kill-switches: `staleness.enabled:false` (GC no-ops), `maxInvalidationsPerRun:0` (never invalidates, still restores) and `recordRetrievals:false` (age falls back to first-seen only).
|
|
433
433
|
|
|
434
434
|
### `gateway.knowledge`
|
|
435
435
|
|
|
@@ -448,8 +448,14 @@ Two read-only MCP tools expose it to the agent: **`memory_search`** (keyword/FTS
|
|
|
448
448
|
| `shared.root` | `~/.claude-gateway/shared/kb` | Shared vault root dir (`<root>/<project>/`) |
|
|
449
449
|
| `shared.mode` | `"auto"` | Per-agent→shared promotion mode; `auto` = promote durable dreamed facts, `propose` = dry-run |
|
|
450
450
|
| `shared.graph` | `false` | Compile the memory-wiki graph + dashboards over the shared vault to `<vault>/reports/*.md` (opt-in). Independent of the dashboard **Knowledge base** tab, which computes its graph on-demand |
|
|
451
|
+
| `shared.staleness` | *(object)* | Shared-note TTL lifecycle GC; uses the same fields/defaults as `dreaming.staleness` (whole notes only; no numeric `supersedes #N` syntax) |
|
|
452
|
+
| `reflection.enabled` | `true` | Enable the singleton, per-shared-vault reflection scheduler (daily timer; see cadence note below) |
|
|
453
|
+
| `reflection.dayOfWeek` / `hour` / `minute` / `timezone` | `0` / `4` / `0` / `UTC` | `hour`/`minute` is the **daily** staleness-GC slot; `dayOfWeek` selects the weekday that additionally runs LLM consolidation (Sunday 04:00 UTC by default; invalid timezone falls back to UTC) |
|
|
454
|
+
| `reflection.maxClustersPerRun` / `reviewModel` | `5` / `claude-haiku-4-5-…` | Hard cap on changed linked-note clusters per consolidation run and the bounded synthesis model |
|
|
451
455
|
|
|
452
|
-
**Shared KB.** A shared SQLite/FTS5 vault outside any single agent's workspace lets agents build a common knowledge base. Notes under `<root>/<project>/notes/*.md` are indexed and reachable via `memory_search` with `corpus:"shared"` (the shared vault) or `corpus:"all"` (this agent's memory + shared, merged by relevance). Concurrent writers are safe without a lock — atomic note writes (temp+rename) plus a cross-process `PRAGMA busy_timeout` on the index. Per-agent overrides under the agent's own `knowledge` block. The MCP layer runs under Bun, so the read tools query `kb.sqlite` via `bun:sqlite`.
|
|
456
|
+
**Shared KB.** A shared SQLite/FTS5 vault outside any single agent's workspace lets agents build a common knowledge base. Notes under `<root>/<project>/notes/*.md` are indexed and reachable via `memory_search` with `corpus:"shared"` (the shared vault) or `corpus:"all"` (this agent's memory + shared, merged by relevance). Concurrent writers are safe without a lock — atomic note writes (temp+rename) plus a cross-process `PRAGMA busy_timeout` on the index. Per-agent overrides under the agent's own `knowledge` block. The MCP layer runs under Bun, so the read tools query `kb.sqlite` via `bun:sqlite`. Two write paths feed the vault, sharing one freeform-name namespace (issue #386, no agent-id prefix, no ownership scoping): the nightly dreaming promoter (gated by `mode:"auto"`; it promotes only content that carries a real fact — content that is nothing but `MEMORY.md` index-pointer bullets is skipped, since those links resolve only inside the promoting agent's own workspace — and names each note after the proposal's `topic` slug when the reviewer supplied one, falling back to its `reason`, so a recurring fact updates the same note across nights instead of piling up near-duplicates; a fallback name that reads as an editing instruction rather than the name of a fact is passed over, and the note is named from the fact itself instead — the promotion is only abandoned when nothing nameable remains, and every skip is logged — including a write the note-size cap refuses and an unexpected write failure. A name that doesn't collide is checked against a near-duplicate search, but an unattended **merge** now also requires real token containment against the candidate — below that bar the fact gets its own note, since two notes are recoverable while two unrelated facts fused into one are not. `[[wikilink]]`s to related notes use a lower bar than merges, because a link is additive where a merge is destructive — and they are attached whether the fact merges or lands as a new note, so a note below the merge bar is never a disconnected graph node. Containment is scored against each candidate's full body rather than the matched chunk, though against a capped seed — the bar means "half of the fact's leading topic words are already here", not half of the whole fact. Retired `stale__*` notes are never merge targets; a recurrence of a retired name folds the retired body back in and removes the twin on both the create and the update path, because a retired note stays searchable and a twin beside a live note of the same name would answer every query twice forever. The twin is only dropped once the merged write lands (issue #398)) and the **`memory_shared_create`**/**`memory_shared_get`**/**`memory_shared_update`**/**`memory_shared_delete`** MCP tools, which let any agent create, read, update, or delete any note on demand regardless of `mode`. `memory_shared_create` warns instead of writing when it finds content-similar existing notes (pass `confirm:true` to proceed — related notes get `[[wikilink]]`ed into the new note rather than left disconnected); `memory_shared_update` warns instead of writing when the edit would drop 50%+ of the existing note's lines (same `confirm:true` escape hatch). Immediate reindex after every write or delete.
|
|
457
|
+
|
|
458
|
+
**Shared lifecycle + reflection (issues #392, #398).** Each shared note receives a stable whole-file lifecycle identity during indexing — including notes whose content has not changed since they were first indexed, which are backfilled from their source mtime so their real age is preserved. Its deterministic TTL GC runs **daily**, soft-invalidating aged low-recall notes by moving them to `notes/stale__<name>.md` (never deleting them from the searchable vault); a retrieval after invalidation restores the original active name. Shared `memory_search` and `memory_shared_get` reads feed the same append-only retrieval log as personal archive recall. The singleton reflection scheduler runs **once per resolved shared-vault root**, not once per agent, and fires **daily** at `hour:minute` (a fire that lands a hair early re-arms on the *next* day's slot rather than serving the same one twice): every fire runs the inexpensive TTL GC (no model call), while graph/LLM consolidation runs only on `dayOfWeek` — and even then is skipped when `kb_index_state.revision` has not changed since the prior consolidation. Weekly model spend is therefore unchanged, while a note that is retired and then retrieved returns to the active set within a day instead of up to a week. For changed vaults it clusters only active wikilink-connected notes deterministically, then makes at most `reflection.maxClustersPerRun` bounded reviewer calls to merge genuinely duplicate clusters; related-but-distinct notes remain merely linked.
|
|
453
459
|
|
|
454
460
|
**Knowledge base viewer.** The web dashboard's **Knowledge base** tab renders the shared vault as an Obsidian-style force-directed graph (nodes = notes sized by link degree and coloured by `type`; edges = `[[wiki-links]]`; contradicting claims and stale notes are flagged). It is fed by `GET /knowledge/graph`, which computes the model **on-demand** from the vault (no dependency on `shared.graph` or the nightly reindex). When the vault is empty it shows a clearly-labelled demo dataset (with a size selector for scale testing). A **source** selector switches the graph between the cross-agent Shared KB and any single agent's own Lane-2 memory (`workspace/memory`), a node **search** box filters the graph, and clicking a node opens its full note (fetched via `GET /knowledge/note`) rendered as Markdown below the graph.
|
|
455
461
|
|
|
@@ -625,7 +631,9 @@ While an agent is working, the gateway sends real-time status updates to Telegra
|
|
|
625
631
|
- **Elapsed time** — total time since the agent started working
|
|
626
632
|
- **Auto-cleanup** — status message is deleted when the agent finishes
|
|
627
633
|
|
|
628
|
-
Status updates are sent every 5-10 seconds (first update at 5s, then every 10s).
|
|
634
|
+
Status updates are sent every 5-10 seconds (first update at 5s, then every 10s). A single
|
|
635
|
+
message is **edited in place** for the whole turn; a tick with nothing new to show issues no
|
|
636
|
+
update at all, and the message is replaced only if it is deleted or becomes uneditable.
|
|
629
637
|
|
|
630
638
|
---
|
|
631
639
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/accept.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AAKrE,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,sHAAsH;IACtH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,eAAe,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/accept.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AAKrE,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,sHAAsH;IACtH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,eAAe,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA6BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,GACT,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC,CA2BnD;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAsBlE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EACxB,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,MAAmB,GACvB,YAAY,CAoFd"}
|
|
@@ -85,7 +85,10 @@ function coerceProposal(o) {
|
|
|
85
85
|
return null;
|
|
86
86
|
if ((op === 'replace' || op === 'remove') && !target)
|
|
87
87
|
return null;
|
|
88
|
-
|
|
88
|
+
// A durable `topic` slug (issue #398) is optional and only used as the shared
|
|
89
|
+
// note's identity when promoting; an invalid one is dropped, never fatal.
|
|
90
|
+
const topic = (0, episodic_1.isValidTopicSlug)(o.topic) ? o.topic : undefined;
|
|
91
|
+
return { op, file, tier: 'durable', topic, target, content, reason, score, recallCount };
|
|
89
92
|
}
|
|
90
93
|
/**
|
|
91
94
|
* Ordered proposals for a single run (matched by `ts`), each with its index —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/agent/dreaming/accept.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/agent/dreaming/accept.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1G,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1G,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,EAAE,oBAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAe/B,CAAC;AAsBF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,eAAe,GAC1B,oBAAoB,CAoBtB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,cAAc,GACzB,mBAAmB,CA+BrB"}
|
|
@@ -20,6 +20,7 @@ exports.STALENESS_DEFAULTS = {
|
|
|
20
20
|
minRetrievalKeep: 1,
|
|
21
21
|
supersession: true,
|
|
22
22
|
recordRetrievals: true,
|
|
23
|
+
maxInvalidationsPerRun: 50,
|
|
23
24
|
};
|
|
24
25
|
exports.DREAMING_DEFAULTS = {
|
|
25
26
|
enabled: true,
|
|
@@ -76,6 +77,7 @@ function resolveStalenessConfig(agentCfg, globalCfg) {
|
|
|
76
77
|
minRetrievalKeep: numOr(pick(agentCfg?.minRetrievalKeep, globalCfg?.minRetrievalKeep, d.minRetrievalKeep), d.minRetrievalKeep, 0, Infinity),
|
|
77
78
|
supersession: bool(agentCfg?.supersession, globalCfg?.supersession, d.supersession),
|
|
78
79
|
recordRetrievals: bool(agentCfg?.recordRetrievals, globalCfg?.recordRetrievals, d.recordRetrievals),
|
|
80
|
+
maxInvalidationsPerRun: numOr(pick(agentCfg?.maxInvalidationsPerRun, globalCfg?.maxInvalidationsPerRun, d.maxInvalidationsPerRun), d.maxInvalidationsPerRun, 0, Infinity),
|
|
79
81
|
};
|
|
80
82
|
}
|
|
81
83
|
function resolveDreamingConfig(agentCfg, globalCfg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,KAAK,EAAiB,iBAAiB,EAAa,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEhG,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,KAAK,EAAiB,iBAAiB,EAAa,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEhG,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAoED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAElE;AA2GD,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAWjF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,mBAAmB,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA0C5B"}
|
|
@@ -24,7 +24,7 @@ Rules:
|
|
|
24
24
|
- A run that proposes NOTHING is a valid, good outcome.
|
|
25
25
|
|
|
26
26
|
Respond with STRICT JSON only (no prose, no markdown fences), matching:
|
|
27
|
-
{"summary":"one line describing what this dream found","proposals":[{"op":"add"|"replace"|"remove","file":"MEMORY.md"|"USER.md","target":"substring to match for replace/remove","content":"new text for add/replace","reason":"why","score":0.0-1.0,"recallCount":N}]}
|
|
27
|
+
{"summary":"one line describing what this dream found","proposals":[{"op":"add"|"replace"|"remove","file":"MEMORY.md"|"USER.md","target":"substring to match for replace/remove","content":"new text for add/replace","topic":"<lowercase-kebab-slug naming the FACT>","reason":"why","score":0.0-1.0,"recallCount":N}]}
|
|
28
28
|
|
|
29
29
|
- proposals: [] when nothing is worth changing.
|
|
30
30
|
- "add": provide file + content. "replace": provide file + target (existing substring) + content. "remove": provide file + target.
|
|
@@ -38,7 +38,8 @@ MEMORY TIERS — route each op by what it is:
|
|
|
38
38
|
- DURABLE semantic facts (user preferences, standing rules, identity, hard-won lessons — standing context needed in FUTURE unrelated sessions) → file "MEMORY.md" or "USER.md".
|
|
39
39
|
- EPISODIC task-log (a record of what HAPPENED: completed work, PR/issue status, dated events) → tier "episodic". NEVER put task-log in MEMORY.md.
|
|
40
40
|
- Litmus: "standing context for future unrelated sessions?" → MEMORY.md. "a record of a thing that happened?" → episodic.
|
|
41
|
-
For an EPISODIC op use exactly: {"op":"add","tier":"episodic","topic":"<lowercase-kebab-slug>","content":"...","reason":"...","score":0.0-1.0,"recallCount":N}. topic MUST match ^[a-z0-9-]{1,64}$. Episodic ops are always "add" (never replace/remove). Durable ops keep the "file" form above (no "tier" needed)
|
|
41
|
+
For an EPISODIC op use exactly: {"op":"add","tier":"episodic","topic":"<lowercase-kebab-slug>","content":"...","reason":"...","score":0.0-1.0,"recallCount":N}. topic MUST match ^[a-z0-9-]{1,64}$. Episodic ops are always "add" (never replace/remove). Durable ops keep the "file" form above (no "tier" needed).
|
|
42
|
+
On a durable "add", also set "topic" to a short kebab-slug naming the FACT itself (e.g. "deploy-requires-manual-bootstrap"), matching ^[a-z0-9-]{1,64}$. It names what the fact IS, so the same fact earns the same slug on a later night; "reason" stays free-form and must NOT be an editing instruction like "insert after the cron section".`;
|
|
42
43
|
function buildPrompt(input) {
|
|
43
44
|
const overBudget = typeof input.memoryChars === 'number' &&
|
|
44
45
|
typeof input.memoryBudget === 'number' &&
|
|
@@ -177,10 +178,16 @@ function coerceProposal(raw) {
|
|
|
177
178
|
return null;
|
|
178
179
|
if ((op === 'replace' || op === 'remove') && !target)
|
|
179
180
|
return null;
|
|
181
|
+
// An optional `topic` slug names the fact itself. Used as the shared-note
|
|
182
|
+
// identity when promoting (issue #398) — a far more stable key than `reason`,
|
|
183
|
+
// which is prompted as free-form justification. An invalid slug is dropped
|
|
184
|
+
// rather than rejecting the op: the durable write itself never needs it.
|
|
185
|
+
const durableTopic = (0, episodic_1.isValidTopicSlug)(o['topic']) ? o['topic'] : undefined;
|
|
180
186
|
return {
|
|
181
187
|
op: op,
|
|
182
188
|
file: file,
|
|
183
189
|
tier: 'durable',
|
|
190
|
+
topic: durableTopic,
|
|
184
191
|
target: target === undefined ? undefined : capStr(target),
|
|
185
192
|
content: content === undefined ? undefined : capStr(content),
|
|
186
193
|
reason: typeof o['reason'] === 'string' ? capStr(o['reason']) : '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../../src/agent/dreaming/reviewer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;
|
|
1
|
+
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../../src/agent/dreaming/reviewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,12 +40,18 @@ export interface StalenessResult {
|
|
|
40
40
|
* (idle-past-TTL AND retrieved fewer than `minRetrievalKeep` times).
|
|
41
41
|
* - PROMOTE back any invalidated entry whose `last_retrieved` is newer than its
|
|
42
42
|
* `invalid_at` (it earned its keep after we aged it out).
|
|
43
|
+
*
|
|
44
|
+
* `isEligiblePath` (issue #392 part D) defaults to the personal-archive tier
|
|
45
|
+
* check (`isArchiveTierPath`); the shared-vault GC passes `() => true` since
|
|
46
|
+
* every shared note is lifecycle-eligible (there is no evergreen/pinned
|
|
47
|
+
* distinction there).
|
|
43
48
|
*/
|
|
44
49
|
export declare function decideStaleness(rows: LifecycleRow[], cfg: {
|
|
45
50
|
staleTtlDays: number;
|
|
46
51
|
keepImportance: number;
|
|
47
52
|
minRetrievalKeep: number;
|
|
48
|
-
|
|
53
|
+
maxInvalidationsPerRun?: number;
|
|
54
|
+
}, now: number, isEligiblePath?: (path: string) => boolean): {
|
|
49
55
|
invalidate: LifecycleRow[];
|
|
50
56
|
promote: LifecycleRow[];
|
|
51
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/staleness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASvE,iFAAiF;AACjF,eAAO,MAAM,cAAc,4BAA4B,CAAC;AACxD,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAI9D,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAUD
|
|
1
|
+
{"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/staleness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASvE,iFAAiF;AACjF,eAAO,MAAM,cAAc,4BAA4B,CAAC;AACxD,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAI9D,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAAE,EACpB,GAAG,EAAE;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,EACD,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAA2B,GAC5D;IAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CA6BzD;AAiED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,EACD,IAAI,CAAC,EAAE;IACL,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,CAAC;CAC9C,GACA,eAAe,CAkDjB"}
|
|
@@ -83,8 +83,13 @@ const ZERO = {
|
|
|
83
83
|
* (idle-past-TTL AND retrieved fewer than `minRetrievalKeep` times).
|
|
84
84
|
* - PROMOTE back any invalidated entry whose `last_retrieved` is newer than its
|
|
85
85
|
* `invalid_at` (it earned its keep after we aged it out).
|
|
86
|
+
*
|
|
87
|
+
* `isEligiblePath` (issue #392 part D) defaults to the personal-archive tier
|
|
88
|
+
* check (`isArchiveTierPath`); the shared-vault GC passes `() => true` since
|
|
89
|
+
* every shared note is lifecycle-eligible (there is no evergreen/pinned
|
|
90
|
+
* distinction there).
|
|
86
91
|
*/
|
|
87
|
-
function decideStaleness(rows, cfg, now) {
|
|
92
|
+
function decideStaleness(rows, cfg, now, isEligiblePath = lifecycle_1.isArchiveTierPath) {
|
|
88
93
|
const ttlMs = cfg.staleTtlDays * DAY_MS;
|
|
89
94
|
const invalidate = [];
|
|
90
95
|
const promote = [];
|
|
@@ -92,7 +97,7 @@ function decideStaleness(rows, cfg, now) {
|
|
|
92
97
|
if (r.invalidAt == null) {
|
|
93
98
|
// Structurally exempt: evergreen/pinned never reach here (no lifecycle row),
|
|
94
99
|
// but re-check the path defensively; importance is a non-decaying keep-axis.
|
|
95
|
-
if (!(
|
|
100
|
+
if (!isEligiblePath(r.path))
|
|
96
101
|
continue;
|
|
97
102
|
if ((r.importance ?? 0) >= cfg.keepImportance)
|
|
98
103
|
continue;
|
|
@@ -106,6 +111,16 @@ function decideStaleness(rows, cfg, now) {
|
|
|
106
111
|
promote.push(r);
|
|
107
112
|
}
|
|
108
113
|
}
|
|
114
|
+
// Cap what ONE run may retire (issue #398 review): aging is wall-clock driven,
|
|
115
|
+
// so the first run after the GC's visibility widens would otherwise relocate
|
|
116
|
+
// every already-expired entry in a single night. Oldest-idle first, so the cap
|
|
117
|
+
// defers the freshest candidates rather than an arbitrary slice. Restores are
|
|
118
|
+
// never capped — they only undo an earlier invalidation.
|
|
119
|
+
const cap = cfg.maxInvalidationsPerRun;
|
|
120
|
+
if (cap !== undefined && invalidate.length > cap) {
|
|
121
|
+
invalidate.sort((a, b) => (a.lastRetrieved ?? a.firstSeen) - (b.lastRetrieved ?? b.firstSeen));
|
|
122
|
+
invalidate.length = cap;
|
|
123
|
+
}
|
|
109
124
|
return { invalidate, promote };
|
|
110
125
|
}
|
|
111
126
|
function readOnDisk(filePath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staleness.js","sourceRoot":"","sources":["../../../src/agent/dreaming/staleness.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"staleness.js","sourceRoot":"","sources":["../../../src/agent/dreaming/staleness.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export interface StalenessConfig {
|
|
|
23
23
|
minRetrievalKeep?: number;
|
|
24
24
|
supersession?: boolean;
|
|
25
25
|
recordRetrievals?: boolean;
|
|
26
|
+
maxInvalidationsPerRun?: number;
|
|
26
27
|
}
|
|
27
28
|
/** Fully-resolved staleness config (defaults applied, values sanitized). */
|
|
28
29
|
export interface ResolvedStalenessCfg {
|
|
@@ -32,6 +33,15 @@ export interface ResolvedStalenessCfg {
|
|
|
32
33
|
minRetrievalKeep: number;
|
|
33
34
|
supersession: boolean;
|
|
34
35
|
recordRetrievals: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Ceiling on how many entries ONE run may soft-invalidate (issue #398 review).
|
|
38
|
+
* Ages are wall-clock, so the first run after any change that widens what the
|
|
39
|
+
* GC can see — such as backfilling lifecycle rows for previously invisible
|
|
40
|
+
* sources — would otherwise relocate every already-expired entry at once.
|
|
41
|
+
* Restores (promote-back) are never capped: they only ever undo an earlier
|
|
42
|
+
* invalidation. `0` disables invalidation entirely.
|
|
43
|
+
*/
|
|
44
|
+
maxInvalidationsPerRun: number;
|
|
35
45
|
}
|
|
36
46
|
/** Partial config as it appears under `gateway.dreaming` / a per-agent override. */
|
|
37
47
|
export interface DreamingConfig {
|
|
@@ -90,7 +100,13 @@ export interface DreamProposal {
|
|
|
90
100
|
file?: DreamFile;
|
|
91
101
|
/** Tier this op writes to; absent ⇒ 'durable' (back-compat). */
|
|
92
102
|
tier?: DreamTier;
|
|
93
|
-
/**
|
|
103
|
+
/**
|
|
104
|
+
* Kebab slug (`^[a-z0-9-]{1,64}$`). For `episodic` ops it routes the write to
|
|
105
|
+
* `memory/<topic>.md`. For durable `add`s it is optional and names the FACT,
|
|
106
|
+
* giving shared promotion a stable note identity instead of the free-form
|
|
107
|
+
* `reason` (issue #398). Every non-promotion consumer gates on
|
|
108
|
+
* `tier === 'episodic'` first, so a durable topic never changes local routing.
|
|
109
|
+
*/
|
|
94
110
|
topic?: string;
|
|
95
111
|
/** Substring anchor for `replace`/`remove`. */
|
|
96
112
|
target?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAChD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/C,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,15 @@ export declare class ArchiveDB {
|
|
|
69
69
|
listSourcePaths(): string[];
|
|
70
70
|
/** Current index revision (bumped on every mutation). */
|
|
71
71
|
getRevision(): number;
|
|
72
|
+
/** The weekly reflection pass's watermark (issue #392 part C). */
|
|
73
|
+
getReflectionState(): {
|
|
74
|
+
lastRevision: number;
|
|
75
|
+
lastRunAt: number | null;
|
|
76
|
+
};
|
|
77
|
+
/** Persist the reflection pass's watermark after a run. */
|
|
78
|
+
setReflectionState(lastRevision: number, lastRunAt: number): void;
|
|
79
|
+
/** Source paths whose mtime is strictly newer than `sinceMtime` (issue #392 part C). */
|
|
80
|
+
changedSourcePaths(sinceMtime: number): string[];
|
|
72
81
|
/** Total chunk count (test/introspection helper). */
|
|
73
82
|
chunkCount(): number;
|
|
74
83
|
/** Provenance row for a chunk (test/introspection helper). */
|
|
@@ -104,6 +113,40 @@ export declare class ArchiveDB {
|
|
|
104
113
|
* first. Query tokens are quoted so punctuation can't inject FTS syntax.
|
|
105
114
|
*/
|
|
106
115
|
search(query: string, limit?: number): ArchiveChunkRow[];
|
|
116
|
+
/**
|
|
117
|
+
* OR-based FTS5 near-duplicate search: "is anything like this already here?"
|
|
118
|
+
* Node-side (`node:sqlite`) twin of `findSimilarSharedNotes`'s query shape in
|
|
119
|
+
* `mcp/tools/memory/archive-reader.ts` (Bun/`bun:sqlite`, same on-disk file) —
|
|
120
|
+
* keep the two matching. Unlike `search()` above (implicit AND — every token
|
|
121
|
+
* must match), terms are OR'd and capped at 12: a near-duplicate rarely repeats
|
|
122
|
+
* every single word of the seed text, so an AND match would almost never hit.
|
|
123
|
+
*/
|
|
124
|
+
/**
|
|
125
|
+
* Near-duplicate RECALL: OR the seed's first `maxTerms` tokens and rank by
|
|
126
|
+
* BM25. Loose by construction — a real near-duplicate rarely repeats every
|
|
127
|
+
* word of the seed — so a caller that acts on the result unattended must apply
|
|
128
|
+
* its own precision bar (`filterNearDuplicates`). The nightly promoter passes
|
|
129
|
+
* `SEED_TERM_BUDGET` (16) with a name/content-balanced seed; the Bun-side twin
|
|
130
|
+
* in `mcp/tools/memory/archive-reader.ts` still uses 12 with a raw seed, which
|
|
131
|
+
* is fine because its result is shown to a human who must confirm the write.
|
|
132
|
+
*/
|
|
133
|
+
searchSimilar(seedText: string, limit?: number, maxTerms?: number): ArchiveChunkRow[];
|
|
134
|
+
/**
|
|
135
|
+
* Ensure lifecycle rows exist for a source the indexer did NOT re-chunk
|
|
136
|
+
* (issue #398). `reindexInto` skips unchanged files by content hash and
|
|
137
|
+
* `continue`s before entry blocks are ever computed, so a note that predates
|
|
138
|
+
* the lifecycle feature — or any note untouched since — never got a row, and
|
|
139
|
+
* the staleness GC (which selects only from `kb_entry_lifecycle`) could not
|
|
140
|
+
* see it. A live vault sat at 2 lifecycle rows for 40 indexed notes.
|
|
141
|
+
*
|
|
142
|
+
* `firstSeen` must be the source's mtime, NOT the backfill time: seeding
|
|
143
|
+
* "now" would reset every existing note's age and push any reclamation out by
|
|
144
|
+
* another full `staleTtlDays`. The upsert preserves `first_seen` on conflict,
|
|
145
|
+
* so repeated backfills are idempotent.
|
|
146
|
+
*/
|
|
147
|
+
backfillLifecycle(sourcePath: string, firstSeen: number, blocksFor: () => Array<{
|
|
148
|
+
entryHash: string;
|
|
149
|
+
}>): void;
|
|
107
150
|
/**
|
|
108
151
|
* Close the handle AND drop it from the singleton cache, so a later
|
|
109
152
|
* `forPath(samePath)` opens a fresh handle instead of returning this closed one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive-db.d.ts","sourceRoot":"","sources":["../../../src/agent/knowledge/archive-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAKjB,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,oBAAoB,CAAC;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mFAAmF;IACnF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"archive-db.d.ts","sourceRoot":"","sources":["../../../src/agent/knowledge/archive-db.ts"],"names":[],"mappings":"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"}
|