@rdmind/rdmind 0.0.28-alpha.12 → 0.0.28-alpha.14

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/cli.js CHANGED
@@ -147562,7 +147562,7 @@ function createContentGeneratorConfig(config, authType, generationConfig) {
147562
147562
  };
147563
147563
  }
147564
147564
  async function createContentGenerator(config, gcConfig, sessionId2, isInitialAuth) {
147565
- const version2 = "0.0.28-alpha.12";
147565
+ const version2 = "0.0.28-alpha.14";
147566
147566
  const userAgent2 = `QwenCode/${version2} (${process.platform}; ${process.arch})`;
147567
147567
  const baseHeaders = {
147568
147568
  "User-Agent": userAgent2
@@ -163077,7 +163077,7 @@ var init_coreToolScheduler = __esm({
163077
163077
  (excludedTool) => excludedTool.toLowerCase().trim() === normalizedToolName
163078
163078
  );
163079
163079
  if (excludedMatch) {
163080
- const permissionErrorMessage = `Qwen Code requires permission to use ${excludedMatch}, but that permission was declined.`;
163080
+ const permissionErrorMessage = `RDMind requires permission to use ${excludedMatch}, but that permission was declined.`;
163081
163081
  return {
163082
163082
  status: "error",
163083
163083
  request: reqInfo,
@@ -163184,7 +163184,7 @@ var init_coreToolScheduler = __esm({
163184
163184
  } else {
163185
163185
  const shouldAutoDeny = !this.config.isInteractive() && !this.config.getIdeMode() && !this.config.getExperimentalZedIntegration();
163186
163186
  if (shouldAutoDeny) {
163187
- const errorMessage = `Qwen Code requires permission to use "${reqInfo.name}", but that permission was declined.`;
163187
+ const errorMessage = `RDMind requires permission to use "${reqInfo.name}", but that permission was declined.`;
163188
163188
  this.setStatusInternal(
163189
163189
  reqInfo.callId,
163190
163190
  "error",
@@ -222083,8 +222083,8 @@ var init_git_commit = __esm({
222083
222083
  "packages/core/src/generated/git-commit.ts"() {
222084
222084
  "use strict";
222085
222085
  init_esbuild_shims();
222086
- GIT_COMMIT_INFO = "cb24f2a0";
222087
- CLI_VERSION = "0.0.28-alpha.12";
222086
+ GIT_COMMIT_INFO = "b4320675";
222087
+ CLI_VERSION = "0.0.28-alpha.14";
222088
222088
  }
222089
222089
  });
222090
222090
 
@@ -287534,7 +287534,7 @@ var init_en2 = __esm({
287534
287534
  "to show tool parameter schemas": "to show tool parameter schemas",
287535
287535
  "to hide descriptions": "to hide descriptions",
287536
287536
  "to authenticate with OAuth-enabled servers": "to authenticate with OAuth-enabled servers",
287537
- Press: "Press",
287537
+ "Press key": "Press key",
287538
287538
  "to toggle tool descriptions on/off": "to toggle tool descriptions on/off",
287539
287539
  "Starting OAuth authentication for MCP server '{{name}}'...": "Starting OAuth authentication for MCP server '{{name}}'...",
287540
287540
  "Restarting MCP servers...": "Restarting MCP servers...",
@@ -287551,7 +287551,7 @@ var init_en2 = __esm({
287551
287551
  "open documentation": "open documentation",
287552
287552
  Create: "Create",
287553
287553
  "to customize your interactions with RDMind": "to customize your interactions with RDMind",
287554
- PressEsc: "Press",
287554
+ Press: "Press",
287555
287555
  "twice to clear input,": "twice to clear input,",
287556
287556
  "for new line,": "for new line,",
287557
287557
  "to exit RDMind": "to exit RDMind",
@@ -288387,7 +288387,7 @@ var init_zh = __esm({
288387
288387
  "to show tool parameter schemas": "\u663E\u793A\u5DE5\u5177\u53C2\u6570\u67B6\u6784",
288388
288388
  "to hide descriptions": "\u9690\u85CF\u63CF\u8FF0",
288389
288389
  "to authenticate with OAuth-enabled servers": "\u4F7F\u7528\u652F\u6301 OAuth \u7684\u670D\u52A1\u5668\u8FDB\u884C\u8BA4\u8BC1",
288390
- Press: "\u6309",
288390
+ "Press key": "\u6309",
288391
288391
  "to toggle tool descriptions on/off": "\u5207\u6362\u5DE5\u5177\u63CF\u8FF0\u5F00\u5173",
288392
288392
  "Starting OAuth authentication for MCP server '{{name}}'...": "\u6B63\u5728\u4E3A MCP \u670D\u52A1\u5668 '{{name}}' \u542F\u52A8 OAuth \u8BA4\u8BC1...",
288393
288393
  "Restarting MCP servers...": "\u6B63\u5728\u91CD\u542F MCP \u670D\u52A1\u5668...",
@@ -288404,7 +288404,7 @@ var init_zh = __esm({
288404
288404
  "open documentation": "\u6253\u5F00\u6587\u6863",
288405
288405
  Create: "\u521B\u5EFA",
288406
288406
  "to customize your interactions with RDMind": "\u81EA\u5B9A\u4E49\u4F60\u4E0E RDMind \u7684\u4EA4\u4E92\u65B9\u5F0F",
288407
- PressEsc: "\u4E24\u6B21",
288407
+ Press: "\u6309",
288408
288408
  "twice to clear input,": "\u6E05\u7A7A\u8F93\u5165\u6846\uFF0C",
288409
288409
  "for new line,": "\u6362\u884C\uFF0C",
288410
288410
  "to exit RDMind": "\u9000\u51FARDMind",
@@ -303702,7 +303702,7 @@ async function isL4Repository(workspaceRoot) {
303702
303702
  }
303703
303703
  }
303704
303704
  async function checkRepositoryRiskLevel(gitRepoUrl) {
303705
- const apiUrl = "http://pallas-t12.devops.sl.beta.xiaohongshu.com/pallas/rdmind/cli/repo-risk-level";
303705
+ const apiUrl = "http://pallas.devops.xiaohongshu.com/pallas/rdmind/cli/repo-risk-level";
303706
303706
  try {
303707
303707
  const response = await fetch(
303708
303708
  `${apiUrl}?gitRepoUrl=${encodeURIComponent(gitRepoUrl)}`,
@@ -316022,7 +316022,7 @@ var newCommand = {
316022
316022
  // packages/cli/src/commands/extensions.tsx
316023
316023
  var extensionsCommand = {
316024
316024
  command: "extensions <command>",
316025
- describe: "Manage Qwen Code extensions.",
316025
+ describe: "Manage RDMind extensions.",
316026
316026
  builder: /* @__PURE__ */ __name((yargs) => yargs.command(installCommand).command(uninstallCommand).command(listCommand).command(updateCommand).command(disableCommand).command(enableCommand).command(linkCommand).command(newCommand).demandCommand(1, "You need at least one command before continuing.").version(false), "builder"),
316027
316027
  handler: /* @__PURE__ */ __name(() => {
316028
316028
  }, "handler")
@@ -316291,7 +316291,7 @@ __name(getPackageJson, "getPackageJson");
316291
316291
  // packages/cli/src/utils/version.ts
316292
316292
  async function getCliVersion() {
316293
316293
  const pkgJson = await getPackageJson();
316294
- return "0.0.28-alpha.12";
316294
+ return "0.0.28-alpha.14";
316295
316295
  }
316296
316296
  __name(getCliVersion, "getCliVersion");
316297
316297
 
@@ -320314,7 +320314,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
320314
320314
 
320315
320315
  // packages/cli/src/generated/git-commit.ts
320316
320316
  init_esbuild_shims();
320317
- var GIT_COMMIT_INFO2 = "cb24f2a0";
320317
+ var GIT_COMMIT_INFO2 = "b4320675";
320318
320318
 
320319
320319
  // packages/cli/src/utils/systemInfo.ts
320320
320320
  async function getNpmVersion() {
@@ -322471,7 +322471,7 @@ var ideCommand = /* @__PURE__ */ __name(async () => {
322471
322471
  type: "message",
322472
322472
  messageType: "error",
322473
322473
  content: t2(
322474
- "IDE integration is not supported in your current environment. To use this feature, run Qwen Code in one of these supported IDEs: VS Code or VS Code forks."
322474
+ "IDE integration is not supported in your current environment. To use this feature, run RDMind in one of these supported IDEs: VS Code or VS Code forks."
322475
322475
  )
322476
322476
  }), "action")
322477
322477
  };
@@ -354234,7 +354234,7 @@ var McpStatus = /* @__PURE__ */ __name(({
354234
354234
  /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Text3, { children: [
354235
354235
  " ",
354236
354236
  "- ",
354237
- t2("Press"),
354237
+ t2("Press key"),
354238
354238
  " ",
354239
354239
  /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text3, { color: theme.text.accent, children: "Ctrl+T" }),
354240
354240
  " ",
@@ -354726,7 +354726,7 @@ var Tips = /* @__PURE__ */ __name(({ config }) => {
354726
354726
  /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Text3, { color: theme.text.primary, children: [
354727
354727
  geminiMdFileCount === 0 ? "4." : "3.",
354728
354728
  " ",
354729
- t2("PressEsc"),
354729
+ t2("Press"),
354730
354730
  " ",
354731
354731
  /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Text3, { bold: true, color: theme.text.accent, children: "Esc" }),
354732
354732
  " ",
@@ -355049,7 +355049,7 @@ var FolderTrustDialog = /* @__PURE__ */ __name(({
355049
355049
  children: [
355050
355050
  /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
355051
355051
  /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Text3, { bold: true, color: theme.text.primary, children: "Do you trust this folder?" }),
355052
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Text3, { color: theme.text.primary, children: "Trusting a folder allows Qwen Code to execute commands it suggests. This is a security feature to prevent accidental execution in untrusted directories." })
355052
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Text3, { color: theme.text.primary, children: "Trusting a folder allows RDMind to execute commands it suggests. This is a security feature to prevent accidental execution in untrusted directories." })
355053
355053
  ] }),
355054
355054
  /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
355055
355055
  RadioButtonSelect,
@@ -355062,7 +355062,7 @@ var FolderTrustDialog = /* @__PURE__ */ __name(({
355062
355062
  ]
355063
355063
  }
355064
355064
  ),
355065
- isRestarting && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Box_default, { marginLeft: 1, marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Text3, { color: theme.status.warning, children: "Qwen Code is restarting to apply the trust changes..." }) })
355065
+ isRestarting && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Box_default, { marginLeft: 1, marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Text3, { color: theme.status.warning, children: "RDMind is restarting to apply the trust changes..." }) })
355066
355066
  ] });
355067
355067
  }, "FolderTrustDialog");
355068
355068
 
@@ -357205,12 +357205,12 @@ function WorkspaceMigrationDialog(props) {
357205
357205
  borderColor: theme.border.default,
357206
357206
  padding: 1,
357207
357207
  children: failedExtensions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
357208
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Text3, { color: theme.text.primary, children: "The following extensions failed to migrate. Please try installing them manually. To see other changes, Qwen Code must be restarted. Press 'q' to quit." }),
357208
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Text3, { color: theme.text.primary, children: "The following extensions failed to migrate. Please try installing them manually. To see other changes, RDMind must be restarted. Press 'q' to quit." }),
357209
357209
  /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Box_default, { flexDirection: "column", marginTop: 1, marginLeft: 2, children: failedExtensions.map((failed) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Text3, { children: [
357210
357210
  "- ",
357211
357211
  failed
357212
357212
  ] }, failed)) })
357213
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Text3, { color: theme.text.primary, children: "Migration complete. To see changes, Qwen Code must be restarted. Press 'q' to quit." })
357213
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Text3, { color: theme.text.primary, children: "Migration complete. To see changes, RDMind must be restarted. Press 'q' to quit." })
357214
357214
  }
357215
357215
  );
357216
357216
  }
@@ -369588,6 +369588,8 @@ var WebSocketClient = class {
369588
369588
  reconnectTimer = null;
369589
369589
  heartbeatTimer = null;
369590
369590
  heartbeatTimeoutTimer = null;
369591
+ pluginSyncTimer = null;
369592
+ // 插件同步定时器
369591
369593
  closedByUser = false;
369592
369594
  socketId = null;
369593
369595
  /**
@@ -369604,6 +369606,7 @@ var WebSocketClient = class {
369604
369606
  this.closedByUser = true;
369605
369607
  this.clearReconnectTimer();
369606
369608
  this.clearHeartbeatTimers();
369609
+ this.stopPluginSync();
369607
369610
  if (this.ws && (this.ws.readyState === wrapper_default.OPEN || this.ws.readyState === wrapper_default.CONNECTING)) {
369608
369611
  try {
369609
369612
  this.ws.close(1e3, "client shutdown");
@@ -369639,16 +369642,79 @@ var WebSocketClient = class {
369639
369642
  } else {
369640
369643
  console.info("[ws] connected");
369641
369644
  }
369642
- if (this.options.debug) {
369643
- setDebugMode2(true);
369644
- }
369645
- syncPlugins().catch((error) => {
369646
- console.error("\u63D2\u4EF6\u540C\u6B65\u5931\u8D25:", error);
369647
- });
369648
369645
  if (this.ws && this.options.registrationPayload) {
369649
369646
  this.sendAuth(this.options.registrationPayload);
369650
369647
  }
369651
369648
  this.startHeartbeat();
369649
+ this.startPluginSync();
369650
+ }
369651
+ /**
369652
+ * 启动插件同步定时器
369653
+ */
369654
+ startPluginSync() {
369655
+ this.stopPluginSync();
369656
+ this.pluginSyncTimer = setInterval(() => {
369657
+ this.performPluginSync();
369658
+ }, 3e3);
369659
+ }
369660
+ /**
369661
+ * 停止插件同步定时器
369662
+ */
369663
+ stopPluginSync() {
369664
+ if (this.pluginSyncTimer) {
369665
+ clearInterval(this.pluginSyncTimer);
369666
+ this.pluginSyncTimer = null;
369667
+ }
369668
+ }
369669
+ /**
369670
+ * 执行插件同步
369671
+ */
369672
+ async performPluginSync() {
369673
+ const ssoLoggedIn = this.isSSOLoggedIn();
369674
+ if (ssoLoggedIn) {
369675
+ if (this.options.debug) {
369676
+ console.debug("[ws] \u6267\u884C\u63D2\u4EF6\u540C\u6B65");
369677
+ console.debug("[ws] - SSO\u767B\u5F55\u72B6\u6001:", ssoLoggedIn);
369678
+ }
369679
+ if (this.options.debug) {
369680
+ setDebugMode2(true);
369681
+ }
369682
+ syncPlugins().catch((error) => {
369683
+ console.error("\u63D2\u4EF6\u540C\u6B65\u5931\u8D25:", error);
369684
+ });
369685
+ } else if (this.options.debug) {
369686
+ console.debug("[ws] \u63D2\u4EF6\u540C\u6B65\u6761\u4EF6\u5C1A\u672A\u6EE1\u8DB3");
369687
+ console.debug("[ws] - SSO\u767B\u5F55\u72B6\u6001:", ssoLoggedIn);
369688
+ }
369689
+ }
369690
+ onClose(code2, reason) {
369691
+ if (this.options.debug) {
369692
+ console.debug(
369693
+ `[ws] closed code=${code2} reason=${reason.toString("utf8")}`
369694
+ );
369695
+ }
369696
+ this.clearHeartbeatTimers();
369697
+ this.stopPluginSync();
369698
+ this.socketId = null;
369699
+ setSocketId(null);
369700
+ this.ws = null;
369701
+ if (!this.closedByUser) {
369702
+ this.scheduleReconnect();
369703
+ }
369704
+ }
369705
+ /**
369706
+ * 检查SSO凭证文件是否存在
369707
+ */
369708
+ isSSOLoggedIn() {
369709
+ try {
369710
+ const credsPath = path114.join(os43.homedir(), ".rdmind", "xhs_sso_creds.json");
369711
+ return fs100.existsSync(credsPath);
369712
+ } catch (err) {
369713
+ if (this.options.debug) {
369714
+ console.debug("[ws] \u68C0\u67E5SSO\u767B\u5F55\u72B6\u6001\u65F6\u51FA\u9519:", err);
369715
+ }
369716
+ return false;
369717
+ }
369652
369718
  }
369653
369719
  /**
369654
369720
  * 发送 auth 请求
@@ -369834,20 +369900,6 @@ var WebSocketClient = class {
369834
369900
  console.warn("[ws] error");
369835
369901
  }
369836
369902
  }
369837
- onClose(code2, reason) {
369838
- if (this.options.debug) {
369839
- console.debug(
369840
- `[ws] closed code=${code2} reason=${reason.toString("utf8")}`
369841
- );
369842
- }
369843
- this.clearHeartbeatTimers();
369844
- this.socketId = null;
369845
- setSocketId(null);
369846
- this.ws = null;
369847
- if (!this.closedByUser) {
369848
- this.scheduleReconnect();
369849
- }
369850
- }
369851
369903
  scheduleReconnect() {
369852
369904
  if (this.closedByUser) return;
369853
369905
  this.clearReconnectTimer();
@@ -371994,7 +372046,7 @@ async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs = []) {
371994
372046
  sandboxProcess?.on("close", (code2, signal) => {
371995
372047
  process.stdin.resume();
371996
372048
  if (code2 !== 0 && code2 !== null) {
371997
- console.log(
372049
+ console.error(
371998
372050
  `Sandbox process exited with code: ${code2}, signal: ${signal}`
371999
372051
  );
372000
372052
  }
package/locales/en.js CHANGED
@@ -867,7 +867,7 @@ export default {
867
867
  'to hide descriptions': 'to hide descriptions',
868
868
  'to authenticate with OAuth-enabled servers':
869
869
  'to authenticate with OAuth-enabled servers',
870
- Press: 'Press',
870
+ 'Press key': 'Press key',
871
871
  'to toggle tool descriptions on/off': 'to toggle tool descriptions on/off',
872
872
  "Starting OAuth authentication for MCP server '{{name}}'...":
873
873
  "Starting OAuth authentication for MCP server '{{name}}'...",
@@ -887,7 +887,7 @@ export default {
887
887
  Create: 'Create',
888
888
  'to customize your interactions with RDMind':
889
889
  'to customize your interactions with RDMind',
890
- PressEsc: 'Press',
890
+ Press: 'Press',
891
891
  'twice to clear input,': 'twice to clear input,',
892
892
  'for new line,': 'for new line,',
893
893
  'to exit RDMind': 'to exit RDMind',
package/locales/zh.js CHANGED
@@ -817,7 +817,7 @@ export default {
817
817
  'to hide descriptions': '隐藏描述',
818
818
  'to authenticate with OAuth-enabled servers':
819
819
  '使用支持 OAuth 的服务器进行认证',
820
- Press: '按',
820
+ 'Press key': '按',
821
821
  'to toggle tool descriptions on/off': '切换工具描述开关',
822
822
  "Starting OAuth authentication for MCP server '{{name}}'...":
823
823
  "正在为 MCP 服务器 '{{name}}' 启动 OAuth 认证...",
@@ -837,7 +837,7 @@ export default {
837
837
  Create: '创建',
838
838
  'to customize your interactions with RDMind':
839
839
  '自定义你与 RDMind 的交互方式',
840
- PressEsc: '两次',
840
+ Press: '',
841
841
  'twice to clear input,': '清空输入框,',
842
842
  'for new line,': '换行,',
843
843
  'to exit RDMind': '退出RDMind',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rdmind/rdmind",
3
- "version": "0.0.28-alpha.12",
3
+ "version": "0.0.28-alpha.14",
4
4
  "description": "RDMind - AI-powered coding assistant",
5
5
  "type": "module",
6
6
  "main": "cli.js",
@@ -20,7 +20,7 @@
20
20
  "locales"
21
21
  ],
22
22
  "config": {
23
- "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.0.28-alpha.12"
23
+ "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.0.28-alpha.14"
24
24
  },
25
25
  "publishConfig": {
26
26
  "access": "public"