@mmmbuto/qwen-code-termux 0.6.404-termux → 0.6.407-termux

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 CHANGED
@@ -24,7 +24,7 @@ pkg update && pkg upgrade -y
24
24
  pkg install nodejs-lts -y
25
25
  npm install -g @mmmbuto/qwen-code-termux
26
26
 
27
- qwen --version # expected: 0.6.404-termux
27
+ qwen --version # expected: 0.6.405-termux
28
28
  ```
29
29
 
30
30
  Build from source:
@@ -83,8 +83,8 @@ export OPENAI_MODEL="gpt-4o" # optional
83
83
  ## Documentation & Fixes
84
84
 
85
85
  - **Test Suite**: [`QWEN_TEST_SUITE.md`](./QWEN_TEST_SUITE.md)
86
- - **Test Report**: [`QWEN_TEST_REPORT_v0.6.404-termux.md`](./QWEN_TEST_REPORT_v0.6.404-termux.md)
87
- (latest report; 0.6.404-termux)
86
+ - **Test Report**: [`QWEN_TEST_REPORT_v0.6.405-termux.md`](./QWEN_TEST_REPORT_v0.6.405-termux.md)
87
+ (latest report; 0.6.405-termux)
88
88
  - **Patches**: [`docs/patches/README.md`](./docs/patches/README.md)
89
89
  - **Termux Fixes**: [`docs/patches/TERMUX_FIXES.md`](./docs/patches/TERMUX_FIXES.md)
90
90
 
@@ -155,7 +155,7 @@ npm install -g @mmmbuto/qwen-code-termux@latest
155
155
 
156
156
  ### Versions
157
157
 
158
- - **latest / stable**: 0.6.403-termux
158
+ - **latest / stable**: 0.6.405-termux
159
159
 
160
160
  ## Benchmark Results
161
161
 
@@ -186,3 +186,19 @@ Apache 2.0 (same as upstream). See LICENSE.
186
186
 
187
187
  Based on [Qwen Code](https://github.com/QwenLM/qwen-code), which is based on
188
188
  [Google Gemini CLI](https://github.com/google-gemini/gemini-cli).
189
+
190
+ ## PTY Support (Shared Library)
191
+
192
+ This project uses `@mmmbuto/pty-termux-utils` as a shared library for PTY
193
+ management across all Termux CLI projects (Gemini, Qwen, Nexus).
194
+
195
+ - **Native PTY:** Uses `@mmmbuto/node-pty-android-arm64@~1.1.0` when available
196
+ - **Linux ARM64:** Uses `@lydell/node-pty-linux-arm64@~1.2.0-beta.2` when available
197
+ - **Fallback:** Gracefully degrades to `child_process` adapter
198
+ - **Debug Logging:** Enable with `PTY_DEBUG=1` environment variable
199
+ - **Architecture:** See `@mmmbuto/pty-termux-utils` documentation
200
+
201
+ ```bash
202
+ # Enable PTY debug logging
203
+ PTY_DEBUG=1 qwen "your prompt"
204
+ ```
package/dist/cli.js CHANGED
@@ -71074,11 +71074,11 @@ var init_subagent_statistics = __esm({
71074
71074
  tu.averageDurationMs = tu.count > 0 ? tu.totalDurationMs / tu.count : 0;
71075
71075
  this.toolUsage.set(name3, tu);
71076
71076
  }
71077
- recordTokens(input, output, thought = 0, cached2 = 0) {
71077
+ recordTokens(input, output, thought = 0, cached3 = 0) {
71078
71078
  this.inputTokens += Math.max(0, input || 0);
71079
71079
  this.outputTokens += Math.max(0, output || 0);
71080
71080
  this.thoughtTokens += Math.max(0, thought || 0);
71081
- this.cachedTokens += Math.max(0, cached2 || 0);
71081
+ this.cachedTokens += Math.max(0, cached3 || 0);
71082
71082
  }
71083
71083
  getSummary(now = Date.now()) {
71084
71084
  const totalDurationMs = this.startTimeMs ? now - this.startTimeMs : 0;
@@ -133813,9 +133813,9 @@ function getName(value) {
133813
133813
  }
133814
133814
  function supportsFormData(fetchObject) {
133815
133815
  const fetch5 = typeof fetchObject === "function" ? fetchObject : fetchObject.fetch;
133816
- const cached2 = supportsFormDataMap.get(fetch5);
133817
- if (cached2)
133818
- return cached2;
133816
+ const cached3 = supportsFormDataMap.get(fetch5);
133817
+ if (cached3)
133818
+ return cached3;
133819
133819
  const promise = (async () => {
133820
133820
  try {
133821
133821
  const FetchResponse = "Response" in fetch5 ? fetch5.Response : (await fetch5("data:,")).constructor;
@@ -143531,7 +143531,7 @@ var init_qwenContentGenerator = __esm({
143531
143531
  init_openaiContentGenerator2();
143532
143532
  init_dashscope();
143533
143533
  init_sharedTokenManager();
143534
- init_config3();
143534
+ init_config4();
143535
143535
  init_constants2();
143536
143536
  QwenContentGenerator = class extends OpenAIContentGenerator {
143537
143537
  static {
@@ -155008,7 +155008,7 @@ __export(geminiContentGenerator_exports, {
155008
155008
  createGeminiContentGenerator: () => createGeminiContentGenerator
155009
155009
  });
155010
155010
  function createGeminiContentGenerator(config2, gcConfig) {
155011
- const version2 = "0.6.404-termux";
155011
+ const version2 = "0.6.407-termux";
155012
155012
  const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
155013
155013
  const baseHeaders = {
155014
155014
  "User-Agent": userAgent2
@@ -155654,7 +155654,7 @@ var init_chatRecordingService = __esm({
155654
155654
  "packages/core/dist/src/services/chatRecordingService.js"() {
155655
155655
  "use strict";
155656
155656
  init_esbuild_shims();
155657
- init_config3();
155657
+ init_config4();
155658
155658
  init_node();
155659
155659
  init_jsonl_utils();
155660
155660
  init_gitUtils();
@@ -160077,28 +160077,113 @@ var init_strip_ansi = __esm({
160077
160077
  }
160078
160078
  });
160079
160079
 
160080
- // packages/core/dist/src/utils/getPty.js
160081
- var getPty;
160080
+ // ../pty-termux-utils/dist/types.js
160081
+ var init_types5 = __esm({
160082
+ "../pty-termux-utils/dist/types.js"() {
160083
+ "use strict";
160084
+ init_esbuild_shims();
160085
+ }
160086
+ });
160087
+
160088
+ // ../pty-termux-utils/dist/errors.js
160089
+ var init_errors3 = __esm({
160090
+ "../pty-termux-utils/dist/errors.js"() {
160091
+ "use strict";
160092
+ init_esbuild_shims();
160093
+ }
160094
+ });
160095
+
160096
+ // ../pty-termux-utils/dist/config.js
160097
+ function logDebug(message, ...args) {
160098
+ if (PTY_DEBUG) {
160099
+ console.debug(`[PTY] ${message}`, ...args);
160100
+ }
160101
+ }
160102
+ function logError(message, error2) {
160103
+ console.error(`[PTY] ${message}`, error2 || "");
160104
+ }
160105
+ var PTY_DEBUG;
160106
+ var init_config = __esm({
160107
+ "../pty-termux-utils/dist/config.js"() {
160108
+ "use strict";
160109
+ init_esbuild_shims();
160110
+ PTY_DEBUG = process.env.PTY_DEBUG === "1";
160111
+ __name(logDebug, "logDebug");
160112
+ __name(logError, "logError");
160113
+ }
160114
+ });
160115
+
160116
+ // ../pty-termux-utils/dist/getPty.js
160117
+ var cached, isTermux2, isLinuxArm64, loadProvider, getPty;
160082
160118
  var init_getPty = __esm({
160083
- "packages/core/dist/src/utils/getPty.js"() {
160119
+ "../pty-termux-utils/dist/getPty.js"() {
160084
160120
  "use strict";
160085
160121
  init_esbuild_shims();
160086
- getPty = /* @__PURE__ */ __name(async () => {
160087
- const isAndroid2 = process.platform === "android" || process.env["PREFIX"]?.includes("com.termux");
160088
- if (!isAndroid2) {
160089
- return null;
160090
- }
160122
+ init_config();
160123
+ init_errors3();
160124
+ isTermux2 = process.platform === "android" || process.env.PREFIX?.includes("com.termux");
160125
+ isLinuxArm64 = process.platform === "linux" && process.arch === "arm64";
160126
+ loadProvider = /* @__PURE__ */ __name(async (moduleName2, name3) => {
160091
160127
  try {
160092
- const mmmbuto = "@mmmbuto/node-pty-android-arm64";
160093
- const module2 = await import(mmmbuto);
160094
- return { module: module2, name: "mmmbuto-node-pty" };
160095
- } catch (_e2) {
160128
+ const mod2 = await import(moduleName2);
160129
+ const impl = mod2.default ?? mod2;
160130
+ if (!impl?.spawn) {
160131
+ logDebug("Native module invalid export: missing spawn function");
160132
+ return null;
160133
+ }
160134
+ logDebug("Native module loaded:", moduleName2);
160135
+ return { module: impl, name: name3 };
160136
+ } catch (e4) {
160137
+ const err = e4;
160138
+ if (err && err.code !== "MODULE_NOT_FOUND") {
160139
+ logError("Unexpected error loading native module:", err);
160140
+ }
160096
160141
  return null;
160097
160142
  }
160143
+ }, "loadProvider");
160144
+ getPty = /* @__PURE__ */ __name(async () => {
160145
+ if (cached !== void 0)
160146
+ return cached;
160147
+ if (isTermux2) {
160148
+ const pty = await loadProvider("@mmmbuto/node-pty-android-arm64", "mmmbuto-node-pty");
160149
+ if (pty)
160150
+ return cached = pty;
160151
+ logDebug("Termux PTY not found, trying next provider");
160152
+ }
160153
+ if (!isTermux2 && isLinuxArm64) {
160154
+ const pty = await loadProvider("@lydell/node-pty-linux-arm64", "lydell-node-pty-linux-arm64");
160155
+ if (pty)
160156
+ return cached = pty;
160157
+ logDebug("Linux ARM64 PTY not found, using fallback adapter");
160158
+ }
160159
+ logDebug("Using fallback PTY adapter with child_process");
160160
+ return cached = null;
160098
160161
  }, "getPty");
160099
160162
  }
160100
160163
  });
160101
160164
 
160165
+ // ../pty-termux-utils/dist/pty-adapter.js
160166
+ var init_pty_adapter = __esm({
160167
+ "../pty-termux-utils/dist/pty-adapter.js"() {
160168
+ "use strict";
160169
+ init_esbuild_shims();
160170
+ init_config();
160171
+ }
160172
+ });
160173
+
160174
+ // ../pty-termux-utils/dist/index.js
160175
+ var init_dist2 = __esm({
160176
+ "../pty-termux-utils/dist/index.js"() {
160177
+ "use strict";
160178
+ init_esbuild_shims();
160179
+ init_types5();
160180
+ init_errors3();
160181
+ init_getPty();
160182
+ init_pty_adapter();
160183
+ init_config();
160184
+ }
160185
+ });
160186
+
160102
160187
  // node_modules/chardet/lib/fs/node.js
160103
160188
  var require_node16 = __commonJS({
160104
160189
  "node_modules/chardet/lib/fs/node.js"(exports2, module2) {
@@ -169865,7 +169950,7 @@ var init_shellExecutionService = __esm({
169865
169950
  "use strict";
169866
169951
  init_esbuild_shims();
169867
169952
  init_strip_ansi();
169868
- init_getPty();
169953
+ init_dist2();
169869
169954
  init_systemEncoding();
169870
169955
  init_textUtils();
169871
169956
  import_headless = __toESM(require_xterm_headless(), 1);
@@ -170033,6 +170118,7 @@ var init_shellExecutionService = __esm({
170033
170118
  aborted: abortSignal.aborted,
170034
170119
  pid: void 0,
170035
170120
  executionMethod: "child_process"
170121
+ // Fallback to child_process,
170036
170122
  });
170037
170123
  }, "handleExit");
170038
170124
  child.stdout.on("data", (data) => handleOutput(data, "stdout"));
@@ -170116,7 +170202,7 @@ var init_shellExecutionService = __esm({
170116
170202
  const rows = shellExecutionConfig.terminalHeight ?? 30;
170117
170203
  const isWindows8 = os12.platform() === "win32";
170118
170204
  const shell2 = isWindows8 ? "cmd.exe" : "bash";
170119
- const args = isWindows8 ? `/c ${commandToExecute}` : ["-c", commandToExecute];
170205
+ const args = isWindows8 ? ["/c", commandToExecute] : ["-c", commandToExecute];
170120
170206
  const ptyProcess = ptyInfo.module.spawn(shell2, args, {
170121
170207
  cwd: cwd7,
170122
170208
  name: "xterm",
@@ -170257,11 +170343,11 @@ var init_shellExecutionService = __esm({
170257
170343
  }
170258
170344
  }));
170259
170345
  }, "handleOutput");
170260
- ptyProcess.onData((data) => {
170346
+ ptyProcess.on("data", (data) => {
170261
170347
  const bufferData = Buffer.from(data, "utf-8");
170262
170348
  handleOutput(bufferData);
170263
170349
  });
170264
- ptyProcess.onExit(({ exitCode, signal }) => {
170350
+ ptyProcess.on("exit", (exitCode, signal) => {
170265
170351
  exited = true;
170266
170352
  abortSignal.removeEventListener("abort", abortHandler);
170267
170353
  this.activePtys.delete(ptyProcess.pid);
@@ -170288,7 +170374,11 @@ var init_shellExecutionService = __esm({
170288
170374
  try {
170289
170375
  process.kill(-ptyProcess.pid, "SIGINT");
170290
170376
  } catch (_e2) {
170291
- ptyProcess.kill("SIGINT");
170377
+ try {
170378
+ process.kill(ptyProcess.pid, "SIGINT");
170379
+ } catch (_inner) {
170380
+ ptyProcess.kill();
170381
+ }
170292
170382
  }
170293
170383
  }
170294
170384
  }
@@ -173401,7 +173491,7 @@ async function resolveTelemetrySettings(options2) {
173401
173491
  useCollector
173402
173492
  };
173403
173493
  }
173404
- var init_config = __esm({
173494
+ var init_config2 = __esm({
173405
173495
  "packages/core/dist/src/telemetry/config.js"() {
173406
173496
  "use strict";
173407
173497
  init_esbuild_shims();
@@ -173420,7 +173510,7 @@ var init_telemetry = __esm({
173420
173510
  "use strict";
173421
173511
  init_esbuild_shims();
173422
173512
  init_sdk();
173423
- init_config();
173513
+ init_config2();
173424
173514
  init_loggers();
173425
173515
  init_types();
173426
173516
  init_types();
@@ -174460,7 +174550,7 @@ function getErrorMap() {
174460
174550
  return overrideErrorMap;
174461
174551
  }
174462
174552
  var overrideErrorMap;
174463
- var init_errors3 = __esm({
174553
+ var init_errors4 = __esm({
174464
174554
  "node_modules/zod/v3/errors.js"() {
174465
174555
  init_esbuild_shims();
174466
174556
  init_en();
@@ -174494,7 +174584,7 @@ var makeIssue, EMPTY_PATH, ParseStatus, INVALID, DIRTY, OK, isAborted, isDirty,
174494
174584
  var init_parseUtil = __esm({
174495
174585
  "node_modules/zod/v3/helpers/parseUtil.js"() {
174496
174586
  init_esbuild_shims();
174497
- init_errors3();
174587
+ init_errors4();
174498
174588
  init_en();
174499
174589
  makeIssue = /* @__PURE__ */ __name((params) => {
174500
174590
  const { data, path: path112, errorMaps, issueData } = params;
@@ -174804,11 +174894,11 @@ function custom(check2, _params = {}, fatal) {
174804
174894
  return ZodAny.create();
174805
174895
  }
174806
174896
  var ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, BRAND, ZodBranded, ZodPipeline, ZodReadonly, late, ZodFirstPartyTypeKind, instanceOfType, stringType, numberType, nanType, bigIntType, booleanType, dateType, symbolType, undefinedType, nullType, anyType, unknownType, neverType, voidType, arrayType, objectType, strictObjectType, unionType, discriminatedUnionType, intersectionType, tupleType, recordType, mapType, setType, functionType, lazyType, literalType, enumType, nativeEnumType, promiseType, effectsType, optionalType, nullableType, preprocessType, pipelineType, ostring, onumber, oboolean, coerce, NEVER;
174807
- var init_types5 = __esm({
174897
+ var init_types6 = __esm({
174808
174898
  "node_modules/zod/v3/types.js"() {
174809
174899
  init_esbuild_shims();
174810
174900
  init_ZodError();
174811
- init_errors3();
174901
+ init_errors4();
174812
174902
  init_errorUtil();
174813
174903
  init_parseUtil();
174814
174904
  init_util2();
@@ -178313,11 +178403,11 @@ __export(external_exports, {
178313
178403
  var init_external = __esm({
178314
178404
  "node_modules/zod/v3/external.js"() {
178315
178405
  init_esbuild_shims();
178316
- init_errors3();
178406
+ init_errors4();
178317
178407
  init_parseUtil();
178318
178408
  init_typeAliases();
178319
178409
  init_util2();
178320
- init_types5();
178410
+ init_types6();
178321
178411
  init_ZodError();
178322
178412
  }
178323
178413
  });
@@ -178333,7 +178423,7 @@ var init_zod = __esm({
178333
178423
 
178334
178424
  // packages/core/dist/src/ide/types.js
178335
178425
  var FileSchema, IdeContextSchema, IdeContextNotificationSchema, IdeDiffAcceptedNotificationSchema, IdeDiffRejectedNotificationSchema, IdeDiffClosedNotificationSchema, OpenDiffRequestSchema, CloseDiffRequestSchema;
178336
- var init_types6 = __esm({
178426
+ var init_types7 = __esm({
178337
178427
  "packages/core/dist/src/ide/types.js"() {
178338
178428
  "use strict";
178339
178429
  init_esbuild_shims();
@@ -178447,7 +178537,7 @@ var init_client2 = __esm({
178447
178537
  "packages/core/dist/src/core/client.js"() {
178448
178538
  "use strict";
178449
178539
  init_esbuild_shims();
178450
- init_config3();
178540
+ init_config4();
178451
178541
  init_models();
178452
178542
  init_geminiChat();
178453
178543
  init_prompts();
@@ -178465,7 +178555,7 @@ var init_client2 = __esm({
178465
178555
  init_partUtils();
178466
178556
  init_retry();
178467
178557
  init_ideContext();
178468
- init_types6();
178558
+ init_types7();
178469
178559
  init_handler();
178470
178560
  MAX_TURNS = 100;
178471
178561
  GeminiClient = class {
@@ -183833,9 +183923,9 @@ var init_esm10 = __esm({
183833
183923
  * @internal
183834
183924
  */
183835
183925
  children() {
183836
- const cached2 = this.#children.get(this);
183837
- if (cached2) {
183838
- return cached2;
183926
+ const cached3 = this.#children.get(this);
183927
+ if (cached3) {
183928
+ return cached3;
183839
183929
  }
183840
183930
  const children = Object.assign([], { provisional: 0 });
183841
183931
  this.#children.set(this, children);
@@ -184745,9 +184835,9 @@ var init_esm10 = __esm({
184745
184835
  break;
184746
184836
  }
184747
184837
  }
184748
- const cached2 = this.#resolveCache.get(r5);
184749
- if (cached2 !== void 0) {
184750
- return cached2;
184838
+ const cached3 = this.#resolveCache.get(r5);
184839
+ if (cached3 !== void 0) {
184840
+ return cached3;
184751
184841
  }
184752
184842
  const result = this.cwd.resolve(r5).fullpath();
184753
184843
  this.#resolveCache.set(r5, result);
@@ -184775,9 +184865,9 @@ var init_esm10 = __esm({
184775
184865
  break;
184776
184866
  }
184777
184867
  }
184778
- const cached2 = this.#resolvePosixCache.get(r5);
184779
- if (cached2 !== void 0) {
184780
- return cached2;
184868
+ const cached3 = this.#resolvePosixCache.get(r5);
184869
+ if (cached3 !== void 0) {
184870
+ return cached3;
184781
184871
  }
184782
184872
  const result = this.cwd.resolve(r5).fullpathPosix();
184783
184873
  this.#resolvePosixCache.set(r5, result);
@@ -185583,9 +185673,9 @@ var init_processor = __esm({
185583
185673
  }
185584
185674
  storeWalked(target, pattern) {
185585
185675
  const fullpath = target.fullpath();
185586
- const cached2 = this.store.get(fullpath);
185587
- if (cached2)
185588
- cached2.add(pattern.globString());
185676
+ const cached3 = this.store.get(fullpath);
185677
+ if (cached3)
185678
+ cached3.add(pattern.globString());
185589
185679
  else
185590
185680
  this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
185591
185681
  }
@@ -188434,7 +188524,7 @@ function gitInstanceFactory(baseDir, options2) {
188434
188524
  customBinaryPlugin(plugins, config2.binary, config2.unsafe?.allowUnsafeCustomBinary);
188435
188525
  return new Git(config2, plugins);
188436
188526
  }
188437
- var import_file_exists, import_debug, import_promise_deferred, import_promise_deferred2, __defProp2, __getOwnPropDesc2, __getOwnPropNames2, __hasOwnProp2, __esm2, __commonJS2, __export2, __copyProps2, __toCommonJS2, cache, init_pathspec, GitError, init_git_error, GitResponseError, init_git_response_error, TaskConfigurationError, init_task_configuration_error, NULL2, NOOP, objectToString, init_util3, filterArray, filterString, filterStringArray, filterStringOrStringArray, filterHasLength, init_argument_filters, ExitCodes, init_exit_codes, GitOutputStreams, init_git_output_streams, LineParser, RemoteLineParser, init_line_parser, defaultOptions2, init_simple_git_options, init_task_options, init_task_parser, utils_exports, init_utils6, check_is_repo_exports, CheckRepoActions, onError, parser, init_check_is_repo, CleanResponse, removalRegexp, dryRunRemovalRegexp, isFolderRegexp, init_CleanSummary, task_exports, EMPTY_COMMANDS, init_task2, clean_exports, CONFIG_ERROR_INTERACTIVE_MODE, CONFIG_ERROR_MODE_REQUIRED, CONFIG_ERROR_UNKNOWN_OPTION, CleanOptions, CleanOptionValues, init_clean, ConfigList, init_ConfigList, GitConfigScope, init_config2, DiffNameStatus, diffNameStatus, init_diff_name_status, disallowedOptions, Query, _a4, GrepQuery, init_grep, reset_exports, ResetMode, ResetModes, init_reset, init_git_logger, TasksPendingQueue, init_tasks_pending_queue, GitExecutorChain, init_git_executor_chain, git_executor_exports, GitExecutor, init_git_executor, init_task_callback, init_change_working_directory, init_checkout, parser2, init_count_objects, parsers, init_parse_commit, init_commit, init_first_commit, init_hash_object, InitSummary, initResponseRegex, reInitResponseRegex, init_InitSummary, bareCommand, init_init, logFormatRegex, init_log_format, DiffSummary, init_DiffSummary, statParser, numStatParser, nameOnlyParser, nameStatusParser, diffSummaryParsers, init_parse_diff_summary, START_BOUNDARY, COMMIT_BOUNDARY, SPLITTER, defaultFieldNames, init_parse_list_log_summary, diff_exports, init_diff, excludeOptions, init_log2, MergeSummaryConflict, MergeSummaryDetail, init_MergeSummary, PullSummary, PullFailedSummary, init_PullSummary, remoteMessagesObjectParsers, init_parse_remote_objects, parsers2, RemoteMessageSummary, init_parse_remote_messages, FILE_UPDATE_REGEX, SUMMARY_REGEX, ACTION_REGEX, parsers3, errorParsers, parsePullDetail, parsePullResult, init_parse_pull, parsers4, parseMergeResult, parseMergeDetail, init_parse_merge, init_merge, parsers5, parsePushResult, parsePushDetail, init_parse_push, push_exports, init_push, init_show, fromPathRegex, FileStatusSummary, init_FileStatusSummary, StatusSummary, parsers6, parseStatusSummary, init_StatusSummary, ignoredOptions, init_status2, NOT_INSTALLED, parsers7, init_version4, simple_git_api_exports, SimpleGitApi, init_simple_git_api, scheduler_exports, createScheduledTask, Scheduler, init_scheduler, apply_patch_exports, init_apply_patch, BranchDeletionBatch, init_BranchDeleteSummary, deleteSuccessRegex, deleteErrorRegex, parsers8, parseBranchDeletions, init_parse_branch_delete, BranchSummaryResult, init_BranchSummary, parsers9, init_parse_branch, branch_exports, init_branch, parseCheckIgnore, init_CheckIgnore, check_ignore_exports, init_check_ignore, clone_exports, init_clone, parsers10, init_parse_fetch, fetch_exports, init_fetch, parsers11, init_parse_move, move_exports, init_move, pull_exports, init_pull, init_GetRemoteSummary, remote_exports, init_remote, stash_list_exports, init_stash_list, sub_module_exports, init_sub_module, TagList, parseTagList, init_TagList, tag_exports, init_tag, require_git, GitConstructError, GitPluginError, never, WRONG_NUMBER_ERR, WRONG_CHARS_ERR, PluginStore, Git, simpleGit;
188527
+ var import_file_exists, import_debug, import_promise_deferred, import_promise_deferred2, __defProp2, __getOwnPropDesc2, __getOwnPropNames2, __hasOwnProp2, __esm2, __commonJS2, __export2, __copyProps2, __toCommonJS2, cache, init_pathspec, GitError, init_git_error, GitResponseError, init_git_response_error, TaskConfigurationError, init_task_configuration_error, NULL2, NOOP, objectToString, init_util3, filterArray, filterString, filterStringArray, filterStringOrStringArray, filterHasLength, init_argument_filters, ExitCodes, init_exit_codes, GitOutputStreams, init_git_output_streams, LineParser, RemoteLineParser, init_line_parser, defaultOptions2, init_simple_git_options, init_task_options, init_task_parser, utils_exports, init_utils6, check_is_repo_exports, CheckRepoActions, onError, parser, init_check_is_repo, CleanResponse, removalRegexp, dryRunRemovalRegexp, isFolderRegexp, init_CleanSummary, task_exports, EMPTY_COMMANDS, init_task2, clean_exports, CONFIG_ERROR_INTERACTIVE_MODE, CONFIG_ERROR_MODE_REQUIRED, CONFIG_ERROR_UNKNOWN_OPTION, CleanOptions, CleanOptionValues, init_clean, ConfigList, init_ConfigList, GitConfigScope, init_config3, DiffNameStatus, diffNameStatus, init_diff_name_status, disallowedOptions, Query, _a4, GrepQuery, init_grep, reset_exports, ResetMode, ResetModes, init_reset, init_git_logger, TasksPendingQueue, init_tasks_pending_queue, GitExecutorChain, init_git_executor_chain, git_executor_exports, GitExecutor, init_git_executor, init_task_callback, init_change_working_directory, init_checkout, parser2, init_count_objects, parsers, init_parse_commit, init_commit, init_first_commit, init_hash_object, InitSummary, initResponseRegex, reInitResponseRegex, init_InitSummary, bareCommand, init_init, logFormatRegex, init_log_format, DiffSummary, init_DiffSummary, statParser, numStatParser, nameOnlyParser, nameStatusParser, diffSummaryParsers, init_parse_diff_summary, START_BOUNDARY, COMMIT_BOUNDARY, SPLITTER, defaultFieldNames, init_parse_list_log_summary, diff_exports, init_diff, excludeOptions, init_log2, MergeSummaryConflict, MergeSummaryDetail, init_MergeSummary, PullSummary, PullFailedSummary, init_PullSummary, remoteMessagesObjectParsers, init_parse_remote_objects, parsers2, RemoteMessageSummary, init_parse_remote_messages, FILE_UPDATE_REGEX, SUMMARY_REGEX, ACTION_REGEX, parsers3, errorParsers, parsePullDetail, parsePullResult, init_parse_pull, parsers4, parseMergeResult, parseMergeDetail, init_parse_merge, init_merge, parsers5, parsePushResult, parsePushDetail, init_parse_push, push_exports, init_push, init_show, fromPathRegex, FileStatusSummary, init_FileStatusSummary, StatusSummary, parsers6, parseStatusSummary, init_StatusSummary, ignoredOptions, init_status2, NOT_INSTALLED, parsers7, init_version4, simple_git_api_exports, SimpleGitApi, init_simple_git_api, scheduler_exports, createScheduledTask, Scheduler, init_scheduler, apply_patch_exports, init_apply_patch, BranchDeletionBatch, init_BranchDeleteSummary, deleteSuccessRegex, deleteErrorRegex, parsers8, parseBranchDeletions, init_parse_branch_delete, BranchSummaryResult, init_BranchSummary, parsers9, init_parse_branch, branch_exports, init_branch, parseCheckIgnore, init_CheckIgnore, check_ignore_exports, init_check_ignore, clone_exports, init_clone, parsers10, init_parse_fetch, fetch_exports, init_fetch, parsers11, init_parse_move, move_exports, init_move, pull_exports, init_pull, init_GetRemoteSummary, remote_exports, init_remote, stash_list_exports, init_stash_list, sub_module_exports, init_sub_module, TagList, parseTagList, init_TagList, tag_exports, init_tag, require_git, GitConstructError, GitPluginError, never, WRONG_NUMBER_ERR, WRONG_CHARS_ERR, PluginStore, Git, simpleGit;
188438
188528
  var init_esm12 = __esm({
188439
188529
  "node_modules/simple-git/dist/esm/index.js"() {
188440
188530
  init_esbuild_shims();
@@ -188924,7 +189014,7 @@ var init_esm12 = __esm({
188924
189014
  __name(getConfigTask, "getConfigTask");
188925
189015
  __name(listConfigTask, "listConfigTask");
188926
189016
  __name(config_default, "config_default");
188927
- init_config2 = __esm2({
189017
+ init_config3 = __esm2({
188928
189018
  "src/lib/tasks/config.ts"() {
188929
189019
  "use strict";
188930
189020
  init_ConfigList();
@@ -190248,7 +190338,7 @@ var init_esm12 = __esm({
190248
190338
  init_checkout();
190249
190339
  init_count_objects();
190250
190340
  init_commit();
190251
- init_config2();
190341
+ init_config3();
190252
190342
  init_first_commit();
190253
190343
  init_grep();
190254
190344
  init_hash_object();
@@ -191214,7 +191304,7 @@ var init_esm12 = __esm({
191214
191304
  init_task_configuration_error();
191215
191305
  init_check_is_repo();
191216
191306
  init_clean();
191217
- init_config2();
191307
+ init_config3();
191218
191308
  init_diff_name_status();
191219
191309
  init_grep();
191220
191310
  init_reset();
@@ -192922,7 +193012,7 @@ __export(util_exports, {
192922
193012
  assertNever: () => assertNever3,
192923
193013
  assertNotEqual: () => assertNotEqual,
192924
193014
  assignProp: () => assignProp,
192925
- cached: () => cached,
193015
+ cached: () => cached2,
192926
193016
  captureStackTrace: () => captureStackTrace,
192927
193017
  cleanEnum: () => cleanEnum,
192928
193018
  cleanRegex: () => cleanRegex,
@@ -192987,7 +193077,7 @@ function jsonStringifyReplacer(_2, value) {
192987
193077
  return value.toString();
192988
193078
  return value;
192989
193079
  }
192990
- function cached(getter) {
193080
+ function cached2(getter) {
192991
193081
  const set = false;
192992
193082
  return {
192993
193083
  get value() {
@@ -193365,7 +193455,7 @@ var init_util4 = __esm({
193365
193455
  __name(getEnumValues, "getEnumValues");
193366
193456
  __name(joinValues, "joinValues");
193367
193457
  __name(jsonStringifyReplacer, "jsonStringifyReplacer");
193368
- __name(cached, "cached");
193458
+ __name(cached2, "cached");
193369
193459
  __name(nullish, "nullish");
193370
193460
  __name(cleanRegex, "cleanRegex");
193371
193461
  __name(floatSafeRemainder2, "floatSafeRemainder");
@@ -193378,7 +193468,7 @@ var init_util4 = __esm({
193378
193468
  captureStackTrace = Error.captureStackTrace ? Error.captureStackTrace : (..._args) => {
193379
193469
  };
193380
193470
  __name(isObject, "isObject");
193381
- allowsEval = cached(() => {
193471
+ allowsEval = cached2(() => {
193382
193472
  if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
193383
193473
  return false;
193384
193474
  }
@@ -193530,7 +193620,7 @@ function formatError(error2, _mapper) {
193530
193620
  return fieldErrors;
193531
193621
  }
193532
193622
  var initializer, $ZodError, $ZodRealError;
193533
- var init_errors4 = __esm({
193623
+ var init_errors5 = __esm({
193534
193624
  "node_modules/zod/v4/core/errors.js"() {
193535
193625
  init_esbuild_shims();
193536
193626
  init_core2();
@@ -193570,7 +193660,7 @@ var init_parse2 = __esm({
193570
193660
  "node_modules/zod/v4/core/parse.js"() {
193571
193661
  init_esbuild_shims();
193572
193662
  init_core2();
193573
- init_errors4();
193663
+ init_errors5();
193574
193664
  init_util4();
193575
193665
  _parse = /* @__PURE__ */ __name((_Err) => (schema, value, _ctx, _params) => {
193576
193666
  const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
@@ -194860,7 +194950,7 @@ var init_schemas = __esm({
194860
194950
  __name(handleOptionalObjectResult, "handleOptionalObjectResult");
194861
194951
  $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def2) => {
194862
194952
  $ZodType.init(inst, def2);
194863
- const _normalized = cached(() => {
194953
+ const _normalized = cached2(() => {
194864
194954
  const keys = Object.keys(def2.shape);
194865
194955
  for (const k2 of keys) {
194866
194956
  if (!(def2.shape[k2] instanceof $ZodType)) {
@@ -195081,7 +195171,7 @@ var init_schemas = __esm({
195081
195171
  }
195082
195172
  return propValues;
195083
195173
  });
195084
- const disc = cached(() => {
195174
+ const disc = cached2(() => {
195085
195175
  const opts = def2.options;
195086
195176
  const map2 = /* @__PURE__ */ new Map();
195087
195177
  for (const o3 of opts) {
@@ -196227,7 +196317,7 @@ var init_core3 = __esm({
196227
196317
  init_esbuild_shims();
196228
196318
  init_core2();
196229
196319
  init_parse2();
196230
- init_errors4();
196320
+ init_errors5();
196231
196321
  init_schemas();
196232
196322
  init_checks();
196233
196323
  init_versions();
@@ -196445,7 +196535,7 @@ var init_iso2 = __esm({
196445
196535
 
196446
196536
  // node_modules/zod/v4/classic/errors.js
196447
196537
  var initializer2, ZodError2, ZodRealError;
196448
- var init_errors5 = __esm({
196538
+ var init_errors6 = __esm({
196449
196539
  "node_modules/zod/v4/classic/errors.js"() {
196450
196540
  init_esbuild_shims();
196451
196541
  init_core3();
@@ -196491,7 +196581,7 @@ var init_parse4 = __esm({
196491
196581
  "node_modules/zod/v4/classic/parse.js"() {
196492
196582
  init_esbuild_shims();
196493
196583
  init_core3();
196494
- init_errors5();
196584
+ init_errors6();
196495
196585
  parse3 = /* @__PURE__ */ _parse(ZodRealError);
196496
196586
  parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
196497
196587
  safeParse3 = /* @__PURE__ */ _safeParse(ZodRealError);
@@ -197258,7 +197348,7 @@ var init_external3 = __esm({
197258
197348
  init_core3();
197259
197349
  init_schemas3();
197260
197350
  init_checks3();
197261
- init_errors5();
197351
+ init_errors6();
197262
197352
  init_parse4();
197263
197353
  init_compat();
197264
197354
  init_core3();
@@ -197289,7 +197379,7 @@ var init_v42 = __esm({
197289
197379
 
197290
197380
  // packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
197291
197381
  var LATEST_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, RELATED_TASK_META_KEY, JSONRPC_VERSION, AssertObjectSchema, ProgressTokenSchema, CursorSchema, TaskCreationParamsSchema, TaskMetadataSchema, RelatedTaskMetadataSchema, RequestMetaSchema, BaseRequestParamsSchema, TaskAugmentedRequestParamsSchema, isTaskAugmentedRequestParams, RequestSchema, NotificationsParamsSchema, NotificationSchema, ResultSchema, RequestIdSchema, JSONRPCRequestSchema, isJSONRPCRequest, JSONRPCNotificationSchema, isJSONRPCNotification, JSONRPCResultResponseSchema, isJSONRPCResultResponse, ErrorCode, JSONRPCErrorResponseSchema, isJSONRPCErrorResponse, JSONRPCMessageSchema, JSONRPCResponseSchema, EmptyResultSchema, CancelledNotificationParamsSchema, CancelledNotificationSchema, IconSchema, IconsSchema, BaseMetadataSchema, ImplementationSchema, FormElicitationCapabilitySchema, ElicitationCapabilitySchema, ClientTasksCapabilitySchema, ServerTasksCapabilitySchema, ClientCapabilitiesSchema, InitializeRequestParamsSchema, InitializeRequestSchema, ServerCapabilitiesSchema, InitializeResultSchema, InitializedNotificationSchema, isInitializedNotification, PingRequestSchema, ProgressSchema, ProgressNotificationParamsSchema, ProgressNotificationSchema, PaginatedRequestParamsSchema, PaginatedRequestSchema, PaginatedResultSchema, TaskStatusSchema, TaskSchema, CreateTaskResultSchema, TaskStatusNotificationParamsSchema, TaskStatusNotificationSchema, GetTaskRequestSchema, GetTaskResultSchema, GetTaskPayloadRequestSchema, GetTaskPayloadResultSchema, ListTasksRequestSchema, ListTasksResultSchema, CancelTaskRequestSchema, CancelTaskResultSchema, ResourceContentsSchema, TextResourceContentsSchema, Base64Schema, BlobResourceContentsSchema, RoleSchema, AnnotationsSchema, ResourceSchema, ResourceTemplateSchema, ListResourcesRequestSchema, ListResourcesResultSchema, ListResourceTemplatesRequestSchema, ListResourceTemplatesResultSchema, ResourceRequestParamsSchema, ReadResourceRequestParamsSchema, ReadResourceRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, SubscribeRequestParamsSchema, SubscribeRequestSchema, UnsubscribeRequestParamsSchema, UnsubscribeRequestSchema, ResourceUpdatedNotificationParamsSchema, ResourceUpdatedNotificationSchema, PromptArgumentSchema, PromptSchema, ListPromptsRequestSchema, ListPromptsResultSchema, GetPromptRequestParamsSchema, GetPromptRequestSchema, TextContentSchema, ImageContentSchema, AudioContentSchema, ToolUseContentSchema, EmbeddedResourceSchema, ResourceLinkSchema, ContentBlockSchema, PromptMessageSchema, GetPromptResultSchema, PromptListChangedNotificationSchema, ToolAnnotationsSchema, ToolExecutionSchema, ToolSchema, ListToolsRequestSchema, ListToolsResultSchema, CallToolResultSchema, CompatibilityCallToolResultSchema, CallToolRequestParamsSchema, CallToolRequestSchema, ToolListChangedNotificationSchema, ListChangedOptionsBaseSchema, LoggingLevelSchema, SetLevelRequestParamsSchema, SetLevelRequestSchema, LoggingMessageNotificationParamsSchema, LoggingMessageNotificationSchema, ModelHintSchema, ModelPreferencesSchema, ToolChoiceSchema, ToolResultContentSchema, SamplingContentSchema, SamplingMessageContentBlockSchema, SamplingMessageSchema, CreateMessageRequestParamsSchema, CreateMessageRequestSchema, CreateMessageResultSchema, CreateMessageResultWithToolsSchema, BooleanSchemaSchema, StringSchemaSchema, NumberSchemaSchema, UntitledSingleSelectEnumSchemaSchema, TitledSingleSelectEnumSchemaSchema, LegacyTitledEnumSchemaSchema, SingleSelectEnumSchemaSchema, UntitledMultiSelectEnumSchemaSchema, TitledMultiSelectEnumSchemaSchema, MultiSelectEnumSchemaSchema, EnumSchemaSchema, PrimitiveSchemaDefinitionSchema, ElicitRequestFormParamsSchema, ElicitRequestURLParamsSchema, ElicitRequestParamsSchema, ElicitRequestSchema, ElicitationCompleteNotificationParamsSchema, ElicitationCompleteNotificationSchema, ElicitResultSchema, ResourceTemplateReferenceSchema, PromptReferenceSchema, CompleteRequestParamsSchema, CompleteRequestSchema, CompleteResultSchema, RootSchema, ListRootsRequestSchema, ListRootsResultSchema, RootsListChangedNotificationSchema, ClientRequestSchema, ClientNotificationSchema, ClientResultSchema, ServerRequestSchema, ServerNotificationSchema, ServerResultSchema, McpError, UrlElicitationRequiredError;
197292
- var init_types7 = __esm({
197382
+ var init_types8 = __esm({
197293
197383
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js"() {
197294
197384
  init_esbuild_shims();
197295
197385
  init_v42();
@@ -199261,7 +199351,7 @@ var init_protocol = __esm({
199261
199351
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js"() {
199262
199352
  init_esbuild_shims();
199263
199353
  init_zod_compat();
199264
- init_types7();
199354
+ init_types8();
199265
199355
  init_interfaces();
199266
199356
  init_zod_json_schema_compat();
199267
199357
  DEFAULT_REQUEST_TIMEOUT_MSEC = 6e4;
@@ -200270,7 +200360,7 @@ var ExperimentalClientTasks;
200270
200360
  var init_client3 = __esm({
200271
200361
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js"() {
200272
200362
  init_esbuild_shims();
200273
- init_types7();
200363
+ init_types8();
200274
200364
  ExperimentalClientTasks = class {
200275
200365
  static {
200276
200366
  __name(this, "ExperimentalClientTasks");
@@ -200518,7 +200608,7 @@ var init_client4 = __esm({
200518
200608
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js"() {
200519
200609
  init_esbuild_shims();
200520
200610
  init_protocol();
200521
- init_types7();
200611
+ init_types8();
200522
200612
  init_ajv_provider();
200523
200613
  init_zod_compat();
200524
200614
  init_client3();
@@ -201269,7 +201359,7 @@ var init_auth_utils = __esm({
201269
201359
 
201270
201360
  // packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js
201271
201361
  var OAuthError, InvalidRequestError, InvalidClientError, InvalidGrantError, UnauthorizedClientError, UnsupportedGrantTypeError, InvalidScopeError, AccessDeniedError, ServerError, TemporarilyUnavailableError, UnsupportedResponseTypeError, UnsupportedTokenTypeError, InvalidTokenError, MethodNotAllowedError, TooManyRequestsError, InvalidClientMetadataError, InsufficientScopeError, InvalidTargetError, OAUTH_ERRORS;
201272
- var init_errors6 = __esm({
201362
+ var init_errors7 = __esm({
201273
201363
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js"() {
201274
201364
  init_esbuild_shims();
201275
201365
  OAuthError = class extends Error {
@@ -201912,11 +202002,11 @@ var init_auth2 = __esm({
201912
202002
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js"() {
201913
202003
  init_esbuild_shims();
201914
202004
  init_index_node();
201915
- init_types7();
202005
+ init_types8();
201916
202006
  init_auth();
201917
202007
  init_auth();
201918
202008
  init_auth_utils();
201919
- init_errors6();
202009
+ init_errors7();
201920
202010
  UnauthorizedError2 = class extends Error {
201921
202011
  static {
201922
202012
  __name(this, "UnauthorizedError");
@@ -202060,7 +202150,7 @@ function splitLines2(chunk) {
202060
202150
  return [lines, incompleteLine];
202061
202151
  }
202062
202152
  var ParseError;
202063
- var init_dist2 = __esm({
202153
+ var init_dist3 = __esm({
202064
202154
  "node_modules/eventsource-parser/dist/index.js"() {
202065
202155
  init_esbuild_shims();
202066
202156
  ParseError = class extends Error {
@@ -202082,7 +202172,7 @@ var EventSourceParserStream;
202082
202172
  var init_stream = __esm({
202083
202173
  "node_modules/eventsource-parser/dist/stream.js"() {
202084
202174
  init_esbuild_shims();
202085
- init_dist2();
202175
+ init_dist3();
202086
202176
  EventSourceParserStream = class extends TransformStream {
202087
202177
  static {
202088
202178
  __name(this, "EventSourceParserStream");
@@ -202117,7 +202207,7 @@ var init_streamableHttp = __esm({
202117
202207
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js"() {
202118
202208
  init_esbuild_shims();
202119
202209
  init_transport();
202120
- init_types7();
202210
+ init_types8();
202121
202211
  init_auth2();
202122
202212
  init_stream();
202123
202213
  DEFAULT_STREAMABLE_HTTP_RECONNECTION_OPTIONS = {
@@ -203068,7 +203158,7 @@ var ReadBuffer;
203068
203158
  var init_stdio = __esm({
203069
203159
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js"() {
203070
203160
  init_esbuild_shims();
203071
- init_types7();
203161
+ init_types8();
203072
203162
  ReadBuffer = class {
203073
203163
  static {
203074
203164
  __name(this, "ReadBuffer");
@@ -203304,14 +203394,14 @@ var init_ide_client = __esm({
203304
203394
  init_detect_ide();
203305
203395
  init_ideContext();
203306
203396
  init_storage();
203307
- init_types6();
203397
+ init_types7();
203308
203398
  init_process_utils();
203309
203399
  init_client4();
203310
203400
  init_streamableHttp();
203311
203401
  init_stdio2();
203312
- init_types7();
203402
+ init_types8();
203313
203403
  import_undici = __toESM(require_undici(), 1);
203314
- init_types7();
203404
+ init_types8();
203315
203405
  init_constants4();
203316
203406
  logger = {
203317
203407
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -204207,7 +204297,7 @@ var init_edit = __esm({
204207
204297
  init_tool_error();
204208
204298
  init_paths();
204209
204299
  init_errors();
204210
- init_config3();
204300
+ init_config4();
204211
204301
  init_diffOptions();
204212
204302
  init_read_file();
204213
204303
  init_tool_names();
@@ -204586,7 +204676,7 @@ var init_exitPlanMode = __esm({
204586
204676
  "use strict";
204587
204677
  init_esbuild_shims();
204588
204678
  init_tools();
204589
- init_config3();
204679
+ init_config4();
204590
204680
  init_tool_names();
204591
204681
  exitPlanModeToolDescription = `Use this tool when you are in plan mode and have finished presenting your plan and are ready to code. This will prompt the user to exit plan mode.
204592
204682
  IMPORTANT: Only use this tool when the task requires planning the implementation steps of a task that requires writing code. For research tasks where you're gathering information, searching files, reading files or in general trying to understand the codebase - do NOT use this tool.
@@ -204745,7 +204835,7 @@ var init_glob2 = __esm({
204745
204835
  init_tools();
204746
204836
  init_tool_names();
204747
204837
  init_paths();
204748
- init_config3();
204838
+ init_config4();
204749
204839
  init_constants3();
204750
204840
  init_tool_error();
204751
204841
  init_errors();
@@ -205505,7 +205595,7 @@ var init_read_many_files = __esm({
205505
205595
  init_errors();
205506
205596
  init_esm11();
205507
205597
  init_fileUtils();
205508
- init_config3();
205598
+ init_config4();
205509
205599
  init_metrics2();
205510
205600
  init_telemetry_utils();
205511
205601
  init_loggers();
@@ -206576,7 +206666,7 @@ var init_smart_edit = __esm({
206576
206666
  init_tool_error();
206577
206667
  init_paths();
206578
206668
  init_errors();
206579
- init_config3();
206669
+ init_config4();
206580
206670
  init_diffOptions();
206581
206671
  init_read_file();
206582
206672
  init_modifiable_tool();
@@ -207643,10 +207733,10 @@ function getBaseURL() {
207643
207733
  return doc && typeof doc == "object" && "baseURI" in doc && typeof doc.baseURI == "string" ? doc.baseURI : void 0;
207644
207734
  }
207645
207735
  var ErrorEvent, __typeError, __accessCheck, __privateGet, __privateAdd, __privateSet, __privateMethod, _readyState, _url2, _redirectUrl, _withCredentials, _fetch, _reconnectInterval, _reconnectTimer, _lastEventId, _controller, _parser, _onError, _onMessage, _onOpen, _EventSource_instances, connect_fn, _onFetchResponse, _onFetchError, getRequestOptions_fn, _onEvent, _onRetryChange, failConnection_fn, scheduleReconnect_fn, _reconnect, EventSource;
207646
- var init_dist3 = __esm({
207736
+ var init_dist4 = __esm({
207647
207737
  "node_modules/eventsource/dist/index.js"() {
207648
207738
  init_esbuild_shims();
207649
- init_dist2();
207739
+ init_dist3();
207650
207740
  ErrorEvent = class extends Event {
207651
207741
  static {
207652
207742
  __name(this, "ErrorEvent");
@@ -207916,9 +208006,9 @@ var SseError, SSEClientTransport;
207916
208006
  var init_sse = __esm({
207917
208007
  "packages/core/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js"() {
207918
208008
  init_esbuild_shims();
207919
- init_dist3();
208009
+ init_dist4();
207920
208010
  init_transport();
207921
- init_types7();
208011
+ init_types8();
207922
208012
  init_auth2();
207923
208013
  SseError = class extends Error {
207924
208014
  static {
@@ -208709,7 +208799,7 @@ var init_file_token_storage = __esm({
208709
208799
 
208710
208800
  // packages/core/dist/src/mcp/token-storage/types.js
208711
208801
  var TokenStorageType;
208712
- var init_types8 = __esm({
208802
+ var init_types9 = __esm({
208713
208803
  "packages/core/dist/src/mcp/token-storage/types.js"() {
208714
208804
  "use strict";
208715
208805
  init_esbuild_shims();
@@ -208912,7 +209002,7 @@ var init_hybrid_token_storage = __esm({
208912
209002
  init_esbuild_shims();
208913
209003
  init_base_token_storage();
208914
209004
  init_file_token_storage();
208915
- init_types8();
209005
+ init_types9();
208916
209006
  FORCE_FILE_STORAGE_ENV_VAR = "GEMINI_FORCE_FILE_STORAGE";
208917
209007
  HybridTokenStorage = class extends BaseTokenStorage {
208918
209008
  static {
@@ -208990,7 +209080,7 @@ var init_token_storage = __esm({
208990
209080
  "packages/core/dist/src/mcp/token-storage/index.js"() {
208991
209081
  "use strict";
208992
209082
  init_esbuild_shims();
208993
- init_types8();
209083
+ init_types9();
208994
209084
  init_base_token_storage();
208995
209085
  init_file_token_storage();
208996
209086
  init_hybrid_token_storage();
@@ -210490,9 +210580,9 @@ var init_mcp_client = __esm({
210490
210580
  init_sse();
210491
210581
  init_stdio2();
210492
210582
  init_streamableHttp();
210493
- init_types7();
210583
+ init_types8();
210494
210584
  import_shell_quote3 = __toESM(require_shell_quote(), 1);
210495
- init_config3();
210585
+ init_config4();
210496
210586
  init_google_auth_provider();
210497
210587
  init_sa_impersonation_provider();
210498
210588
  init_mcp_tool();
@@ -210655,7 +210745,7 @@ var init_mcp_client_manager = __esm({
210655
210745
  "packages/core/dist/src/tools/mcp-client-manager.js"() {
210656
210746
  "use strict";
210657
210747
  init_esbuild_shims();
210658
- init_config3();
210748
+ init_config4();
210659
210749
  init_mcp_client();
210660
210750
  init_errors();
210661
210751
  McpClientManager = class {
@@ -216706,7 +216796,7 @@ var init_web_fetch = __esm({
216706
216796
  init_esbuild_shims();
216707
216797
  init_html_to_text();
216708
216798
  import_undici2 = __toESM(require_undici(), 1);
216709
- init_config3();
216799
+ init_config4();
216710
216800
  init_fetch2();
216711
216801
  init_partUtils();
216712
216802
  init_tool_error();
@@ -217149,7 +217239,7 @@ var init_web_search = __esm({
217149
217239
  init_esbuild_shims();
217150
217240
  init_tools();
217151
217241
  init_tool_error();
217152
- init_config3();
217242
+ init_config4();
217153
217243
  init_errors();
217154
217244
  init_utils7();
217155
217245
  init_tavily_provider();
@@ -217401,7 +217491,7 @@ var init_write_file = __esm({
217401
217491
  "use strict";
217402
217492
  init_esbuild_shims();
217403
217493
  init_lib();
217404
- init_config3();
217494
+ init_config4();
217405
217495
  init_tools();
217406
217496
  init_tool_error();
217407
217497
  init_paths();
@@ -217642,7 +217732,7 @@ var init_write_file = __esm({
217642
217732
 
217643
217733
  // packages/core/dist/src/output/types.js
217644
217734
  var InputFormat, OutputFormat;
217645
- var init_types9 = __esm({
217735
+ var init_types10 = __esm({
217646
217736
  "packages/core/dist/src/output/types.js"() {
217647
217737
  "use strict";
217648
217738
  init_esbuild_shims();
@@ -217855,7 +217945,7 @@ var init_yaml_parser = __esm({
217855
217945
 
217856
217946
  // packages/core/dist/src/skills/types.js
217857
217947
  var SkillError, SkillErrorCode;
217858
- var init_types10 = __esm({
217948
+ var init_types11 = __esm({
217859
217949
  "packages/core/dist/src/skills/types.js"() {
217860
217950
  "use strict";
217861
217951
  init_esbuild_shims();
@@ -217892,7 +217982,7 @@ var init_skill_manager = __esm({
217892
217982
  "use strict";
217893
217983
  init_esbuild_shims();
217894
217984
  init_yaml_parser();
217895
- init_types10();
217985
+ init_types11();
217896
217986
  QWEN_CONFIG_DIR2 = ".qwen";
217897
217987
  SKILLS_CONFIG_DIR = "skills";
217898
217988
  SKILL_MANIFEST_FILE = "SKILL.md";
@@ -219153,8 +219243,8 @@ function shouldAttemptBrowserLaunch() {
219153
219243
  if (process.env["CI"] || process.env["DEBIAN_FRONTEND"] === "noninteractive") {
219154
219244
  return false;
219155
219245
  }
219156
- const isTermux4 = process.platform === "android" || !!process.env["TERMUX_VERSION"] || !!(process.env["PREFIX"] && process.env["PREFIX"].includes("com.termux"));
219157
- if (isTermux4) {
219246
+ const isTermux5 = process.platform === "android" || !!process.env["TERMUX_VERSION"] || !!(process.env["PREFIX"] && process.env["PREFIX"].includes("com.termux"));
219247
+ if (isTermux5) {
219158
219248
  return true;
219159
219249
  }
219160
219250
  const isSSH = !!process.env["SSH_CONNECTION"];
@@ -219358,7 +219448,7 @@ function normalizeConfigOutputFormat(format4) {
219358
219448
  }
219359
219449
  }
219360
219450
  var import_undici3, ApprovalMode, APPROVAL_MODES, APPROVAL_MODE_INFO, DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD, DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES, MCPServerConfig, AuthProviderType, Config;
219361
- var init_config3 = __esm({
219451
+ var init_config4 = __esm({
219362
219452
  "packages/core/dist/src/config/config.js"() {
219363
219453
  "use strict";
219364
219454
  init_esbuild_shims();
@@ -219390,7 +219480,7 @@ var init_config3 = __esm({
219390
219480
  init_web_search();
219391
219481
  init_write_file();
219392
219482
  init_ideContext();
219393
- init_types9();
219483
+ init_types10();
219394
219484
  init_prompt_registry();
219395
219485
  init_skill_manager();
219396
219486
  init_subagent_manager();
@@ -220610,7 +220700,7 @@ var init_nonInteractiveToolExecutor = __esm({
220610
220700
  });
220611
220701
 
220612
220702
  // packages/core/dist/src/fallback/types.js
220613
- var init_types11 = __esm({
220703
+ var init_types12 = __esm({
220614
220704
  "packages/core/dist/src/fallback/types.js"() {
220615
220705
  "use strict";
220616
220706
  init_esbuild_shims();
@@ -227513,7 +227603,7 @@ var init_skills = __esm({
227513
227603
  "packages/core/dist/src/skills/index.js"() {
227514
227604
  "use strict";
227515
227605
  init_esbuild_shims();
227516
- init_types10();
227606
+ init_types11();
227517
227607
  init_skill_manager();
227518
227608
  }
227519
227609
  });
@@ -227557,8 +227647,8 @@ var init_src2 = __esm({
227557
227647
  "packages/core/dist/src/index.js"() {
227558
227648
  "use strict";
227559
227649
  init_esbuild_shims();
227560
- init_config3();
227561
- init_types9();
227650
+ init_config4();
227651
+ init_types10();
227562
227652
  init_json_formatter();
227563
227653
  init_client2();
227564
227654
  init_contentGenerator();
@@ -227570,7 +227660,7 @@ var init_src2 = __esm({
227570
227660
  init_geminiRequest();
227571
227661
  init_coreToolScheduler();
227572
227662
  init_nonInteractiveToolExecutor();
227573
- init_types11();
227663
+ init_types12();
227574
227664
  init_qwenOAuth2();
227575
227665
  init_paths();
227576
227666
  init_schemaValidator();
@@ -227610,7 +227700,7 @@ var init_src2 = __esm({
227610
227700
  init_ide_installer();
227611
227701
  init_detect_ide();
227612
227702
  init_constants4();
227613
- init_types6();
227703
+ init_types7();
227614
227704
  init_shellExecutionService();
227615
227705
  init_tools();
227616
227706
  init_tool_error();
@@ -254995,9 +255085,9 @@ var require_backend = __commonJS({
254995
255085
  }
254996
255086
  __name(surrogatePairToCodePoint, "surrogatePairToCodePoint");
254997
255087
  function utfEncodeString(string4) {
254998
- var cached2 = encodedStringCache.get(string4);
254999
- if (cached2 !== void 0) {
255000
- return cached2;
255088
+ var cached3 = encodedStringCache.get(string4);
255089
+ if (cached3 !== void 0) {
255090
+ return cached3;
255001
255091
  }
255002
255092
  var encoded = [];
255003
255093
  var i3 = 0;
@@ -333554,9 +333644,9 @@ var require_range = __commonJS({
333554
333644
  parseRange(range) {
333555
333645
  const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
333556
333646
  const memoKey = memoOpts + ":" + range;
333557
- const cached2 = cache5.get(memoKey);
333558
- if (cached2) {
333559
- return cached2;
333647
+ const cached3 = cache5.get(memoKey);
333648
+ if (cached3) {
333649
+ return cached3;
333560
333650
  }
333561
333651
  const loose = this.options.loose;
333562
333652
  const hr3 = loose ? re3[t5.HYPHENRANGELOOSE] : re3[t5.HYPHENRANGE];
@@ -334934,6 +335024,36 @@ var require_ansi_align = __commonJS({
334934
335024
  // packages/cli/index.ts
334935
335025
  init_esbuild_shims();
334936
335026
 
335027
+ // packages/cli/src/patches/termux-runtime.ts
335028
+ init_esbuild_shims();
335029
+ if (typeof Uint8Array.fromBase64 !== "function") {
335030
+ Uint8Array.fromBase64 = (base642) => {
335031
+ const buf = Buffer.from(base642, "base64");
335032
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
335033
+ };
335034
+ }
335035
+ if (typeof Uint8Array.prototype.toBase64 !== "function") {
335036
+ Uint8Array.prototype.toBase64 = function() {
335037
+ return Buffer.from(this).toString("base64");
335038
+ };
335039
+ }
335040
+ if (process.platform === "android") {
335041
+ if (process.env["PREFIX"] && !process.env["TERMUX__PREFIX"]) {
335042
+ process.env["TERMUX__PREFIX"] = process.env["PREFIX"];
335043
+ }
335044
+ const origEmit = process.emit.bind(process);
335045
+ process.emit = (...args) => {
335046
+ const name3 = args[0];
335047
+ const warning = args[1];
335048
+ if (name3 === "warning") {
335049
+ if (warning?.name === "DeprecationWarning" && warning.message?.includes("punycode")) {
335050
+ return false;
335051
+ }
335052
+ }
335053
+ return origEmit(...args);
335054
+ };
335055
+ }
335056
+
334937
335057
  // packages/cli/src/gemini.tsx
334938
335058
  init_esbuild_shims();
334939
335059
 
@@ -334943,14 +335063,14 @@ init_src2();
334943
335063
  init_storage();
334944
335064
  init_models();
334945
335065
  init_terminalSerializer();
334946
- init_config3();
335066
+ init_config4();
334947
335067
  init_detect_ide();
334948
335068
  init_loggers();
334949
335069
  init_types();
334950
335070
 
334951
335071
  // packages/core/dist/src/test-utils/config.js
334952
335072
  init_esbuild_shims();
334953
- init_config3();
335073
+ init_config4();
334954
335074
 
334955
335075
  // packages/core/dist/src/utils/pathReader.js
334956
335076
  init_esbuild_shims();
@@ -350437,10 +350557,10 @@ var MIGRATION_MAP = {
350437
350557
  vlmSwitchMode: "experimental.vlmSwitchMode",
350438
350558
  visionModelPreview: "experimental.visionModelPreview"
350439
350559
  };
350440
- function isTermux2() {
350560
+ function isTermux3() {
350441
350561
  return process25.platform === "android" || !!process25.env["TERMUX_VERSION"] || !!(process25.env["PREFIX"] && process25.env["PREFIX"].includes("com.termux"));
350442
350562
  }
350443
- __name(isTermux2, "isTermux");
350563
+ __name(isTermux3, "isTermux");
350444
350564
  function getSystemSettingsPath() {
350445
350565
  if (process25.env["QWEN_CODE_SYSTEM_SETTINGS_PATH"]) {
350446
350566
  return process25.env["QWEN_CODE_SYSTEM_SETTINGS_PATH"];
@@ -350913,7 +351033,7 @@ function loadSettings(workspaceDir = process25.cwd()) {
350913
351033
  systemDefaultSettings = resolveEnvVarsInObject(systemDefaultsResult.settings);
350914
351034
  userSettings = resolveEnvVarsInObject(userResult.settings);
350915
351035
  workspaceSettings = resolveEnvVarsInObject(workspaceResult.settings);
350916
- if (isTermux2()) {
351036
+ if (isTermux3()) {
350917
351037
  const hasHideBannerSetting = [
350918
351038
  systemSettings.ui?.hideBanner,
350919
351039
  systemDefaultSettings.ui?.hideBanner,
@@ -356996,7 +357116,7 @@ __name(getPackageJson, "getPackageJson");
356996
357116
  // packages/cli/src/utils/version.ts
356997
357117
  async function getCliVersion() {
356998
357118
  const pkgJson = await getPackageJson();
356999
- return "0.6.404-termux";
357119
+ return "0.6.407-termux";
357000
357120
  }
357001
357121
  __name(getCliVersion, "getCliVersion");
357002
357122
 
@@ -365079,7 +365199,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
365079
365199
 
365080
365200
  // packages/cli/src/generated/git-commit.ts
365081
365201
  init_esbuild_shims();
365082
- var GIT_COMMIT_INFO2 = "7bfdc96f";
365202
+ var GIT_COMMIT_INFO2 = "4e95b61d";
365083
365203
 
365084
365204
  // packages/cli/src/utils/systemInfo.ts
365085
365205
  async function getNpmVersion() {
@@ -373391,9 +373511,9 @@ function toCodePoints(str2) {
373391
373511
  return str2.split("");
373392
373512
  }
373393
373513
  if (str2.length <= MAX_STRING_LENGTH_TO_CACHE) {
373394
- const cached2 = codePointsCache.get(str2);
373395
- if (cached2) {
373396
- return cached2;
373514
+ const cached3 = codePointsCache.get(str2);
373515
+ if (cached3) {
373516
+ return cached3;
373397
373517
  }
373398
373518
  }
373399
373519
  const result = Array.from(str2);
@@ -402094,9 +402214,9 @@ function useSlashCompletion(props) {
402094
402214
  if (!commands || commands.length === 0) {
402095
402215
  return null;
402096
402216
  }
402097
- const cached2 = fzfInstanceCache.get(commands);
402098
- if (cached2) {
402099
- return cached2;
402217
+ const cached3 = fzfInstanceCache.get(commands);
402218
+ if (cached3) {
402219
+ return cached3;
402100
402220
  }
402101
402221
  const commandItems = [];
402102
402222
  const commandMap = /* @__PURE__ */ new Map();
@@ -413747,11 +413867,11 @@ init_esbuild_shims();
413747
413867
  import fs99 from "node:fs/promises";
413748
413868
  import * as os41 from "node:os";
413749
413869
  import path110 from "node:path";
413750
- function isTermux3() {
413870
+ function isTermux4() {
413751
413871
  return process.platform === "android" || !!process.env["TERMUX_VERSION"] || !!(process.env["PREFIX"] && process.env["PREFIX"].includes("com.termux"));
413752
413872
  }
413753
- __name(isTermux3, "isTermux");
413754
- var IS_TERMUX = isTermux3();
413873
+ __name(isTermux4, "isTermux");
413874
+ var IS_TERMUX = isTermux4();
413755
413875
  var homeDirectoryCheck = {
413756
413876
  id: "home-directory",
413757
413877
  check: /* @__PURE__ */ __name(async (options2) => {
@@ -416297,7 +416417,7 @@ var GeminiAgent = class {
416297
416417
  name: APPROVAL_MODE_INFO[mode].name,
416298
416418
  description: APPROVAL_MODE_INFO[mode].description
416299
416419
  }));
416300
- const version2 = "0.6.404-termux";
416420
+ const version2 = "0.6.407-termux";
416301
416421
  return {
416302
416422
  protocolVersion: PROTOCOL_VERSION,
416303
416423
  agentInfo: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmmbuto/qwen-code-termux",
3
- "version": "0.6.404-termux",
3
+ "version": "0.6.407-termux",
4
4
  "engines": {
5
5
  "node": ">=20.0.0"
6
6
  },
@@ -13,7 +13,7 @@
13
13
  "url": "git+https://github.com/DioNanos/qwen-code-termux.git"
14
14
  },
15
15
  "config": {
16
- "sandboxImageUri": "ghcr.io/mmmbuto/qwen-code-termux:0.6.404-termux"
16
+ "sandboxImageUri": "ghcr.io/mmmbuto/qwen-code-termux:0.6.407-termux"
17
17
  },
18
18
  "scripts": {
19
19
  "start": "cross-env node scripts/start.js",
@@ -90,23 +90,23 @@ if (!argv.s) {
90
90
  execSync('npm run build --workspaces', { stdio: 'inherit' });
91
91
  }
92
92
 
93
- console.log('packing @qwen-code/qwen-code ...');
93
+ console.log('packing @mmmbuto/qwen-code-termux ...');
94
94
  const cliPackageDir = join('packages', 'cli');
95
95
  rmSync(join(cliPackageDir, 'dist', 'qwen-code-*.tgz'), { force: true });
96
96
  execSync(
97
- `npm pack -w @qwen-code/qwen-code --pack-destination ./packages/cli/dist`,
97
+ `npm pack -w @mmmbuto/qwen-code-termux --pack-destination ./packages/cli/dist`,
98
98
  {
99
99
  stdio: 'ignore',
100
100
  },
101
101
  );
102
102
 
103
- console.log('packing @qwen-code/qwen-code-core ...');
103
+ console.log('packing @mmmbuto/qwen-code-termux-core ...');
104
104
  const corePackageDir = join('packages', 'core');
105
105
  rmSync(join(corePackageDir, 'dist', 'qwen-code-core-*.tgz'), {
106
106
  force: true,
107
107
  });
108
108
  execSync(
109
- `npm pack -w @qwen-code/qwen-code-core --pack-destination ./packages/core/dist`,
109
+ `npm pack -w @mmmbuto/qwen-code-termux-core --pack-destination ./packages/core/dist`,
110
110
  { stdio: 'ignore' },
111
111
  );
112
112
 
@@ -27,7 +27,7 @@ function getArgs() {
27
27
  }
28
28
 
29
29
  function getVersionFromNPM(distTag) {
30
- const command = `npm view @qwen-code/qwen-code version --tag=${distTag}`;
30
+ const command = `npm view @mmmbuto/qwen-code-termux version --tag=${distTag}`;
31
31
  try {
32
32
  return execSync(command).toString().trim();
33
33
  } catch (error) {
@@ -39,7 +39,7 @@ function getVersionFromNPM(distTag) {
39
39
  }
40
40
 
41
41
  function getAllVersionsFromNPM() {
42
- const command = `npm view @qwen-code/qwen-code versions --json`;
42
+ const command = `npm view @mmmbuto/qwen-code-termux versions --json`;
43
43
  try {
44
44
  const versionsJson = execSync(command).toString().trim();
45
45
  return JSON.parse(versionsJson);
@@ -50,7 +50,7 @@ function getAllVersionsFromNPM() {
50
50
  }
51
51
 
52
52
  function isVersionDeprecated(version) {
53
- const command = `npm view @qwen-code/qwen-code@${version} deprecated`;
53
+ const command = `npm view @mmmbuto/qwen-code-termux@${version} deprecated`;
54
54
  try {
55
55
  const output = execSync(command).toString().trim();
56
56
  return output.length > 0;
@@ -131,7 +131,7 @@ function detectRollbackAndGetBaseline(npmDistTag) {
131
131
  function doesVersionExist(version) {
132
132
  // Check NPM
133
133
  try {
134
- const command = `npm view @qwen-code/qwen-code@${version} version 2>/dev/null`;
134
+ const command = `npm view @mmmbuto/qwen-code-termux@${version} version 2>/dev/null`;
135
135
  const output = execSync(command).toString().trim();
136
136
  if (output === version) {
137
137
  console.error(`Version ${version} already exists on NPM.`);
@@ -57,7 +57,7 @@ describe('getVersion', () => {
57
57
  // For doesVersionExist checks - default to not found
58
58
  if (
59
59
  command.includes('npm view') &&
60
- command.includes('@qwen-code/qwen-code@')
60
+ command.includes('@mmmbuto/qwen-code-termux@')
61
61
  ) {
62
62
  throw new Error('NPM version not found');
63
63
  }
@@ -124,7 +124,7 @@ describe('getVersion', () => {
124
124
  // Mock the deprecation check
125
125
  if (
126
126
  command.includes(
127
- 'npm view @qwen-code/qwen-code@0.9.0-nightly.20250917.deprecated deprecated',
127
+ 'npm view @mmmbuto/qwen-code-termux@0.9.0-nightly.20250917.deprecated deprecated',
128
128
  )
129
129
  )
130
130
  return 'This version is deprecated';
@@ -162,14 +162,14 @@ describe('getVersion', () => {
162
162
  // The calculated preview 0.8.0-preview.0 already exists on NPM
163
163
  if (
164
164
  command.includes(
165
- 'npm view @qwen-code/qwen-code@0.8.0-preview.0 version',
165
+ 'npm view @mmmbuto/qwen-code-termux@0.8.0-preview.0 version',
166
166
  )
167
167
  )
168
168
  return '0.8.0-preview.0';
169
169
  // The next one is available
170
170
  if (
171
171
  command.includes(
172
- 'npm view @qwen-code/qwen-code@0.8.0-preview.1 version',
172
+ 'npm view @mmmbuto/qwen-code-termux@0.8.0-preview.1 version',
173
173
  )
174
174
  )
175
175
  throw new Error('Not found');