@xmemo/client 0.4.145 → 0.4.147

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +13 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmemo/client",
3
- "version": "0.4.145",
3
+ "version": "0.4.147",
4
4
  "description": "Privacy-first CLI and MCP setup helper for XMemo.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/cli.js CHANGED
@@ -11,7 +11,7 @@ const PACKAGE_NAME = '@xmemo/client';
11
11
  const FALLBACK_PACKAGE_NAME = '@yonro/xmemo-client';
12
12
  const COMMAND_NAME = 'xmemo';
13
13
  const LEGACY_COMMAND_NAME = 'memory-os';
14
- const CLI_VERSION = '0.4.145';
14
+ const CLI_VERSION = '0.4.147';
15
15
  const DEFAULT_SERVICE_URL = 'https://xmemo.dev';
16
16
  const TOKEN_ENV_VAR = 'XMEMO_KEY';
17
17
  const LEGACY_TOKEN_ENV_VAR = 'MEMORY_OS_MCP_TOKEN';
@@ -373,18 +373,21 @@ async function updateCommand(args, io) {
373
373
  projectFilesModified: false
374
374
  };
375
375
 
376
+ const commandToDisplay = report.command.map(c => c === 'npm.cmd' ? 'npm' : c).join(' ');
377
+
376
378
  if (dryRun) {
377
379
  if (outputJson) {
378
380
  writeLine(io.stdout, JSON.stringify(report, null, 2));
379
381
  } else {
380
- writeLine(io.stdout, `Update command: ${report.command.join(' ')}`);
382
+ writeLine(io.stdout, `Update command: ${commandToDisplay}`);
381
383
  writeLine(io.stdout, 'Dry run only; no changes made.');
382
384
  }
383
385
  return 0;
384
386
  }
385
387
 
386
388
  if (!outputJson) {
387
- writeLine(io.stdout, `Updating ${PACKAGE_NAME} with: ${report.command.join(' ')}`);
389
+ writeLine(io.stdout, `Updating ${PACKAGE_NAME} to the latest version...`);
390
+ writeLine(io.stdout, `Running: ${commandToDisplay}`);
388
391
  }
389
392
  const result = await runProcess(npmCommand, npmArgs, io, { stream: !outputJson });
390
393
  report.exitCode = result.code;
@@ -580,7 +583,7 @@ async function setupCommand(args, io) {
580
583
 
581
584
  if (setupAll) {
582
585
  setupPlan.detectedClients = [];
583
- const scanIds = ['codex', 'cursor', 'copilot-cli', 'gemini-cli', 'antigravity', 'antigravity-ide', 'antigravity2', 'antigravity-cli', 'windsurf', 'cline', 'continue', 'claude-desktop'];
586
+ const scanIds = ['codex', 'cursor', 'copilot-cli', 'gemini-cli', 'antigravity', 'antigravity-ide', 'antigravity2', 'antigravity-cli', 'windsurf', 'cline', 'continue', 'claude-desktop', 'qwen'];
584
587
  for (const scanId of scanIds) {
585
588
  const detection = await detectClient(scanId, io.env);
586
589
  if (detection.detected) {
@@ -1651,6 +1654,10 @@ function mcpConfigTemplate(clientId, mcpUrl) {
1651
1654
  return bearerJsonMcpTemplate(clientId, mcpUrl, claudeJsonConfig(mcpUrl));
1652
1655
  }
1653
1656
 
1657
+ if (clientId === 'qwen') {
1658
+ return bearerJsonMcpTemplate(clientId, mcpUrl, qwenJsonConfig(mcpUrl));
1659
+ }
1660
+
1654
1661
  return {
1655
1662
  client: clientId,
1656
1663
  serverName: MCP_SERVER_NAME,
@@ -2899,7 +2906,7 @@ function supportedMcpClientIds() {
2899
2906
  }
2900
2907
 
2901
2908
  function supportedSetupClientIds() {
2902
- return ['codex', 'cursor', 'copilot', 'gemini', 'antigravity', 'antigravity-ide', 'antigravity2', 'antigravity-cli', 'windsurf', 'cline', 'continue', 'claude'];
2909
+ return ['codex', 'cursor', 'copilot', 'gemini', 'antigravity', 'antigravity-ide', 'antigravity2', 'antigravity-cli', 'windsurf', 'cline', 'continue', 'claude', 'qwen'];
2903
2910
  }
2904
2911
 
2905
2912
  function usesClientOAuth(clientId) {
@@ -3720,7 +3727,7 @@ function defaultQwenConfigPath(env) {
3720
3727
 
3721
3728
  function qwenJsonServerConfig(mcpUrl, identity = envReferenceIdentity('qwen')) {
3722
3729
  return {
3723
- url: mcpUrl,
3730
+ httpUrl: mcpUrl,
3724
3731
  headers: {
3725
3732
  Authorization: `Bearer \${env:${TOKEN_ENV_VAR}}`,
3726
3733
  [AGENT_ID_HEADER]: identity.agentId,