@engramx/client 0.16.0-rc.11 → 0.16.0-rc.12

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
@@ -72,7 +72,7 @@ in-repo consumer as a reason to report what breaks, not as a warning that it doe
72
72
 
73
73
  The 2026-08-17 charter diet (below) deleted a lot of caller-less methods and **deliberately kept
74
74
  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 connect` *instructs* whoever builds a new
75
+ Three facts decided it. They are what `npx @engramx/mcp@0.16.0-rc.12 connect` *instructs* whoever builds a new
76
76
  SDK-lane agent to call, verbatim, in the guide the dashboard's connect page renders — deleting a method
77
77
  while still telling people to call it is the failure this whole exercise exists to prevent.
78
78
  `startSession()` is the only read on the **update** path, so it is the only one the canister can
@@ -98,13 +98,15 @@ 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.11 pair <invite-code> --engram <canister-id> --target openclaw
101
+ pnpm dlx @engramx/client@0.16.0-rc.12 pair <invite-code> --engram <canister-id> --target openclaw
102
102
 
103
103
  # Replacement machine — after pairing, restore memory from the engram
104
- pnpm dlx @engramx/client migrate --engram <canister-id> --recover
104
+ pnpm dlx @engramx/client@0.16.0-rc.12 migrate --engram <canister-id> --recover
105
105
  ```
106
106
 
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 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.
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.12 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
+
109
+ ⟨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`.
108
110
 
109
111
  ⟨2026-09-29⟩ From code, pairing is one call: `EngramClient.pairAgent(inviteCode, root)`, or sign the
110
112
  statement with `signEnrolment(root, engramId, key, inviteCode)` and call the engram's `pairAgent`
@@ -118,7 +120,7 @@ If the owner of the wallet allows it (a standing allowance they set for this age
118
120
  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.
119
121
 
120
122
  ```bash
121
- npx @engramx/client open-engram --engram <canister-id>
123
+ npx @engramx/client@0.16.0-rc.12 open-engram --engram <canister-id>
122
124
  ```
123
125
 
124
126
  The engram it works in pays to open it, from its own balance, and the agent's lasting key
@@ -127,7 +129,7 @@ paid in is the agent's from the moment the new engram exists, and nothing is tak
127
129
  reads the allowance first and stops, with nothing spent, when there is none; it never creates a
128
130
  lasting key; and it prints the engram's own sentence when the engram refuses. It then prints the
129
131
  owner kit's command that acts as the new engram's owner with the same file —
130
- `npx @engramx/owner --connect --key-file <that file> --registry <id>`, with both filled in — which
132
+ `npx @engramx/owner@0.16.0-rc.12 --connect --key-file <that file> --registry <id>`, with both filled in — which
131
133
  mints an invite for an agent to pair into it. The agent's lasting key is an owner key for the engram
132
134
  it opened only; on the engram it works in it stays an agent. The agent's work in an engram its own
133
135
  key owns is never counted on its track record. From code: `EngramClient.getChildAllowance(key)`,
@@ -359,6 +361,8 @@ _that fleet's_ testimony, not canonicity.
359
361
 
360
362
  The `--target openclaw` option on `pair` handles plugin installation and `openclaw.json` configuration automatically. For manual setup or customization, see the README of the `@engramx/openclaw` package on npm.
361
363
 
364
+ ⟨2026-10-13⟩ It installs the plugin released with this package, at the same version. If a different version is already installed, `pair` stops before it pairs, names that version, and prints the command that upgrades it; the invite is not used, so the same command runs again afterwards. When it installs nothing (OpenClaw's gateway is not running, or both installers fail), it says so and why, and prints the command that installs the plugin. Until this day it printed "Installed EngramX plugin for OpenClaw" in every case.
365
+
362
366
  ## Maturity of the payment and identity surfaces
363
367
 
364
368
  Verified against the canister interface on 2026-08-16. "Stubbed" was doing too much work here, so
@@ -4,6 +4,7 @@
4
4
  import * as fs from 'fs';
5
5
  import * as path from 'path';
6
6
  import { atomicWriteFileSync } from './path-utils.js';
7
+ import { MCP_PACKAGE } from './version.js';
7
8
  /** Generate the MCP server config block for Claude. */
8
9
  export function generateMcpConfig(options) {
9
10
  const env = {
@@ -17,7 +18,9 @@ export function generateMcpConfig(options) {
17
18
  mcpServers: {
18
19
  engramx: {
19
20
  command: 'npx',
20
- args: ['-y', '@engramx/mcp'],
21
+ // ⟨2026-10-13⟩ Was `['-y', '@engramx/mcp']` — unpinned, so npx ran npm's `latest`, the
22
+ // previous final release; version.ts · MCP_PACKAGE says why it names this build's version.
23
+ args: ['-y', MCP_PACKAGE],
21
24
  env,
22
25
  },
23
26
  },
@@ -1 +1 @@
1
- {"version":3,"file":"claude-setup.js","sourceRoot":"","sources":["../src/claude-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-setup.js","sourceRoot":"","sources":["../src/claude-setup.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,2 +1,8 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ /**
3
+ * The run this module starts when it is loaded — the command line's whole life.
4
+ * ⟨2026-10-13⟩ Exported so a test can load the CLI with stubbed network modules and wait for the
5
+ * command to END (test/pair-migrate.test.ts); before, a test could only wait one tick, which is
6
+ * enough for --help and not for pair.
7
+ */
8
+ export declare const finished: Promise<void>;
package/dist/cli.js CHANGED
@@ -6,9 +6,9 @@ import { pair, PairError } from './pair.js';
6
6
  import { NPX_CLIENT, VERSION, pairCommand } from './version.js';
7
7
  import { execFileSync } from 'node:child_process';
8
8
  import * as path from 'path';
9
- import { setupOpenClaw, setupGitVersioning, OpenClawNotFoundError, getOpenClawDir, getMemoryDir, isGitRepo, } from './openclaw-setup.js';
9
+ import { setupOpenClaw, setupGitVersioning, OpenClawNotFoundError, OpenClawPluginOutdatedError, OPENCLAW_PLUGIN, outdatedOpenClawPlugins, getOpenClawDir, getMemoryDir, isGitRepo, } from './openclaw-setup.js';
10
10
  import { generateMcpConfig, claudeConfigPaths, installMcpConfig } from './claude-setup.js';
11
- import { migrateOpenClawMemory, recoverOpenClaw, rollbackCheckpoint, listCheckpoints, hasValidPairing, findIncompleteCheckpoint, resumeMigration, } from './migrate.js';
11
+ import { migrateOpenClawMemory, findOpenClawMemoryFiles, recoverOpenClaw, rollbackCheckpoint, listCheckpoints, hasValidPairing, findIncompleteCheckpoint, resumeMigration, } from './migrate.js';
12
12
  import { EngramClient } from './EngramClient.js';
13
13
  import { openEngram } from './openEngram.js';
14
14
  import { Principal } from '@icp-sdk/core/principal';
@@ -254,7 +254,7 @@ async function runResumeMigration(clientOptions) {
254
254
  fail(`Resume failed: ${err.message}`);
255
255
  process.exit(1);
256
256
  }
257
- console.log(`\nTo undo: ${bold('npx @engramx/client rollback')}`);
257
+ console.log(`\nTo undo: ${bold(`${NPX_CLIENT} rollback`)}`);
258
258
  }
259
259
  // ── Help text ───────────────────────────────────────────────────
260
260
  // ⟨2026-10-03⟩ Every usage line names the version this help was built with (version.ts): the
@@ -299,7 +299,10 @@ ${bold('Options (pair):')}
299
299
  (default: ~/.engramx/root.key; created on first use, never overwritten)
300
300
  --git-remote <url> Enable git versioning and set remote
301
301
  --force Overwrite an existing key for this engram (never the lasting key)
302
- --yes, -y Auto-confirm all prompts (non-interactive mode)
302
+ --migrate Also move this machine's OpenClaw memory files into the engram: each
303
+ is uploaded, then deleted here (undo with rollback). Without it, pair
304
+ moves nothing and says what it found
305
+ --yes, -y Auto-confirm all prompts (non-interactive mode); never adds --migrate
303
306
 
304
307
  ${bold('Options (open-engram):')}
305
308
  --engram <id> The engram this agent works in, which opens the new one (required)
@@ -349,6 +352,7 @@ async function main() {
349
352
  'root-key': { type: 'string' },
350
353
  'git-remote': { type: 'string' },
351
354
  force: { type: 'boolean', default: false },
355
+ migrate: { type: 'boolean', default: false },
352
356
  yes: { type: 'boolean', short: 'y', default: false },
353
357
  file: { type: 'string' },
354
358
  raw: { type: 'boolean', default: false },
@@ -374,7 +378,7 @@ async function main() {
374
378
  if (command === 'read') {
375
379
  const filePath = positionals[1];
376
380
  if (!filePath) {
377
- fail('Usage: npx @engramx/client read <path> --engram <id> [--raw]');
381
+ fail(`Usage: ${NPX_CLIENT} read <path> --engram <id> [--raw]`);
378
382
  process.exit(1);
379
383
  }
380
384
  if (!values.engram) {
@@ -478,7 +482,7 @@ async function main() {
478
482
  if (command === 'git-log') {
479
483
  const memoryDir = getMemoryDir();
480
484
  if (!isGitRepo(memoryDir)) {
481
- fail('Git versioning not set up. Run: npx @engramx/client git-setup <url>');
485
+ fail(`Git versioning not set up. Run: ${NPX_CLIENT} git-setup <url>`);
482
486
  process.exit(1);
483
487
  }
484
488
  const filePath = positionals[1] || values.file;
@@ -503,7 +507,7 @@ async function main() {
503
507
  if (command === 'git-diff') {
504
508
  const memoryDir = getMemoryDir();
505
509
  if (!isGitRepo(memoryDir)) {
506
- fail('Git versioning not set up. Run: npx @engramx/client git-setup <url>');
510
+ fail(`Git versioning not set up. Run: ${NPX_CLIENT} git-setup <url>`);
507
511
  process.exit(1);
508
512
  }
509
513
  const ref = positionals[1];
@@ -532,7 +536,7 @@ async function main() {
532
536
  if (command === 'git-revert') {
533
537
  const ref = positionals[1];
534
538
  if (!ref) {
535
- fail('Usage: npx @engramx/client git-revert <commit-or-ref> --engram <id> [--file <path>]');
539
+ fail(`Usage: ${NPX_CLIENT} git-revert <commit-or-ref> --engram <id> [--file <path>]`);
536
540
  process.exit(1);
537
541
  }
538
542
  if (!values.engram) {
@@ -541,7 +545,7 @@ async function main() {
541
545
  }
542
546
  const memoryDir = getMemoryDir();
543
547
  if (!isGitRepo(memoryDir)) {
544
- fail('Git versioning not set up. Run: npx @engramx/client git-setup <url>');
548
+ fail(`Git versioning not set up. Run: ${NPX_CLIENT} git-setup <url>`);
545
549
  process.exit(1);
546
550
  }
547
551
  const filePath = values.file;
@@ -660,7 +664,7 @@ async function main() {
660
664
  if (command === 'git-setup') {
661
665
  const remoteUrl = positionals[1];
662
666
  if (!remoteUrl) {
663
- fail('Missing remote URL. Usage: npx @engramx/client git-setup <remote-url>');
667
+ fail(`Missing remote URL. Usage: ${NPX_CLIENT} git-setup <remote-url>`);
664
668
  process.exit(1);
665
669
  }
666
670
  step('Setting up git versioning...');
@@ -731,7 +735,7 @@ async function main() {
731
735
  fail(`Recovery failed: ${err.message}`);
732
736
  process.exit(1);
733
737
  }
734
- console.log(`\nTo undo: ${bold('npx @engramx/client rollback')}`);
738
+ console.log(`\nTo undo: ${bold(`${NPX_CLIENT} rollback`)}`);
735
739
  console.log(`Restart OpenClaw \u2014 memory files will sync automatically.`);
736
740
  return;
737
741
  }
@@ -774,7 +778,7 @@ async function main() {
774
778
  process.exit(1);
775
779
  }
776
780
  if (!values['dry-run']) {
777
- console.log(`\nTo undo: ${bold('npx @engramx/client rollback')}`);
781
+ console.log(`\nTo undo: ${bold(`${NPX_CLIENT} rollback`)}`);
778
782
  }
779
783
  return;
780
784
  }
@@ -814,7 +818,7 @@ async function main() {
814
818
  }
815
819
  // Error if --recover is passed to pair (moved to migrate)
816
820
  if (values.recover) {
817
- fail('The --recover flag has moved to the migrate command. Use: npx @engramx/client migrate --engram <id> --recover');
821
+ fail(`The --recover flag has moved to the migrate command. Use: ${NPX_CLIENT} migrate --engram <id> --recover`);
818
822
  process.exit(1);
819
823
  }
820
824
  const inviteCode = positionals[1];
@@ -837,6 +841,23 @@ async function main() {
837
841
  info(`Key path: ${keyPath}`);
838
842
  info(`Lasting key: ${rootKeyPath}`);
839
843
  info(`Target: ${target}`);
844
+ // Before anything changes: an EngramX plugin for OpenClaw already on this machine must be this
845
+ // release's, or pair stops here.
846
+ // ⟨ADDED 2026-10-13, the second review of the owner's "fix the pairing migration"⟩ WHY. Step 2 left
847
+ // an older plugin in place and printed "Installed EngramX plugin for OpenClaw" over it, and one from
848
+ // 0.16.0-rc.11 or earlier deletes the local memory files the engram does not list when OpenClaw
849
+ // next starts — the files Step 4 now leaves where they are. Stopping HERE, before the invite is
850
+ // used, is what lets the same pair command run again once the plugin is upgraded; refused at Step
851
+ // 2 the pairing would already be done and the invite spent. openclaw-setup.ts ·
852
+ // outdatedOpenClawPlugins says the rest. Held by test/pair-migrate.test.ts.
853
+ if (target === 'openclaw') {
854
+ const outdated = outdatedOpenClawPlugins();
855
+ if (outdated.length > 0) {
856
+ fail(new OpenClawPluginOutdatedError(outdated).message);
857
+ info('Nothing was changed, and the invite is not used yet: upgrade the plugin, then run this pair command again.');
858
+ process.exit(1);
859
+ }
860
+ }
840
861
  // Step 1: Pair (keep the lasting key, generate a fresh key for this engram, enrol it, pairAgent)
841
862
  step('Generating a key for this engram, enrolling it under your lasting key, pairing...');
842
863
  info(`This will write: ${keyPath} (and ${rootKeyPath} if you have no lasting key yet)`);
@@ -897,14 +918,31 @@ async function main() {
897
918
  sessionKeyPath: keyPath,
898
919
  host: values.host,
899
920
  });
900
- ok(`Installed EngramX plugin for OpenClaw`);
921
+ // ⟨CHANGED 2026-10-13, the second review⟩ This printed "Installed EngramX plugin for OpenClaw"
922
+ // whatever setupOpenClaw reported — over a plugin already there at any version, and over no
923
+ // install at all when OpenClaw's gateway was not running. It now says what happened.
924
+ const where = setupResult.pluginNote ?? '';
925
+ switch (setupResult.pluginMethod) {
926
+ case 'cli':
927
+ ok(`Installed ${OPENCLAW_PLUGIN} through OpenClaw's plugin installer`);
928
+ break;
929
+ case 'manual-npm':
930
+ ok(`Installed ${OPENCLAW_PLUGIN} with npm ${dim(`\u2192 ${where}`)}`);
931
+ break;
932
+ case 'current':
933
+ ok(`The EngramX plugin is already ${OPENCLAW_PLUGIN} ${dim(`\u2192 ${where}`)}`);
934
+ break;
935
+ default:
936
+ warn(`Did not install the EngramX plugin for OpenClaw: ${where}.`);
937
+ info(`Install it with: openclaw plugins install ${OPENCLAW_PLUGIN}`);
938
+ }
901
939
  ok(`Updated ${dim(setupResult.configPath)}`);
902
940
  }
903
941
  catch (err) {
904
942
  if (err instanceof OpenClawNotFoundError) {
905
943
  fail(err.message);
906
944
  console.log(`\n${dim('Manual setup:')}`);
907
- console.log(dim(' 1. npm install @engramx/openclaw'));
945
+ console.log(dim(` 1. npm install @engramx/openclaw@${VERSION}`));
908
946
  console.log(dim(' 2. Add to openclaw.json: { "plugins": { "slots": { "memory": "memory-engramx" } } }'));
909
947
  }
910
948
  else {
@@ -1077,11 +1115,35 @@ async function main() {
1077
1115
  }
1078
1116
  catch (err) {
1079
1117
  fail(`Git setup failed: ${err.message}`);
1080
- info('You can set this up manually later. See: npx @engramx/client git-setup <url>');
1118
+ info(`You can set this up manually later. See: ${NPX_CLIENT} git-setup <url>`);
1081
1119
  }
1082
1120
  }
1083
- // Step 4: Migration
1084
- {
1121
+ // Step 4: Migration — only when asked (--migrate).
1122
+ // ⟨CHANGED 2026-10-13, the owner's ruling of that day: "fix the pairing migration"⟩ WHY. This step
1123
+ // ran on every pair, for every --target (claude too), and under --yes it confirmed itself: it moved
1124
+ // every OpenClaw memory file under OPENCLAW_CONFIG_DIR or ~/.openclaw into the engram and deleted
1125
+ // the local originals (migrate.ts · migrateFiles → fs.unlinkSync, after a checkpoint copy). Pairing
1126
+ // an agent for Claude on a machine that had once run OpenClaw moved that machine's OpenClaw memory
1127
+ // into an engram nobody asked to fill, and an environment variable pointed elsewhere was the only
1128
+ // guard. Now pairing migrates only on the explicit --migrate; --yes answers the prompts of what was
1129
+ // asked and never asks for the migration itself. Without --migrate, pairing reads the file list the
1130
+ // migration would start from, moves nothing, and prints one line: what it found and the command
1131
+ // that moves it. The `migrate` command is unchanged. Held by test/pair-migrate.test.ts.
1132
+ // WHAT WOULD MAKE THIS WRONG: a caller that relies on pair to move the files. None in this
1133
+ // repository does: integrations/openclaw never runs pair, and its README gives `migrate` as the
1134
+ // second of two commands.
1135
+ // ⟨CORRECTED 2026-10-13, later, on review⟩ One did, without calling it: the OpenClaw plugin's sync
1136
+ // deleted every local memory file the engram did not list, before pushing it, so the files in its
1137
+ // memory folder that this step no longer moves were lost at OpenClaw's next start, unless more than
1138
+ // five, and more than half the folder, would go. The plugin now deletes only what the engram had
1139
+ // (integrations/openclaw/index.ts · knownPathsFile).
1140
+ // ⟨CORRECTED 2026-10-13, the second review⟩ "The plugin now deletes only what the engram had" held
1141
+ // for the plugin released with this kit, not for the one already installed: Step 2 left an older
1142
+ // plugin in place and said it had installed one, so on such a machine the files this step leaves
1143
+ // were still lost at OpenClaw's next start. pair now stops before pairing when the installed plugin
1144
+ // is a different version (the check above Step 1), and the plugin's delete step reads the engram's
1145
+ // whole listing (index.ts · readEngramListing).
1146
+ if (values.migrate) {
1085
1147
  const clientOptions = {
1086
1148
  canisterId: values.engram,
1087
1149
  sessionKeyPath: keyPath,
@@ -1099,20 +1161,41 @@ async function main() {
1099
1161
  fail(`Migration failed: ${err.message}`);
1100
1162
  process.exit(1);
1101
1163
  }
1102
- console.log(`\nTo undo: ${bold('npx @engramx/client rollback')}`);
1164
+ console.log(`\nTo undo: ${bold(`${NPX_CLIENT} rollback`)}`);
1103
1165
  if (gitRemoteUrl) {
1104
1166
  console.log(`Memory changes will be auto-committed and pushed to GitHub.`);
1105
1167
  }
1106
1168
  else {
1107
- info('Tip: Add git versioning with npx @engramx/client git-setup <url>');
1169
+ info(`Tip: Add git versioning with ${NPX_CLIENT} git-setup <url>`);
1108
1170
  }
1109
1171
  }
1110
1172
  else {
1111
- info(`Run 'npx @engramx/client migrate --engram ${values.engram}' to migrate later.`);
1173
+ info(`Run '${NPX_CLIENT} migrate --engram ${values.engram}' to migrate later.`);
1174
+ }
1175
+ }
1176
+ else {
1177
+ let found;
1178
+ try {
1179
+ found = findOpenClawMemoryFiles();
1180
+ }
1181
+ catch (err) {
1182
+ warn(`Could not look for OpenClaw memory files (none were moved): ${err.message}`);
1183
+ }
1184
+ const n = found?.files.length ?? 0;
1185
+ if (found && n > 0) {
1186
+ info(`Found ${n} OpenClaw memory file${n === 1 ? '' : 's'} in ${found.openclawDir} and left ${n === 1 ? 'it' : 'them'} there. ` +
1187
+ `To move ${n === 1 ? 'it' : 'them'} into this engram (each is uploaded, then deleted here): ` +
1188
+ `${NPX_CLIENT} migrate --engram ${values.engram}`);
1112
1189
  }
1113
1190
  }
1114
1191
  }
1115
- main().catch((err) => {
1192
+ /**
1193
+ * The run this module starts when it is loaded — the command line's whole life.
1194
+ * ⟨2026-10-13⟩ Exported so a test can load the CLI with stubbed network modules and wait for the
1195
+ * command to END (test/pair-migrate.test.ts); before, a test could only wait one tick, which is
1196
+ * enough for --help and not for pair.
1197
+ */
1198
+ export const finished = main().catch((err) => {
1116
1199
  fail(`Fatal: ${err.message}`);
1117
1200
  process.exit(1);
1118
1201
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/migrate.d.ts CHANGED
@@ -96,6 +96,23 @@ export declare function createCheckpoint(mode: 'migration' | 'recovery', opencla
96
96
  export declare function listCheckpoints(): CheckpointSummary[];
97
97
  export declare function rollbackCheckpoint(checkpointId?: string): RollbackResult;
98
98
  export declare function migrateOpenClawMemory(options: MigrateOptions, onProgress?: MigrateCallback): Promise<MigrateResult>;
99
+ /**
100
+ * The OpenClaw memory files `migrateOpenClawMemory` would move, found WITHOUT moving them: no upload,
101
+ * no checkpoint, no file read or written — the same scan (`collectOpenClawFiles`), so the count is
102
+ * the count the migration would start from (empty files included; it skips those and leaves them).
103
+ * ⟨CORRECTED 2026-10-13, later, on review⟩ Blank files are now left out of the list — the ones
104
+ * `migrateFiles` skips as 'empty' (`!content.trim()`) — so the count `pair` prints is the count the
105
+ * migration would move, not "Found 6" beside a migration that moves 4. That takes a read of each
106
+ * file; still nothing is uploaded, written or deleted. A file that cannot be read stays counted: the
107
+ * migration tries it and reports the error.
108
+ *
109
+ * ⟨ADDED 2026-10-13, the owner's ruling of that day: "fix the pairing migration"⟩ For `pair`, which
110
+ * now migrates only on an explicit `--migrate` and otherwise says what it found and how to move it.
111
+ */
112
+ export declare function findOpenClawMemoryFiles(): {
113
+ openclawDir: string;
114
+ files: string[];
115
+ };
99
116
  export declare function findIncompleteCheckpoint(): {
100
117
  checkpoint: CheckpointSummary;
101
118
  metadata: CheckpointMetadata;
package/dist/migrate.js CHANGED
@@ -760,6 +760,35 @@ export async function migrateOpenClawMemory(options, onProgress) {
760
760
  }
761
761
  return result;
762
762
  }
763
+ /**
764
+ * The OpenClaw memory files `migrateOpenClawMemory` would move, found WITHOUT moving them: no upload,
765
+ * no checkpoint, no file read or written — the same scan (`collectOpenClawFiles`), so the count is
766
+ * the count the migration would start from (empty files included; it skips those and leaves them).
767
+ * ⟨CORRECTED 2026-10-13, later, on review⟩ Blank files are now left out of the list — the ones
768
+ * `migrateFiles` skips as 'empty' (`!content.trim()`) — so the count `pair` prints is the count the
769
+ * migration would move, not "Found 6" beside a migration that moves 4. That takes a read of each
770
+ * file; still nothing is uploaded, written or deleted. A file that cannot be read stays counted: the
771
+ * migration tries it and reports the error.
772
+ *
773
+ * ⟨ADDED 2026-10-13, the owner's ruling of that day: "fix the pairing migration"⟩ For `pair`, which
774
+ * now migrates only on an explicit `--migrate` and otherwise says what it found and how to move it.
775
+ */
776
+ export function findOpenClawMemoryFiles() {
777
+ const openclawDir = getOpenClawDir();
778
+ const { files } = collectOpenClawFiles(openclawDir, loadOpenClawConfig(openclawDir));
779
+ const blank = (file) => {
780
+ try {
781
+ return !fs.readFileSync(file, 'utf-8').trim();
782
+ }
783
+ catch {
784
+ return false;
785
+ }
786
+ };
787
+ return {
788
+ openclawDir,
789
+ files: files.map((f) => f.absolutePath).filter((f) => !blank(f)),
790
+ };
791
+ }
763
792
  // ── Resume / Incomplete checkpoint detection ──────────────────────
764
793
  function collectAllFiles(dir, baseDir) {
765
794
  const results = [];