@engramx/client 0.16.0-rc.21 → 0.16.0-rc.22

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 CHANGED
@@ -66,7 +66,7 @@ const files = await engram.readMemoryBatch(['MEMORY.md', 'memory/daily.md']);
66
66
  > ```typescript
67
67
  > const bundle = await engram.captureEvidence(receipt, 'memory/daily.md');
68
68
  > // fs.writeFileSync('bundle.json', JSON.stringify(bundle));
69
- > // npx @engramx/client@0.16.0-rc.21 verify bundle.json → each link, the signed time, the entries walked
69
+ > // npx @engramx/client@0.16.0-rc.22 verify bundle.json → each link, the signed time, the entries walked
70
70
  > ```
71
71
 
72
72
 
@@ -88,7 +88,7 @@ in-repo consumer as a reason to report what breaks, not as a warning that it doe
88
88
 
89
89
  The 2026-08-17 charter diet (below) deleted a lot of caller-less methods and **deliberately kept
90
90
  these two.** Zero in-repo callers was the reason to look at them; it was not the reason to decide.
91
- Three facts decided it. They are what `npx @engramx/mcp@0.16.0-rc.21 connect` *instructs* whoever builds a new
91
+ Three facts decided it. They are what `npx @engramx/mcp@0.16.0-rc.22 connect` *instructs* whoever builds a new
92
92
  SDK-lane agent to call, verbatim, in the guide the dashboard's connect page renders — deleting a method
93
93
  while still telling people to call it is the failure this whole exercise exists to prevent.
94
94
  `startSession()` is the only read on the **update** path, so it is the only one the canister can
@@ -114,13 +114,13 @@ Pair your agent with an engram:
114
114
 
115
115
  ```bash
116
116
  # Pair the agent on this machine with the engram and install the OpenClaw plugin
117
- pnpm dlx @engramx/client@0.16.0-rc.21 pair <invite-code> --engram <canister-id> --target openclaw
117
+ pnpm dlx @engramx/client@0.16.0-rc.22 pair <invite-code> --engram <canister-id> --target openclaw
118
118
 
119
119
  # Replacement machine — after pairing, restore memory from the engram
120
- pnpm dlx @engramx/client@0.16.0-rc.21 migrate --engram <canister-id> --recover
120
+ pnpm dlx @engramx/client@0.16.0-rc.22 migrate --engram <canister-id> --recover
121
121
  ```
122
122
 
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.21 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.
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.22 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.
124
124
 
125
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`.
126
126
 
@@ -136,7 +136,7 @@ If the owner of the wallet allows it (a standing allowance they set for this age
136
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.
137
137
 
138
138
  ```bash
139
- npx @engramx/client@0.16.0-rc.21 open-engram --engram <canister-id>
139
+ npx @engramx/client@0.16.0-rc.22 open-engram --engram <canister-id>
140
140
  ```
141
141
 
142
142
  The engram it works in pays to open it, from its own balance, and the agent's lasting key
@@ -145,12 +145,43 @@ paid in is the agent's from the moment the new engram exists, and nothing is tak
145
145
  reads the allowance first and stops, with nothing spent, when there is none; it never creates a
146
146
  lasting key; and it prints the engram's own sentence when the engram refuses. It then prints the
147
147
  owner kit's command that acts as the new engram's owner with the same file —
148
- `npx @engramx/owner@0.16.0-rc.21 --connect --key-file <that file> --registry <id>`, with both filled in — which
148
+ `npx @engramx/owner@0.16.0-rc.22 --connect --key-file <that file> --registry <id>`, with both filled in — which
149
149
  mints an invite for an agent to pair into it. The agent's lasting key is an owner key for the engram
150
150
  it opened only; on the engram it works in it stays an agent. The agent's work in an engram its own
151
151
  key owns is never counted on its track record. From code: `EngramClient.getChildAllowance(key)`,
152
152
  `EngramClient.openChildEngram()`, or `openEngram(options, { io })`, which is the whole command.
153
153
 
154
+ **Its sign-in, and a sealed copy of the key.** ⟨2026-11-02⟩ The engram opened is born with a
155
+ **sign-in**: the person who runs the agent, on a second credential (their Internet Identity's
156
+ principal, or a second key file's). The sign-in approves payments over the limits, adds sellers,
157
+ approves trading keys, lifts freezes and seats guardians; the lasting key keeps every everyday act and
158
+ can loosen nothing. Name it when you open:
159
+
160
+ ```bash
161
+ npx @engramx/client@0.16.0-rc.22 open-engram --engram <canister-id> --sign-in <principal>
162
+ ```
163
+
164
+ At a terminal with neither flag, the command offers the owner of the engram it opens through
165
+ (printed in full, "is this yours?") and otherwise takes a principal you paste. Run headless, or with
166
+ `--yes`, it refuses unless you pass `--sign-in <principal>` or `--no-sign-in` — `--yes` never picks a
167
+ sign-in. With `--no-sign-in` the engram keeps small limits for life and the lasting key cannot be
168
+ recovered. It refuses, before anything is spent, a sign-in that is the lasting key, the session key,
169
+ the anonymous principal or a canister, and an engram to open through that runs a release older than
170
+ 0.16.0-rc.22 (an older one cannot give what it opens a sign-in).
171
+
172
+ Right after opening, the command seals a copy of the lasting key to the sign-in and stores it in the
173
+ new engram — only the sign-in can open it, and it opens to the same key, so the owner never changes.
174
+ If that step fails the engram is still open, and the command prints the line that finishes it:
175
+
176
+ ```bash
177
+ npx @engramx/client@0.16.0-rc.22 seal-key --engram <the-engram-opened> --root-key <path> --sign-in <principal>
178
+ ```
179
+
180
+ `seal-key` seals only for the sign-in the engram has, and refuses an engram that already holds a copy
181
+ (the copy is stored once). The sign-in opens the copy with the owner kit
182
+ (`npx @engramx/owner@0.16.0-rc.22 --recover-key <engram> --out <file>`) or in the console. From code:
183
+ `sealToPrincipal` and `openSealed` in `@engramx/client/encryption`, and `sealKey(options, { io })`.
184
+
154
185
  ## Guardian API
155
186
 
156
187
  Guardians are trusted principals who can take emergency actions. Adding/removing
@@ -3,7 +3,7 @@ import { Ed25519KeyIdentity } from '@icp-sdk/core/identity';
3
3
  import { Principal } from '@icp-sdk/core/principal';
4
4
  import { idlFactory } from './idl.js';
5
5
  import { type EvidenceBundle } from './evidence.js';
6
- import type { MemoryHistory, MemoryRangePage, MemoryFile, MemoryFileInfo, SessionContext, Pairing, AuditPage, AgentRecord, AgentGrant, ChildAllowanceRow, EngramStatus, OwnerConsole, GuardianRecord, BackupMetadata, BackupRetention, BackupType, ApprovalRequest } from './types.js';
6
+ import type { MemoryHistory, MemoryRangePage, MemoryFile, MemoryFileInfo, SessionContext, Pairing, AuditPage, AgentRecord, AgentGrant, ChildAllowanceRow, EngramStatus, OwnerConsole, GuardianRecord, BackupMetadata, BackupRetention, BackupType, ApprovalRequest, KeyBackupStatus, OwnerSignInView } from './types.js';
7
7
  /**
8
8
  * Source class declared on an append — recorded permanently in the engram's audit chain beside
9
9
  * this agent's principal. Declared by the caller, NOT verified by the canister; a false
@@ -363,12 +363,36 @@ export declare class EngramClient {
363
363
  * what is opened — approving is giving: it is the agent's from the moment it exists. Answers the
364
364
  * new engram's canister id. Throws a `CanisterRefusal` carrying the engram's sentence (no
365
365
  * allowance, payments frozen, too little balance, or the registry refused) — each names what to
366
- * do. Named caller: the `open-engram` command (openEngram.ts). */
367
- openChildEngram(): Promise<Principal>;
366
+ * do. Named caller: the `open-engram` command (openEngram.ts).
367
+ * ⟨2026-11-02, the child build's stage 2⟩ `signIn` names the opened engram's sign-in — the person
368
+ * running the agent, on a second credential; omitted, it opens with none and keeps small limits
369
+ * for life. The engram refuses the agent's own lasting key, the anonymous principal and a canister
370
+ * before anything is spent. The `open-engram` command does not pass one yet (the kit's stage).
371
+ * ⟨2026-11-02⟩ The canister method is `openChild({ signIn })` now (renamed from `openChildEngram()`:
372
+ * a positional argument would have grown a frozen argument tuple); this SDK keeps its own name. */
373
+ openChildEngram(signIn?: Principal): Promise<Principal>;
368
374
  /** ⟨2026-10-01⟩ The registry that opened this engram, or null when it records none — a public
369
375
  * read. Named caller: the `open-engram` command, which prints the owner kit's command with
370
376
  * `--registry` filled in, so whoever runs the agent never has to find the id. */
371
377
  getSpawnedBy(): Promise<Principal | null>;
378
+ /** The engram's vetKD verification key for its key backup — the key the copy is sealed under. A
379
+ * public update call (it awaits the management canister). */
380
+ getKeyBackupVerificationKey(): Promise<Uint8Array>;
381
+ /** Store the sealed copy of the owner's key (set once; the key file only, and only while a sign-in
382
+ * is seated). Throws a `CanisterRefusal` carrying the engram's sentence — `Conflict` when a copy is
383
+ * already held. */
384
+ storeKeyBackup(ciphertext: Uint8Array): Promise<void>;
385
+ /** Whether the engram holds a sealed copy, for whom, since when, and whether it is sealed for the
386
+ * sign-in seated now. The key file or the sign-in; refused (thrown) to anyone else and in a first
387
+ * engram. */
388
+ getKeyBackupStatus(): Promise<KeyBackupStatus>;
389
+ /** The sealed copy itself, as stored — read back by the key file to check it is the copy this kit
390
+ * made (a copy someone else stored first is "not this key", never "sealed"). Throws `NotFound`
391
+ * when none is held. */
392
+ getKeyBackupCiphertext(): Promise<Uint8Array>;
393
+ /** The engram's sign-in as the caller may see it: whether it was opened through another, who signs
394
+ * in, and any decline or waiting ask. */
395
+ getOwnerSignIn(): Promise<OwnerSignInView>;
372
396
  /** The verified IDKitResult, verbatim, as World's /api/v4/verify accepted it (null if
373
397
  * unverified). `Result<opt Text>` is TWO WRAPPERS: an envelope around an option. Unwrap the
374
398
  * envelope, THEN take the option — reading `result.length` on `{Ok:[…]}` gives `undefined`,
@@ -760,9 +760,15 @@ export class EngramClient {
760
760
  * what is opened — approving is giving: it is the agent's from the moment it exists. Answers the
761
761
  * new engram's canister id. Throws a `CanisterRefusal` carrying the engram's sentence (no
762
762
  * allowance, payments frozen, too little balance, or the registry refused) — each names what to
763
- * do. Named caller: the `open-engram` command (openEngram.ts). */
764
- async openChildEngram() {
765
- return this.unwrap(await this.actor.openChildEngram(), 'openChildEngram');
763
+ * do. Named caller: the `open-engram` command (openEngram.ts).
764
+ * ⟨2026-11-02, the child build's stage 2⟩ `signIn` names the opened engram's sign-in — the person
765
+ * running the agent, on a second credential; omitted, it opens with none and keeps small limits
766
+ * for life. The engram refuses the agent's own lasting key, the anonymous principal and a canister
767
+ * before anything is spent. The `open-engram` command does not pass one yet (the kit's stage).
768
+ * ⟨2026-11-02⟩ The canister method is `openChild({ signIn })` now (renamed from `openChildEngram()`:
769
+ * a positional argument would have grown a frozen argument tuple); this SDK keeps its own name. */
770
+ async openChildEngram(signIn) {
771
+ return this.unwrap(await this.actor.openChild({ signIn: signIn ? [signIn] : [] }), 'openChild');
766
772
  }
767
773
  /** ⟨2026-10-01⟩ The registry that opened this engram, or null when it records none — a public
768
774
  * read. Named caller: the `open-engram` command, which prints the owner kit's command with
@@ -771,6 +777,39 @@ export class EngramClient {
771
777
  const r = (await this.actor.getSpawnedBy());
772
778
  return r.length > 0 && r[0] ? r[0] : null;
773
779
  }
780
+ // ── The sealed copy of the owner's key ⟨ADDED 2026-11-02, the child build's stage 8⟩ ─────────────
781
+ // Owner-side calls on an engram an agent opened through another, made by this client when it signs
782
+ // with the agent's LASTING key (the opened engram's owner) — never with a session key. Named
783
+ // callers: the `open-engram` command's seal right after the opening, and the `seal-key` command that
784
+ // retries it (both in openEngram.ts). The canister gates each one; this SDK widens nobody's standing.
785
+ /** The engram's vetKD verification key for its key backup — the key the copy is sealed under. A
786
+ * public update call (it awaits the management canister). */
787
+ async getKeyBackupVerificationKey() {
788
+ return new Uint8Array(await this.actor.getKeyBackupVerificationKey());
789
+ }
790
+ /** Store the sealed copy of the owner's key (set once; the key file only, and only while a sign-in
791
+ * is seated). Throws a `CanisterRefusal` carrying the engram's sentence — `Conflict` when a copy is
792
+ * already held. */
793
+ async storeKeyBackup(ciphertext) {
794
+ this.unwrap(await this.actor.storeKeyBackup(ciphertext), 'storeKeyBackup');
795
+ }
796
+ /** Whether the engram holds a sealed copy, for whom, since when, and whether it is sealed for the
797
+ * sign-in seated now. The key file or the sign-in; refused (thrown) to anyone else and in a first
798
+ * engram. */
799
+ async getKeyBackupStatus() {
800
+ return this.unwrap(await this.actor.getKeyBackupStatus(), 'getKeyBackupStatus');
801
+ }
802
+ /** The sealed copy itself, as stored — read back by the key file to check it is the copy this kit
803
+ * made (a copy someone else stored first is "not this key", never "sealed"). Throws `NotFound`
804
+ * when none is held. */
805
+ async getKeyBackupCiphertext() {
806
+ return new Uint8Array(this.unwrap(await this.actor.getKeyBackupCiphertext(), 'getKeyBackupCiphertext'));
807
+ }
808
+ /** The engram's sign-in as the caller may see it: whether it was opened through another, who signs
809
+ * in, and any decline or waiting ask. */
810
+ async getOwnerSignIn() {
811
+ return this.unwrap(await this.actor.getOwnerSignIn(), 'getOwnerSignIn');
812
+ }
774
813
  // getWorldIdProof() removed 2026-08-24 with the canister method (0.16.0 cut, audit DEC-104).
775
814
  // The canister's backing store was an immutable `let … = null`, so this returned null on every
776
815
  // call for a structural reason no client fix could reach. The 2026-08-20 envelope correction
@@ -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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"}
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@ import { EngramClient } from './EngramClient.js';
13
13
  import { checkEvidence } from './evidence.js';
14
14
  import { IC_MAINNET_ROOT_KEY_HEX } from './certifiedAudit.js';
15
15
  import { fetchSealedRows } from './publicRecord.js';
16
- import { openEngram, shellWord } from './openEngram.js';
16
+ import { openEngram, sealKey, shellWord, SIGN_IN_FLOOR_VERSION } from './openEngram.js';
17
17
  import { Principal } from '@icp-sdk/core/principal';
18
18
  // Simple colored output helpers
19
19
  const green = (s) => `\x1b[32m${s}\x1b[0m`;
@@ -143,6 +143,17 @@ async function confirm(message) {
143
143
  });
144
144
  });
145
145
  }
146
+ /** ⟨2026-11-02, the child build's stage 8⟩ One line typed at the terminal (open-engram's pasted
147
+ * sign-in). Never answered by --yes: open-engram asks only at a terminal without it. */
148
+ async function ask(message) {
149
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
150
+ return new Promise((resolve) => {
151
+ rl.question(`${message} `, (answer) => {
152
+ rl.close();
153
+ resolve(answer);
154
+ });
155
+ });
156
+ }
146
157
  async function promptGitRemote() {
147
158
  if (autoConfirm) {
148
159
  console.log(`\nEnable git versioning for memory? ${dim('[y/N]')} n ${dim('(--yes: skipped, use --git-remote to set)')}`);
@@ -270,7 +281,8 @@ function printUsage() {
270
281
  console.log(`
271
282
  ${bold('Usage:')}
272
283
  ${pairCommand()} [options]
273
- ${NPX_CLIENT} open-engram --engram <id> [options]
284
+ ${NPX_CLIENT} open-engram --engram <id> (--sign-in <principal> | --no-sign-in) [options]
285
+ ${NPX_CLIENT} seal-key --engram <id> [--root-key <path>] [--sign-in <principal>]
274
286
  ${NPX_CLIENT} migrate --engram <id> [options]
275
287
  ${NPX_CLIENT} rollback [checkpoint-id]
276
288
  ${NPX_CLIENT} git-setup <remote-url>
@@ -282,6 +294,8 @@ ${bold('Commands:')}
282
294
  pair Pair this agent with an engram: a fresh key for it, enrolled under your lasting key
283
295
  open-engram Open an engram of this agent's own through the engram it works in, if the owner of
284
296
  the wallet allowed it; this agent's lasting key owns what is opened
297
+ seal-key Store the sealed copy of the lasting key in an engram open-engram opened, when
298
+ open-engram said the copy was not stored; only its sign-in can open the copy
285
299
  migrate Migrate local memory to engram (or recover with --recover)
286
300
  rollback Restore files from a checkpoint
287
301
  git-setup Initialize git versioning for the memory directory
@@ -314,13 +328,31 @@ ${bold('Options (open-engram):')}
314
328
  --root-key <path> This agent's lasting key, which will own the new engram
315
329
  (default: ~/.engramx/root.key; never created by this command)
316
330
  --host <url> ICP host (default: https://ic0.app)
317
- --yes, -y Open without asking (also when not run at a terminal)
331
+ --sign-in <principal> The new engram's sign-in: your own second credential (your Internet
332
+ Identity's principal, or a second key file's). It approves payments over
333
+ the limits, adds sellers, approves trading keys, lifts freezes, and alone
334
+ opens the sealed copy of the lasting key kept in the engram
335
+ --no-sign-in Open with none: small limits for life, and no recovery of the lasting key
336
+ --yes, -y Open without asking. Never picks a sign-in: with --yes, or when not run at
337
+ a terminal, pass --sign-in or --no-sign-in
318
338
 
339
+ At a terminal with neither flag, it offers the owner of the engram you open through as the
340
+ sign-in (asking whether that is you), or takes a principal you paste.
341
+ The engram you open through must run ${SIGN_IN_FLOOR_VERSION} or later; an older one cannot give the new
342
+ engram a sign-in, and the command refuses before anything is spent.
319
343
  What is attached to open it is the agent's from the moment it exists (approving is giving).
320
344
  Afterwards the owner kit acts as its owner with the same file:
321
345
  npx @engramx/owner@${VERSION} --connect --key-file <the lasting key's file> --registry <id>
322
346
  (open-engram prints that line with both filled in.)
323
347
 
348
+ ${bold('Options (seal-key):')}
349
+ --engram <id> The engram open-engram opened (required)
350
+ --root-key <path> This agent's lasting key, its owner (default: ~/.engramx/root.key)
351
+ --sign-in <principal> The sign-in the copy is for; refused unless it is the one the engram has
352
+ (omitted: that one)
353
+ --host <url> ICP host (default: https://ic0.app)
354
+ Refused when the engram already holds a copy: the copy is stored once.
355
+
324
356
  ${bold('Options (migrate):')}
325
357
  --engram <id> Engram canister ID (required)
326
358
  --recover Recovery mode: download memory from engram to local
@@ -363,6 +395,9 @@ async function main() {
363
395
  file: { type: 'string' },
364
396
  offline: { type: 'boolean', default: false },
365
397
  'ic-root-key': { type: 'string' },
398
+ // ⟨2026-11-02, the child build's stage 8⟩ open-engram's sign-in, and seal-key's check of it.
399
+ 'sign-in': { type: 'string' },
400
+ 'no-sign-in': { type: 'boolean', default: false },
366
401
  help: { type: 'boolean', default: false },
367
402
  },
368
403
  });
@@ -736,11 +771,40 @@ async function main() {
736
771
  host: values.host,
737
772
  yes: values.yes,
738
773
  interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
774
+ // ⟨2026-11-02, stage 8⟩ The sign-in: named, refused, or asked for at a terminal.
775
+ signIn: values['sign-in'],
776
+ noSignIn: values['no-sign-in'],
777
+ }, {
778
+ io: {
779
+ out: (line) => console.log(line),
780
+ err: (line) => fail(line),
781
+ confirm: (question) => confirm(` ${question}`),
782
+ ask: (question) => ask(` ${question}`),
783
+ },
784
+ });
785
+ if (result.exitCode !== 0)
786
+ process.exit(result.exitCode);
787
+ return;
788
+ }
789
+ // ── seal-key command ──────────────────────────────────────────
790
+ // ⟨2026-11-02, the child build's stage 8⟩ The seal alone (openEngram.ts · sealKey), for an engram
791
+ // whose opening printed that the copy was not stored.
792
+ if (command === 'seal-key') {
793
+ if (!values.engram) {
794
+ fail(`Missing --engram <canister-id>. Usage: ${NPX_CLIENT} seal-key --engram <id>`);
795
+ process.exit(1);
796
+ }
797
+ const result = await sealKey({
798
+ canisterId: values.engram,
799
+ rootKeyPath: values['root-key'],
800
+ signIn: values['sign-in'],
801
+ host: values.host,
739
802
  }, {
740
803
  io: {
741
804
  out: (line) => console.log(line),
742
805
  err: (line) => fail(line),
743
806
  confirm: (question) => confirm(` ${question}`),
807
+ ask: (question) => ask(` ${question}`),
744
808
  },
745
809
  });
746
810
  if (result.exitCode !== 0)