@qwen-code/qwen-code 0.10.0-preview.1 → 0.10.0-preview.2
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/README.md +1 -1
- package/cli.js +144 -151
- package/locales/de.js +0 -3
- package/locales/en.js +0 -3
- package/locales/ja.js +0 -3
- package/locales/pt.js +0 -3
- package/locales/ru.js +0 -3
- package/locales/zh.js +0 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ Qwen Code is an open-source AI agent for the terminal, optimized for [Qwen3-Code
|
|
|
36
36
|
#### Linux / macOS
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
|
|
39
|
+
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.sh | bash
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
#### Windows (Run as Administrator CMD)
|
package/cli.js
CHANGED
|
@@ -60297,8 +60297,8 @@ var require_resolve = __commonJS({
|
|
|
60297
60297
|
return count;
|
|
60298
60298
|
}
|
|
60299
60299
|
__name(countKeys, "countKeys");
|
|
60300
|
-
function getFullPath(resolver, id = "",
|
|
60301
|
-
if (
|
|
60300
|
+
function getFullPath(resolver, id = "", normalize12) {
|
|
60301
|
+
if (normalize12 !== false)
|
|
60302
60302
|
id = normalizeId(id);
|
|
60303
60303
|
const p2 = resolver.parse(id);
|
|
60304
60304
|
return _getFullPath(resolver, p2);
|
|
@@ -61674,7 +61674,7 @@ var require_fast_uri = __commonJS({
|
|
|
61674
61674
|
init_esbuild_shims();
|
|
61675
61675
|
var { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = require_utils2();
|
|
61676
61676
|
var SCHEMES = require_schemes();
|
|
61677
|
-
function
|
|
61677
|
+
function normalize12(uri, options2) {
|
|
61678
61678
|
if (typeof uri === "string") {
|
|
61679
61679
|
uri = serialize2(parse14(uri, options2), options2);
|
|
61680
61680
|
} else if (typeof uri === "object") {
|
|
@@ -61682,7 +61682,7 @@ var require_fast_uri = __commonJS({
|
|
|
61682
61682
|
}
|
|
61683
61683
|
return uri;
|
|
61684
61684
|
}
|
|
61685
|
-
__name(
|
|
61685
|
+
__name(normalize12, "normalize");
|
|
61686
61686
|
function resolve30(baseURI, relativeURI, options2) {
|
|
61687
61687
|
const schemelessOptions = Object.assign({ scheme: "null" }, options2);
|
|
61688
61688
|
const resolved = resolveComponents(parse14(baseURI, schemelessOptions), parse14(relativeURI, schemelessOptions), schemelessOptions, true);
|
|
@@ -61919,7 +61919,7 @@ var require_fast_uri = __commonJS({
|
|
|
61919
61919
|
__name(parse14, "parse");
|
|
61920
61920
|
var fastUri = {
|
|
61921
61921
|
SCHEMES,
|
|
61922
|
-
normalize:
|
|
61922
|
+
normalize: normalize12,
|
|
61923
61923
|
resolve: resolve30,
|
|
61924
61924
|
resolveComponents,
|
|
61925
61925
|
equal,
|
|
@@ -67311,8 +67311,8 @@ var require_resolve2 = __commonJS({
|
|
|
67311
67311
|
return count;
|
|
67312
67312
|
}
|
|
67313
67313
|
__name(countKeys, "countKeys");
|
|
67314
|
-
function getFullPath(resolver, id = "",
|
|
67315
|
-
if (
|
|
67314
|
+
function getFullPath(resolver, id = "", normalize12) {
|
|
67315
|
+
if (normalize12 !== false)
|
|
67316
67316
|
id = normalizeId(id);
|
|
67317
67317
|
const p2 = resolver.parse(id);
|
|
67318
67318
|
return _getFullPath(resolver, p2);
|
|
@@ -71873,7 +71873,7 @@ var init_mcp_tool = __esm({
|
|
|
71873
71873
|
cliConfig;
|
|
71874
71874
|
constructor(mcpTool, serverName, serverToolName, description, parameterSchema, trust, nameOverride, cliConfig) {
|
|
71875
71875
|
super(
|
|
71876
|
-
nameOverride ?? generateValidName(serverToolName),
|
|
71876
|
+
nameOverride ?? generateValidName(`mcp__${serverName}__${serverToolName}`),
|
|
71877
71877
|
`${serverToolName} (${serverName} MCP Server)`,
|
|
71878
71878
|
description,
|
|
71879
71879
|
Kind.Other,
|
|
@@ -71890,7 +71890,7 @@ var init_mcp_tool = __esm({
|
|
|
71890
71890
|
this.cliConfig = cliConfig;
|
|
71891
71891
|
}
|
|
71892
71892
|
asFullyQualifiedTool() {
|
|
71893
|
-
return new _DiscoveredMCPTool(this.mcpTool, this.serverName, this.serverToolName, this.description, this.parameterSchema, this.trust,
|
|
71893
|
+
return new _DiscoveredMCPTool(this.mcpTool, this.serverName, this.serverToolName, this.description, this.parameterSchema, this.trust, generateValidName(`mcp__${this.serverName}__${this.serverToolName}`), this.cliConfig);
|
|
71894
71894
|
}
|
|
71895
71895
|
createInvocation(params) {
|
|
71896
71896
|
return new DiscoveredMCPToolInvocation(this.mcpTool, this.serverName, this.serverToolName, this.displayName, this.trust, params, this.cliConfig);
|
|
@@ -87601,13 +87601,13 @@ var require_path = __commonJS({
|
|
|
87601
87601
|
return /^(?:\/|\w+:)/.test(path124);
|
|
87602
87602
|
}, "isAbsolute")
|
|
87603
87603
|
);
|
|
87604
|
-
var
|
|
87604
|
+
var normalize12 = (
|
|
87605
87605
|
/**
|
|
87606
87606
|
* Normalizes the specified path.
|
|
87607
87607
|
* @param {string} path Path to normalize
|
|
87608
87608
|
* @returns {string} Normalized path
|
|
87609
87609
|
*/
|
|
87610
|
-
path123.normalize = /* @__PURE__ */ __name(function
|
|
87610
|
+
path123.normalize = /* @__PURE__ */ __name(function normalize13(path124) {
|
|
87611
87611
|
path124 = path124.replace(/\\/g, "/").replace(/\/{2,}/g, "/");
|
|
87612
87612
|
var parts = path124.split("/"), absolute = isAbsolute13(path124), prefix = "";
|
|
87613
87613
|
if (absolute)
|
|
@@ -87630,12 +87630,12 @@ var require_path = __commonJS({
|
|
|
87630
87630
|
);
|
|
87631
87631
|
path123.resolve = /* @__PURE__ */ __name(function resolve30(originPath, includePath, alreadyNormalized) {
|
|
87632
87632
|
if (!alreadyNormalized)
|
|
87633
|
-
includePath =
|
|
87633
|
+
includePath = normalize12(includePath);
|
|
87634
87634
|
if (isAbsolute13(includePath))
|
|
87635
87635
|
return includePath;
|
|
87636
87636
|
if (!alreadyNormalized)
|
|
87637
|
-
originPath =
|
|
87638
|
-
return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ?
|
|
87637
|
+
originPath = normalize12(originPath);
|
|
87638
|
+
return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ? normalize12(originPath + "/" + includePath) : includePath;
|
|
87639
87639
|
}, "resolve");
|
|
87640
87640
|
}
|
|
87641
87641
|
});
|
|
@@ -124436,7 +124436,7 @@ var require_require_in_the_middle = __commonJS({
|
|
|
124436
124436
|
return _resolve(moduleName2, basedir);
|
|
124437
124437
|
}
|
|
124438
124438
|
__name(resolve30, "resolve");
|
|
124439
|
-
var
|
|
124439
|
+
var normalize12 = /([/\\]index)?(\.js)?$/;
|
|
124440
124440
|
var ExportsCache = class {
|
|
124441
124441
|
static {
|
|
124442
124442
|
__name(this, "ExportsCache");
|
|
@@ -124638,7 +124638,7 @@ var require_require_in_the_middle = __commonJS({
|
|
|
124638
124638
|
};
|
|
124639
124639
|
function resolveModuleName(stat10) {
|
|
124640
124640
|
const normalizedPath = path123.sep !== "/" ? stat10.path.split(path123.sep).join("/") : stat10.path;
|
|
124641
|
-
return path123.posix.join(stat10.name, normalizedPath).replace(
|
|
124641
|
+
return path123.posix.join(stat10.name, normalizedPath).replace(normalize12, "");
|
|
124642
124642
|
}
|
|
124643
124643
|
__name(resolveModuleName, "resolveModuleName");
|
|
124644
124644
|
}
|
|
@@ -133399,57 +133399,16 @@ var init_modelsConfig = __esm({
|
|
|
133399
133399
|
detail: "baseUrl"
|
|
133400
133400
|
};
|
|
133401
133401
|
const gc = model.generationConfig;
|
|
133402
|
-
|
|
133403
|
-
|
|
133404
|
-
|
|
133405
|
-
authType: model.authType,
|
|
133406
|
-
modelId: model.id,
|
|
133407
|
-
detail: "generationConfig.samplingParams"
|
|
133408
|
-
};
|
|
133409
|
-
this._generationConfig.timeout = gc.timeout;
|
|
133410
|
-
this.generationConfigSources["timeout"] = {
|
|
133411
|
-
kind: "modelProviders",
|
|
133412
|
-
authType: model.authType,
|
|
133413
|
-
modelId: model.id,
|
|
133414
|
-
detail: "generationConfig.timeout"
|
|
133415
|
-
};
|
|
133416
|
-
this._generationConfig.maxRetries = gc.maxRetries;
|
|
133417
|
-
this.generationConfigSources["maxRetries"] = {
|
|
133418
|
-
kind: "modelProviders",
|
|
133419
|
-
authType: model.authType,
|
|
133420
|
-
modelId: model.id,
|
|
133421
|
-
detail: "generationConfig.maxRetries"
|
|
133422
|
-
};
|
|
133423
|
-
this._generationConfig.enableCacheControl = gc.enableCacheControl;
|
|
133424
|
-
this.generationConfigSources["enableCacheControl"] = {
|
|
133425
|
-
kind: "modelProviders",
|
|
133426
|
-
authType: model.authType,
|
|
133427
|
-
modelId: model.id,
|
|
133428
|
-
detail: "generationConfig.enableCacheControl"
|
|
133429
|
-
};
|
|
133430
|
-
this._generationConfig.schemaCompliance = gc.schemaCompliance;
|
|
133431
|
-
this.generationConfigSources["schemaCompliance"] = {
|
|
133432
|
-
kind: "modelProviders",
|
|
133433
|
-
authType: model.authType,
|
|
133434
|
-
modelId: model.id,
|
|
133435
|
-
detail: "generationConfig.schemaCompliance"
|
|
133436
|
-
};
|
|
133437
|
-
this._generationConfig.reasoning = gc.reasoning;
|
|
133438
|
-
this.generationConfigSources["reasoning"] = {
|
|
133439
|
-
kind: "modelProviders",
|
|
133440
|
-
authType: model.authType,
|
|
133441
|
-
modelId: model.id,
|
|
133442
|
-
detail: "generationConfig.reasoning"
|
|
133443
|
-
};
|
|
133444
|
-
if (gc.contextWindowSize !== void 0) {
|
|
133445
|
-
this._generationConfig.contextWindowSize = gc.contextWindowSize;
|
|
133446
|
-
this.generationConfigSources["contextWindowSize"] = {
|
|
133402
|
+
for (const field of MODEL_GENERATION_CONFIG_FIELDS) {
|
|
133403
|
+
this._generationConfig[field] = gc[field];
|
|
133404
|
+
this.generationConfigSources[field] = {
|
|
133447
133405
|
kind: "modelProviders",
|
|
133448
133406
|
authType: model.authType,
|
|
133449
133407
|
modelId: model.id,
|
|
133450
|
-
detail:
|
|
133408
|
+
detail: `generationConfig.${field}`
|
|
133451
133409
|
};
|
|
133452
|
-
}
|
|
133410
|
+
}
|
|
133411
|
+
if (gc.contextWindowSize === void 0) {
|
|
133453
133412
|
this._generationConfig.contextWindowSize = tokenLimit(model.id, "input");
|
|
133454
133413
|
this.generationConfigSources["contextWindowSize"] = {
|
|
133455
133414
|
kind: "computed",
|
|
@@ -145073,12 +145032,12 @@ var require_tr46 = __commonJS({
|
|
|
145073
145032
|
TRANSITIONAL: 0,
|
|
145074
145033
|
NONTRANSITIONAL: 1
|
|
145075
145034
|
};
|
|
145076
|
-
function
|
|
145035
|
+
function normalize12(str2) {
|
|
145077
145036
|
return str2.split("\0").map(function(s5) {
|
|
145078
145037
|
return s5.normalize("NFC");
|
|
145079
145038
|
}).join("\0");
|
|
145080
145039
|
}
|
|
145081
|
-
__name(
|
|
145040
|
+
__name(normalize12, "normalize");
|
|
145082
145041
|
function findStatus(val) {
|
|
145083
145042
|
var start = 0;
|
|
145084
145043
|
var end = mappingTable.length - 1;
|
|
@@ -145157,7 +145116,7 @@ var require_tr46 = __commonJS({
|
|
|
145157
145116
|
processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;
|
|
145158
145117
|
}
|
|
145159
145118
|
var error2 = false;
|
|
145160
|
-
if (
|
|
145119
|
+
if (normalize12(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) {
|
|
145161
145120
|
error2 = true;
|
|
145162
145121
|
}
|
|
145163
145122
|
var len = countSymbols(label);
|
|
@@ -145176,7 +145135,7 @@ var require_tr46 = __commonJS({
|
|
|
145176
145135
|
__name(validateLabel, "validateLabel");
|
|
145177
145136
|
function processing(domain_name, useSTD3, processing_option) {
|
|
145178
145137
|
var result = mapChars(domain_name, useSTD3, processing_option);
|
|
145179
|
-
result.string =
|
|
145138
|
+
result.string = normalize12(result.string);
|
|
145180
145139
|
var labels = result.string.split(".");
|
|
145181
145140
|
for (var i3 = 0; i3 < labels.length; ++i3) {
|
|
145182
145141
|
try {
|
|
@@ -156353,7 +156312,7 @@ __export(geminiContentGenerator_exports, {
|
|
|
156353
156312
|
createGeminiContentGenerator: () => createGeminiContentGenerator
|
|
156354
156313
|
});
|
|
156355
156314
|
function createGeminiContentGenerator(config2, gcConfig) {
|
|
156356
|
-
const version2 = "0.10.0-preview.
|
|
156315
|
+
const version2 = "0.10.0-preview.2";
|
|
156357
156316
|
const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
|
|
156358
156317
|
const baseHeaders = {
|
|
156359
156318
|
"User-Agent": userAgent2
|
|
@@ -172357,8 +172316,8 @@ function checkCommandPermissions(command2, config2, sessionAllowlist) {
|
|
|
172357
172316
|
isHardDenial: true
|
|
172358
172317
|
};
|
|
172359
172318
|
}
|
|
172360
|
-
const
|
|
172361
|
-
const commandsToValidate = splitCommands(command2).map(
|
|
172319
|
+
const normalize12 = /* @__PURE__ */ __name((cmd) => cmd.trim().replace(/\s+/g, " "), "normalize");
|
|
172320
|
+
const commandsToValidate = splitCommands(command2).map(normalize12);
|
|
172362
172321
|
const invocation = {
|
|
172363
172322
|
params: { command: "" }
|
|
172364
172323
|
};
|
|
@@ -172993,8 +172952,19 @@ function convertToFunctionResponse(toolName, callId, llmContent) {
|
|
|
172993
172952
|
return [createFunctionResponsePart(callId, toolName, contentToProcess)];
|
|
172994
172953
|
}
|
|
172995
172954
|
if (Array.isArray(contentToProcess)) {
|
|
172996
|
-
const
|
|
172997
|
-
|
|
172955
|
+
const textParts = [];
|
|
172956
|
+
const mediaParts = [];
|
|
172957
|
+
for (const part of toParts(contentToProcess)) {
|
|
172958
|
+
if (part.text !== void 0) {
|
|
172959
|
+
textParts.push(part.text);
|
|
172960
|
+
} else if (part.inlineData) {
|
|
172961
|
+
mediaParts.push({ inlineData: part.inlineData });
|
|
172962
|
+
} else if (part.fileData) {
|
|
172963
|
+
mediaParts.push({ fileData: part.fileData });
|
|
172964
|
+
}
|
|
172965
|
+
}
|
|
172966
|
+
const output = textParts.length > 0 ? textParts.join("\n") : "Tool execution succeeded.";
|
|
172967
|
+
return [createFunctionResponsePart(callId, toolName, output, mediaParts)];
|
|
172998
172968
|
}
|
|
172999
172969
|
if (contentToProcess.functionResponse) {
|
|
173000
172970
|
if (contentToProcess.functionResponse.response?.["content"]) {
|
|
@@ -208647,8 +208617,8 @@ var init_constants6 = __esm({
|
|
|
208647
208617
|
"packages/core/dist/src/mcp/constants.js"() {
|
|
208648
208618
|
"use strict";
|
|
208649
208619
|
init_esbuild_shims();
|
|
208650
|
-
MCP_OAUTH_CLIENT_NAME = "
|
|
208651
|
-
MCP_SA_IMPERSONATION_CLIENT_NAME = "
|
|
208620
|
+
MCP_OAUTH_CLIENT_NAME = "Qwen Code MCP Client";
|
|
208621
|
+
MCP_SA_IMPERSONATION_CLIENT_NAME = "Qwen Code (Service Account Impersonation)";
|
|
208652
208622
|
OAUTH_REDIRECT_PORT = 7777;
|
|
208653
208623
|
OAUTH_REDIRECT_PATH = "/oauth/callback";
|
|
208654
208624
|
}
|
|
@@ -209482,7 +209452,7 @@ var init_hybrid_token_storage = __esm({
|
|
|
209482
209452
|
init_base_token_storage();
|
|
209483
209453
|
init_file_token_storage();
|
|
209484
209454
|
init_types9();
|
|
209485
|
-
FORCE_FILE_STORAGE_ENV_VAR = "
|
|
209455
|
+
FORCE_FILE_STORAGE_ENV_VAR = "QWEN_CODE_FORCE_FILE_STORAGE";
|
|
209486
209456
|
HybridTokenStorage = class extends BaseTokenStorage {
|
|
209487
209457
|
static {
|
|
209488
209458
|
__name(this, "HybridTokenStorage");
|
|
@@ -209955,12 +209925,22 @@ var init_oauth_utils = __esm({
|
|
|
209955
209925
|
/**
|
|
209956
209926
|
* Build a resource parameter for OAuth requests.
|
|
209957
209927
|
*
|
|
209958
|
-
*
|
|
209959
|
-
*
|
|
209928
|
+
* Per MCP spec and RFC 8707, the resource parameter MUST be the
|
|
209929
|
+
* canonical URI of the MCP server. Clients SHOULD provide the most
|
|
209930
|
+
* specific URI they can. The URI MUST NOT include a fragment and
|
|
209931
|
+
* SHOULD NOT include a query component.
|
|
209932
|
+
*
|
|
209933
|
+
* @param endpointUrl The MCP server endpoint URL
|
|
209934
|
+
* @returns The canonical resource URI
|
|
209960
209935
|
*/
|
|
209961
209936
|
static buildResourceParameter(endpointUrl) {
|
|
209962
209937
|
const url2 = new URL(endpointUrl);
|
|
209963
|
-
|
|
209938
|
+
const path123 = url2.pathname === "/" ? "" : url2.pathname;
|
|
209939
|
+
let canonical = `${url2.protocol}//${url2.host}${path123}`;
|
|
209940
|
+
if (canonical.endsWith("/") && path123 !== "") {
|
|
209941
|
+
canonical = canonical.slice(0, -1);
|
|
209942
|
+
}
|
|
209943
|
+
return canonical;
|
|
209964
209944
|
}
|
|
209965
209945
|
};
|
|
209966
209946
|
}
|
|
@@ -210096,7 +210076,7 @@ var init_oauth_provider = __esm({
|
|
|
210096
210076
|
<html>
|
|
210097
210077
|
<body>
|
|
210098
210078
|
<h1>Authentication Successful!</h1>
|
|
210099
|
-
<p>You can close this window and return to
|
|
210079
|
+
<p>You can close this window and return to Qwen Code.</p>
|
|
210100
210080
|
<script>window.close();</script>
|
|
210101
210081
|
</body>
|
|
210102
210082
|
</html>
|
|
@@ -246219,7 +246199,7 @@ function asciiFuzzyIndex(input, pattern, caseSensitive) {
|
|
|
246219
246199
|
}
|
|
246220
246200
|
return firstIdx;
|
|
246221
246201
|
}
|
|
246222
|
-
function calculateScore(caseSensitive,
|
|
246202
|
+
function calculateScore(caseSensitive, normalize12, text, pattern, sidx, eidx, withPos) {
|
|
246223
246203
|
let pidx = 0, score = 0, inGap = false, consecutive = 0, firstBonus = toShort(0);
|
|
246224
246204
|
const pos2 = createPosSet(withPos);
|
|
246225
246205
|
let prevCharClass = 0;
|
|
@@ -246236,7 +246216,7 @@ function calculateScore(caseSensitive, normalize11, text, pattern, sidx, eidx, w
|
|
|
246236
246216
|
rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);
|
|
246237
246217
|
}
|
|
246238
246218
|
}
|
|
246239
|
-
if (
|
|
246219
|
+
if (normalize12) {
|
|
246240
246220
|
rune = normalizeRune(rune);
|
|
246241
246221
|
}
|
|
246242
246222
|
if (rune === pattern[pidx]) {
|
|
@@ -246646,14 +246626,14 @@ var init_fzf_es = __esm({
|
|
|
246646
246626
|
__name(trySkip, "trySkip");
|
|
246647
246627
|
__name(isAscii, "isAscii");
|
|
246648
246628
|
__name(asciiFuzzyIndex, "asciiFuzzyIndex");
|
|
246649
|
-
fuzzyMatchV2 = /* @__PURE__ */ __name((caseSensitive,
|
|
246629
|
+
fuzzyMatchV2 = /* @__PURE__ */ __name((caseSensitive, normalize12, forward, input, pattern, withPos, slab2) => {
|
|
246650
246630
|
const M2 = pattern.length;
|
|
246651
246631
|
if (M2 === 0) {
|
|
246652
246632
|
return [{ start: 0, end: 0, score: 0 }, createPosSet(withPos)];
|
|
246653
246633
|
}
|
|
246654
246634
|
const N2 = input.length;
|
|
246655
246635
|
if (slab2 !== null && N2 * M2 > slab2.i16.length) {
|
|
246656
|
-
return fuzzyMatchV1(caseSensitive,
|
|
246636
|
+
return fuzzyMatchV1(caseSensitive, normalize12, forward, input, pattern, withPos);
|
|
246657
246637
|
}
|
|
246658
246638
|
const idx = asciiFuzzyIndex(input, pattern, caseSensitive);
|
|
246659
246639
|
if (idx < 0) {
|
|
@@ -246686,7 +246666,7 @@ var init_fzf_es = __esm({
|
|
|
246686
246666
|
if (!caseSensitive && charClass === 2) {
|
|
246687
246667
|
char = String.fromCodePoint(char).toLowerCase().codePointAt(0);
|
|
246688
246668
|
}
|
|
246689
|
-
if (
|
|
246669
|
+
if (normalize12) {
|
|
246690
246670
|
char = normalizeRune(char);
|
|
246691
246671
|
}
|
|
246692
246672
|
}
|
|
@@ -246827,7 +246807,7 @@ var init_fzf_es = __esm({
|
|
|
246827
246807
|
return [{ start: j2, end: maxScorePos + 1, score: maxScore }, pos2];
|
|
246828
246808
|
}, "fuzzyMatchV2");
|
|
246829
246809
|
__name(calculateScore, "calculateScore");
|
|
246830
|
-
fuzzyMatchV1 = /* @__PURE__ */ __name((caseSensitive,
|
|
246810
|
+
fuzzyMatchV1 = /* @__PURE__ */ __name((caseSensitive, normalize12, forward, text, pattern, withPos, slab2) => {
|
|
246831
246811
|
if (pattern.length === 0) {
|
|
246832
246812
|
return [{ start: 0, end: 0, score: 0 }, null];
|
|
246833
246813
|
}
|
|
@@ -246846,7 +246826,7 @@ var init_fzf_es = __esm({
|
|
|
246846
246826
|
rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);
|
|
246847
246827
|
}
|
|
246848
246828
|
}
|
|
246849
|
-
if (
|
|
246829
|
+
if (normalize12) {
|
|
246850
246830
|
rune = normalizeRune(rune);
|
|
246851
246831
|
}
|
|
246852
246832
|
const pchar = pattern[indexAt(pidx, lenPattern, forward)];
|
|
@@ -246890,7 +246870,7 @@ var init_fzf_es = __esm({
|
|
|
246890
246870
|
}
|
|
246891
246871
|
const [score, pos2] = calculateScore(
|
|
246892
246872
|
caseSensitive,
|
|
246893
|
-
|
|
246873
|
+
normalize12,
|
|
246894
246874
|
text,
|
|
246895
246875
|
pattern,
|
|
246896
246876
|
sidx,
|
|
@@ -246901,7 +246881,7 @@ var init_fzf_es = __esm({
|
|
|
246901
246881
|
}
|
|
246902
246882
|
return [{ start: -1, end: -1, score: 0 }, null];
|
|
246903
246883
|
}, "fuzzyMatchV1");
|
|
246904
|
-
exactMatchNaive = /* @__PURE__ */ __name((caseSensitive,
|
|
246884
|
+
exactMatchNaive = /* @__PURE__ */ __name((caseSensitive, normalize12, forward, text, pattern, withPos, slab2) => {
|
|
246905
246885
|
if (pattern.length === 0) {
|
|
246906
246886
|
return [{ start: 0, end: 0, score: 0 }, null];
|
|
246907
246887
|
}
|
|
@@ -246925,7 +246905,7 @@ var init_fzf_es = __esm({
|
|
|
246925
246905
|
rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);
|
|
246926
246906
|
}
|
|
246927
246907
|
}
|
|
246928
|
-
if (
|
|
246908
|
+
if (normalize12) {
|
|
246929
246909
|
rune = normalizeRune(rune);
|
|
246930
246910
|
}
|
|
246931
246911
|
const pidx_ = indexAt(pidx, lenPattern, forward);
|
|
@@ -246962,7 +246942,7 @@ var init_fzf_es = __esm({
|
|
|
246962
246942
|
sidx = lenRunes - (bestPos + 1);
|
|
246963
246943
|
eidx = lenRunes - (bestPos - lenPattern + 1);
|
|
246964
246944
|
}
|
|
246965
|
-
const [score] = calculateScore(caseSensitive,
|
|
246945
|
+
const [score] = calculateScore(caseSensitive, normalize12, text, pattern, sidx, eidx, false);
|
|
246966
246946
|
return [{ start: sidx, end: eidx, score }, null];
|
|
246967
246947
|
}
|
|
246968
246948
|
return [{ start: -1, end: -1, score: 0 }, null];
|
|
@@ -246971,7 +246951,7 @@ var init_fzf_es = __esm({
|
|
|
246971
246951
|
SLAB_32_SIZE = 2048;
|
|
246972
246952
|
__name(makeSlab, "makeSlab");
|
|
246973
246953
|
slab = makeSlab(SLAB_16_SIZE, SLAB_32_SIZE);
|
|
246974
|
-
buildPatternForBasicMatch = /* @__PURE__ */ __name((query, casing,
|
|
246954
|
+
buildPatternForBasicMatch = /* @__PURE__ */ __name((query, casing, normalize12) => {
|
|
246975
246955
|
let caseSensitive = false;
|
|
246976
246956
|
switch (casing) {
|
|
246977
246957
|
case "smart-case":
|
|
@@ -246988,7 +246968,7 @@ var init_fzf_es = __esm({
|
|
|
246988
246968
|
break;
|
|
246989
246969
|
}
|
|
246990
246970
|
let queryRunes = strToRunes(query);
|
|
246991
|
-
if (
|
|
246971
|
+
if (normalize12) {
|
|
246992
246972
|
queryRunes = queryRunes.map(normalizeRune);
|
|
246993
246973
|
}
|
|
246994
246974
|
return {
|
|
@@ -297005,8 +296985,6 @@ var init_de = __esm({
|
|
|
297005
296985
|
// MCP Status
|
|
297006
296986
|
// ============================================================================
|
|
297007
296987
|
"No MCP servers configured.": "Keine MCP-Server konfiguriert.",
|
|
297008
|
-
"Please view MCP documentation in your browser:": "Bitte sehen Sie die MCP-Dokumentation in Ihrem Browser:",
|
|
297009
|
-
"or use the cli /docs command": "oder verwenden Sie den CLI-Befehl /docs",
|
|
297010
296988
|
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 MCP-Server werden gestartet ({{count}} werden initialisiert)...",
|
|
297011
296989
|
"Note: First startup may take longer. Tool availability will update automatically.": "Hinweis: Der erste Start kann l\xE4nger dauern. Werkzeugverf\xFCgbarkeit wird automatisch aktualisiert.",
|
|
297012
296990
|
"Configured MCP servers:": "Konfigurierte MCP-Server:",
|
|
@@ -298042,8 +298020,6 @@ var init_en3 = __esm({
|
|
|
298042
298020
|
// MCP Status
|
|
298043
298021
|
// ============================================================================
|
|
298044
298022
|
"No MCP servers configured.": "No MCP servers configured.",
|
|
298045
|
-
"Please view MCP documentation in your browser:": "Please view MCP documentation in your browser:",
|
|
298046
|
-
"or use the cli /docs command": "or use the cli /docs command",
|
|
298047
298023
|
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 MCP servers are starting up ({{count}} initializing)...",
|
|
298048
298024
|
"Note: First startup may take longer. Tool availability will update automatically.": "Note: First startup may take longer. Tool availability will update automatically.",
|
|
298049
298025
|
"Configured MCP servers:": "Configured MCP servers:",
|
|
@@ -298877,8 +298853,6 @@ var init_ja = __esm({
|
|
|
298877
298853
|
"Press Ctrl+D again to exit.": "Ctrl+D \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059",
|
|
298878
298854
|
"Press Esc again to clear.": "Esc \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u30AF\u30EA\u30A2\u3057\u307E\u3059",
|
|
298879
298855
|
// MCP Status
|
|
298880
|
-
"Please view MCP documentation in your browser:": "\u30D6\u30E9\u30A6\u30B6\u3067MCP\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044:",
|
|
298881
|
-
"or use the cli /docs command": "\u307E\u305F\u306F CLI \u306E /docs \u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528",
|
|
298882
298856
|
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 MCP\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u4E2D({{count}} \u521D\u671F\u5316\u4E2D)...",
|
|
298883
298857
|
"Note: First startup may take longer. Tool availability will update automatically.": "\u6CE8: \u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u30C4\u30FC\u30EB\u306E\u5229\u7528\u53EF\u80FD\u72B6\u6CC1\u306F\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059",
|
|
298884
298858
|
"Starting... (first startup may take longer)": "\u8D77\u52D5\u4E2D...(\u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059)",
|
|
@@ -299760,8 +299734,6 @@ var init_pt = __esm({
|
|
|
299760
299734
|
// MCP Status
|
|
299761
299735
|
// ============================================================================
|
|
299762
299736
|
"No MCP servers configured.": "Nenhum servidor MCP configurado.",
|
|
299763
|
-
"Please view MCP documentation in your browser:": "Veja a documenta\xE7\xE3o do MCP no seu navegador:",
|
|
299764
|
-
"or use the cli /docs command": "ou use o comando cli /docs",
|
|
299765
299737
|
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 Servidores MCP est\xE3o iniciando ({{count}} inicializando)...",
|
|
299766
299738
|
"Note: First startup may take longer. Tool availability will update automatically.": "Nota: A primeira inicializa\xE7\xE3o pode demorar mais. A disponibilidade da ferramenta ser\xE1 atualizada automaticamente.",
|
|
299767
299739
|
"Configured MCP servers:": "Servidores MCP configurados:",
|
|
@@ -300796,8 +300768,6 @@ var init_ru = __esm({
|
|
|
300796
300768
|
// Статус MCP
|
|
300797
300769
|
// ============================================================================
|
|
300798
300770
|
"No MCP servers configured.": "\u041D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u043E MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u043E\u0432.",
|
|
300799
|
-
"Please view MCP documentation in your browser:": "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0438\u0442\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044E MCP \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435:",
|
|
300800
|
-
"or use the cli /docs command": "\u0438\u043B\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 cli /docs",
|
|
300801
300771
|
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u044B \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u044E\u0442\u0441\u044F ({{count}} \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044F)...",
|
|
300802
300772
|
"Note: First startup may take longer. Tool availability will update automatically.": "\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435: \u041F\u0435\u0440\u0432\u044B\u0439 \u0437\u0430\u043F\u0443\u0441\u043A \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438. \u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438.",
|
|
300803
300773
|
"Configured MCP servers:": "\u041D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u044B:",
|
|
@@ -301834,8 +301804,6 @@ var init_zh = __esm({
|
|
|
301834
301804
|
// MCP Status
|
|
301835
301805
|
// ============================================================================
|
|
301836
301806
|
"No MCP servers configured.": "\u672A\u914D\u7F6E MCP \u670D\u52A1\u5668",
|
|
301837
|
-
"Please view MCP documentation in your browser:": "\u8BF7\u5728\u6D4F\u89C8\u5668\u4E2D\u67E5\u770B MCP \u6587\u6863\uFF1A",
|
|
301838
|
-
"or use the cli /docs command": "\u6216\u4F7F\u7528 cli /docs \u547D\u4EE4",
|
|
301839
301807
|
"\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 MCP \u670D\u52A1\u5668\u6B63\u5728\u542F\u52A8\uFF08{{count}} \u4E2A\u6B63\u5728\u521D\u59CB\u5316\uFF09...",
|
|
301840
301808
|
"Note: First startup may take longer. Tool availability will update automatically.": "\u6CE8\u610F\uFF1A\u9996\u6B21\u542F\u52A8\u53EF\u80FD\u9700\u8981\u66F4\u957F\u65F6\u95F4\u3002\u5DE5\u5177\u53EF\u7528\u6027\u5C06\u81EA\u52A8\u66F4\u65B0",
|
|
301841
301809
|
"Configured MCP servers:": "\u5DF2\u914D\u7F6E\u7684 MCP \u670D\u52A1\u5668\uFF1A",
|
|
@@ -308459,9 +308427,9 @@ var require_make_warning = __commonJS({
|
|
|
308459
308427
|
var require_normalize2 = __commonJS({
|
|
308460
308428
|
"node_modules/normalize-package-data/lib/normalize.js"(exports2, module2) {
|
|
308461
308429
|
init_esbuild_shims();
|
|
308462
|
-
module2.exports =
|
|
308430
|
+
module2.exports = normalize12;
|
|
308463
308431
|
var fixer = require_fixer();
|
|
308464
|
-
|
|
308432
|
+
normalize12.fixer = fixer;
|
|
308465
308433
|
var makeWarning = require_make_warning();
|
|
308466
308434
|
var fieldsToFix = [
|
|
308467
308435
|
"name",
|
|
@@ -308484,7 +308452,7 @@ var require_normalize2 = __commonJS({
|
|
|
308484
308452
|
return ucFirst(fieldName) + "Field";
|
|
308485
308453
|
});
|
|
308486
308454
|
thingsToFix = thingsToFix.concat(otherThingsToFix);
|
|
308487
|
-
function
|
|
308455
|
+
function normalize12(data, warn, strict) {
|
|
308488
308456
|
if (warn === true) {
|
|
308489
308457
|
warn = null;
|
|
308490
308458
|
strict = true;
|
|
@@ -308507,7 +308475,7 @@ var require_normalize2 = __commonJS({
|
|
|
308507
308475
|
});
|
|
308508
308476
|
data._id = data.name + "@" + data.version;
|
|
308509
308477
|
}
|
|
308510
|
-
__name(
|
|
308478
|
+
__name(normalize12, "normalize");
|
|
308511
308479
|
function ucFirst(string4) {
|
|
308512
308480
|
return string4.charAt(0).toUpperCase() + string4.slice(1);
|
|
308513
308481
|
}
|
|
@@ -311054,8 +311022,8 @@ var require_resolve4 = __commonJS({
|
|
|
311054
311022
|
return count;
|
|
311055
311023
|
}
|
|
311056
311024
|
__name(countKeys, "countKeys");
|
|
311057
|
-
function getFullPath(resolver, id = "",
|
|
311058
|
-
if (
|
|
311025
|
+
function getFullPath(resolver, id = "", normalize12) {
|
|
311026
|
+
if (normalize12 !== false)
|
|
311059
311027
|
id = normalizeId(id);
|
|
311060
311028
|
const p2 = resolver.parse(id);
|
|
311061
311029
|
return _getFullPath(resolver, p2);
|
|
@@ -353991,13 +353959,13 @@ var require_envKeyToSetting = __commonJS({
|
|
|
353991
353959
|
module2.exports = function(x3) {
|
|
353992
353960
|
const colonIndex = x3.indexOf(":");
|
|
353993
353961
|
if (colonIndex === -1) {
|
|
353994
|
-
return
|
|
353962
|
+
return normalize12(x3);
|
|
353995
353963
|
}
|
|
353996
353964
|
const firstPart = x3.substr(0, colonIndex);
|
|
353997
353965
|
const secondPart = x3.substr(colonIndex + 1);
|
|
353998
|
-
return `${
|
|
353966
|
+
return `${normalize12(firstPart)}:${normalize12(secondPart)}`;
|
|
353999
353967
|
};
|
|
354000
|
-
function
|
|
353968
|
+
function normalize12(s5) {
|
|
354001
353969
|
s5 = s5.toLowerCase();
|
|
354002
353970
|
if (s5 === "_authtoken") return "_authToken";
|
|
354003
353971
|
let r5 = s5[0];
|
|
@@ -354006,7 +353974,7 @@ var require_envKeyToSetting = __commonJS({
|
|
|
354006
353974
|
}
|
|
354007
353975
|
return r5;
|
|
354008
353976
|
}
|
|
354009
|
-
__name(
|
|
353977
|
+
__name(normalize12, "normalize");
|
|
354010
353978
|
}
|
|
354011
353979
|
});
|
|
354012
353980
|
|
|
@@ -364275,6 +364243,17 @@ var SETTINGS_SCHEMA = {
|
|
|
364275
364243
|
showInDialog: false,
|
|
364276
364244
|
mergeStrategy: "replace" /* REPLACE */
|
|
364277
364245
|
},
|
|
364246
|
+
// Environment variables fallback
|
|
364247
|
+
env: {
|
|
364248
|
+
type: "object",
|
|
364249
|
+
label: "Environment Variables",
|
|
364250
|
+
category: "Advanced",
|
|
364251
|
+
requiresRestart: true,
|
|
364252
|
+
default: {},
|
|
364253
|
+
description: "Environment variables to set as fallback defaults. These are loaded with the lowest priority: system environment variables > .env files > settings.env.",
|
|
364254
|
+
showInDialog: false,
|
|
364255
|
+
mergeStrategy: "shallow_merge" /* SHALLOW_MERGE */
|
|
364256
|
+
},
|
|
364278
364257
|
general: {
|
|
364279
364258
|
type: "object",
|
|
364280
364259
|
label: "General",
|
|
@@ -365985,24 +365964,31 @@ function createMinimalSettings() {
|
|
|
365985
365964
|
);
|
|
365986
365965
|
}
|
|
365987
365966
|
__name(createMinimalSettings, "createMinimalSettings");
|
|
365988
|
-
function findEnvFile(startDir) {
|
|
365967
|
+
function findEnvFile(settings, startDir) {
|
|
365968
|
+
const homeDir = homedir15();
|
|
365969
|
+
const isTrusted = isWorkspaceTrusted(settings).isTrusted;
|
|
365970
|
+
const userLevelPaths = /* @__PURE__ */ new Set([
|
|
365971
|
+
path81.normalize(path81.join(homeDir, ".env")),
|
|
365972
|
+
path81.normalize(path81.join(homeDir, QWEN_DIR4, ".env"))
|
|
365973
|
+
]);
|
|
365974
|
+
const canUseEnvFile = /* @__PURE__ */ __name((filePath) => isTrusted !== false || userLevelPaths.has(path81.normalize(filePath)), "canUseEnvFile");
|
|
365989
365975
|
let currentDir = path81.resolve(startDir);
|
|
365990
365976
|
while (true) {
|
|
365991
365977
|
const geminiEnvPath = path81.join(currentDir, QWEN_DIR4, ".env");
|
|
365992
|
-
if (fs79.existsSync(geminiEnvPath)) {
|
|
365978
|
+
if (fs79.existsSync(geminiEnvPath) && canUseEnvFile(geminiEnvPath)) {
|
|
365993
365979
|
return geminiEnvPath;
|
|
365994
365980
|
}
|
|
365995
365981
|
const envPath = path81.join(currentDir, ".env");
|
|
365996
|
-
if (fs79.existsSync(envPath)) {
|
|
365982
|
+
if (fs79.existsSync(envPath) && canUseEnvFile(envPath)) {
|
|
365997
365983
|
return envPath;
|
|
365998
365984
|
}
|
|
365999
365985
|
const parentDir = path81.dirname(currentDir);
|
|
366000
365986
|
if (parentDir === currentDir || !parentDir) {
|
|
366001
|
-
const homeGeminiEnvPath = path81.join(
|
|
365987
|
+
const homeGeminiEnvPath = path81.join(homeDir, QWEN_DIR4, ".env");
|
|
366002
365988
|
if (fs79.existsSync(homeGeminiEnvPath)) {
|
|
366003
365989
|
return homeGeminiEnvPath;
|
|
366004
365990
|
}
|
|
366005
|
-
const homeEnvPath = path81.join(
|
|
365991
|
+
const homeEnvPath = path81.join(homeDir, ".env");
|
|
366006
365992
|
if (fs79.existsSync(homeEnvPath)) {
|
|
366007
365993
|
return homeEnvPath;
|
|
366008
365994
|
}
|
|
@@ -366027,10 +366013,7 @@ function setUpCloudShellEnvironment(envFilePath) {
|
|
|
366027
366013
|
}
|
|
366028
366014
|
__name(setUpCloudShellEnvironment, "setUpCloudShellEnvironment");
|
|
366029
366015
|
function loadEnvironment(settings) {
|
|
366030
|
-
const envFilePath = findEnvFile(process27.cwd());
|
|
366031
|
-
if (!isWorkspaceTrusted(settings).isTrusted) {
|
|
366032
|
-
return;
|
|
366033
|
-
}
|
|
366016
|
+
const envFilePath = findEnvFile(settings, process27.cwd());
|
|
366034
366017
|
if (process27.env["CLOUD_SHELL"] === "true") {
|
|
366035
366018
|
setUpCloudShellEnvironment(envFilePath);
|
|
366036
366019
|
}
|
|
@@ -366053,6 +366036,13 @@ function loadEnvironment(settings) {
|
|
|
366053
366036
|
} catch (_e2) {
|
|
366054
366037
|
}
|
|
366055
366038
|
}
|
|
366039
|
+
if (settings.env) {
|
|
366040
|
+
for (const [key, value] of Object.entries(settings.env)) {
|
|
366041
|
+
if (!Object.hasOwn(process27.env, key) && typeof value === "string") {
|
|
366042
|
+
process27.env[key] = value;
|
|
366043
|
+
}
|
|
366044
|
+
}
|
|
366045
|
+
}
|
|
366056
366046
|
}
|
|
366057
366047
|
__name(loadEnvironment, "loadEnvironment");
|
|
366058
366048
|
function loadSettings(workspaceDir = process27.cwd()) {
|
|
@@ -367652,7 +367642,7 @@ import { fileURLToPath as fileURLToPath9 } from "url";
|
|
|
367652
367642
|
// node_modules/yargs-parser/build/lib/index.js
|
|
367653
367643
|
init_esbuild_shims();
|
|
367654
367644
|
import { format } from "util";
|
|
367655
|
-
import { normalize as
|
|
367645
|
+
import { normalize as normalize9, resolve as resolve24 } from "path";
|
|
367656
367646
|
|
|
367657
367647
|
// node_modules/yargs-parser/build/lib/string-utils.js
|
|
367658
367648
|
init_esbuild_shims();
|
|
@@ -368654,7 +368644,7 @@ var parser5 = new YargsParser({
|
|
|
368654
368644
|
return env4;
|
|
368655
368645
|
}, "env"),
|
|
368656
368646
|
format,
|
|
368657
|
-
normalize:
|
|
368647
|
+
normalize: normalize9,
|
|
368658
368648
|
resolve: resolve24,
|
|
368659
368649
|
// TODO: figure out a way to combine ESM and CJS coverage, such that
|
|
368660
368650
|
// we can exercise all the lines below:
|
|
@@ -372984,16 +372974,16 @@ __name(toPath2, "toPath");
|
|
|
372984
372974
|
|
|
372985
372975
|
// node_modules/read-pkg/index.js
|
|
372986
372976
|
var getPackagePath = /* @__PURE__ */ __name((cwd7) => path85.resolve(toPath2(cwd7) ?? ".", "package.json"), "getPackagePath");
|
|
372987
|
-
var _readPackage = /* @__PURE__ */ __name((file,
|
|
372977
|
+
var _readPackage = /* @__PURE__ */ __name((file, normalize12) => {
|
|
372988
372978
|
const json2 = typeof file === "string" ? parseJson(file) : file;
|
|
372989
|
-
if (
|
|
372979
|
+
if (normalize12) {
|
|
372990
372980
|
(0, import_normalize_package_data.default)(json2);
|
|
372991
372981
|
}
|
|
372992
372982
|
return json2;
|
|
372993
372983
|
}, "_readPackage");
|
|
372994
|
-
async function readPackage({ cwd: cwd7, normalize:
|
|
372984
|
+
async function readPackage({ cwd: cwd7, normalize: normalize12 = true } = {}) {
|
|
372995
372985
|
const packageFile = await fsPromises4.readFile(getPackagePath(cwd7), "utf8");
|
|
372996
|
-
return _readPackage(packageFile,
|
|
372986
|
+
return _readPackage(packageFile, normalize12);
|
|
372997
372987
|
}
|
|
372998
372988
|
__name(readPackage, "readPackage");
|
|
372999
372989
|
|
|
@@ -373032,7 +373022,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
373032
373022
|
// packages/cli/src/utils/version.ts
|
|
373033
373023
|
async function getCliVersion() {
|
|
373034
373024
|
const pkgJson = await getPackageJson();
|
|
373035
|
-
return "0.10.0-preview.
|
|
373025
|
+
return "0.10.0-preview.2";
|
|
373036
373026
|
}
|
|
373037
373027
|
__name(getCliVersion, "getCliVersion");
|
|
373038
373028
|
|
|
@@ -373227,13 +373217,12 @@ var addCommand = {
|
|
|
373227
373217
|
alias: "s",
|
|
373228
373218
|
describe: "Configuration scope (user or project)",
|
|
373229
373219
|
type: "string",
|
|
373230
|
-
default: "
|
|
373220
|
+
default: "user",
|
|
373231
373221
|
choices: ["user", "project"]
|
|
373232
373222
|
}).option("transport", {
|
|
373233
373223
|
alias: "t",
|
|
373234
|
-
describe: "Transport type (stdio, sse, http)",
|
|
373224
|
+
describe: "Transport type (stdio, sse, http). Auto-detected from URL if not specified.",
|
|
373235
373225
|
type: "string",
|
|
373236
|
-
default: "stdio",
|
|
373237
373226
|
choices: ["stdio", "sse", "http"]
|
|
373238
373227
|
}).option("env", {
|
|
373239
373228
|
alias: "e",
|
|
@@ -373267,6 +373256,14 @@ var addCommand = {
|
|
|
373267
373256
|
const existingArgs = argv["args"] || [];
|
|
373268
373257
|
argv["args"] = [...existingArgs, ...argv["--"]];
|
|
373269
373258
|
}
|
|
373259
|
+
if (!argv["transport"]) {
|
|
373260
|
+
const commandOrUrl = argv["commandOrUrl"];
|
|
373261
|
+
if (commandOrUrl && (commandOrUrl.startsWith("http://") || commandOrUrl.startsWith("https://"))) {
|
|
373262
|
+
argv["transport"] = "http";
|
|
373263
|
+
} else {
|
|
373264
|
+
argv["transport"] = "stdio";
|
|
373265
|
+
}
|
|
373266
|
+
}
|
|
373270
373267
|
}), "builder"),
|
|
373271
373268
|
handler: /* @__PURE__ */ __name(async (argv) => {
|
|
373272
373269
|
await addMcpServer(
|
|
@@ -373302,13 +373299,18 @@ async function removeMcpServer(name3, options2) {
|
|
|
373302
373299
|
}
|
|
373303
373300
|
delete mcpServers[name3];
|
|
373304
373301
|
settings.setValue(settingsScope, "mcpServers", mcpServers);
|
|
373302
|
+
try {
|
|
373303
|
+
const tokenStorage = new MCPOAuthTokenStorage();
|
|
373304
|
+
await tokenStorage.deleteCredentials(name3);
|
|
373305
|
+
} catch {
|
|
373306
|
+
}
|
|
373305
373307
|
writeStdoutLine(`Server "${name3}" removed from ${scope} settings.`);
|
|
373306
373308
|
}
|
|
373307
373309
|
__name(removeMcpServer, "removeMcpServer");
|
|
373308
373310
|
var removeCommand = {
|
|
373309
373311
|
command: "remove <name>",
|
|
373310
373312
|
describe: "Remove a server",
|
|
373311
|
-
builder: /* @__PURE__ */ __name((yargs) => yargs.usage("Usage:
|
|
373313
|
+
builder: /* @__PURE__ */ __name((yargs) => yargs.usage("Usage: qwen mcp remove [options] <name>").positional("name", {
|
|
373312
373314
|
describe: "Name of the server",
|
|
373313
373315
|
type: "string",
|
|
373314
373316
|
demandOption: true
|
|
@@ -373316,7 +373318,7 @@ var removeCommand = {
|
|
|
373316
373318
|
alias: "s",
|
|
373317
373319
|
describe: "Configuration scope (user or project)",
|
|
373318
373320
|
type: "string",
|
|
373319
|
-
default: "
|
|
373321
|
+
default: "user",
|
|
373320
373322
|
choices: ["user", "project"]
|
|
373321
373323
|
}), "builder"),
|
|
373322
373324
|
handler: /* @__PURE__ */ __name(async (argv) => {
|
|
@@ -377028,7 +377030,7 @@ function normalizeOutputFormat(format4) {
|
|
|
377028
377030
|
__name(normalizeOutputFormat, "normalizeOutputFormat");
|
|
377029
377031
|
async function parseArguments() {
|
|
377030
377032
|
let rawArgv = hideBin(process.argv);
|
|
377031
|
-
if (rawArgv.length > 0 && (rawArgv[0].endsWith("/dist/qwen-cli/cli.js") || rawArgv[0].endsWith("/dist/cli.js"))) {
|
|
377033
|
+
if (rawArgv.length > 0 && (rawArgv[0].endsWith("/dist/qwen-cli/cli.js") || rawArgv[0].endsWith("/dist/cli.js") || rawArgv[0].endsWith("/dist/cli/cli.js"))) {
|
|
377032
377034
|
rawArgv = rawArgv.slice(1);
|
|
377033
377035
|
}
|
|
377034
377036
|
const yargsInstance = yargs_default(rawArgv).locale("en").scriptName("qwen").usage(
|
|
@@ -380543,7 +380545,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
|
|
|
380543
380545
|
|
|
380544
380546
|
// packages/cli/src/generated/git-commit.ts
|
|
380545
380547
|
init_esbuild_shims();
|
|
380546
|
-
var GIT_COMMIT_INFO = "
|
|
380548
|
+
var GIT_COMMIT_INFO = "18a7235d";
|
|
380547
380549
|
|
|
380548
380550
|
// packages/cli/src/utils/systemInfo.ts
|
|
380549
380551
|
async function getNpmVersion() {
|
|
@@ -414372,16 +414374,7 @@ var McpStatus = /* @__PURE__ */ __name(({
|
|
|
414372
414374
|
}) => {
|
|
414373
414375
|
const serverNames = Object.keys(servers);
|
|
414374
414376
|
if (serverNames.length === 0 && blockedServers.length === 0) {
|
|
414375
|
-
return /* @__PURE__ */ (0, import_jsx_runtime55.
|
|
414376
|
-
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text3, { children: t4("No MCP servers configured.") }),
|
|
414377
|
-
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Text3, { children: [
|
|
414378
|
-
t4("Please view MCP documentation in your browser:"),
|
|
414379
|
-
" ",
|
|
414380
|
-
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text3, { color: theme.text.link, children: "https://goo.gle/gemini-cli-docs-mcp" }),
|
|
414381
|
-
" ",
|
|
414382
|
-
t4("or use the cli /docs command")
|
|
414383
|
-
] })
|
|
414384
|
-
] });
|
|
414377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text3, { children: t4("No MCP servers configured.") }) });
|
|
414385
414378
|
}
|
|
414386
414379
|
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
414387
414380
|
discoveryInProgress && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
@@ -414916,8 +414909,8 @@ var Header2 = /* @__PURE__ */ __name(({
|
|
|
414916
414909
|
availableInfoPanelWidth - infoPanelChromeWidth
|
|
414917
414910
|
);
|
|
414918
414911
|
const authModelText = `${formattedAuthType} | ${model}`;
|
|
414919
|
-
const
|
|
414920
|
-
const
|
|
414912
|
+
const modelHintText = " (/model to change)";
|
|
414913
|
+
const showModelHint = infoPanelContentWidth > 0 && getCachedStringWidth(authModelText + modelHintText) <= infoPanelContentWidth;
|
|
414921
414914
|
const tildeifiedPath = tildeifyPath(workingDirectory);
|
|
414922
414915
|
const shortenedPath = shortenPath(tildeifiedPath, Math.max(3, maxPathLength));
|
|
414923
414916
|
const displayPath = maxPathLength <= 0 ? "" : shortenedPath.length > maxPathLength ? shortenedPath.slice(0, maxPathLength) : shortenedPath;
|
|
@@ -414959,7 +414952,7 @@ var Header2 = /* @__PURE__ */ __name(({
|
|
|
414959
414952
|
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text3, { children: " " }),
|
|
414960
414953
|
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Text3, { children: [
|
|
414961
414954
|
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text3, { color: theme.text.secondary, children: authModelText }),
|
|
414962
|
-
|
|
414955
|
+
showModelHint && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text3, { color: theme.text.secondary, children: modelHintText })
|
|
414963
414956
|
] }),
|
|
414964
414957
|
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Text3, { color: theme.text.secondary, children: displayPath })
|
|
414965
414958
|
]
|
|
@@ -434820,7 +434813,7 @@ var GeminiAgent = class {
|
|
|
434820
434813
|
name: APPROVAL_MODE_INFO[mode].name,
|
|
434821
434814
|
description: APPROVAL_MODE_INFO[mode].description
|
|
434822
434815
|
}));
|
|
434823
|
-
const version2 = "0.10.0-preview.
|
|
434816
|
+
const version2 = "0.10.0-preview.2";
|
|
434824
434817
|
return {
|
|
434825
434818
|
protocolVersion: PROTOCOL_VERSION,
|
|
434826
434819
|
agentInfo: {
|
package/locales/de.js
CHANGED
|
@@ -1055,9 +1055,6 @@ export default {
|
|
|
1055
1055
|
// MCP Status
|
|
1056
1056
|
// ============================================================================
|
|
1057
1057
|
'No MCP servers configured.': 'Keine MCP-Server konfiguriert.',
|
|
1058
|
-
'Please view MCP documentation in your browser:':
|
|
1059
|
-
'Bitte sehen Sie die MCP-Dokumentation in Ihrem Browser:',
|
|
1060
|
-
'or use the cli /docs command': 'oder verwenden Sie den CLI-Befehl /docs',
|
|
1061
1058
|
'⏳ MCP servers are starting up ({{count}} initializing)...':
|
|
1062
1059
|
'⏳ MCP-Server werden gestartet ({{count}} werden initialisiert)...',
|
|
1063
1060
|
'Note: First startup may take longer. Tool availability will update automatically.':
|
package/locales/en.js
CHANGED
|
@@ -1042,9 +1042,6 @@ export default {
|
|
|
1042
1042
|
// MCP Status
|
|
1043
1043
|
// ============================================================================
|
|
1044
1044
|
'No MCP servers configured.': 'No MCP servers configured.',
|
|
1045
|
-
'Please view MCP documentation in your browser:':
|
|
1046
|
-
'Please view MCP documentation in your browser:',
|
|
1047
|
-
'or use the cli /docs command': 'or use the cli /docs command',
|
|
1048
1045
|
'⏳ MCP servers are starting up ({{count}} initializing)...':
|
|
1049
1046
|
'⏳ MCP servers are starting up ({{count}} initializing)...',
|
|
1050
1047
|
'Note: First startup may take longer. Tool availability will update automatically.':
|
package/locales/ja.js
CHANGED
|
@@ -746,9 +746,6 @@ export default {
|
|
|
746
746
|
'Press Ctrl+D again to exit.': 'Ctrl+D をもう一度押すと終了します',
|
|
747
747
|
'Press Esc again to clear.': 'Esc をもう一度押すとクリアします',
|
|
748
748
|
// MCP Status
|
|
749
|
-
'Please view MCP documentation in your browser:':
|
|
750
|
-
'ブラウザでMCPドキュメントを確認してください:',
|
|
751
|
-
'or use the cli /docs command': 'または CLI の /docs コマンドを使用',
|
|
752
749
|
'⏳ MCP servers are starting up ({{count}} initializing)...':
|
|
753
750
|
'⏳ MCPサーバーを起動中({{count}} 初期化中)...',
|
|
754
751
|
'Note: First startup may take longer. Tool availability will update automatically.':
|
package/locales/pt.js
CHANGED
|
@@ -1065,9 +1065,6 @@ export default {
|
|
|
1065
1065
|
// MCP Status
|
|
1066
1066
|
// ============================================================================
|
|
1067
1067
|
'No MCP servers configured.': 'Nenhum servidor MCP configurado.',
|
|
1068
|
-
'Please view MCP documentation in your browser:':
|
|
1069
|
-
'Veja a documentação do MCP no seu navegador:',
|
|
1070
|
-
'or use the cli /docs command': 'ou use o comando cli /docs',
|
|
1071
1068
|
'⏳ MCP servers are starting up ({{count}} initializing)...':
|
|
1072
1069
|
'⏳ Servidores MCP estão iniciando ({{count}} inicializando)...',
|
|
1073
1070
|
'Note: First startup may take longer. Tool availability will update automatically.':
|
package/locales/ru.js
CHANGED
|
@@ -1057,9 +1057,6 @@ export default {
|
|
|
1057
1057
|
// Статус MCP
|
|
1058
1058
|
// ============================================================================
|
|
1059
1059
|
'No MCP servers configured.': 'Не настроено MCP-серверов.',
|
|
1060
|
-
'Please view MCP documentation in your browser:':
|
|
1061
|
-
'Пожалуйста, просмотрите документацию MCP в браузере:',
|
|
1062
|
-
'or use the cli /docs command': 'или используйте команду cli /docs',
|
|
1063
1060
|
'⏳ MCP servers are starting up ({{count}} initializing)...':
|
|
1064
1061
|
'⏳ MCP-серверы запускаются ({{count}} инициализируется)...',
|
|
1065
1062
|
'Note: First startup may take longer. Tool availability will update automatically.':
|
package/locales/zh.js
CHANGED
|
@@ -985,9 +985,6 @@ export default {
|
|
|
985
985
|
// MCP Status
|
|
986
986
|
// ============================================================================
|
|
987
987
|
'No MCP servers configured.': '未配置 MCP 服务器',
|
|
988
|
-
'Please view MCP documentation in your browser:':
|
|
989
|
-
'请在浏览器中查看 MCP 文档:',
|
|
990
|
-
'or use the cli /docs command': '或使用 cli /docs 命令',
|
|
991
988
|
'⏳ MCP servers are starting up ({{count}} initializing)...':
|
|
992
989
|
'⏳ MCP 服务器正在启动({{count}} 个正在初始化)...',
|
|
993
990
|
'Note: First startup may take longer. Tool availability will update automatically.':
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwen-code/qwen-code",
|
|
3
|
-
"version": "0.10.0-preview.
|
|
3
|
+
"version": "0.10.0-preview.2",
|
|
4
4
|
"description": "Qwen Code - AI-powered coding assistant",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"locales"
|
|
21
21
|
],
|
|
22
22
|
"config": {
|
|
23
|
-
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.10.0-preview.
|
|
23
|
+
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.10.0-preview.2"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {},
|
|
26
26
|
"optionalDependencies": {
|