@remnic/core 9.3.762 → 9.3.764
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-admin-ops-surface.d.ts +2 -2
- package/dist/access-admin-ops-surface.js +5 -5
- package/dist/access-boundary.d.ts +2 -2
- package/dist/access-boundary.js +6 -6
- package/dist/access-cli.js +26 -26
- package/dist/access-http.d.ts +2 -2
- package/dist/access-http.js +10 -10
- package/dist/access-identity-continuity-surface.d.ts +1 -1
- package/dist/access-identity-continuity-surface.js +5 -5
- package/dist/access-lcm-surface.d.ts +2 -2
- package/dist/access-lcm-surface.js +5 -5
- package/dist/access-mcp.d.ts +2 -2
- package/dist/access-mcp.js +9 -9
- package/dist/access-observe-write-surface.d.ts +2 -2
- package/dist/access-observe-write-surface.js +5 -5
- package/dist/access-operations-batch.js +7 -7
- package/dist/access-operations.d.ts +2 -2
- package/dist/access-operations.js +8 -8
- package/dist/access-recall-surface.d.ts +2 -2
- package/dist/access-recall-surface.js +5 -5
- package/dist/{access-service-CaWJP_f6.d.ts → access-service-CAoJ4qN8.d.ts} +1 -1
- package/dist/access-service.d.ts +2 -2
- package/dist/access-service.js +5 -5
- package/dist/access-surface-catalog.d.ts +2 -2
- package/dist/bootstrap.d.ts +1 -1
- package/dist/briefing.js +3 -3
- package/dist/causal-consolidation.js +4 -4
- package/dist/{chunk-OQ6F3WBX.js → chunk-2RLECZ6J.js} +2 -2
- package/dist/{chunk-DB647OZ4.js → chunk-2V6CTSSA.js} +13 -13
- package/dist/{chunk-2KYXXMTE.js → chunk-422OELQ3.js} +4 -4
- package/dist/{chunk-DPZ5GJMD.js → chunk-5JF4DIKZ.js} +2 -2
- package/dist/{chunk-ZTBH2OHD.js → chunk-AS2NRB45.js} +2 -2
- package/dist/{chunk-JU6BKZHX.js → chunk-CGLRKKMF.js} +3 -3
- package/dist/{chunk-HDFS6RWQ.js → chunk-CVINPTKG.js} +2 -2
- package/dist/{chunk-P7W4CDX6.js → chunk-DTTVX6EO.js} +11 -3
- package/dist/chunk-DTTVX6EO.js.map +1 -0
- package/dist/{chunk-HDYFNXVO.js → chunk-IVFIYAIP.js} +2 -2
- package/dist/{chunk-QPFO54VC.js → chunk-KXG7HHIQ.js} +2 -2
- package/dist/{chunk-ESDBHQY6.js → chunk-N3QDLE2N.js} +5 -5
- package/dist/{chunk-4HYJETVO.js → chunk-N4ZA2I7M.js} +2 -2
- package/dist/{chunk-TEKTCF2V.js → chunk-NDXJJKT2.js} +2 -2
- package/dist/{chunk-2PGB63VU.js → chunk-NFWTMM2M.js} +2 -2
- package/dist/{chunk-PNFN7SIN.js → chunk-OX272PBW.js} +2 -2
- package/dist/{chunk-WAIMHMO3.js → chunk-P6ZZ4GX4.js} +3 -3
- package/dist/{chunk-HMUEAKSD.js → chunk-QPTP6SKC.js} +2 -2
- package/dist/{chunk-VHYFY3JI.js → chunk-R3K4CXPR.js} +2 -2
- package/dist/{chunk-EDC7RZCW.js → chunk-RIOJRLJ6.js} +25 -55
- package/dist/chunk-RIOJRLJ6.js.map +1 -0
- package/dist/{chunk-TIWRP5NW.js → chunk-RJCQPRLB.js} +4 -4
- package/dist/{chunk-IIURIWJG.js → chunk-SFNQDXXL.js} +9 -5
- package/dist/chunk-SFNQDXXL.js.map +1 -0
- package/dist/{chunk-MB5RSUW6.js → chunk-SXN3LCUT.js} +114 -28
- package/dist/chunk-SXN3LCUT.js.map +1 -0
- package/dist/{chunk-LAJIXABF.js → chunk-UQEE4H6Z.js} +12 -12
- package/dist/chunk-UQEE4H6Z.js.map +1 -0
- package/dist/{chunk-ES3GAMSQ.js → chunk-VKHZFF5P.js} +2 -2
- package/dist/{chunk-KZWUJC7Y.js → chunk-X7HTU4HO.js} +2 -2
- package/dist/{chunk-QWIE43BS.js → chunk-YDYC6PIS.js} +2 -2
- package/dist/{cli-CvWpIbMD.d.ts → cli-WRmxvfc_.d.ts} +2 -2
- package/dist/cli.d.ts +3 -3
- package/dist/cli.js +20 -20
- package/dist/compounding/engine.js +3 -3
- package/dist/connectors/codex-materialize-runner.js +3 -3
- package/dist/connectors/index.js +3 -3
- package/dist/entity-retrieval.js +3 -3
- package/dist/explicit-capture.d.ts +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +26 -26
- package/dist/maintenance/memory-governance.js +3 -3
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
- package/dist/maintenance/rebuild-memory-projection.js +4 -4
- package/dist/mcp-memory-inspector-app.d.ts +2 -2
- package/dist/memory-projection-store.d.ts +6 -2
- package/dist/memory-projection-store.js +9 -3
- package/dist/namespaces/migrate.js +4 -4
- package/dist/namespaces/storage.js +3 -3
- package/dist/operator-toolkit.js +7 -7
- package/dist/orchestration/maintenance.js +5 -5
- package/dist/{orchestrator-C04Q4Zao.d.ts → orchestrator-Y9wyG4jK.d.ts} +102 -15
- package/dist/orchestrator.d.ts +1 -1
- package/dist/orchestrator.js +26 -26
- package/dist/{purge-6ATBGT77.js → purge-IHRX4Z7X.js} +7 -1
- package/dist/purge-IHRX4Z7X.js.map +1 -0
- package/dist/semantic-consolidation.js +4 -4
- package/dist/semantic-rule-promotion.js +3 -3
- package/dist/semantic-rule-verifier.js +3 -3
- package/dist/storage.js +2 -2
- package/dist/verified-recall.js +3 -3
- package/package.json +2 -2
- package/src/access-service.ts +7 -7
- package/src/maintenance/purge.test.ts +76 -0
- package/src/maintenance/purge.ts +3 -0
- package/src/maintenance/rebuild-memory-projection.ts +5 -1
- package/src/memory-projection-store.ts +143 -35
- package/src/orchestration/recall-introspection.ts +3 -12
- package/src/orchestrator.ts +9 -57
- package/src/storage.ts +8 -8
- package/dist/chunk-EDC7RZCW.js.map +0 -1
- package/dist/chunk-IIURIWJG.js.map +0 -1
- package/dist/chunk-LAJIXABF.js.map +0 -1
- package/dist/chunk-MB5RSUW6.js.map +0 -1
- package/dist/chunk-P7W4CDX6.js.map +0 -1
- package/dist/purge-6ATBGT77.js.map +0 -1
- /package/dist/{chunk-OQ6F3WBX.js.map → chunk-2RLECZ6J.js.map} +0 -0
- /package/dist/{chunk-DB647OZ4.js.map → chunk-2V6CTSSA.js.map} +0 -0
- /package/dist/{chunk-2KYXXMTE.js.map → chunk-422OELQ3.js.map} +0 -0
- /package/dist/{chunk-DPZ5GJMD.js.map → chunk-5JF4DIKZ.js.map} +0 -0
- /package/dist/{chunk-ZTBH2OHD.js.map → chunk-AS2NRB45.js.map} +0 -0
- /package/dist/{chunk-JU6BKZHX.js.map → chunk-CGLRKKMF.js.map} +0 -0
- /package/dist/{chunk-HDFS6RWQ.js.map → chunk-CVINPTKG.js.map} +0 -0
- /package/dist/{chunk-HDYFNXVO.js.map → chunk-IVFIYAIP.js.map} +0 -0
- /package/dist/{chunk-QPFO54VC.js.map → chunk-KXG7HHIQ.js.map} +0 -0
- /package/dist/{chunk-ESDBHQY6.js.map → chunk-N3QDLE2N.js.map} +0 -0
- /package/dist/{chunk-4HYJETVO.js.map → chunk-N4ZA2I7M.js.map} +0 -0
- /package/dist/{chunk-TEKTCF2V.js.map → chunk-NDXJJKT2.js.map} +0 -0
- /package/dist/{chunk-2PGB63VU.js.map → chunk-NFWTMM2M.js.map} +0 -0
- /package/dist/{chunk-PNFN7SIN.js.map → chunk-OX272PBW.js.map} +0 -0
- /package/dist/{chunk-WAIMHMO3.js.map → chunk-P6ZZ4GX4.js.map} +0 -0
- /package/dist/{chunk-HMUEAKSD.js.map → chunk-QPTP6SKC.js.map} +0 -0
- /package/dist/{chunk-VHYFY3JI.js.map → chunk-R3K4CXPR.js.map} +0 -0
- /package/dist/{chunk-TIWRP5NW.js.map → chunk-RJCQPRLB.js.map} +0 -0
- /package/dist/{chunk-ES3GAMSQ.js.map → chunk-VKHZFF5P.js.map} +0 -0
- /package/dist/{chunk-KZWUJC7Y.js.map → chunk-X7HTU4HO.js.map} +0 -0
- /package/dist/{chunk-QWIE43BS.js.map → chunk-YDYC6PIS.js.map} +0 -0
|
@@ -2,6 +2,8 @@ import {
|
|
|
2
2
|
MEMORY_PROJECTION_SCHEMA_VERSION,
|
|
3
3
|
getMemoryProjectionPath,
|
|
4
4
|
initializeMemoryProjectionDb,
|
|
5
|
+
isProjectedMemoryPathValid,
|
|
6
|
+
markProjectedMemoryPathInvalid,
|
|
5
7
|
memoryCurrentSelectExpressions,
|
|
6
8
|
parseCurrentRow,
|
|
7
9
|
parseTimelineRows,
|
|
@@ -11,14 +13,17 @@ import {
|
|
|
11
13
|
readProjectedMemoryBrowse,
|
|
12
14
|
readProjectedMemoryState,
|
|
13
15
|
readProjectedMemoryTimeline,
|
|
14
|
-
readProjectedNativeKnowledgeChunks
|
|
15
|
-
|
|
16
|
+
readProjectedNativeKnowledgeChunks,
|
|
17
|
+
updateProjectedMemoryPath
|
|
18
|
+
} from "./chunk-SXN3LCUT.js";
|
|
16
19
|
import "./chunk-6KYMPV2O.js";
|
|
17
20
|
import "./chunk-PZ5AY32C.js";
|
|
18
21
|
export {
|
|
19
22
|
MEMORY_PROJECTION_SCHEMA_VERSION,
|
|
20
23
|
getMemoryProjectionPath,
|
|
21
24
|
initializeMemoryProjectionDb,
|
|
25
|
+
isProjectedMemoryPathValid,
|
|
26
|
+
markProjectedMemoryPathInvalid,
|
|
22
27
|
memoryCurrentSelectExpressions,
|
|
23
28
|
parseCurrentRow,
|
|
24
29
|
parseTimelineRows,
|
|
@@ -28,6 +33,7 @@ export {
|
|
|
28
33
|
readProjectedMemoryBrowse,
|
|
29
34
|
readProjectedMemoryState,
|
|
30
35
|
readProjectedMemoryTimeline,
|
|
31
|
-
readProjectedNativeKnowledgeChunks
|
|
36
|
+
readProjectedNativeKnowledgeChunks,
|
|
37
|
+
updateProjectedMemoryPath
|
|
32
38
|
};
|
|
33
39
|
//# sourceMappingURL=memory-projection-store.js.map
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
listNamespaces,
|
|
3
3
|
runNamespaceMigration,
|
|
4
4
|
verifyNamespaces
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-KXG7HHIQ.js";
|
|
6
|
+
import "../chunk-OX272PBW.js";
|
|
7
7
|
import "../chunk-BRYPUVJU.js";
|
|
8
8
|
import "../chunk-NKP6II6G.js";
|
|
9
9
|
import "../chunk-WRFKZEO6.js";
|
|
@@ -23,7 +23,7 @@ import "../chunk-K43PI6DQ.js";
|
|
|
23
23
|
import "../chunk-YNQ6DFSV.js";
|
|
24
24
|
import "../chunk-O75CRYGF.js";
|
|
25
25
|
import "../chunk-3ONXXHQO.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-DTTVX6EO.js";
|
|
27
27
|
import "../chunk-M7XQSUBB.js";
|
|
28
28
|
import "../chunk-L2B3EE7B.js";
|
|
29
29
|
import "../chunk-5UZXUTVO.js";
|
|
@@ -39,7 +39,7 @@ import "../chunk-AWJ2FHCF.js";
|
|
|
39
39
|
import "../chunk-42JKGUFJ.js";
|
|
40
40
|
import "../chunk-RULE4VG5.js";
|
|
41
41
|
import "../chunk-SCU65EZI.js";
|
|
42
|
-
import "../chunk-
|
|
42
|
+
import "../chunk-SXN3LCUT.js";
|
|
43
43
|
import "../chunk-6KYMPV2O.js";
|
|
44
44
|
import "../chunk-DM2T26WE.js";
|
|
45
45
|
import "../chunk-LDXUBPMO.js";
|
|
@@ -2,9 +2,9 @@ import {
|
|
|
2
2
|
NamespaceStorageRouter,
|
|
3
3
|
resolveDefaultNamespaceRoot,
|
|
4
4
|
resolveNamespaceStorageRoot
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-OX272PBW.js";
|
|
6
6
|
import "../chunk-EGGE52UU.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-DTTVX6EO.js";
|
|
8
8
|
import "../chunk-M7XQSUBB.js";
|
|
9
9
|
import "../chunk-L2B3EE7B.js";
|
|
10
10
|
import "../chunk-5UZXUTVO.js";
|
|
@@ -20,7 +20,7 @@ import "../chunk-AWJ2FHCF.js";
|
|
|
20
20
|
import "../chunk-42JKGUFJ.js";
|
|
21
21
|
import "../chunk-RULE4VG5.js";
|
|
22
22
|
import "../chunk-SCU65EZI.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-SXN3LCUT.js";
|
|
24
24
|
import "../chunk-6KYMPV2O.js";
|
|
25
25
|
import "../chunk-DM2T26WE.js";
|
|
26
26
|
import "../chunk-LDXUBPMO.js";
|
package/dist/operator-toolkit.js
CHANGED
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
summarizeProvenanceCoverage,
|
|
14
14
|
summarizeTierDistribution,
|
|
15
15
|
summarizeTombstoneStatus
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-N3QDLE2N.js";
|
|
17
|
+
import "./chunk-NFWTMM2M.js";
|
|
18
|
+
import "./chunk-KXG7HHIQ.js";
|
|
19
|
+
import "./chunk-OX272PBW.js";
|
|
20
20
|
import "./chunk-KFY3SGN7.js";
|
|
21
21
|
import "./chunk-CMTINOFS.js";
|
|
22
22
|
import "./chunk-BVKCV2ZY.js";
|
|
@@ -42,7 +42,7 @@ import "./chunk-5CEJH5ZN.js";
|
|
|
42
42
|
import "./chunk-AER6MT24.js";
|
|
43
43
|
import "./chunk-CINZGPSJ.js";
|
|
44
44
|
import "./chunk-EGGE52UU.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-IVFIYAIP.js";
|
|
46
46
|
import "./chunk-DCWIQFNA.js";
|
|
47
47
|
import "./chunk-XBZQRZ6G.js";
|
|
48
48
|
import "./chunk-KCQA46NR.js";
|
|
@@ -54,7 +54,7 @@ import "./chunk-3ONXXHQO.js";
|
|
|
54
54
|
import "./chunk-EHQ5HO5T.js";
|
|
55
55
|
import "./chunk-2LSZVONP.js";
|
|
56
56
|
import "./chunk-DEUNUKTD.js";
|
|
57
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-DTTVX6EO.js";
|
|
58
58
|
import "./chunk-M7XQSUBB.js";
|
|
59
59
|
import "./chunk-L2B3EE7B.js";
|
|
60
60
|
import "./chunk-5UZXUTVO.js";
|
|
@@ -70,7 +70,7 @@ import "./chunk-AWJ2FHCF.js";
|
|
|
70
70
|
import "./chunk-42JKGUFJ.js";
|
|
71
71
|
import "./chunk-RULE4VG5.js";
|
|
72
72
|
import "./chunk-SCU65EZI.js";
|
|
73
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-SXN3LCUT.js";
|
|
74
74
|
import "./chunk-6KYMPV2O.js";
|
|
75
75
|
import "./chunk-DM2T26WE.js";
|
|
76
76
|
import "./chunk-LDXUBPMO.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MaintenanceScheduler
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-YDYC6PIS.js";
|
|
4
4
|
import "../chunk-666A3MOW.js";
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-NFWTMM2M.js";
|
|
6
|
+
import "../chunk-OX272PBW.js";
|
|
7
7
|
import "../chunk-BAVVI5GP.js";
|
|
8
8
|
import "../chunk-EGGE52UU.js";
|
|
9
9
|
import "../chunk-O75CRYGF.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-DTTVX6EO.js";
|
|
11
11
|
import "../chunk-M7XQSUBB.js";
|
|
12
12
|
import "../chunk-L2B3EE7B.js";
|
|
13
13
|
import "../chunk-5UZXUTVO.js";
|
|
@@ -23,7 +23,7 @@ import "../chunk-AWJ2FHCF.js";
|
|
|
23
23
|
import "../chunk-42JKGUFJ.js";
|
|
24
24
|
import "../chunk-RULE4VG5.js";
|
|
25
25
|
import "../chunk-SCU65EZI.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-SXN3LCUT.js";
|
|
27
27
|
import "../chunk-6KYMPV2O.js";
|
|
28
28
|
import "../chunk-DM2T26WE.js";
|
|
29
29
|
import "../chunk-LDXUBPMO.js";
|
|
@@ -1596,6 +1596,107 @@ declare class GraphRecallCoordinator {
|
|
|
1596
1596
|
private graphSeedPathsWithinDeadline;
|
|
1597
1597
|
}
|
|
1598
1598
|
|
|
1599
|
+
/**
|
|
1600
|
+
* Recall-introspection coordinator — extracted from the orchestrator
|
|
1601
|
+
* (issue #1526, seam 21).
|
|
1602
|
+
*
|
|
1603
|
+
* Owns the recall observability surfaces:
|
|
1604
|
+
* - last-intent / last-graph-recall / last-QMD-recall snapshot
|
|
1605
|
+
* recording, reading, and explain rendering
|
|
1606
|
+
* - console faithfulness distribution
|
|
1607
|
+
* - background direct-answer tier annotation (observation mode, #518)
|
|
1608
|
+
*
|
|
1609
|
+
* Behavior-preserving move from orchestrator.ts. The orchestrator keeps
|
|
1610
|
+
* thin delegating methods; all member access flows back through
|
|
1611
|
+
* RecallIntrospectionDeps live accessors/arrows (late-binding rule,
|
|
1612
|
+
* seams 18–20).
|
|
1613
|
+
*/
|
|
1614
|
+
|
|
1615
|
+
interface RecallIntrospectionDeps {
|
|
1616
|
+
annotateDirectAnswerTier(prompt: string, sessionKey: string, namespaces: string[], expectedIdentity: {
|
|
1617
|
+
writeNonce?: string;
|
|
1618
|
+
traceId?: string;
|
|
1619
|
+
recordedAt?: string;
|
|
1620
|
+
} | undefined, caps: CapabilitySet, _parentAbortSignal?: AbortSignal): Promise<void>;
|
|
1621
|
+
readonly config: PluginConfig;
|
|
1622
|
+
directAnswerObservationChain: Promise<void>;
|
|
1623
|
+
effectiveCronRecallInstructionHeavyTokenCap(): number;
|
|
1624
|
+
readonly faithfulnessCounters: FaithfulnessGateCounters;
|
|
1625
|
+
getCodingContextForSession(sessionKey: string | undefined): CodingContext | null;
|
|
1626
|
+
getStorage(namespace?: string): Promise<StorageManager>;
|
|
1627
|
+
readonly graphRecallCoordinator: GraphRecallCoordinator;
|
|
1628
|
+
readonly lastRecall: LastRecallStore;
|
|
1629
|
+
trackRecallBackgroundWrite(promise: Promise<void>, label: string): void;
|
|
1630
|
+
resolveStateDirForNamespace(namespace: string): Promise<string>;
|
|
1631
|
+
readonly storageRouter: NamespaceStorageRouter;
|
|
1632
|
+
}
|
|
1633
|
+
declare class RecallIntrospectionCoordinator {
|
|
1634
|
+
private readonly deps;
|
|
1635
|
+
constructor(deps: RecallIntrospectionDeps);
|
|
1636
|
+
/**
|
|
1637
|
+
* Faithfulness gate verdict distribution (issue #1576). Consumed by the
|
|
1638
|
+
* console-state aggregator so `remnic doctor` can render how the gate is
|
|
1639
|
+
* performing. Returns a fresh object so callers cannot mutate the
|
|
1640
|
+
* internal counters. Returns `undefined` when the gate is off so the
|
|
1641
|
+
* console-state snapshot omits the faithfulness block entirely (cursor
|
|
1642
|
+
* review: an all-zero block would otherwise always be truthy and leak
|
|
1643
|
+
* into snapshots that document it as absent-when-off).
|
|
1644
|
+
*/
|
|
1645
|
+
getConsoleFaithfulnessDistribution(): FaithfulnessGateCounters | undefined;
|
|
1646
|
+
getLastGraphRecallSnapshot(namespace?: string): Promise<GraphRecallSnapshot | null>;
|
|
1647
|
+
getLastIntentSnapshot(namespace?: string): Promise<IntentDebugSnapshot | null>;
|
|
1648
|
+
getLastQmdRecallSnapshot(namespace?: string): Promise<QmdRecallSnapshot | null>;
|
|
1649
|
+
explainLastGraphRecall(options?: {
|
|
1650
|
+
namespace?: string;
|
|
1651
|
+
maxExpanded?: number;
|
|
1652
|
+
}): Promise<string>;
|
|
1653
|
+
explainLastIntent(options?: {
|
|
1654
|
+
namespace?: string;
|
|
1655
|
+
}): Promise<string>;
|
|
1656
|
+
explainLastQmdRecall(options?: {
|
|
1657
|
+
namespace?: string;
|
|
1658
|
+
maxResults?: number;
|
|
1659
|
+
}): Promise<string>;
|
|
1660
|
+
/**
|
|
1661
|
+
* Await the in-flight observation-mode direct-answer annotation chain.
|
|
1662
|
+
* Resolves to true when settled, false on timeout.
|
|
1663
|
+
*/
|
|
1664
|
+
waitForDirectAnswerObservationIdle(timeoutMs?: number): Promise<boolean>;
|
|
1665
|
+
enqueueDirectAnswerObservation(prompt: string, sessionKey: string, namespaceOverride: string | undefined, principalOverride: string | undefined, caps: CapabilitySet, namespacesEnabled: boolean): void;
|
|
1666
|
+
annotateDirectAnswerTier(prompt: string, sessionKey: string, namespaces: string[], expectedIdentity: {
|
|
1667
|
+
writeNonce?: string;
|
|
1668
|
+
traceId?: string;
|
|
1669
|
+
recordedAt?: string;
|
|
1670
|
+
} | undefined, caps: CapabilitySet, _parentAbortSignal?: AbortSignal): Promise<void>;
|
|
1671
|
+
recordLastGraphRecallSnapshot(options: {
|
|
1672
|
+
storage: StorageManager;
|
|
1673
|
+
prompt: string;
|
|
1674
|
+
recallMode: RecallPlanMode;
|
|
1675
|
+
recallNamespaces: string[];
|
|
1676
|
+
seedPaths: string[];
|
|
1677
|
+
expandedPaths: GraphRecallExpandedEntry[];
|
|
1678
|
+
status: "completed" | "skipped" | "aborted";
|
|
1679
|
+
reason?: string;
|
|
1680
|
+
shadowMode?: boolean;
|
|
1681
|
+
queryIntent: MemoryIntent;
|
|
1682
|
+
seedResults?: GraphRecallRankedResult[];
|
|
1683
|
+
finalResults?: GraphRecallRankedResult[];
|
|
1684
|
+
shadowComparison?: GraphRecallShadowComparison;
|
|
1685
|
+
}): Promise<void>;
|
|
1686
|
+
recordLastIntentSnapshot(options: {
|
|
1687
|
+
storage: StorageManager;
|
|
1688
|
+
snapshot: IntentDebugSnapshot;
|
|
1689
|
+
}): Promise<void>;
|
|
1690
|
+
recordLastQmdRecallSnapshot(options: {
|
|
1691
|
+
storage: StorageManager;
|
|
1692
|
+
snapshot: QmdRecallSnapshot;
|
|
1693
|
+
}): Promise<void>;
|
|
1694
|
+
recordLastIntentSnapshotForNamespace(options: {
|
|
1695
|
+
namespace: string;
|
|
1696
|
+
snapshot: IntentDebugSnapshot;
|
|
1697
|
+
}): Promise<void>;
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1599
1700
|
/**
|
|
1600
1701
|
* Orchestrator module-level helpers — relocated from orchestrator.ts
|
|
1601
1702
|
* (issue #1526, seam 25).
|
|
@@ -2469,20 +2570,6 @@ declare class Orchestrator {
|
|
|
2469
2570
|
appendMemoryActionEvent(event: Omit<MemoryActionEvent, "timestamp"> & {
|
|
2470
2571
|
timestamp?: string;
|
|
2471
2572
|
}): Promise<boolean>;
|
|
2472
|
-
getLastGraphRecallSnapshot(namespace?: string): Promise<GraphRecallSnapshot | null>;
|
|
2473
|
-
getLastIntentSnapshot(namespace?: string): Promise<IntentDebugSnapshot | null>;
|
|
2474
|
-
getLastQmdRecallSnapshot(namespace?: string): Promise<QmdRecallSnapshot | null>;
|
|
2475
|
-
explainLastGraphRecall(options?: {
|
|
2476
|
-
namespace?: string;
|
|
2477
|
-
maxExpanded?: number;
|
|
2478
|
-
}): Promise<string>;
|
|
2479
|
-
explainLastIntent(options?: {
|
|
2480
|
-
namespace?: string;
|
|
2481
|
-
}): Promise<string>;
|
|
2482
|
-
explainLastQmdRecall(options?: {
|
|
2483
|
-
namespace?: string;
|
|
2484
|
-
maxResults?: number;
|
|
2485
|
-
}): Promise<string>;
|
|
2486
2573
|
private searchConversationRecallResults;
|
|
2487
2574
|
private formatConversationRecallSection;
|
|
2488
2575
|
getConversationIndexHealth(): Promise<{
|
|
@@ -2619,7 +2706,7 @@ declare class Orchestrator {
|
|
|
2619
2706
|
* Lazy + accessor-wired (late-binding rule, seams 18–20).
|
|
2620
2707
|
*/
|
|
2621
2708
|
private _recallIntrospectionCoordinator;
|
|
2622
|
-
|
|
2709
|
+
get recallIntrospection(): RecallIntrospectionCoordinator;
|
|
2623
2710
|
/**
|
|
2624
2711
|
* Orchestrator-init coordinator (issue #1526 seam 22). Owns
|
|
2625
2712
|
* initialize/deferredInitialize/startupSearchSync. Lazy + accessor-wired
|
package/dist/orchestrator.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import './summarizer.js';
|
|
|
8
8
|
import './local-llm.js';
|
|
9
9
|
import './fallback-llm.js';
|
|
10
10
|
import './orchestration/maintenance.js';
|
|
11
|
-
export { Q as BulkImportBatchIngestResult, T as BulkImportBatchPartialFailureError, U as COMPACTION_SIGNAL_MAX_AGE_MS, V as DaySummaryGatherOptions, X as ExtractionRunResult, Y as GraphRecallRankedResult, Z as GraphRecallShadowComparison, G as GraphRecallSnapshot, I as IntentDebugSnapshot, O as Orchestrator, _ as QmdRecallSnapshot, $ as QueryAwarePrefilter, a0 as RecallInvocationOptions, a1 as RecallModeDecision, a2 as appendMemoryToGraphContext, a3 as applyQueryAwareCandidateFilter, a4 as blendGraphExpandedRecallScore, a5 as buildCompressionGuidelinesMarkdown, a6 as buildMemoryPathById, a7 as computeArtifactCandidateFetchLimit, a8 as computeArtifactRecallLimit, a9 as computeQmdHybridFetchLimit, t as defaultWorkspaceDir, aa as deriveTopicsFromExtraction, ab as filterHourlySummaryMarkdownForLocalDay, ac as filterRecallCandidates, ad as formatDateInTimeZone, ae as graphPathRelativeToStorage, af as hasIdentityRecoveryIntent, ag as isArtifactMemoryPath, ah as lifecycleRecallScoreAdjustment, ai as mapRecallSourceToXrayServedBy, aj as mergeArtifactRecallCandidates, ak as mergeGraphExpandedResults, al as normalizeIanaTimeZone, am as parseFiniteDate, an as parseGraphRecallRankedResults, ao as parseMemoryIntentSnapshot, ap as parseQmdRecallResults, aq as qmdStartupCollectionCheckWithTimeout, ar as raceRecallAbort, as as resolveEffectiveIdentityInjectionMode, at as resolveEffectiveRecallMode, au as resolvePersistedMemoryRelativePath, av as resolveRecallModeDecision, aw as resolveRecallModeDecisionAsync, ax as resolveRecentThreadMemoryPaths, E as sanitizeSessionKeyForFilename, ay as shouldFilterLifecycleRecallCandidate, az as splitTurnsBySourceValidAt, aA as summarizeGraphShadowComparison, aB as targetSourceValidAtSortMs, aC as throwIfRecallAborted, aD as tokenizeRecallQuery, aE as utcDateKeysForLocalDay } from './orchestrator-
|
|
11
|
+
export { Q as BulkImportBatchIngestResult, T as BulkImportBatchPartialFailureError, U as COMPACTION_SIGNAL_MAX_AGE_MS, V as DaySummaryGatherOptions, X as ExtractionRunResult, Y as GraphRecallRankedResult, Z as GraphRecallShadowComparison, G as GraphRecallSnapshot, I as IntentDebugSnapshot, O as Orchestrator, _ as QmdRecallSnapshot, $ as QueryAwarePrefilter, a0 as RecallInvocationOptions, a1 as RecallModeDecision, a2 as appendMemoryToGraphContext, a3 as applyQueryAwareCandidateFilter, a4 as blendGraphExpandedRecallScore, a5 as buildCompressionGuidelinesMarkdown, a6 as buildMemoryPathById, a7 as computeArtifactCandidateFetchLimit, a8 as computeArtifactRecallLimit, a9 as computeQmdHybridFetchLimit, t as defaultWorkspaceDir, aa as deriveTopicsFromExtraction, ab as filterHourlySummaryMarkdownForLocalDay, ac as filterRecallCandidates, ad as formatDateInTimeZone, ae as graphPathRelativeToStorage, af as hasIdentityRecoveryIntent, ag as isArtifactMemoryPath, ah as lifecycleRecallScoreAdjustment, ai as mapRecallSourceToXrayServedBy, aj as mergeArtifactRecallCandidates, ak as mergeGraphExpandedResults, al as normalizeIanaTimeZone, am as parseFiniteDate, an as parseGraphRecallRankedResults, ao as parseMemoryIntentSnapshot, ap as parseQmdRecallResults, aq as qmdStartupCollectionCheckWithTimeout, ar as raceRecallAbort, as as resolveEffectiveIdentityInjectionMode, at as resolveEffectiveRecallMode, au as resolvePersistedMemoryRelativePath, av as resolveRecallModeDecision, aw as resolveRecallModeDecisionAsync, ax as resolveRecentThreadMemoryPaths, E as sanitizeSessionKeyForFilename, ay as shouldFilterLifecycleRecallCandidate, az as splitTurnsBySourceValidAt, aA as summarizeGraphShadowComparison, aB as targetSourceValidAtSortMs, aC as throwIfRecallAborted, aD as tokenizeRecallQuery, aE as utcDateKeysForLocalDay } from './orchestrator-Y9wyG4jK.js';
|
|
12
12
|
export { formatCompressionGuidelinesForRecall } from './orchestration/compression-guideline-coordinator.js';
|
|
13
13
|
import './live-connectors-runner.js';
|
|
14
14
|
import './model-registry.js';
|
package/dist/orchestrator.js
CHANGED
|
@@ -43,12 +43,12 @@ import {
|
|
|
43
43
|
throwIfRecallAborted,
|
|
44
44
|
tokenizeRecallQuery,
|
|
45
45
|
utcDateKeysForLocalDay
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-RIOJRLJ6.js";
|
|
47
47
|
import "./chunk-IBAU2RZN.js";
|
|
48
48
|
import {
|
|
49
49
|
formatCompressionGuidelinesForRecall
|
|
50
50
|
} from "./chunk-5QANTTY2.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-YDYC6PIS.js";
|
|
52
52
|
import "./chunk-I74SUMNI.js";
|
|
53
53
|
import "./chunk-ILNPU5W5.js";
|
|
54
54
|
import "./chunk-7HYPN2GC.js";
|
|
@@ -66,7 +66,7 @@ import "./chunk-O7GOFAM3.js";
|
|
|
66
66
|
import "./chunk-KBL3JJR6.js";
|
|
67
67
|
import "./chunk-ABP6QMVM.js";
|
|
68
68
|
import "./chunk-HW5EF6LV.js";
|
|
69
|
-
import "./chunk-
|
|
69
|
+
import "./chunk-QPTP6SKC.js";
|
|
70
70
|
import "./chunk-JRZV3767.js";
|
|
71
71
|
import "./chunk-4DLFJJOQ.js";
|
|
72
72
|
import "./chunk-V5OCT34X.js";
|
|
@@ -119,13 +119,13 @@ import "./chunk-3NN73CM7.js";
|
|
|
119
119
|
import "./chunk-Q6IP2ARR.js";
|
|
120
120
|
import "./chunk-6HEM6HTQ.js";
|
|
121
121
|
import "./chunk-OSMBC3JU.js";
|
|
122
|
-
import "./chunk-
|
|
122
|
+
import "./chunk-AS2NRB45.js";
|
|
123
123
|
import "./chunk-FIOYURII.js";
|
|
124
124
|
import "./chunk-LUPVCGYK.js";
|
|
125
125
|
import "./chunk-PYPOFEMK.js";
|
|
126
126
|
import "./chunk-LOPZ2DWR.js";
|
|
127
127
|
import "./chunk-VEWZZM3H.js";
|
|
128
|
-
import "./chunk-
|
|
128
|
+
import "./chunk-2V6CTSSA.js";
|
|
129
129
|
import "./chunk-MC4FJXPA.js";
|
|
130
130
|
import "./chunk-LQHDIS7L.js";
|
|
131
131
|
import "./chunk-7F7Z6MOS.js";
|
|
@@ -149,18 +149,18 @@ import "./chunk-EEC4PCG5.js";
|
|
|
149
149
|
import "./chunk-WMWVO45V.js";
|
|
150
150
|
import "./chunk-D6RIFG4O.js";
|
|
151
151
|
import "./chunk-JCK7V6SN.js";
|
|
152
|
-
import "./chunk-
|
|
153
|
-
import "./chunk-
|
|
152
|
+
import "./chunk-NDXJJKT2.js";
|
|
153
|
+
import "./chunk-SFNQDXXL.js";
|
|
154
154
|
import "./chunk-KJTKLXTH.js";
|
|
155
155
|
import "./chunk-CKITWVWJ.js";
|
|
156
156
|
import "./chunk-OUELRE5E.js";
|
|
157
157
|
import "./chunk-GQL52GQ5.js";
|
|
158
158
|
import "./chunk-2F6NP3NT.js";
|
|
159
159
|
import "./chunk-TERNBNJB.js";
|
|
160
|
-
import "./chunk-
|
|
160
|
+
import "./chunk-N4ZA2I7M.js";
|
|
161
161
|
import "./chunk-QRDOSYOR.js";
|
|
162
|
-
import "./chunk-
|
|
163
|
-
import "./chunk-
|
|
162
|
+
import "./chunk-X7HTU4HO.js";
|
|
163
|
+
import "./chunk-VKHZFF5P.js";
|
|
164
164
|
import "./chunk-TGQ2NTWH.js";
|
|
165
165
|
import "./chunk-4XL3CVII.js";
|
|
166
166
|
import "./chunk-ZRWB5D4H.js";
|
|
@@ -168,10 +168,10 @@ import "./chunk-GY3SKOS4.js";
|
|
|
168
168
|
import "./chunk-SFQ6QNL7.js";
|
|
169
169
|
import "./chunk-DANV2HTH.js";
|
|
170
170
|
import "./chunk-33JBK2XP.js";
|
|
171
|
-
import "./chunk-
|
|
172
|
-
import "./chunk-
|
|
173
|
-
import "./chunk-
|
|
174
|
-
import "./chunk-
|
|
171
|
+
import "./chunk-N3QDLE2N.js";
|
|
172
|
+
import "./chunk-NFWTMM2M.js";
|
|
173
|
+
import "./chunk-KXG7HHIQ.js";
|
|
174
|
+
import "./chunk-OX272PBW.js";
|
|
175
175
|
import "./chunk-KFY3SGN7.js";
|
|
176
176
|
import "./chunk-3T74IZB3.js";
|
|
177
177
|
import "./chunk-CMTINOFS.js";
|
|
@@ -193,8 +193,8 @@ import "./chunk-LMDRGRJ2.js";
|
|
|
193
193
|
import "./chunk-OD4FM2U7.js";
|
|
194
194
|
import "./chunk-3I4FUAVJ.js";
|
|
195
195
|
import "./chunk-OKTXM5H4.js";
|
|
196
|
-
import "./chunk-
|
|
197
|
-
import "./chunk-
|
|
196
|
+
import "./chunk-CVINPTKG.js";
|
|
197
|
+
import "./chunk-2RLECZ6J.js";
|
|
198
198
|
import "./chunk-UUH4YQOF.js";
|
|
199
199
|
import "./chunk-JLNBQWZ2.js";
|
|
200
200
|
import "./chunk-3UXOZBHV.js";
|
|
@@ -216,7 +216,7 @@ import "./chunk-KD3QD3A5.js";
|
|
|
216
216
|
import "./chunk-VGUOEDTU.js";
|
|
217
217
|
import "./chunk-H3FZVNRN.js";
|
|
218
218
|
import "./chunk-OADWQ5CR.js";
|
|
219
|
-
import "./chunk-
|
|
219
|
+
import "./chunk-422OELQ3.js";
|
|
220
220
|
import "./chunk-7WV3F5DQ.js";
|
|
221
221
|
import "./chunk-SEDEKFYQ.js";
|
|
222
222
|
import "./chunk-JBPKEARU.js";
|
|
@@ -225,10 +225,10 @@ import "./chunk-J64TK33U.js";
|
|
|
225
225
|
import "./chunk-RSUYKGGZ.js";
|
|
226
226
|
import "./chunk-42NQ7AVG.js";
|
|
227
227
|
import "./chunk-7RXCMVFQ.js";
|
|
228
|
-
import "./chunk-
|
|
228
|
+
import "./chunk-P6ZZ4GX4.js";
|
|
229
229
|
import "./chunk-D24OXEPB.js";
|
|
230
|
-
import "./chunk-
|
|
231
|
-
import "./chunk-
|
|
230
|
+
import "./chunk-CGLRKKMF.js";
|
|
231
|
+
import "./chunk-RJCQPRLB.js";
|
|
232
232
|
import "./chunk-ZQNCHPTZ.js";
|
|
233
233
|
import "./chunk-YF6FMLBT.js";
|
|
234
234
|
import "./chunk-EEKDRAWX.js";
|
|
@@ -236,8 +236,8 @@ import "./chunk-DJECGBBM.js";
|
|
|
236
236
|
import "./chunk-35NN3ZFA.js";
|
|
237
237
|
import "./chunk-T4WDJPEZ.js";
|
|
238
238
|
import "./chunk-2MR3MFQB.js";
|
|
239
|
-
import "./chunk-
|
|
240
|
-
import "./chunk-
|
|
239
|
+
import "./chunk-5JF4DIKZ.js";
|
|
240
|
+
import "./chunk-UQEE4H6Z.js";
|
|
241
241
|
import "./chunk-GDASG7NC.js";
|
|
242
242
|
import "./chunk-GDB4J2H3.js";
|
|
243
243
|
import "./chunk-M5QKGHCR.js";
|
|
@@ -265,7 +265,7 @@ import "./chunk-5CEJH5ZN.js";
|
|
|
265
265
|
import "./chunk-AER6MT24.js";
|
|
266
266
|
import "./chunk-CINZGPSJ.js";
|
|
267
267
|
import "./chunk-EGGE52UU.js";
|
|
268
|
-
import "./chunk-
|
|
268
|
+
import "./chunk-IVFIYAIP.js";
|
|
269
269
|
import "./chunk-DCWIQFNA.js";
|
|
270
270
|
import "./chunk-XBZQRZ6G.js";
|
|
271
271
|
import "./chunk-KCQA46NR.js";
|
|
@@ -288,8 +288,8 @@ import "./chunk-EHQ5HO5T.js";
|
|
|
288
288
|
import "./chunk-2LSZVONP.js";
|
|
289
289
|
import "./chunk-DEUNUKTD.js";
|
|
290
290
|
import "./chunk-SQNED75R.js";
|
|
291
|
-
import "./chunk-
|
|
292
|
-
import "./chunk-
|
|
291
|
+
import "./chunk-R3K4CXPR.js";
|
|
292
|
+
import "./chunk-DTTVX6EO.js";
|
|
293
293
|
import "./chunk-M7XQSUBB.js";
|
|
294
294
|
import "./chunk-L2B3EE7B.js";
|
|
295
295
|
import "./chunk-5UZXUTVO.js";
|
|
@@ -305,7 +305,7 @@ import "./chunk-AWJ2FHCF.js";
|
|
|
305
305
|
import "./chunk-42JKGUFJ.js";
|
|
306
306
|
import "./chunk-RULE4VG5.js";
|
|
307
307
|
import "./chunk-SCU65EZI.js";
|
|
308
|
-
import "./chunk-
|
|
308
|
+
import "./chunk-SXN3LCUT.js";
|
|
309
309
|
import "./chunk-6KYMPV2O.js";
|
|
310
310
|
import "./chunk-DM2T26WE.js";
|
|
311
311
|
import "./chunk-LDXUBPMO.js";
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
markProjectedMemoryPathInvalid
|
|
3
|
+
} from "./chunk-SXN3LCUT.js";
|
|
4
|
+
import "./chunk-6KYMPV2O.js";
|
|
1
5
|
import "./chunk-PZ5AY32C.js";
|
|
2
6
|
|
|
3
7
|
// src/maintenance/purge.ts
|
|
@@ -125,11 +129,13 @@ async function purgeMemories(options) {
|
|
|
125
129
|
await unlink(candidate.path);
|
|
126
130
|
actuallyPurged.push(candidate);
|
|
127
131
|
addCollectionForCandidate(candidate);
|
|
132
|
+
markProjectedMemoryPathInvalid(storage.dir, candidate.id);
|
|
128
133
|
} catch (err) {
|
|
129
134
|
const message = err instanceof Error ? err.message : String(err);
|
|
130
135
|
if (hasErrorCode(err, "ENOENT")) {
|
|
131
136
|
alreadyAbsent.push(candidate);
|
|
132
137
|
addCollectionForCandidate(candidate);
|
|
138
|
+
markProjectedMemoryPathInvalid(storage.dir, candidate.id);
|
|
133
139
|
} else {
|
|
134
140
|
errors.push({ id: candidate.id, path: candidate.path, error: message });
|
|
135
141
|
}
|
|
@@ -202,4 +208,4 @@ async function purgeMemories(options) {
|
|
|
202
208
|
export {
|
|
203
209
|
purgeMemories
|
|
204
210
|
};
|
|
205
|
-
//# sourceMappingURL=purge-
|
|
211
|
+
//# sourceMappingURL=purge-IHRX4Z7X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/maintenance/purge.ts"],"sourcesContent":["/**\n * Operator-facing bulk hard-delete (issue #686 retention-completion).\n *\n * `purgeMemories(opts)` hard-deletes memories that are:\n * - older than `olderThanMs` (measured against `updated ?? created`), AND\n * - in the specified tier (`\"cold\"` or `\"all\"`), AND\n * - optionally in `status: \"forgotten\"` only (when `forgottenOnly` is true)\n *\n * Hard-delete means:\n * 1. Remove the file from disk.\n * 2. Trigger a QMD collection update so the index no longer contains it.\n * 3. Append a purge audit entry to the observation ledger.\n *\n * `dryRun: true` (the default) reports what *would* be deleted without\n * actually removing anything — callers must opt into mutations by\n * setting `dryRun: false`.\n *\n * The CLI surface enforces an explicit `--confirm yes` guard and\n * defaults to `--dry-run` to make accidental data loss impossible.\n */\n\nimport path from \"node:path\";\nimport { appendFile, mkdir, unlink } from \"node:fs/promises\";\nimport type { StorageManager } from \"../storage.js\";\nimport type { MemoryFile } from \"../types.js\";\nimport { markProjectedMemoryPathInvalid } from \"../memory-projection-store.js\";\nimport type { SearchBackend } from \"../search/port.js\";\n\nexport type PurgeTierFilter = \"cold\" | \"all\";\n\nexport interface PurgeMemoriesOptions {\n storage: StorageManager;\n /**\n * Only memories whose `updated ?? created` timestamp is older than this\n * value (in milliseconds, Unix epoch) will be candidates.\n */\n olderThanMs: number;\n /**\n * `\"cold\"` — only memories in the cold tier (files under `.../cold/`).\n * `\"all\"` — memories in any tier (hot, cold, or archived).\n * Default: `\"cold\"`.\n */\n tier?: PurgeTierFilter;\n /**\n * When `true`, only memories with `status === \"forgotten\"` are candidates.\n * Default: `false` (purge by age + tier regardless of status).\n */\n forgottenOnly?: boolean;\n /** When `true` (default), report candidates but do not delete. */\n dryRun?: boolean;\n /**\n * Optional QMD backend. When supplied and `dryRun === false`, a\n * `updateCollection` call is issued after each deletion so the index stays\n * consistent. Pass `undefined` or omit to skip index maintenance (e.g. in\n * tests that don't have a live QMD instance).\n */\n qmd?: SearchBackend;\n /** Hot-tier QMD collection name (default: `\"openclaw-engram\"`). */\n hotCollection?: string;\n /** Cold-tier QMD collection name (default: `\"openclaw-engram-cold\"`). */\n coldCollection?: string;\n /** Optional hook for long-lived hosts to clear their live dedupe mirror after purge hash cleanup. */\n afterFactHashRemoval?: () => void | Promise<void>;\n /** Optional shutdown signal forwarded to QMD collection refreshes. */\n signal?: AbortSignal;\n /** Override clock for tests. */\n now?: () => Date;\n}\n\nexport interface PurgeCandidate {\n id: string;\n path: string;\n tier: \"hot\" | \"cold\" | \"archive\";\n status: string;\n updatedOrCreated: string;\n ageMs: number;\n}\n\nexport interface PurgeMemoriesResult {\n dryRun: boolean;\n tier: PurgeTierFilter;\n olderThanMs: number;\n candidates: PurgeCandidate[];\n purgedCount: number;\n alreadyAbsentCount: number;\n errorCount: number;\n errors: Array<{ id: string; path: string; error: string }>;\n}\n\nfunction hasErrorCode(err: unknown, code: string): boolean {\n return typeof err === \"object\" && err !== null && \"code\" in err && (err as { code?: unknown }).code === code;\n}\n\nfunction resolveTimestamp(memory: MemoryFile): string {\n const fm = memory.frontmatter as unknown as Record<string, unknown>;\n const updated = typeof fm.updated === \"string\" ? (fm.updated as string) : \"\";\n const created = typeof fm.created === \"string\" ? (fm.created as string) : \"\";\n return updated.length > 0 ? updated : created;\n}\n\nasync function logPurgeAudit(\n storage: StorageManager,\n candidates: PurgeCandidate[],\n now: Date,\n event: \"PURGE_DELETE_INTENT\" | \"PURGE_HARD_DELETE\" | \"PURGE_ALREADY_ABSENT\" = \"PURGE_HARD_DELETE\",\n): Promise<void> {\n if (candidates.length === 0) return;\n const ledgerDir = path.join(storage.dir, \"state\", \"observation-ledger\");\n await mkdir(ledgerDir, { recursive: true });\n const ledgerPath = path.join(ledgerDir, \"purge-audit.jsonl\");\n const entries = candidates.map((c) =>\n JSON.stringify({\n event,\n timestamp: now.toISOString(),\n memoryId: c.id,\n path: c.path,\n tier: c.tier,\n status: c.status,\n updatedOrCreated: c.updatedOrCreated,\n }),\n );\n if (entries.length > 0) {\n await appendFile(ledgerPath, `${entries.join(\"\\n\")}\\n`, \"utf-8\");\n }\n}\n\nexport async function purgeMemories(\n options: PurgeMemoriesOptions,\n): Promise<PurgeMemoriesResult> {\n const {\n storage,\n olderThanMs,\n tier = \"cold\",\n forgottenOnly = false,\n dryRun = true,\n qmd,\n hotCollection = \"openclaw-engram\",\n coldCollection = \"openclaw-engram-cold\",\n } = options;\n\n if (!Number.isFinite(olderThanMs) || olderThanMs <= 0) {\n throw new Error(\"olderThanMs must be a finite positive number\");\n }\n\n const now = (options.now ?? (() => new Date()))();\n const nowMs = now.getTime();\n\n // Collect all memories from applicable tiers\n const [hotMemories, coldMemories, archivedMemories] = await Promise.all([\n tier === \"all\" ? storage.readAllMemories() : Promise.resolve([]),\n storage.readAllColdMemories(),\n tier === \"all\" ? storage.readArchivedMemories() : Promise.resolve([]),\n ]);\n\n const poolEntries: Array<{ memory: MemoryFile; resolvedTier: \"hot\" | \"cold\" | \"archive\" }> = [];\n\n if (tier === \"all\") {\n for (const m of hotMemories) {\n poolEntries.push({ memory: m, resolvedTier: \"hot\" });\n }\n for (const m of archivedMemories) {\n poolEntries.push({ memory: m, resolvedTier: \"archive\" });\n }\n }\n for (const m of coldMemories) {\n poolEntries.push({ memory: m, resolvedTier: \"cold\" });\n }\n\n // Build candidate list\n const candidates: PurgeCandidate[] = [];\n const candidateMemoriesById = new Map<string, MemoryFile>();\n for (const { memory, resolvedTier } of poolEntries) {\n const ts = resolveTimestamp(memory);\n if (ts.length === 0) continue;\n\n const tsMs = Date.parse(ts);\n if (!Number.isFinite(tsMs)) continue;\n\n const ageMs = nowMs - tsMs;\n if (ageMs < olderThanMs) continue;\n\n const fm = memory.frontmatter as unknown as Record<string, unknown>;\n const status: string =\n typeof fm.status === \"string\" ? (fm.status as string) : \"active\";\n\n if (forgottenOnly && status !== \"forgotten\") continue;\n\n candidates.push({\n id: memory.frontmatter.id,\n path: memory.path,\n tier: resolvedTier,\n status,\n updatedOrCreated: ts,\n ageMs,\n });\n candidateMemoriesById.set(memory.frontmatter.id, memory);\n }\n\n if (dryRun) {\n return {\n dryRun: true,\n tier,\n olderThanMs,\n candidates,\n purgedCount: 0,\n alreadyAbsentCount: 0,\n errorCount: 0,\n errors: [],\n };\n }\n\n // Hard-delete phase\n const errors: Array<{ id: string; path: string; error: string }> = [];\n try {\n await logPurgeAudit(storage, candidates, now, \"PURGE_DELETE_INTENT\");\n } catch (auditErr) {\n errors.push({\n id: \"(purge-audit)\",\n path: path.join(storage.dir, \"state\", \"observation-ledger\", \"purge-audit.jsonl\"),\n error: auditErr instanceof Error ? auditErr.message : String(auditErr),\n });\n }\n\n const actuallyPurged: PurgeCandidate[] = [];\n const alreadyAbsent: PurgeCandidate[] = [];\n const collectionsToUpdate = new Set<string>();\n const addCollectionForCandidate = (candidate: PurgeCandidate) => {\n if (candidate.tier === \"cold\") {\n collectionsToUpdate.add(coldCollection);\n } else if (candidate.tier === \"hot\") {\n collectionsToUpdate.add(hotCollection);\n }\n };\n\n for (const candidate of candidates) {\n try {\n await unlink(candidate.path);\n actuallyPurged.push(candidate);\n addCollectionForCandidate(candidate);\n markProjectedMemoryPathInvalid(storage.dir, candidate.id);\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n // ENOENT is fine — already gone\n if (hasErrorCode(err, \"ENOENT\")) {\n alreadyAbsent.push(candidate);\n addCollectionForCandidate(candidate);\n markProjectedMemoryPathInvalid(storage.dir, candidate.id);\n } else {\n errors.push({ id: candidate.id, path: candidate.path, error: message });\n }\n }\n }\n\n const recordPostDeleteAudit = async (\n purgedCandidates: PurgeCandidate[],\n event: \"PURGE_HARD_DELETE\" | \"PURGE_ALREADY_ABSENT\",\n ) => {\n try {\n await logPurgeAudit(storage, purgedCandidates, now, event);\n } catch (auditErr) {\n errors.push({\n id: \"(purge-audit)\",\n path: path.join(storage.dir, \"state\", \"observation-ledger\", \"purge-audit.jsonl\"),\n error: auditErr instanceof Error ? auditErr.message : String(auditErr),\n });\n }\n };\n await recordPostDeleteAudit(actuallyPurged, \"PURGE_HARD_DELETE\");\n await recordPostDeleteAudit(alreadyAbsent, \"PURGE_ALREADY_ABSENT\");\n\n const resolvedPurges = [...actuallyPurged, ...alreadyAbsent];\n\n const invalidateTierCaches = (\n storage as unknown as {\n invalidateMemoryCachesForTiers?: (tiers: Iterable<\"hot\" | \"cold\" | \"archive\">) => void;\n }\n ).invalidateMemoryCachesForTiers;\n if (typeof invalidateTierCaches === \"function\") {\n invalidateTierCaches.call(storage, new Set(resolvedPurges.map((candidate) => candidate.tier)));\n } else if (typeof (storage as unknown as { invalidateAllMemoriesCacheForDir?: () => void }).invalidateAllMemoriesCacheForDir === \"function\") {\n (storage as unknown as { invalidateAllMemoriesCacheForDir: () => void }).invalidateAllMemoriesCacheForDir();\n }\n\n // Update QMD index for affected collections\n if (qmd) {\n for (const collection of collectionsToUpdate) {\n try {\n if (typeof qmd.updateCollectionStrict === \"function\") {\n await qmd.updateCollectionStrict(collection, { signal: options.signal });\n } else {\n await qmd.updateCollection(collection, { signal: options.signal });\n }\n } catch (indexErr) {\n // Non-fatal — operator can re-index manually\n errors.push({\n id: \"(qmd-update)\",\n path: collection,\n error: indexErr instanceof Error ? indexErr.message : String(indexErr),\n });\n }\n }\n }\n\n const purgedFactMemories = resolvedPurges\n .map((candidate) => candidateMemoriesById.get(candidate.id))\n .filter((memory): memory is MemoryFile => memory?.frontmatter.category === \"fact\");\n if (purgedFactMemories.length > 0) {\n const removeFactHashes = (\n storage as unknown as {\n removeFactContentHashesForMemories?: (memories: MemoryFile[]) => Promise<void>;\n }\n ).removeFactContentHashesForMemories;\n if (typeof removeFactHashes === \"function\") {\n try {\n await removeFactHashes.call(storage, purgedFactMemories);\n await options.afterFactHashRemoval?.();\n } catch (hashErr) {\n errors.push({\n id: \"(fact-hash-index)\",\n path: path.join(storage.dir, \"state\", \"fact-hashes.txt\"),\n error: hashErr instanceof Error ? hashErr.message : String(hashErr),\n });\n }\n }\n }\n\n return {\n dryRun: false,\n tier,\n olderThanMs,\n candidates,\n purgedCount: actuallyPurged.length,\n alreadyAbsentCount: alreadyAbsent.length,\n errorCount: errors.length,\n errors,\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
materializeAfterSemanticConsolidation,
|
|
8
8
|
parseConsolidationResponse,
|
|
9
9
|
parseOperatorAwareConsolidationResponse
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-CVINPTKG.js";
|
|
11
|
+
import "./chunk-2RLECZ6J.js";
|
|
12
12
|
import "./chunk-UUH4YQOF.js";
|
|
13
13
|
import {
|
|
14
14
|
resolveExtensionsRoot
|
|
15
15
|
} from "./chunk-JLNBQWZ2.js";
|
|
16
16
|
import "./chunk-3UXOZBHV.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-DTTVX6EO.js";
|
|
18
18
|
import "./chunk-M7XQSUBB.js";
|
|
19
19
|
import "./chunk-L2B3EE7B.js";
|
|
20
20
|
import "./chunk-5UZXUTVO.js";
|
|
@@ -30,7 +30,7 @@ import "./chunk-AWJ2FHCF.js";
|
|
|
30
30
|
import "./chunk-42JKGUFJ.js";
|
|
31
31
|
import "./chunk-RULE4VG5.js";
|
|
32
32
|
import "./chunk-SCU65EZI.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-SXN3LCUT.js";
|
|
34
34
|
import "./chunk-6KYMPV2O.js";
|
|
35
35
|
import "./chunk-DM2T26WE.js";
|
|
36
36
|
import "./chunk-LDXUBPMO.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
promoteSemanticRuleFromMemory,
|
|
3
3
|
setSemanticRulePromotionTestHooks
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-X7HTU4HO.js";
|
|
5
|
+
import "./chunk-DTTVX6EO.js";
|
|
6
6
|
import "./chunk-M7XQSUBB.js";
|
|
7
7
|
import "./chunk-L2B3EE7B.js";
|
|
8
8
|
import "./chunk-5UZXUTVO.js";
|
|
@@ -18,7 +18,7 @@ import "./chunk-AWJ2FHCF.js";
|
|
|
18
18
|
import "./chunk-42JKGUFJ.js";
|
|
19
19
|
import "./chunk-RULE4VG5.js";
|
|
20
20
|
import "./chunk-SCU65EZI.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-SXN3LCUT.js";
|
|
22
22
|
import "./chunk-6KYMPV2O.js";
|
|
23
23
|
import "./chunk-DM2T26WE.js";
|
|
24
24
|
import "./chunk-LDXUBPMO.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedSemanticRuleResults,
|
|
3
3
|
searchVerifiedSemanticRules
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-VKHZFF5P.js";
|
|
5
|
+
import "./chunk-DTTVX6EO.js";
|
|
6
6
|
import "./chunk-M7XQSUBB.js";
|
|
7
7
|
import "./chunk-L2B3EE7B.js";
|
|
8
8
|
import "./chunk-5UZXUTVO.js";
|
|
@@ -18,7 +18,7 @@ import "./chunk-AWJ2FHCF.js";
|
|
|
18
18
|
import "./chunk-42JKGUFJ.js";
|
|
19
19
|
import "./chunk-RULE4VG5.js";
|
|
20
20
|
import "./chunk-SCU65EZI.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-SXN3LCUT.js";
|
|
22
22
|
import "./chunk-6KYMPV2O.js";
|
|
23
23
|
import "./chunk-DM2T26WE.js";
|
|
24
24
|
import "./chunk-LDXUBPMO.js";
|
package/dist/storage.js
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
parseFrontmatter,
|
|
17
17
|
parseFrontmatterStringValue,
|
|
18
18
|
serializeEntityFile
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-DTTVX6EO.js";
|
|
20
20
|
import "./chunk-M7XQSUBB.js";
|
|
21
21
|
import "./chunk-L2B3EE7B.js";
|
|
22
22
|
import "./chunk-5UZXUTVO.js";
|
|
@@ -34,7 +34,7 @@ import "./chunk-AWJ2FHCF.js";
|
|
|
34
34
|
import "./chunk-42JKGUFJ.js";
|
|
35
35
|
import "./chunk-RULE4VG5.js";
|
|
36
36
|
import "./chunk-SCU65EZI.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-SXN3LCUT.js";
|
|
38
38
|
import "./chunk-6KYMPV2O.js";
|
|
39
39
|
import "./chunk-DM2T26WE.js";
|
|
40
40
|
import "./chunk-LDXUBPMO.js";
|
package/dist/verified-recall.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedEpisodeResults,
|
|
3
3
|
searchVerifiedEpisodes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-N4ZA2I7M.js";
|
|
5
5
|
import "./chunk-7FL4CNPV.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-DTTVX6EO.js";
|
|
7
7
|
import "./chunk-M7XQSUBB.js";
|
|
8
8
|
import "./chunk-L2B3EE7B.js";
|
|
9
9
|
import "./chunk-5UZXUTVO.js";
|
|
@@ -19,7 +19,7 @@ import "./chunk-AWJ2FHCF.js";
|
|
|
19
19
|
import "./chunk-42JKGUFJ.js";
|
|
20
20
|
import "./chunk-RULE4VG5.js";
|
|
21
21
|
import "./chunk-SCU65EZI.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-SXN3LCUT.js";
|
|
23
23
|
import "./chunk-6KYMPV2O.js";
|
|
24
24
|
import "./chunk-DM2T26WE.js";
|
|
25
25
|
import "./chunk-LDXUBPMO.js";
|