wyrm-mcp 7.0.2 → 7.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloud/cli.d.ts.map +1 -1
- package/dist/cloud/cli.js +66 -5
- package/dist/cloud/cli.js.map +1 -1
- package/dist/cloud/client.d.ts +19 -0
- package/dist/cloud/client.d.ts.map +1 -1
- package/dist/cloud/client.js +26 -8
- package/dist/cloud/client.js.map +1 -1
- package/dist/cloud/machine-id.d.ts +80 -0
- package/dist/cloud/machine-id.d.ts.map +1 -0
- package/dist/cloud/machine-id.js +113 -0
- package/dist/cloud/machine-id.js.map +1 -0
- package/dist/cloud/sync-engine.d.ts +26 -0
- package/dist/cloud/sync-engine.d.ts.map +1 -1
- package/dist/cloud/sync-engine.js +83 -5
- package/dist/cloud/sync-engine.js.map +1 -1
- package/dist/tool-manifest.json +1 -1
- package/dist/wyrm-manifest.json +1 -1
- package/package.json +1 -1
package/dist/cloud/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cloud/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cloud/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+CH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D5D"}
|
package/dist/cloud/cli.js
CHANGED
|
@@ -19,7 +19,8 @@ import { resolve } from 'node:path';
|
|
|
19
19
|
import { createInterface } from 'node:readline';
|
|
20
20
|
import { CloudClient, CloudError, DEFAULT_BASE, SESSION_FILE, loadSession, saveSession, clearSession } from './client.js';
|
|
21
21
|
import { getMasterKey, keyExists, keyFilePath } from './crypto.js';
|
|
22
|
-
import {
|
|
22
|
+
import { computeMachineFp, classifySession } from './machine-id.js';
|
|
23
|
+
import { runSync, CopiedSessionError } from './sync-engine.js';
|
|
23
24
|
import { initializeLicense, hasFeature, getTier } from '../license.js';
|
|
24
25
|
/**
|
|
25
26
|
* Gate the data-movement cloud commands behind a Pro+ license.
|
|
@@ -69,6 +70,7 @@ export async function cmdCloud(args) {
|
|
|
69
70
|
case 'login': return await cmdLogin(rest);
|
|
70
71
|
case 'logout': return await cmdLogout();
|
|
71
72
|
case 'status': return await cmdStatus();
|
|
73
|
+
case 'doctor': return cmdDoctor();
|
|
72
74
|
case 'devices': return await cmdDevices(rest);
|
|
73
75
|
case 'sync': return await cmdSync(rest);
|
|
74
76
|
case 'export': return await cmdExport(rest);
|
|
@@ -83,6 +85,12 @@ export async function cmdCloud(args) {
|
|
|
83
85
|
catch (err) {
|
|
84
86
|
// Translate common errors to friendly CLI output. Falls through
|
|
85
87
|
// to a generic message for unexpected exceptions.
|
|
88
|
+
if (err instanceof CopiedSessionError) {
|
|
89
|
+
// The detailed loud guidance was already written to stderr by the
|
|
90
|
+
// sync engine. Just exit non-zero without burying it under a
|
|
91
|
+
// generic message.
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
86
94
|
if (err instanceof CloudError) {
|
|
87
95
|
if (err.status === 401) {
|
|
88
96
|
console.error('✘ Not authenticated. Run `wyrm cloud login`.');
|
|
@@ -132,10 +140,14 @@ SUBCOMMANDS:
|
|
|
132
140
|
status Show account, tier, storage, and registered devices.
|
|
133
141
|
devices List devices on this account.
|
|
134
142
|
devices revoke <id> Revoke a specific device.
|
|
135
|
-
sync [--dry-run] [--all]
|
|
143
|
+
sync [--dry-run] [--all] [--force]
|
|
136
144
|
Push local cross-project rows + pull peer deltas.
|
|
137
145
|
--all syncs every semantic table (ignores
|
|
138
146
|
visibility opt-in). Skips telemetry / FTS / logs.
|
|
147
|
+
--force proceeds past a copied-session warning
|
|
148
|
+
(or set WYRM_ALLOW_COPIED_SESSION=1).
|
|
149
|
+
doctor Diagnose this device's cloud identity (device_id,
|
|
150
|
+
machine fingerprint match, copied-session check).
|
|
139
151
|
export [path] Download full account dump (deltas stay encrypted).
|
|
140
152
|
delete --confirm Permanently delete the cloud account (irreversible).
|
|
141
153
|
recovery show Print master key as a 24-word BIP39 phrase.
|
|
@@ -228,10 +240,12 @@ async function cmdLogin(_args) {
|
|
|
228
240
|
try {
|
|
229
241
|
const reg = await authed.registerDevice(deviceName);
|
|
230
242
|
deviceId = reg.device.id;
|
|
231
|
-
// Update session file with device info
|
|
243
|
+
// Update session file with device info + this machine's fingerprint.
|
|
244
|
+
// The fp binds the session to THIS machine so a later copy of
|
|
245
|
+
// cloud.json to a second box is detected at sync (failure #40).
|
|
232
246
|
const s = loadSession();
|
|
233
247
|
if (s)
|
|
234
|
-
saveSession({ ...s, email, device_id: deviceId, device_name: deviceName });
|
|
248
|
+
saveSession({ ...s, email, device_id: deviceId, device_name: deviceName, machine_fp: computeMachineFp() });
|
|
235
249
|
}
|
|
236
250
|
catch (err) {
|
|
237
251
|
console.error(`\n⚠ Logged in but could not register device: ${err instanceof Error ? err.message : err}`);
|
|
@@ -303,7 +317,9 @@ async function cmdStatus() {
|
|
|
303
317
|
console.log(` Providers:${me.identities.map((i) => ' ' + i.provider).join(',')}`);
|
|
304
318
|
console.log('');
|
|
305
319
|
console.log(` This machine: ${s.device_name ?? '(not registered)'}`);
|
|
320
|
+
console.log(` Device ID: ${s.device_id ? s.device_id.slice(0, 8) + '…' : '(none)'}`);
|
|
306
321
|
console.log(` Session age: ${Math.round((Date.now() - s.created_at) / (24 * 60 * 60 * 1000))} day(s)`);
|
|
322
|
+
printIdentityHealth(s);
|
|
307
323
|
console.log('');
|
|
308
324
|
// Encryption-key health. The whole operator-owns-data guarantee rests
|
|
309
325
|
// on this file existing — if it's gone, no pulled blob can be decrypted.
|
|
@@ -328,6 +344,50 @@ async function cmdStatus() {
|
|
|
328
344
|
throw err;
|
|
329
345
|
}
|
|
330
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* Print the device-identity health line(s) for a session: whether the
|
|
349
|
+
* stored machine fingerprint matches THIS machine. A mismatch is the
|
|
350
|
+
* copied-session / device_id-collision symptom (failure #40). Shared by
|
|
351
|
+
* `status` and `doctor`.
|
|
352
|
+
*/
|
|
353
|
+
function printIdentityHealth(s) {
|
|
354
|
+
const verdict = classifySession(s.machine_fp);
|
|
355
|
+
if (verdict.state === 'match') {
|
|
356
|
+
console.log(' Identity: ✓ machine fingerprint matches (not a copied session)');
|
|
357
|
+
}
|
|
358
|
+
else if (verdict.state === 'adopt') {
|
|
359
|
+
console.log(' Identity: — no fingerprint yet (pre-7.0.3 session; adopted on next sync)');
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
console.log(' Identity: ⚠ FINGERPRINT MISMATCH — this session looks COPIED');
|
|
363
|
+
console.log(` stored ${verdict.stored.slice(0, 12)}… vs this machine ${verdict.current.slice(0, 12)}…`);
|
|
364
|
+
console.log(' device_id collision → cross-device pull returns 0 silently.');
|
|
365
|
+
console.log(' Fix: rm ~/.wyrm/cloud.json ~/.wyrm/cloud-cursor.json (KEEP cloud.key),');
|
|
366
|
+
console.log(' then `wyrm cloud login`. (Or `wyrm cloud sync --force` if intended.)');
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
// ── doctor ────────────────────────────────────────────────────────────────────
|
|
370
|
+
function cmdDoctor() {
|
|
371
|
+
const s = loadSession();
|
|
372
|
+
console.log('');
|
|
373
|
+
console.log(' Wyrm Cloud — device identity doctor');
|
|
374
|
+
console.log('');
|
|
375
|
+
if (!s) {
|
|
376
|
+
console.log(' Not logged in. Run `wyrm cloud login`.');
|
|
377
|
+
console.log('');
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
console.log(` Account: ${s.email ?? s.account_id.slice(0, 8) + '…'}`);
|
|
381
|
+
console.log(` Device ID: ${s.device_id ? s.device_id.slice(0, 8) + '…' : '(none — re-run `wyrm cloud login`)'}`);
|
|
382
|
+
console.log(` Server: ${s.base}`);
|
|
383
|
+
console.log(` Stored fp: ${s.machine_fp ? s.machine_fp.slice(0, 12) + '…' : '(none — pre-7.0.3 session)'}`);
|
|
384
|
+
console.log(` This box fp: ${computeMachineFp().slice(0, 12)}…`);
|
|
385
|
+
printIdentityHealth(s);
|
|
386
|
+
console.log('');
|
|
387
|
+
console.log(' Only ~/.wyrm/cloud.key is meant to be shared across your machines.');
|
|
388
|
+
console.log(' cloud.json + cloud-cursor.json + machine-id are per-device.');
|
|
389
|
+
console.log('');
|
|
390
|
+
}
|
|
331
391
|
// ── devices ─────────────────────────────────────────────────────────────────
|
|
332
392
|
async function cmdDevices(args) {
|
|
333
393
|
const action = args[0];
|
|
@@ -363,6 +423,7 @@ async function cmdSync(args) {
|
|
|
363
423
|
requireCloudLicense();
|
|
364
424
|
const dryRun = args.includes('--dry-run');
|
|
365
425
|
const all = args.includes('--all');
|
|
426
|
+
const force = args.includes('--force');
|
|
366
427
|
if (!keyExists()) {
|
|
367
428
|
console.error('⚠ Encryption key not found at', keyFilePath());
|
|
368
429
|
console.error(' A new key will be generated, but it will NOT decrypt deltas');
|
|
@@ -376,7 +437,7 @@ async function cmdSync(args) {
|
|
|
376
437
|
console.log(' Skipped: per-device logs, FTS shadows, sync internals.');
|
|
377
438
|
console.log('');
|
|
378
439
|
}
|
|
379
|
-
const result = await runSync({ dryRun, all });
|
|
440
|
+
const result = await runSync({ dryRun, all, force });
|
|
380
441
|
console.log('');
|
|
381
442
|
console.log(' Sync complete');
|
|
382
443
|
console.log('');
|
package/dist/cloud/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cloud/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cloud/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud/client.d.ts
CHANGED
|
@@ -20,6 +20,15 @@
|
|
|
20
20
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
21
21
|
*/
|
|
22
22
|
export declare const DEFAULT_BASE: string;
|
|
23
|
+
/**
|
|
24
|
+
* Resolve the per-operator Wyrm config directory.
|
|
25
|
+
*
|
|
26
|
+
* Honors `WYRM_CLOUD_DIR` (an absolute path) so tests can sandbox every
|
|
27
|
+
* file we touch (session, cursor, key, machine-id) away from the real
|
|
28
|
+
* ~/.wyrm. Resolved at call time — NOT frozen at import — so a test that
|
|
29
|
+
* sets the env after importing this module still redirects correctly.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveCloudDir(): string;
|
|
23
32
|
export declare const CLOUD_DIR: string;
|
|
24
33
|
export declare const SESSION_FILE: string;
|
|
25
34
|
export interface SessionFile {
|
|
@@ -30,7 +39,17 @@ export interface SessionFile {
|
|
|
30
39
|
device_id?: string;
|
|
31
40
|
device_name?: string;
|
|
32
41
|
created_at: number;
|
|
42
|
+
/**
|
|
43
|
+
* Stable per-machine fingerprint (see machine-id.ts) recorded at login.
|
|
44
|
+
* Used on sync to detect a session file COPIED to a second machine — a
|
|
45
|
+
* copied session shares this device's device_id and would silently pull
|
|
46
|
+
* 0 peer deltas (failure #40). Absent on pre-7.0.3 sessions (adopted
|
|
47
|
+
* silently on first sync). See machine-id.ts for the fingerprint inputs.
|
|
48
|
+
*/
|
|
49
|
+
machine_fp?: string;
|
|
33
50
|
}
|
|
51
|
+
/** Resolve the session file path at call time (honors WYRM_CLOUD_DIR). */
|
|
52
|
+
export declare function sessionFilePath(): string;
|
|
34
53
|
export declare function loadSession(): SessionFile | null;
|
|
35
54
|
export declare function saveSession(sess: SessionFile): void;
|
|
36
55
|
export declare function clearSession(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cloud/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,eAAO,MAAM,YAAY,QAAyD,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cloud/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud/client.js
CHANGED
|
@@ -23,17 +23,34 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync, chmodSync, unlinkSy
|
|
|
23
23
|
import { join } from 'node:path';
|
|
24
24
|
import { homedir } from 'node:os';
|
|
25
25
|
export const DEFAULT_BASE = process.env.WYRM_CLOUD_URL ?? 'https://wyrm.ghosts.lk';
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Resolve the per-operator Wyrm config directory.
|
|
28
|
+
*
|
|
29
|
+
* Honors `WYRM_CLOUD_DIR` (an absolute path) so tests can sandbox every
|
|
30
|
+
* file we touch (session, cursor, key, machine-id) away from the real
|
|
31
|
+
* ~/.wyrm. Resolved at call time — NOT frozen at import — so a test that
|
|
32
|
+
* sets the env after importing this module still redirects correctly.
|
|
33
|
+
*/
|
|
34
|
+
export function resolveCloudDir() {
|
|
35
|
+
return process.env.WYRM_CLOUD_DIR ?? join(homedir(), '.wyrm');
|
|
36
|
+
}
|
|
37
|
+
export const CLOUD_DIR = resolveCloudDir();
|
|
27
38
|
export const SESSION_FILE = join(CLOUD_DIR, 'cloud.json');
|
|
39
|
+
/** Resolve the session file path at call time (honors WYRM_CLOUD_DIR). */
|
|
40
|
+
export function sessionFilePath() {
|
|
41
|
+
return join(resolveCloudDir(), 'cloud.json');
|
|
42
|
+
}
|
|
28
43
|
function ensureDir() {
|
|
29
|
-
|
|
30
|
-
|
|
44
|
+
const dir = resolveCloudDir();
|
|
45
|
+
if (!existsSync(dir))
|
|
46
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
31
47
|
}
|
|
32
48
|
export function loadSession() {
|
|
33
|
-
|
|
49
|
+
const file = sessionFilePath();
|
|
50
|
+
if (!existsSync(file))
|
|
34
51
|
return null;
|
|
35
52
|
try {
|
|
36
|
-
return JSON.parse(readFileSync(
|
|
53
|
+
return JSON.parse(readFileSync(file, 'utf-8'));
|
|
37
54
|
}
|
|
38
55
|
catch {
|
|
39
56
|
return null;
|
|
@@ -41,15 +58,16 @@ export function loadSession() {
|
|
|
41
58
|
}
|
|
42
59
|
export function saveSession(sess) {
|
|
43
60
|
ensureDir();
|
|
44
|
-
|
|
61
|
+
const file = sessionFilePath();
|
|
62
|
+
writeFileSync(file, JSON.stringify(sess, null, 2), { mode: 0o600 });
|
|
45
63
|
try {
|
|
46
|
-
chmodSync(
|
|
64
|
+
chmodSync(file, 0o600);
|
|
47
65
|
}
|
|
48
66
|
catch { /* best-effort */ }
|
|
49
67
|
}
|
|
50
68
|
export function clearSession() {
|
|
51
69
|
try {
|
|
52
|
-
unlinkSync(
|
|
70
|
+
unlinkSync(sessionFilePath());
|
|
53
71
|
}
|
|
54
72
|
catch { /* fine */ }
|
|
55
73
|
}
|
package/dist/cloud/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cloud/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cloud/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-machine fingerprint for Wyrm Cloud session integrity.
|
|
3
|
+
*
|
|
4
|
+
* THE PROBLEM (failure #40): Wyrm Cloud's per-device pull query is
|
|
5
|
+
* WHERE account_id=? AND device_id != <self> AND updated_at > cursor
|
|
6
|
+
* i.e. a device never re-pulls its OWN device_id's deltas — correct, a
|
|
7
|
+
* device already has its own writes. The `device_id` is minted once at
|
|
8
|
+
* `wyrm cloud login` and stored in ~/.wyrm/cloud.json. If an operator
|
|
9
|
+
* provisions a SECOND machine by COPYING ~/.wyrm/cloud.json (or the whole
|
|
10
|
+
* ~/.wyrm) instead of running its own `wyrm cloud login`, both machines
|
|
11
|
+
* share ONE device_id. Each then filters the OTHER's deltas out as "its
|
|
12
|
+
* own" → push works, pull returns 0, silently, with no error. Peer skills
|
|
13
|
+
* / truths appear MISSING on the copied machine.
|
|
14
|
+
*
|
|
15
|
+
* THE FIX (client-side): bind a stable machine fingerprint into the
|
|
16
|
+
* session at login. On sync, recompute it and compare. A mismatch means
|
|
17
|
+
* "this session was minted on a different machine" → device_id collision
|
|
18
|
+
* → warn LOUD (stderr) and stop, with a --force / env escape for the
|
|
19
|
+
* legitimate hostname-change case.
|
|
20
|
+
*
|
|
21
|
+
* FINGERPRINT INPUTS (deterministic, no new dependency):
|
|
22
|
+
* machine_fp = sha256( hostname "\n" install_id )[:32]
|
|
23
|
+
* - hostname = os.hostname() (the human-facing machine identity;
|
|
24
|
+
* a genuine hostname change is the one false-positive
|
|
25
|
+
* we accept and cover with --force)
|
|
26
|
+
* - install_id = a 32-hex-char random id generated ONCE and stored at
|
|
27
|
+
* ~/.wyrm/machine-id (0600). This is the load-bearing
|
|
28
|
+
* component: it is NOT copied by `cp ~/.wyrm/cloud.json`
|
|
29
|
+
* alone, and even a full `cp -r ~/.wyrm` to a new box
|
|
30
|
+
* yields the SAME install_id but a DIFFERENT hostname,
|
|
31
|
+
* so the fingerprint still diverges. A fresh
|
|
32
|
+
* `wyrm cloud login` on the new box regenerates nothing
|
|
33
|
+
* here (install_id is machine-scoped, not session-scoped)
|
|
34
|
+
* but re-mints a distinct device_id — which is the cure.
|
|
35
|
+
*
|
|
36
|
+
* The install_id file is intentionally machine-local config, NOT a secret:
|
|
37
|
+
* it carries no account data and only disambiguates one machine from
|
|
38
|
+
* another. The ONLY ~/.wyrm file meant to be shared between an operator's
|
|
39
|
+
* machines is ~/.wyrm/cloud.key (the E2E master key). cloud.json,
|
|
40
|
+
* cloud-cursor.json, and machine-id are all per-device.
|
|
41
|
+
*
|
|
42
|
+
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
43
|
+
* @license AGPL-3.0-or-later
|
|
44
|
+
*/
|
|
45
|
+
/** Resolve the install-id file path at call time (honors WYRM_CLOUD_DIR). */
|
|
46
|
+
export declare function machineIdFilePath(): string;
|
|
47
|
+
/**
|
|
48
|
+
* Get or generate this machine's persistent install id (32 hex chars).
|
|
49
|
+
*
|
|
50
|
+
* Generated once and stored at ~/.wyrm/machine-id (0600). Stable across
|
|
51
|
+
* logins, sessions, and Wyrm upgrades on the same machine. A malformed or
|
|
52
|
+
* empty file is treated as missing and regenerated (fail-open: a fresh id
|
|
53
|
+
* is harmless — worst case is one spurious "looks copied" warning that
|
|
54
|
+
* the operator clears by re-login, which is the desired loud behavior).
|
|
55
|
+
*/
|
|
56
|
+
export declare function getInstallId(): string;
|
|
57
|
+
/**
|
|
58
|
+
* Compute this machine's fingerprint: sha256(hostname \n install_id),
|
|
59
|
+
* truncated to 32 hex chars. Deterministic on a given machine; diverges
|
|
60
|
+
* across machines (different install_id and/or hostname).
|
|
61
|
+
*/
|
|
62
|
+
export declare function computeMachineFp(): string;
|
|
63
|
+
export type SessionCopyVerdict = {
|
|
64
|
+
state: 'match';
|
|
65
|
+
} | {
|
|
66
|
+
state: 'adopt';
|
|
67
|
+
} | {
|
|
68
|
+
state: 'mismatch';
|
|
69
|
+
stored: string;
|
|
70
|
+
current: string;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Classify a session's stored machine_fp against this machine.
|
|
74
|
+
*
|
|
75
|
+
* - absent → 'adopt' (backward compat: pre-7.0.3 session, no false alarm)
|
|
76
|
+
* - equal → 'match' (normal, silent)
|
|
77
|
+
* - differs → 'mismatch'(looks copied from another machine — warn loud)
|
|
78
|
+
*/
|
|
79
|
+
export declare function classifySession(storedFp: string | undefined): SessionCopyVerdict;
|
|
80
|
+
//# sourceMappingURL=machine-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-id.d.ts","sourceRoot":"","sources":["../../src/cloud/machine-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAQH,6EAA6E;AAC7E,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AASD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAarC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAClB;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAClB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAKhF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-machine fingerprint for Wyrm Cloud session integrity.
|
|
3
|
+
*
|
|
4
|
+
* THE PROBLEM (failure #40): Wyrm Cloud's per-device pull query is
|
|
5
|
+
* WHERE account_id=? AND device_id != <self> AND updated_at > cursor
|
|
6
|
+
* i.e. a device never re-pulls its OWN device_id's deltas — correct, a
|
|
7
|
+
* device already has its own writes. The `device_id` is minted once at
|
|
8
|
+
* `wyrm cloud login` and stored in ~/.wyrm/cloud.json. If an operator
|
|
9
|
+
* provisions a SECOND machine by COPYING ~/.wyrm/cloud.json (or the whole
|
|
10
|
+
* ~/.wyrm) instead of running its own `wyrm cloud login`, both machines
|
|
11
|
+
* share ONE device_id. Each then filters the OTHER's deltas out as "its
|
|
12
|
+
* own" → push works, pull returns 0, silently, with no error. Peer skills
|
|
13
|
+
* / truths appear MISSING on the copied machine.
|
|
14
|
+
*
|
|
15
|
+
* THE FIX (client-side): bind a stable machine fingerprint into the
|
|
16
|
+
* session at login. On sync, recompute it and compare. A mismatch means
|
|
17
|
+
* "this session was minted on a different machine" → device_id collision
|
|
18
|
+
* → warn LOUD (stderr) and stop, with a --force / env escape for the
|
|
19
|
+
* legitimate hostname-change case.
|
|
20
|
+
*
|
|
21
|
+
* FINGERPRINT INPUTS (deterministic, no new dependency):
|
|
22
|
+
* machine_fp = sha256( hostname "\n" install_id )[:32]
|
|
23
|
+
* - hostname = os.hostname() (the human-facing machine identity;
|
|
24
|
+
* a genuine hostname change is the one false-positive
|
|
25
|
+
* we accept and cover with --force)
|
|
26
|
+
* - install_id = a 32-hex-char random id generated ONCE and stored at
|
|
27
|
+
* ~/.wyrm/machine-id (0600). This is the load-bearing
|
|
28
|
+
* component: it is NOT copied by `cp ~/.wyrm/cloud.json`
|
|
29
|
+
* alone, and even a full `cp -r ~/.wyrm` to a new box
|
|
30
|
+
* yields the SAME install_id but a DIFFERENT hostname,
|
|
31
|
+
* so the fingerprint still diverges. A fresh
|
|
32
|
+
* `wyrm cloud login` on the new box regenerates nothing
|
|
33
|
+
* here (install_id is machine-scoped, not session-scoped)
|
|
34
|
+
* but re-mints a distinct device_id — which is the cure.
|
|
35
|
+
*
|
|
36
|
+
* The install_id file is intentionally machine-local config, NOT a secret:
|
|
37
|
+
* it carries no account data and only disambiguates one machine from
|
|
38
|
+
* another. The ONLY ~/.wyrm file meant to be shared between an operator's
|
|
39
|
+
* machines is ~/.wyrm/cloud.key (the E2E master key). cloud.json,
|
|
40
|
+
* cloud-cursor.json, and machine-id are all per-device.
|
|
41
|
+
*
|
|
42
|
+
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
43
|
+
* @license AGPL-3.0-or-later
|
|
44
|
+
*/
|
|
45
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
46
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync, chmodSync } from 'node:fs';
|
|
47
|
+
import { join } from 'node:path';
|
|
48
|
+
import { hostname } from 'node:os';
|
|
49
|
+
import { resolveCloudDir } from './client.js';
|
|
50
|
+
/** Resolve the install-id file path at call time (honors WYRM_CLOUD_DIR). */
|
|
51
|
+
export function machineIdFilePath() {
|
|
52
|
+
return join(resolveCloudDir(), 'machine-id');
|
|
53
|
+
}
|
|
54
|
+
const INSTALL_ID_RE = /^[0-9a-f]{32}$/;
|
|
55
|
+
function ensureDir() {
|
|
56
|
+
const dir = resolveCloudDir();
|
|
57
|
+
if (!existsSync(dir))
|
|
58
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get or generate this machine's persistent install id (32 hex chars).
|
|
62
|
+
*
|
|
63
|
+
* Generated once and stored at ~/.wyrm/machine-id (0600). Stable across
|
|
64
|
+
* logins, sessions, and Wyrm upgrades on the same machine. A malformed or
|
|
65
|
+
* empty file is treated as missing and regenerated (fail-open: a fresh id
|
|
66
|
+
* is harmless — worst case is one spurious "looks copied" warning that
|
|
67
|
+
* the operator clears by re-login, which is the desired loud behavior).
|
|
68
|
+
*/
|
|
69
|
+
export function getInstallId() {
|
|
70
|
+
const file = machineIdFilePath();
|
|
71
|
+
if (existsSync(file)) {
|
|
72
|
+
try {
|
|
73
|
+
const raw = readFileSync(file, 'utf-8').trim();
|
|
74
|
+
if (INSTALL_ID_RE.test(raw))
|
|
75
|
+
return raw;
|
|
76
|
+
}
|
|
77
|
+
catch { /* fall through to regenerate */ }
|
|
78
|
+
}
|
|
79
|
+
ensureDir();
|
|
80
|
+
const fresh = randomBytes(16).toString('hex'); // 32 hex chars
|
|
81
|
+
writeFileSync(file, fresh, { mode: 0o600 });
|
|
82
|
+
try {
|
|
83
|
+
chmodSync(file, 0o600);
|
|
84
|
+
}
|
|
85
|
+
catch { /* best-effort */ }
|
|
86
|
+
return fresh;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Compute this machine's fingerprint: sha256(hostname \n install_id),
|
|
90
|
+
* truncated to 32 hex chars. Deterministic on a given machine; diverges
|
|
91
|
+
* across machines (different install_id and/or hostname).
|
|
92
|
+
*/
|
|
93
|
+
export function computeMachineFp() {
|
|
94
|
+
const h = hostname();
|
|
95
|
+
const id = getInstallId();
|
|
96
|
+
return createHash('sha256').update(`${h}\n${id}`).digest('hex').slice(0, 32);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Classify a session's stored machine_fp against this machine.
|
|
100
|
+
*
|
|
101
|
+
* - absent → 'adopt' (backward compat: pre-7.0.3 session, no false alarm)
|
|
102
|
+
* - equal → 'match' (normal, silent)
|
|
103
|
+
* - differs → 'mismatch'(looks copied from another machine — warn loud)
|
|
104
|
+
*/
|
|
105
|
+
export function classifySession(storedFp) {
|
|
106
|
+
if (!storedFp)
|
|
107
|
+
return { state: 'adopt' };
|
|
108
|
+
const current = computeMachineFp();
|
|
109
|
+
if (storedFp === current)
|
|
110
|
+
return { state: 'match' };
|
|
111
|
+
return { state: 'mismatch', stored: storedFp, current };
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=machine-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-id.js","sourceRoot":"","sources":["../../src/cloud/machine-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,eAAe,EAAE,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;IAC9D,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC;QAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,QAA4B;IAC1D,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACpD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -45,9 +45,35 @@ export interface SyncResult {
|
|
|
45
45
|
deleted_local: number;
|
|
46
46
|
errors: string[];
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Thrown when the session's machine fingerprint does not match this
|
|
50
|
+
* machine (a copied cloud.json → device_id collision → silent 0-row
|
|
51
|
+
* pulls, failure #40). Caught by the CLI and rendered as guidance.
|
|
52
|
+
*/
|
|
53
|
+
export declare class CopiedSessionError extends Error {
|
|
54
|
+
constructor(message: string);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Guard against a copied cloud session (failure #40). Recompute this
|
|
58
|
+
* machine's fingerprint and compare to the one stored at login:
|
|
59
|
+
* - 'adopt' → no fp on the session (pre-7.0.3). Write the current fp
|
|
60
|
+
* in place, silently. Avoids false alarms on every
|
|
61
|
+
* existing install after upgrade.
|
|
62
|
+
* - 'match' → silent, normal.
|
|
63
|
+
* - 'mismatch' → this session was minted on another machine. Both boxes
|
|
64
|
+
* share one device_id; cross-device pull silently returns
|
|
65
|
+
* 0. Warn LOUD on stderr and STOP (throw), unless --force
|
|
66
|
+
* / WYRM_ALLOW_COPIED_SESSION=1.
|
|
67
|
+
*
|
|
68
|
+
* stderr ONLY — stdout is the MCP wire when this module is server-imported.
|
|
69
|
+
*/
|
|
70
|
+
export declare function guardCopiedSession(session: {
|
|
71
|
+
machine_fp?: string;
|
|
72
|
+
}, saveAdopted: (fp: string) => void, force?: boolean): void;
|
|
48
73
|
export declare function runSync(opts?: {
|
|
49
74
|
dryRun?: boolean;
|
|
50
75
|
all?: boolean;
|
|
76
|
+
force?: boolean;
|
|
51
77
|
}): Promise<SyncResult>;
|
|
52
78
|
interface PendingRow {
|
|
53
79
|
kind: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/cloud/sync-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/cloud/sync-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAsBxC,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;CACxB;AAID,eAAO,MAAM,cAAc,EAAE,SAAS,EAWrC,CAAC;AA6IF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtF;AAID,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EACjC,KAAK,CAAC,EAAE,OAAO,GACd,IAAI,CAwCN;AAED,wBAAsB,OAAO,CAAC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAiHlH;AAYD,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAyBD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,UAAU,EAAE,CAuEd"}
|
|
@@ -26,9 +26,13 @@
|
|
|
26
26
|
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
27
27
|
import { join } from 'node:path';
|
|
28
28
|
import { WyrmDB } from '../database.js';
|
|
29
|
-
import { CloudClient, loadSession,
|
|
29
|
+
import { CloudClient, loadSession, saveSession, resolveCloudDir } from './client.js';
|
|
30
30
|
import { encrypt, decrypt } from './crypto.js';
|
|
31
|
-
|
|
31
|
+
import { classifySession, computeMachineFp } from './machine-id.js';
|
|
32
|
+
/** Resolve the pull-cursor file at call time (honors WYRM_CLOUD_DIR). */
|
|
33
|
+
function cursorFilePath() {
|
|
34
|
+
return join(resolveCloudDir(), 'cloud-cursor.json');
|
|
35
|
+
}
|
|
32
36
|
// Default (privacy-first) tables — these have `cross_project_visibility`
|
|
33
37
|
// and the operator opts in by setting it to 'org' or 'public'.
|
|
34
38
|
export const DEFAULT_TABLES = [
|
|
@@ -146,10 +150,11 @@ const SAFE_IDENT = /^[a-z_][a-z0-9_]*$/i;
|
|
|
146
150
|
// ── Cursor persistence ────────────────────────────────────────────────────
|
|
147
151
|
function loadCursor() {
|
|
148
152
|
const empty = { pull_cursor: 0, last_push_updated_ms: 0, last_push_at: 0, last_pull_at: 0 };
|
|
149
|
-
|
|
153
|
+
const file = cursorFilePath();
|
|
154
|
+
if (!existsSync(file))
|
|
150
155
|
return empty;
|
|
151
156
|
try {
|
|
152
|
-
const raw = JSON.parse(readFileSync(
|
|
157
|
+
const raw = JSON.parse(readFileSync(file, 'utf-8'));
|
|
153
158
|
return { ...empty, ...raw };
|
|
154
159
|
}
|
|
155
160
|
catch {
|
|
@@ -157,7 +162,7 @@ function loadCursor() {
|
|
|
157
162
|
}
|
|
158
163
|
}
|
|
159
164
|
function saveCursor(c) {
|
|
160
|
-
writeFileSync(
|
|
165
|
+
writeFileSync(cursorFilePath(), JSON.stringify(c, null, 2), { mode: 0o600 });
|
|
161
166
|
}
|
|
162
167
|
// ── Tombstone table ───────────────────────────────────────────────────────
|
|
163
168
|
// We keep deletion intents in a local sync_tombstones table. Other code
|
|
@@ -194,11 +199,84 @@ export function recordTombstone(db, kind, rowId) {
|
|
|
194
199
|
raw.prepare(`INSERT OR IGNORE INTO sync_tombstones (kind, row_id, deleted_at_ms)
|
|
195
200
|
VALUES (?, ?, ?)`).run(kind, String(rowId), Date.now());
|
|
196
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Thrown when the session's machine fingerprint does not match this
|
|
204
|
+
* machine (a copied cloud.json → device_id collision → silent 0-row
|
|
205
|
+
* pulls, failure #40). Caught by the CLI and rendered as guidance.
|
|
206
|
+
*/
|
|
207
|
+
export class CopiedSessionError extends Error {
|
|
208
|
+
constructor(message) {
|
|
209
|
+
super(message);
|
|
210
|
+
this.name = 'CopiedSessionError';
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/** True when the operator has explicitly opted to proceed past the guard. */
|
|
214
|
+
function copiedSessionAllowed(force) {
|
|
215
|
+
return !!force || process.env.WYRM_ALLOW_COPIED_SESSION === '1';
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Guard against a copied cloud session (failure #40). Recompute this
|
|
219
|
+
* machine's fingerprint and compare to the one stored at login:
|
|
220
|
+
* - 'adopt' → no fp on the session (pre-7.0.3). Write the current fp
|
|
221
|
+
* in place, silently. Avoids false alarms on every
|
|
222
|
+
* existing install after upgrade.
|
|
223
|
+
* - 'match' → silent, normal.
|
|
224
|
+
* - 'mismatch' → this session was minted on another machine. Both boxes
|
|
225
|
+
* share one device_id; cross-device pull silently returns
|
|
226
|
+
* 0. Warn LOUD on stderr and STOP (throw), unless --force
|
|
227
|
+
* / WYRM_ALLOW_COPIED_SESSION=1.
|
|
228
|
+
*
|
|
229
|
+
* stderr ONLY — stdout is the MCP wire when this module is server-imported.
|
|
230
|
+
*/
|
|
231
|
+
export function guardCopiedSession(session, saveAdopted, force) {
|
|
232
|
+
const verdict = classifySession(session.machine_fp);
|
|
233
|
+
if (verdict.state === 'match')
|
|
234
|
+
return;
|
|
235
|
+
if (verdict.state === 'adopt') {
|
|
236
|
+
// Backward compat: pre-7.0.3 session has no fp. Adopt this machine
|
|
237
|
+
// silently — only a PRESENT-but-different fp is suspicious.
|
|
238
|
+
saveAdopted(computeMachineFp());
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
// mismatch
|
|
242
|
+
const lines = [
|
|
243
|
+
'',
|
|
244
|
+
'⚠ WYRM CLOUD: this session looks COPIED from another machine.',
|
|
245
|
+
'',
|
|
246
|
+
` Stored machine fingerprint: ${verdict.stored.slice(0, 12)}…`,
|
|
247
|
+
` This machine\'s fingerprint: ${verdict.current.slice(0, 12)}…`,
|
|
248
|
+
'',
|
|
249
|
+
' Both machines now share ONE device_id. The cloud pull query skips a',
|
|
250
|
+
' device\'s own deltas, so each machine filters the OTHER\'s changes out:',
|
|
251
|
+
' push works but pull silently returns 0 rows (peer memory looks MISSING).',
|
|
252
|
+
'',
|
|
253
|
+
' FIX — give this machine its own identity (keep your encryption key):',
|
|
254
|
+
' rm ~/.wyrm/cloud.json ~/.wyrm/cloud-cursor.json # NOT cloud.key',
|
|
255
|
+
' wyrm cloud login',
|
|
256
|
+
'',
|
|
257
|
+
' If this is a legitimate change (e.g. you renamed this host), re-run with:',
|
|
258
|
+
' wyrm cloud sync --force (or set WYRM_ALLOW_COPIED_SESSION=1)',
|
|
259
|
+
'',
|
|
260
|
+
];
|
|
261
|
+
if (copiedSessionAllowed(force)) {
|
|
262
|
+
// Warn but continue. Also adopt the current fp so the operator isn't
|
|
263
|
+
// nagged every sync after an intentional, acknowledged change.
|
|
264
|
+
console.error(lines.join('\n'));
|
|
265
|
+
console.error(' Proceeding anyway (--force / WYRM_ALLOW_COPIED_SESSION=1); fingerprint updated.');
|
|
266
|
+
console.error('');
|
|
267
|
+
saveAdopted(verdict.current);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
console.error(lines.join('\n'));
|
|
271
|
+
throw new CopiedSessionError('Cloud session looks copied from another machine (device_id collision). Re-login or pass --force.');
|
|
272
|
+
}
|
|
197
273
|
export async function runSync(opts = {}) {
|
|
198
274
|
const session = loadSession();
|
|
199
275
|
if (!session || !session.device_id) {
|
|
200
276
|
throw new Error('Not logged in or device not registered. Run `wyrm cloud login`.');
|
|
201
277
|
}
|
|
278
|
+
// Failure #40 guard: detect a copied session before doing any work.
|
|
279
|
+
guardCopiedSession(session, (fp) => { saveSession({ ...session, machine_fp: fp }); }, opts.force);
|
|
202
280
|
const client = new CloudClient(session.base, session.session);
|
|
203
281
|
const cursor = loadCursor();
|
|
204
282
|
const db = new WyrmDB();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/cloud/sync-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/cloud/sync-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-manifest.json
CHANGED
package/dist/wyrm-manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wyrm-mcp",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3",
|
|
4
4
|
"description": "Local-first persistent memory for AI agents over MCP. Ground truths, negative learning (recorded failures block repeats), decision causality, hybrid recall, live memory streams, run-attributed fleet memory — a structured SQLite memory on your machine, no cloud or LLM required. Claude / Copilot / Cursor / Windsurf / Codex.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|