@remnic/core 9.3.690 → 9.3.691
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/dist/access-boundary.d.ts +5 -5
- package/dist/access-boundary.js +18 -18
- package/dist/access-cli.js +44 -44
- package/dist/access-http.d.ts +5 -5
- package/dist/access-http.js +24 -24
- package/dist/access-mcp.d.ts +5 -5
- package/dist/access-mcp.js +21 -21
- package/dist/access-operations.d.ts +5 -5
- package/dist/access-operations.js +20 -20
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-Dujr3MTm.d.ts → access-service-CKnFdxH-.d.ts} +2 -2
- package/dist/access-service.d.ts +5 -5
- package/dist/access-service.js +17 -17
- package/dist/access-surface-catalog.d.ts +5 -5
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-NUQWSFQD.js → auto-sync-RWXT6P5M.js} +5 -5
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +4 -4
- package/dist/briefing.d.ts +1 -1
- package/dist/briefing.js +5 -5
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer.d.ts +1 -1
- package/dist/calibration.d.ts +1 -1
- package/dist/calibration.js +2 -2
- package/dist/capabilities.d.ts +1 -1
- package/dist/{catalog-CKPtJ114.d.ts → catalog-BEWLjdOr.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +8 -8
- package/dist/{chunk-GTDH3IUH.js → chunk-2D27ODNX.js} +2 -2
- package/dist/{chunk-3K37VPM3.js → chunk-3BRA3N5A.js} +2 -2
- package/dist/{chunk-RTFAZOIR.js → chunk-3VVH6ZQW.js} +2 -2
- package/dist/{chunk-FIVDN2SM.js → chunk-4RGWCRIJ.js} +4 -4
- package/dist/{chunk-AGJH5ISO.js → chunk-5KBNNUXS.js} +2 -2
- package/dist/{chunk-X7RLU5CR.js → chunk-66HROLW5.js} +2 -2
- package/dist/{chunk-NSVXK7M5.js → chunk-7UVDIWLL.js} +4 -4
- package/dist/{chunk-UPIBE2DK.js → chunk-ADUAF5EV.js} +2 -2
- package/dist/{chunk-LLONI6PY.js → chunk-AFWEUTMS.js} +2 -2
- package/dist/{chunk-CWE74HRG.js → chunk-D3DNGQNQ.js} +3 -3
- package/dist/{chunk-ZUDM75KG.js → chunk-DCWIQFNA.js} +4 -4
- package/dist/{chunk-NGFEWFNK.js → chunk-DQHZA7Y3.js} +1 -1
- package/dist/chunk-DQHZA7Y3.js.map +1 -0
- package/dist/{chunk-OBXTMFZQ.js → chunk-ECZPWSB5.js} +2 -2
- package/dist/{chunk-BFVPIKDY.js → chunk-GCOSQBQ2.js} +3 -3
- package/dist/{chunk-LXIEXSHU.js → chunk-IPJD7WJH.js} +2 -2
- package/dist/{chunk-KQAFEZQX.js → chunk-IPLYGWQF.js} +5 -5
- package/dist/{chunk-MDYG7VI7.js → chunk-IREVVFTM.js} +10 -1
- package/dist/{chunk-MDYG7VI7.js.map → chunk-IREVVFTM.js.map} +1 -1
- package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
- package/dist/{chunk-WROKD3XC.js → chunk-K7I24ZO2.js} +24 -24
- package/dist/{chunk-Z7KILAOU.js → chunk-KO6OL4I7.js} +20 -20
- package/dist/{chunk-SB6CQTKP.js → chunk-MCV2DD6F.js} +2 -2
- package/dist/{chunk-3FC6LW6T.js → chunk-MRFVMSTR.js} +2 -2
- package/dist/{chunk-WDXCNJSF.js → chunk-MXZWKOOR.js} +2 -2
- package/dist/{chunk-XKUKJIOY.js → chunk-NCRDCTEJ.js} +7 -7
- package/dist/{chunk-RGNEARXW.js → chunk-NUZ3N445.js} +7 -7
- package/dist/{chunk-CP2NZQLT.js → chunk-OOO7ZKOD.js} +6 -6
- package/dist/{chunk-PHZKALOE.js → chunk-QFG23CRE.js} +2 -2
- package/dist/{chunk-UDJLF3BO.js → chunk-QLRYXOAD.js} +2 -2
- package/dist/{chunk-ZU7N3S6V.js → chunk-QNG35H27.js} +2 -2
- package/dist/{chunk-A4HH2EWA.js → chunk-QVG4LAQO.js} +2 -2
- package/dist/{chunk-54PVJDO5.js → chunk-SAC5V6JT.js} +2 -2
- package/dist/{chunk-CE6CBRCV.js → chunk-TJ5IIQIR.js} +56 -45
- package/dist/chunk-TJ5IIQIR.js.map +1 -0
- package/dist/{chunk-OMKUJTVJ.js → chunk-TSGREOYY.js} +5 -5
- package/dist/{chunk-2N6UNJSX.js → chunk-U2OBZSGG.js} +2 -2
- package/dist/{chunk-BKAMHZYR.js → chunk-UOCLRM74.js} +2 -2
- package/dist/{chunk-A7UZR6RA.js → chunk-UTUYAPLY.js} +14 -1
- package/dist/chunk-UTUYAPLY.js.map +1 -0
- package/dist/{chunk-TYF3D4MS.js → chunk-UUMYB3FR.js} +2 -2
- package/dist/{chunk-CUNTLEJP.js → chunk-VFVG4NS2.js} +30 -9
- package/dist/chunk-VFVG4NS2.js.map +1 -0
- package/dist/{chunk-46URPRE6.js → chunk-VH2DHBHG.js} +2 -2
- package/dist/{chunk-UD5OKH4J.js → chunk-W4ELOUNX.js} +2 -2
- package/dist/{chunk-GR77Z2BM.js → chunk-WIKNVFBS.js} +2 -2
- package/dist/{chunk-67MMWC74.js → chunk-ZLXGFAML.js} +2 -2
- package/dist/{cli-BkDp6WNi.d.ts → cli-CrSW_KRq.d.ts} +3 -3
- package/dist/cli.d.ts +6 -6
- package/dist/cli.js +38 -38
- package/dist/compounding/engine.d.ts +1 -1
- package/dist/compounding/engine.js +5 -5
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +5 -5
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +5 -5
- package/dist/consolidation-provenance-check.d.ts +1 -1
- package/dist/consolidation-undo.d.ts +1 -1
- package/dist/contradiction/index.d.ts +1 -1
- package/dist/contradiction/index.js +4 -4
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/backend.js +2 -2
- package/dist/conversation-index/chunker.d.ts +1 -1
- package/dist/conversation-index/faiss-adapter.d.ts +1 -1
- package/dist/conversation-index/indexer.d.ts +1 -1
- package/dist/conversation-index/search.d.ts +1 -1
- package/dist/day-summary.d.ts +1 -1
- package/dist/delinearize.d.ts +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer.d.ts +1 -1
- package/dist/embedding-fallback.d.ts +1 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +1 -1
- package/dist/entity-retrieval.js +5 -5
- package/dist/entity-schema.d.ts +1 -1
- package/dist/event-time.d.ts +35 -0
- package/dist/event-time.js +325 -0
- package/dist/event-time.js.map +1 -0
- package/dist/explicit-capture.d.ts +4 -4
- package/dist/extraction-judge-telemetry.d.ts +1 -1
- package/dist/extraction-judge-training.d.ts +1 -1
- package/dist/extraction-judge.d.ts +1 -1
- package/dist/extraction-judge.js +3 -3
- package/dist/extraction.d.ts +1 -1
- package/dist/extraction.js +3 -3
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/fallback-llm.js +2 -2
- package/dist/identity-continuity.d.ts +1 -1
- package/dist/importance.d.ts +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +72 -72
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm.d.ts +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +5 -5
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -5
- package/dist/maintenance/rebuild-memory-projection.js +6 -6
- package/dist/mcp-memory-inspector-app.d.ts +5 -5
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-provenance.d.ts +1 -1
- package/dist/memory-worth-outcomes.d.ts +1 -1
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +2 -2
- package/dist/namespaces/migrate.js +10 -10
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +4 -4
- package/dist/namespaces/storage.d.ts +2 -2
- package/dist/namespaces/storage.js +5 -5
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +1 -1
- package/dist/operator-toolkit.js +14 -14
- package/dist/{orchestrator-B7ixmUkP.d.ts → orchestrator-DvswGK76.d.ts} +3 -3
- package/dist/orchestrator.d.ts +4 -4
- package/dist/orchestrator.js +34 -34
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +1 -1
- package/dist/recall-disclosure-escalation.d.ts +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-planner-llm.js +2 -2
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +1 -1
- package/dist/recall-xray.js +2 -2
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +2 -2
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/retrieval-tiers.d.ts +1 -1
- package/dist/routing/engine.d.ts +1 -1
- package/dist/routing/store.d.ts +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +3 -3
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +3 -3
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-CWch5uM7.d.ts → semantic-consolidation-D5U0Mrdb.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +6 -6
- package/dist/semantic-rule-promotion.js +5 -5
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +5 -5
- package/dist/session-observer-bands.d.ts +1 -1
- package/dist/session-observer-state.d.ts +1 -1
- package/dist/shared-context/manager.d.ts +1 -1
- package/dist/signal.d.ts +1 -1
- package/dist/storage.d.ts +3 -1
- package/dist/storage.js +4 -4
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +3 -3
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/temporal-supersession.d.ts +1 -1
- package/dist/temporal-supersession.js +2 -2
- package/dist/temporal-validity.d.ts +22 -2
- package/dist/temporal-validity.js +3 -1
- package/dist/threading.d.ts +1 -1
- package/dist/tier-migration.d.ts +1 -1
- package/dist/tier-routing.d.ts +1 -1
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +1 -1
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/{types-Dm5xxVrr.d.ts → types-2NoBoRBM.d.ts} +38 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +5 -5
- package/package.json +2 -2
- package/src/bitemporal-frontmatter.test.ts +177 -0
- package/src/config.ts +13 -0
- package/src/event-time.test.ts +514 -0
- package/src/event-time.ts +548 -0
- package/src/orchestrator.ts +27 -1
- package/src/storage.ts +34 -0
- package/src/temporal-validity.ts +34 -0
- package/src/types.ts +38 -0
- package/dist/chunk-A7UZR6RA.js.map +0 -1
- package/dist/chunk-CE6CBRCV.js.map +0 -1
- package/dist/chunk-CUNTLEJP.js.map +0 -1
- package/dist/chunk-NGFEWFNK.js.map +0 -1
- /package/dist/{auto-sync-NUQWSFQD.js.map → auto-sync-RWXT6P5M.js.map} +0 -0
- /package/dist/{chunk-GTDH3IUH.js.map → chunk-2D27ODNX.js.map} +0 -0
- /package/dist/{chunk-3K37VPM3.js.map → chunk-3BRA3N5A.js.map} +0 -0
- /package/dist/{chunk-RTFAZOIR.js.map → chunk-3VVH6ZQW.js.map} +0 -0
- /package/dist/{chunk-FIVDN2SM.js.map → chunk-4RGWCRIJ.js.map} +0 -0
- /package/dist/{chunk-AGJH5ISO.js.map → chunk-5KBNNUXS.js.map} +0 -0
- /package/dist/{chunk-X7RLU5CR.js.map → chunk-66HROLW5.js.map} +0 -0
- /package/dist/{chunk-NSVXK7M5.js.map → chunk-7UVDIWLL.js.map} +0 -0
- /package/dist/{chunk-UPIBE2DK.js.map → chunk-ADUAF5EV.js.map} +0 -0
- /package/dist/{chunk-LLONI6PY.js.map → chunk-AFWEUTMS.js.map} +0 -0
- /package/dist/{chunk-CWE74HRG.js.map → chunk-D3DNGQNQ.js.map} +0 -0
- /package/dist/{chunk-ZUDM75KG.js.map → chunk-DCWIQFNA.js.map} +0 -0
- /package/dist/{chunk-OBXTMFZQ.js.map → chunk-ECZPWSB5.js.map} +0 -0
- /package/dist/{chunk-BFVPIKDY.js.map → chunk-GCOSQBQ2.js.map} +0 -0
- /package/dist/{chunk-LXIEXSHU.js.map → chunk-IPJD7WJH.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-IPLYGWQF.js.map} +0 -0
- /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
- /package/dist/{chunk-WROKD3XC.js.map → chunk-K7I24ZO2.js.map} +0 -0
- /package/dist/{chunk-Z7KILAOU.js.map → chunk-KO6OL4I7.js.map} +0 -0
- /package/dist/{chunk-SB6CQTKP.js.map → chunk-MCV2DD6F.js.map} +0 -0
- /package/dist/{chunk-3FC6LW6T.js.map → chunk-MRFVMSTR.js.map} +0 -0
- /package/dist/{chunk-WDXCNJSF.js.map → chunk-MXZWKOOR.js.map} +0 -0
- /package/dist/{chunk-XKUKJIOY.js.map → chunk-NCRDCTEJ.js.map} +0 -0
- /package/dist/{chunk-RGNEARXW.js.map → chunk-NUZ3N445.js.map} +0 -0
- /package/dist/{chunk-CP2NZQLT.js.map → chunk-OOO7ZKOD.js.map} +0 -0
- /package/dist/{chunk-PHZKALOE.js.map → chunk-QFG23CRE.js.map} +0 -0
- /package/dist/{chunk-UDJLF3BO.js.map → chunk-QLRYXOAD.js.map} +0 -0
- /package/dist/{chunk-ZU7N3S6V.js.map → chunk-QNG35H27.js.map} +0 -0
- /package/dist/{chunk-A4HH2EWA.js.map → chunk-QVG4LAQO.js.map} +0 -0
- /package/dist/{chunk-54PVJDO5.js.map → chunk-SAC5V6JT.js.map} +0 -0
- /package/dist/{chunk-OMKUJTVJ.js.map → chunk-TSGREOYY.js.map} +0 -0
- /package/dist/{chunk-2N6UNJSX.js.map → chunk-U2OBZSGG.js.map} +0 -0
- /package/dist/{chunk-BKAMHZYR.js.map → chunk-UOCLRM74.js.map} +0 -0
- /package/dist/{chunk-TYF3D4MS.js.map → chunk-UUMYB3FR.js.map} +0 -0
- /package/dist/{chunk-46URPRE6.js.map → chunk-VH2DHBHG.js.map} +0 -0
- /package/dist/{chunk-UD5OKH4J.js.map → chunk-W4ELOUNX.js.map} +0 -0
- /package/dist/{chunk-GR77Z2BM.js.map → chunk-WIKNVFBS.js.map} +0 -0
- /package/dist/{chunk-67MMWC74.js.map → chunk-ZLXGFAML.js.map} +0 -0
|
@@ -24,6 +24,14 @@ function isValidAsOf(fm, asOfMs) {
|
|
|
24
24
|
if (!Number.isFinite(invalidAtMs)) return true;
|
|
25
25
|
return invalidAtMs > asOfMs;
|
|
26
26
|
}
|
|
27
|
+
function isValidityExpiredNow(fm, nowMs) {
|
|
28
|
+
if (!Number.isFinite(nowMs)) return false;
|
|
29
|
+
const invalidAt = fm.invalid_at?.trim();
|
|
30
|
+
if (!invalidAt || invalidAt.length === 0) return false;
|
|
31
|
+
const invalidAtMs = Date.parse(invalidAt);
|
|
32
|
+
if (!Number.isFinite(invalidAtMs)) return false;
|
|
33
|
+
return invalidAtMs <= nowMs;
|
|
34
|
+
}
|
|
27
35
|
function parseAsOfTimestamp(raw) {
|
|
28
36
|
if (typeof raw !== "string" || raw.trim().length === 0) {
|
|
29
37
|
throw new RangeError(
|
|
@@ -43,6 +51,7 @@ export {
|
|
|
43
51
|
effectiveValidAt,
|
|
44
52
|
effectiveInvalidAt,
|
|
45
53
|
isValidAsOf,
|
|
54
|
+
isValidityExpiredNow,
|
|
46
55
|
parseAsOfTimestamp
|
|
47
56
|
};
|
|
48
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-IREVVFTM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/temporal-validity.ts"],"sourcesContent":["/**\n * Temporal validity helpers (issue #680).\n *\n * `valid_at` / `invalid_at` are explicit ISO 8601 timestamps that mark when a\n * fact begins and ends being authoritative. These helpers centralize the\n * read-time defaulting rules so every call site (recall filter, supersession\n * write, tests) agrees on the canonical semantics:\n *\n * - `effectiveValidAt(fm)` — the moment this fact starts being true.\n * Falls back to `created` when `valid_at` is absent so legacy memories\n * written before #680 still participate in `as_of` filtering without\n * a backfill migration.\n * - `effectiveInvalidAt(fm)` — the moment this fact stops being true.\n * Returns `undefined` when no `invalid_at` is set; supersession logic\n * populates it on the older fact when a newer one replaces it.\n * - `isValidAsOf(fm, asOfMs)` — true when the fact was authoritative at\n * `asOfMs` (a numeric timestamp in ms). Half-open interval semantics:\n * `valid_at <= asOf < invalid_at`. Strings are parsed via\n * `Date.parse()` so timezone-suffixed ISO strings compare correctly\n * (CLAUDE.md gotcha — never compare ISO strings lexicographically).\n *\n * Boundary case: when `invalid_at === asOf`, the fact is treated as NOT\n * valid (the upper bound is exclusive), which matches the supersession\n * model — at the instant a successor's `valid_at` fires, the predecessor\n * is no longer authoritative.\n */\nimport type { MemoryFrontmatter } from \"./types.js\";\n\nexport function effectiveValidAt(fm: Pick<MemoryFrontmatter, \"valid_at\" | \"created\">): string {\n // `created` is required on every memory (see types.ts), so the fallback\n // chain always terminates. Trimming guards against whitespace-only\n // overrides written by legacy tooling.\n const explicit = fm.valid_at?.trim();\n if (explicit && explicit.length > 0) return explicit;\n return fm.created;\n}\n\nexport function effectiveInvalidAt(\n fm: Pick<MemoryFrontmatter, \"invalid_at\" | \"supersededAt\" | \"status\">,\n): string | undefined {\n const explicit = fm.invalid_at?.trim();\n if (explicit && explicit.length > 0) return explicit;\n // Cursor Medium rounds 1+2 on PR #713: legacy data written before\n // #680 has `status: superseded` and `supersededAt` populated, but\n // no `invalid_at`. With the new `as_of` filter bypassing the\n // supersession status check, those legacy predecessors would\n // otherwise be treated as \"always valid\" and surface alongside\n // their successors at every historical pin. Fall back to\n // `supersededAt` so the half-open `[valid_at, invalid_at)`\n // interval still terminates for legacy supersedes without\n // requiring a backfill migration.\n //\n // BOUNDARY APPROXIMATION: `supersededAt` is when the supersession\n // write fired, which may post-date the successor's true\n // `valid_at` (consolidation runs on its own cadence). So the\n // legacy predecessor stays visible from `valid_at` through\n // `supersededAt` rather than the tighter `valid_at` through\n // successor-`valid_at` window. We accept this intentionally: the\n // alternative — successor-aware coordination — would require\n // threading the successor through every call site, and \"show the\n // legacy fact a bit too long\" is a clear win over \"drop legacy\n // facts entirely from `as_of`\". New data (post-#680) writes\n // `invalid_at` directly and is unaffected.\n if (fm.status === \"superseded\") {\n const legacy = fm.supersededAt?.trim();\n if (legacy && legacy.length > 0) return legacy;\n }\n return undefined;\n}\n\n/**\n * Returns true when the fact was authoritative at `asOfMs` (parsed\n * milliseconds since epoch). Half-open semantics: a fact is valid in\n * `[valid_at, invalid_at)`.\n *\n * If `valid_at` cannot be parsed, the fact is conservatively treated as\n * NOT valid at the requested point — we never silently default a corrupt\n * timestamp to \"always true\" because that would let bad data leak past\n * the historical filter (CLAUDE.md gotcha #34: distinguish empty from\n * malformed).\n */\nexport function isValidAsOf(\n fm: Pick<\n MemoryFrontmatter,\n \"valid_at\" | \"invalid_at\" | \"created\" | \"supersededAt\" | \"status\"\n >,\n asOfMs: number,\n): boolean {\n if (!Number.isFinite(asOfMs)) return true;\n const validAtMs = Date.parse(effectiveValidAt(fm));\n if (!Number.isFinite(validAtMs)) return false;\n if (validAtMs > asOfMs) return false;\n const invalidAt = effectiveInvalidAt(fm);\n if (invalidAt === undefined) return true;\n const invalidAtMs = Date.parse(invalidAt);\n // Unparseable invalid_at — conservatively keep the fact (we can read\n // valid_at, so we know the fact was at some point true; corrupt\n // invalid_at is not a reason to hide it).\n if (!Number.isFinite(invalidAtMs)) return true;\n // Half-open: at exactly invalid_at, the fact is no longer valid.\n return invalidAtMs > asOfMs;\n}\n\n/**\n * Parse and validate an `as_of` value supplied at an input boundary\n * (CLI flag, HTTP query param, MCP field). Returns parsed milliseconds\n * on success; throws a `RangeError` with a helpful message on malformed\n * input. CLAUDE.md rule 51 — never silently default invalid input.\n */\nexport function parseAsOfTimestamp(raw: unknown): number {\n if (typeof raw !== \"string\" || raw.trim().length === 0) {\n throw new RangeError(\n `as_of must be a non-empty ISO 8601 timestamp string (got: ${typeof raw === \"string\" ? `\"${raw}\"` : typeof raw})`,\n );\n }\n const ms = Date.parse(raw);\n if (!Number.isFinite(ms)) {\n throw new RangeError(\n `as_of must be a parseable ISO 8601 timestamp (got: \"${raw}\")`,\n );\n }\n return ms;\n}\n"],"mappings":";AA4BO,SAAS,iBAAiB,IAA6D;AAI5F,QAAM,WAAW,GAAG,UAAU,KAAK;AACnC,MAAI,YAAY,SAAS,SAAS,EAAG,QAAO;AAC5C,SAAO,GAAG;AACZ;AAEO,SAAS,mBACd,IACoB;AACpB,QAAM,WAAW,GAAG,YAAY,KAAK;AACrC,MAAI,YAAY,SAAS,SAAS,EAAG,QAAO;AAsB5C,MAAI,GAAG,WAAW,cAAc;AAC9B,UAAM,SAAS,GAAG,cAAc,KAAK;AACrC,QAAI,UAAU,OAAO,SAAS,EAAG,QAAO;AAAA,EAC1C;AACA,SAAO;AACT;AAaO,SAAS,YACd,IAIA,QACS;AACT,MAAI,CAAC,OAAO,SAAS,MAAM,EAAG,QAAO;AACrC,QAAM,YAAY,KAAK,MAAM,iBAAiB,EAAE,CAAC;AACjD,MAAI,CAAC,OAAO,SAAS,SAAS,EAAG,QAAO;AACxC,MAAI,YAAY,OAAQ,QAAO;AAC/B,QAAM,YAAY,mBAAmB,EAAE;AACvC,MAAI,cAAc,OAAW,QAAO;AACpC,QAAM,cAAc,KAAK,MAAM,SAAS;AAIxC,MAAI,CAAC,OAAO,SAAS,WAAW,EAAG,QAAO;AAE1C,SAAO,cAAc;AACvB;AAQO,SAAS,mBAAmB,KAAsB;AACvD,MAAI,OAAO,QAAQ,YAAY,IAAI,KAAK,EAAE,WAAW,GAAG;AACtD,UAAM,IAAI;AAAA,MACR,6DAA6D,OAAO,QAAQ,WAAW,IAAI,GAAG,MAAM,OAAO,GAAG;AAAA,IAChH;AAAA,EACF;AACA,QAAM,KAAK,KAAK,MAAM,GAAG;AACzB,MAAI,CAAC,OAAO,SAAS,EAAE,GAAG;AACxB,UAAM,IAAI;AAAA,MACR,uDAAuD,GAAG;AAAA,IAC5D;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/temporal-validity.ts"],"sourcesContent":["/**\n * Temporal validity helpers (issue #680).\n *\n * `valid_at` / `invalid_at` are explicit ISO 8601 timestamps that mark when a\n * fact begins and ends being authoritative. These helpers centralize the\n * read-time defaulting rules so every call site (recall filter, supersession\n * write, tests) agrees on the canonical semantics:\n *\n * - `effectiveValidAt(fm)` — the moment this fact starts being true.\n * Falls back to `created` when `valid_at` is absent so legacy memories\n * written before #680 still participate in `as_of` filtering without\n * a backfill migration.\n * - `effectiveInvalidAt(fm)` — the moment this fact stops being true.\n * Returns `undefined` when no `invalid_at` is set; supersession logic\n * populates it on the older fact when a newer one replaces it.\n * - `isValidAsOf(fm, asOfMs)` — true when the fact was authoritative at\n * `asOfMs` (a numeric timestamp in ms). Half-open interval semantics:\n * `valid_at <= asOf < invalid_at`. Strings are parsed via\n * `Date.parse()` so timezone-suffixed ISO strings compare correctly\n * (CLAUDE.md gotcha — never compare ISO strings lexicographically).\n *\n * Boundary case: when `invalid_at === asOf`, the fact is treated as NOT\n * valid (the upper bound is exclusive), which matches the supersession\n * model — at the instant a successor's `valid_at` fires, the predecessor\n * is no longer authoritative.\n */\nimport type { MemoryFrontmatter } from \"./types.js\";\n\nexport function effectiveValidAt(fm: Pick<MemoryFrontmatter, \"valid_at\" | \"created\">): string {\n // `created` is required on every memory (see types.ts), so the fallback\n // chain always terminates. Trimming guards against whitespace-only\n // overrides written by legacy tooling.\n const explicit = fm.valid_at?.trim();\n if (explicit && explicit.length > 0) return explicit;\n return fm.created;\n}\n\nexport function effectiveInvalidAt(\n fm: Pick<MemoryFrontmatter, \"invalid_at\" | \"supersededAt\" | \"status\">,\n): string | undefined {\n const explicit = fm.invalid_at?.trim();\n if (explicit && explicit.length > 0) return explicit;\n // Cursor Medium rounds 1+2 on PR #713: legacy data written before\n // #680 has `status: superseded` and `supersededAt` populated, but\n // no `invalid_at`. With the new `as_of` filter bypassing the\n // supersession status check, those legacy predecessors would\n // otherwise be treated as \"always valid\" and surface alongside\n // their successors at every historical pin. Fall back to\n // `supersededAt` so the half-open `[valid_at, invalid_at)`\n // interval still terminates for legacy supersedes without\n // requiring a backfill migration.\n //\n // BOUNDARY APPROXIMATION: `supersededAt` is when the supersession\n // write fired, which may post-date the successor's true\n // `valid_at` (consolidation runs on its own cadence). So the\n // legacy predecessor stays visible from `valid_at` through\n // `supersededAt` rather than the tighter `valid_at` through\n // successor-`valid_at` window. We accept this intentionally: the\n // alternative — successor-aware coordination — would require\n // threading the successor through every call site, and \"show the\n // legacy fact a bit too long\" is a clear win over \"drop legacy\n // facts entirely from `as_of`\". New data (post-#680) writes\n // `invalid_at` directly and is unaffected.\n if (fm.status === \"superseded\") {\n const legacy = fm.supersededAt?.trim();\n if (legacy && legacy.length > 0) return legacy;\n }\n return undefined;\n}\n\n/**\n * Returns true when the fact was authoritative at `asOfMs` (parsed\n * milliseconds since epoch). Half-open semantics: a fact is valid in\n * `[valid_at, invalid_at)`.\n *\n * If `valid_at` cannot be parsed, the fact is conservatively treated as\n * NOT valid at the requested point — we never silently default a corrupt\n * timestamp to \"always true\" because that would let bad data leak past\n * the historical filter (CLAUDE.md gotcha #34: distinguish empty from\n * malformed).\n */\nexport function isValidAsOf(\n fm: Pick<\n MemoryFrontmatter,\n \"valid_at\" | \"invalid_at\" | \"created\" | \"supersededAt\" | \"status\"\n >,\n asOfMs: number,\n): boolean {\n if (!Number.isFinite(asOfMs)) return true;\n const validAtMs = Date.parse(effectiveValidAt(fm));\n if (!Number.isFinite(validAtMs)) return false;\n if (validAtMs > asOfMs) return false;\n const invalidAt = effectiveInvalidAt(fm);\n if (invalidAt === undefined) return true;\n const invalidAtMs = Date.parse(invalidAt);\n // Unparseable invalid_at — conservatively keep the fact (we can read\n // valid_at, so we know the fact was at some point true; corrupt\n // invalid_at is not a reason to hide it).\n if (!Number.isFinite(invalidAtMs)) return true;\n // Half-open: at exactly invalid_at, the fact is no longer valid.\n return invalidAtMs > asOfMs;\n}\n\n/**\n * Bi-temporal injection filter (issue #1578).\n *\n * Returns `true` when the fact's event-time interval has already ended before\n * `nowMs` — i.e. it is no longer *true in the world* and should leave the\n * default injection candidate set (it remains findable by explicit search\n * and `as_of` queries, mirroring the lifecycle-filter escape-hatch principle\n * in AGENTS.md §16). Gated by `temporalBiTemporal`; the escape hatch\n * `temporalExpiredInInjection` re-admits expired facts when a deployment\n * prefers the older always-inject behavior.\n *\n * Semantics: a fact is expired-now when `invalid_at` is present and\n * `invalid_at <= nowMs` (the exclusive upper bound has passed). Absent\n * `invalid_at` means \"still valid\" — never expired. This is the\n * status-orthogonal complement of `isValidAsOf` for the wall-clock instant:\n * an `active` memory can be validity-expired, and a `superseded` one can\n * still be validity-valid within its historical window (issue pitfall: the\n * filter is status-orthogonal).\n */\nexport function isValidityExpiredNow(\n fm: Pick<MemoryFrontmatter, \"invalid_at\">,\n nowMs: number,\n): boolean {\n if (!Number.isFinite(nowMs)) return false;\n const invalidAt = fm.invalid_at?.trim();\n if (!invalidAt || invalidAt.length === 0) return false;\n const invalidAtMs = Date.parse(invalidAt);\n // Unparseable invalid_at — conservatively keep the fact (do not filter on\n // corrupt data; the as_of path already handles malformed bounds).\n if (!Number.isFinite(invalidAtMs)) return false;\n // Half-open interval end has passed: [valid_at, invalid_at) ended.\n return invalidAtMs <= nowMs;\n}\n\n/**\n * Parse and validate an `as_of` value supplied at an input boundary\n * (CLI flag, HTTP query param, MCP field). Returns parsed milliseconds\n * on success; throws a `RangeError` with a helpful message on malformed\n * input. CLAUDE.md rule 51 — never silently default invalid input.\n */\nexport function parseAsOfTimestamp(raw: unknown): number {\n if (typeof raw !== \"string\" || raw.trim().length === 0) {\n throw new RangeError(\n `as_of must be a non-empty ISO 8601 timestamp string (got: ${typeof raw === \"string\" ? `\"${raw}\"` : typeof raw})`,\n );\n }\n const ms = Date.parse(raw);\n if (!Number.isFinite(ms)) {\n throw new RangeError(\n `as_of must be a parseable ISO 8601 timestamp (got: \"${raw}\")`,\n );\n }\n return ms;\n}\n"],"mappings":";AA4BO,SAAS,iBAAiB,IAA6D;AAI5F,QAAM,WAAW,GAAG,UAAU,KAAK;AACnC,MAAI,YAAY,SAAS,SAAS,EAAG,QAAO;AAC5C,SAAO,GAAG;AACZ;AAEO,SAAS,mBACd,IACoB;AACpB,QAAM,WAAW,GAAG,YAAY,KAAK;AACrC,MAAI,YAAY,SAAS,SAAS,EAAG,QAAO;AAsB5C,MAAI,GAAG,WAAW,cAAc;AAC9B,UAAM,SAAS,GAAG,cAAc,KAAK;AACrC,QAAI,UAAU,OAAO,SAAS,EAAG,QAAO;AAAA,EAC1C;AACA,SAAO;AACT;AAaO,SAAS,YACd,IAIA,QACS;AACT,MAAI,CAAC,OAAO,SAAS,MAAM,EAAG,QAAO;AACrC,QAAM,YAAY,KAAK,MAAM,iBAAiB,EAAE,CAAC;AACjD,MAAI,CAAC,OAAO,SAAS,SAAS,EAAG,QAAO;AACxC,MAAI,YAAY,OAAQ,QAAO;AAC/B,QAAM,YAAY,mBAAmB,EAAE;AACvC,MAAI,cAAc,OAAW,QAAO;AACpC,QAAM,cAAc,KAAK,MAAM,SAAS;AAIxC,MAAI,CAAC,OAAO,SAAS,WAAW,EAAG,QAAO;AAE1C,SAAO,cAAc;AACvB;AAqBO,SAAS,qBACd,IACA,OACS;AACT,MAAI,CAAC,OAAO,SAAS,KAAK,EAAG,QAAO;AACpC,QAAM,YAAY,GAAG,YAAY,KAAK;AACtC,MAAI,CAAC,aAAa,UAAU,WAAW,EAAG,QAAO;AACjD,QAAM,cAAc,KAAK,MAAM,SAAS;AAGxC,MAAI,CAAC,OAAO,SAAS,WAAW,EAAG,QAAO;AAE1C,SAAO,eAAe;AACxB;AAQO,SAAS,mBAAmB,KAAsB;AACvD,MAAI,OAAO,QAAQ,YAAY,IAAI,KAAK,EAAE,WAAW,GAAG;AACtD,UAAM,IAAI;AAAA,MACR,6DAA6D,OAAO,QAAQ,WAAW,IAAI,GAAG,MAAM,OAAO,GAAG;AAAA,IAChH;AAAA,EACF;AACA,QAAM,KAAK,KAAK,MAAM,GAAG;AACzB,MAAI,CAAC,OAAO,SAAS,EAAE,GAAG;AACxB,UAAM,IAAI;AAAA,MACR,uDAAuD,GAAG;AAAA,IAC5D;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ReplitAdapter
|
|
3
|
+
} from "./chunk-TMSXWOBZ.js";
|
|
1
4
|
import {
|
|
2
5
|
ClaudeCodeAdapter
|
|
3
6
|
} from "./chunk-J64TK33U.js";
|
|
@@ -7,9 +10,6 @@ import {
|
|
|
7
10
|
import {
|
|
8
11
|
HermesAdapter
|
|
9
12
|
} from "./chunk-42NQ7AVG.js";
|
|
10
|
-
import {
|
|
11
|
-
ReplitAdapter
|
|
12
|
-
} from "./chunk-TMSXWOBZ.js";
|
|
13
13
|
|
|
14
14
|
// src/adapters/registry.ts
|
|
15
15
|
var AdapterRegistry = class {
|
|
@@ -53,4 +53,4 @@ var AdapterRegistry = class {
|
|
|
53
53
|
export {
|
|
54
54
|
AdapterRegistry
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=chunk-
|
|
56
|
+
//# sourceMappingURL=chunk-JBPKEARU.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
claudeReplayNormalizer
|
|
3
|
+
} from "./chunk-LQHDIS7L.js";
|
|
1
4
|
import {
|
|
2
5
|
openclawReplayNormalizer
|
|
3
6
|
} from "./chunk-7F7Z6MOS.js";
|
|
4
7
|
import {
|
|
5
8
|
chatgptReplayNormalizer
|
|
6
9
|
} from "./chunk-MC4FJXPA.js";
|
|
7
|
-
import {
|
|
8
|
-
claudeReplayNormalizer
|
|
9
|
-
} from "./chunk-LQHDIS7L.js";
|
|
10
10
|
import {
|
|
11
11
|
exportJsonBundle
|
|
12
12
|
} from "./chunk-UP6MOYCB.js";
|
|
@@ -47,12 +47,12 @@ import {
|
|
|
47
47
|
} from "./chunk-D6RIFG4O.js";
|
|
48
48
|
import {
|
|
49
49
|
rebuildMemoryLifecycleLedger
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-WIKNVFBS.js";
|
|
51
51
|
import {
|
|
52
52
|
rebuildMemoryProjection,
|
|
53
53
|
repairMemoryProjection,
|
|
54
54
|
verifyMemoryProjection
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-NUZ3N445.js";
|
|
56
56
|
import {
|
|
57
57
|
rebuildObservations
|
|
58
58
|
} from "./chunk-LZZNTPLR.js";
|
|
@@ -74,18 +74,18 @@ import {
|
|
|
74
74
|
} from "./chunk-IQ7WCZRW.js";
|
|
75
75
|
import {
|
|
76
76
|
promoteSemanticRuleFromMemory
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-MCV2DD6F.js";
|
|
78
|
+
import {
|
|
79
|
+
resolveAgentAccessAuthToken
|
|
80
|
+
} from "./chunk-TGQ2NTWH.js";
|
|
78
81
|
import {
|
|
79
82
|
buildResumeBundleFromState,
|
|
80
83
|
getResumeBundleStatus,
|
|
81
84
|
recordResumeBundle
|
|
82
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-3BRA3N5A.js";
|
|
83
86
|
import {
|
|
84
87
|
parseXrayCliOptions
|
|
85
|
-
} from "./chunk-
|
|
86
|
-
import {
|
|
87
|
-
resolveAgentAccessAuthToken
|
|
88
|
-
} from "./chunk-TGQ2NTWH.js";
|
|
88
|
+
} from "./chunk-GCOSQBQ2.js";
|
|
89
89
|
import {
|
|
90
90
|
collectPatternMemories,
|
|
91
91
|
explainPatternMemory,
|
|
@@ -102,12 +102,12 @@ import {
|
|
|
102
102
|
runOperatorInventory,
|
|
103
103
|
runOperatorRepair,
|
|
104
104
|
runOperatorSetup
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-OOO7ZKOD.js";
|
|
106
106
|
import {
|
|
107
107
|
listNamespaces,
|
|
108
108
|
runNamespaceMigration,
|
|
109
109
|
verifyNamespaces
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-D3DNGQNQ.js";
|
|
111
111
|
import {
|
|
112
112
|
GraphDashboardServer
|
|
113
113
|
} from "./chunk-YNDLCWXS.js";
|
|
@@ -128,13 +128,13 @@ import {
|
|
|
128
128
|
} from "./chunk-TERNBNJB.js";
|
|
129
129
|
import {
|
|
130
130
|
searchVerifiedEpisodes
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-3VVH6ZQW.js";
|
|
132
132
|
import {
|
|
133
133
|
ThreadingManager
|
|
134
134
|
} from "./chunk-QRDOSYOR.js";
|
|
135
135
|
import {
|
|
136
136
|
searchVerifiedSemanticRules
|
|
137
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-ZLXGFAML.js";
|
|
138
138
|
import {
|
|
139
139
|
getWorkProductLedgerStatus,
|
|
140
140
|
recordWorkProductLedgerEntry,
|
|
@@ -149,7 +149,7 @@ import {
|
|
|
149
149
|
} from "./chunk-33JBK2XP.js";
|
|
150
150
|
import {
|
|
151
151
|
formatNamespaceMaintenanceHealthText
|
|
152
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-QNG35H27.js";
|
|
153
153
|
import {
|
|
154
154
|
analyzeSessionIntegrity,
|
|
155
155
|
applySessionRepair,
|
|
@@ -213,22 +213,22 @@ import {
|
|
|
213
213
|
} from "./chunk-UQ7RN5HK.js";
|
|
214
214
|
import {
|
|
215
215
|
parseConfig
|
|
216
|
-
} from "./chunk-
|
|
216
|
+
} from "./chunk-UTUYAPLY.js";
|
|
217
217
|
import {
|
|
218
218
|
getAbstractionNodeStoreStatus
|
|
219
219
|
} from "./chunk-OADWQ5CR.js";
|
|
220
220
|
import {
|
|
221
221
|
EngramAccessHttpServer
|
|
222
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-NCRDCTEJ.js";
|
|
223
223
|
import {
|
|
224
224
|
WearablesInputError
|
|
225
225
|
} from "./chunk-7WV3F5DQ.js";
|
|
226
226
|
import {
|
|
227
227
|
EngramMcpServer
|
|
228
|
-
} from "./chunk-
|
|
228
|
+
} from "./chunk-TSGREOYY.js";
|
|
229
229
|
import {
|
|
230
230
|
EngramAccessService
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-KO6OL4I7.js";
|
|
232
232
|
import {
|
|
233
233
|
WorkStorage
|
|
234
234
|
} from "./chunk-GDB4J2H3.js";
|
|
@@ -236,7 +236,7 @@ import {
|
|
|
236
236
|
parseRecallExplainFormat,
|
|
237
237
|
renderRecallExplain,
|
|
238
238
|
renderXray
|
|
239
|
-
} from "./chunk-
|
|
239
|
+
} from "./chunk-2D27ODNX.js";
|
|
240
240
|
import {
|
|
241
241
|
getTrustZoneStoreStatus,
|
|
242
242
|
promoteTrustZoneRecord,
|
|
@@ -250,7 +250,7 @@ import {
|
|
|
250
250
|
readMemoryGovernanceRunArtifact,
|
|
251
251
|
restoreMemoryGovernanceRun,
|
|
252
252
|
runMemoryGovernance
|
|
253
|
-
} from "./chunk-
|
|
253
|
+
} from "./chunk-SAC5V6JT.js";
|
|
254
254
|
import {
|
|
255
255
|
analyzeGraphHealth
|
|
256
256
|
} from "./chunk-KF74X62T.js";
|
|
@@ -263,7 +263,7 @@ import {
|
|
|
263
263
|
import {
|
|
264
264
|
RECALL_DISCLOSURE_LEVELS,
|
|
265
265
|
isRecallDisclosure
|
|
266
|
-
} from "./chunk-
|
|
266
|
+
} from "./chunk-DQHZA7Y3.js";
|
|
267
267
|
import {
|
|
268
268
|
RECALL_FALLBACK_DIRS
|
|
269
269
|
} from "./chunk-VS2IYZRU.js";
|
|
@@ -7326,4 +7326,4 @@ export {
|
|
|
7326
7326
|
listMemoryMarkdownFilePaths,
|
|
7327
7327
|
registerCli
|
|
7328
7328
|
};
|
|
7329
|
-
//# sourceMappingURL=chunk-
|
|
7329
|
+
//# sourceMappingURL=chunk-K7I24ZO2.js.map
|
|
@@ -9,6 +9,9 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
importCapsule
|
|
11
11
|
} from "./chunk-ARV3AUOM.js";
|
|
12
|
+
import {
|
|
13
|
+
toRecallExplainJson
|
|
14
|
+
} from "./chunk-2D27ODNX.js";
|
|
12
15
|
import {
|
|
13
16
|
applyTagFilter,
|
|
14
17
|
normalizeTags,
|
|
@@ -17,9 +20,6 @@ import {
|
|
|
17
20
|
import {
|
|
18
21
|
decideDisclosureEscalation
|
|
19
22
|
} from "./chunk-H7XKCNR6.js";
|
|
20
|
-
import {
|
|
21
|
-
toRecallExplainJson
|
|
22
|
-
} from "./chunk-GTDH3IUH.js";
|
|
23
23
|
import {
|
|
24
24
|
clusterByKey,
|
|
25
25
|
combineNamespaces,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
} from "./chunk-FF4KLI5W.js";
|
|
45
45
|
import {
|
|
46
46
|
estimateRecallTokens
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-AFWEUTMS.js";
|
|
48
48
|
import {
|
|
49
49
|
recordObjectiveStateSnapshotsFromObservedMessages
|
|
50
50
|
} from "./chunk-BMFZLLNI.js";
|
|
@@ -58,10 +58,10 @@ import {
|
|
|
58
58
|
listMemoryGovernanceRuns,
|
|
59
59
|
readMemoryGovernanceRunArtifact,
|
|
60
60
|
runMemoryGovernance
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-SAC5V6JT.js";
|
|
62
62
|
import {
|
|
63
63
|
namespaceCollectionName
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-IPJD7WJH.js";
|
|
65
65
|
import {
|
|
66
66
|
namespaceIdentityFromToken
|
|
67
67
|
} from "./chunk-ZFXCQPNO.js";
|
|
@@ -71,17 +71,17 @@ import {
|
|
|
71
71
|
import {
|
|
72
72
|
buildGraphSnapshot
|
|
73
73
|
} from "./chunk-YOI3ELXF.js";
|
|
74
|
-
import {
|
|
75
|
-
persistExplicitCapture,
|
|
76
|
-
queueExplicitCaptureForReview,
|
|
77
|
-
validateExplicitCaptureInput
|
|
78
|
-
} from "./chunk-U33LWTQQ.js";
|
|
79
74
|
import {
|
|
80
75
|
wrapWorkLayerContext
|
|
81
76
|
} from "./chunk-EI6V5UXY.js";
|
|
82
77
|
import {
|
|
83
78
|
formatProfileTraceAscii
|
|
84
79
|
} from "./chunk-PNLCEFE4.js";
|
|
80
|
+
import {
|
|
81
|
+
persistExplicitCapture,
|
|
82
|
+
queueExplicitCaptureForReview,
|
|
83
|
+
validateExplicitCaptureInput
|
|
84
|
+
} from "./chunk-U33LWTQQ.js";
|
|
85
85
|
import {
|
|
86
86
|
buildProcedurePersistBody,
|
|
87
87
|
normalizeProcedureSteps
|
|
@@ -101,17 +101,21 @@ import {
|
|
|
101
101
|
buildBriefing,
|
|
102
102
|
parseBriefingFocus,
|
|
103
103
|
parseBriefingWindow
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-66HROLW5.js";
|
|
105
105
|
import {
|
|
106
106
|
parseEntityFile
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-VFVG4NS2.js";
|
|
108
108
|
import {
|
|
109
109
|
stripAttributesSuffix
|
|
110
110
|
} from "./chunk-SVOZFLIQ.js";
|
|
111
111
|
import {
|
|
112
112
|
DEFAULT_RECALL_DISCLOSURE,
|
|
113
113
|
isRecallDisclosure
|
|
114
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-DQHZA7Y3.js";
|
|
115
|
+
import {
|
|
116
|
+
normalizeProjectionPreview,
|
|
117
|
+
normalizeProjectionTags
|
|
118
|
+
} from "./chunk-SCU65EZI.js";
|
|
115
119
|
import {
|
|
116
120
|
getMemoryProjectionPath
|
|
117
121
|
} from "./chunk-MB5RSUW6.js";
|
|
@@ -122,16 +126,12 @@ import {
|
|
|
122
126
|
inferMemoryStatus,
|
|
123
127
|
toMemoryPathRel
|
|
124
128
|
} from "./chunk-RULE4VG5.js";
|
|
125
|
-
import {
|
|
126
|
-
normalizeProjectionPreview,
|
|
127
|
-
normalizeProjectionTags
|
|
128
|
-
} from "./chunk-SCU65EZI.js";
|
|
129
129
|
import {
|
|
130
130
|
createVersion
|
|
131
131
|
} from "./chunk-VF4XKTX3.js";
|
|
132
132
|
import {
|
|
133
133
|
exportCapsule
|
|
134
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-IPLYGWQF.js";
|
|
135
135
|
import {
|
|
136
136
|
OFFLINE_SYNC_SNAPSHOT_FORMAT,
|
|
137
137
|
applyOfflineSyncChangeset,
|
|
@@ -6660,4 +6660,4 @@ export {
|
|
|
6660
6660
|
shapeMemorySummary,
|
|
6661
6661
|
EngramAccessService
|
|
6662
6662
|
};
|
|
6663
|
-
//# sourceMappingURL=chunk-
|
|
6663
|
+
//# sourceMappingURL=chunk-KO6OL4I7.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VFVG4NS2.js";
|
|
4
4
|
|
|
5
5
|
// src/semantic-rule-promotion.ts
|
|
6
6
|
import { createHash, randomUUID } from "crypto";
|
|
@@ -529,4 +529,4 @@ export {
|
|
|
529
529
|
setSemanticRulePromotionTestHooks,
|
|
530
530
|
promoteSemanticRuleFromMemory
|
|
531
531
|
};
|
|
532
|
-
//# sourceMappingURL=chunk-
|
|
532
|
+
//# sourceMappingURL=chunk-MCV2DD6F.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
effectiveValidAt
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IREVVFTM.js";
|
|
4
4
|
import {
|
|
5
5
|
log
|
|
6
6
|
} from "./chunk-NU3CSQ4H.js";
|
|
@@ -238,4 +238,4 @@ export {
|
|
|
238
238
|
applyTemporalSupersession,
|
|
239
239
|
shouldFilterSupersededFromRecall
|
|
240
240
|
};
|
|
241
|
-
//# sourceMappingURL=chunk-
|
|
241
|
+
//# sourceMappingURL=chunk-MRFVMSTR.js.map
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
FallbackLlmClient,
|
|
32
32
|
fallbackLlmRuntimeContextFromConfig,
|
|
33
33
|
gatewayTaskChainOptions
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-4RGWCRIJ.js";
|
|
35
35
|
import {
|
|
36
36
|
buildChatCompletionTokenLimit,
|
|
37
37
|
shouldAssumeOpenAiChatCompletions
|
|
@@ -2328,4 +2328,4 @@ ${memoryList}` }
|
|
|
2328
2328
|
export {
|
|
2329
2329
|
ExtractionEngine
|
|
2330
2330
|
};
|
|
2331
|
-
//# sourceMappingURL=chunk-
|
|
2331
|
+
//# sourceMappingURL=chunk-MXZWKOOR.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AdapterRegistry
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JBPKEARU.js";
|
|
4
4
|
import {
|
|
5
5
|
WearablesInputError
|
|
6
6
|
} from "./chunk-7WV3F5DQ.js";
|
|
7
7
|
import {
|
|
8
8
|
EngramMcpServer
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TSGREOYY.js";
|
|
10
10
|
import {
|
|
11
11
|
validateRequest
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-QLRYXOAD.js";
|
|
13
13
|
import {
|
|
14
14
|
getOperation
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VH2DHBHG.js";
|
|
16
16
|
import {
|
|
17
17
|
EngramAccessInputError
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KO6OL4I7.js";
|
|
19
19
|
import {
|
|
20
20
|
projectTagProjectId
|
|
21
21
|
} from "./chunk-7MOTEVAA.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./chunk-DEUNUKTD.js";
|
|
28
28
|
import {
|
|
29
29
|
isRecallDisclosure
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-DQHZA7Y3.js";
|
|
31
31
|
import {
|
|
32
32
|
OFFLINE_SYNC_APPLY_MAX_BODY_BYTES,
|
|
33
33
|
OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
|
|
@@ -2079,4 +2079,4 @@ function positiveIntQueryParam(value, label) {
|
|
|
2079
2079
|
export {
|
|
2080
2080
|
EngramAccessHttpServer
|
|
2081
2081
|
};
|
|
2082
|
-
//# sourceMappingURL=chunk-
|
|
2082
|
+
//# sourceMappingURL=chunk-NCRDCTEJ.js.map
|
|
@@ -10,10 +10,14 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
listMemoryGovernanceRuns,
|
|
12
12
|
readMemoryGovernanceRunArtifact
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-SAC5V6JT.js";
|
|
14
14
|
import {
|
|
15
15
|
StorageManager
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VFVG4NS2.js";
|
|
17
|
+
import {
|
|
18
|
+
normalizeProjectionPreview,
|
|
19
|
+
normalizeProjectionTags
|
|
20
|
+
} from "./chunk-SCU65EZI.js";
|
|
17
21
|
import {
|
|
18
22
|
MEMORY_PROJECTION_SCHEMA_VERSION,
|
|
19
23
|
getMemoryProjectionPath,
|
|
@@ -35,10 +39,6 @@ import {
|
|
|
35
39
|
sortMemoryLifecycleEvents,
|
|
36
40
|
toMemoryPathRel
|
|
37
41
|
} from "./chunk-RULE4VG5.js";
|
|
38
|
-
import {
|
|
39
|
-
normalizeProjectionPreview,
|
|
40
|
-
normalizeProjectionTags
|
|
41
|
-
} from "./chunk-SCU65EZI.js";
|
|
42
42
|
|
|
43
43
|
// src/maintenance/rebuild-memory-projection.ts
|
|
44
44
|
import path from "path";
|
|
@@ -929,4 +929,4 @@ export {
|
|
|
929
929
|
verifyMemoryProjection,
|
|
930
930
|
repairMemoryProjection
|
|
931
931
|
};
|
|
932
|
-
//# sourceMappingURL=chunk-
|
|
932
|
+
//# sourceMappingURL=chunk-NUZ3N445.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listNamespaces
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-D3DNGQNQ.js";
|
|
4
4
|
import {
|
|
5
5
|
runConsolidationProvenanceCheck
|
|
6
6
|
} from "./chunk-7XH7VJN4.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-YBPYIAA5.js";
|
|
10
10
|
import {
|
|
11
11
|
summarizeNamespaceMaintenanceHealth
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-QNG35H27.js";
|
|
13
13
|
import {
|
|
14
14
|
analyzeSessionIntegrity,
|
|
15
15
|
applySessionRepair,
|
|
@@ -35,17 +35,17 @@ import {
|
|
|
35
35
|
} from "./chunk-3PY7VHV7.js";
|
|
36
36
|
import {
|
|
37
37
|
parseConfig
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-UTUYAPLY.js";
|
|
39
39
|
import {
|
|
40
40
|
listMemoryGovernanceRuns,
|
|
41
41
|
readMemoryGovernanceRunArtifact
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-SAC5V6JT.js";
|
|
43
43
|
import {
|
|
44
44
|
analyzeGraphHealth
|
|
45
45
|
} from "./chunk-KF74X62T.js";
|
|
46
46
|
import {
|
|
47
47
|
StorageManager
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-VFVG4NS2.js";
|
|
49
49
|
import {
|
|
50
50
|
lintWorkspaceFiles
|
|
51
51
|
} from "./chunk-DM2T26WE.js";
|
|
@@ -1347,4 +1347,4 @@ export {
|
|
|
1347
1347
|
runBenchmarkRecall,
|
|
1348
1348
|
runOperatorRepair
|
|
1349
1349
|
};
|
|
1350
|
-
//# sourceMappingURL=chunk-
|
|
1350
|
+
//# sourceMappingURL=chunk-OOO7ZKOD.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runPostConsolidationMaterialize
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ADUAF5EV.js";
|
|
4
4
|
import {
|
|
5
5
|
discoverMemoryExtensions,
|
|
6
6
|
renderExtensionsBlock,
|
|
@@ -217,4 +217,4 @@ export {
|
|
|
217
217
|
buildExtensionsBlockForConsolidation,
|
|
218
218
|
materializeAfterSemanticConsolidation
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=chunk-
|
|
220
|
+
//# sourceMappingURL=chunk-QFG23CRE.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isValidCapsuleSince
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IPLYGWQF.js";
|
|
4
4
|
import {
|
|
5
5
|
CAPSULE_ID_PATTERN
|
|
6
6
|
} from "./chunk-WEHSQBFR.js";
|
|
@@ -433,4 +433,4 @@ export {
|
|
|
433
433
|
actionConfidenceRequestSchema,
|
|
434
434
|
validateRequest
|
|
435
435
|
};
|
|
436
|
-
//# sourceMappingURL=chunk-
|
|
436
|
+
//# sourceMappingURL=chunk-QLRYXOAD.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultNamespaceRoot,
|
|
3
3
|
resolveNamespaceStorageRoot
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-W4ELOUNX.js";
|
|
5
5
|
import {
|
|
6
6
|
namespaceIdentityFromToken,
|
|
7
7
|
namespaceIdentityToken,
|
|
@@ -2187,4 +2187,4 @@ export {
|
|
|
2187
2187
|
summarizeNamespaceMaintenanceHealth,
|
|
2188
2188
|
formatNamespaceMaintenanceHealthText
|
|
2189
2189
|
};
|
|
2190
|
-
//# sourceMappingURL=chunk-
|
|
2190
|
+
//# sourceMappingURL=chunk-QNG35H27.js.map
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
FallbackLlmClient,
|
|
17
17
|
fallbackLlmRuntimeContextFromConfig,
|
|
18
18
|
gatewayTaskChainOptions
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-4RGWCRIJ.js";
|
|
20
20
|
import {
|
|
21
21
|
encodeStoragePathSegment,
|
|
22
22
|
resolveSafeStoragePath
|
|
@@ -686,4 +686,4 @@ ${truncatedConversation}`;
|
|
|
686
686
|
export {
|
|
687
687
|
HourlySummarizer
|
|
688
688
|
};
|
|
689
|
-
//# sourceMappingURL=chunk-
|
|
689
|
+
//# sourceMappingURL=chunk-QVG4LAQO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VFVG4NS2.js";
|
|
4
4
|
import {
|
|
5
5
|
assertPathInsideRoot
|
|
6
6
|
} from "./chunk-5GPPACXK.js";
|
|
@@ -751,4 +751,4 @@ export {
|
|
|
751
751
|
listMemoryGovernanceRuns,
|
|
752
752
|
readMemoryGovernanceRunArtifact
|
|
753
753
|
};
|
|
754
|
-
//# sourceMappingURL=chunk-
|
|
754
|
+
//# sourceMappingURL=chunk-SAC5V6JT.js.map
|