@engramx/client 0.16.0-rc.4 → 0.16.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -1
- package/dist/actionReceipt.d.ts +8 -0
- package/dist/actionReceipt.js +8 -0
- package/dist/actionReceipt.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/memoryArchive.d.ts +67 -23
- package/dist/memoryArchive.js +58 -31
- package/dist/memoryArchive.js.map +1 -1
- package/package.json +9 -8
package/README.md
CHANGED
|
@@ -98,7 +98,7 @@ Pair your agent with an engram:
|
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
100
|
# Pair the agent on this machine with the engram and install the OpenClaw plugin
|
|
101
|
-
pnpm dlx @engramx/client@0.16.0-rc.
|
|
101
|
+
pnpm dlx @engramx/client@0.16.0-rc.6 pair <invite-code> --engram <canister-id> --target openclaw
|
|
102
102
|
|
|
103
103
|
# Replacement machine — after pairing, restore memory from the engram
|
|
104
104
|
pnpm dlx @engramx/client migrate --engram <canister-id> --recover
|
|
@@ -193,6 +193,13 @@ wrapper went. *(16 names)*
|
|
|
193
193
|
`getAgentWriteReview`, `markAgentWritesReviewed` and `getEngramCard` (the vocabulary change: owner,
|
|
194
194
|
agent, guardian).
|
|
195
195
|
|
|
196
|
+
⟨2026-10-07⟩ The memory-log walk is still exported, as a module function rather than a class method:
|
|
197
|
+
`assembleMemoryArchive(fetchPage, options)` takes the engram's own `listMemoryLog` as `fetchPage` —
|
|
198
|
+
an owner-authenticated actor's, bound (`actor.listMemoryLog.bind(actor)`) — reads the page exactly as
|
|
199
|
+
the engram serves it (`{ firstAvailableSeq; head; page : { items; total; withheld } }`, advancing by
|
|
200
|
+
`items.length + withheld`), and `verifyMemoryArchive` checks the archive against an export receipt.
|
|
201
|
+
The `assembleMemoryArchive` in group 4 below is the class method that left.
|
|
202
|
+
|
|
196
203
|
**2. Renamed on the engram — the capability survives under a new name.** *(4 names)*
|
|
197
204
|
|
|
198
205
|
| you called | call instead |
|
package/dist/actionReceipt.d.ts
CHANGED
|
@@ -93,6 +93,14 @@ export declare function toCandidActionAuth(a: ActionAuth): [{
|
|
|
93
93
|
* verifier loosening (a newer ic402), or @noble/curves changing what `zip215: false` means.
|
|
94
94
|
* A malformed key or signature (wrong length, a point that does not decode) is `verified: false`,
|
|
95
95
|
* never a throw — a relying party reads one boolean.
|
|
96
|
+
*
|
|
97
|
+
* ⟨2026-10-06⟩ Re-measured on @noble/curves 2.4.0 (from 1.9.7): this exact call, wrapped as
|
|
98
|
+
* `strictVerify` is, answers identically on 819 known-answer comparisons run against both versions
|
|
99
|
+
* side by side — RFC 8032 vectors, honest/tampered/malleated (S + L, 2L, 3L) signatures, the eight
|
|
100
|
+
* small-order encodings and six non-canonical ones as key and as R, wrong lengths, offset views.
|
|
101
|
+
* v2 hashes the signature's R and key bytes as given rather than re-encoding the decoded points;
|
|
102
|
+
* under `zip215: false` only canonical encodings decode, so the challenge is the same bytes. The
|
|
103
|
+
* comparison could fail: v2 in ZIP-215 mode differed on 48 rows (every small-order forgery).
|
|
96
104
|
*/
|
|
97
105
|
export declare function verifyActionReceipt(canisterId: string, operation: string, fields: string, receipt: ActionAuth): {
|
|
98
106
|
verified: boolean;
|
package/dist/actionReceipt.js
CHANGED
|
@@ -123,6 +123,14 @@ function strictVerify(signature, message, pubkey) {
|
|
|
123
123
|
* verifier loosening (a newer ic402), or @noble/curves changing what `zip215: false` means.
|
|
124
124
|
* A malformed key or signature (wrong length, a point that does not decode) is `verified: false`,
|
|
125
125
|
* never a throw — a relying party reads one boolean.
|
|
126
|
+
*
|
|
127
|
+
* ⟨2026-10-06⟩ Re-measured on @noble/curves 2.4.0 (from 1.9.7): this exact call, wrapped as
|
|
128
|
+
* `strictVerify` is, answers identically on 819 known-answer comparisons run against both versions
|
|
129
|
+
* side by side — RFC 8032 vectors, honest/tampered/malleated (S + L, 2L, 3L) signatures, the eight
|
|
130
|
+
* small-order encodings and six non-canonical ones as key and as R, wrong lengths, offset views.
|
|
131
|
+
* v2 hashes the signature's R and key bytes as given rather than re-encoding the decoded points;
|
|
132
|
+
* under `zip215: false` only canonical encodings decode, so the challenge is the same bytes. The
|
|
133
|
+
* comparison could fail: v2 in ZIP-215 mode differed on 48 rows (every small-order forgery).
|
|
126
134
|
*/
|
|
127
135
|
export function verifyActionReceipt(canisterId, operation, fields, receipt) {
|
|
128
136
|
const message = actionMessage(canisterId, operation, fields, receipt.nonce);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionReceipt.js","sourceRoot":"","sources":["../src/actionReceipt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"actionReceipt.js","sourceRoot":"","sources":["../src/actionReceipt.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -33,4 +33,4 @@ export type { Role, AgentStatus, AgentPermissions, AgentRecord, ChildAllowanceRo
|
|
|
33
33
|
export { verifyCanonicalLineage, classifyLineage, CANONICAL_REGISTRY_CANISTER_ID, type LineageVerdict, type CustodyMode, } from './lineage.js';
|
|
34
34
|
export { chunkHash, deltaHash, contentRoot, merkle, leaf, evictedRoot, opsRoot, eventHash, eventPreambleAndBody, manifestBytes, opBody, opTag, toHex, type Hash as LedgerFsHash, type ChunkRef as LedgerFsChunkRef, type Manifest as LedgerFsManifest, type Op as LedgerFsOp, type Event as LedgerFsEvent, type ImportNote as LedgerFsImportNote, } from './ledgerfsHash.js';
|
|
35
35
|
export { assembleMemoryArchive, verifyMemoryArchive, recomputeOpsRoot, memoryLogEventHash, toLedgerFsEvent, isResponseTooLarge, ARCHIVE_MAX_RANGE, ARCHIVE_PAGE_EVENTS, } from './memoryArchive.js';
|
|
36
|
-
export type { MemoryLogEvent, MemoryLogOp, MemoryLogImportNote, MemoryLogManifest, MemoryLogChunkRef, MemoryLogPage, MemoryLogPageFetcher, MemoryExportReceipt, MemoryCondenseResult, MemoryCondensePreview, MemoryReceiptRef, MemoryExportReceiptRow, MemoryCheckpointRow, MemoryArchive, MemoryArchiveVerification, AssembleArchiveOptions, OpsRootAttestation, } from './memoryArchive.js';
|
|
36
|
+
export type { MemoryLogEvent, MemoryLogOp, MemoryLogImportNote, MemoryLogManifest, MemoryLogChunkRef, MemoryLogPage, MemoryLogEventPage, MemoryLogPageFetcher, MemoryExportReceipt, MemoryCondenseResult, MemoryCondensePreview, MemoryReceiptRef, MemoryExportReceiptRow, MemoryCheckpointRow, MemoryArchive, MemoryArchiveVerification, AssembleArchiveOptions, OpsRootAttestation, } from './memoryArchive.js';
|
package/dist/index.js
CHANGED
|
@@ -64,7 +64,7 @@ export { verifyCanonicalLineage, classifyLineage, CANONICAL_REGISTRY_CANISTER_ID
|
|
|
64
64
|
export { chunkHash, deltaHash, contentRoot, merkle, leaf, evictedRoot, opsRoot, eventHash, eventPreambleAndBody, manifestBytes, opBody, opTag, toHex, } from './ledgerfsHash.js';
|
|
65
65
|
// Archive — the owner's read → attest → verify → condense path over the memory log. The paging
|
|
66
66
|
// helper honours the engram's disclosed page cap and halves on a response the engram could not
|
|
67
|
-
// fit; the verifier recomputes the ops root through ledgerfsHash above, never through a second
|
|
67
|
+
// fit (⟨2026-10-07⟩ the window each page states, `items.length + withheld`, since 0.16.0); the verifier recomputes the ops root through ledgerfsHash above, never through a second
|
|
68
68
|
// copy of the hash rules. Owner-only on the canister: a log entry's `path` is inside its own hash
|
|
69
69
|
// preimage, so it cannot be redacted for a lesser caller — which is why the EngramClient wrappers
|
|
70
70
|
// over this family left in the 2026-08-17 charter diet and these module functions did not. If you
|
|
@@ -75,5 +75,9 @@ export { chunkHash, deltaHash, contentRoot, merkle, leaf, evictedRoot, opsRoot,
|
|
|
75
75
|
// `listMemoryLog`, whose page is a different envelope from `MemoryLogPage`, so it cannot be passed
|
|
76
76
|
// straight in. See the note on `MemoryLogPage` in memoryArchive.ts: that adapter is an open
|
|
77
77
|
// question, not something done here.
|
|
78
|
+
// ⟨RESHAPED 2026-10-07, beside the correction above — the owner's decision of that day⟩ No adapter:
|
|
79
|
+
// the walk itself reads the served page now. `MemoryLogPage` IS `listMemoryLog`'s `LogPage`, and a
|
|
80
|
+
// fetcher has that method's shape, so `assembleMemoryArchive(actor.listMemoryLog.bind(actor), opts)`
|
|
81
|
+
// with an owner-authenticated actor is the whole call.
|
|
78
82
|
export { assembleMemoryArchive, verifyMemoryArchive, recomputeOpsRoot, memoryLogEventHash, toLedgerFsEvent, isResponseTooLarge, ARCHIVE_MAX_RANGE, ARCHIVE_PAGE_EVENTS, } from './memoryArchive.js';
|
|
79
83
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,iGAAiG;AACjG,6FAA6F;AAC7F,iGAAiG;AACjG,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAMnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,mGAAmG;AACnG,qGAAqG;AACrG,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAI7B,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,uFAAuF;AACvF,4FAA4F;AAC5F,kGAAkG;AAClG,0DAA0D;AAC1D,EAAE;AACF,oGAAoG;AACpG,2FAA2F;AAC3F,gGAAgG;AAChG,EAAE;AACF,qGAAqG;AACrG,iGAAiG;AACjG,+FAA+F;AAC/F,sEAAsE;AACtE,kGAAkG;AAClG,iGAAiG;AACjG,iGAAiG;AACjG,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,wDAAwD;AACxD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,kFAAkF;AAClF,+FAA+F;AAC/F,uFAAuF;AAEvF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE5C,2GAA2G;AAC3G,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAO1D,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA2C5C,6FAA6F;AAC7F,0FAA0F;AAC1F,mGAAmG;AACnG,gGAAgG;AAChG,iGAAiG;AACjG,kGAAkG;AAClG,iGAAiG;AACjG,gEAAgE;AAEhE,0FAA0F;AAC1F,0FAA0F;AAC1F,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,8BAA8B,GAG/B,MAAM,cAAc,CAAC;AAEtB,+FAA+F;AAC/F,oGAAoG;AACpG,mGAAmG;AACnG,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,MAAM,EACN,IAAI,EACJ,WAAW,EACX,OAAO,EACP,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,KAAK,EACL,KAAK,GAON,MAAM,mBAAmB,CAAC;AAE3B,+FAA+F;AAC/F,+FAA+F;AAC/F
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,iGAAiG;AACjG,6FAA6F;AAC7F,iGAAiG;AACjG,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAMnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,mGAAmG;AACnG,qGAAqG;AACrG,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAI7B,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,uFAAuF;AACvF,4FAA4F;AAC5F,kGAAkG;AAClG,0DAA0D;AAC1D,EAAE;AACF,oGAAoG;AACpG,2FAA2F;AAC3F,gGAAgG;AAChG,EAAE;AACF,qGAAqG;AACrG,iGAAiG;AACjG,+FAA+F;AAC/F,sEAAsE;AACtE,kGAAkG;AAClG,iGAAiG;AACjG,iGAAiG;AACjG,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,wDAAwD;AACxD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,kFAAkF;AAClF,+FAA+F;AAC/F,uFAAuF;AAEvF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE5C,2GAA2G;AAC3G,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAO1D,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA2C5C,6FAA6F;AAC7F,0FAA0F;AAC1F,mGAAmG;AACnG,gGAAgG;AAChG,iGAAiG;AACjG,kGAAkG;AAClG,iGAAiG;AACjG,gEAAgE;AAEhE,0FAA0F;AAC1F,0FAA0F;AAC1F,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,8BAA8B,GAG/B,MAAM,cAAc,CAAC;AAEtB,+FAA+F;AAC/F,oGAAoG;AACpG,mGAAmG;AACnG,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,MAAM,EACN,IAAI,EACJ,WAAW,EACX,OAAO,EACP,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,KAAK,EACL,KAAK,GAON,MAAM,mBAAmB,CAAC;AAE3B,+FAA+F;AAC/F,+FAA+F;AAC/F,mLAAmL;AACnL,kGAAkG;AAClG,kGAAkG;AAClG,kGAAkG;AAClG,mGAAmG;AACnG,kGAAkG;AAClG,wCAAwC;AACxC,qFAAqF;AACrF,mGAAmG;AACnG,4FAA4F;AAC5F,qCAAqC;AACrC,oGAAoG;AACpG,mGAAmG;AACnG,qGAAqG;AACrG,uDAAuD;AACvD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC"}
|
package/dist/memoryArchive.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { Principal } from '@icp-sdk/core/principal';
|
|
2
|
+
import { type WireResult } from './wire.js';
|
|
2
3
|
import { type Event as LedgerFsEvent, type Hash } from './ledgerfsHash.js';
|
|
3
4
|
export interface MemoryLogChunkRef {
|
|
4
|
-
hash: Uint8Array;
|
|
5
|
+
hash: Uint8Array | number[];
|
|
5
6
|
size: bigint;
|
|
6
7
|
birthSeq: bigint;
|
|
7
8
|
}
|
|
8
9
|
export interface MemoryLogManifest {
|
|
9
10
|
chunks: MemoryLogChunkRef[];
|
|
10
11
|
totalSize: bigint;
|
|
11
|
-
contentRoot: Uint8Array;
|
|
12
|
+
contentRoot: Uint8Array | number[];
|
|
12
13
|
}
|
|
13
14
|
/** Why an imported entry exists — the pre-ledgerfs migration seam. All five classes. */
|
|
14
15
|
export type MemoryLogImportNote = {
|
|
15
16
|
genesis: {
|
|
16
|
-
boundTo: [] | [Uint8Array];
|
|
17
|
+
boundTo: [] | [Uint8Array | number[]];
|
|
17
18
|
};
|
|
18
19
|
} | {
|
|
19
20
|
legacyGap: {
|
|
@@ -22,20 +23,20 @@ export type MemoryLogImportNote = {
|
|
|
22
23
|
} | {
|
|
23
24
|
legacyTruncated: {
|
|
24
25
|
storedBytes: bigint;
|
|
25
|
-
prefixHash: Uint8Array;
|
|
26
|
+
prefixHash: Uint8Array | number[];
|
|
26
27
|
};
|
|
27
28
|
} | {
|
|
28
29
|
legacyDelete: null;
|
|
29
30
|
} | {
|
|
30
31
|
legacyUnreconstructable: {
|
|
31
|
-
contentHash: Uint8Array;
|
|
32
|
+
contentHash: Uint8Array | number[];
|
|
32
33
|
reason: string;
|
|
33
34
|
};
|
|
34
35
|
};
|
|
35
36
|
/** The operation one log entry records. `condense` and `exported` are store-global. */
|
|
36
37
|
export type MemoryLogOp = {
|
|
37
38
|
append: {
|
|
38
|
-
deltaHash: Uint8Array;
|
|
39
|
+
deltaHash: Uint8Array | number[];
|
|
39
40
|
deltaSize: bigint;
|
|
40
41
|
newSize: bigint;
|
|
41
42
|
};
|
|
@@ -56,21 +57,21 @@ export type MemoryLogOp = {
|
|
|
56
57
|
toVersion: bigint;
|
|
57
58
|
chunkCount: bigint;
|
|
58
59
|
byteCount: bigint;
|
|
59
|
-
evictedRoot: Uint8Array;
|
|
60
|
+
evictedRoot: Uint8Array | number[];
|
|
60
61
|
};
|
|
61
62
|
} | {
|
|
62
63
|
condense: {
|
|
63
64
|
fromSeq: bigint;
|
|
64
65
|
toSeq: bigint;
|
|
65
66
|
opCount: bigint;
|
|
66
|
-
opsRoot: Uint8Array;
|
|
67
|
-
headAtBoundary: Uint8Array;
|
|
67
|
+
opsRoot: Uint8Array | number[];
|
|
68
|
+
headAtBoundary: Uint8Array | number[];
|
|
68
69
|
};
|
|
69
70
|
} | {
|
|
70
71
|
exported: {
|
|
71
72
|
fromSeq: bigint;
|
|
72
73
|
toSeq: bigint;
|
|
73
|
-
opsRoot: Uint8Array;
|
|
74
|
+
opsRoot: Uint8Array | number[];
|
|
74
75
|
authorFilter: [] | [Principal];
|
|
75
76
|
};
|
|
76
77
|
} | {
|
|
@@ -103,9 +104,9 @@ export interface MemoryLogEvent {
|
|
|
103
104
|
*/
|
|
104
105
|
atNs: bigint;
|
|
105
106
|
size: bigint;
|
|
106
|
-
contentRoot: Uint8Array;
|
|
107
|
+
contentRoot: Uint8Array | number[];
|
|
107
108
|
/** Hash of the previous entry under the canonical (non-Candid) encoding. */
|
|
108
|
-
prev: Uint8Array;
|
|
109
|
+
prev: Uint8Array | number[];
|
|
109
110
|
}
|
|
110
111
|
/**
|
|
111
112
|
* One page of the memory log.
|
|
@@ -113,6 +114,10 @@ export interface MemoryLogEvent {
|
|
|
113
114
|
* `pageCap` is the width of the window the engram actually covered — its clamp on `max`, which
|
|
114
115
|
* sits at 256 rather than the library's 1024. It is DISCLOSED for exactly one reason: a caller
|
|
115
116
|
* that cannot see the cap cannot know whether it has the whole window. Read it, never `max`.
|
|
117
|
+
* ⟨2026-10-07, beside the paragraph above, which describes the page before 0.16.0⟩ The disclosure
|
|
118
|
+
* survives under another shape: the window is `page.items.length + page.withheld`, the entries the
|
|
119
|
+
* engram scanned for this page — the ones it returned and the ones the author filter removed. Read
|
|
120
|
+
* that, never `max`.
|
|
116
121
|
*
|
|
117
122
|
* ⚠ ⟨STALE 2026-10-05 — measured, not fixed⟩ This envelope no longer mirrors the wire, and the
|
|
118
123
|
* difference goes beyond a field name. 0.16.0 renamed `getMemoryLogPage` to `listMemoryLog`, and it
|
|
@@ -123,15 +128,31 @@ export interface MemoryLogEvent {
|
|
|
123
128
|
* for the walk, not a rename. It is left open and named in test/wire-mirror.test.ts, which fails
|
|
124
129
|
* once this envelope matches, so the exception cannot outlive the drift. The entries themselves
|
|
125
130
|
* (`MemoryLogEvent`) do mirror the wire.
|
|
131
|
+
*
|
|
132
|
+
* ⟨RESHAPED 2026-10-07, beside the note above — the owner's decision of that day: reshape the walk
|
|
133
|
+
* to the served page, as the owner's own archive page walks it; not an adapter⟩ This now mirrors
|
|
134
|
+
* `listMemoryLog`'s reply exactly: `LogPage = { firstAvailableSeq; head; page : { items; total;
|
|
135
|
+
* withheld } }`. The fields it carried (`events`, `totalEvents`, `pageCap`) are gone, and the walk
|
|
136
|
+
* below reads the window from the page. test/wire-mirror.test.ts no longer carries an exception for
|
|
137
|
+
* this type: it must match.
|
|
126
138
|
*/
|
|
127
139
|
export interface MemoryLogPage {
|
|
128
|
-
events: MemoryLogEvent[];
|
|
129
|
-
/** Entries EVER chained, not the retained count — a condensed prefix never shortens this. */
|
|
130
|
-
totalEvents: bigint;
|
|
131
140
|
/** The floor below which entries are no longer served: a condensed prefix, made visible. */
|
|
132
141
|
firstAvailableSeq: bigint;
|
|
133
|
-
head
|
|
134
|
-
|
|
142
|
+
/** The chain's head when the page was read — what a third party checks the page against. */
|
|
143
|
+
head: Uint8Array | number[];
|
|
144
|
+
page: MemoryLogEventPage;
|
|
145
|
+
}
|
|
146
|
+
/** The rows of one memory-log page, in the house page shape. */
|
|
147
|
+
export interface MemoryLogEventPage {
|
|
148
|
+
items: MemoryLogEvent[];
|
|
149
|
+
/** Entries EVER chained, not the retained count — a condensed prefix never shortens this. */
|
|
150
|
+
total: bigint;
|
|
151
|
+
/**
|
|
152
|
+
* Entries the author filter removed from this window. 0 on an unfiltered read, where a short
|
|
153
|
+
* page then means exactly one thing: the chain ended. `items.length + withheld` is the window.
|
|
154
|
+
*/
|
|
155
|
+
withheld: bigint;
|
|
135
156
|
}
|
|
136
157
|
/** What `exportMemoryRange` writes into the chain and hands back. */
|
|
137
158
|
export interface MemoryExportReceipt {
|
|
@@ -233,6 +254,8 @@ export declare const ARCHIVE_MAX_RANGE = 10000n;
|
|
|
233
254
|
* `pageCap`. Asking for the cap is safe rather than optimistic because the fallback below it is
|
|
234
255
|
* real: a page that will not fit is retried at half the size, and a walk that had to shrink says
|
|
235
256
|
* so through `smallestPageUsed`.
|
|
257
|
+
* ⟨2026-10-07, beside "reports the result as `pageCap`"⟩ It reports the window it scanned as
|
|
258
|
+
* `items.length + withheld` now; `pageCap` is not served.
|
|
236
259
|
*/
|
|
237
260
|
export declare const ARCHIVE_PAGE_EVENTS = 256n;
|
|
238
261
|
/**
|
|
@@ -246,7 +269,7 @@ export declare function toLedgerFsEvent(e: MemoryLogEvent): LedgerFsEvent;
|
|
|
246
269
|
/** The canonical hash of one log entry, recomputed from its decoded fields. */
|
|
247
270
|
export declare const memoryLogEventHash: (e: MemoryLogEvent) => Hash;
|
|
248
271
|
/**
|
|
249
|
-
* Fetches one page.
|
|
272
|
+
* Fetches one page: `listMemoryLog`, as the engram serves it.
|
|
250
273
|
*
|
|
251
274
|
* The caller supplies it, and after 2026-08-17 that is the only way it arrives: `EngramClient`
|
|
252
275
|
* used to carry a `getMemoryLogPage` wrapper that satisfied this shape, and the charter diet
|
|
@@ -259,8 +282,24 @@ export declare const memoryLogEventHash: (e: MemoryLogEvent) => Hash;
|
|
|
259
282
|
* serves `listMemoryLog`, not `getMemoryLogPage`, and its reply is not a `MemoryLogPage` (see the
|
|
260
283
|
* note there). Until the walk is adapted, a fetcher has to translate the served page into this
|
|
261
284
|
* shape. That translation is open, not done.
|
|
285
|
+
*
|
|
286
|
+
* ⟨RESHAPED 2026-10-07, beside the correction above — the owner's decision of that day⟩ It can
|
|
287
|
+
* again: the fetcher's shape IS the served method's, `listMemoryLog(startSeq, max, authorFilter :
|
|
288
|
+
* opt principal) -> Result<LogPage>`, so an owner tool passes its owner-authenticated actor's
|
|
289
|
+
* `listMemoryLog` (bound to the actor) straight in, and nothing translates the page. A typed
|
|
290
|
+
* refusal (`Err`) ends the walk with the engram's own sentence; it is never halved into. A REJECTED
|
|
291
|
+
* call (the promise fails) is a transport fact, and only a response-size one is halved and retried.
|
|
292
|
+
*
|
|
293
|
+
* ⟨CORRECTED 2026-10-07, same day, beside "straight in" above⟩ That was false as first written. tsc
|
|
294
|
+
* refused a generated actor's `listMemoryLog` here: "Type 'ActorMethod<[bigint, bigint, [] |
|
|
295
|
+
* [Principal]], Result_30>' is not assignable to type 'MemoryLogPageFetcher' … The types of 'Ok.head'
|
|
296
|
+
* are incompatible", because the page types declared blobs `Uint8Array` and the generated interface
|
|
297
|
+
* declares them `Uint8Array | number[]`. The test that said it passed straight in used a stand-in
|
|
298
|
+
* already typed as this fetcher. The blob fields are widened now (see the note under "Wire shapes"),
|
|
299
|
+
* and test/generated-actor-fits.test.ts compiles the generated method into this type, so the
|
|
300
|
+
* sentence is held by a check that fails when it stops being true.
|
|
262
301
|
*/
|
|
263
|
-
export type MemoryLogPageFetcher = (startSeq: bigint, max: bigint, authorFilter
|
|
302
|
+
export type MemoryLogPageFetcher = (startSeq: bigint, max: bigint, authorFilter: [] | [Principal]) => Promise<WireResult<MemoryLogPage>>;
|
|
264
303
|
export interface AssembleArchiveOptions {
|
|
265
304
|
/** Default: the engram's retained floor, learned from the first page. */
|
|
266
305
|
fromSeq?: bigint | number;
|
|
@@ -268,7 +307,7 @@ export interface AssembleArchiveOptions {
|
|
|
268
307
|
toSeq?: bigint | number;
|
|
269
308
|
/** Restrict to one author. A filtered archive can only be checked against a filtered receipt. */
|
|
270
309
|
authorFilter?: Principal;
|
|
271
|
-
/** Starting page size. Only ever shrinks from here — never grows toward
|
|
310
|
+
/** Starting page size. Only ever shrinks from here — never grows back toward the engram's clamp. */
|
|
272
311
|
pageEvents?: bigint | number;
|
|
273
312
|
/** Lower the range ceiling for this call. Values above {@link ARCHIVE_MAX_RANGE} are clamped. */
|
|
274
313
|
maxRange?: bigint | number;
|
|
@@ -283,8 +322,6 @@ export interface MemoryArchive {
|
|
|
283
322
|
firstAvailableSeq: bigint;
|
|
284
323
|
/** The engram's chain head as of the last page fetched. */
|
|
285
324
|
head: Uint8Array;
|
|
286
|
-
/** The cap the engram disclosed on the last page. */
|
|
287
|
-
pageCap: bigint;
|
|
288
325
|
pagesFetched: number;
|
|
289
326
|
/**
|
|
290
327
|
* The smallest page size the walk had to fall back to. Below the requested size ⇒ at least one
|
|
@@ -315,6 +352,13 @@ export declare function isResponseTooLarge(err: unknown): boolean;
|
|
|
315
352
|
* - start below the retained floor (a condensed prefix is unattestable, so an explicit request
|
|
316
353
|
* for it is refused rather than silently raised);
|
|
317
354
|
* - assemble more than {@link ARCHIVE_MAX_RANGE} entries in one pass.
|
|
355
|
+
* ⟨2026-10-07, beside the second point — the owner's decision of that day⟩ The window the engram
|
|
356
|
+
* confirmed is `page.items.length + page.withheld` now — the entries it scanned for the page,
|
|
357
|
+
* starting at `max(startSeq, firstAvailableSeq)` — the rule the engram's own `listMemoryLog` doc
|
|
358
|
+
* states and the owner's archive page walks by. Two refusals join the list: a page whose window is
|
|
359
|
+
* EMPTY while the range still has entries to serve (the walk would spin, or end short), and a floor
|
|
360
|
+
* that rises above the cursor mid-walk (a condense ran during the walk, and what it dropped can no
|
|
361
|
+
* longer be served or attested).
|
|
318
362
|
*
|
|
319
363
|
* Termination is structural: the cursor advances by at least one seq per successful page, and the
|
|
320
364
|
* page size strictly halves per size failure until it reaches one.
|
|
@@ -328,7 +372,7 @@ export declare function assembleMemoryArchive(fetchPage: MemoryLogPageFetcher, o
|
|
|
328
372
|
export interface OpsRootAttestation {
|
|
329
373
|
fromSeq: bigint;
|
|
330
374
|
toSeq: bigint;
|
|
331
|
-
opsRoot: Uint8Array;
|
|
375
|
+
opsRoot: Uint8Array | number[];
|
|
332
376
|
/** Absent or `[]` ⇒ the attestation covers every author in the range. */
|
|
333
377
|
authorFilter?: [] | [Principal];
|
|
334
378
|
}
|
package/dist/memoryArchive.js
CHANGED
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
// chain in strides longer than the canister actually served and skip whatever fell between.
|
|
12
12
|
// assembleMemoryArchive advances by the window the canister CONFIRMED, and then asserts the
|
|
13
13
|
// range came back whole. It throws rather than return a gap.
|
|
14
|
+
// ⟨2026-10-07, beside the point above — the owner's decision of that day⟩ The engram serves
|
|
15
|
+
// `listMemoryLog` now, and its page states the window directly: `items.length + withheld`
|
|
16
|
+
// entries scanned, starting at `max(startSeq, firstAvailableSeq)`. The walk advances by that,
|
|
17
|
+
// as the owner's own archive page does. `pageCap` is not served and is not read.
|
|
14
18
|
// 2. A PAGE THE CANISTER CANNOT FIT IN ONE RESPONSE. A `#set`/`#restore` entry carries a full
|
|
15
19
|
// manifest — up to 40 chunk references, since maxFileBytes is 10 MiB at a frozen 256 KiB
|
|
16
20
|
// chunkSize (src/engram/LedgerFsInit.mo) — so a manifest-heavy page can exceed the 2 MiB
|
|
@@ -25,6 +29,7 @@
|
|
|
25
29
|
// It also states a CEILING and refuses past it. Assembling an unbounded chain into one JS array
|
|
26
30
|
// is a real failure mode (see ARCHIVE_MAX_RANGE), and splitting is free: each part gets its own
|
|
27
31
|
// receipt, and receipts compose — condense only needs one that covers the prefix being dropped.
|
|
32
|
+
import { CanisterRefusal } from './wire.js';
|
|
28
33
|
import { eventHash, opsRoot as opsRootOverEventHashes, toHex, } from './ledgerfsHash.js';
|
|
29
34
|
// ⟨DELETED 2026-10-05⟩ `MemoryExportReceiptsPage` stood here: "One page of the
|
|
30
35
|
// receipts-and-checkpoints ledger. `next` is the `before` cursor, null = done", with the fields
|
|
@@ -59,6 +64,8 @@ export const ARCHIVE_MAX_RANGE = 10000n;
|
|
|
59
64
|
* `pageCap`. Asking for the cap is safe rather than optimistic because the fallback below it is
|
|
60
65
|
* real: a page that will not fit is retried at half the size, and a walk that had to shrink says
|
|
61
66
|
* so through `smallestPageUsed`.
|
|
67
|
+
* ⟨2026-10-07, beside "reports the result as `pageCap`"⟩ It reports the window it scanned as
|
|
68
|
+
* `items.length + withheld` now; `pageCap` is not served.
|
|
62
69
|
*/
|
|
63
70
|
export const ARCHIVE_PAGE_EVENTS = 256n;
|
|
64
71
|
// ── Byte/shape normalization ───────────────────────────────────────────────────────────────────
|
|
@@ -212,12 +219,20 @@ const asBig = (v) => (typeof v === 'bigint' ? v : BigInt(v));
|
|
|
212
219
|
* - start below the retained floor (a condensed prefix is unattestable, so an explicit request
|
|
213
220
|
* for it is refused rather than silently raised);
|
|
214
221
|
* - assemble more than {@link ARCHIVE_MAX_RANGE} entries in one pass.
|
|
222
|
+
* ⟨2026-10-07, beside the second point — the owner's decision of that day⟩ The window the engram
|
|
223
|
+
* confirmed is `page.items.length + page.withheld` now — the entries it scanned for the page,
|
|
224
|
+
* starting at `max(startSeq, firstAvailableSeq)` — the rule the engram's own `listMemoryLog` doc
|
|
225
|
+
* states and the owner's archive page walks by. Two refusals join the list: a page whose window is
|
|
226
|
+
* EMPTY while the range still has entries to serve (the walk would spin, or end short), and a floor
|
|
227
|
+
* that rises above the cursor mid-walk (a condense ran during the walk, and what it dropped can no
|
|
228
|
+
* longer be served or attested).
|
|
215
229
|
*
|
|
216
230
|
* Termination is structural: the cursor advances by at least one seq per successful page, and the
|
|
217
231
|
* page size strictly halves per size failure until it reaches one.
|
|
218
232
|
*/
|
|
219
233
|
export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
220
234
|
const authorFilter = options.authorFilter;
|
|
235
|
+
const filterArg = authorFilter === undefined ? [] : [authorFilter];
|
|
221
236
|
const explicitFrom = options.fromSeq === undefined ? null : asBig(options.fromSeq);
|
|
222
237
|
const explicitTo = options.toSeq === undefined ? null : asBig(options.toSeq);
|
|
223
238
|
if (explicitFrom !== null && explicitFrom < 1n) {
|
|
@@ -244,22 +259,21 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
244
259
|
let toSeq = explicitTo;
|
|
245
260
|
let pagesFetched = 0;
|
|
246
261
|
// Set from the first page and refreshed by every one after it. No placeholder value: an
|
|
247
|
-
// uninitialized read would be a bug, and a stand-in zero head or zero
|
|
262
|
+
// uninitialized read would be a bug, and a stand-in zero head or zero total is exactly the
|
|
248
263
|
// fabricated reading this whole surface exists to avoid.
|
|
249
264
|
let head;
|
|
250
|
-
let pageCap;
|
|
251
265
|
let totalEvents;
|
|
252
266
|
let firstAvailableSeq;
|
|
253
267
|
let firstPage = true;
|
|
254
268
|
for (;;) {
|
|
255
269
|
// Where THIS request started. Held separately from `cursor` because the first page can move
|
|
256
|
-
// `
|
|
257
|
-
// engram
|
|
270
|
+
// `fromSeq` up to the retained floor, and the stride must still be measured from where the
|
|
271
|
+
// engram actually began scanning — not from a raised cursor, which would jump a whole window
|
|
258
272
|
// past entries the very page in hand did not reach.
|
|
259
273
|
const pageStart = cursor;
|
|
260
|
-
let
|
|
274
|
+
let reply;
|
|
261
275
|
try {
|
|
262
|
-
|
|
276
|
+
reply = await fetchPage(pageStart, requested, filterArg);
|
|
263
277
|
}
|
|
264
278
|
catch (err) {
|
|
265
279
|
if (!isResponseTooLarge(err)) {
|
|
@@ -277,10 +291,16 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
277
291
|
smallestPageUsed = requested;
|
|
278
292
|
continue;
|
|
279
293
|
}
|
|
294
|
+
// A typed refusal is the engram's answer, not a transport failure: it is never halved into
|
|
295
|
+
// (halving an authorization refusal would spend six round trips arriving at the same answer).
|
|
296
|
+
if ('Err' in reply) {
|
|
297
|
+
const refusal = new CanisterRefusal('listMemoryLog', reply.Err);
|
|
298
|
+
throw new Error(`assembleMemoryArchive: the engram refused the page at seq ${pageStart} (${requested} entries): ${refusal.message}. Nothing was assembled.`, { cause: refusal });
|
|
299
|
+
}
|
|
300
|
+
const page = reply.Ok;
|
|
280
301
|
pagesFetched += 1;
|
|
281
302
|
head = asBytes(page.head);
|
|
282
|
-
|
|
283
|
-
totalEvents = page.totalEvents;
|
|
303
|
+
totalEvents = page.page.total;
|
|
284
304
|
firstAvailableSeq = page.firstAvailableSeq;
|
|
285
305
|
if (firstPage) {
|
|
286
306
|
firstPage = false;
|
|
@@ -288,16 +308,15 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
288
308
|
if (explicitFrom !== null) {
|
|
289
309
|
throw new Error(`assembleMemoryArchive: entries below seq ${page.firstAvailableSeq} were condensed away and can no longer be served, so a range starting at ${explicitFrom} cannot be attested. Start at ${page.firstAvailableSeq} or later.`);
|
|
290
310
|
}
|
|
291
|
-
// Only `fromSeq` moves. The
|
|
292
|
-
//
|
|
293
|
-
// walk a full window past entries this page never reached.
|
|
311
|
+
// Only `fromSeq` moves. The engram began scanning at the floor, and the stride below is
|
|
312
|
+
// measured from there.
|
|
294
313
|
fromSeq = page.firstAvailableSeq;
|
|
295
314
|
}
|
|
296
|
-
if (explicitTo !== null && explicitTo > page.
|
|
297
|
-
throw new Error(`assembleMemoryArchive: the log holds ${page.
|
|
315
|
+
if (explicitTo !== null && explicitTo > page.page.total) {
|
|
316
|
+
throw new Error(`assembleMemoryArchive: the log holds ${page.page.total} entries, so seq ${explicitTo} does not exist yet.`);
|
|
298
317
|
}
|
|
299
|
-
toSeq = explicitTo ?? page.
|
|
300
|
-
// Guard BEFORE subtracting. An empty log answers
|
|
318
|
+
toSeq = explicitTo ?? page.page.total;
|
|
319
|
+
// Guard BEFORE subtracting. An empty log answers total = 0 with a floor of 1, so
|
|
301
320
|
// `toSeq - fromSeq` runs backwards there; in TypeScript that yields a negative BigInt
|
|
302
321
|
// rather than trapping, which would silently size the ceiling check the wrong way round.
|
|
303
322
|
const width = toSeq < fromSeq ? 0n : toSeq - fromSeq + 1n;
|
|
@@ -310,7 +329,6 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
310
329
|
totalEvents,
|
|
311
330
|
firstAvailableSeq,
|
|
312
331
|
head,
|
|
313
|
-
pageCap,
|
|
314
332
|
pagesFetched,
|
|
315
333
|
smallestPageUsed,
|
|
316
334
|
};
|
|
@@ -319,16 +337,26 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
319
337
|
throw new Error(`assembleMemoryArchive: ${width} log entries (seq ${fromSeq}–${toSeq}) is past the ${ceiling}-entry ceiling for one archive. Export it in parts — each part gets its own receipt, and a condense only needs a receipt covering the prefix it drops.`);
|
|
320
338
|
}
|
|
321
339
|
}
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
throw new Error(`assembleMemoryArchive:
|
|
340
|
+
else if (page.firstAvailableSeq > pageStart) {
|
|
341
|
+
// The floor rose above the cursor between two pages: a condense ran during the walk, and the
|
|
342
|
+
// engram clamped this page UP past entries the range still needs. They can no longer be
|
|
343
|
+
// served, so the range cannot be attested; a filtered walk would otherwise skip them without
|
|
344
|
+
// noticing. Refused, rather than returned short.
|
|
345
|
+
throw new Error(`assembleMemoryArchive: entries below seq ${page.firstAvailableSeq} were condensed away while the walk was at seq ${pageStart}, so seq ${pageStart}–${page.firstAvailableSeq - 1n} can no longer be served. Nothing is returned — walk the range again from ${page.firstAvailableSeq}.`);
|
|
346
|
+
}
|
|
347
|
+
// THE WINDOW IS THE CURSOR, and the page states it: the entries the engram scanned for this
|
|
348
|
+
// page, `items.length + withheld`, starting at max(pageStart, the floor). Never the rows alone
|
|
349
|
+
// — an author filter makes a page short or empty while the chain continues, and striding by
|
|
350
|
+
// the rows returned would skip every entry the filter removed and stall outright on an empty
|
|
351
|
+
// page; `withheld` is what the filter removed, so the sum is the scan.
|
|
352
|
+
const window = BigInt(page.page.items.length) + page.page.withheld;
|
|
353
|
+
if (window === 0n) {
|
|
354
|
+
// Nothing scanned at a cursor the range still covers (cursor <= toSeq <= total): the engram
|
|
355
|
+
// served nothing for entries that exist. Advancing would spin; stopping would return short.
|
|
356
|
+
throw new Error(`assembleMemoryArchive: the engram scanned no entries at seq ${pageStart} while the log holds ${page.page.total}, so seq ${pageStart}–${toSeq} came back empty. A short archive is not an archive — nothing is returned.`);
|
|
328
357
|
}
|
|
329
|
-
const window = page.pageCap < requested ? page.pageCap : requested;
|
|
330
358
|
let highestSeen = null;
|
|
331
|
-
for (const e of page.
|
|
359
|
+
for (const e of page.page.items) {
|
|
332
360
|
if (highestSeen === null || e.seq > highestSeen)
|
|
333
361
|
highestSeen = e.seq;
|
|
334
362
|
if (e.seq < fromSeq || e.seq > toSeq)
|
|
@@ -337,11 +365,10 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
337
365
|
bySeq.set(e.seq, e);
|
|
338
366
|
}
|
|
339
367
|
// Advance past the window that was actually covered. A request below the retained floor is
|
|
340
|
-
// clamped UP by the engram, so the window began at max(pageStart, floor)
|
|
341
|
-
//
|
|
342
|
-
//
|
|
343
|
-
|
|
344
|
-
const windowStart = pageStart < fromSeq ? fromSeq : pageStart;
|
|
368
|
+
// clamped UP by the engram, so the window began at max(pageStart, floor). The last clause is
|
|
369
|
+
// belt-and-braces: if a page ever returns an entry beyond the window it declared, the cursor
|
|
370
|
+
// still ends up past it. Every clause only raises the cursor, so the walk always moves.
|
|
371
|
+
const windowStart = pageStart < page.firstAvailableSeq ? page.firstAvailableSeq : pageStart;
|
|
345
372
|
let next = windowStart + window;
|
|
346
373
|
if (highestSeen !== null && highestSeen + 1n > next)
|
|
347
374
|
next = highestSeen + 1n;
|
|
@@ -353,7 +380,8 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
353
380
|
// The anti-fail-to-empty assertion. Only an UNFILTERED archive can be checked this way: with a
|
|
354
381
|
// filter, the engram is expected to skip entries, and the client has no way to know which. What
|
|
355
382
|
// holds in both cases is that every window covering [fromSeq, toSeq] was requested, which the
|
|
356
|
-
// loop above guarantees by construction.
|
|
383
|
+
// loop above guarantees by construction — and, since 0.16.0, that every window it covered was
|
|
384
|
+
// counted by the engram itself (`withheld`).
|
|
357
385
|
if (authorFilter === undefined) {
|
|
358
386
|
let expect = fromSeq;
|
|
359
387
|
for (const e of events) {
|
|
@@ -374,7 +402,6 @@ export async function assembleMemoryArchive(fetchPage, options = {}) {
|
|
|
374
402
|
totalEvents,
|
|
375
403
|
firstAvailableSeq,
|
|
376
404
|
head,
|
|
377
|
-
pageCap,
|
|
378
405
|
pagesFetched,
|
|
379
406
|
smallestPageUsed,
|
|
380
407
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryArchive.js","sourceRoot":"","sources":["../src/memoryArchive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memoryArchive.js","sourceRoot":"","sources":["../src/memoryArchive.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,qFAAqF;AACrF,EAAE;AACF,+FAA+F;AAC/F,6FAA6F;AAC7F,kGAAkG;AAClG,uFAAuF;AACvF,EAAE;AACF,0FAA0F;AAC1F,gGAAgG;AAChG,iGAAiG;AACjG,iGAAiG;AACjG,kEAAkE;AAClE,iGAAiG;AACjG,+FAA+F;AAC/F,mGAAmG;AACnG,sFAAsF;AACtF,gGAAgG;AAChG,8FAA8F;AAC9F,8FAA8F;AAC9F,kGAAkG;AAClG,mGAAmG;AACnG,mGAAmG;AACnG,0DAA0D;AAC1D,+FAA+F;AAC/F,iGAAiG;AACjG,yFAAyF;AACzF,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,gGAAgG;AAGhG,OAAO,EAAE,eAAe,EAAmB,MAAM,WAAW,CAAC;AAC7D,OAAO,EACL,SAAS,EACT,OAAO,IAAI,sBAAsB,EACjC,KAAK,GAMN,MAAM,mBAAmB,CAAC;AA4O3B,+EAA+E;AAC/E,gGAAgG;AAChG,kGAAkG;AAClG,6EAA6E;AAC7E,gGAAgG;AAChG,kGAAkG;AAClG,oGAAoG;AACpG,iGAAiG;AACjG,kGAAkG;AAClG,8BAA8B;AAE9B,kGAAkG;AAElG;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAO,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,kGAAkG;AAElG,8FAA8F;AAC9F,+FAA+F;AAC/F,8FAA8F;AAC9F,wBAAwB;AACxB,MAAM,OAAO,GAAG,CAAC,CAAwB,EAAc,EAAE,CACvD,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnD,MAAM,YAAY,GAAG,CAAC,CAAY,EAAc,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;AAEpE,SAAS,cAAc,CAAC,CAAoB;IAC1C,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;QACH,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAsB;IAC9C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IAC/F,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW;YAC1C,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;SAClD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IACzD,IAAI,yBAAyB,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC;YAC3D,MAAM,EAAE,CAAC,CAAC,uBAAuB,CAAC,MAAM;SACzC,CAAC;IACJ,CAAC;IACD,0FAA0F;IAC1F,0FAA0F;IAC1F,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,QAAQ,CAAC,EAAe;IAC/B,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACvC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS;YAC9B,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnF,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS;YAC/B,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC9C,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACpD,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW;YACjC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;YAC7B,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;YAC/B,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;YAC7B,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;SAC3C,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO;YAC5B,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK;YACxB,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO;YAC5B,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SACpD,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO;YAC5B,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK;YACxB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrC,eAAe,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvF,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,CAAiB;IAC/C,OAAO;QACL,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,EAAE,EAAE,CAAC,CAAC,IAAI;QACV,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QACnC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAiB,EAAQ,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AA4E7F;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,2FAA2F;IAC3F,wDAAwD;IACxD,IAAI,GAAG,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChF,OAAO,2HAA2H,CAAC,IAAI,CACrI,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAkB,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAA+B,EAC/B,UAAkC,EAAE;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,MAAM,SAAS,GAAqB,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7E,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,cAAc,GAAG,YAAY,IAAI,EAAE,CAAC;IAE1C,IAAI,SAAS,GACX,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrF,IAAI,SAAS,GAAG,EAAE;QAAE,SAAS,GAAG,EAAE,CAAC;IACnC,+FAA+F;IAC/F,6FAA6F;IAC7F,IAAI,gBAAgB,GAAG,SAAS,CAAC;IAEjC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,iBAAiB,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO,EAAE,CAAC;QAC1B,OAAO,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC/D,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,IAAI,MAAM,GAAG,cAAc,CAAC;IAC5B,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,IAAI,KAAK,GAAkB,UAAU,CAAC;IACtC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,wFAAwF;IACxF,2FAA2F;IAC3F,yDAAyD;IACzD,IAAI,IAAiB,CAAC;IACtB,IAAI,WAAoB,CAAC;IACzB,IAAI,iBAA0B,CAAC;IAC/B,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,SAAS,CAAC;QACR,4FAA4F;QAC5F,2FAA2F;QAC3F,6FAA6F;QAC7F,oDAAoD;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC;QACzB,IAAI,KAAgC,CAAC;QACrC,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,KAAK,SAAS,cAAc,GAAG,0BAA0B,EAC/H,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,4CAA4C,GAAG,uFAAuF,SAAS,oCAAoC,EAChO,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,0DAA0D;YACtF,IAAI,SAAS,GAAG,EAAE;gBAAE,SAAS,GAAG,EAAE,CAAC;YACnC,IAAI,SAAS,GAAG,gBAAgB;gBAAE,gBAAgB,GAAG,SAAS,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,2FAA2F;QAC3F,8FAA8F;QAC9F,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,KAAK,SAAS,cAAc,OAAO,CAAC,OAAO,0BAA0B,EAC3I,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACtB,YAAY,IAAI,CAAC,CAAC;QAClB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAE3C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,IAAI,CAAC,iBAAiB,GAAG,SAAS,EAAE,CAAC;gBACvC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,iBAAiB,4EAA4E,YAAY,iCAAiC,IAAI,CAAC,iBAAiB,YAAY,CAC9N,CAAC;gBACJ,CAAC;gBACD,wFAAwF;gBACxF,uBAAuB;gBACvB,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,CAAC;YACD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,IAAI,CAAC,KAAK,oBAAoB,UAAU,sBAAsB,CAC5G,CAAC;YACJ,CAAC;YACD,KAAK,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACtC,iFAAiF;YACjF,sFAAsF;YACtF,yFAAyF;YACzF,MAAM,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,CAAC;YAC1D,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,OAAO;oBACP,KAAK;oBACL,YAAY,EAAE,YAAY,IAAI,IAAI;oBAClC,WAAW;oBACX,iBAAiB;oBACjB,IAAI;oBACJ,YAAY;oBACZ,gBAAgB;iBACjB,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,qBAAqB,OAAO,IAAI,KAAK,iBAAiB,OAAO,wJAAwJ,CACrP,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,GAAG,SAAS,EAAE,CAAC;YAC9C,6FAA6F;YAC7F,wFAAwF;YACxF,6FAA6F;YAC7F,iDAAiD;YACjD,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,iBAAiB,kDAAkD,SAAS,YAAY,SAAS,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE,6EAA6E,IAAI,CAAC,iBAAiB,GAAG,CACxR,CAAC;QACJ,CAAC;QAED,4FAA4F;QAC5F,+FAA+F;QAC/F,4FAA4F;QAC5F,6FAA6F;QAC7F,uEAAuE;QACvE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnE,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,4FAA4F;YAC5F,4FAA4F;YAC5F,MAAM,IAAI,KAAK,CACb,+DAA+D,SAAS,wBAAwB,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,SAAS,IAAI,KAAK,4EAA4E,CAC1N,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,WAAW;gBAAE,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC;YACrE,IAAI,CAAC,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,KAAM;gBAAE,SAAS,CAAC,uCAAuC;YACxF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,2FAA2F;QAC3F,6FAA6F;QAC7F,6FAA6F;QAC7F,wFAAwF;QACxF,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,IAAI,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC;QAChC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI;YAAE,IAAI,GAAG,WAAW,GAAG,EAAE,CAAC;QAC7E,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,MAAM,GAAG,KAAM;YAAE,MAAM;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhG,+FAA+F;IAC/F,gGAAgG;IAChG,8FAA8F;IAC9F,8FAA8F;IAC9F,6CAA6C;IAC7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,0CAA0C,OAAO,IAAI,KAAK,4BAA4B,MAAM,2BAA2B,CAAC,CAAC,GAAG,6DAA6D,CAC1L,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QACD,IAAI,MAAM,KAAK,KAAM,GAAG,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,0CAA0C,OAAO,IAAI,KAAK,wBAAwB,MAAM,GAAG,EAAE,4DAA4D,CAC1J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,OAAO;QACP,KAAK,EAAE,KAAM;QACb,YAAY,EAAE,YAAY,IAAI,IAAI;QAClC,WAAW;QACX,iBAAiB;QACjB,IAAI;QACJ,YAAY;QACZ,gBAAgB;KACjB,CAAC;AACJ,CAAC;AA2CD,MAAM,UAAU,GAAG,CAAC,CAAa,EAAE,CAAa,EAAW,EAAE;IAC3D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAiC,EACjC,KAA0E;IAE1E,MAAM,MAAM,GACV,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,UAAU,CAAC;SAClE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;AACpF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAsC,EACtC,WAA+B;IAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE3C,gGAAgG;IAChG,4BAA4B;IAC5B,MAAM,QAAQ,GACZ,QAAQ,IAAI,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO;QACjD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAE3D,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACrB,eAAe,GAAG,KAAK,CAAC;gBACxB,KAAK,CAAC,IAAI,CACR,8BAA8B,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,aAAa,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,iBAAiB,CACxG,CAAC;gBACF,MAAM;YACR,CAAC;YACD,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QACD,IAAI,eAAe,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxE,eAAe,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,IAAI,CACR,8BAA8B,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,mCAAmC,OAAO,CAAC,MAAM,WAAW,CAChJ,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,wIAAwI,CACzI,CAAC;IACJ,CAAC;IAED,+FAA+F;IAC/F,2EAA2E;IAC3E,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE;YAAE,SAAS,CAAC,6CAA6C;QACvF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9D,WAAW,GAAG,KAAK,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,gCAAgC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACzE,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,2gBAA2gB,CAAC;IAEhhB,OAAO;QACL,OAAO;QACP,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC;QAC5B,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC;QAChC,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,cAAc,EAAE,QAAQ;QACxB,eAAe;QACf,WAAW;QACX,KAAK;QACL,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@engramx/client",
|
|
3
|
-
"version": "0.16.0-rc.
|
|
3
|
+
"version": "0.16.0-rc.6",
|
|
4
4
|
"description": "Client SDK for EngramX — persistent, decentralized memory for AI agents on the Internet Computer",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "EngramX <developer@engramx.ai>",
|
|
@@ -38,18 +38,19 @@
|
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@icp-sdk/core": "^
|
|
41
|
+
"@icp-sdk/core": "^6.1.0"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@
|
|
45
|
-
"@icp-sdk/
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
44
|
+
"@engramx/idl": "0.16.0-rc.6",
|
|
45
|
+
"@icp-sdk/core": "^6.1.0",
|
|
46
|
+
"@icp-sdk/vetkeys": "0.7.0",
|
|
47
|
+
"@noble/curves": "^2.4.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@types/node": "^26.
|
|
50
|
+
"@types/node": "^26.6.4",
|
|
51
51
|
"typescript": "^6.0.3",
|
|
52
|
-
"
|
|
52
|
+
"vite": "^8.3.2",
|
|
53
|
+
"vitest": "^5.0.3"
|
|
53
54
|
},
|
|
54
55
|
"scripts": {
|
|
55
56
|
"build": "pnpm --filter @engramx/idl build && tsc",
|