memax-cli 0.1.0-alpha.25 → 0.1.0-alpha.27

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.
@@ -1 +1 @@
1
- {"version":3,"file":"setup-mcp.d.ts","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,QAAQ,EAGd,MAAM,kBAAkB,CAAC;AAI1B,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAsB,YAAY,CAChC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAa7B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA8DpE;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAmC7D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAsBtD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAiBjE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FnE;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAkBtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAYtD;AAID,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAQrC;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,IAAI,CAUN;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,GACV,IAAI,CAQN"}
1
+ {"version":3,"file":"setup-mcp.d.ts","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,QAAQ,EAGd,MAAM,kBAAkB,CAAC;AAI1B,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAsB,YAAY,CAChC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAa7B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAiEpE;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAmC7D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAsBtD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAoBjE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FnE;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAkBtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAetD;AAID,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAQrC;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,IAAI,CAUN;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,GACV,IAAI,CAQN"}
@@ -47,7 +47,7 @@ export function setupMcpRemote(agent, apiKey) {
47
47
  if (existsSync(agent.configPath)) {
48
48
  content = readFileSync(agent.configPath, "utf-8");
49
49
  }
50
- content = content.replace(/\[mcp_servers\.memax\][\s\S]*?(?=\n\[|$)/, "");
50
+ content = content.replace(/\[mcp_servers\.memax(?:\.\w+)*\][\s\S]*?(?=\n\[|$)/g, "");
51
51
  content = content.trim();
52
52
  if (content)
53
53
  content += "\n\n";
@@ -138,7 +138,7 @@ export function setupMcpToml(agent, bin) {
138
138
  content = readFileSync(agent.configPath, "utf-8");
139
139
  }
140
140
  // Remove existing memax section if present
141
- content = content.replace(/\[mcp_servers\.memax\][\s\S]*?(?=\n\[|$)/, "");
141
+ content = content.replace(/\[mcp_servers\.memax(?:\.\w+)*\][\s\S]*?(?=\n\[|$)/g, "");
142
142
  const args = [...bin.args, "mcp", "serve"].map((a) => `"${a}"`).join(", ");
143
143
  content = content.trim();
144
144
  if (content)
@@ -234,7 +234,7 @@ export function removeMcpToml(agent) {
234
234
  return false;
235
235
  let content = readFileSync(agent.configPath, "utf-8");
236
236
  const before = content;
237
- content = content.replace(/\[mcp_servers\.memax\][\s\S]*?(?=\n\[|$)/, "");
237
+ content = content.replace(/\[mcp_servers\.memax(?:\.\w+)*\][\s\S]*?(?=\n\[|$)/g, "");
238
238
  if (content === before)
239
239
  return false;
240
240
  writeFileSync(agent.configPath, content.trim() + "\n");
@@ -1 +1 @@
1
- {"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,12 @@ export declare function syncAgentMemoryCommand(options?: {
12
12
  export declare function listAgentConfigsCommand(): Promise<void>;
13
13
  export declare function deleteAgentConfigsCommand(): Promise<void>;
14
14
  export declare function syncCommand(directory: string | undefined, options: SyncOptions): Promise<void>;
15
+ interface ResolveAgentConfigWritePathOptions {
16
+ cwd?: string;
17
+ home?: string;
18
+ currentProjectScope?: string;
19
+ findClaudeProjectDir?: (scope: string) => string | null;
20
+ }
21
+ export declare function resolveAgentConfigWritePath(agent: string, filePath: string, scope: string, options?: ResolveAgentConfigWritePathOptions): string | null;
15
22
  export {};
16
23
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAsBA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAsCD,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CACX,GACL,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwD7D;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkG/D;AAYD,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAmFf"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAyBA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAsCD,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CACX,GACL,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwD7D;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8K/D;AAYD,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAmFf;AA2GD,UAAU,kCAAkC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACzD;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kCAAuC,GAC/C,MAAM,GAAG,IAAI,CA4Gf"}
@@ -1,10 +1,11 @@
1
1
  import chalk from "chalk";
2
2
  import { createHash } from "node:crypto";
3
- import { readFileSync, writeFileSync, mkdirSync, readdirSync, statSync, watch, existsSync, } from "node:fs";
3
+ import { readFileSync, writeFileSync, mkdirSync, rmSync, readdirSync, statSync, watch, existsSync, } from "node:fs";
4
4
  import { join, relative, extname, resolve, dirname } from "node:path";
5
5
  import { homedir } from "node:os";
6
6
  import { getClient } from "../lib/client.js";
7
- import { getProjectScope, resolveClaudeProjectFolder, normalizeFilePath, } from "../lib/project-context.js";
7
+ import { getProjectScope, resolveProjectScope, resolveClaudeProjectFolder, normalizeFilePath, } from "../lib/project-context.js";
8
+ import { getOrCreateDeviceID } from "../lib/config.js";
8
9
  import { confirm, ask, confirmDefault } from "../lib/prompt.js";
9
10
  const DEFAULT_IGNORE = new Set([
10
11
  "node_modules",
@@ -112,6 +113,7 @@ export async function deleteAgentConfigsCommand() {
112
113
  agent: c.agent,
113
114
  filePath: c.file_path,
114
115
  scope: c.scope,
116
+ version: c.version,
115
117
  });
116
118
  const idx = chalk.dim(`${items.length}.`);
117
119
  const scopeTag = c.scope === "global"
@@ -133,30 +135,89 @@ export async function deleteAgentConfigsCommand() {
133
135
  console.log(chalk.gray(" No valid selections.\n"));
134
136
  return;
135
137
  }
136
- // Confirm
138
+ const modeAnswer = await ask(" Delete from [l] this device only, [e] everywhere, or [s] skip? ");
139
+ const mode = modeAnswer.trim().toLowerCase();
140
+ if (mode !== "l" && mode !== "e") {
141
+ console.log(chalk.gray(" Cancelled.\n"));
142
+ return;
143
+ }
137
144
  console.log();
138
145
  for (const i of indices) {
139
146
  const item = items[i - 1];
140
147
  console.log(chalk.yellow(` ${item.agent}/${item.filePath}`));
141
148
  }
142
- const ok = await confirm(`\n Delete ${indices.length} config${indices.length > 1 ? "s" : ""}? (y/N) `);
149
+ const ok = await confirm(mode === "e"
150
+ ? `\n Delete ${indices.length} config${indices.length > 1 ? "s" : ""} everywhere? (y/N) `
151
+ : `\n Remove ${indices.length} config${indices.length > 1 ? "s" : ""} from this device only? (y/N) `);
143
152
  if (!ok) {
144
153
  console.log(chalk.gray(" Cancelled.\n"));
145
154
  return;
146
155
  }
156
+ const deviceID = getOrCreateDeviceID();
157
+ const cwd = process.cwd();
158
+ const currentProjectScope = getProjectScope(cwd);
159
+ const locations = discoverAgentConfigs();
160
+ const locByKey = new Map();
161
+ for (const loc of locations) {
162
+ locByKey.set(`${loc.agent}|${loc.filePath}|${loc.scope}`, loc);
163
+ }
164
+ const resolveDeletePath = (agent, filePath, scope) => {
165
+ const loc = locByKey.get(`${agent}|${filePath}|${scope}`);
166
+ if (loc)
167
+ return loc.path;
168
+ return resolveAgentConfigWritePath(agent, filePath, scope, {
169
+ cwd,
170
+ home: homedir(),
171
+ currentProjectScope,
172
+ });
173
+ };
147
174
  let deleted = 0;
148
175
  for (const i of indices) {
149
176
  const item = items[i - 1];
150
177
  try {
151
- await getClient().configs.delete(item.id);
152
- console.log(chalk.green(` \u2713 ${item.agent}/${item.filePath}`), chalk.gray("deleted"));
178
+ const localPath = resolveDeletePath(item.agent, item.filePath, item.scope);
179
+ if (mode === "l") {
180
+ await getClient().configs.localDelete({
181
+ device_id: deviceID,
182
+ agent: item.agent,
183
+ file_path: item.filePath,
184
+ scope: item.scope,
185
+ local_path: localPath ?? undefined,
186
+ });
187
+ if (localPath && existsSync(localPath)) {
188
+ rmSync(localPath);
189
+ }
190
+ console.log(chalk.green(` \u2713 ${item.agent}/${item.filePath}`), chalk.gray("removed from this device"));
191
+ }
192
+ else {
193
+ await getClient().configs.delete(item.id);
194
+ if (localPath && existsSync(localPath)) {
195
+ rmSync(localPath);
196
+ }
197
+ await getClient().configs.ack({
198
+ device_id: deviceID,
199
+ configs: [
200
+ {
201
+ agent: item.agent,
202
+ file_path: item.filePath,
203
+ scope: item.scope,
204
+ version: item.version + 1,
205
+ local_path: localPath ?? undefined,
206
+ deleted: true,
207
+ },
208
+ ],
209
+ });
210
+ console.log(chalk.green(` \u2713 ${item.agent}/${item.filePath}`), chalk.gray("deleted everywhere"));
211
+ }
153
212
  deleted++;
154
213
  }
155
214
  catch (err) {
156
215
  console.log(chalk.red(` \u2717 ${item.agent}/${item.filePath}`), chalk.gray(err.message));
157
216
  }
158
217
  }
159
- console.log(chalk.gray(`\n ${deleted} config${deleted > 1 ? "s" : ""} deleted.\n`));
218
+ console.log(chalk.gray(mode === "e"
219
+ ? `\n ${deleted} config${deleted > 1 ? "s" : ""} deleted everywhere.\n`
220
+ : `\n ${deleted} config${deleted > 1 ? "s" : ""} removed from this device.\n`));
160
221
  }
161
222
  function formatAge(dateStr) {
162
223
  const ms = Date.now() - new Date(dateStr).getTime();
@@ -312,6 +373,97 @@ function guessCategory(path) {
312
373
  return "reference/config";
313
374
  return "daily/note";
314
375
  }
376
+ export function resolveAgentConfigWritePath(agent, filePath, scope, options = {}) {
377
+ const cwd = options.cwd ?? process.cwd();
378
+ const home = options.home ?? homedir();
379
+ const currentProjectScope = options.currentProjectScope ?? getProjectScope(cwd);
380
+ const normalizedFilePath = normalizeFilePath(filePath);
381
+ if (scope === "global") {
382
+ switch (agent) {
383
+ case "claude-code":
384
+ return join(home, ".claude", normalizedFilePath);
385
+ case "codex":
386
+ return join(home, ".codex", normalizedFilePath);
387
+ case "gemini":
388
+ return join(home, ".gemini", normalizedFilePath);
389
+ case "openclaw":
390
+ return join(home, ".openclaw", normalizedFilePath);
391
+ case "opencode":
392
+ return join(home, ".opencode", normalizedFilePath);
393
+ default:
394
+ return null;
395
+ }
396
+ }
397
+ if (!scope.startsWith("project:") || scope !== currentProjectScope) {
398
+ return null;
399
+ }
400
+ switch (agent) {
401
+ case "claude-code":
402
+ if (normalizedFilePath === "CLAUDE.md" ||
403
+ normalizedFilePath === "MEMORY.md") {
404
+ return join(cwd, ".claude", normalizedFilePath);
405
+ }
406
+ if (normalizedFilePath.startsWith(".claude/")) {
407
+ return join(cwd, normalizedFilePath);
408
+ }
409
+ if (normalizedFilePath.startsWith("memory/")) {
410
+ const projectDir = options.findClaudeProjectDir?.(scope);
411
+ if (projectDir) {
412
+ return join(projectDir, normalizedFilePath);
413
+ }
414
+ const mangledCwd = cwd.replace(/\//g, "-");
415
+ return join(home, ".claude", "projects", mangledCwd, normalizedFilePath);
416
+ }
417
+ return null;
418
+ case "cursor":
419
+ if (normalizedFilePath === ".cursorrules" ||
420
+ normalizedFilePath.startsWith(".cursor/")) {
421
+ return join(cwd, normalizedFilePath);
422
+ }
423
+ return null;
424
+ case "codex":
425
+ if (normalizedFilePath === "instructions.md") {
426
+ return join(cwd, ".codex", "instructions.md");
427
+ }
428
+ if (normalizedFilePath.startsWith(".codex/")) {
429
+ return join(cwd, normalizedFilePath);
430
+ }
431
+ return null;
432
+ case "gemini":
433
+ if (normalizedFilePath === "GEMINI.md") {
434
+ return join(cwd, "GEMINI.md");
435
+ }
436
+ return null;
437
+ case "copilot":
438
+ if (normalizedFilePath === "copilot-instructions.md") {
439
+ return join(cwd, ".github", "copilot-instructions.md");
440
+ }
441
+ if (normalizedFilePath.startsWith(".github/")) {
442
+ return join(cwd, normalizedFilePath);
443
+ }
444
+ return null;
445
+ case "windsurf":
446
+ if (normalizedFilePath === ".windsurfrules" ||
447
+ normalizedFilePath.startsWith(".windsurf/")) {
448
+ return join(cwd, normalizedFilePath);
449
+ }
450
+ return null;
451
+ case "opencode":
452
+ if (normalizedFilePath.startsWith(".opencode/")) {
453
+ return join(cwd, normalizedFilePath);
454
+ }
455
+ return join(cwd, ".opencode", normalizedFilePath);
456
+ case "generic":
457
+ if (normalizedFilePath === "AGENTS.md" ||
458
+ normalizedFilePath === "CLAUDE.md" ||
459
+ normalizedFilePath === "GEMINI.md") {
460
+ return join(cwd, normalizedFilePath);
461
+ }
462
+ return null;
463
+ default:
464
+ return null;
465
+ }
466
+ }
315
467
  function discoverAgentConfigs() {
316
468
  const home = homedir();
317
469
  const cwd = process.cwd();
@@ -448,6 +600,11 @@ function discoverAgentConfigs() {
448
600
  }
449
601
  async function syncAgentMemory(options = {}) {
450
602
  console.log(chalk.bold("\n Memax Config Sync\n"));
603
+ const projectScopeResolution = resolveProjectScope();
604
+ if (projectScopeResolution.warning) {
605
+ console.log(chalk.yellow(` Warning: ${projectScopeResolution.warning}`));
606
+ console.log(chalk.gray(" Using .memax.yml project_id as the canonical project identity.\n"));
607
+ }
451
608
  // Discover local config files
452
609
  const locations = discoverAgentConfigs();
453
610
  const localConfigs = [];
@@ -474,6 +631,7 @@ async function syncAgentMemory(options = {}) {
474
631
  }
475
632
  }
476
633
  const isBootstrap = localConfigs.length === 0;
634
+ const deviceID = getOrCreateDeviceID();
477
635
  if (isBootstrap) {
478
636
  console.log(chalk.gray(" No local agent configs found. Checking cloud for backups...\n"));
479
637
  }
@@ -487,32 +645,36 @@ async function syncAgentMemory(options = {}) {
487
645
  scope: c.loc.scope,
488
646
  content_hash: c.hash,
489
647
  updated_at: c.updatedAt,
648
+ local_path: c.loc.path,
490
649
  }));
491
650
  let actions;
492
651
  try {
493
- const plan = await getClient().configs.sync(manifest);
652
+ const plan = await getClient().configs.sync({
653
+ device_id: deviceID,
654
+ configs: manifest,
655
+ });
494
656
  actions = plan.actions;
495
657
  }
496
658
  catch (err) {
497
659
  console.error(chalk.red(` Sync failed: ${err.message}\n`));
498
660
  return;
499
661
  }
500
- // Force modes override the plan
662
+ // Force modes: resolve conflicts in one direction.
663
+ // Only convert "conflict" actions — one-sided actions (local_only push,
664
+ // cloud_only pull) stay as-is since converting them is invalid:
665
+ // push→pull with no config_id = nothing to download
666
+ // pull→push with no local file = nothing to upload
501
667
  if (options.push) {
502
- actions = actions.map((a) => a.action === "pull" || a.action === "conflict"
503
- ? { ...a, action: "push" }
504
- : a);
668
+ actions = actions.map((a) => a.action === "conflict" ? { ...a, action: "push" } : a);
505
669
  }
506
670
  else if (options.pull) {
507
- actions = actions.map((a) => a.action === "push" || a.action === "conflict"
508
- ? { ...a, action: "pull" }
509
- : a);
671
+ actions = actions.map((a) => a.action === "conflict" ? { ...a, action: "pull" } : a);
510
672
  }
511
673
  // Filter out project-scoped cloud-only configs that don't belong to the
512
674
  // current project. Without this, running `memax sync agents` from ~/
513
675
  // would dump project configs (like .cursorrules from repo X) into the
514
676
  // home directory.
515
- const currentProjectScope = getProjectScope();
677
+ const currentProjectScope = projectScopeResolution.scope;
516
678
  actions = actions.filter((a) => {
517
679
  if (!a.scope.startsWith("project:"))
518
680
  return true; // global → always sync
@@ -540,47 +702,15 @@ async function syncAgentMemory(options = {}) {
540
702
  // Resolve a local write path for any config — even ones not discovered locally.
541
703
  // This enables pulling configs to a brand-new device where agent dirs don't exist yet.
542
704
  const resolveWritePath = (agent, filePath, scope) => {
543
- // First check if we have a known location from local discovery
544
705
  const loc = locByKey.get(`${agent}|${filePath}|${scope}`);
545
706
  if (loc)
546
707
  return loc.path;
547
- const home = homedir();
548
- // Global configs: reconstruct from agent dir + filePath
549
- if (scope === "global") {
550
- const agentDirs = {
551
- "claude-code": join(home, ".claude"),
552
- cursor: join(home, ".cursor"),
553
- codex: join(home, ".codex"),
554
- gemini: join(home, ".gemini"),
555
- copilot: join(home, ".copilot"),
556
- windsurf: join(home, ".windsurf"),
557
- openclaw: join(home, ".openclaw"),
558
- opencode: join(home, ".opencode"),
559
- };
560
- const dir = agentDirs[agent];
561
- if (dir)
562
- return join(dir, filePath);
563
- }
564
- // Project-scoped configs — ONLY write if we're in the matching project.
565
- // This is the safety net: never write project files to the wrong directory.
566
- if (scope.startsWith("project")) {
567
- // Verify this scope matches the current project
568
- if (scope !== "project" && scope !== currentProjectScope) {
569
- return null; // Wrong project — refuse to write
570
- }
571
- // Claude per-project memories: filePath like "memory/feedback.md"
572
- if (agent === "claude-code" && filePath.startsWith("memory/")) {
573
- const projectDir = findClaudeProjectDir(scope);
574
- if (projectDir)
575
- return join(projectDir, filePath);
576
- // Fallback: use mangled cwd path
577
- const mangledCwd = process.cwd().replace(/\//g, "-");
578
- return join(home, ".claude", "projects", mangledCwd, filePath);
579
- }
580
- // Regular project configs: write relative to cwd
581
- return join(process.cwd(), filePath);
582
- }
583
- return null;
708
+ return resolveAgentConfigWritePath(agent, filePath, scope, {
709
+ cwd: process.cwd(),
710
+ home: homedir(),
711
+ currentProjectScope,
712
+ findClaudeProjectDir,
713
+ });
584
714
  };
585
715
  /**
586
716
  * Find the local ~/.claude/projects/<mangled> directory that corresponds
@@ -607,9 +737,11 @@ async function syncAgentMemory(options = {}) {
607
737
  // Execute sync plan
608
738
  let pushed = 0;
609
739
  let pulled = 0;
740
+ let deletedLocal = 0;
610
741
  let unchangedCount = 0;
611
742
  let skipped = 0;
612
743
  let errors = 0;
744
+ const ackConfigs = [];
613
745
  // Group actions by agent for display
614
746
  const byAgent = new Map();
615
747
  for (const action of actions) {
@@ -622,7 +754,18 @@ async function syncAgentMemory(options = {}) {
622
754
  for (const action of agentActions) {
623
755
  const key = `${action.agent}|${action.file_path}|${action.scope}`;
624
756
  if (action.action === "unchanged") {
757
+ const local = localByKey.get(key);
625
758
  console.log(chalk.gray(` = ${action.file_path}`), chalk.gray("unchanged"));
759
+ if (local && action.version) {
760
+ ackConfigs.push({
761
+ agent: action.agent,
762
+ file_path: action.file_path,
763
+ scope: action.scope,
764
+ content_hash: local.hash,
765
+ version: action.version,
766
+ local_path: local.loc.path,
767
+ });
768
+ }
626
769
  unchangedCount++;
627
770
  continue;
628
771
  }
@@ -639,6 +782,8 @@ async function syncAgentMemory(options = {}) {
639
782
  file_path: action.file_path,
640
783
  scope: action.scope,
641
784
  content: local.content,
785
+ device_id: deviceID,
786
+ local_path: local.loc.path,
642
787
  });
643
788
  console.log(chalk.green(` \u2191 ${action.file_path}`), chalk.gray(action.reason === "local_only"
644
789
  ? "pushing (new)"
@@ -682,6 +827,16 @@ async function syncAgentMemory(options = {}) {
682
827
  const config = await getClient().configs.get(action.config_id);
683
828
  mkdirSync(dirname(writePath), { recursive: true });
684
829
  writeFileSync(writePath, config.content);
830
+ if (action.version) {
831
+ ackConfigs.push({
832
+ agent: action.agent,
833
+ file_path: action.file_path,
834
+ scope: action.scope,
835
+ content_hash: config.content_hash,
836
+ version: action.version,
837
+ local_path: writePath,
838
+ });
839
+ }
685
840
  console.log(chalk.cyan(` \u2193 ${action.file_path}`), chalk.gray(isNewLocally ? "restored" : "pulling (cloud newer)"));
686
841
  pulled++;
687
842
  }
@@ -691,6 +846,31 @@ async function syncAgentMemory(options = {}) {
691
846
  }
692
847
  continue;
693
848
  }
849
+ if (action.action === "delete_local") {
850
+ try {
851
+ const writePath = resolveWritePath(action.agent, action.file_path, action.scope);
852
+ if (writePath && existsSync(writePath)) {
853
+ rmSync(writePath);
854
+ }
855
+ if (action.version) {
856
+ ackConfigs.push({
857
+ agent: action.agent,
858
+ file_path: action.file_path,
859
+ scope: action.scope,
860
+ version: action.version,
861
+ local_path: writePath ?? undefined,
862
+ deleted: true,
863
+ });
864
+ }
865
+ console.log(chalk.yellow(` - ${action.file_path}`), chalk.gray("deleted locally (cloud removed everywhere)"));
866
+ deletedLocal++;
867
+ }
868
+ catch (err) {
869
+ console.log(chalk.red(` \u2717 ${action.file_path}`), chalk.gray(err.message));
870
+ errors++;
871
+ }
872
+ continue;
873
+ }
694
874
  if (action.action === "conflict") {
695
875
  const resolution = await promptConflict(agent, action.file_path);
696
876
  if (resolution === "local") {
@@ -702,6 +882,8 @@ async function syncAgentMemory(options = {}) {
702
882
  file_path: action.file_path,
703
883
  scope: action.scope,
704
884
  content: local.content,
885
+ device_id: deviceID,
886
+ local_path: local.loc.path,
705
887
  });
706
888
  console.log(chalk.green(` \u2191 ${action.file_path}`), chalk.gray("kept local"));
707
889
  pushed++;
@@ -719,6 +901,16 @@ async function syncAgentMemory(options = {}) {
719
901
  const config = await getClient().configs.get(action.config_id);
720
902
  mkdirSync(dirname(writePath), { recursive: true });
721
903
  writeFileSync(writePath, config.content);
904
+ if (action.version) {
905
+ ackConfigs.push({
906
+ agent: action.agent,
907
+ file_path: action.file_path,
908
+ scope: action.scope,
909
+ content_hash: config.content_hash,
910
+ version: action.version,
911
+ local_path: writePath,
912
+ });
913
+ }
722
914
  console.log(chalk.cyan(` \u2193 ${action.file_path}`), chalk.gray("used cloud"));
723
915
  pulled++;
724
916
  }
@@ -748,6 +940,8 @@ async function syncAgentMemory(options = {}) {
748
940
  file_path: action.file_path,
749
941
  scope: action.scope,
750
942
  content: merged,
943
+ device_id: deviceID,
944
+ local_path: writePath ?? undefined,
751
945
  });
752
946
  console.log(chalk.magenta(` \u2194 ${action.file_path}`), chalk.gray("merged (LLM)"));
753
947
  pushed++;
@@ -769,6 +963,17 @@ async function syncAgentMemory(options = {}) {
769
963
  }
770
964
  }
771
965
  }
966
+ if (ackConfigs.length > 0) {
967
+ try {
968
+ await getClient().configs.ack({
969
+ device_id: deviceID,
970
+ configs: ackConfigs,
971
+ });
972
+ }
973
+ catch (err) {
974
+ console.log(chalk.yellow("\n Warning: failed to persist sync state"), chalk.gray(err.message));
975
+ }
976
+ }
772
977
  // Summary
773
978
  if (pushed === 0 &&
774
979
  pulled === 0 &&
@@ -783,6 +988,8 @@ async function syncAgentMemory(options = {}) {
783
988
  parts.push(`${pushed} pushed`);
784
989
  if (pulled > 0)
785
990
  parts.push(`${pulled} restored`);
991
+ if (deletedLocal > 0)
992
+ parts.push(`${deletedLocal} deleted locally`);
786
993
  if (unchangedCount > 0)
787
994
  parts.push(`${unchangedCount} unchanged`);
788
995
  if (skipped > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sync.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.test.d.ts","sourceRoot":"","sources":["../../src/commands/sync.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { join } from "node:path";
2
+ import { describe, expect, it } from "vitest";
3
+ import { resolveAgentConfigWritePath } from "./sync.js";
4
+ describe("resolveAgentConfigWritePath", () => {
5
+ const cwd = "/workspaces/memax";
6
+ const home = "/home/tester";
7
+ const scope = "project:github.com/memaxlabs/memax";
8
+ it("resolves Claude project config into .claude", () => {
9
+ expect(resolveAgentConfigWritePath("claude-code", "CLAUDE.md", scope, {
10
+ cwd,
11
+ home,
12
+ currentProjectScope: scope,
13
+ })).toBe(join(cwd, ".claude", "CLAUDE.md"));
14
+ });
15
+ it("resolves Codex project config into .codex", () => {
16
+ expect(resolveAgentConfigWritePath("codex", "instructions.md", scope, {
17
+ cwd,
18
+ home,
19
+ currentProjectScope: scope,
20
+ })).toBe(join(cwd, ".codex", "instructions.md"));
21
+ });
22
+ it("resolves Copilot project config into .github", () => {
23
+ expect(resolveAgentConfigWritePath("copilot", "copilot-instructions.md", scope, {
24
+ cwd,
25
+ home,
26
+ currentProjectScope: scope,
27
+ })).toBe(join(cwd, ".github", "copilot-instructions.md"));
28
+ });
29
+ it("resolves OpenCode project files into .opencode", () => {
30
+ expect(resolveAgentConfigWritePath("opencode", "identity.md", scope, {
31
+ cwd,
32
+ home,
33
+ currentProjectScope: scope,
34
+ })).toBe(join(cwd, ".opencode", "identity.md"));
35
+ });
36
+ it("resolves Claude per-project memory files via project dir locator", () => {
37
+ expect(resolveAgentConfigWritePath("claude-code", "memory/feedback.md", scope, {
38
+ cwd,
39
+ home,
40
+ currentProjectScope: scope,
41
+ findClaudeProjectDir: () => "/home/tester/.claude/projects/-workspaces-memax",
42
+ })).toBe("/home/tester/.claude/projects/-workspaces-memax/memory/feedback.md");
43
+ });
44
+ it("refuses to resolve project-scoped files for a different project", () => {
45
+ expect(resolveAgentConfigWritePath("codex", "instructions.md", scope, {
46
+ cwd,
47
+ home,
48
+ currentProjectScope: "project:github.com/other/repo",
49
+ })).toBeNull();
50
+ });
51
+ it("resolves global Claude config under ~/.claude", () => {
52
+ expect(resolveAgentConfigWritePath("claude-code", "CLAUDE.md", "global", {
53
+ cwd,
54
+ home,
55
+ currentProjectScope: scope,
56
+ })).toBe(join(home, ".claude", "CLAUDE.md"));
57
+ });
58
+ });
59
+ //# sourceMappingURL=sync.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.test.js","sourceRoot":"","sources":["../../src/commands/sync.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,GAAG,GAAG,mBAAmB,CAAC;IAChC,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,KAAK,GAAG,oCAAoC,CAAC;IAEnD,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CACJ,2BAA2B,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE;YAC7D,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CACJ,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE;YAC7D,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CACJ,2BAA2B,CAAC,SAAS,EAAE,yBAAyB,EAAE,KAAK,EAAE;YACvE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CACJ,2BAA2B,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;YAC5D,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CACJ,2BAA2B,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,EAAE;YACtE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,GAAG,EAAE,CACzB,iDAAiD;SACpD,CAAC,CACH,CAAC,IAAI,CACJ,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CACJ,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE;YAC7D,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,+BAA+B;SACrD,CAAC,CACH,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CACJ,2BAA2B,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE;YAChE,GAAG;YACH,IAAI;YACJ,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,8 +3,10 @@ export interface MemaxConfig {
3
3
  default_hub: string;
4
4
  default_boundary: string;
5
5
  auto_categorize: boolean;
6
+ device_id?: string;
6
7
  }
7
8
  export declare function getConfigDir(): string;
8
9
  export declare function loadConfig(): MemaxConfig;
9
10
  export declare function saveConfig(config: Partial<MemaxConfig>): void;
11
+ export declare function getOrCreateDeviceID(): string;
10
12
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B;AASD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,UAAU,IAAI,WAAW,CAgBxC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAiB7D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,UAAU,IAAI,WAAW,CAgBxC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAiB7D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAQ5C"}
@@ -1,6 +1,7 @@
1
1
  import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
+ import { randomUUID } from "node:crypto";
4
5
  const CONFIG_DIR = join(homedir(), ".memax");
5
6
  const CONFIG_FILE = join(CONFIG_DIR, "config.json");
6
7
  const DEFAULT_CONFIG = {
@@ -46,4 +47,13 @@ export function saveConfig(config) {
46
47
  const merged = { ...existing, ...config };
47
48
  writeFileSync(CONFIG_FILE, JSON.stringify(merged, null, 2) + "\n");
48
49
  }
50
+ export function getOrCreateDeviceID() {
51
+ const config = loadConfig();
52
+ if (config.device_id && config.device_id.trim()) {
53
+ return config.device_id;
54
+ }
55
+ const deviceID = randomUUID();
56
+ saveConfig({ device_id: deviceID });
57
+ return deviceID;
58
+ }
49
59
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AASpD,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,uBAAuB;IAChC,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,+BAA+B;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAEzC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,MAAM;YAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAA4B;IACrD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,IAAI,QAAQ,GAAG,cAAc,CAAC;IAC9B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,QAAQ,GAAG;gBACT,GAAG,cAAc;gBACjB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;aAClD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAUpD,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,uBAAuB;IAChC,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,+BAA+B;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAEzC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,MAAM;YAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAA4B;IACrD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,IAAI,QAAQ,GAAG,cAAc,CAAC;IAC9B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,QAAQ,GAAG;gBACT,GAAG,cAAc;gBACjB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;aAClD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -7,15 +7,25 @@
7
7
  * - ssh://git@github.com/MemaxLabs/memax
8
8
  */
9
9
  export declare function normalizeRepoUrl(url: string): string;
10
+ export interface MemaxYmlConfig {
11
+ hub?: string;
12
+ project_id?: string;
13
+ }
14
+ export interface ProjectScopeResolution {
15
+ scope: string;
16
+ source: "memax_yml" | "git_remote" | "fallback";
17
+ warning?: string;
18
+ }
19
+ export declare function readMemaxYmlConfig(dir?: string): MemaxYmlConfig | undefined;
10
20
  /**
11
21
  * Get a canonical project scope string for the given directory.
12
22
  *
13
23
  * Returns:
14
- * "project:<normalized-repo-url>" — git remote available (best)
15
- * "project:<dirname>" git repo but no remote
16
- * "project" — no git at all (legacy fallback)
24
+ * "project:<project-id>" .memax.yml project_id or git remote available
25
+ * "project" no canonical cross-device project identity
17
26
  */
18
27
  export declare function getProjectScope(dir?: string): string;
28
+ export declare function resolveProjectScope(dir?: string): ProjectScopeResolution;
19
29
  /**
20
30
  * Resolve a Claude Code mangled project folder name to a normalized repo URL.
21
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.d.ts","sourceRoot":"","sources":["../../src/lib/project-context.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBpD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc7E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB7D;AAED,gEAAgE;AAChE,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAiBpD"}
1
+ {"version":3,"file":"project-context.d.ts","sourceRoot":"","sources":["../../src/lib/project-context.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBpD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2BD,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CA0B3E;AAiBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,sBAAsB,CA4BxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB7D;AAED,gEAAgE;AAChE,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD"}
@@ -29,40 +29,105 @@ export function normalizeRepoUrl(url) {
29
29
  s = s.toLowerCase().replace(/\\/g, "/");
30
30
  return s;
31
31
  }
32
- /**
33
- * Get a canonical project scope string for the given directory.
34
- *
35
- * Returns:
36
- * "project:<normalized-repo-url>" — git remote available (best)
37
- * "project:<dirname>" — git repo but no remote
38
- * "project" — no git at all (legacy fallback)
39
- */
40
- export function getProjectScope(dir) {
32
+ function normalizeProjectID(projectID) {
33
+ let s = projectID.trim();
34
+ s = s.replace(/^project:/, "");
35
+ s = normalizeRepoUrl(s);
36
+ if (!s || /\s/.test(s)) {
37
+ throw new Error("invalid project_id");
38
+ }
39
+ return s;
40
+ }
41
+ function findNearestMemaxYml(startDir) {
42
+ let dir = startDir;
43
+ const root = "/";
44
+ while (true) {
45
+ const ymlPath = join(dir, ".memax.yml");
46
+ if (existsSync(ymlPath)) {
47
+ return ymlPath;
48
+ }
49
+ const parent = join(dir, "..");
50
+ if (parent === dir || dir === root)
51
+ break;
52
+ dir = parent;
53
+ }
54
+ return null;
55
+ }
56
+ export function readMemaxYmlConfig(dir) {
41
57
  const cwd = dir ?? process.cwd();
58
+ const ymlPath = findNearestMemaxYml(cwd);
59
+ if (!ymlPath) {
60
+ return undefined;
61
+ }
42
62
  try {
43
- const repo = execSync("git remote get-url origin", {
44
- cwd,
45
- encoding: "utf-8",
46
- timeout: 2000,
47
- stdio: ["pipe", "pipe", "pipe"],
48
- }).trim();
49
- if (repo)
50
- return `project:${normalizeRepoUrl(repo)}`;
63
+ const content = readFileSync(ymlPath, "utf-8");
64
+ const hubMatch = content.match(/^hub:\s*(.+)$/m);
65
+ const projectMatch = content.match(/^project_id:\s*(.+)$/m);
66
+ const cfg = {};
67
+ if (hubMatch) {
68
+ cfg.hub = hubMatch[1].trim();
69
+ }
70
+ if (projectMatch) {
71
+ cfg.project_id = normalizeProjectID(projectMatch[1].trim());
72
+ }
73
+ if (!cfg.hub && !cfg.project_id) {
74
+ return undefined;
75
+ }
76
+ return cfg;
51
77
  }
52
- catch { }
78
+ catch {
79
+ return undefined;
80
+ }
81
+ }
82
+ function getGitOriginProjectID(cwd) {
53
83
  try {
54
- const root = execSync("git rev-parse --show-toplevel", {
84
+ const repo = execSync("git remote get-url origin", {
55
85
  cwd,
56
86
  encoding: "utf-8",
57
87
  timeout: 2000,
58
88
  stdio: ["pipe", "pipe", "pipe"],
59
89
  }).trim();
60
- const name = root.split("/").pop();
61
- if (name)
62
- return `project:${name.toLowerCase()}`;
90
+ if (repo) {
91
+ return normalizeRepoUrl(repo);
92
+ }
63
93
  }
64
94
  catch { }
65
- return "project";
95
+ return undefined;
96
+ }
97
+ /**
98
+ * Get a canonical project scope string for the given directory.
99
+ *
100
+ * Returns:
101
+ * "project:<project-id>" — .memax.yml project_id or git remote available
102
+ * "project" — no canonical cross-device project identity
103
+ */
104
+ export function getProjectScope(dir) {
105
+ return resolveProjectScope(dir).scope;
106
+ }
107
+ export function resolveProjectScope(dir) {
108
+ const cwd = dir ?? process.cwd();
109
+ const memaxCfg = readMemaxYmlConfig(cwd);
110
+ const gitProjectID = getGitOriginProjectID(cwd);
111
+ if (memaxCfg?.project_id) {
112
+ const warning = gitProjectID && gitProjectID !== memaxCfg.project_id
113
+ ? `.memax.yml project_id (${memaxCfg.project_id}) overrides git origin (${gitProjectID})`
114
+ : undefined;
115
+ return {
116
+ scope: `project:${memaxCfg.project_id}`,
117
+ source: "memax_yml",
118
+ warning,
119
+ };
120
+ }
121
+ if (gitProjectID) {
122
+ return {
123
+ scope: `project:${gitProjectID}`,
124
+ source: "git_remote",
125
+ };
126
+ }
127
+ return {
128
+ scope: "project",
129
+ source: "fallback",
130
+ };
66
131
  }
67
132
  /**
68
133
  * Resolve a Claude Code mangled project folder name to a normalized repo URL.
@@ -78,18 +143,11 @@ export function resolveClaudeProjectFolder(mangledName) {
78
143
  const absolutePath = mangledName.replace(/-/g, "/");
79
144
  if (!existsSync(absolutePath))
80
145
  return null;
81
- try {
82
- const repo = execSync("git remote get-url origin", {
83
- cwd: absolutePath,
84
- encoding: "utf-8",
85
- timeout: 2000,
86
- stdio: ["pipe", "pipe", "pipe"],
87
- }).trim();
88
- if (repo)
89
- return normalizeRepoUrl(repo);
146
+ const resolution = resolveProjectScope(absolutePath);
147
+ if (resolution.scope === "project") {
148
+ return null;
90
149
  }
91
- catch { }
92
- return null;
150
+ return resolution.scope.replace(/^project:/, "");
93
151
  }
94
152
  /**
95
153
  * Normalize a file path for cross-platform consistency.
@@ -134,24 +192,6 @@ export function detectProjectContext() {
134
192
  }
135
193
  /** Walk up from cwd looking for .memax.yml with a hub field. */
136
194
  export function readMemaxYmlHub() {
137
- let dir = process.cwd();
138
- const root = "/";
139
- while (true) {
140
- const ymlPath = join(dir, ".memax.yml");
141
- if (existsSync(ymlPath)) {
142
- try {
143
- const content = readFileSync(ymlPath, "utf-8");
144
- const match = content.match(/^hub:\s*(.+)$/m);
145
- if (match)
146
- return match[1].trim();
147
- }
148
- catch { }
149
- }
150
- const parent = join(dir, "..");
151
- if (parent === dir || dir === root)
152
- break;
153
- dir = parent;
154
- }
155
- return undefined;
195
+ return readMemaxYmlConfig()?.hub;
156
196
  }
157
197
  //# sourceMappingURL=project-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/lib/project-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/lib/project-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-context.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-context.test.d.ts","sourceRoot":"","sources":["../../src/lib/project-context.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ const { execSync, existsSync, readFileSync } = vi.hoisted(() => ({
3
+ execSync: vi.fn(),
4
+ existsSync: vi.fn(),
5
+ readFileSync: vi.fn(),
6
+ }));
7
+ vi.mock("node:child_process", () => ({
8
+ execSync,
9
+ }));
10
+ vi.mock("node:fs", async () => {
11
+ const actual = await vi.importActual("node:fs");
12
+ return {
13
+ ...actual,
14
+ existsSync,
15
+ readFileSync,
16
+ };
17
+ });
18
+ import { getProjectScope, normalizeRepoUrl, readMemaxYmlConfig, readMemaxYmlHub, resolveProjectScope, } from "./project-context.js";
19
+ describe("normalizeRepoUrl", () => {
20
+ it("normalizes common git remote forms", () => {
21
+ expect(normalizeRepoUrl("https://github.com/MemaxLabs/memax.git")).toBe("github.com/memaxlabs/memax");
22
+ expect(normalizeRepoUrl("git@github.com:MemaxLabs/memax.git")).toBe("github.com/memaxlabs/memax");
23
+ expect(normalizeRepoUrl("ssh://git@github.com/MemaxLabs/memax")).toBe("github.com/memaxlabs/memax");
24
+ });
25
+ });
26
+ describe("getProjectScope", () => {
27
+ beforeEach(() => {
28
+ execSync.mockReset();
29
+ existsSync.mockReset();
30
+ readFileSync.mockReset();
31
+ existsSync.mockReturnValue(false);
32
+ });
33
+ it("uses the normalized origin remote when present", () => {
34
+ execSync.mockReturnValueOnce("git@github.com:MemaxLabs/memax.git\n");
35
+ expect(getProjectScope("/workspaces/memax")).toBe("project:github.com/memaxlabs/memax");
36
+ });
37
+ it("returns generic project scope when there is no canonical remote", () => {
38
+ execSync.mockImplementation(() => {
39
+ throw new Error("no remote");
40
+ });
41
+ expect(getProjectScope("/workspaces/memax")).toBe("project");
42
+ });
43
+ it("uses .memax.yml project_id as an explicit override", () => {
44
+ existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
45
+ readFileSync.mockReturnValue("project_id: Acme.Internal/Payments-API\n");
46
+ expect(getProjectScope("/workspaces/memax")).toBe("project:acme.internal/payments-api");
47
+ });
48
+ it("reports when .memax.yml project_id overrides git origin", () => {
49
+ existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
50
+ readFileSync.mockReturnValue("project_id: github.com/acme/override\n");
51
+ execSync.mockReturnValueOnce("git@github.com:MemaxLabs/memax.git\n");
52
+ expect(resolveProjectScope("/workspaces/memax")).toEqual({
53
+ scope: "project:github.com/acme/override",
54
+ source: "memax_yml",
55
+ warning: ".memax.yml project_id (github.com/acme/override) overrides git origin (github.com/memaxlabs/memax)",
56
+ });
57
+ });
58
+ });
59
+ describe("readMemaxYmlConfig", () => {
60
+ beforeEach(() => {
61
+ existsSync.mockReset();
62
+ readFileSync.mockReset();
63
+ existsSync.mockReturnValue(false);
64
+ });
65
+ it("parses hub and project_id from .memax.yml", () => {
66
+ existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
67
+ readFileSync.mockReturnValue("hub: team-backend\nproject_id: github.com/MemaxLabs/memax\n");
68
+ expect(readMemaxYmlConfig("/workspaces/memax")).toEqual({
69
+ hub: "team-backend",
70
+ project_id: "github.com/memaxlabs/memax",
71
+ });
72
+ expect(readMemaxYmlHub()).toBe("team-backend");
73
+ });
74
+ });
75
+ //# sourceMappingURL=project-context.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-context.test.js","sourceRoot":"","sources":["../../src/lib/project-context.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memax-cli",
3
- "version": "0.1.0-alpha.25",
3
+ "version": "0.1.0-alpha.27",
4
4
  "description": "CLI for Memax — universal context & memory hub for AI agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,7 +16,7 @@
16
16
  "@modelcontextprotocol/sdk": "^1.12.1",
17
17
  "chalk": "^5.4.0",
18
18
  "commander": "^13.0.0",
19
- "memax-sdk": "^0.1.2"
19
+ "memax-sdk": "^0.1.3"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/node": "^25.5.0",