@remnic/core 9.14.0 → 9.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-admin-ops-surface.d.ts +4 -1
- package/dist/access-admin-ops-surface.js +18 -18
- package/dist/access-boundary.d.ts +4 -1
- package/dist/access-boundary.js +18 -19
- package/dist/access-cli.js +64 -66
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +2 -1
- package/dist/access-http.js +24 -25
- package/dist/access-identity-continuity-surface.js +18 -18
- package/dist/access-lcm-surface.d.ts +4 -1
- package/dist/access-lcm-surface.js +18 -18
- package/dist/access-mcp.d.ts +4 -1
- package/dist/access-mcp.js +23 -24
- package/dist/access-namespace-preflight-DgJtZCmU.d.ts +146 -0
- package/dist/access-namespace-preflight.d.ts +8 -0
- package/dist/access-namespace-preflight.js +158 -0
- package/dist/access-observe-write-surface.d.ts +4 -1
- package/dist/access-observe-write-surface.js +18 -18
- package/dist/access-operations-batch.js +20 -21
- package/dist/access-operations.d.ts +8 -5
- package/dist/access-operations.js +22 -23
- package/dist/access-recall-concurrency.d.ts +4 -1
- package/dist/access-recall-concurrency.js +18 -18
- package/dist/access-recall-response.d.ts +4 -1
- package/dist/access-recall-response.js +18 -18
- package/dist/access-recall-surface.d.ts +4 -1
- package/dist/access-recall-surface.js +18 -18
- package/dist/access-schema.d.ts +76 -76
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-DbZ1G3zV.d.ts → access-service-bw2p9ULX.d.ts} +6 -114
- package/dist/access-service.d.ts +4 -1
- package/dist/access-service.js +18 -18
- package/dist/access-surface-catalog.d.ts +4 -1
- package/dist/active-recall.js +1 -1
- package/dist/briefing.js +5 -5
- package/dist/{capsule-crypto-GWVG7LGC.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/capsule-crypto-7FJQINUR.js.map +1 -0
- package/dist/causal-consolidation.js +6 -6
- package/dist/{chunk-OWHERGF2.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/{chunk-5RZHHANR.js → chunk-63P3PJED.js} +50 -50
- package/dist/{chunk-ALSGMEJR.js → chunk-7CPOZH6Y.js} +5 -5
- package/dist/{chunk-TY6NBWV4.js → chunk-7FNHLCQE.js} +2 -2
- package/dist/{chunk-MMGGVZ4Q.js → chunk-7VZWZVYG.js} +40 -18
- package/dist/{chunk-MMGGVZ4Q.js.map → chunk-7VZWZVYG.js.map} +1 -1
- package/dist/{chunk-HLG7VAZP.js → chunk-BOP256DB.js} +2 -2
- package/dist/{chunk-7G7DVA2C.js → chunk-BVC242OS.js} +2 -2
- package/dist/{chunk-CAZ2SHEP.js → chunk-CCNSCRJ2.js} +2 -2
- package/dist/{chunk-3332THSR.js → chunk-CVZYPFEH.js} +4 -4
- package/dist/{chunk-SK7AMF2J.js → chunk-DETNBTZS.js} +3 -3
- package/dist/{chunk-226RNKRU.js → chunk-FFF4XIGB.js} +32 -32
- package/dist/{chunk-AS6UOOXF.js → chunk-FMMZQDCT.js} +2 -2
- package/dist/{chunk-YQQYS2K4.js → chunk-H3MDWWGN.js} +2 -2
- package/dist/{chunk-TC5HBIIT.js → chunk-HBYQAOED.js} +2 -2
- package/dist/{chunk-3HYWNJDA.js → chunk-HWFK24UD.js} +420 -42
- package/dist/chunk-HWFK24UD.js.map +1 -0
- package/dist/{chunk-YO3ZB3PJ.js → chunk-I7DUEPE2.js} +30 -15
- package/dist/chunk-I7DUEPE2.js.map +1 -0
- package/dist/{chunk-YUQOAKPX.js → chunk-JRXN5LYL.js} +5 -5
- package/dist/{chunk-5W7CTZ2E.js → chunk-KQAFEZQX.js} +4 -4
- package/dist/{chunk-PYHOAXTI.js → chunk-LRGSLV7M.js} +4 -4
- package/dist/{chunk-A56B2AJR.js → chunk-MUQ3BD2C.js} +3 -3
- package/dist/{chunk-QJAQNXWI.js → chunk-ONHRRJZM.js} +6 -6
- package/dist/{chunk-DF552QUN.js → chunk-QCLQ4BGA.js} +5 -5
- package/dist/{chunk-IAHNKI2E.js → chunk-QDNE35FU.js} +2 -2
- package/dist/{chunk-W2OST2HH.js → chunk-QLOOCKKE.js} +2 -2
- package/dist/{chunk-I4NJ2CDY.js → chunk-RRHEV5HA.js} +4 -6
- package/dist/{chunk-I4NJ2CDY.js.map → chunk-RRHEV5HA.js.map} +1 -1
- package/dist/{chunk-7HZMTXXB.js → chunk-RWSLO24I.js} +10 -10
- package/dist/{chunk-UDIJMITR.js → chunk-SDZWOEZH.js} +22 -22
- package/dist/chunk-SDZWOEZH.js.map +1 -0
- package/dist/{chunk-QZGN4773.js → chunk-SW2KEZNX.js} +3 -3
- package/dist/{chunk-O4K3DWK2.js → chunk-SWVW42CG.js} +2 -2
- package/dist/{chunk-UVYI6VIX.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-CQ6WP3PA.js → chunk-XII2XSHL.js} +5 -5
- package/dist/{chunk-YSDVEPV2.js → chunk-XKFXY3ZA.js} +10 -10
- package/dist/{chunk-AVPXXV6J.js → chunk-XKGPIWGI.js} +4 -4
- package/dist/{chunk-IQFS4AU7.js → chunk-YEU4VEU4.js} +2 -2
- package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
- package/dist/{chunk-Y6XODVJ4.js → chunk-YS7KIG3A.js} +8 -8
- package/dist/{chunk-XRNU7OEQ.js → chunk-ZNFVYUYF.js} +3 -3
- package/dist/{cli-5tNLVTvJ.d.ts → cli-DzPVFfGe.d.ts} +1 -1
- package/dist/cli.d.ts +5 -2
- package/dist/cli.js +45 -46
- package/dist/compounding/engine.js +5 -5
- package/dist/config.js +1 -1
- package/dist/connectors/codex-materialize-runner.js +5 -5
- package/dist/connectors/index.js +5 -5
- package/dist/contradiction/index.js +4 -4
- package/dist/dashboard-runtime.js +2 -2
- package/dist/entity-retrieval.js +5 -5
- package/dist/index.d.ts +406 -405
- package/dist/index.js +76 -78
- package/dist/lcm/index.js +3 -3
- 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 +4 -1
- package/dist/namespaces/migrate.js +11 -11
- package/dist/namespaces/search.js +5 -5
- package/dist/namespaces/storage.js +5 -5
- package/dist/offline-sync-impression-drain.js +4 -4
- package/dist/operator-toolkit.js +16 -16
- package/dist/orchestration/maintenance.js +9 -9
- package/dist/orchestrator.js +65 -66
- package/dist/qmd.js +4 -4
- package/dist/resume-bundles.js +1 -1
- package/dist/schemas.d.ts +54 -54
- package/dist/search/factory.js +4 -4
- package/dist/search/index.js +6 -6
- package/dist/semantic-consolidation.js +6 -6
- package/dist/semantic-rule-promotion.js +5 -5
- package/dist/semantic-rule-verifier.js +5 -5
- package/dist/shared-context/manager.d.ts +8 -8
- package/dist/storage.js +4 -4
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/import-sqlite.js +2 -2
- package/dist/transfer/types.d.ts +66 -66
- package/dist/verified-recall.js +5 -5
- package/package.json +2 -2
- package/src/access-http.test.ts +91 -0
- package/src/access-http.ts +13 -14
- package/src/access-namespace-preflight.test.ts +111 -0
- package/src/access-namespace-preflight.ts +111 -0
- package/src/access-operations-batch.ts +25 -2
- package/src/access-service-observe-scope.test.ts +81 -0
- package/src/access-service.ts +64 -32
- package/src/scopes/scope-plan.ts +66 -0
- package/dist/chunk-3HYWNJDA.js.map +0 -1
- package/dist/chunk-KF5EUVKQ.js +0 -289
- package/dist/chunk-KF5EUVKQ.js.map +0 -1
- package/dist/chunk-UDIJMITR.js.map +0 -1
- package/dist/chunk-YO3ZB3PJ.js.map +0 -1
- /package/dist/{capsule-crypto-GWVG7LGC.js.map → access-namespace-preflight.js.map} +0 -0
- /package/dist/{chunk-OWHERGF2.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-5RZHHANR.js.map → chunk-63P3PJED.js.map} +0 -0
- /package/dist/{chunk-ALSGMEJR.js.map → chunk-7CPOZH6Y.js.map} +0 -0
- /package/dist/{chunk-TY6NBWV4.js.map → chunk-7FNHLCQE.js.map} +0 -0
- /package/dist/{chunk-HLG7VAZP.js.map → chunk-BOP256DB.js.map} +0 -0
- /package/dist/{chunk-7G7DVA2C.js.map → chunk-BVC242OS.js.map} +0 -0
- /package/dist/{chunk-CAZ2SHEP.js.map → chunk-CCNSCRJ2.js.map} +0 -0
- /package/dist/{chunk-3332THSR.js.map → chunk-CVZYPFEH.js.map} +0 -0
- /package/dist/{chunk-SK7AMF2J.js.map → chunk-DETNBTZS.js.map} +0 -0
- /package/dist/{chunk-226RNKRU.js.map → chunk-FFF4XIGB.js.map} +0 -0
- /package/dist/{chunk-AS6UOOXF.js.map → chunk-FMMZQDCT.js.map} +0 -0
- /package/dist/{chunk-YQQYS2K4.js.map → chunk-H3MDWWGN.js.map} +0 -0
- /package/dist/{chunk-TC5HBIIT.js.map → chunk-HBYQAOED.js.map} +0 -0
- /package/dist/{chunk-YUQOAKPX.js.map → chunk-JRXN5LYL.js.map} +0 -0
- /package/dist/{chunk-5W7CTZ2E.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-PYHOAXTI.js.map → chunk-LRGSLV7M.js.map} +0 -0
- /package/dist/{chunk-A56B2AJR.js.map → chunk-MUQ3BD2C.js.map} +0 -0
- /package/dist/{chunk-QJAQNXWI.js.map → chunk-ONHRRJZM.js.map} +0 -0
- /package/dist/{chunk-DF552QUN.js.map → chunk-QCLQ4BGA.js.map} +0 -0
- /package/dist/{chunk-IAHNKI2E.js.map → chunk-QDNE35FU.js.map} +0 -0
- /package/dist/{chunk-W2OST2HH.js.map → chunk-QLOOCKKE.js.map} +0 -0
- /package/dist/{chunk-7HZMTXXB.js.map → chunk-RWSLO24I.js.map} +0 -0
- /package/dist/{chunk-QZGN4773.js.map → chunk-SW2KEZNX.js.map} +0 -0
- /package/dist/{chunk-O4K3DWK2.js.map → chunk-SWVW42CG.js.map} +0 -0
- /package/dist/{chunk-UVYI6VIX.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-CQ6WP3PA.js.map → chunk-XII2XSHL.js.map} +0 -0
- /package/dist/{chunk-YSDVEPV2.js.map → chunk-XKFXY3ZA.js.map} +0 -0
- /package/dist/{chunk-AVPXXV6J.js.map → chunk-XKGPIWGI.js.map} +0 -0
- /package/dist/{chunk-IQFS4AU7.js.map → chunk-YEU4VEU4.js.map} +0 -0
- /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
- /package/dist/{chunk-Y6XODVJ4.js.map → chunk-YS7KIG3A.js.map} +0 -0
- /package/dist/{chunk-XRNU7OEQ.js.map → chunk-ZNFVYUYF.js.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
exportCapsule,
|
|
3
3
|
isValidCapsuleSince
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-UVYI6VIX.js";
|
|
4
|
+
} from "../chunk-KQAFEZQX.js";
|
|
6
5
|
import "../chunk-WEHSQBFR.js";
|
|
6
|
+
import "../chunk-X7Y7WX73.js";
|
|
7
7
|
import "../chunk-J4EB7DNW.js";
|
|
8
8
|
import "../chunk-BJMBJZ2Y.js";
|
|
9
9
|
import "../chunk-UKJAGEXH.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
importCapsule
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-7CPOZH6Y.js";
|
|
4
4
|
import "../chunk-5VQJBH2G.js";
|
|
5
5
|
import "../chunk-AITCS2RC.js";
|
|
6
6
|
import "../chunk-XMMESCPD.js";
|
|
7
7
|
import "../chunk-42JKGUFJ.js";
|
|
8
8
|
import "../chunk-PDJTHRAW.js";
|
|
9
|
-
import "../chunk-UVYI6VIX.js";
|
|
10
9
|
import "../chunk-WEHSQBFR.js";
|
|
10
|
+
import "../chunk-X7Y7WX73.js";
|
|
11
11
|
import "../chunk-BJMBJZ2Y.js";
|
|
12
12
|
import "../chunk-UKJAGEXH.js";
|
|
13
13
|
import "../chunk-FP2373TW.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
importSqlite
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-Z734BLO3.js";
|
|
3
|
+
} from "../chunk-LRGSLV7M.js";
|
|
5
4
|
import "../chunk-G4IAEX6D.js";
|
|
5
|
+
import "../chunk-Z734BLO3.js";
|
|
6
6
|
import "../chunk-RL6NEVXT.js";
|
|
7
7
|
import "../chunk-GCGJW34D.js";
|
|
8
8
|
import "../chunk-PZ5AY32C.js";
|
package/dist/transfer/types.d.ts
CHANGED
|
@@ -20,26 +20,26 @@ declare const ExportManifestV1Schema: z.ZodObject<{
|
|
|
20
20
|
bytes: number;
|
|
21
21
|
}>, "many">;
|
|
22
22
|
}, "strip", z.ZodTypeAny, {
|
|
23
|
-
|
|
23
|
+
schemaVersion: 1;
|
|
24
24
|
createdAt: string;
|
|
25
|
-
pluginVersion: string;
|
|
26
25
|
files: {
|
|
27
26
|
path: string;
|
|
28
27
|
sha256: string;
|
|
29
28
|
bytes: number;
|
|
30
29
|
}[];
|
|
31
|
-
|
|
30
|
+
format: "openclaw-engram-export";
|
|
31
|
+
pluginVersion: string;
|
|
32
32
|
includesTranscripts: boolean;
|
|
33
33
|
}, {
|
|
34
|
-
|
|
34
|
+
schemaVersion: 1;
|
|
35
35
|
createdAt: string;
|
|
36
|
-
pluginVersion: string;
|
|
37
36
|
files: {
|
|
38
37
|
path: string;
|
|
39
38
|
sha256: string;
|
|
40
39
|
bytes: number;
|
|
41
40
|
}[];
|
|
42
|
-
|
|
41
|
+
format: "openclaw-engram-export";
|
|
42
|
+
pluginVersion: string;
|
|
43
43
|
includesTranscripts: boolean;
|
|
44
44
|
}>;
|
|
45
45
|
type ExportManifestV1 = z.infer<typeof ExportManifestV1Schema>;
|
|
@@ -75,26 +75,26 @@ declare const ExportBundleV1Schema: z.ZodObject<{
|
|
|
75
75
|
bytes: number;
|
|
76
76
|
}>, "many">;
|
|
77
77
|
}, "strip", z.ZodTypeAny, {
|
|
78
|
-
|
|
78
|
+
schemaVersion: 1;
|
|
79
79
|
createdAt: string;
|
|
80
|
-
pluginVersion: string;
|
|
81
80
|
files: {
|
|
82
81
|
path: string;
|
|
83
82
|
sha256: string;
|
|
84
83
|
bytes: number;
|
|
85
84
|
}[];
|
|
86
|
-
|
|
85
|
+
format: "openclaw-engram-export";
|
|
86
|
+
pluginVersion: string;
|
|
87
87
|
includesTranscripts: boolean;
|
|
88
88
|
}, {
|
|
89
|
-
|
|
89
|
+
schemaVersion: 1;
|
|
90
90
|
createdAt: string;
|
|
91
|
-
pluginVersion: string;
|
|
92
91
|
files: {
|
|
93
92
|
path: string;
|
|
94
93
|
sha256: string;
|
|
95
94
|
bytes: number;
|
|
96
95
|
}[];
|
|
97
|
-
|
|
96
|
+
format: "openclaw-engram-export";
|
|
97
|
+
pluginVersion: string;
|
|
98
98
|
includesTranscripts: boolean;
|
|
99
99
|
}>;
|
|
100
100
|
records: z.ZodArray<z.ZodObject<{
|
|
@@ -109,15 +109,15 @@ declare const ExportBundleV1Schema: z.ZodObject<{
|
|
|
109
109
|
}>, "many">;
|
|
110
110
|
}, "strip", z.ZodTypeAny, {
|
|
111
111
|
manifest: {
|
|
112
|
-
|
|
112
|
+
schemaVersion: 1;
|
|
113
113
|
createdAt: string;
|
|
114
|
-
pluginVersion: string;
|
|
115
114
|
files: {
|
|
116
115
|
path: string;
|
|
117
116
|
sha256: string;
|
|
118
117
|
bytes: number;
|
|
119
118
|
}[];
|
|
120
|
-
|
|
119
|
+
format: "openclaw-engram-export";
|
|
120
|
+
pluginVersion: string;
|
|
121
121
|
includesTranscripts: boolean;
|
|
122
122
|
};
|
|
123
123
|
records: {
|
|
@@ -126,15 +126,15 @@ declare const ExportBundleV1Schema: z.ZodObject<{
|
|
|
126
126
|
}[];
|
|
127
127
|
}, {
|
|
128
128
|
manifest: {
|
|
129
|
-
|
|
129
|
+
schemaVersion: 1;
|
|
130
130
|
createdAt: string;
|
|
131
|
-
pluginVersion: string;
|
|
132
131
|
files: {
|
|
133
132
|
path: string;
|
|
134
133
|
sha256: string;
|
|
135
134
|
bytes: number;
|
|
136
135
|
}[];
|
|
137
|
-
|
|
136
|
+
format: "openclaw-engram-export";
|
|
137
|
+
pluginVersion: string;
|
|
138
138
|
includesTranscripts: boolean;
|
|
139
139
|
};
|
|
140
140
|
records: {
|
|
@@ -319,10 +319,10 @@ declare const CapsuleBlockSchema: z.ZodObject<{
|
|
|
319
319
|
identityAnchors: boolean;
|
|
320
320
|
peerProfiles: boolean;
|
|
321
321
|
};
|
|
322
|
-
description: string;
|
|
323
|
-
id: string;
|
|
324
322
|
schemaVersion: string;
|
|
323
|
+
id: string;
|
|
325
324
|
version: string;
|
|
325
|
+
description: string;
|
|
326
326
|
parentCapsule: string | null;
|
|
327
327
|
parent: {
|
|
328
328
|
version: string;
|
|
@@ -340,10 +340,10 @@ declare const CapsuleBlockSchema: z.ZodObject<{
|
|
|
340
340
|
identityAnchors: boolean;
|
|
341
341
|
peerProfiles: boolean;
|
|
342
342
|
};
|
|
343
|
-
description: string;
|
|
344
|
-
id: string;
|
|
345
343
|
schemaVersion: string;
|
|
344
|
+
id: string;
|
|
346
345
|
version: string;
|
|
346
|
+
description: string;
|
|
347
347
|
parentCapsule: string | null;
|
|
348
348
|
retrievalPolicy: {
|
|
349
349
|
tierWeights: Record<string, number>;
|
|
@@ -470,10 +470,10 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
470
470
|
identityAnchors: boolean;
|
|
471
471
|
peerProfiles: boolean;
|
|
472
472
|
};
|
|
473
|
-
description: string;
|
|
474
|
-
id: string;
|
|
475
473
|
schemaVersion: string;
|
|
474
|
+
id: string;
|
|
476
475
|
version: string;
|
|
476
|
+
description: string;
|
|
477
477
|
parentCapsule: string | null;
|
|
478
478
|
parent: {
|
|
479
479
|
version: string;
|
|
@@ -491,10 +491,10 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
491
491
|
identityAnchors: boolean;
|
|
492
492
|
peerProfiles: boolean;
|
|
493
493
|
};
|
|
494
|
-
description: string;
|
|
495
|
-
id: string;
|
|
496
494
|
schemaVersion: string;
|
|
495
|
+
id: string;
|
|
497
496
|
version: string;
|
|
497
|
+
description: string;
|
|
498
498
|
parentCapsule: string | null;
|
|
499
499
|
retrievalPolicy: {
|
|
500
500
|
tierWeights: Record<string, number>;
|
|
@@ -507,14 +507,16 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
507
507
|
} | null | undefined;
|
|
508
508
|
}>;
|
|
509
509
|
}, "strip", z.ZodTypeAny, {
|
|
510
|
-
|
|
510
|
+
schemaVersion: 2;
|
|
511
511
|
createdAt: string;
|
|
512
|
-
pluginVersion: string;
|
|
513
512
|
files: {
|
|
514
513
|
path: string;
|
|
515
514
|
sha256: string;
|
|
516
515
|
bytes: number;
|
|
517
516
|
}[];
|
|
517
|
+
format: "openclaw-engram-export";
|
|
518
|
+
pluginVersion: string;
|
|
519
|
+
includesTranscripts: boolean;
|
|
518
520
|
capsule: {
|
|
519
521
|
includes: {
|
|
520
522
|
procedural: boolean;
|
|
@@ -522,10 +524,10 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
522
524
|
identityAnchors: boolean;
|
|
523
525
|
peerProfiles: boolean;
|
|
524
526
|
};
|
|
525
|
-
description: string;
|
|
526
|
-
id: string;
|
|
527
527
|
schemaVersion: string;
|
|
528
|
+
id: string;
|
|
528
529
|
version: string;
|
|
530
|
+
description: string;
|
|
529
531
|
parentCapsule: string | null;
|
|
530
532
|
parent: {
|
|
531
533
|
version: string;
|
|
@@ -537,17 +539,17 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
537
539
|
directAnswerEnabled: boolean;
|
|
538
540
|
};
|
|
539
541
|
};
|
|
540
|
-
schemaVersion: 2;
|
|
541
|
-
includesTranscripts: boolean;
|
|
542
542
|
}, {
|
|
543
|
-
|
|
543
|
+
schemaVersion: 2;
|
|
544
544
|
createdAt: string;
|
|
545
|
-
pluginVersion: string;
|
|
546
545
|
files: {
|
|
547
546
|
path: string;
|
|
548
547
|
sha256: string;
|
|
549
548
|
bytes: number;
|
|
550
549
|
}[];
|
|
550
|
+
format: "openclaw-engram-export";
|
|
551
|
+
pluginVersion: string;
|
|
552
|
+
includesTranscripts: boolean;
|
|
551
553
|
capsule: {
|
|
552
554
|
includes: {
|
|
553
555
|
procedural: boolean;
|
|
@@ -555,10 +557,10 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
555
557
|
identityAnchors: boolean;
|
|
556
558
|
peerProfiles: boolean;
|
|
557
559
|
};
|
|
558
|
-
description: string;
|
|
559
|
-
id: string;
|
|
560
560
|
schemaVersion: string;
|
|
561
|
+
id: string;
|
|
561
562
|
version: string;
|
|
563
|
+
description: string;
|
|
562
564
|
parentCapsule: string | null;
|
|
563
565
|
retrievalPolicy: {
|
|
564
566
|
tierWeights: Record<string, number>;
|
|
@@ -570,8 +572,6 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
570
572
|
forkRoot: string;
|
|
571
573
|
} | null | undefined;
|
|
572
574
|
};
|
|
573
|
-
schemaVersion: 2;
|
|
574
|
-
includesTranscripts: boolean;
|
|
575
575
|
}>;
|
|
576
576
|
type ExportManifestV2 = z.infer<typeof ExportManifestV2Schema>;
|
|
577
577
|
declare const ExportBundleV2Schema: z.ZodObject<{
|
|
@@ -689,10 +689,10 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
689
689
|
identityAnchors: boolean;
|
|
690
690
|
peerProfiles: boolean;
|
|
691
691
|
};
|
|
692
|
-
description: string;
|
|
693
|
-
id: string;
|
|
694
692
|
schemaVersion: string;
|
|
693
|
+
id: string;
|
|
695
694
|
version: string;
|
|
695
|
+
description: string;
|
|
696
696
|
parentCapsule: string | null;
|
|
697
697
|
parent: {
|
|
698
698
|
version: string;
|
|
@@ -710,10 +710,10 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
710
710
|
identityAnchors: boolean;
|
|
711
711
|
peerProfiles: boolean;
|
|
712
712
|
};
|
|
713
|
-
description: string;
|
|
714
|
-
id: string;
|
|
715
713
|
schemaVersion: string;
|
|
714
|
+
id: string;
|
|
716
715
|
version: string;
|
|
716
|
+
description: string;
|
|
717
717
|
parentCapsule: string | null;
|
|
718
718
|
retrievalPolicy: {
|
|
719
719
|
tierWeights: Record<string, number>;
|
|
@@ -726,14 +726,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
726
726
|
} | null | undefined;
|
|
727
727
|
}>;
|
|
728
728
|
}, "strip", z.ZodTypeAny, {
|
|
729
|
-
|
|
729
|
+
schemaVersion: 2;
|
|
730
730
|
createdAt: string;
|
|
731
|
-
pluginVersion: string;
|
|
732
731
|
files: {
|
|
733
732
|
path: string;
|
|
734
733
|
sha256: string;
|
|
735
734
|
bytes: number;
|
|
736
735
|
}[];
|
|
736
|
+
format: "openclaw-engram-export";
|
|
737
|
+
pluginVersion: string;
|
|
738
|
+
includesTranscripts: boolean;
|
|
737
739
|
capsule: {
|
|
738
740
|
includes: {
|
|
739
741
|
procedural: boolean;
|
|
@@ -741,10 +743,10 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
741
743
|
identityAnchors: boolean;
|
|
742
744
|
peerProfiles: boolean;
|
|
743
745
|
};
|
|
744
|
-
description: string;
|
|
745
|
-
id: string;
|
|
746
746
|
schemaVersion: string;
|
|
747
|
+
id: string;
|
|
747
748
|
version: string;
|
|
749
|
+
description: string;
|
|
748
750
|
parentCapsule: string | null;
|
|
749
751
|
parent: {
|
|
750
752
|
version: string;
|
|
@@ -756,17 +758,17 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
756
758
|
directAnswerEnabled: boolean;
|
|
757
759
|
};
|
|
758
760
|
};
|
|
759
|
-
schemaVersion: 2;
|
|
760
|
-
includesTranscripts: boolean;
|
|
761
761
|
}, {
|
|
762
|
-
|
|
762
|
+
schemaVersion: 2;
|
|
763
763
|
createdAt: string;
|
|
764
|
-
pluginVersion: string;
|
|
765
764
|
files: {
|
|
766
765
|
path: string;
|
|
767
766
|
sha256: string;
|
|
768
767
|
bytes: number;
|
|
769
768
|
}[];
|
|
769
|
+
format: "openclaw-engram-export";
|
|
770
|
+
pluginVersion: string;
|
|
771
|
+
includesTranscripts: boolean;
|
|
770
772
|
capsule: {
|
|
771
773
|
includes: {
|
|
772
774
|
procedural: boolean;
|
|
@@ -774,10 +776,10 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
774
776
|
identityAnchors: boolean;
|
|
775
777
|
peerProfiles: boolean;
|
|
776
778
|
};
|
|
777
|
-
description: string;
|
|
778
|
-
id: string;
|
|
779
779
|
schemaVersion: string;
|
|
780
|
+
id: string;
|
|
780
781
|
version: string;
|
|
782
|
+
description: string;
|
|
781
783
|
parentCapsule: string | null;
|
|
782
784
|
retrievalPolicy: {
|
|
783
785
|
tierWeights: Record<string, number>;
|
|
@@ -789,8 +791,6 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
789
791
|
forkRoot: string;
|
|
790
792
|
} | null | undefined;
|
|
791
793
|
};
|
|
792
|
-
schemaVersion: 2;
|
|
793
|
-
includesTranscripts: boolean;
|
|
794
794
|
}>;
|
|
795
795
|
records: z.ZodArray<z.ZodObject<{
|
|
796
796
|
path: z.ZodString;
|
|
@@ -804,14 +804,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
804
804
|
}>, "many">;
|
|
805
805
|
}, "strip", z.ZodTypeAny, {
|
|
806
806
|
manifest: {
|
|
807
|
-
|
|
807
|
+
schemaVersion: 2;
|
|
808
808
|
createdAt: string;
|
|
809
|
-
pluginVersion: string;
|
|
810
809
|
files: {
|
|
811
810
|
path: string;
|
|
812
811
|
sha256: string;
|
|
813
812
|
bytes: number;
|
|
814
813
|
}[];
|
|
814
|
+
format: "openclaw-engram-export";
|
|
815
|
+
pluginVersion: string;
|
|
816
|
+
includesTranscripts: boolean;
|
|
815
817
|
capsule: {
|
|
816
818
|
includes: {
|
|
817
819
|
procedural: boolean;
|
|
@@ -819,10 +821,10 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
819
821
|
identityAnchors: boolean;
|
|
820
822
|
peerProfiles: boolean;
|
|
821
823
|
};
|
|
822
|
-
description: string;
|
|
823
|
-
id: string;
|
|
824
824
|
schemaVersion: string;
|
|
825
|
+
id: string;
|
|
825
826
|
version: string;
|
|
827
|
+
description: string;
|
|
826
828
|
parentCapsule: string | null;
|
|
827
829
|
parent: {
|
|
828
830
|
version: string;
|
|
@@ -834,8 +836,6 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
834
836
|
directAnswerEnabled: boolean;
|
|
835
837
|
};
|
|
836
838
|
};
|
|
837
|
-
schemaVersion: 2;
|
|
838
|
-
includesTranscripts: boolean;
|
|
839
839
|
};
|
|
840
840
|
records: {
|
|
841
841
|
content: string;
|
|
@@ -843,14 +843,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
843
843
|
}[];
|
|
844
844
|
}, {
|
|
845
845
|
manifest: {
|
|
846
|
-
|
|
846
|
+
schemaVersion: 2;
|
|
847
847
|
createdAt: string;
|
|
848
|
-
pluginVersion: string;
|
|
849
848
|
files: {
|
|
850
849
|
path: string;
|
|
851
850
|
sha256: string;
|
|
852
851
|
bytes: number;
|
|
853
852
|
}[];
|
|
853
|
+
format: "openclaw-engram-export";
|
|
854
|
+
pluginVersion: string;
|
|
855
|
+
includesTranscripts: boolean;
|
|
854
856
|
capsule: {
|
|
855
857
|
includes: {
|
|
856
858
|
procedural: boolean;
|
|
@@ -858,10 +860,10 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
858
860
|
identityAnchors: boolean;
|
|
859
861
|
peerProfiles: boolean;
|
|
860
862
|
};
|
|
861
|
-
description: string;
|
|
862
|
-
id: string;
|
|
863
863
|
schemaVersion: string;
|
|
864
|
+
id: string;
|
|
864
865
|
version: string;
|
|
866
|
+
description: string;
|
|
865
867
|
parentCapsule: string | null;
|
|
866
868
|
retrievalPolicy: {
|
|
867
869
|
tierWeights: Record<string, number>;
|
|
@@ -873,8 +875,6 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
873
875
|
forkRoot: string;
|
|
874
876
|
} | null | undefined;
|
|
875
877
|
};
|
|
876
|
-
schemaVersion: 2;
|
|
877
|
-
includesTranscripts: boolean;
|
|
878
878
|
};
|
|
879
879
|
records: {
|
|
880
880
|
content: string;
|
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-QLOOCKKE.js";
|
|
5
5
|
import "./chunk-B7RWBZXW.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-RWSLO24I.js";
|
|
7
7
|
import "./chunk-B3ABVQ36.js";
|
|
8
8
|
import "./chunk-2QMKMVHH.js";
|
|
9
9
|
import "./chunk-DEBHXHJR.js";
|
|
@@ -12,14 +12,14 @@ import "./chunk-6CIAGZ6X.js";
|
|
|
12
12
|
import "./chunk-J6A3CX5N.js";
|
|
13
13
|
import "./chunk-V57NLO5P.js";
|
|
14
14
|
import "./chunk-YVKF3HEW.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-XKGPIWGI.js";
|
|
16
16
|
import "./chunk-EGGE52UU.js";
|
|
17
17
|
import "./chunk-GCASGYIO.js";
|
|
18
18
|
import "./chunk-WL5EBRDH.js";
|
|
19
|
+
import "./chunk-ILGC6JH6.js";
|
|
19
20
|
import "./chunk-SCU65EZI.js";
|
|
20
21
|
import "./chunk-347WD2LE.js";
|
|
21
22
|
import "./chunk-RL6NEVXT.js";
|
|
22
|
-
import "./chunk-ILGC6JH6.js";
|
|
23
23
|
import "./chunk-DM2T26WE.js";
|
|
24
24
|
import "./chunk-LDXUBPMO.js";
|
|
25
25
|
import "./chunk-CGASUJVP.js";
|
|
@@ -41,8 +41,8 @@ import "./chunk-45GF7Y3V.js";
|
|
|
41
41
|
import "./chunk-RGMVMVMF.js";
|
|
42
42
|
import "./chunk-N7RWREIQ.js";
|
|
43
43
|
import "./chunk-5I4M26Q7.js";
|
|
44
|
-
import "./chunk-5GKPFL3S.js";
|
|
45
44
|
import "./chunk-4DJQYKMN.js";
|
|
45
|
+
import "./chunk-5GKPFL3S.js";
|
|
46
46
|
import "./chunk-PQVCH2AE.js";
|
|
47
47
|
import "./chunk-EYIEWJNI.js";
|
|
48
48
|
import "./chunk-JUC24CTX.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.15.1",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3045,7 +3045,7 @@
|
|
|
3045
3045
|
"core"
|
|
3046
3046
|
],
|
|
3047
3047
|
"peerDependencies": {
|
|
3048
|
-
"@remnic/coding-graph": "^9.
|
|
3048
|
+
"@remnic/coding-graph": "^9.15.1"
|
|
3049
3049
|
},
|
|
3050
3050
|
"peerDependenciesMeta": {
|
|
3051
3051
|
"@remnic/coding-graph": {
|
package/src/access-http.test.ts
CHANGED
|
@@ -2727,6 +2727,10 @@ test("HTTP namespace/writable preflight returns the structured writability resul
|
|
|
2727
2727
|
// is a valid 200 answer (read via `ok`), not an HTTP error.
|
|
2728
2728
|
const service = {
|
|
2729
2729
|
configRef: parseConfig({ memoryDir: "/tmp/remnic-http-preflight-test", defaultNamespace: "default" }),
|
|
2730
|
+
namespaceWritablePreflight: async ({ namespace }: { namespace?: string }) =>
|
|
2731
|
+
namespace && namespace !== "default"
|
|
2732
|
+
? { ok: false as const, reason: "not_writable" as const, namespace }
|
|
2733
|
+
: { ok: true as const, namespace: "default" },
|
|
2730
2734
|
} as unknown as EngramAccessService;
|
|
2731
2735
|
const server = new EngramAccessHttpServer({
|
|
2732
2736
|
service,
|
|
@@ -2757,9 +2761,90 @@ test("HTTP namespace/writable preflight returns the structured writability resul
|
|
|
2757
2761
|
}
|
|
2758
2762
|
});
|
|
2759
2763
|
|
|
2764
|
+
test("HTTP namespace/writable forwards project context to the scoped write preflight", async () => {
|
|
2765
|
+
let received:
|
|
2766
|
+
| {
|
|
2767
|
+
namespace?: string;
|
|
2768
|
+
sessionKey?: string;
|
|
2769
|
+
projectTag?: string;
|
|
2770
|
+
cwd?: string;
|
|
2771
|
+
}
|
|
2772
|
+
| undefined;
|
|
2773
|
+
const service = {
|
|
2774
|
+
configRef: parseConfig({ memoryDir: "/tmp/remnic-http-preflight-context", defaultNamespace: "default" }),
|
|
2775
|
+
namespaceWritablePreflight: async (request: {
|
|
2776
|
+
namespace?: string;
|
|
2777
|
+
sessionKey?: string;
|
|
2778
|
+
projectTag?: string;
|
|
2779
|
+
cwd?: string;
|
|
2780
|
+
}) => {
|
|
2781
|
+
received = request;
|
|
2782
|
+
return { ok: true as const, namespace: "derived-project-namespace" };
|
|
2783
|
+
},
|
|
2784
|
+
} as unknown as EngramAccessService;
|
|
2785
|
+
const server = new EngramAccessHttpServer({
|
|
2786
|
+
service,
|
|
2787
|
+
port: 0,
|
|
2788
|
+
authToken: "test-token",
|
|
2789
|
+
adminConsoleEnabled: false,
|
|
2790
|
+
});
|
|
2791
|
+
|
|
2792
|
+
const status = await server.start();
|
|
2793
|
+
try {
|
|
2794
|
+
const response = await fetch(
|
|
2795
|
+
`http://127.0.0.1:${status.port}/engram/v1/namespace/writable?session=s-1&projectTag=Acme%2FWebshop&cwd=%2Ftmp%2Frepo`,
|
|
2796
|
+
{ headers: { authorization: "Bearer test-token" } },
|
|
2797
|
+
);
|
|
2798
|
+
assert.deepEqual(await response.json(), { ok: true, namespace: "derived-project-namespace" });
|
|
2799
|
+
assert.deepEqual(received, {
|
|
2800
|
+
namespace: undefined,
|
|
2801
|
+
sessionKey: "s-1",
|
|
2802
|
+
authenticatedPrincipal: undefined,
|
|
2803
|
+
projectTag: "Acme/Webshop",
|
|
2804
|
+
cwd: "/tmp/repo",
|
|
2805
|
+
});
|
|
2806
|
+
} finally {
|
|
2807
|
+
await server.stop();
|
|
2808
|
+
}
|
|
2809
|
+
});
|
|
2810
|
+
|
|
2811
|
+
test("HTTP namespace/writable checks token scope against the effective scoped namespace", async () => {
|
|
2812
|
+
const service = {
|
|
2813
|
+
configRef: parseConfig({ memoryDir: "/tmp/remnic-http-preflight-effective", defaultNamespace: "default" }),
|
|
2814
|
+
namespaceWritablePreflight: async () => ({
|
|
2815
|
+
ok: true as const,
|
|
2816
|
+
namespace: "principal-project-derived",
|
|
2817
|
+
}),
|
|
2818
|
+
} as unknown as EngramAccessService;
|
|
2819
|
+
const server = new EngramAccessHttpServer({
|
|
2820
|
+
service,
|
|
2821
|
+
port: 0,
|
|
2822
|
+
authTokenEntriesGetter: () => [
|
|
2823
|
+
{ token: "default-only", capabilities: { version: 1, ops: ["observe"], namespaces: ["default"] } },
|
|
2824
|
+
],
|
|
2825
|
+
adminConsoleEnabled: false,
|
|
2826
|
+
});
|
|
2827
|
+
|
|
2828
|
+
const status = await server.start();
|
|
2829
|
+
try {
|
|
2830
|
+
const response = await fetch(
|
|
2831
|
+
`http://127.0.0.1:${status.port}/engram/v1/namespace/writable?session=s-1&projectTag=Acme%2FWebshop`,
|
|
2832
|
+
{ headers: { authorization: "Bearer default-only" } },
|
|
2833
|
+
);
|
|
2834
|
+
assert.deepEqual(await response.json(), {
|
|
2835
|
+
ok: false,
|
|
2836
|
+
reason: "not_writable",
|
|
2837
|
+
namespace: "principal-project-derived",
|
|
2838
|
+
});
|
|
2839
|
+
} finally {
|
|
2840
|
+
await server.stop();
|
|
2841
|
+
}
|
|
2842
|
+
});
|
|
2843
|
+
|
|
2760
2844
|
test("HTTP namespace/writable preflight admits write-scoped tokens and rejects read-only ops", async () => {
|
|
2761
2845
|
const service = {
|
|
2762
2846
|
configRef: parseConfig({ memoryDir: "/tmp/remnic-http-preflight-ops-test", defaultNamespace: "default" }),
|
|
2847
|
+
namespaceWritablePreflight: async () => ({ ok: true as const, namespace: "default" }),
|
|
2763
2848
|
} as unknown as EngramAccessService;
|
|
2764
2849
|
const server = new EngramAccessHttpServer({
|
|
2765
2850
|
service,
|
|
@@ -2800,6 +2885,12 @@ test("HTTP namespace/writable preflight admits write-scoped tokens and rejects r
|
|
|
2800
2885
|
assert.equal(await okOf(diag), false);
|
|
2801
2886
|
// A read-only token cannot write, so it has nothing to preflight → 403.
|
|
2802
2887
|
assert.equal((await request("read-only")).status, 403);
|
|
2888
|
+
const invalidOp = await request("write-scoped", "memory_stroe");
|
|
2889
|
+
assert.equal(invalidOp.status, 400);
|
|
2890
|
+
assert.match(
|
|
2891
|
+
JSON.stringify(await invalidOp.json()),
|
|
2892
|
+
/unsupported namespace preflight operation: memory_stroe/,
|
|
2893
|
+
);
|
|
2803
2894
|
} finally {
|
|
2804
2895
|
await server.stop();
|
|
2805
2896
|
}
|
package/src/access-http.ts
CHANGED
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
import { expandTildePath } from "./utils/path.js";
|
|
38
38
|
import { projectTagProjectId } from "./coding/coding-namespace.js";
|
|
39
39
|
import { getOperation, type OperationName } from "./access-boundary.js";
|
|
40
|
-
import {
|
|
40
|
+
import { resolveQueryNamespaceWritablePreflight } from "./access-namespace-preflight.js";
|
|
41
41
|
import {
|
|
42
42
|
assertOperationAllowed,
|
|
43
43
|
capabilityAllowsOp,
|
|
@@ -1467,20 +1467,19 @@ export class EngramAccessHttpServer {
|
|
|
1467
1467
|
return;
|
|
1468
1468
|
}
|
|
1469
1469
|
|
|
1470
|
-
// Namespace-writability preflight (issue #1888 part 3): would the client's
|
|
1471
|
-
// enabled write (`?op=observe|memory_store`, default observe) to the
|
|
1472
|
-
// requested namespace by THIS token succeed? Out-of-allow-list → 200
|
|
1473
|
-
// {ok:false}; any allowedByOps token may run it (HTTP + batch admit alike).
|
|
1474
1470
|
if (req.method === "GET" && pathname === "/engram/v1/namespace/writable") {
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1471
|
+
if (!getOperation("namespace_writable")) throw new Error("namespace_writable operation is not registered");
|
|
1472
|
+
this.respondJson(
|
|
1473
|
+
res,
|
|
1474
|
+
200,
|
|
1475
|
+
await resolveQueryNamespaceWritablePreflight(
|
|
1476
|
+
tokenCapabilityStore.getStore(),
|
|
1477
|
+
parsed.searchParams,
|
|
1478
|
+
this.resolveRequestPrincipal(req),
|
|
1479
|
+
this.service.configRef.defaultNamespace,
|
|
1480
|
+
(request) => this.service.namespaceWritablePreflight(request),
|
|
1481
|
+
),
|
|
1482
|
+
);
|
|
1484
1483
|
return;
|
|
1485
1484
|
}
|
|
1486
1485
|
|