@rdmind/rdmind 0.2.2-alpha.2 → 0.2.2-alpha.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/cli.js +137 -51
- package/locales/en.js +2 -0
- package/locales/zh.js +2 -0
- package/package.json +3 -4
package/cli.js
CHANGED
|
@@ -157359,7 +157359,7 @@ __export(geminiContentGenerator_exports2, {
|
|
|
157359
157359
|
createGeminiContentGenerator: () => createGeminiContentGenerator
|
|
157360
157360
|
});
|
|
157361
157361
|
function createGeminiContentGenerator(config2, gcConfig) {
|
|
157362
|
-
const version2 = "0.2.2-alpha.
|
|
157362
|
+
const version2 = "0.2.2-alpha.3";
|
|
157363
157363
|
const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
|
|
157364
157364
|
const baseHeaders = {
|
|
157365
157365
|
"User-Agent": userAgent2
|
|
@@ -247729,7 +247729,7 @@ var init_config3 = __esm({
|
|
|
247729
247729
|
this.getDebugMode(),
|
|
247730
247730
|
this.getFileService(),
|
|
247731
247731
|
this.getExtensionContextFilePaths(),
|
|
247732
|
-
this.
|
|
247732
|
+
this.isTrustedFolder(),
|
|
247733
247733
|
this.getImportFormat()
|
|
247734
247734
|
);
|
|
247735
247735
|
this.setUserMemory(memoryContent);
|
|
@@ -254755,8 +254755,8 @@ var init_git_commit = __esm({
|
|
|
254755
254755
|
"packages/core/src/generated/git-commit.ts"() {
|
|
254756
254756
|
"use strict";
|
|
254757
254757
|
init_esbuild_shims();
|
|
254758
|
-
GIT_COMMIT_INFO = "
|
|
254759
|
-
CLI_VERSION = "0.2.2-alpha.
|
|
254758
|
+
GIT_COMMIT_INFO = "ebe48cf8a";
|
|
254759
|
+
CLI_VERSION = "0.2.2-alpha.3";
|
|
254760
254760
|
}
|
|
254761
254761
|
});
|
|
254762
254762
|
|
|
@@ -294850,7 +294850,7 @@ var init_settingsSchema = __esm({
|
|
|
294850
294850
|
showInDialog: false,
|
|
294851
294851
|
mergeStrategy: "concat" /* CONCAT */
|
|
294852
294852
|
},
|
|
294853
|
-
|
|
294853
|
+
loadFromIncludeDirectories: {
|
|
294854
294854
|
type: "boolean",
|
|
294855
294855
|
label: "Load Memory From Include Directories",
|
|
294856
294856
|
category: "Context",
|
|
@@ -304481,7 +304481,9 @@ var init_en3 = __esm({
|
|
|
304481
304481
|
"Enable User Feedback": "Enable User Feedback",
|
|
304482
304482
|
"How is Qwen doing this session? (optional)": "How is Qwen doing this session? (optional)",
|
|
304483
304483
|
Bad: "Bad",
|
|
304484
|
+
Fine: "Fine",
|
|
304484
304485
|
Good: "Good",
|
|
304486
|
+
Dismiss: "Dismiss",
|
|
304485
304487
|
"Not Sure Yet": "Not Sure Yet",
|
|
304486
304488
|
"Any other key": "Any other key",
|
|
304487
304489
|
"Disable Loading Phrases": "Disable Loading Phrases",
|
|
@@ -305552,7 +305554,9 @@ var init_zh = __esm({
|
|
|
305552
305554
|
"Enable User Feedback": "\u542F\u7528\u7528\u6237\u53CD\u9988",
|
|
305553
305555
|
"How is Qwen doing this session? (optional)": "Qwen \u8FD9\u6B21\u8868\u73B0\u5982\u4F55\uFF1F\uFF08\u53EF\u9009\uFF09",
|
|
305554
305556
|
Bad: "\u4E0D\u6EE1\u610F",
|
|
305557
|
+
Fine: "\u8FD8\u884C",
|
|
305555
305558
|
Good: "\u6EE1\u610F",
|
|
305559
|
+
Dismiss: "\u5FFD\u7565",
|
|
305556
305560
|
"Not Sure Yet": "\u6682\u4E0D\u8BC4\u4EF7",
|
|
305557
305561
|
"Any other key": "\u4EFB\u610F\u5176\u4ED6\u952E",
|
|
305558
305562
|
"Disable Loading Phrases": "\u7981\u7528\u52A0\u8F7D\u77ED\u8BED",
|
|
@@ -355436,7 +355440,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
355436
355440
|
// packages/cli/src/utils/version.ts
|
|
355437
355441
|
async function getCliVersion() {
|
|
355438
355442
|
const pkgJson = await getPackageJson();
|
|
355439
|
-
return "0.2.2-alpha.
|
|
355443
|
+
return "0.2.2-alpha.3";
|
|
355440
355444
|
}
|
|
355441
355445
|
__name(getCliVersion, "getCliVersion");
|
|
355442
355446
|
|
|
@@ -359968,7 +359972,7 @@ async function loadCliConfig(settings, argv, cwd7 = process.cwd(), overrideExten
|
|
|
359968
359972
|
sandbox: sandboxConfig,
|
|
359969
359973
|
targetDir: cwd7,
|
|
359970
359974
|
includeDirectories,
|
|
359971
|
-
loadMemoryFromIncludeDirectories: settings.context?.
|
|
359975
|
+
loadMemoryFromIncludeDirectories: settings.context?.loadFromIncludeDirectories || false,
|
|
359972
359976
|
importFormat: settings.context?.importFormat || "tree",
|
|
359973
359977
|
debugMode,
|
|
359974
359978
|
question,
|
|
@@ -363251,7 +363255,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
|
|
|
363251
363255
|
|
|
363252
363256
|
// packages/cli/src/generated/git-commit.ts
|
|
363253
363257
|
init_esbuild_shims();
|
|
363254
|
-
var GIT_COMMIT_INFO2 = "
|
|
363258
|
+
var GIT_COMMIT_INFO2 = "ebe48cf8a";
|
|
363255
363259
|
|
|
363256
363260
|
// packages/cli/src/utils/systemInfo.ts
|
|
363257
363261
|
async function getNpmVersion() {
|
|
@@ -373547,6 +373551,7 @@ var ControlContext = class {
|
|
|
373547
373551
|
permissionMode;
|
|
373548
373552
|
sdkMcpServers;
|
|
373549
373553
|
mcpClients;
|
|
373554
|
+
inputClosed;
|
|
373550
373555
|
onInterrupt;
|
|
373551
373556
|
constructor(options2) {
|
|
373552
373557
|
this.config = options2.config;
|
|
@@ -373557,6 +373562,7 @@ var ControlContext = class {
|
|
|
373557
373562
|
this.permissionMode = options2.permissionMode || "default";
|
|
373558
373563
|
this.sdkMcpServers = /* @__PURE__ */ new Set();
|
|
373559
373564
|
this.mcpClients = /* @__PURE__ */ new Map();
|
|
373565
|
+
this.inputClosed = false;
|
|
373560
373566
|
this.onInterrupt = options2.onInterrupt;
|
|
373561
373567
|
}
|
|
373562
373568
|
};
|
|
@@ -373622,6 +373628,9 @@ var BaseController = class {
|
|
|
373622
373628
|
* Respects the provided AbortSignal for cancellation.
|
|
373623
373629
|
*/
|
|
373624
373630
|
async sendControlRequest(payload, timeoutMs = DEFAULT_REQUEST_TIMEOUT_MS, signal) {
|
|
373631
|
+
if (this.context.inputClosed) {
|
|
373632
|
+
throw new Error("Input closed");
|
|
373633
|
+
}
|
|
373625
373634
|
if (signal?.aborted) {
|
|
373626
373635
|
throw new Error("Request aborted");
|
|
373627
373636
|
}
|
|
@@ -374385,16 +374394,19 @@ var PermissionController = class extends BaseController {
|
|
|
374385
374394
|
error2
|
|
374386
374395
|
);
|
|
374387
374396
|
}
|
|
374397
|
+
const errorMessage = error2 instanceof Error ? error2.message : String(error2);
|
|
374388
374398
|
const confirmationType = toolCall.confirmationDetails.type;
|
|
374389
374399
|
if (["edit", "exec", "mcp"].includes(confirmationType)) {
|
|
374390
374400
|
const execOrMcpDetails = toolCall.confirmationDetails;
|
|
374391
|
-
await execOrMcpDetails.onConfirm(
|
|
374392
|
-
|
|
374393
|
-
|
|
374394
|
-
);
|
|
374401
|
+
await execOrMcpDetails.onConfirm("cancel" /* Cancel */, {
|
|
374402
|
+
cancelMessage: `Error: ${errorMessage}`
|
|
374403
|
+
});
|
|
374395
374404
|
} else {
|
|
374396
374405
|
await toolCall.confirmationDetails.onConfirm(
|
|
374397
|
-
"cancel" /* Cancel
|
|
374406
|
+
"cancel" /* Cancel */,
|
|
374407
|
+
{
|
|
374408
|
+
cancelMessage: `Error: ${errorMessage}`
|
|
374409
|
+
}
|
|
374398
374410
|
);
|
|
374399
374411
|
}
|
|
374400
374412
|
} finally {
|
|
@@ -374606,6 +374618,30 @@ var ControlDispatcher = class {
|
|
|
374606
374618
|
}
|
|
374607
374619
|
}
|
|
374608
374620
|
}
|
|
374621
|
+
/**
|
|
374622
|
+
* Marks stdin as closed and rejects all pending outgoing requests.
|
|
374623
|
+
* After this is called, new outgoing requests will be rejected immediately.
|
|
374624
|
+
* This should be called when stdin closes to avoid waiting for responses.
|
|
374625
|
+
*/
|
|
374626
|
+
markInputClosed() {
|
|
374627
|
+
if (this.context.inputClosed) {
|
|
374628
|
+
return;
|
|
374629
|
+
}
|
|
374630
|
+
this.context.inputClosed = true;
|
|
374631
|
+
const requestIds = Array.from(this.pendingOutgoingRequests.keys());
|
|
374632
|
+
if (this.context.debugMode) {
|
|
374633
|
+
console.error(
|
|
374634
|
+
`[ControlDispatcher] Input closed, rejecting ${requestIds.length} pending outgoing requests`
|
|
374635
|
+
);
|
|
374636
|
+
}
|
|
374637
|
+
for (const id of requestIds) {
|
|
374638
|
+
const pending = this.pendingOutgoingRequests.get(id);
|
|
374639
|
+
if (pending) {
|
|
374640
|
+
this.deregisterOutgoingRequest(id);
|
|
374641
|
+
pending.reject(new Error("Input closed"));
|
|
374642
|
+
}
|
|
374643
|
+
}
|
|
374644
|
+
}
|
|
374609
374645
|
/**
|
|
374610
374646
|
* Stops all pending requests and cleans up all controllers
|
|
374611
374647
|
*/
|
|
@@ -374634,7 +374670,7 @@ var ControlDispatcher = class {
|
|
|
374634
374670
|
this.sdkMcpController.cleanup();
|
|
374635
374671
|
}
|
|
374636
374672
|
/**
|
|
374637
|
-
* Registers an incoming request in the pending registry
|
|
374673
|
+
* Registers an incoming request in the pending registry.
|
|
374638
374674
|
*/
|
|
374639
374675
|
registerIncomingRequest(requestId, controller, abortController, timeoutId) {
|
|
374640
374676
|
this.pendingIncomingRequests.set(requestId, {
|
|
@@ -375422,6 +375458,9 @@ var Session2 = class {
|
|
|
375422
375458
|
}
|
|
375423
375459
|
throw streamError;
|
|
375424
375460
|
}
|
|
375461
|
+
if (this.dispatcher) {
|
|
375462
|
+
this.dispatcher.markInputClosed();
|
|
375463
|
+
}
|
|
375425
375464
|
await this.waitForAllPendingWork();
|
|
375426
375465
|
await this.shutdown();
|
|
375427
375466
|
} catch (error2) {
|
|
@@ -405858,27 +405897,32 @@ var import_jsx_runtime95 = __toESM(require_jsx_runtime(), 1);
|
|
|
405858
405897
|
var FEEDBACK_OPTIONS = {
|
|
405859
405898
|
GOOD: 1,
|
|
405860
405899
|
BAD: 2,
|
|
405861
|
-
|
|
405900
|
+
FINE: 3,
|
|
405901
|
+
DISMISS: 0
|
|
405862
405902
|
};
|
|
405863
405903
|
var FEEDBACK_OPTION_KEYS = {
|
|
405864
405904
|
[FEEDBACK_OPTIONS.GOOD]: "1",
|
|
405865
405905
|
[FEEDBACK_OPTIONS.BAD]: "2",
|
|
405866
|
-
[FEEDBACK_OPTIONS.
|
|
405906
|
+
[FEEDBACK_OPTIONS.FINE]: "3",
|
|
405907
|
+
[FEEDBACK_OPTIONS.DISMISS]: "0"
|
|
405867
405908
|
};
|
|
405868
|
-
var FEEDBACK_DIALOG_KEYS = ["1", "2"];
|
|
405909
|
+
var FEEDBACK_DIALOG_KEYS = ["1", "2", "3", "0"];
|
|
405869
405910
|
var FeedbackDialog = /* @__PURE__ */ __name(() => {
|
|
405870
405911
|
const uiState = useUIState();
|
|
405871
405912
|
const uiActions = useUIActions();
|
|
405872
405913
|
useKeypress(
|
|
405873
405914
|
(key) => {
|
|
405874
|
-
if (key.name === FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.
|
|
405875
|
-
uiActions.submitFeedback(FEEDBACK_OPTIONS.GOOD);
|
|
405876
|
-
} else if (key.name === FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.BAD]) {
|
|
405915
|
+
if (key.name === FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.BAD]) {
|
|
405877
405916
|
uiActions.submitFeedback(FEEDBACK_OPTIONS.BAD);
|
|
405917
|
+
} else if (key.name === FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.FINE]) {
|
|
405918
|
+
uiActions.submitFeedback(FEEDBACK_OPTIONS.FINE);
|
|
405919
|
+
} else if (key.name === FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.GOOD]) {
|
|
405920
|
+
uiActions.submitFeedback(FEEDBACK_OPTIONS.GOOD);
|
|
405921
|
+
} else if (key.name === FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.DISMISS]) {
|
|
405922
|
+
uiActions.submitFeedback(FEEDBACK_OPTIONS.DISMISS);
|
|
405878
405923
|
} else {
|
|
405879
|
-
uiActions.
|
|
405924
|
+
uiActions.temporaryCloseFeedbackDialog();
|
|
405880
405925
|
}
|
|
405881
|
-
uiActions.closeFeedbackDialog();
|
|
405882
405926
|
},
|
|
405883
405927
|
{ isActive: uiState.isFeedbackDialogOpen }
|
|
405884
405928
|
);
|
|
@@ -405902,10 +405946,19 @@ var FeedbackDialog = /* @__PURE__ */ __name(() => {
|
|
|
405902
405946
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Text3, { children: t4("Bad") }),
|
|
405903
405947
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Text3, { children: " " }),
|
|
405904
405948
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Text3, { color: "cyan", children: [
|
|
405905
|
-
|
|
405906
|
-
":
|
|
405949
|
+
FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.FINE],
|
|
405950
|
+
":",
|
|
405951
|
+
" "
|
|
405907
405952
|
] }),
|
|
405908
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Text3, { children: t4("
|
|
405953
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Text3, { children: t4("Fine") }),
|
|
405954
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Text3, { children: " " }),
|
|
405955
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Text3, { color: "cyan", children: [
|
|
405956
|
+
FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.DISMISS],
|
|
405957
|
+
":",
|
|
405958
|
+
" "
|
|
405959
|
+
] }),
|
|
405960
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Text3, { children: t4("Dismiss") }),
|
|
405961
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Text3, { children: " " })
|
|
405909
405962
|
] })
|
|
405910
405963
|
] });
|
|
405911
405964
|
}, "FeedbackDialog");
|
|
@@ -405952,6 +406005,7 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
405952
406005
|
}) => {
|
|
405953
406006
|
const isShellFocused = useShellFocusState();
|
|
405954
406007
|
const uiState = useUIState();
|
|
406008
|
+
const uiActions = useUIActions();
|
|
405955
406009
|
const [justNavigatedHistory, setJustNavigatedHistory] = (0, import_react97.useState)(false);
|
|
405956
406010
|
const [escPressCount, setEscPressCount] = (0, import_react97.useState)(0);
|
|
405957
406011
|
const [showEscapePrompt, setShowEscapePrompt] = (0, import_react97.useState)(false);
|
|
@@ -406130,8 +406184,12 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
406130
406184
|
if (vimHandleInput && vimHandleInput(key)) {
|
|
406131
406185
|
return;
|
|
406132
406186
|
}
|
|
406133
|
-
if (uiState.isFeedbackDialogOpen
|
|
406134
|
-
|
|
406187
|
+
if (uiState.isFeedbackDialogOpen) {
|
|
406188
|
+
if (FEEDBACK_DIALOG_KEYS.includes(key.name)) {
|
|
406189
|
+
return;
|
|
406190
|
+
} else {
|
|
406191
|
+
uiActions.temporaryCloseFeedbackDialog();
|
|
406192
|
+
}
|
|
406135
406193
|
}
|
|
406136
406194
|
if (key.name !== "escape") {
|
|
406137
406195
|
if (escPressCount > 0 || showEscapePrompt) {
|
|
@@ -406417,7 +406475,8 @@ var InputPrompt = /* @__PURE__ */ __name(({
|
|
|
406417
406475
|
commandSearchCompletion,
|
|
406418
406476
|
onToggleShortcuts,
|
|
406419
406477
|
showShortcuts,
|
|
406420
|
-
uiState
|
|
406478
|
+
uiState,
|
|
406479
|
+
uiActions
|
|
406421
406480
|
]
|
|
406422
406481
|
);
|
|
406423
406482
|
useKeypress(handleInput, { isActive: !isEmbeddedShellFocused });
|
|
@@ -407381,35 +407440,42 @@ var useFeedbackDialog = /* @__PURE__ */ __name(({
|
|
|
407381
407440
|
sessionStats
|
|
407382
407441
|
}) => {
|
|
407383
407442
|
const [isFeedbackDialogOpen, setIsFeedbackDialogOpen] = (0, import_react102.useState)(false);
|
|
407443
|
+
const [isFeedbackDismissedTemporarily, setIsFeedbackDismissedTemporarily] = (0, import_react102.useState)(false);
|
|
407384
407444
|
const openFeedbackDialog = (0, import_react102.useCallback)(() => {
|
|
407385
407445
|
setIsFeedbackDialogOpen(true);
|
|
407386
|
-
|
|
407387
|
-
"User" /* User */,
|
|
407388
|
-
"ui.feedbackLastShownTimestamp",
|
|
407389
|
-
Date.now()
|
|
407390
|
-
);
|
|
407391
|
-
}, [settings]);
|
|
407446
|
+
}, []);
|
|
407392
407447
|
const closeFeedbackDialog = (0, import_react102.useCallback)(
|
|
407393
407448
|
() => setIsFeedbackDialogOpen(false),
|
|
407394
407449
|
[]
|
|
407395
407450
|
);
|
|
407451
|
+
const temporaryCloseFeedbackDialog = (0, import_react102.useCallback)(() => {
|
|
407452
|
+
setIsFeedbackDialogOpen(false);
|
|
407453
|
+
setIsFeedbackDismissedTemporarily(true);
|
|
407454
|
+
}, []);
|
|
407396
407455
|
const submitFeedback = (0, import_react102.useCallback)(
|
|
407397
407456
|
(rating) => {
|
|
407398
|
-
|
|
407399
|
-
|
|
407400
|
-
|
|
407401
|
-
|
|
407402
|
-
|
|
407457
|
+
if (rating >= FEEDBACK_OPTIONS.GOOD && rating <= FEEDBACK_OPTIONS.FINE) {
|
|
407458
|
+
const feedbackEvent = new UserFeedbackEvent(
|
|
407459
|
+
sessionStats.sessionId,
|
|
407460
|
+
rating,
|
|
407461
|
+
config2.getModel(),
|
|
407462
|
+
config2.getApprovalMode()
|
|
407463
|
+
);
|
|
407464
|
+
logUserFeedback(config2, feedbackEvent);
|
|
407465
|
+
}
|
|
407466
|
+
settings.setValue(
|
|
407467
|
+
"User" /* User */,
|
|
407468
|
+
"ui.feedbackLastShownTimestamp",
|
|
407469
|
+
Date.now()
|
|
407403
407470
|
);
|
|
407404
|
-
logUserFeedback(config2, feedbackEvent);
|
|
407405
407471
|
closeFeedbackDialog();
|
|
407406
407472
|
},
|
|
407407
|
-
[
|
|
407473
|
+
[closeFeedbackDialog, sessionStats.sessionId, config2, settings]
|
|
407408
407474
|
);
|
|
407409
407475
|
(0, import_react102.useEffect)(() => {
|
|
407410
407476
|
const checkAndShowFeedback = /* @__PURE__ */ __name(() => {
|
|
407411
407477
|
if (streamingState === "idle" /* Idle */ && history.length > 0) {
|
|
407412
|
-
if (config2.getAuthType() !== "qwen-oauth" /* QWEN_OAUTH */ || !config2.getUsageStatisticsEnabled() || settings.merged.ui?.enableUserFeedback === false || !lastMessageIsAIResponse(history) || Math.random() > FEEDBACK_SHOW_PROBABILITY || !meetsMinimumSessionRequirements(sessionStats)) {
|
|
407478
|
+
if (config2.getAuthType() !== "qwen-oauth" /* QWEN_OAUTH */ || !config2.getUsageStatisticsEnabled() || settings.merged.ui?.enableUserFeedback === false || !lastMessageIsAIResponse(history) || Math.random() > FEEDBACK_SHOW_PROBABILITY || !meetsMinimumSessionRequirements(sessionStats) || isFeedbackDismissedTemporarily) {
|
|
407413
407479
|
return;
|
|
407414
407480
|
}
|
|
407415
407481
|
if (shouldShowFeedbackBasedOnFatigue()) {
|
|
@@ -407423,14 +407489,21 @@ var useFeedbackDialog = /* @__PURE__ */ __name(({
|
|
|
407423
407489
|
history,
|
|
407424
407490
|
sessionStats,
|
|
407425
407491
|
isFeedbackDialogOpen,
|
|
407492
|
+
isFeedbackDismissedTemporarily,
|
|
407426
407493
|
openFeedbackDialog,
|
|
407427
407494
|
settings.merged.ui?.enableUserFeedback,
|
|
407428
407495
|
config2
|
|
407429
407496
|
]);
|
|
407497
|
+
(0, import_react102.useEffect)(() => {
|
|
407498
|
+
if (streamingState === "responding" /* Responding */ && isFeedbackDismissedTemporarily) {
|
|
407499
|
+
setIsFeedbackDismissedTemporarily(false);
|
|
407500
|
+
}
|
|
407501
|
+
}, [streamingState, isFeedbackDismissedTemporarily]);
|
|
407430
407502
|
return {
|
|
407431
407503
|
isFeedbackDialogOpen,
|
|
407432
407504
|
openFeedbackDialog,
|
|
407433
407505
|
closeFeedbackDialog,
|
|
407506
|
+
temporaryCloseFeedbackDialog,
|
|
407434
407507
|
submitFeedback
|
|
407435
407508
|
};
|
|
407436
407509
|
}, "useFeedbackDialog");
|
|
@@ -417067,7 +417140,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
417067
417140
|
try {
|
|
417068
417141
|
const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(
|
|
417069
417142
|
process48.cwd(),
|
|
417070
|
-
settings.merged.context?.
|
|
417143
|
+
settings.merged.context?.loadFromIncludeDirectories ? config2.getWorkspaceContext().getDirectories() : [],
|
|
417071
417144
|
config2.getDebugMode(),
|
|
417072
417145
|
config2.getFileService(),
|
|
417073
417146
|
config2.getExtensionContextFilePaths(),
|
|
@@ -417599,6 +417672,7 @@ ${migrationResult.failedFiles.map((f5) => ` \u2022 ${f5.file}: ${f5.error}`).jo
|
|
|
417599
417672
|
isFeedbackDialogOpen,
|
|
417600
417673
|
openFeedbackDialog,
|
|
417601
417674
|
closeFeedbackDialog,
|
|
417675
|
+
temporaryCloseFeedbackDialog,
|
|
417602
417676
|
submitFeedback
|
|
417603
417677
|
} = useFeedbackDialog({
|
|
417604
417678
|
config: config2,
|
|
@@ -417856,6 +417930,7 @@ ${migrationResult.failedFiles.map((f5) => ` \u2022 ${f5.file}: ${f5.error}`).jo
|
|
|
417856
417930
|
// Feedback dialog
|
|
417857
417931
|
openFeedbackDialog,
|
|
417858
417932
|
closeFeedbackDialog,
|
|
417933
|
+
temporaryCloseFeedbackDialog,
|
|
417859
417934
|
submitFeedback
|
|
417860
417935
|
}),
|
|
417861
417936
|
[
|
|
@@ -417899,6 +417974,7 @@ ${migrationResult.failedFiles.map((f5) => ` \u2022 ${f5.file}: ${f5.error}`).jo
|
|
|
417899
417974
|
// Feedback dialog
|
|
417900
417975
|
openFeedbackDialog,
|
|
417901
417976
|
closeFeedbackDialog,
|
|
417977
|
+
temporaryCloseFeedbackDialog,
|
|
417902
417978
|
submitFeedback
|
|
417903
417979
|
]
|
|
417904
417980
|
);
|
|
@@ -419229,7 +419305,8 @@ var usageSchema = external_exports.object({
|
|
|
419229
419305
|
});
|
|
419230
419306
|
var sessionUpdateMetaSchema = external_exports.object({
|
|
419231
419307
|
usage: usageSchema.optional().nullable(),
|
|
419232
|
-
durationMs: external_exports.number().optional().nullable()
|
|
419308
|
+
durationMs: external_exports.number().optional().nullable(),
|
|
419309
|
+
toolName: external_exports.string().optional().nullable()
|
|
419233
419310
|
});
|
|
419234
419311
|
var requestPermissionResponseSchema = external_exports.object({
|
|
419235
419312
|
outcome: requestPermissionOutcomeSchema
|
|
@@ -419403,6 +419480,7 @@ var sessionUpdateSchema = external_exports.union([
|
|
|
419403
419480
|
kind: toolKindSchema,
|
|
419404
419481
|
locations: external_exports.array(toolCallLocationSchema).optional(),
|
|
419405
419482
|
rawInput: external_exports.unknown().optional(),
|
|
419483
|
+
_meta: sessionUpdateMetaSchema.optional().nullable(),
|
|
419406
419484
|
sessionUpdate: external_exports.literal("tool_call"),
|
|
419407
419485
|
status: toolCallStatusSchema,
|
|
419408
419486
|
title: external_exports.string(),
|
|
@@ -419414,6 +419492,7 @@ var sessionUpdateSchema = external_exports.union([
|
|
|
419414
419492
|
locations: external_exports.array(toolCallLocationSchema).optional().nullable(),
|
|
419415
419493
|
rawInput: external_exports.unknown().optional(),
|
|
419416
419494
|
rawOutput: external_exports.unknown().optional(),
|
|
419495
|
+
_meta: sessionUpdateMetaSchema.optional().nullable(),
|
|
419417
419496
|
sessionUpdate: external_exports.literal("tool_call_update"),
|
|
419418
419497
|
status: toolCallStatusSchema.optional().nullable(),
|
|
419419
419498
|
title: external_exports.string().optional().nullable(),
|
|
@@ -420047,7 +420126,8 @@ var ToolCallEmitter = class extends BaseEmitter {
|
|
|
420047
420126
|
content: [],
|
|
420048
420127
|
locations,
|
|
420049
420128
|
kind: kind2,
|
|
420050
|
-
rawInput: params.args ?? {}
|
|
420129
|
+
rawInput: params.args ?? {},
|
|
420130
|
+
_meta: { toolName: params.toolName }
|
|
420051
420131
|
});
|
|
420052
420132
|
return true;
|
|
420053
420133
|
}
|
|
@@ -420088,7 +420168,8 @@ var ToolCallEmitter = class extends BaseEmitter {
|
|
|
420088
420168
|
sessionUpdate: "tool_call_update",
|
|
420089
420169
|
toolCallId: params.callId,
|
|
420090
420170
|
status: params.success ? "completed" : "failed",
|
|
420091
|
-
content: contentArray
|
|
420171
|
+
content: contentArray,
|
|
420172
|
+
_meta: { toolName: params.toolName }
|
|
420092
420173
|
};
|
|
420093
420174
|
if (params.resultDisplay !== void 0) {
|
|
420094
420175
|
update2["rawOutput"] = params.resultDisplay;
|
|
@@ -420102,14 +420183,15 @@ var ToolCallEmitter = class extends BaseEmitter {
|
|
|
420102
420183
|
* @param callId - The tool call ID
|
|
420103
420184
|
* @param error - The error that occurred
|
|
420104
420185
|
*/
|
|
420105
|
-
async emitError(callId, error2) {
|
|
420186
|
+
async emitError(callId, toolName, error2) {
|
|
420106
420187
|
await this.sendUpdate({
|
|
420107
420188
|
sessionUpdate: "tool_call_update",
|
|
420108
420189
|
toolCallId: callId,
|
|
420109
420190
|
status: "failed",
|
|
420110
420191
|
content: [
|
|
420111
420192
|
{ type: "content", content: { type: "text", text: error2.message } }
|
|
420112
|
-
]
|
|
420193
|
+
],
|
|
420194
|
+
_meta: { toolName }
|
|
420113
420195
|
});
|
|
420114
420196
|
}
|
|
420115
420197
|
// ==================== Public Utilities ====================
|
|
@@ -421008,7 +421090,11 @@ var Session3 = class {
|
|
|
421008
421090
|
} catch (e4) {
|
|
421009
421091
|
subAgentCleanupFunctions.forEach((cleanup) => cleanup());
|
|
421010
421092
|
const error2 = e4 instanceof Error ? e4 : new Error(String(e4));
|
|
421011
|
-
await this.toolCallEmitter.emitError(
|
|
421093
|
+
await this.toolCallEmitter.emitError(
|
|
421094
|
+
callId,
|
|
421095
|
+
fc.name ?? "unknown_tool",
|
|
421096
|
+
error2
|
|
421097
|
+
);
|
|
421012
421098
|
const errorParts = [
|
|
421013
421099
|
{
|
|
421014
421100
|
functionResponse: {
|
|
@@ -421263,7 +421349,7 @@ ${pathList}
|
|
|
421263
421349
|
if (pathSpecsToRead.length > 0) {
|
|
421264
421350
|
const readResult = await readManyFilesTool.buildAndExecute(
|
|
421265
421351
|
{
|
|
421266
|
-
|
|
421352
|
+
paths: pathSpecsToRead
|
|
421267
421353
|
},
|
|
421268
421354
|
abortSignal
|
|
421269
421355
|
);
|
|
@@ -421436,7 +421522,7 @@ var GeminiAgent = class {
|
|
|
421436
421522
|
name: APPROVAL_MODE_INFO[mode].name,
|
|
421437
421523
|
description: APPROVAL_MODE_INFO[mode].description
|
|
421438
421524
|
}));
|
|
421439
|
-
const version2 = "0.2.2-alpha.
|
|
421525
|
+
const version2 = "0.2.2-alpha.3";
|
|
421440
421526
|
return {
|
|
421441
421527
|
protocolVersion: PROTOCOL_VERSION,
|
|
421442
421528
|
agentInfo: {
|
package/locales/en.js
CHANGED
|
@@ -322,7 +322,9 @@ export default {
|
|
|
322
322
|
'How is Qwen doing this session? (optional)':
|
|
323
323
|
'How is Qwen doing this session? (optional)',
|
|
324
324
|
Bad: 'Bad',
|
|
325
|
+
Fine: 'Fine',
|
|
325
326
|
Good: 'Good',
|
|
327
|
+
Dismiss: 'Dismiss',
|
|
326
328
|
'Not Sure Yet': 'Not Sure Yet',
|
|
327
329
|
'Any other key': 'Any other key',
|
|
328
330
|
'Disable Loading Phrases': 'Disable Loading Phrases',
|
package/locales/zh.js
CHANGED
|
@@ -312,7 +312,9 @@ export default {
|
|
|
312
312
|
'Enable User Feedback': '启用用户反馈',
|
|
313
313
|
'How is Qwen doing this session? (optional)': 'Qwen 这次表现如何?(可选)',
|
|
314
314
|
Bad: '不满意',
|
|
315
|
+
Fine: '还行',
|
|
315
316
|
Good: '满意',
|
|
317
|
+
Dismiss: '忽略',
|
|
316
318
|
'Not Sure Yet': '暂不评价',
|
|
317
319
|
'Any other key': '任意其他键',
|
|
318
320
|
'Disable Loading Phrases': '禁用加载短语',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rdmind/rdmind",
|
|
3
|
-
"version": "0.2.2-alpha.
|
|
3
|
+
"version": "0.2.2-alpha.3",
|
|
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.2.2-alpha.
|
|
23
|
+
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.2.2-alpha.3"
|
|
24
24
|
},
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public"
|
|
@@ -32,8 +32,7 @@
|
|
|
32
32
|
"@lydell/node-pty-darwin-x64": "1.1.0",
|
|
33
33
|
"@lydell/node-pty-linux-x64": "1.1.0",
|
|
34
34
|
"@lydell/node-pty-win32-arm64": "1.1.0",
|
|
35
|
-
"@lydell/node-pty-win32-x64": "1.1.0"
|
|
36
|
-
"node-pty": "^1.0.0"
|
|
35
|
+
"@lydell/node-pty-win32-x64": "1.1.0"
|
|
37
36
|
},
|
|
38
37
|
"engines": {
|
|
39
38
|
"node": ">=20.0.0"
|