@qwen-code/qwen-code 0.16.0-preview.0 → 0.16.1

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 (89) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +39 -37
  2. package/bundled/qc-helper/docs/features/_meta.ts +2 -0
  3. package/bundled/qc-helper/docs/features/approval-mode.md +119 -2
  4. package/bundled/qc-helper/docs/features/auto-mode.md +263 -0
  5. package/bundled/qc-helper/docs/features/commands.md +11 -10
  6. package/bundled/qc-helper/docs/features/skills.md +3 -0
  7. package/bundled/qc-helper/docs/features/structured-output.md +309 -0
  8. package/bundled/qc-helper/docs/features/sub-agents.md +47 -5
  9. package/bundled/qc-helper/docs/qwen-serve.md +119 -14
  10. package/bundled/review/SKILL.md +12 -3
  11. package/chunks/{agent-ZNQPH67I.js → agent-2JCG7FDJ.js} +9 -11
  12. package/chunks/{anthropicContentGenerator-ICBDZ6R2.js → anthropicContentGenerator-RQJNXJIY.js} +6 -3
  13. package/chunks/{askUserQuestion-WQILGUSQ.js → askUserQuestion-PQPMPNM3.js} +1 -1
  14. package/chunks/{ca-S3XJMT6P.js → ca-UZ7BANMN.js} +3 -3
  15. package/chunks/{chunk-XVHR7ATJ.js → chunk-4AOCVI6J.js} +1 -0
  16. package/chunks/chunk-7LMPOVYW.js +956 -0
  17. package/chunks/{chunk-MNPZ2WO6.js → chunk-BAZDG3QU.js} +9104 -3955
  18. package/chunks/{chunk-AEJ2DKLP.js → chunk-C6WMLUNB.js} +1 -1
  19. package/chunks/{chunk-PPHYLJSS.js → chunk-CAVZVZX6.js} +2 -2
  20. package/chunks/{chunk-VTPOO6GV.js → chunk-CSWBPY3P.js} +1 -1
  21. package/chunks/chunk-D6LBYOCX.js +19126 -0
  22. package/chunks/{chunk-NAID3ZWF.js → chunk-DMIMF3CG.js} +1 -1
  23. package/chunks/{chunk-2B7UBDY5.js → chunk-GGNTZ2NH.js} +90 -19
  24. package/chunks/chunk-HW5S7L73.js +379 -0
  25. package/chunks/{chunk-C3LHPHN2.js → chunk-JCR2WRXZ.js} +1227 -657
  26. package/chunks/{chunk-EDYSNFEM.js → chunk-L5E26RN6.js} +2 -2
  27. package/chunks/{chunk-CW44BRRA.js → chunk-MAY32HXD.js} +375 -0
  28. package/chunks/{chunk-7QXHXMC6.js → chunk-N6GSJHZ4.js} +96 -20
  29. package/chunks/{chunk-FZIUV27X.js → chunk-PVVL5Q3W.js} +31 -0
  30. package/chunks/{chunk-YHEAJFCI.js → chunk-USE2VQ5P.js} +3 -0
  31. package/chunks/{chunk-JYQUJ5DS.js → chunk-YJLGXDQJ.js} +1 -1
  32. package/chunks/{contextCommand-IGBCEXI4.js → contextCommand-XVRGKS3Q.js} +11 -13
  33. package/chunks/{cron-create-AVI3Q267.js → cron-create-IGYXQVG4.js} +27 -1
  34. package/chunks/{cron-delete-ZCEGDXXV.js → cron-delete-ETKIZCWT.js} +1 -1
  35. package/chunks/{cron-list-VN653OK5.js → cron-list-BVCUSWRU.js} +1 -1
  36. package/chunks/{de-MNR4SMAI.js → de-V4IE2OOZ.js} +3 -3
  37. package/chunks/{dist-RRYNPBOE.js → dist-4L54HRX2.js} +2 -2
  38. package/chunks/{dist-WP4AH3VK.js → dist-BXDUQ2QY.js} +1 -1
  39. package/chunks/{dist-M6GFCZ7S.js → dist-MN2PDDPR.js} +1 -1
  40. package/chunks/{edit-74Q4AFHQ.js → edit-3MLXHQPW.js} +22 -12
  41. package/chunks/{en-FIUWJSZR.js → en-HGJ2SPLM.js} +4 -3
  42. package/chunks/{enter-worktree-H72HXC7D.js → enter-worktree-OCA4SG6D.js} +35 -11
  43. package/chunks/{exit-worktree-FGIQO3S3.js → exit-worktree-6EDLXVEV.js} +35 -11
  44. package/chunks/{exitPlanMode-NBR2PK2D.js → exitPlanMode-H75KHRX4.js} +9 -11
  45. package/chunks/{fr-OFJFHLCR.js → fr-CJULI7ZX.js} +3 -3
  46. package/chunks/{geminiContentGenerator-33RP4WKD.js → geminiContentGenerator-E7Y6TCPU.js} +1 -1
  47. package/chunks/{glob-WEE3CJL6.js → glob-JFFSKARO.js} +9 -11
  48. package/chunks/{grep-DZKSBFZK.js → grep-7TAFR7MX.js} +9 -11
  49. package/chunks/{ja-V6OQ6VL7.js → ja-L7CHRQEW.js} +3 -3
  50. package/chunks/{ls-6F3VSP6S.js → ls-7HD6XG3V.js} +1 -1
  51. package/chunks/{lsp-67Y7DJN5.js → lsp-ZZSFCIWD.js} +1 -1
  52. package/chunks/{monitor-EDZWEZVS.js → monitor-YX2ABLXH.js} +21 -11
  53. package/chunks/notebook-edit-EEJEGFZR.js +756 -0
  54. package/chunks/{openaiContentGenerator-5NQG3W64.js → openaiContentGenerator-BSAWHGQJ.js} +9 -8
  55. package/chunks/{pt-ZLE6SA4A.js → pt-M6JULLEQ.js} +3 -3
  56. package/chunks/{qwenContentGenerator-4DPUUS6R.js → qwenContentGenerator-47XRHQXM.js} +11 -13
  57. package/chunks/{qwenOAuth2-JE7H47TE.js → qwenOAuth2-EEJGROP7.js} +7 -1
  58. package/chunks/{read-file-CQOF7BQ2.js → read-file-O53WD46Y.js} +4 -5
  59. package/chunks/{ripGrep-KR5LKGTI.js → ripGrep-OXNZ5Z3T.js} +9 -11
  60. package/chunks/{ru-A4OHIUNN.js → ru-QILM4HBC.js} +3 -3
  61. package/chunks/{send-message-GB4AQZNC.js → send-message-ULK4MQXJ.js} +22 -1
  62. package/chunks/{serve-GAD2PEST.js → serve-H2REZAYD.js} +13728 -3026
  63. package/chunks/{shell-E2HMCBGR.js → shell-DET66JID.js} +9 -11
  64. package/chunks/{skill-KDZH6UZ6.js → skill-ZIXPX3L3.js} +19 -6
  65. package/chunks/{src-LY4RU5AI.js → src-PN3XGQYP.js} +205 -13
  66. package/chunks/{syntheticOutput-HFL3DE7R.js → syntheticOutput-IS2X5OZ2.js} +2 -2
  67. package/chunks/{task-stop-ZQF26RXS.js → task-stop-7QSJGSSP.js} +1 -1
  68. package/chunks/{todoWrite-U4SC643O.js → todoWrite-7CVACFUX.js} +2 -2
  69. package/chunks/{tool-search-U4XQVLFU.js → tool-search-GTYLSGZ3.js} +4 -5
  70. package/chunks/{web-fetch-BRWZ4WSE.js → web-fetch-ENQ2I5JA.js} +5 -2
  71. package/chunks/{write-file-NBLRMNGB.js → write-file-NILNEZCR.js} +19 -12
  72. package/chunks/{zh-V32QONGV.js → zh-PWL2NKY3.js} +4 -3
  73. package/chunks/{zh-TW-552S24LR.js → zh-TW-S3YGWICZ.js} +4 -3
  74. package/cli.js +14832 -49049
  75. package/locales/ca.js +4 -5
  76. package/locales/de.js +4 -5
  77. package/locales/en.js +6 -5
  78. package/locales/fr.js +4 -5
  79. package/locales/ja.js +4 -5
  80. package/locales/pt.js +4 -5
  81. package/locales/ru.js +4 -5
  82. package/locales/zh-TW.js +5 -4
  83. package/locales/zh.js +5 -4
  84. package/package.json +2 -2
  85. package/chunks/chunk-3MBY4GKN.js +0 -350
  86. package/chunks/chunk-5P5XGNYH.js +0 -93
  87. package/chunks/chunk-JHMX4QTD.js +0 -2306
  88. package/chunks/chunk-SYCJMSIJ.js +0 -82
  89. package/chunks/chunk-Y6Z2O3WR.js +0 -33
@@ -5,7 +5,7 @@ import {
5
5
  BaseToolInvocation,
6
6
  ToolDisplayNames,
7
7
  ToolNames
8
- } from "./chunk-FZIUV27X.js";
8
+ } from "./chunk-PVVL5Q3W.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-A4BMJM77.js";
@@ -4,32 +4,30 @@ import {
4
4
  collectContextData,
5
5
  contextCommand,
6
6
  formatContextUsageText
7
- } from "./chunk-JHMX4QTD.js";
8
- import "./chunk-Y6Z2O3WR.js";
9
- import "./chunk-MNPZ2WO6.js";
10
- import "./chunk-5P5XGNYH.js";
7
+ } from "./chunk-7LMPOVYW.js";
8
+ import "./chunk-HW5S7L73.js";
9
+ import "./chunk-BAZDG3QU.js";
11
10
  import "./chunk-K5PGHDBN.js";
12
11
  import "./chunk-O4PICXES.js";
13
12
  import "./chunk-TW522KN6.js";
14
13
  import "./chunk-MLZQVCF3.js";
15
- import "./chunk-PPHYLJSS.js";
14
+ import "./chunk-CAVZVZX6.js";
16
15
  import "./chunk-G7YTSRES.js";
17
- import "./chunk-XVHR7ATJ.js";
16
+ import "./chunk-4AOCVI6J.js";
18
17
  import "./chunk-77WXWU44.js";
19
18
  import "./chunk-F23NCRJ2.js";
20
- import "./chunk-VTPOO6GV.js";
21
- import "./chunk-C3LHPHN2.js";
22
- import "./chunk-SYCJMSIJ.js";
19
+ import "./chunk-CSWBPY3P.js";
20
+ import "./chunk-JCR2WRXZ.js";
23
21
  import "./chunk-UWCTAVOD.js";
24
22
  import "./chunk-OFEVLU4C.js";
25
23
  import "./chunk-PR4T27R7.js";
26
- import "./chunk-CW44BRRA.js";
24
+ import "./chunk-MAY32HXD.js";
27
25
  import "./chunk-D5NTAHYL.js";
28
26
  import "./chunk-T4VD6OJ4.js";
29
27
  import "./chunk-RDYWTWEM.js";
30
- import "./chunk-JYQUJ5DS.js";
31
- import "./chunk-FZIUV27X.js";
32
- import "./chunk-2B7UBDY5.js";
28
+ import "./chunk-YJLGXDQJ.js";
29
+ import "./chunk-PVVL5Q3W.js";
30
+ import "./chunk-GGNTZ2NH.js";
33
31
  import "./chunk-KXZ4TJB4.js";
34
32
  import "./chunk-XP27SJMH.js";
35
33
  import "./chunk-E7E2MFYM.js";
@@ -11,7 +11,7 @@ import {
11
11
  BaseToolInvocation,
12
12
  ToolDisplayNames,
13
13
  ToolNames
14
- } from "./chunk-FZIUV27X.js";
14
+ } from "./chunk-PVVL5Q3W.js";
15
15
  import "./chunk-XP27SJMH.js";
16
16
  import "./chunk-QWSRH265.js";
17
17
  import {
@@ -34,6 +34,17 @@ var CronCreateInvocation = class extends BaseToolInvocation {
34
34
  getDescription() {
35
35
  return `${this.params.cron}: ${this.params.prompt}`;
36
36
  }
37
+ /**
38
+ * The scheduled prompt fires against the agent at cron-trigger time
39
+ * and executes with full tool access. The CronCreateTool's L3 default
40
+ * must NOT be 'allow', because AUTO mode short-circuits at L4 when
41
+ * `finalPermission === 'allow'` — the classifier never runs and an
42
+ * arbitrary scheduled prompt is silently approved. `'ask'` routes
43
+ * the call through the classifier (or manual approval in DEFAULT).
44
+ */
45
+ async getDefaultPermission() {
46
+ return "ask";
47
+ }
37
48
  async execute() {
38
49
  const scheduler = this.config.getCronScheduler();
39
50
  const recurring = this.params.recurring !== false;
@@ -108,6 +119,21 @@ var CronCreateTool = class _CronCreateTool extends BaseDeclarativeTool {
108
119
  createInvocation(params) {
109
120
  return new CronCreateInvocation(this.config, params);
110
121
  }
122
+ /**
123
+ * Forward the prompt and cadence to the classifier. The scheduled
124
+ * prompt will be enqueued and executed against the agent at fire-time,
125
+ * so it must go through the same scrutiny as a direct command. Without
126
+ * this override the default projection returns `''` and the classifier
127
+ * sees `cron_create({})` — blind to what the agent will be asked to
128
+ * do in 8 hours.
129
+ */
130
+ toAutoClassifierInput(params) {
131
+ return {
132
+ cron: params.cron,
133
+ prompt: params.prompt,
134
+ recurring: params.recurring ?? true
135
+ };
136
+ }
111
137
  };
112
138
  export {
113
139
  CronCreateTool
@@ -5,7 +5,7 @@ import {
5
5
  BaseToolInvocation,
6
6
  ToolDisplayNames,
7
7
  ToolNames
8
- } from "./chunk-FZIUV27X.js";
8
+ } from "./chunk-PVVL5Q3W.js";
9
9
  import "./chunk-XP27SJMH.js";
10
10
  import "./chunk-QWSRH265.js";
11
11
  import {
@@ -8,7 +8,7 @@ import {
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-FZIUV27X.js";
11
+ } from "./chunk-PVVL5Q3W.js";
12
12
  import "./chunk-XP27SJMH.js";
13
13
  import "./chunk-QWSRH265.js";
14
14
  import {
@@ -125,7 +125,7 @@ var de_default = {
125
125
  "Compresses the context by replacing it with a summary.": "Komprimiert den Kontext durch Ersetzen mit einer Zusammenfassung.",
126
126
  "open full Qwen Code documentation in your browser": "Vollst\xE4ndige Qwen Code Dokumentation im Browser \xF6ffnen",
127
127
  "Configuration not available.": "Konfiguration nicht verf\xFCgbar.",
128
- "Configure authentication information for login": "Authentifizierungsinformationen f\xFCr die Anmeldung konfigurieren",
128
+ "Connect an LLM provider": "LLM-Anbieter verbinden",
129
129
  "Copy the last result or code snippet to clipboard": "Letztes Ergebnis oder Codeausschnitt in die Zwischenablage kopieren",
130
130
  // ============================================================================
131
131
  // Commands - Agents
@@ -782,8 +782,8 @@ var de_default = {
782
782
  "Continue previous conversation": "Vorheriges Gespr\xE4ch fortsetzen",
783
783
  "\u{1F44B} Welcome back! (Last updated: {{timeAgo}})": "\u{1F44B} Willkommen zur\xFCck! (Zuletzt aktualisiert: {{timeAgo}})",
784
784
  "\u{1F3AF} Overall Goal:": "\u{1F3AF} Gesamtziel:",
785
- "Select Authentication Method": "Authentifizierungsmethode ausw\xE4hlen",
786
- "You must select an auth method to proceed. Press Ctrl+C again to exit.": "Sie m\xFCssen eine Authentifizierungsmethode w\xE4hlen, um fortzufahren. Dr\xFCcken Sie erneut Ctrl+C zum Beenden.",
785
+ "Connect a Provider": "Anbieter verbinden",
786
+ "You must connect a provider to proceed. Press Ctrl+C again to exit.": "Sie m\xFCssen einen Anbieter verbinden, um fortzufahren. Dr\xFCcken Sie erneut Ctrl+C zum Beenden.",
787
787
  "Terms of Services and Privacy Notice": "Nutzungsbedingungen und Datenschutzhinweis",
788
788
  "Qwen OAuth": "Qwen OAuth",
789
789
  "Discontinued \u2014 switch to Coding Plan or API Key": "Eingestellt \u2014 wechseln Sie zu Coding Plan oder API Key",
@@ -11,10 +11,10 @@ import {
11
11
  sendMessage,
12
12
  sendTyping,
13
13
  uploadToCdn
14
- } from "./chunk-AEJ2DKLP.js";
14
+ } from "./chunk-C6WMLUNB.js";
15
15
  import {
16
16
  ChannelBase
17
- } from "./chunk-YHEAJFCI.js";
17
+ } from "./chunk-USE2VQ5P.js";
18
18
  import "./chunk-UFC57OYT.js";
19
19
  import "./chunk-K5PGHDBN.js";
20
20
  import {
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-KQIKOTQJ.js";
7
7
  import {
8
8
  ChannelBase
9
- } from "./chunk-YHEAJFCI.js";
9
+ } from "./chunk-USE2VQ5P.js";
10
10
  import "./chunk-UFC57OYT.js";
11
11
  import "./chunk-K5PGHDBN.js";
12
12
  import {
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-7RYW5LQV.js";
9
9
  import {
10
10
  ChannelBase
11
- } from "./chunk-YHEAJFCI.js";
11
+ } from "./chunk-USE2VQ5P.js";
12
12
  import "./chunk-UFC57OYT.js";
13
13
  import "./chunk-K5PGHDBN.js";
14
14
  import {
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  StructuredToolError,
5
5
  checkPriorRead
6
- } from "./chunk-EDYSNFEM.js";
6
+ } from "./chunk-L5E26RN6.js";
7
7
  import {
8
8
  CommitAttributionService,
9
9
  DEFAULT_DIFF_OPTIONS,
@@ -13,18 +13,17 @@ import {
13
13
  getDiffStat,
14
14
  needsUtf8Bom,
15
15
  safeLiteralReplace
16
- } from "./chunk-MNPZ2WO6.js";
17
- import "./chunk-5P5XGNYH.js";
16
+ } from "./chunk-BAZDG3QU.js";
18
17
  import "./chunk-K5PGHDBN.js";
19
18
  import "./chunk-O4PICXES.js";
20
19
  import "./chunk-TW522KN6.js";
21
20
  import "./chunk-MLZQVCF3.js";
22
- import "./chunk-PPHYLJSS.js";
21
+ import "./chunk-CAVZVZX6.js";
23
22
  import "./chunk-G7YTSRES.js";
24
- import "./chunk-XVHR7ATJ.js";
23
+ import "./chunk-4AOCVI6J.js";
25
24
  import "./chunk-77WXWU44.js";
26
25
  import "./chunk-F23NCRJ2.js";
27
- import "./chunk-VTPOO6GV.js";
26
+ import "./chunk-CSWBPY3P.js";
28
27
  import {
29
28
  FileOperationEvent,
30
29
  ReadFileTool,
@@ -32,24 +31,23 @@ import {
32
31
  getLanguageFromFilePath,
33
32
  getSpecificMimeType,
34
33
  logFileOperation
35
- } from "./chunk-C3LHPHN2.js";
36
- import "./chunk-SYCJMSIJ.js";
34
+ } from "./chunk-JCR2WRXZ.js";
37
35
  import "./chunk-UWCTAVOD.js";
38
36
  import "./chunk-OFEVLU4C.js";
39
37
  import {
40
38
  isAutoMemPath
41
39
  } from "./chunk-PR4T27R7.js";
42
- import "./chunk-CW44BRRA.js";
40
+ import "./chunk-MAY32HXD.js";
43
41
  import "./chunk-D5NTAHYL.js";
44
42
  import "./chunk-T4VD6OJ4.js";
45
43
  import "./chunk-RDYWTWEM.js";
46
- import "./chunk-JYQUJ5DS.js";
44
+ import "./chunk-YJLGXDQJ.js";
47
45
  import {
48
46
  BaseDeclarativeTool,
49
47
  ToolDisplayNames,
50
48
  ToolNames
51
- } from "./chunk-FZIUV27X.js";
52
- import "./chunk-2B7UBDY5.js";
49
+ } from "./chunk-PVVL5Q3W.js";
50
+ import "./chunk-GGNTZ2NH.js";
53
51
  import "./chunk-KXZ4TJB4.js";
54
52
  import {
55
53
  createDebugLogger,
@@ -884,6 +882,18 @@ Expectation for required parameters:
884
882
  createInvocation(params) {
885
883
  return new EditToolInvocation(this.config, params);
886
884
  }
885
+ toAutoClassifierInput(params) {
886
+ const oldStr = params.old_string ?? "";
887
+ const newStr = params.new_string ?? "";
888
+ return {
889
+ file_path: params.file_path,
890
+ old_string_preview: oldStr.slice(0, 300),
891
+ new_string_preview: newStr.slice(0, 300),
892
+ old_string_truncated: oldStr.length > 300,
893
+ new_string_truncated: newStr.length > 300,
894
+ lines_changed: (newStr.match(/\n/g)?.length ?? 0) - (oldStr.match(/\n/g)?.length ?? 0)
895
+ };
896
+ }
887
897
  getModifyContext(_) {
888
898
  return {
889
899
  getFilePath: /* @__PURE__ */ __name((params) => params.file_path, "getFilePath"),
@@ -74,6 +74,7 @@ var en_default = {
74
74
  "docs/keyboard-shortcuts.md": "docs/keyboard-shortcuts.md",
75
75
  "for help on Qwen Code": "for help on Qwen Code",
76
76
  "show version info": "show version info",
77
+ "show paths for current session files and logs": "show paths for current session files and logs",
77
78
  "submit a bug report": "submit a bug report",
78
79
  Status: "Status",
79
80
  // ============================================================================
@@ -148,7 +149,7 @@ var en_default = {
148
149
  "Compresses the context by replacing it with a summary.": "Compresses the context by replacing it with a summary.",
149
150
  "open full Qwen Code documentation in your browser": "open full Qwen Code documentation in your browser",
150
151
  "Configuration not available.": "Configuration not available.",
151
- "Configure authentication information for login": "Configure authentication information for login",
152
+ "Connect an LLM provider": "Connect an LLM provider",
152
153
  "Copy the last result or code snippet to clipboard": "Copy the last result or code snippet to clipboard",
153
154
  "Show working-tree change stats versus HEAD": "Show working-tree change stats versus HEAD",
154
155
  "Could not determine current working directory.": "Could not determine current working directory.",
@@ -876,8 +877,8 @@ var en_default = {
876
877
  "Continue previous conversation": "Continue previous conversation",
877
878
  "\u{1F44B} Welcome back! (Last updated: {{timeAgo}})": "\u{1F44B} Welcome back! (Last updated: {{timeAgo}})",
878
879
  "\u{1F3AF} Overall Goal:": "\u{1F3AF} Overall Goal:",
879
- "Select Authentication Method": "Select Authentication Method",
880
- "You must select an auth method to proceed. Press Ctrl+C again to exit.": "You must select an auth method to proceed. Press Ctrl+C again to exit.",
880
+ "Connect a Provider": "Connect a Provider",
881
+ "You must connect a provider to proceed. Press Ctrl+C again to exit.": "You must connect a provider to proceed. Press Ctrl+C again to exit.",
881
882
  "Terms of Services and Privacy Notice": "Terms of Services and Privacy Notice",
882
883
  "Qwen OAuth": "Qwen OAuth",
883
884
  "Discontinued \u2014 switch to Coding Plan or API Key": "Discontinued \u2014 switch to Coding Plan or API Key",
@@ -2,36 +2,35 @@
2
2
  "use strict";
3
3
  import {
4
4
  GitWorktreeService,
5
+ writeWorktreeSession,
5
6
  writeWorktreeSessionMarker
6
- } from "./chunk-MNPZ2WO6.js";
7
- import "./chunk-5P5XGNYH.js";
7
+ } from "./chunk-BAZDG3QU.js";
8
8
  import "./chunk-K5PGHDBN.js";
9
9
  import "./chunk-O4PICXES.js";
10
10
  import "./chunk-TW522KN6.js";
11
11
  import "./chunk-MLZQVCF3.js";
12
- import "./chunk-PPHYLJSS.js";
12
+ import "./chunk-CAVZVZX6.js";
13
13
  import "./chunk-G7YTSRES.js";
14
- import "./chunk-XVHR7ATJ.js";
14
+ import "./chunk-4AOCVI6J.js";
15
15
  import "./chunk-77WXWU44.js";
16
16
  import "./chunk-F23NCRJ2.js";
17
- import "./chunk-VTPOO6GV.js";
18
- import "./chunk-C3LHPHN2.js";
19
- import "./chunk-SYCJMSIJ.js";
17
+ import "./chunk-CSWBPY3P.js";
18
+ import "./chunk-JCR2WRXZ.js";
20
19
  import "./chunk-UWCTAVOD.js";
21
20
  import "./chunk-OFEVLU4C.js";
22
21
  import "./chunk-PR4T27R7.js";
23
- import "./chunk-CW44BRRA.js";
22
+ import "./chunk-MAY32HXD.js";
24
23
  import "./chunk-D5NTAHYL.js";
25
24
  import "./chunk-T4VD6OJ4.js";
26
25
  import "./chunk-RDYWTWEM.js";
27
- import "./chunk-JYQUJ5DS.js";
26
+ import "./chunk-YJLGXDQJ.js";
28
27
  import {
29
28
  BaseDeclarativeTool,
30
29
  BaseToolInvocation,
31
30
  ToolDisplayNames,
32
31
  ToolNames
33
- } from "./chunk-FZIUV27X.js";
34
- import "./chunk-2B7UBDY5.js";
32
+ } from "./chunk-PVVL5Q3W.js";
33
+ import "./chunk-GGNTZ2NH.js";
35
34
  import "./chunk-KXZ4TJB4.js";
36
35
  import {
37
36
  createDebugLogger
@@ -116,6 +115,14 @@ var EnterWorktreeInvocation = class extends BaseToolInvocation {
116
115
  `enter_worktree: getCurrentBranch failed at ${projectRoot}: ${error}`
117
116
  );
118
117
  }
118
+ let originalHeadCommit = "";
119
+ try {
120
+ originalHeadCommit = await service.getCurrentCommitHash();
121
+ } catch (error) {
122
+ debugLogger.warn(
123
+ `enter_worktree: getCurrentCommitHash failed at ${projectRoot}: ${error}`
124
+ );
125
+ }
119
126
  const result = await service.createUserWorktree(slug, baseBranch);
120
127
  if (!result.success || !result.worktree) {
121
128
  const reason = result.error ?? "Failed to create worktree.";
@@ -132,6 +139,23 @@ var EnterWorktreeInvocation = class extends BaseToolInvocation {
132
139
  `enter_worktree: failed to write session marker at ${result.worktree.path}: ${error}`
133
140
  );
134
141
  }
142
+ try {
143
+ await writeWorktreeSession(
144
+ this.config.getSessionService().getWorktreeSessionPath(this.config.getSessionId()),
145
+ {
146
+ slug,
147
+ worktreePath: result.worktree.path,
148
+ worktreeBranch: result.worktree.branch,
149
+ originalCwd: projectRoot,
150
+ originalBranch: baseBranch ?? "HEAD",
151
+ originalHeadCommit
152
+ }
153
+ );
154
+ } catch (error) {
155
+ debugLogger.warn(
156
+ `enter_worktree: failed to write WorktreeSession sidecar: ${error}`
157
+ );
158
+ }
135
159
  const output = {
136
160
  worktreePath: result.worktree.path,
137
161
  worktreeBranch: result.worktree.branch,
@@ -2,37 +2,37 @@
2
2
  "use strict";
3
3
  import {
4
4
  GitWorktreeService,
5
+ clearWorktreeSession,
6
+ readWorktreeSession,
5
7
  readWorktreeSessionMarker,
6
8
  worktreeBranchForSlug
7
- } from "./chunk-MNPZ2WO6.js";
8
- import "./chunk-5P5XGNYH.js";
9
+ } from "./chunk-BAZDG3QU.js";
9
10
  import "./chunk-K5PGHDBN.js";
10
11
  import "./chunk-O4PICXES.js";
11
12
  import "./chunk-TW522KN6.js";
12
13
  import "./chunk-MLZQVCF3.js";
13
- import "./chunk-PPHYLJSS.js";
14
+ import "./chunk-CAVZVZX6.js";
14
15
  import "./chunk-G7YTSRES.js";
15
- import "./chunk-XVHR7ATJ.js";
16
+ import "./chunk-4AOCVI6J.js";
16
17
  import "./chunk-77WXWU44.js";
17
18
  import "./chunk-F23NCRJ2.js";
18
- import "./chunk-VTPOO6GV.js";
19
- import "./chunk-C3LHPHN2.js";
20
- import "./chunk-SYCJMSIJ.js";
19
+ import "./chunk-CSWBPY3P.js";
20
+ import "./chunk-JCR2WRXZ.js";
21
21
  import "./chunk-UWCTAVOD.js";
22
22
  import "./chunk-OFEVLU4C.js";
23
23
  import "./chunk-PR4T27R7.js";
24
- import "./chunk-CW44BRRA.js";
24
+ import "./chunk-MAY32HXD.js";
25
25
  import "./chunk-D5NTAHYL.js";
26
26
  import "./chunk-T4VD6OJ4.js";
27
27
  import "./chunk-RDYWTWEM.js";
28
- import "./chunk-JYQUJ5DS.js";
28
+ import "./chunk-YJLGXDQJ.js";
29
29
  import {
30
30
  BaseDeclarativeTool,
31
31
  BaseToolInvocation,
32
32
  ToolDisplayNames,
33
33
  ToolNames
34
- } from "./chunk-FZIUV27X.js";
35
- import "./chunk-2B7UBDY5.js";
34
+ } from "./chunk-PVVL5Q3W.js";
35
+ import "./chunk-GGNTZ2NH.js";
36
36
  import "./chunk-KXZ4TJB4.js";
37
37
  import {
38
38
  createDebugLogger,
@@ -206,6 +206,7 @@ var ExitWorktreeInvocation = class extends BaseToolInvocation {
206
206
  return errorResult(result.error ?? "Failed to remove worktree.");
207
207
  }
208
208
  if (result.branchPreserved) {
209
+ await this.maybeClearWorktreeSession();
209
210
  const output2 = {
210
211
  action: "remove",
211
212
  worktreePath,
@@ -220,6 +221,7 @@ var ExitWorktreeInvocation = class extends BaseToolInvocation {
220
221
  debugLogger.debug(
221
222
  `Removed user worktree: ${worktreePath} (branch=${branch})`
222
223
  );
224
+ await this.maybeClearWorktreeSession();
223
225
  const output = {
224
226
  action: "remove",
225
227
  worktreePath,
@@ -231,6 +233,28 @@ var ExitWorktreeInvocation = class extends BaseToolInvocation {
231
233
  returnDisplay: `Removed worktree **${this.params.name}** (branch \`${branch}\`)`
232
234
  };
233
235
  }
236
+ /**
237
+ * Clears the WorktreeSession sidecar file iff its `slug` matches the
238
+ * worktree being exited. We skip the clear when the sidecar names a
239
+ * different slug because the user might have multiple worktrees on
240
+ * disk while the sidecar tracks only one — wiping it on every exit
241
+ * would orphan the currently-tracked worktree from the CLI's view.
242
+ *
243
+ * Best-effort: failures are logged, never raised.
244
+ */
245
+ async maybeClearWorktreeSession() {
246
+ try {
247
+ const sessionPath = this.config.getSessionService().getWorktreeSessionPath(this.config.getSessionId());
248
+ const existing = await readWorktreeSession(sessionPath);
249
+ if (existing && existing.slug === this.params.name) {
250
+ await clearWorktreeSession(sessionPath);
251
+ }
252
+ } catch (error) {
253
+ debugLogger.warn(
254
+ `exit_worktree: failed to clear WorktreeSession sidecar: ${error}`
255
+ );
256
+ }
257
+ }
234
258
  };
235
259
  function errorResult(message) {
236
260
  return {
@@ -1,34 +1,32 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import "./chunk-MNPZ2WO6.js";
4
- import "./chunk-5P5XGNYH.js";
3
+ import "./chunk-BAZDG3QU.js";
5
4
  import "./chunk-K5PGHDBN.js";
6
5
  import "./chunk-O4PICXES.js";
7
6
  import "./chunk-TW522KN6.js";
8
7
  import "./chunk-MLZQVCF3.js";
9
- import "./chunk-PPHYLJSS.js";
8
+ import "./chunk-CAVZVZX6.js";
10
9
  import "./chunk-G7YTSRES.js";
11
- import "./chunk-XVHR7ATJ.js";
10
+ import "./chunk-4AOCVI6J.js";
12
11
  import "./chunk-77WXWU44.js";
13
12
  import "./chunk-F23NCRJ2.js";
14
- import "./chunk-VTPOO6GV.js";
15
- import "./chunk-C3LHPHN2.js";
16
- import "./chunk-SYCJMSIJ.js";
13
+ import "./chunk-CSWBPY3P.js";
14
+ import "./chunk-JCR2WRXZ.js";
17
15
  import "./chunk-UWCTAVOD.js";
18
16
  import "./chunk-OFEVLU4C.js";
19
17
  import "./chunk-PR4T27R7.js";
20
- import "./chunk-CW44BRRA.js";
18
+ import "./chunk-MAY32HXD.js";
21
19
  import "./chunk-D5NTAHYL.js";
22
20
  import "./chunk-T4VD6OJ4.js";
23
21
  import "./chunk-RDYWTWEM.js";
24
- import "./chunk-JYQUJ5DS.js";
22
+ import "./chunk-YJLGXDQJ.js";
25
23
  import {
26
24
  BaseDeclarativeTool,
27
25
  BaseToolInvocation,
28
26
  ToolDisplayNames,
29
27
  ToolNames
30
- } from "./chunk-FZIUV27X.js";
31
- import "./chunk-2B7UBDY5.js";
28
+ } from "./chunk-PVVL5Q3W.js";
29
+ import "./chunk-GGNTZ2NH.js";
32
30
  import "./chunk-KXZ4TJB4.js";
33
31
  import {
34
32
  createDebugLogger
@@ -144,7 +144,7 @@ var fr_default = {
144
144
  "Compresses the context by replacing it with a summary.": "Compresse le contexte en le rempla\xE7ant par un r\xE9sum\xE9.",
145
145
  "open full Qwen Code documentation in your browser": "ouvrir la documentation compl\xE8te de Qwen Code dans votre navigateur",
146
146
  "Configuration not available.": "Configuration non disponible.",
147
- "Configure authentication information for login": "Configurer les informations d'authentification pour la connexion",
147
+ "Connect an LLM provider": "Se connecter \xE0 un fournisseur LLM",
148
148
  "Copy the last result or code snippet to clipboard": "Copier le dernier r\xE9sultat ou extrait de code dans le presse-papiers",
149
149
  // ============================================================================
150
150
  // Commandes - Agents
@@ -818,8 +818,8 @@ var fr_default = {
818
818
  "Continue previous conversation": "Continuer la conversation pr\xE9c\xE9dente",
819
819
  "\u{1F44B} Welcome back! (Last updated: {{timeAgo}})": "\u{1F44B} Bon retour ! (Derni\xE8re mise \xE0 jour : {{timeAgo}})",
820
820
  "\u{1F3AF} Overall Goal:": "\u{1F3AF} Objectif global :",
821
- "Select Authentication Method": "S\xE9lectionner la m\xE9thode d'authentification",
822
- "You must select an auth method to proceed. Press Ctrl+C again to exit.": "Vous devez s\xE9lectionner une m\xE9thode d'authentification pour continuer. Appuyez \xE0 nouveau sur Ctrl+C pour quitter.",
821
+ "Connect a Provider": "Connecter un fournisseur",
822
+ "You must connect a provider to proceed. Press Ctrl+C again to exit.": "Vous devez connecter un fournisseur pour continuer. Appuyez \xE0 nouveau sur Ctrl+C pour quitter.",
823
823
  "Terms of Services and Privacy Notice": "Conditions d'utilisation et avis de confidentialit\xE9",
824
824
  "Qwen OAuth": "Qwen OAuth",
825
825
  "Discontinued \u2014 switch to Coding Plan or API Key": "Abandonn\xE9 \u2014 passez \xE0 Coding Plan ou API Key",
@@ -210,7 +210,7 @@ var GeminiContentGenerator = class {
210
210
 
211
211
  // packages/core/src/core/geminiContentGenerator/index.ts
212
212
  function createGeminiContentGenerator(config, gcConfig) {
213
- const version = "0.16.0-preview.0";
213
+ const version = "0.16.1";
214
214
  const userAgent = config.userAgent || `QwenCode/${version} (${process.platform}; ${process.arch})`;
215
215
  const baseHeaders = {
216
216
  "User-Agent": userAgent
@@ -3,39 +3,37 @@
3
3
  import {
4
4
  escape,
5
5
  glob
6
- } from "./chunk-MNPZ2WO6.js";
7
- import "./chunk-5P5XGNYH.js";
6
+ } from "./chunk-BAZDG3QU.js";
8
7
  import "./chunk-K5PGHDBN.js";
9
8
  import "./chunk-O4PICXES.js";
10
9
  import "./chunk-TW522KN6.js";
11
10
  import "./chunk-MLZQVCF3.js";
12
- import "./chunk-PPHYLJSS.js";
11
+ import "./chunk-CAVZVZX6.js";
13
12
  import "./chunk-G7YTSRES.js";
14
- import "./chunk-XVHR7ATJ.js";
13
+ import "./chunk-4AOCVI6J.js";
15
14
  import {
16
15
  DEFAULT_FILE_FILTERING_OPTIONS
17
16
  } from "./chunk-77WXWU44.js";
18
17
  import "./chunk-F23NCRJ2.js";
19
- import "./chunk-VTPOO6GV.js";
20
- import "./chunk-C3LHPHN2.js";
21
- import "./chunk-SYCJMSIJ.js";
18
+ import "./chunk-CSWBPY3P.js";
19
+ import "./chunk-JCR2WRXZ.js";
22
20
  import "./chunk-UWCTAVOD.js";
23
21
  import "./chunk-OFEVLU4C.js";
24
22
  import {
25
23
  getMemoryBaseDir
26
24
  } from "./chunk-PR4T27R7.js";
27
- import "./chunk-CW44BRRA.js";
25
+ import "./chunk-MAY32HXD.js";
28
26
  import "./chunk-D5NTAHYL.js";
29
27
  import "./chunk-T4VD6OJ4.js";
30
28
  import "./chunk-RDYWTWEM.js";
31
- import "./chunk-JYQUJ5DS.js";
29
+ import "./chunk-YJLGXDQJ.js";
32
30
  import {
33
31
  BaseDeclarativeTool,
34
32
  BaseToolInvocation,
35
33
  ToolDisplayNames,
36
34
  ToolNames
37
- } from "./chunk-FZIUV27X.js";
38
- import "./chunk-2B7UBDY5.js";
35
+ } from "./chunk-PVVL5Q3W.js";
36
+ import "./chunk-GGNTZ2NH.js";
39
37
  import "./chunk-KXZ4TJB4.js";
40
38
  import {
41
39
  createDebugLogger,
@@ -4,37 +4,35 @@ import {
4
4
  globStream,
5
5
  isCommandAvailable,
6
6
  isGitRepository
7
- } from "./chunk-MNPZ2WO6.js";
8
- import "./chunk-5P5XGNYH.js";
7
+ } from "./chunk-BAZDG3QU.js";
9
8
  import "./chunk-K5PGHDBN.js";
10
9
  import "./chunk-O4PICXES.js";
11
10
  import "./chunk-TW522KN6.js";
12
11
  import "./chunk-MLZQVCF3.js";
13
- import "./chunk-PPHYLJSS.js";
12
+ import "./chunk-CAVZVZX6.js";
14
13
  import "./chunk-G7YTSRES.js";
15
- import "./chunk-XVHR7ATJ.js";
14
+ import "./chunk-4AOCVI6J.js";
16
15
  import "./chunk-77WXWU44.js";
17
16
  import "./chunk-F23NCRJ2.js";
18
- import "./chunk-VTPOO6GV.js";
19
- import "./chunk-C3LHPHN2.js";
20
- import "./chunk-SYCJMSIJ.js";
17
+ import "./chunk-CSWBPY3P.js";
18
+ import "./chunk-JCR2WRXZ.js";
21
19
  import "./chunk-UWCTAVOD.js";
22
20
  import "./chunk-OFEVLU4C.js";
23
21
  import {
24
22
  getMemoryBaseDir
25
23
  } from "./chunk-PR4T27R7.js";
26
- import "./chunk-CW44BRRA.js";
24
+ import "./chunk-MAY32HXD.js";
27
25
  import "./chunk-D5NTAHYL.js";
28
26
  import "./chunk-T4VD6OJ4.js";
29
27
  import "./chunk-RDYWTWEM.js";
30
- import "./chunk-JYQUJ5DS.js";
28
+ import "./chunk-YJLGXDQJ.js";
31
29
  import {
32
30
  BaseDeclarativeTool,
33
31
  BaseToolInvocation,
34
32
  ToolDisplayNames,
35
33
  ToolNames
36
- } from "./chunk-FZIUV27X.js";
37
- import "./chunk-2B7UBDY5.js";
34
+ } from "./chunk-PVVL5Q3W.js";
35
+ import "./chunk-GGNTZ2NH.js";
38
36
  import "./chunk-KXZ4TJB4.js";
39
37
  import {
40
38
  createDebugLogger,