@qwen-code/qwen-code 0.8.0-nightly.20260123.011f3d23 → 0.8.0-nightly.20260125.829ba9c4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +2 -0
  2. package/cli.js +129 -29
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -5,6 +5,8 @@
5
5
  [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
6
6
  [![Downloads](https://img.shields.io/npm/dm/@qwen-code/qwen-code.svg)](https://www.npmjs.com/package/@qwen-code/qwen-code)
7
7
 
8
+ <a href="https://trendshift.io/repositories/15287" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15287" alt="QwenLM%2Fqwen-code | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
9
+
8
10
  **An open-source AI agent that lives in your terminal.**
9
11
 
10
12
  <a href="https://qwenlm.github.io/qwen-code-docs/zh/users/overview">中文</a> |
package/cli.js CHANGED
@@ -8859,7 +8859,7 @@ var require_env_http_proxy_agent = __commonJS({
8859
8859
  "https:": 443
8860
8860
  };
8861
8861
  var experimentalWarned = false;
8862
- var EnvHttpProxyAgent2 = class extends DispatcherBase {
8862
+ var EnvHttpProxyAgent3 = class extends DispatcherBase {
8863
8863
  static {
8864
8864
  __name(this, "EnvHttpProxyAgent");
8865
8865
  }
@@ -8981,7 +8981,7 @@ var require_env_http_proxy_agent = __commonJS({
8981
8981
  return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
8982
8982
  }
8983
8983
  };
8984
- module2.exports = EnvHttpProxyAgent2;
8984
+ module2.exports = EnvHttpProxyAgent3;
8985
8985
  }
8986
8986
  });
8987
8987
 
@@ -18886,7 +18886,7 @@ var require_undici = __commonJS({
18886
18886
  var BalancedPool = require_balanced_pool();
18887
18887
  var Agent3 = require_agent();
18888
18888
  var ProxyAgent5 = require_proxy_agent();
18889
- var EnvHttpProxyAgent2 = require_env_http_proxy_agent();
18889
+ var EnvHttpProxyAgent3 = require_env_http_proxy_agent();
18890
18890
  var RetryAgent = require_retry_agent();
18891
18891
  var errors = require_errors();
18892
18892
  var util4 = require_util();
@@ -18909,7 +18909,7 @@ var require_undici = __commonJS({
18909
18909
  module2.exports.BalancedPool = BalancedPool;
18910
18910
  module2.exports.Agent = Agent3;
18911
18911
  module2.exports.ProxyAgent = ProxyAgent5;
18912
- module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent2;
18912
+ module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent3;
18913
18913
  module2.exports.RetryAgent = RetryAgent;
18914
18914
  module2.exports.RetryHandler = RetryHandler;
18915
18915
  module2.exports.DecoratorHandler = DecoratorHandler;
@@ -140583,6 +140583,97 @@ var init_openai = __esm({
140583
140583
  }
140584
140584
  });
140585
140585
 
140586
+ // packages/core/dist/src/utils/runtimeFetchOptions.js
140587
+ function detectRuntime() {
140588
+ if (typeof process !== "undefined" && process.versions?.["bun"]) {
140589
+ return "bun";
140590
+ }
140591
+ if (typeof process !== "undefined" && process.versions?.node) {
140592
+ return "node";
140593
+ }
140594
+ return "unknown";
140595
+ }
140596
+ function buildRuntimeFetchOptions(sdkType) {
140597
+ const runtime = detectRuntime();
140598
+ switch (runtime) {
140599
+ case "bun": {
140600
+ if (sdkType === "openai") {
140601
+ return {
140602
+ timeout: false
140603
+ };
140604
+ } else {
140605
+ const bunFetch = /* @__PURE__ */ __name(async (input, init) => {
140606
+ const bunFetchOptions = {
140607
+ ...init,
140608
+ // @ts-expect-error - Bun-specific timeout option
140609
+ timeout: false
140610
+ };
140611
+ return fetch(input, bunFetchOptions);
140612
+ }, "bunFetch");
140613
+ return {
140614
+ fetch: bunFetch
140615
+ };
140616
+ }
140617
+ }
140618
+ case "node": {
140619
+ try {
140620
+ const agent = new import_undici.EnvHttpProxyAgent({
140621
+ bodyTimeout: 0
140622
+ // Disable to let SDK timeout control total request time
140623
+ });
140624
+ if (sdkType === "openai") {
140625
+ return {
140626
+ dispatcher: agent
140627
+ };
140628
+ } else {
140629
+ return {
140630
+ httpAgent: agent
140631
+ };
140632
+ }
140633
+ } catch {
140634
+ if (sdkType === "openai") {
140635
+ return void 0;
140636
+ } else {
140637
+ return {};
140638
+ }
140639
+ }
140640
+ }
140641
+ default: {
140642
+ try {
140643
+ const agent = new import_undici.EnvHttpProxyAgent({
140644
+ bodyTimeout: 0
140645
+ // Disable to let SDK timeout control total request time
140646
+ });
140647
+ if (sdkType === "openai") {
140648
+ return {
140649
+ dispatcher: agent
140650
+ };
140651
+ } else {
140652
+ return {
140653
+ httpAgent: agent
140654
+ };
140655
+ }
140656
+ } catch {
140657
+ if (sdkType === "openai") {
140658
+ return void 0;
140659
+ } else {
140660
+ return {};
140661
+ }
140662
+ }
140663
+ }
140664
+ }
140665
+ }
140666
+ var import_undici;
140667
+ var init_runtimeFetchOptions = __esm({
140668
+ "packages/core/dist/src/utils/runtimeFetchOptions.js"() {
140669
+ "use strict";
140670
+ init_esbuild_shims();
140671
+ import_undici = __toESM(require_undici(), 1);
140672
+ __name(detectRuntime, "detectRuntime");
140673
+ __name(buildRuntimeFetchOptions, "buildRuntimeFetchOptions");
140674
+ }
140675
+ });
140676
+
140586
140677
  // packages/core/dist/src/core/openaiContentGenerator/provider/default.js
140587
140678
  var DefaultOpenAICompatibleProvider;
140588
140679
  var init_default = __esm({
@@ -140591,6 +140682,7 @@ var init_default = __esm({
140591
140682
  init_esbuild_shims();
140592
140683
  init_openai();
140593
140684
  init_constants2();
140685
+ init_runtimeFetchOptions();
140594
140686
  DefaultOpenAICompatibleProvider = class {
140595
140687
  static {
140596
140688
  __name(this, "DefaultOpenAICompatibleProvider");
@@ -140613,12 +140705,14 @@ var init_default = __esm({
140613
140705
  buildClient() {
140614
140706
  const { apiKey, baseUrl, timeout: timeout2 = DEFAULT_TIMEOUT, maxRetries = DEFAULT_MAX_RETRIES } = this.contentGeneratorConfig;
140615
140707
  const defaultHeaders = this.buildHeaders();
140708
+ const fetchOptions = buildRuntimeFetchOptions("openai");
140616
140709
  return new OpenAI({
140617
140710
  apiKey,
140618
140711
  baseURL: baseUrl,
140619
140712
  timeout: timeout2,
140620
140713
  maxRetries,
140621
- defaultHeaders
140714
+ defaultHeaders,
140715
+ ...fetchOptions ? { fetchOptions } : {}
140622
140716
  });
140623
140717
  }
140624
140718
  buildRequest(request4, _userPromptId) {
@@ -140850,6 +140944,7 @@ var init_dashscope = __esm({
140850
140944
  init_contentGenerator();
140851
140945
  init_constants2();
140852
140946
  init_tokenLimits();
140947
+ init_runtimeFetchOptions();
140853
140948
  DashScopeOpenAICompatibleProvider = class {
140854
140949
  static {
140855
140950
  __name(this, "DashScopeOpenAICompatibleProvider");
@@ -140880,12 +140975,14 @@ var init_dashscope = __esm({
140880
140975
  buildClient() {
140881
140976
  const { apiKey, baseUrl = DEFAULT_DASHSCOPE_BASE_URL, timeout: timeout2 = DEFAULT_TIMEOUT, maxRetries = DEFAULT_MAX_RETRIES } = this.contentGeneratorConfig;
140882
140977
  const defaultHeaders = this.buildHeaders();
140978
+ const fetchOptions = buildRuntimeFetchOptions("openai");
140883
140979
  return new OpenAI({
140884
140980
  apiKey,
140885
140981
  baseURL: baseUrl,
140886
140982
  timeout: timeout2,
140887
140983
  maxRetries,
140888
- defaultHeaders
140984
+ defaultHeaders,
140985
+ ...fetchOptions ? { fetchOptions } : {}
140889
140986
  });
140890
140987
  }
140891
140988
  /**
@@ -155124,6 +155221,7 @@ var init_anthropicContentGenerator = __esm({
155124
155221
  init_request_tokenizer();
155125
155222
  init_safeJsonParse();
155126
155223
  init_converter2();
155224
+ init_runtimeFetchOptions();
155127
155225
  AnthropicContentGenerator = class {
155128
155226
  static {
155129
155227
  __name(this, "AnthropicContentGenerator");
@@ -155137,12 +155235,14 @@ var init_anthropicContentGenerator = __esm({
155137
155235
  this.cliConfig = cliConfig;
155138
155236
  const defaultHeaders = this.buildHeaders();
155139
155237
  const baseURL = contentGeneratorConfig.baseUrl;
155238
+ const runtimeOptions = buildRuntimeFetchOptions("anthropic");
155140
155239
  this.client = new sdk_default({
155141
155240
  apiKey: contentGeneratorConfig.apiKey,
155142
155241
  baseURL,
155143
155242
  timeout: contentGeneratorConfig.timeout,
155144
155243
  maxRetries: contentGeneratorConfig.maxRetries,
155145
- defaultHeaders
155244
+ defaultHeaders,
155245
+ ...runtimeOptions
155146
155246
  });
155147
155247
  this.converter = new AnthropicContentConverter(contentGeneratorConfig.model, contentGeneratorConfig.schemaCompliance);
155148
155248
  }
@@ -155556,7 +155656,7 @@ __export(geminiContentGenerator_exports, {
155556
155656
  createGeminiContentGenerator: () => createGeminiContentGenerator
155557
155657
  });
155558
155658
  function createGeminiContentGenerator(config2, gcConfig) {
155559
- const version2 = "0.8.0-nightly.20260123.011f3d23";
155659
+ const version2 = "0.8.0-nightly.20260125.829ba9c4";
155560
155660
  const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
155561
155661
  const baseHeaders = {
155562
155662
  "User-Agent": userAgent2
@@ -203936,7 +204036,7 @@ function getIdeServerHost() {
203936
204036
  const isInContainer = fs31.existsSync("/.dockerenv") || fs31.existsSync("/run/.containerenv");
203937
204037
  return isInContainer ? "host.docker.internal" : "127.0.0.1";
203938
204038
  }
203939
- var import_undici, logger, IDEConnectionStatus, IdeClient;
204039
+ var import_undici2, logger, IDEConnectionStatus, IdeClient;
203940
204040
  var init_ide_client = __esm({
203941
204041
  "packages/core/dist/src/ide/ide-client.js"() {
203942
204042
  "use strict";
@@ -203951,7 +204051,7 @@ var init_ide_client = __esm({
203951
204051
  init_streamableHttp();
203952
204052
  init_stdio2();
203953
204053
  init_types8();
203954
- import_undici = __toESM(require_undici(), 1);
204054
+ import_undici2 = __toESM(require_undici(), 1);
203955
204055
  init_types8();
203956
204056
  init_constants5();
203957
204057
  logger = {
@@ -204382,7 +204482,7 @@ var init_ide_client = __esm({
204382
204482
  }
204383
204483
  createProxyAwareFetch() {
204384
204484
  const existingNoProxy = process.env["NO_PROXY"] || "";
204385
- const agent = new import_undici.EnvHttpProxyAgent({
204485
+ const agent = new import_undici2.EnvHttpProxyAgent({
204386
204486
  noProxy: [existingNoProxy, "127.0.0.1"].filter(Boolean).join(",")
204387
204487
  });
204388
204488
  const undiciPromise = Promise.resolve().then(() => __toESM(require_undici(), 1));
@@ -217331,13 +217431,13 @@ var init_html_to_text = __esm({
217331
217431
  });
217332
217432
 
217333
217433
  // packages/core/dist/src/tools/web-fetch.js
217334
- var import_undici2, URL_FETCH_TIMEOUT_MS, MAX_CONTENT_LENGTH, WebFetchToolInvocation, WebFetchTool;
217434
+ var import_undici3, URL_FETCH_TIMEOUT_MS, MAX_CONTENT_LENGTH, WebFetchToolInvocation, WebFetchTool;
217335
217435
  var init_web_fetch = __esm({
217336
217436
  "packages/core/dist/src/tools/web-fetch.js"() {
217337
217437
  "use strict";
217338
217438
  init_esbuild_shims();
217339
217439
  init_html_to_text();
217340
- import_undici2 = __toESM(require_undici(), 1);
217440
+ import_undici3 = __toESM(require_undici(), 1);
217341
217441
  init_config3();
217342
217442
  init_fetch();
217343
217443
  init_partUtils();
@@ -217478,7 +217578,7 @@ Usage notes:
217478
217578
  this.config = config2;
217479
217579
  const proxy = config2.getProxy();
217480
217580
  if (proxy) {
217481
- (0, import_undici2.setGlobalDispatcher)(new import_undici2.ProxyAgent(proxy));
217581
+ (0, import_undici3.setGlobalDispatcher)(new import_undici3.ProxyAgent(proxy));
217482
217582
  }
217483
217583
  }
217484
217584
  validateToolParamValues(params) {
@@ -241511,12 +241611,12 @@ function normalizeConfigOutputFormat(format4) {
241511
241611
  return OutputFormat.TEXT;
241512
241612
  }
241513
241613
  }
241514
- var import_undici3, ApprovalMode, APPROVAL_MODES, APPROVAL_MODE_INFO, DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD, DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES, MCPServerConfig, AuthProviderType, Config;
241614
+ var import_undici4, ApprovalMode, APPROVAL_MODES, APPROVAL_MODE_INFO, DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD, DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES, MCPServerConfig, AuthProviderType, Config;
241515
241615
  var init_config3 = __esm({
241516
241616
  "packages/core/dist/src/config/config.js"() {
241517
241617
  "use strict";
241518
241618
  init_esbuild_shims();
241519
- import_undici3 = __toESM(require_undici(), 1);
241619
+ import_undici4 = __toESM(require_undici(), 1);
241520
241620
  init_baseLlmClient();
241521
241621
  init_client2();
241522
241622
  init_contentGenerator();
@@ -241855,7 +241955,7 @@ var init_config3 = __esm({
241855
241955
  initializeTelemetry(this);
241856
241956
  }
241857
241957
  if (this.getProxy()) {
241858
- (0, import_undici3.setGlobalDispatcher)(new import_undici3.ProxyAgent(this.getProxy()));
241958
+ (0, import_undici4.setGlobalDispatcher)(new import_undici4.ProxyAgent(this.getProxy()));
241859
241959
  }
241860
241960
  this.geminiClient = new GeminiClient(this);
241861
241961
  this.chatRecordingService = this.chatRecordingEnabled ? new ChatRecordingService(this) : void 0;
@@ -317873,7 +317973,7 @@ var require_env_http_proxy_agent2 = __commonJS({
317873
317973
  "https:": 443
317874
317974
  };
317875
317975
  var experimentalWarned = false;
317876
- var EnvHttpProxyAgent2 = class extends DispatcherBase {
317976
+ var EnvHttpProxyAgent3 = class extends DispatcherBase {
317877
317977
  static {
317878
317978
  __name(this, "EnvHttpProxyAgent");
317879
317979
  }
@@ -317995,7 +318095,7 @@ var require_env_http_proxy_agent2 = __commonJS({
317995
318095
  return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
317996
318096
  }
317997
318097
  };
317998
- module2.exports = EnvHttpProxyAgent2;
318098
+ module2.exports = EnvHttpProxyAgent3;
317999
318099
  }
318000
318100
  });
318001
318101
 
@@ -327900,7 +328000,7 @@ var require_undici2 = __commonJS({
327900
328000
  var BalancedPool = require_balanced_pool2();
327901
328001
  var Agent3 = require_agent3();
327902
328002
  var ProxyAgent5 = require_proxy_agent2();
327903
- var EnvHttpProxyAgent2 = require_env_http_proxy_agent2();
328003
+ var EnvHttpProxyAgent3 = require_env_http_proxy_agent2();
327904
328004
  var RetryAgent = require_retry_agent2();
327905
328005
  var errors = require_errors5();
327906
328006
  var util4 = require_util22();
@@ -327923,7 +328023,7 @@ var require_undici2 = __commonJS({
327923
328023
  module2.exports.BalancedPool = BalancedPool;
327924
328024
  module2.exports.Agent = Agent3;
327925
328025
  module2.exports.ProxyAgent = ProxyAgent5;
327926
- module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent2;
328026
+ module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent3;
327927
328027
  module2.exports.RetryAgent = RetryAgent;
327928
328028
  module2.exports.RetryHandler = RetryHandler;
327929
328029
  module2.exports.DecoratorHandler = DecoratorHandler;
@@ -367329,7 +367429,7 @@ __name(getPackageJson, "getPackageJson");
367329
367429
  // packages/cli/src/utils/version.ts
367330
367430
  async function getCliVersion() {
367331
367431
  const pkgJson = await getPackageJson();
367332
- return "0.8.0-nightly.20260123.011f3d23";
367432
+ return "0.8.0-nightly.20260125.829ba9c4";
367333
367433
  }
367334
367434
  __name(getCliVersion, "getCliVersion");
367335
367435
 
@@ -367507,7 +367607,7 @@ __name(addMcpServer, "addMcpServer");
367507
367607
  var addCommand = {
367508
367608
  command: "add <name> <commandOrUrl> [args...]",
367509
367609
  describe: "Add a server",
367510
- builder: /* @__PURE__ */ __name((yargs) => yargs.usage("Usage: gemini mcp add [options] <name> <commandOrUrl> [args...]").parserConfiguration({
367610
+ builder: /* @__PURE__ */ __name((yargs) => yargs.usage("Usage: qwen mcp add [options] <name> <commandOrUrl> [args...]").parserConfiguration({
367511
367611
  "unknown-options-as-args": true,
367512
367612
  // Pass unknown options as server args
367513
367613
  "populate--": true
@@ -374949,7 +375049,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
374949
375049
 
374950
375050
  // packages/cli/src/generated/git-commit.ts
374951
375051
  init_esbuild_shims();
374952
- var GIT_COMMIT_INFO2 = "728b514b";
375052
+ var GIT_COMMIT_INFO2 = "7ed2051f";
374953
375053
 
374954
375054
  // packages/cli/src/utils/systemInfo.ts
374955
375055
  async function getNpmVersion() {
@@ -378681,14 +378781,14 @@ var vimCommand = {
378681
378781
 
378682
378782
  // packages/cli/src/ui/commands/setupGithubCommand.ts
378683
378783
  init_esbuild_shims();
378684
- var import_undici5 = __toESM(require_undici2(), 1);
378784
+ var import_undici6 = __toESM(require_undici2(), 1);
378685
378785
  import path93 from "node:path";
378686
378786
  import * as fs82 from "node:fs";
378687
378787
  import { Writable } from "node:stream";
378688
378788
 
378689
378789
  // packages/cli/src/utils/gitUtils.ts
378690
378790
  init_esbuild_shims();
378691
- var import_undici4 = __toESM(require_undici2(), 1);
378791
+ var import_undici5 = __toESM(require_undici2(), 1);
378692
378792
  import { execSync as execSync6 } from "node:child_process";
378693
378793
  var isGitHubRepository = /* @__PURE__ */ __name(() => {
378694
378794
  try {
@@ -378722,7 +378822,7 @@ var getLatestGitHubRelease = /* @__PURE__ */ __name(async (proxy) => {
378722
378822
  "Content-Type": "application/json",
378723
378823
  "X-GitHub-Api-Version": "2022-11-28"
378724
378824
  },
378725
- dispatcher: proxy ? new import_undici4.ProxyAgent(proxy) : void 0,
378825
+ dispatcher: proxy ? new import_undici5.ProxyAgent(proxy) : void 0,
378726
378826
  signal: AbortSignal.any([AbortSignal.timeout(3e4), controller.signal])
378727
378827
  });
378728
378828
  if (!response.ok) {
@@ -378873,7 +378973,7 @@ var setupGithubCommand = {
378873
378973
  const endpoint = `https://raw.githubusercontent.com/QwenLM/qwen-code-action/refs/tags/${releaseTag}/examples/workflows/${workflow}`;
378874
378974
  const response = await fetch(endpoint, {
378875
378975
  method: "GET",
378876
- dispatcher: proxy ? new import_undici5.ProxyAgent(proxy) : void 0,
378976
+ dispatcher: proxy ? new import_undici6.ProxyAgent(proxy) : void 0,
378877
378977
  signal: AbortSignal.any([
378878
378978
  AbortSignal.timeout(3e4),
378879
378979
  abortController.signal
@@ -427928,7 +428028,7 @@ var GeminiAgent = class {
427928
428028
  name: APPROVAL_MODE_INFO[mode].name,
427929
428029
  description: APPROVAL_MODE_INFO[mode].description
427930
428030
  }));
427931
- const version2 = "0.8.0-nightly.20260123.011f3d23";
428031
+ const version2 = "0.8.0-nightly.20260125.829ba9c4";
427932
428032
  return {
427933
428033
  protocolVersion: PROTOCOL_VERSION,
427934
428034
  agentInfo: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwen-code/qwen-code",
3
- "version": "0.8.0-nightly.20260123.011f3d23",
3
+ "version": "0.8.0-nightly.20260125.829ba9c4",
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.8.0-nightly.20260123.011f3d23"
23
+ "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.8.0-nightly.20260125.829ba9c4"
24
24
  },
25
25
  "dependencies": {},
26
26
  "optionalDependencies": {