@engramx/client 0.16.0-rc.12 → 0.16.0-rc.14
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 +31 -8
- package/dist/EngramClient.d.ts +45 -15
- package/dist/EngramClient.js +121 -70
- package/dist/EngramClient.js.map +1 -1
- package/dist/ProfileManager.d.ts +3 -19
- package/dist/ProfileManager.js +1 -58
- package/dist/ProfileManager.js.map +1 -1
- package/dist/SessionManager.d.ts +1 -1
- package/dist/SessionManager.js.map +1 -1
- package/dist/certifiedAudit.d.ts +31 -0
- package/dist/certifiedAudit.js +124 -0
- package/dist/certifiedAudit.js.map +1 -1
- package/dist/claude-setup.d.ts +15 -6
- package/dist/claude-setup.js +30 -20
- package/dist/claude-setup.js.map +1 -1
- package/dist/cli.js +103 -166
- package/dist/cli.js.map +1 -1
- package/dist/connect-config.d.ts +109 -0
- package/dist/connect-config.js +251 -0
- package/dist/connect-config.js.map +1 -0
- package/dist/encryption.js +7 -1
- package/dist/encryption.js.map +1 -1
- package/dist/evidence.d.ts +94 -0
- package/dist/evidence.js +352 -0
- package/dist/evidence.js.map +1 -0
- package/dist/idl.d.ts +16 -1
- package/dist/idl.js +9 -1
- package/dist/idl.js.map +1 -1
- package/dist/index.d.ts +11 -5
- package/dist/index.js +13 -4
- package/dist/index.js.map +1 -1
- package/dist/ledgerfsHash.d.ts +0 -2
- package/dist/ledgerfsHash.js +0 -2
- package/dist/ledgerfsHash.js.map +1 -1
- package/dist/lineage.d.ts +7 -1
- package/dist/lineage.js +7 -1
- package/dist/lineage.js.map +1 -1
- package/dist/memoryArchive.d.ts +12 -77
- package/dist/memoryArchive.js.map +1 -1
- package/dist/migrate.d.ts +1 -30
- package/dist/migrate.js +13 -136
- package/dist/migrate.js.map +1 -1
- package/dist/openclaw-local.d.ts +86 -0
- package/dist/openclaw-local.js +332 -0
- package/dist/openclaw-local.js.map +1 -0
- package/dist/openclaw-setup.d.ts +2 -2
- package/dist/openclaw-setup.js +8 -36
- package/dist/openclaw-setup.js.map +1 -1
- package/dist/path-utils.d.ts +0 -16
- package/dist/path-utils.js +4 -27
- package/dist/path-utils.js.map +1 -1
- package/dist/publicRecord.d.ts +5 -0
- package/dist/publicRecord.js +52 -0
- package/dist/publicRecord.js.map +1 -0
- package/dist/recordChain.d.ts +69 -0
- package/dist/recordChain.js +145 -0
- package/dist/recordChain.js.map +1 -0
- package/dist/schema.d.ts +6 -17
- package/dist/schema.js +6 -28
- package/dist/schema.js.map +1 -1
- package/dist/types.d.ts +50 -453
- package/dist/verify.d.ts +6 -0
- package/dist/verify.js +16 -0
- package/dist/verify.js.map +1 -0
- package/package.json +17 -5
- package/dist/offline.d.ts +0 -21
- package/dist/offline.js +0 -104
- package/dist/offline.js.map +0 -1
package/README.md
CHANGED
|
@@ -40,8 +40,11 @@ console.log(`loaded ${ctx.includedFiles}/${ctx.totalFiles} files`);
|
|
|
40
40
|
|
|
41
41
|
// AS THE AGENT WORKS: append (append-only; the canister concatenates the delta)
|
|
42
42
|
const receipt = await engram.appendMemory('memory/daily.md', '## Notes\nSomething happened.');
|
|
43
|
-
// receipt = { version, seq, head }. `head` is the
|
|
44
|
-
// the evidence the write landed
|
|
43
|
+
// receipt = { version, seq, head }. `head` is the memory file's chain head after this write, hex —
|
|
44
|
+
// the evidence the write landed. It is not the audit-chain head: this write's audit-log entry
|
|
45
|
+
// records it, so the audit head that getCertifiedAuditHead() certifies, and the registry anchors,
|
|
46
|
+
// covers it without being equal to it. A verifier goes from `head` to that entry, then along the
|
|
47
|
+
// audit chain to a certified head. ⟨2026-10-13: this called `head` the audit-chain head.⟩
|
|
45
48
|
// Carry it forward: reading the file back later returns content, not proof.
|
|
46
49
|
|
|
47
50
|
// Point reads: one file, or several at once
|
|
@@ -54,6 +57,19 @@ const files = await engram.readMemoryBatch(['MEMORY.md', 'memory/daily.md']);
|
|
|
54
57
|
// const balance = await engram.walletBalance();
|
|
55
58
|
```
|
|
56
59
|
|
|
60
|
+
> ⟨2026-10-15⟩ The receipt is wider now: `{ version, seq, head, prev, atNs, contentRoot, size,
|
|
61
|
+
> recordId, recordPrev, sent }`. `prev`, `atNs`, `contentRoot` and `size` are the rest of the memory-file
|
|
62
|
+
> event, so with `sent` (the bytes this write sent) you recompute `head` yourself; `recordId` and
|
|
63
|
+
> `recordPrev` place the write's entry in the engram's record. Capture the evidence right after the
|
|
64
|
+
> write, and anyone can check it later — no key, no owner:
|
|
65
|
+
>
|
|
66
|
+
> ```typescript
|
|
67
|
+
> const bundle = await engram.captureEvidence(receipt, 'memory/daily.md');
|
|
68
|
+
> // fs.writeFileSync('bundle.json', JSON.stringify(bundle));
|
|
69
|
+
> // npx @engramx/client@0.16.0-rc.14 verify bundle.json → each link, the signed time, the entries walked
|
|
70
|
+
> ```
|
|
71
|
+
|
|
72
|
+
|
|
57
73
|
### What you can actually call today (2026-08-17)
|
|
58
74
|
|
|
59
75
|
Two things in the snippet above are worth stating plainly rather than letting you discover them.
|
|
@@ -72,7 +88,7 @@ in-repo consumer as a reason to report what breaks, not as a warning that it doe
|
|
|
72
88
|
|
|
73
89
|
The 2026-08-17 charter diet (below) deleted a lot of caller-less methods and **deliberately kept
|
|
74
90
|
these two.** Zero in-repo callers was the reason to look at them; it was not the reason to decide.
|
|
75
|
-
Three facts decided it. They are what `npx @engramx/mcp@0.16.0-rc.
|
|
91
|
+
Three facts decided it. They are what `npx @engramx/mcp@0.16.0-rc.14 connect` *instructs* whoever builds a new
|
|
76
92
|
SDK-lane agent to call, verbatim, in the guide the dashboard's connect page renders — deleting a method
|
|
77
93
|
while still telling people to call it is the failure this whole exercise exists to prevent.
|
|
78
94
|
`startSession()` is the only read on the **update** path, so it is the only one the canister can
|
|
@@ -98,13 +114,13 @@ Pair your agent with an engram:
|
|
|
98
114
|
|
|
99
115
|
```bash
|
|
100
116
|
# Pair the agent on this machine with the engram and install the OpenClaw plugin
|
|
101
|
-
pnpm dlx @engramx/client@0.16.0-rc.
|
|
117
|
+
pnpm dlx @engramx/client@0.16.0-rc.14 pair <invite-code> --engram <canister-id> --target openclaw
|
|
102
118
|
|
|
103
119
|
# Replacement machine — after pairing, restore memory from the engram
|
|
104
|
-
pnpm dlx @engramx/client@0.16.0-rc.
|
|
120
|
+
pnpm dlx @engramx/client@0.16.0-rc.14 migrate --engram <canister-id> --recover
|
|
105
121
|
```
|
|
106
122
|
|
|
107
|
-
`pair` generates the key for this engram at `~/.engramx/session.key` (and, on the first pairing, the agent's lasting key at `~/.engramx/root.key`), pairs the agent — the CLI prints `Paired as an agent` — and installs the OpenClaw plugin. `migrate` then moves memory, saving a local checkpoint first — run `npx @engramx/client@0.16.0-rc.
|
|
123
|
+
`pair` generates the key for this engram at `~/.engramx/session.key` (and, on the first pairing, the agent's lasting key at `~/.engramx/root.key`), pairs the agent — the CLI prints `Paired as an agent` — and installs the OpenClaw plugin. `migrate` then moves memory, saving a local checkpoint first — run `npx @engramx/client@0.16.0-rc.14 rollback` to undo. Its default direction pushes local memory files to the engram; `--recover` instead restores database backups, and memory files sync automatically on next OpenClaw startup.
|
|
108
124
|
|
|
109
125
|
⟨2026-10-13⟩ `pair` moves no memory unless you add `--migrate`, and `--yes` never adds it. Without it, `pair` leaves any OpenClaw memory files on this machine where they are and prints one line: how many it found, and the `migrate` command that moves them. With `--migrate`, it runs that migration after pairing — each file is uploaded, then deleted here, and `rollback` restores them. Through 0.16.0-rc.11, `pair` ran the migration on every pairing, whatever the `--target` (Claude too), and answered its own question under `--yes`.
|
|
110
126
|
|
|
@@ -120,7 +136,7 @@ If the owner of the wallet allows it (a standing allowance they set for this age
|
|
|
120
136
|
page), the agent can open an engram of its own through the engram it works in. The owner may be a program. Whoever runs that program is the owner for every purpose on these pages.
|
|
121
137
|
|
|
122
138
|
```bash
|
|
123
|
-
npx @engramx/client@0.16.0-rc.
|
|
139
|
+
npx @engramx/client@0.16.0-rc.14 open-engram --engram <canister-id>
|
|
124
140
|
```
|
|
125
141
|
|
|
126
142
|
The engram it works in pays to open it, from its own balance, and the agent's lasting key
|
|
@@ -129,7 +145,7 @@ paid in is the agent's from the moment the new engram exists, and nothing is tak
|
|
|
129
145
|
reads the allowance first and stops, with nothing spent, when there is none; it never creates a
|
|
130
146
|
lasting key; and it prints the engram's own sentence when the engram refuses. It then prints the
|
|
131
147
|
owner kit's command that acts as the new engram's owner with the same file —
|
|
132
|
-
`npx @engramx/owner@0.16.0-rc.
|
|
148
|
+
`npx @engramx/owner@0.16.0-rc.14 --connect --key-file <that file> --registry <id>`, with both filled in — which
|
|
133
149
|
mints an invite for an agent to pair into it. The agent's lasting key is an owner key for the engram
|
|
134
150
|
it opened only; on the engram it works in it stays an agent. The agent's work in an engram its own
|
|
135
151
|
key owns is never counted on its track record. From code: `EngramClient.getChildAllowance(key)`,
|
|
@@ -280,6 +296,10 @@ does not expose. They stayed because the encryption runbook instructs whoever mi
|
|
|
280
296
|
Deleting a method a runbook tells people to call, while the runbook still tells them to call it, is
|
|
281
297
|
worse than the blemish. Moving the family to `@engramx/owner` is a two-repo change: the doc rider
|
|
282
298
|
first, then the methods.
|
|
299
|
+
⟨2026-10-13⟩ The owner ruled to move it. `git-revert`'s engram step went first: the CLI now reverts
|
|
300
|
+
the local memory repo and prints the owner kit's `--restore` command, because replacing a file is the
|
|
301
|
+
owner's act (`@engramx/owner`, `restoreMemory`). The encryption trio follows with its runbook; it
|
|
302
|
+
needs the owner kit to take this package's encryption module (`@engramx/client/encryption`).
|
|
283
303
|
|
|
284
304
|
**The removals are a break.** A method this class no longer has fails at the call site, loudly,
|
|
285
305
|
with a `TypeError`; a method the SDK no longer *declares* to the canister fails as a catchable
|
|
@@ -292,6 +312,9 @@ approval-request reads, an agent's key-hash rotation, the whole backup lane, and
|
|
|
292
312
|
marketplace: `listServices` → `submitServiceRequestWithPayment` → `pollJobResult`/`getJob` →
|
|
293
313
|
`getJobResult`, with `confirmJob`/`disputeJob` to settle. From here, no method returns to this class
|
|
294
314
|
without a named caller. "A seller might want it" is how the last two dozen got here.
|
|
315
|
+
⟨CORRECTED 2026-10-13⟩ The buyer half is not on this class: it moved to `MarketClient` (the market
|
|
316
|
+
is its own canister) when `payAndCall` was deleted on 2026-09-30 — `listServices` → `createJob` →
|
|
317
|
+
`pollJobStatus`/`getJob` → `getJobResult`, with `confirmJob`/`disputeJob` to settle.
|
|
295
318
|
|
|
296
319
|
## Backup API
|
|
297
320
|
|
package/dist/EngramClient.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type CertifiedAuditHead, type VerifiedAuditHead } from './certifiedAudi
|
|
|
2
2
|
import { Ed25519KeyIdentity } from '@icp-sdk/core/identity';
|
|
3
3
|
import { Principal } from '@icp-sdk/core/principal';
|
|
4
4
|
import { idlFactory } from './idl.js';
|
|
5
|
+
import { type EvidenceBundle } from './evidence.js';
|
|
5
6
|
import type { MemoryHistory, MemoryRangePage, MemoryFile, MemoryFileInfo, SessionContext, Pairing, AuditPage, AgentRecord, ChildAllowanceRow, EngramStatus, OwnerConsole, GuardianRecord, BackupMetadata, BackupType, ApprovalRequest } from './types.js';
|
|
6
7
|
/**
|
|
7
8
|
* Source class declared on an append — recorded permanently in the engram's audit chain beside
|
|
@@ -37,6 +38,21 @@ export interface MemoryReceipt {
|
|
|
37
38
|
seq: bigint;
|
|
38
39
|
/** Chain head after this write, hex. The thing to hand a verifier. */
|
|
39
40
|
head: string;
|
|
41
|
+
/** The memory-file chain head before this write, hex. */
|
|
42
|
+
prev: string;
|
|
43
|
+
/** The write's time (nanoseconds), as the event committed it. */
|
|
44
|
+
atNs: bigint;
|
|
45
|
+
/** The file's content root after the write, hex. */
|
|
46
|
+
contentRoot: string;
|
|
47
|
+
/** The file's size after the write, in bytes. */
|
|
48
|
+
size: bigint;
|
|
49
|
+
/** The id of this write's entry in the engram's chained record. */
|
|
50
|
+
recordId: bigint;
|
|
51
|
+
/** The record head just before that entry, hex (empty for the record's first entry). */
|
|
52
|
+
recordPrev: string;
|
|
53
|
+
/** The bytes this write sent: the appended delta (separator and any encryption included), or the
|
|
54
|
+
* whole new content of a revise. What the memory-file event commits to. */
|
|
55
|
+
sent: Uint8Array;
|
|
40
56
|
}
|
|
41
57
|
export interface EngramClientConfig {
|
|
42
58
|
/** The engram canister ID */
|
|
@@ -51,8 +67,6 @@ export interface EngramClientConfig {
|
|
|
51
67
|
cacheMaxAge?: number;
|
|
52
68
|
/** Max cache entries. Default: 100 */
|
|
53
69
|
cacheMaxSize?: number;
|
|
54
|
-
/** Path for offline queue. Default: null (disabled) */
|
|
55
|
-
offlineQueuePath?: string;
|
|
56
70
|
/** Encrypt memory content client-side via vetKeys. Default: false (plaintext).
|
|
57
71
|
* Enable for new/migrated engrams; the canister must support vetKD. Reads of
|
|
58
72
|
* legacy plaintext keep working regardless. */
|
|
@@ -73,7 +87,6 @@ export declare class EngramClient {
|
|
|
73
87
|
private agent;
|
|
74
88
|
private actor;
|
|
75
89
|
private cache;
|
|
76
|
-
private offlineQueue?;
|
|
77
90
|
private identity;
|
|
78
91
|
private canisterId;
|
|
79
92
|
private encryption;
|
|
@@ -109,13 +122,12 @@ export declare class EngramClient {
|
|
|
109
122
|
/**
|
|
110
123
|
* Append `content` to a memory file (append-only; the canister concatenates the delta).
|
|
111
124
|
*
|
|
112
|
-
* @returns the write {@link MemoryReceipt}.
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* errors (validation, permission, writes-paused, non-framed base in encrypted mode) always throw.
|
|
125
|
+
* @returns the write {@link MemoryReceipt}. Every failure throws — a transport error, and the
|
|
126
|
+
* deterministic ones (validation, permission, writes-paused, non-framed base in encrypted mode).
|
|
127
|
+
* ⟨2026-10-13, the owner's 4A⟩ It returned `MemoryReceipt | null` until then, null meaning
|
|
128
|
+
* "deferred to the offline queue"; the queue had no consumer that could switch it on and went.
|
|
117
129
|
*/
|
|
118
|
-
appendMemory(path: string, content: string, source?: MemorySource): Promise<MemoryReceipt
|
|
130
|
+
appendMemory(path: string, content: string, source?: MemorySource): Promise<MemoryReceipt>;
|
|
119
131
|
/**
|
|
120
132
|
* The engram's file listing.
|
|
121
133
|
*
|
|
@@ -234,7 +246,10 @@ export declare class EngramClient {
|
|
|
234
246
|
* Same class as the readAuditLog envelope defect corrected 2026-08-20 two methods below,
|
|
235
247
|
* and caught the same way: by a live call, because tsc has nothing to check here.
|
|
236
248
|
* This method is the CYCLES projection its name and both MCP catalogs promise.
|
|
237
|
-
* Corrected 2026-08-25.
|
|
249
|
+
* Corrected 2026-08-25.
|
|
250
|
+
* ⟨2026-10-13, the owner's 3A⟩ tsc has something to check now: the actor is typed with the
|
|
251
|
+
* generated interface (idl.ts · SdkEngramService) and unwrap returns the reply's own Ok type, so
|
|
252
|
+
* this defect would not compile today. */
|
|
238
253
|
walletBalance(): Promise<bigint>;
|
|
239
254
|
/** ⟨0.16.0, L1 + L3⟩ Paged and enveloped. The wire method moved to `listAuditEntries` and the
|
|
240
255
|
* CALL followed it, but the RESULT HANDLING did not: this returned the raw
|
|
@@ -244,11 +259,15 @@ export declare class EngramClient {
|
|
|
244
259
|
* `this.actor` is `ActorSubclass<any>`, so the declared type is an unchecked assertion and tsc
|
|
245
260
|
* had nothing to catch it with: the rename compiled and looked done.
|
|
246
261
|
* Corrected 2026-08-20 to the idiom every sibling here already uses.
|
|
262
|
+
* ⟨2026-10-13⟩ The actor is typed now (idl.ts · SdkEngramService); see walletBalance above.
|
|
247
263
|
*
|
|
248
264
|
* ⟨CORRECTED 2026-09-29, owner ruling follow-up 16 (B)⟩ Returns the PAGE, not `.items`. An agent
|
|
249
265
|
* now reads only the entries it caused, so a window of the record comes back with `withheld`
|
|
250
266
|
* counting what it was not shown; handing back the bare array would let an agent mistake its part
|
|
251
|
-
* of the record for the whole. `limit` is the window's span, not a row count.
|
|
267
|
+
* of the record for the whole. `limit` is the window's span, not a row count.
|
|
268
|
+
* ⟨2026-10-18⟩ Since the owner's ruling 6B of 2026-10-14 the rest of the window comes back in
|
|
269
|
+
* `sealed` as hash-only rows (id, digest, entry hash) in place of the `withheld` count, so
|
|
270
|
+
* `items + sealed` is the window examined; see `AuditPage`. */
|
|
252
271
|
readAuditLog(fromIndex?: number, limit?: number): Promise<AuditPage>;
|
|
253
272
|
/** How many entries the chained audit log currently holds — the page bound for
|
|
254
273
|
* {@link readAuditLog}.
|
|
@@ -270,6 +289,21 @@ export declare class EngramClient {
|
|
|
270
289
|
/** The chained audit-log head plus the IC certificate over it (raw, unverified). Use
|
|
271
290
|
* getVerifiedAuditHead() to verify it against the IC root key. */
|
|
272
291
|
getCertifiedAuditHead(): Promise<CertifiedAuditHead>;
|
|
292
|
+
/**
|
|
293
|
+
* ⟨2026-10-15, the owner's ruling 6B of 2026-10-14⟩ Capture the evidence of a write this client
|
|
294
|
+
* just made, as a bundle anyone can check later with `engramx verify` — with no owner, no key and
|
|
295
|
+
* no account.
|
|
296
|
+
*
|
|
297
|
+
* Call it right after the write: it reads the certified record head NOW (the certificate's signed
|
|
298
|
+
* time is the time the bundle proves), reads this writer's own record entry back (an agent reads
|
|
299
|
+
* the entries it caused), and the hash-only rows from that entry to the captured head. A head that
|
|
300
|
+
* does not yet cover the write (a lagging replica) is read again, up to five times.
|
|
301
|
+
*
|
|
302
|
+
* THROWS when the evidence cannot be made — never a bundle that would fail its own check: when the
|
|
303
|
+
* entry cannot be read back in full by this caller (a write made through a paid session is logged
|
|
304
|
+
* under the session's payer), or the head never covers the write.
|
|
305
|
+
*/
|
|
306
|
+
captureEvidence(receipt: MemoryReceipt, path: string): Promise<EvidenceBundle>;
|
|
273
307
|
/** Fetch the certified audit head and VERIFY it against the IC root key — returns the certified
|
|
274
308
|
* head bytes and whether the replica's claim agrees, WITHOUT trusting this replica. */
|
|
275
309
|
getVerifiedAuditHead(): Promise<VerifiedAuditHead>;
|
|
@@ -417,10 +451,6 @@ export declare class EngramClient {
|
|
|
417
451
|
total: number;
|
|
418
452
|
failed: string[];
|
|
419
453
|
}>;
|
|
420
|
-
syncOfflineQueue(): Promise<{
|
|
421
|
-
synced: number;
|
|
422
|
-
failed: number;
|
|
423
|
-
}>;
|
|
424
454
|
/**
|
|
425
455
|
* Redeem an invite as the key for this engram, enrolled under the agent's lasting key (`root`).
|
|
426
456
|
*
|
package/dist/EngramClient.js
CHANGED
|
@@ -3,20 +3,28 @@ import { verifyCertifiedAuditHead, } from './certifiedAudit.js';
|
|
|
3
3
|
import { Principal } from '@icp-sdk/core/principal';
|
|
4
4
|
import { LRUCache } from './cache.js';
|
|
5
5
|
import { idlFactory } from './idl.js';
|
|
6
|
-
import { OfflineQueue } from './offline.js';
|
|
7
6
|
import { loadSessionKey, identityFromSeed } from './auth.js';
|
|
8
7
|
import { signEnrolment } from './actionReceipt.js';
|
|
9
8
|
import { unwrapResult, errorMessage } from './wire.js';
|
|
10
9
|
import { EncryptionManager } from './encryption.js';
|
|
10
|
+
import { EVIDENCE_FORMAT } from './evidence.js';
|
|
11
|
+
import { sealedRowOf } from './recordChain.js';
|
|
11
12
|
const memorySourceArg = (s) => s === undefined ? [] : [{ [s]: null }];
|
|
12
|
-
const
|
|
13
|
+
const hexOf = (b) => Array.from(b)
|
|
14
|
+
.map((x) => x.toString(16).padStart(2, '0'))
|
|
15
|
+
.join('');
|
|
16
|
+
const receiptOf = (r, sent) => ({
|
|
13
17
|
version: r.version,
|
|
14
18
|
seq: r.seq,
|
|
15
|
-
head:
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
head: hexOf(r.head),
|
|
20
|
+
prev: hexOf(r.prev),
|
|
21
|
+
atNs: r.atNs,
|
|
22
|
+
contentRoot: hexOf(r.contentRoot),
|
|
23
|
+
size: r.size,
|
|
24
|
+
recordId: r.recordId,
|
|
25
|
+
recordPrev: hexOf(r.recordPrev),
|
|
26
|
+
sent,
|
|
18
27
|
});
|
|
19
|
-
const ALLOWED_OFFLINE_METHODS = new Set(['appendMemory']);
|
|
20
28
|
function validateMemoryPath(p) {
|
|
21
29
|
if (p.includes('\0'))
|
|
22
30
|
throw new Error('Path contains null byte');
|
|
@@ -155,9 +163,6 @@ export class EngramClient {
|
|
|
155
163
|
});
|
|
156
164
|
// If the caller didn't force a mode, sync it from the canister's flag lazily.
|
|
157
165
|
this.encryptionModeSynced = config.encryptMemory !== undefined;
|
|
158
|
-
if (config.offlineQueuePath) {
|
|
159
|
-
this.offlineQueue = new OfflineQueue(config.offlineQueuePath);
|
|
160
|
-
}
|
|
161
166
|
}
|
|
162
167
|
async readMemory(path) {
|
|
163
168
|
validateMemoryPath(path);
|
|
@@ -198,11 +203,10 @@ export class EngramClient {
|
|
|
198
203
|
/**
|
|
199
204
|
* Append `content` to a memory file (append-only; the canister concatenates the delta).
|
|
200
205
|
*
|
|
201
|
-
* @returns the write {@link MemoryReceipt}.
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* errors (validation, permission, writes-paused, non-framed base in encrypted mode) always throw.
|
|
206
|
+
* @returns the write {@link MemoryReceipt}. Every failure throws — a transport error, and the
|
|
207
|
+
* deterministic ones (validation, permission, writes-paused, non-framed base in encrypted mode).
|
|
208
|
+
* ⟨2026-10-13, the owner's 4A⟩ It returned `MemoryReceipt | null` until then, null meaning
|
|
209
|
+
* "deferred to the offline queue"; the queue had no consumer that could switch it on and went.
|
|
206
210
|
*/
|
|
207
211
|
async appendMemory(path, content, source) {
|
|
208
212
|
validateMemoryPath(path);
|
|
@@ -246,32 +250,7 @@ export class EngramClient {
|
|
|
246
250
|
const deltaText = nonEmpty ? `\n${content}` : content;
|
|
247
251
|
// Plaintext: raw UTF-8 delta. Encrypted: a length-framed, individually-sealed segment.
|
|
248
252
|
const delta = await this.encryption.encodeAppendDelta(this.actor, deltaText);
|
|
249
|
-
|
|
250
|
-
// mode + framing checks, delta encoding) and the unwrap below throw DETERMINISTIC / logic errors
|
|
251
|
-
// (bad path, non-framed base, writes-paused, permission denied) that MUST surface — they must never
|
|
252
|
-
// be swallowed into the offline queue and reported as a fake success.
|
|
253
|
-
let rawResult;
|
|
254
|
-
try {
|
|
255
|
-
rawResult = await this.actor.appendMemory(path, delta, memorySourceArg(source));
|
|
256
|
-
}
|
|
257
|
-
catch (err) {
|
|
258
|
-
if (this.offlineQueue) {
|
|
259
|
-
// Queue the ALREADY-ENCODED delta bytes (separator + framing baked in) so the replay sends a
|
|
260
|
-
// valid Candid `vec nat8`, not a raw string, and does not re-run the read-dependent framing.
|
|
261
|
-
this.offlineQueue.enqueue('appendMemory', [
|
|
262
|
-
path,
|
|
263
|
-
Array.from(delta),
|
|
264
|
-
memorySourceArg(source),
|
|
265
|
-
]);
|
|
266
|
-
// null, NOT a zeroed receipt. The old sentinel was BigInt(0) — a version number that never
|
|
267
|
-
// existed — and under the receipt shape the equivalent would be a record with an empty
|
|
268
|
-
// head, which is indistinguishable from a real receipt to a caller that does not check.
|
|
269
|
-
// There is no receipt for a write that has not happened; null says exactly that.
|
|
270
|
-
return null;
|
|
271
|
-
}
|
|
272
|
-
throw err;
|
|
273
|
-
}
|
|
274
|
-
const receipt = receiptOf(this.unwrap(rawResult));
|
|
253
|
+
const receipt = receiptOf(this.unwrap(await this.actor.appendMemory(path, delta, memorySourceArg(source))), Uint8Array.from(delta));
|
|
275
254
|
this.cache.invalidate(`mem:${path}`);
|
|
276
255
|
return receipt;
|
|
277
256
|
}
|
|
@@ -304,7 +283,7 @@ export class EngramClient {
|
|
|
304
283
|
// errorMessage, NOT `new Error(r.Err)`: Err is a six-armed VARIANT, and stringifying it
|
|
305
284
|
// yields "[object Object]" — it compiles, it runs, and it destroys the message. Same
|
|
306
285
|
// defect the shared unwrap was written for; this call site had been missed.
|
|
307
|
-
if (
|
|
286
|
+
if ('Err' in r)
|
|
308
287
|
return [p, new Error(errorMessage(r.Err))];
|
|
309
288
|
const raw = r.Ok;
|
|
310
289
|
try {
|
|
@@ -524,7 +503,7 @@ export class EngramClient {
|
|
|
524
503
|
const bytes = this.encryption.isEnabled()
|
|
525
504
|
? await this.encryption.encodeFramedSegmentBytes(this.actor, raw)
|
|
526
505
|
: raw;
|
|
527
|
-
const receipt = receiptOf(this.unwrap(await this.actor.reviseMemory(path, bytes)));
|
|
506
|
+
const receipt = receiptOf(this.unwrap(await this.actor.reviseMemory(path, bytes)), Uint8Array.from(bytes));
|
|
528
507
|
// Revise REPLACES content, so a stale cached read is not merely short — it is the wrong
|
|
529
508
|
// content entirely, served confidently for the rest of the TTL.
|
|
530
509
|
this.cache.invalidate(`mem:${path}`);
|
|
@@ -553,7 +532,10 @@ export class EngramClient {
|
|
|
553
532
|
* Same class as the readAuditLog envelope defect corrected 2026-08-20 two methods below,
|
|
554
533
|
* and caught the same way: by a live call, because tsc has nothing to check here.
|
|
555
534
|
* This method is the CYCLES projection its name and both MCP catalogs promise.
|
|
556
|
-
* Corrected 2026-08-25.
|
|
535
|
+
* Corrected 2026-08-25.
|
|
536
|
+
* ⟨2026-10-13, the owner's 3A⟩ tsc has something to check now: the actor is typed with the
|
|
537
|
+
* generated interface (idl.ts · SdkEngramService) and unwrap returns the reply's own Ok type, so
|
|
538
|
+
* this defect would not compile today. */
|
|
557
539
|
async walletBalance() {
|
|
558
540
|
return this.unwrap(await this.actor.getWalletBalances(), 'getWalletBalances').cycles;
|
|
559
541
|
}
|
|
@@ -569,11 +551,15 @@ export class EngramClient {
|
|
|
569
551
|
* `this.actor` is `ActorSubclass<any>`, so the declared type is an unchecked assertion and tsc
|
|
570
552
|
* had nothing to catch it with: the rename compiled and looked done.
|
|
571
553
|
* Corrected 2026-08-20 to the idiom every sibling here already uses.
|
|
554
|
+
* ⟨2026-10-13⟩ The actor is typed now (idl.ts · SdkEngramService); see walletBalance above.
|
|
572
555
|
*
|
|
573
556
|
* ⟨CORRECTED 2026-09-29, owner ruling follow-up 16 (B)⟩ Returns the PAGE, not `.items`. An agent
|
|
574
557
|
* now reads only the entries it caused, so a window of the record comes back with `withheld`
|
|
575
558
|
* counting what it was not shown; handing back the bare array would let an agent mistake its part
|
|
576
|
-
* of the record for the whole. `limit` is the window's span, not a row count.
|
|
559
|
+
* of the record for the whole. `limit` is the window's span, not a row count.
|
|
560
|
+
* ⟨2026-10-18⟩ Since the owner's ruling 6B of 2026-10-14 the rest of the window comes back in
|
|
561
|
+
* `sealed` as hash-only rows (id, digest, entry hash) in place of the `withheld` count, so
|
|
562
|
+
* `items + sealed` is the window examined; see `AuditPage`. */
|
|
577
563
|
async readAuditLog(fromIndex = 0, limit = 50) {
|
|
578
564
|
return this.unwrap(await this.actor.listAuditEntries(BigInt(fromIndex), BigInt(limit)), 'listAuditEntries');
|
|
579
565
|
}
|
|
@@ -607,6 +593,94 @@ export class EngramClient {
|
|
|
607
593
|
certificate: r.certificate.length ? new Uint8Array(r.certificate[0]) : null,
|
|
608
594
|
};
|
|
609
595
|
}
|
|
596
|
+
/**
|
|
597
|
+
* ⟨2026-10-15, the owner's ruling 6B of 2026-10-14⟩ Capture the evidence of a write this client
|
|
598
|
+
* just made, as a bundle anyone can check later with `engramx verify` — with no owner, no key and
|
|
599
|
+
* no account.
|
|
600
|
+
*
|
|
601
|
+
* Call it right after the write: it reads the certified record head NOW (the certificate's signed
|
|
602
|
+
* time is the time the bundle proves), reads this writer's own record entry back (an agent reads
|
|
603
|
+
* the entries it caused), and the hash-only rows from that entry to the captured head. A head that
|
|
604
|
+
* does not yet cover the write (a lagging replica) is read again, up to five times.
|
|
605
|
+
*
|
|
606
|
+
* THROWS when the evidence cannot be made — never a bundle that would fail its own check: when the
|
|
607
|
+
* entry cannot be read back in full by this caller (a write made through a paid session is logged
|
|
608
|
+
* under the session's payer), or the head never covers the write.
|
|
609
|
+
*/
|
|
610
|
+
async captureEvidence(receipt, path) {
|
|
611
|
+
let head = await this.getCertifiedAuditHead();
|
|
612
|
+
for (let tries = 0; head.total <= receipt.recordId && tries < 5; tries++) {
|
|
613
|
+
await new Promise((r) => setTimeout(r, 1000));
|
|
614
|
+
head = await this.getCertifiedAuditHead();
|
|
615
|
+
}
|
|
616
|
+
if (head.total <= receipt.recordId) {
|
|
617
|
+
throw new Error(`captureEvidence: the certified head covers ${head.total} entries and this write's entry is ${receipt.recordId} — the replica has not caught up; try again`);
|
|
618
|
+
}
|
|
619
|
+
if (!head.certificate)
|
|
620
|
+
throw new Error('captureEvidence: the head came back without a certificate');
|
|
621
|
+
const own = this.unwrap(await this.actor.listAuditEntries(receipt.recordId, 1n), 'listAuditEntries');
|
|
622
|
+
const entry = own.items.find((e) => e.id === receipt.recordId);
|
|
623
|
+
if (!entry) {
|
|
624
|
+
throw new Error(`captureEvidence: this caller cannot read record entry ${receipt.recordId} in full (it was logged under another principal), so it cannot make the bundle; the owner can`);
|
|
625
|
+
}
|
|
626
|
+
const rows = [];
|
|
627
|
+
let next = receipt.recordId + 1n;
|
|
628
|
+
while (next < head.total) {
|
|
629
|
+
const page = this.unwrap(await this.actor.listAuditEntries(next, head.total - next), 'listAuditEntries');
|
|
630
|
+
const got = page.sealed.map((r) => ({
|
|
631
|
+
id: r.id,
|
|
632
|
+
digest: Uint8Array.from(r.digest),
|
|
633
|
+
entryHash: Uint8Array.from(r.entryHash),
|
|
634
|
+
}));
|
|
635
|
+
for (const e of page.items)
|
|
636
|
+
got.push(await sealedRowOf(e));
|
|
637
|
+
got.sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
|
|
638
|
+
if (got.length === 0)
|
|
639
|
+
break;
|
|
640
|
+
for (const r of got) {
|
|
641
|
+
if (r.id >= head.total)
|
|
642
|
+
break;
|
|
643
|
+
rows.push({ id: r.id.toString(), digest: hexOf(r.digest), entryHash: hexOf(r.entryHash) });
|
|
644
|
+
}
|
|
645
|
+
next = got[got.length - 1].id + 1n;
|
|
646
|
+
}
|
|
647
|
+
return {
|
|
648
|
+
format: EVIDENCE_FORMAT,
|
|
649
|
+
canisterId: this.canisterId,
|
|
650
|
+
entry: {
|
|
651
|
+
id: entry.id.toString(),
|
|
652
|
+
timestampNs: entry.timestampNs.toString(),
|
|
653
|
+
caller: entry.caller.toText(),
|
|
654
|
+
callerRole: Object.keys(entry.callerRole)[0] ?? '',
|
|
655
|
+
operation: entry.operation,
|
|
656
|
+
details: entry.details,
|
|
657
|
+
success: entry.success,
|
|
658
|
+
entryHash: hexOf(entry.entryHash),
|
|
659
|
+
},
|
|
660
|
+
recordPrev: receipt.recordPrev,
|
|
661
|
+
hashFirstFrom: own.hashFirstFrom.toString(),
|
|
662
|
+
certified: {
|
|
663
|
+
certificate: Buffer.from(head.certificate).toString('base64'),
|
|
664
|
+
headHash: hexOf(head.headHash),
|
|
665
|
+
total: head.total.toString(),
|
|
666
|
+
},
|
|
667
|
+
rows,
|
|
668
|
+
write: {
|
|
669
|
+
path,
|
|
670
|
+
bytes: Buffer.from(receipt.sent).toString('base64'),
|
|
671
|
+
by: this.identity.getPrincipal().toText(),
|
|
672
|
+
receipt: {
|
|
673
|
+
version: receipt.version.toString(),
|
|
674
|
+
seq: receipt.seq.toString(),
|
|
675
|
+
head: receipt.head,
|
|
676
|
+
prev: receipt.prev,
|
|
677
|
+
atNs: receipt.atNs.toString(),
|
|
678
|
+
contentRoot: receipt.contentRoot,
|
|
679
|
+
size: receipt.size.toString(),
|
|
680
|
+
},
|
|
681
|
+
},
|
|
682
|
+
};
|
|
683
|
+
}
|
|
610
684
|
/** Fetch the certified audit head and VERIFY it against the IC root key — returns the certified
|
|
611
685
|
* head bytes and whether the replica's claim agrees, WITHOUT trusting this replica. */
|
|
612
686
|
async getVerifiedAuditHead() {
|
|
@@ -761,7 +835,9 @@ export class EngramClient {
|
|
|
761
835
|
return dbTypeFilter ? page.items.filter((b) => b.dbType === dbTypeFilter) : page.items;
|
|
762
836
|
}
|
|
763
837
|
async pullBackupChunk(backupId, chunkIndex) {
|
|
764
|
-
|
|
838
|
+
const chunk = this.unwrap(await this.actor.backupPullChunk(backupId, BigInt(chunkIndex)));
|
|
839
|
+
// A blob is typed `Uint8Array | number[]` by the generator; the agent decodes it to a Uint8Array.
|
|
840
|
+
return chunk instanceof Uint8Array ? chunk : Uint8Array.from(chunk);
|
|
765
841
|
}
|
|
766
842
|
/** One backup's metadata by id. Kept alongside listBackups/pullBackupChunk because
|
|
767
843
|
* RECOVERY-RUNBOOK §"Restore" names exactly that chain: list or fetch the metadata, pull each
|
|
@@ -932,31 +1008,6 @@ export class EngramClient {
|
|
|
932
1008
|
}
|
|
933
1009
|
return { migrated, total: files.length, failed };
|
|
934
1010
|
}
|
|
935
|
-
async syncOfflineQueue() {
|
|
936
|
-
if (!this.offlineQueue)
|
|
937
|
-
return { synced: 0, failed: 0 };
|
|
938
|
-
return this.offlineQueue.flush(async (method, args) => {
|
|
939
|
-
if (!ALLOWED_OFFLINE_METHODS.has(method)) {
|
|
940
|
-
console.error(`engramx: offline queue contains unknown method "${method}" — operation dropped`);
|
|
941
|
-
return;
|
|
942
|
-
}
|
|
943
|
-
const fn = this.actor[method];
|
|
944
|
-
if (!fn)
|
|
945
|
-
throw new Error(`Unknown method: ${method}`);
|
|
946
|
-
// Queue entries persisted by a pre-source-class SDK carry 2 args; the 3-arg IDL would
|
|
947
|
-
// throw on arity at encode. Pad with opt-none so an old queue replays as UNTAGGED —
|
|
948
|
-
// the same thing it was when written.
|
|
949
|
-
if (method === 'appendMemory' && args.length === 2)
|
|
950
|
-
args = [...args, []];
|
|
951
|
-
const result = await fn(...args);
|
|
952
|
-
if (result && typeof result === 'object' && 'Err' in result) {
|
|
953
|
-
// Same variant-stringification defect as readMemoryBatch's row mapper: `Err` is a
|
|
954
|
-
// six-armed record, and `new Error(obj)` renders "[object Object]" over the one sentence
|
|
955
|
-
// a replay failure needs to carry.
|
|
956
|
-
throw new Error(errorMessage(result.Err));
|
|
957
|
-
}
|
|
958
|
-
});
|
|
959
|
-
}
|
|
960
1011
|
/**
|
|
961
1012
|
* Redeem an invite as the key for this engram, enrolled under the agent's lasting key (`root`).
|
|
962
1013
|
*
|
package/dist/EngramClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngramClient.js","sourceRoot":"","sources":["../src/EngramClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EngramClient.js","sourceRoot":"","sources":["../src/EngramClient.ts"],"names":[],"mappings":"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"}
|