@qwen-code/qwen-code 0.18.0-preview.1 → 0.18.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/bundled/qc-helper/SKILL.md +1 -2
  2. package/bundled/qc-helper/docs/configuration/settings.md +17 -19
  3. package/bundled/qc-helper/docs/features/_meta.ts +0 -3
  4. package/bundled/qc-helper/docs/features/commands.md +14 -12
  5. package/bundled/qc-helper/docs/features/scheduled-tasks.md +1 -1
  6. package/bundled/qc-helper/docs/features/sub-agents.md +39 -0
  7. package/chunks/{agent-SXS4NQWS.js → agent-QB7TZ4HW.js} +22 -16
  8. package/chunks/agent-headless-APVHH7QM.js +50 -0
  9. package/chunks/{anthropicContentGenerator-4QBVSFSJ.js → anthropicContentGenerator-M45EVVRM.js} +4 -4
  10. package/chunks/{askUserQuestion-NOOLRWCJ.js → askUserQuestion-WM2KHM3K.js} +2 -2
  11. package/chunks/{ca-WRHFBIDH.js → ca-BARBRL6N.js} +48 -1
  12. package/chunks/{chunk-G763GDO6.js → chunk-2ZTWI7KH.js} +15 -3
  13. package/chunks/chunk-64WXLC72.js +98 -0
  14. package/chunks/{chunk-NQZ33PWX.js → chunk-7YKXFA3D.js} +11 -11
  15. package/chunks/chunk-AJIR24J2.js +59 -0
  16. package/chunks/{chunk-ERREX2ES.js → chunk-AVW55ZCO.js} +61 -23
  17. package/chunks/{chunk-SHUT5MQY.js → chunk-CNHFPN7T.js} +1 -1
  18. package/chunks/{chunk-5RNZ2QKF.js → chunk-CNSMKPK6.js} +1 -1
  19. package/chunks/{chunk-BBTV54KB.js → chunk-CWV3SJZS.js} +2 -2
  20. package/chunks/{chunk-GBEPNWYB.js → chunk-GX7VH5JQ.js} +1 -1
  21. package/chunks/chunk-HGJPQK33.js +2231 -0
  22. package/chunks/chunk-HV3ZZ7G4.js +159 -0
  23. package/chunks/{chunk-ZW7GBCRE.js → chunk-HXJE7VOG.js} +20 -31
  24. package/chunks/{chunk-PLYZAP4W.js → chunk-ICOI4E4S.js} +1 -1
  25. package/chunks/{chunk-6VFG3EUJ.js → chunk-JUGRPQAB.js} +1 -1
  26. package/chunks/{chunk-AVLOK27J.js → chunk-JVQOQ3OU.js} +1 -1
  27. package/chunks/{chunk-R5PDRHEF.js → chunk-JXAZUMDW.js} +67 -45
  28. package/chunks/{chunk-UABFCMPA.js → chunk-KC6ZMJ5X.js} +3 -1
  29. package/chunks/chunk-LD2XBG6Z.js +102 -0
  30. package/chunks/{chunk-MVX64PNU.js → chunk-LR62TEET.js} +1 -1
  31. package/chunks/{chunk-JMLIPZUU.js → chunk-MVIVIPCU.js} +3 -3
  32. package/chunks/{chunk-KOA52UTF.js → chunk-NW5QBUYO.js} +6 -6
  33. package/chunks/{chunk-JSYEZAYV.js → chunk-P4J26VDS.js} +2 -2
  34. package/chunks/{chunk-SCHRFI7O.js → chunk-PAEBHDIO.js} +1 -1
  35. package/chunks/{chunk-6KH2Q7XN.js → chunk-QCG6KPNM.js} +3685 -1897
  36. package/chunks/chunk-SKBPNJEW.js +45 -0
  37. package/chunks/{chunk-F5ORN4YO.js → chunk-UAMOBVVW.js} +1 -1
  38. package/chunks/chunk-XBFVXFB2.js +216 -0
  39. package/chunks/{chunk-D46KOV3C.js → chunk-Y7R6H6FT.js} +1 -1
  40. package/chunks/{chunk-F6FLCHCS.js → chunk-ZK4AMNIU.js} +39 -12
  41. package/chunks/{computer-use-CT6MU6P3.js → computer-use-B7VIUI7F.js} +22 -16
  42. package/chunks/contextCommand-63RZ3O5R.js +52 -0
  43. package/chunks/{cron-create-PIPMXQN4.js → cron-create-FI5LJVUS.js} +2 -2
  44. package/chunks/{cron-delete-6Y5XIDMS.js → cron-delete-ZGUXWBTG.js} +2 -2
  45. package/chunks/{cron-list-A4WNRUWZ.js → cron-list-QNNZGMN3.js} +2 -2
  46. package/chunks/{de-M5RPB2NB.js → de-YGKK2BC4.js} +48 -1
  47. package/chunks/{edit-A4YK7AIB.js → edit-6UBTS2J5.js} +23 -17
  48. package/chunks/{en-UMYKQAZE.js → en-HSQQNQUB.js} +73 -2
  49. package/chunks/{enter-worktree-VNEQINLC.js → enter-worktree-NN7LIXCM.js} +22 -16
  50. package/chunks/{exit-worktree-AVSMXC33.js → exit-worktree-GGSS5KIE.js} +22 -16
  51. package/chunks/{exitPlanMode-5SQYVROD.js → exitPlanMode-H323NHB2.js} +22 -16
  52. package/chunks/{fr-MPYXXXPW.js → fr-JXBKPJKQ.js} +48 -1
  53. package/chunks/{geminiContentGenerator-CR2WGARL.js → geminiContentGenerator-I4H2NLJG.js} +4 -4
  54. package/chunks/{glob-5V32KOG5.js → glob-OLCX57MD.js} +22 -16
  55. package/chunks/{grep-PUTEPBR4.js → grep-7HXIMDOW.js} +22 -16
  56. package/chunks/{ja-NFZ32AB3.js → ja-TGPZSP2B.js} +48 -1
  57. package/chunks/{keychain-token-storage-UHGOCDD6.js → keychain-token-storage-LB46DAEK.js} +2 -2
  58. package/chunks/{ls-34DLNYCD.js → ls-6PEZUK6O.js} +3 -3
  59. package/chunks/{lsp-NCDEHH3V.js → lsp-JZSJOVT7.js} +2 -2
  60. package/chunks/{monitor-EJBR5VCR.js → monitor-SQO7MVAV.js} +22 -16
  61. package/chunks/{notebook-edit-DZHGPP2L.js → notebook-edit-72L3EBAL.js} +23 -17
  62. package/chunks/{openaiContentGenerator-4QNV3CHM.js → openaiContentGenerator-FTR7CDWF.js} +12 -11
  63. package/chunks/{pt-BR43FRBA.js → pt-TIBG6BIO.js} +48 -1
  64. package/chunks/{qwenContentGenerator-3XOCEMQO.js → qwenContentGenerator-U5UFQ566.js} +24 -18
  65. package/chunks/{qwenOAuth2-KRJT35QH.js → qwenOAuth2-EFSECGHF.js} +4 -4
  66. package/chunks/{read-file-VZ2SQQIX.js → read-file-UA64EEQC.js} +8 -8
  67. package/chunks/{ripGrep-SBIZCPOL.js → ripGrep-WSYCWZVK.js} +22 -16
  68. package/chunks/{ru-DQCW2KHD.js → ru-JBCHCK4L.js} +48 -1
  69. package/chunks/{scheduler-H32DZVDV.js → scheduler-VBASHOCA.js} +22 -16
  70. package/chunks/send-message-OYJZ5TPG.js +244 -0
  71. package/chunks/{serve-56G4B5W6.js → serve-A7E2OJDR.js} +45 -36
  72. package/chunks/{shell-Q77KNP4N.js → shell-3NFOT6F5.js} +22 -16
  73. package/chunks/{skill-CLWFJYBG.js → skill-RA5YUREY.js} +10 -10
  74. package/chunks/{src-47L2LUOU.js → src-NFCMARMT.js} +182 -23
  75. package/chunks/{syntheticOutput-T5SWX3YF.js → syntheticOutput-DETQ2YM6.js} +3 -3
  76. package/chunks/task-create-Y3ZKTJIG.js +19 -0
  77. package/chunks/task-list-ONXJ3I3A.js +151 -0
  78. package/chunks/{task-stop-3VHAQMYM.js → task-stop-UHDC4N5B.js} +2 -2
  79. package/chunks/task-update-TCNOU3P5.js +397 -0
  80. package/chunks/team-create-6SR4OVRG.js +313 -0
  81. package/chunks/team-delete-EJ4U4DDP.js +114 -0
  82. package/chunks/{todoWrite-EAGJGKO5.js → todoWrite-TEYDRS5L.js} +4 -4
  83. package/chunks/{tool-search-Q75AYDTP.js → tool-search-OD435A3X.js} +8 -8
  84. package/chunks/{web-fetch-SS6IKK6N.js → web-fetch-6W67H5PO.js} +4 -4
  85. package/chunks/workflow-62DHH4EO.js +708 -0
  86. package/chunks/{write-file-RENGC25N.js → write-file-475L5OPP.js} +23 -17
  87. package/chunks/{zh-TW-IQZ4AD5M.js → zh-TW-G3HFHVVT.js} +74 -6
  88. package/chunks/{zh-6VFXOAR5.js → zh-VCLWO26Y.js} +77 -6
  89. package/cli.js +6417 -3115
  90. package/examples/agent/qwen-extension.json +1 -0
  91. package/examples/commands/qwen-extension.json +1 -0
  92. package/examples/context/qwen-extension.json +1 -0
  93. package/examples/mcp-server/qwen-extension.json +1 -0
  94. package/examples/skills/qwen-extension.json +1 -0
  95. package/locales/ca.js +51 -0
  96. package/locales/de.js +51 -0
  97. package/locales/en.js +83 -2
  98. package/locales/fr.js +53 -2
  99. package/locales/ja.js +52 -2
  100. package/locales/pt.js +52 -2
  101. package/locales/ru.js +53 -2
  102. package/locales/zh-TW.js +85 -11
  103. package/locales/zh.js +89 -11
  104. package/package.json +2 -2
  105. package/bundled/qc-helper/docs/features/checkpointing.md +0 -77
  106. package/chunks/contextCommand-YODJQYIV.js +0 -46
  107. package/chunks/send-message-YYF56TS7.js +0 -151
@@ -0,0 +1,45 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-A4BMJM77.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/core/src/agents/runtime/agent-types.ts
11
+ init_esbuild_shims();
12
+ var AgentTerminateMode = /* @__PURE__ */ ((AgentTerminateMode2) => {
13
+ AgentTerminateMode2["ERROR"] = "ERROR";
14
+ AgentTerminateMode2["TIMEOUT"] = "TIMEOUT";
15
+ AgentTerminateMode2["GOAL"] = "GOAL";
16
+ AgentTerminateMode2["MAX_TURNS"] = "MAX_TURNS";
17
+ AgentTerminateMode2["CANCELLED"] = "CANCELLED";
18
+ AgentTerminateMode2["SHUTDOWN"] = "SHUTDOWN";
19
+ return AgentTerminateMode2;
20
+ })(AgentTerminateMode || {});
21
+ var AgentStatus = /* @__PURE__ */ ((AgentStatus2) => {
22
+ AgentStatus2["INITIALIZING"] = "initializing";
23
+ AgentStatus2["RUNNING"] = "running";
24
+ AgentStatus2["IDLE"] = "idle";
25
+ AgentStatus2["COMPLETED"] = "completed";
26
+ AgentStatus2["FAILED"] = "failed";
27
+ AgentStatus2["CANCELLED"] = "cancelled";
28
+ return AgentStatus2;
29
+ })(AgentStatus || {});
30
+ var isTerminalStatus = /* @__PURE__ */ __name((s) => s === "completed" /* COMPLETED */ || s === "failed" /* FAILED */ || s === "cancelled" /* CANCELLED */, "isTerminalStatus");
31
+ var isSuccessStatus = /* @__PURE__ */ __name((s) => s === "idle" /* IDLE */ || s === "completed" /* COMPLETED */, "isSuccessStatus");
32
+ var isSettledStatus = /* @__PURE__ */ __name((s) => s === "idle" /* IDLE */ || isTerminalStatus(s), "isSettledStatus");
33
+
34
+ export {
35
+ AgentTerminateMode,
36
+ AgentStatus,
37
+ isTerminalStatus,
38
+ isSuccessStatus,
39
+ isSettledStatus
40
+ };
41
+ /**
42
+ * @license
43
+ * Copyright 2025 Qwen
44
+ * SPDX-License-Identifier: Apache-2.0
45
+ */
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  createDebugLogger,
5
5
  isNodeError
6
- } from "./chunk-R5PDRHEF.js";
6
+ } from "./chunk-JXAZUMDW.js";
7
7
  import {
8
8
  init_esbuild_shims
9
9
  } from "./chunk-A4BMJM77.js";
@@ -0,0 +1,216 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ INBOXES_DIR,
5
+ LEADER_NAME,
6
+ TASKS_DIR,
7
+ TEAMMATE_COLORS,
8
+ TEAMS_DIR,
9
+ TEAM_CONFIG_FILENAME
10
+ } from "./chunk-LD2XBG6Z.js";
11
+ import {
12
+ atomicWriteJSON
13
+ } from "./chunk-UAMOBVVW.js";
14
+ import {
15
+ Storage,
16
+ isNodeError
17
+ } from "./chunk-JXAZUMDW.js";
18
+ import {
19
+ init_esbuild_shims
20
+ } from "./chunk-A4BMJM77.js";
21
+ import {
22
+ __name
23
+ } from "./chunk-J2S4EL5Y.js";
24
+
25
+ // packages/core/src/agents/team/teamHelpers.ts
26
+ init_esbuild_shims();
27
+ import * as fs from "node:fs/promises";
28
+ import * as path from "node:path";
29
+ function getTeamsRootDir() {
30
+ return path.join(Storage.getGlobalQwenDir(), TEAMS_DIR);
31
+ }
32
+ __name(getTeamsRootDir, "getTeamsRootDir");
33
+ function getTeamDir(teamName) {
34
+ return path.join(getTeamsRootDir(), teamName);
35
+ }
36
+ __name(getTeamDir, "getTeamDir");
37
+ function getTeamFilePath(teamName) {
38
+ return path.join(getTeamDir(teamName), TEAM_CONFIG_FILENAME);
39
+ }
40
+ __name(getTeamFilePath, "getTeamFilePath");
41
+ function getInboxesDir(teamName) {
42
+ return path.join(getTeamDir(teamName), INBOXES_DIR);
43
+ }
44
+ __name(getInboxesDir, "getInboxesDir");
45
+ function getTasksDir(teamName) {
46
+ return path.join(Storage.getGlobalQwenDir(), TASKS_DIR, teamName);
47
+ }
48
+ __name(getTasksDir, "getTasksDir");
49
+ function sanitizeName(name) {
50
+ return name.toLowerCase().replace(/[^a-z0-9-]/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
51
+ }
52
+ __name(sanitizeName, "sanitizeName");
53
+ function formatAgentId(name, teamName) {
54
+ return `${sanitizeName(name)}@${sanitizeName(teamName)}`;
55
+ }
56
+ __name(formatAgentId, "formatAgentId");
57
+ function generateUniqueTeammateName(baseName, existingMembers) {
58
+ const sanitized = sanitizeName(baseName);
59
+ if (!sanitized) {
60
+ throw new Error(
61
+ `Teammate name "${baseName}" sanitizes to an empty string. Choose a name with at least one alphanumeric character.`
62
+ );
63
+ }
64
+ if (sanitized === LEADER_NAME) {
65
+ throw new Error(
66
+ `"${LEADER_NAME}" is reserved for the team leader. Choose a different teammate name.`
67
+ );
68
+ }
69
+ const existingNames = new Set(existingMembers.map((m) => m.name));
70
+ if (existingNames.has(sanitized)) {
71
+ const existingList = [...existingNames].join(", ") || "<none>";
72
+ throw new Error(
73
+ `A teammate named "${sanitized}" already exists in this team (existing: ${existingList}). Choose a different name.`
74
+ );
75
+ }
76
+ return sanitized;
77
+ }
78
+ __name(generateUniqueTeammateName, "generateUniqueTeammateName");
79
+ function assignTeammateColor(existingMembers) {
80
+ const usedColors = new Set(
81
+ existingMembers.map((m) => m.color).filter((c) => c !== void 0)
82
+ );
83
+ for (const color of TEAMMATE_COLORS) {
84
+ if (!usedColors.has(color)) {
85
+ return color;
86
+ }
87
+ }
88
+ return TEAMMATE_COLORS[existingMembers.length % TEAMMATE_COLORS.length];
89
+ }
90
+ __name(assignTeammateColor, "assignTeammateColor");
91
+ function clearTeammateColors(members) {
92
+ return members.map((m) => {
93
+ const { color: _, ...rest } = m;
94
+ return rest;
95
+ });
96
+ }
97
+ __name(clearTeammateColors, "clearTeammateColors");
98
+ function setMemberActive(members, agentId, isActive) {
99
+ return members.map((m) => m.agentId === agentId ? { ...m, isActive } : m);
100
+ }
101
+ __name(setMemberActive, "setMemberActive");
102
+ function findMemberById(members, agentId) {
103
+ return members.find((m) => m.agentId === agentId);
104
+ }
105
+ __name(findMemberById, "findMemberById");
106
+ function findMemberByName(members, name) {
107
+ const sanitized = sanitizeName(name);
108
+ return members.find((m) => m.name === sanitized);
109
+ }
110
+ __name(findMemberByName, "findMemberByName");
111
+ async function readTeamFile(teamName) {
112
+ const filePath = getTeamFilePath(teamName);
113
+ try {
114
+ const raw = await fs.readFile(filePath, "utf-8");
115
+ return JSON.parse(raw);
116
+ } catch (err) {
117
+ if (isNodeError(err) && err.code === "ENOENT") {
118
+ return void 0;
119
+ }
120
+ throw err;
121
+ }
122
+ }
123
+ __name(readTeamFile, "readTeamFile");
124
+ async function writeTeamFile(teamName, teamFile) {
125
+ const filePath = getTeamFilePath(teamName);
126
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
127
+ await atomicWriteJSON(filePath, teamFile);
128
+ }
129
+ __name(writeTeamFile, "writeTeamFile");
130
+ async function createTeamFile(teamName, teamFile) {
131
+ const filePath = getTeamFilePath(teamName);
132
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
133
+ await fs.writeFile(filePath, JSON.stringify(teamFile, null, 2) + "\n", {
134
+ encoding: "utf-8",
135
+ flag: "wx"
136
+ });
137
+ }
138
+ __name(createTeamFile, "createTeamFile");
139
+ function isPidAlive(pid) {
140
+ try {
141
+ process.kill(pid, 0);
142
+ return true;
143
+ } catch (err) {
144
+ return isNodeError(err) && err.code === "EPERM";
145
+ }
146
+ }
147
+ __name(isPidAlive, "isPidAlive");
148
+ async function tryReclaimStaleTeam(teamName) {
149
+ let existing;
150
+ try {
151
+ existing = await readTeamFile(teamName);
152
+ } catch {
153
+ return false;
154
+ }
155
+ if (!existing) {
156
+ await deleteTeamDirs(teamName);
157
+ return true;
158
+ }
159
+ if (typeof existing.leadPid !== "number" || existing.leadPid <= 0) {
160
+ return false;
161
+ }
162
+ if (existing.leadPid !== process.pid && isPidAlive(existing.leadPid)) {
163
+ return false;
164
+ }
165
+ await deleteTeamDirs(teamName);
166
+ return true;
167
+ }
168
+ __name(tryReclaimStaleTeam, "tryReclaimStaleTeam");
169
+ async function deleteTeamDirs(teamName) {
170
+ const teamDir = getTeamDir(teamName);
171
+ const tasksDir = getTasksDir(teamName);
172
+ await Promise.allSettled([
173
+ fs.rm(teamDir, { recursive: true, force: true }),
174
+ fs.rm(tasksDir, { recursive: true, force: true })
175
+ ]);
176
+ }
177
+ __name(deleteTeamDirs, "deleteTeamDirs");
178
+ async function listTeamNames() {
179
+ const teamsRoot = getTeamsRootDir();
180
+ try {
181
+ const entries = await fs.readdir(teamsRoot, {
182
+ withFileTypes: true
183
+ });
184
+ return entries.filter((e) => e.isDirectory()).map((e) => e.name);
185
+ } catch {
186
+ return [];
187
+ }
188
+ }
189
+ __name(listTeamNames, "listTeamNames");
190
+
191
+ export {
192
+ getTeamsRootDir,
193
+ getTeamDir,
194
+ getTeamFilePath,
195
+ getInboxesDir,
196
+ getTasksDir,
197
+ sanitizeName,
198
+ formatAgentId,
199
+ generateUniqueTeammateName,
200
+ assignTeammateColor,
201
+ clearTeammateColors,
202
+ setMemberActive,
203
+ findMemberById,
204
+ findMemberByName,
205
+ readTeamFile,
206
+ writeTeamFile,
207
+ createTeamFile,
208
+ tryReclaimStaleTeam,
209
+ deleteTeamDirs,
210
+ listTeamNames
211
+ };
212
+ /**
213
+ * @license
214
+ * Copyright 2025 Qwen
215
+ * SPDX-License-Identifier: Apache-2.0
216
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-R5PDRHEF.js";
5
+ } from "./chunk-JXAZUMDW.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -20,19 +20,19 @@ import {
20
20
  } from "./chunk-OFEVLU4C.js";
21
21
  import {
22
22
  isAnyAutoMemPath
23
- } from "./chunk-AVLOK27J.js";
23
+ } from "./chunk-JVQOQ3OU.js";
24
24
  import {
25
25
  InstallationManager
26
- } from "./chunk-JSYEZAYV.js";
26
+ } from "./chunk-P4J26VDS.js";
27
27
  import {
28
28
  STRUCTURED_OUTPUT_REDACTED_ARGS
29
- } from "./chunk-5RNZ2QKF.js";
29
+ } from "./chunk-CNSMKPK6.js";
30
30
  import {
31
31
  BaseDeclarativeTool,
32
32
  BaseToolInvocation,
33
33
  ToolDisplayNames,
34
34
  ToolNames
35
- } from "./chunk-G763GDO6.js";
35
+ } from "./chunk-2ZTWI7KH.js";
36
36
  import {
37
37
  DEFAULT_OPENAI_BASE_URL,
38
38
  convertSchema,
@@ -40,7 +40,7 @@ import {
40
40
  runtimeDiagnostics,
41
41
  safeJsonParse,
42
42
  tokenLimit
43
- } from "./chunk-D46KOV3C.js";
43
+ } from "./chunk-Y7R6H6FT.js";
44
44
  import {
45
45
  FinishReason,
46
46
  GenerateContentResponse
@@ -58,9 +58,10 @@ import {
58
58
  isSubpaths,
59
59
  makeRelative,
60
60
  setSessionContext,
61
+ setShellTracePropagation,
61
62
  shortenPath,
62
63
  unescapePath
63
- } from "./chunk-R5PDRHEF.js";
64
+ } from "./chunk-JXAZUMDW.js";
64
65
  import {
65
66
  require_dist
66
67
  } from "./chunk-ZERZSAZL.js";
@@ -68341,6 +68342,9 @@ function initializeTelemetry(config) {
68341
68342
  telemetryInitialized = true;
68342
68343
  const sessionId = config.getSessionId();
68343
68344
  setSessionContext(createSessionRootContext(sessionId), sessionId);
68345
+ setShellTracePropagation(
68346
+ config.getOutboundCorrelationPropagateTraceContext()
68347
+ );
68344
68348
  initializeMetrics(config);
68345
68349
  } catch (error) {
68346
68350
  debugLogger12.error("Error starting OpenTelemetry SDK:", error);
@@ -68404,6 +68408,7 @@ async function shutdownTelemetry() {
68404
68408
  sdk = void 0;
68405
68409
  telemetryShutdownPromise = void 0;
68406
68410
  setSessionContext(void 0);
68411
+ setShellTracePropagation(false);
68407
68412
  }
68408
68413
  })();
68409
68414
  return telemetryShutdownPromise;
@@ -68657,6 +68662,7 @@ var UiTelemetryService = class extends EventEmitter {
68657
68662
  #metrics = createInitialMetrics();
68658
68663
  #lastPromptTokenCount = 0;
68659
68664
  #lastCachedContentTokenCount = 0;
68665
+ #sessionStartTime = /* @__PURE__ */ new Date();
68660
68666
  addEvent(event) {
68661
68667
  switch (event["event.name"]) {
68662
68668
  case EVENT_API_RESPONSE:
@@ -68689,6 +68695,9 @@ var UiTelemetryService = class extends EventEmitter {
68689
68695
  lastPromptTokenCount: this.#lastPromptTokenCount
68690
68696
  });
68691
68697
  }
68698
+ getSessionStartTime() {
68699
+ return this.#sessionStartTime;
68700
+ }
68692
68701
  getLastCachedContentTokenCount() {
68693
68702
  return this.#lastCachedContentTokenCount;
68694
68703
  }
@@ -68702,6 +68711,7 @@ var UiTelemetryService = class extends EventEmitter {
68702
68711
  this.#metrics = createInitialMetrics();
68703
68712
  this.#lastPromptTokenCount = 0;
68704
68713
  this.#lastCachedContentTokenCount = 0;
68714
+ this.#sessionStartTime = /* @__PURE__ */ new Date();
68705
68715
  this.emit("update", {
68706
68716
  metrics: this.#metrics,
68707
68717
  lastPromptTokenCount: this.#lastPromptTokenCount
@@ -68847,6 +68857,7 @@ var LoggingContentGenerator = class {
68847
68857
  this.wrapped = wrapped;
68848
68858
  this.config = config;
68849
68859
  this.modalities = generatorConfig.modalities;
68860
+ this.splitToolMedia = generatorConfig.splitToolMedia;
68850
68861
  this.generatorAuthType = generatorConfig.authType;
68851
68862
  if (generatorConfig.enableOpenAILogging) {
68852
68863
  this.openaiLogger = new OpenAILogger(
@@ -68862,6 +68873,7 @@ var LoggingContentGenerator = class {
68862
68873
  openaiLogger;
68863
68874
  schemaCompliance;
68864
68875
  modalities;
68876
+ splitToolMedia;
68865
68877
  generatorAuthType;
68866
68878
  getWrapped() {
68867
68879
  return this.wrapped;
@@ -69298,6 +69310,10 @@ var LoggingContentGenerator = class {
69298
69310
  return {
69299
69311
  model,
69300
69312
  modalities: this.modalities ?? {},
69313
+ // Mirror the pipeline default (see pipeline.ts createRequestContext) so the
69314
+ // --openai-logging fallback reconstruction reflects the same split as the
69315
+ // request actually sent. Opt out via generationConfig.splitToolMedia = false.
69316
+ splitToolMedia: this.splitToolMedia ?? true,
69301
69317
  startTime: 0
69302
69318
  };
69303
69319
  }
@@ -69672,7 +69688,18 @@ var MODALITY_PATTERNS = [
69672
69688
  // Moonshot / Kimi
69673
69689
  // -------------------
69674
69690
  [/^kimi-k2\.5/, { image: true, video: true }],
69675
- [/^kimi-/, {}]
69691
+ [/^kimi-/, {}],
69692
+ // -------------------
69693
+ // ByteDance Doubao — Seed-series and *-vision / *-vl models accept image
69694
+ // input; other Doubao models (pro / lite / text) are text-only.
69695
+ // (QwenLM/qwen-code#4876)
69696
+ // -------------------
69697
+ // seedance (text→video) and seedream (text→image) are generation models with
69698
+ // text-only input — exclude them before the multimodal Seed chat series.
69699
+ [/^doubao-seed(ance|ream)/, {}],
69700
+ [/^doubao-seed/, { image: true }],
69701
+ [/^doubao-.*(vision|vl)/, { image: true }],
69702
+ [/^doubao/, {}]
69676
69703
  ];
69677
69704
  function defaultModalities(model) {
69678
69705
  const norm = normalize(model);
@@ -71034,11 +71061,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
71034
71061
  let baseGenerator;
71035
71062
  try {
71036
71063
  if (authType === "openai" /* USE_OPENAI */) {
71037
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-4QNV3CHM.js");
71064
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-FTR7CDWF.js");
71038
71065
  baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
71039
71066
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
71040
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-KRJT35QH.js");
71041
- const { QwenContentGenerator } = await import("./qwenContentGenerator-3XOCEMQO.js");
71067
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-EFSECGHF.js");
71068
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-U5UFQ566.js");
71042
71069
  try {
71043
71070
  const qwenClient = await getQwenOauthClient(
71044
71071
  config,
@@ -71056,10 +71083,10 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
71056
71083
  throw new Error(error instanceof Error ? error.message : String(error));
71057
71084
  }
71058
71085
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
71059
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-4QBVSFSJ.js");
71086
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-M45EVVRM.js");
71060
71087
  baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
71061
71088
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
71062
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-CR2WGARL.js");
71089
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-I4H2NLJG.js");
71063
71090
  baseGenerator = createGeminiContentGenerator(generatorConfig, config);
71064
71091
  } else {
71065
71092
  throw new Error(
@@ -3,38 +3,44 @@
3
3
  import {
4
4
  Client,
5
5
  StdioClientTransport
6
- } from "./chunk-6KH2Q7XN.js";
6
+ } from "./chunk-QCG6KPNM.js";
7
7
  import "./chunk-K5PGHDBN.js";
8
+ import "./chunk-SKBPNJEW.js";
8
9
  import "./chunk-O4PICXES.js";
9
10
  import "./chunk-TW522KN6.js";
11
+ import "./chunk-AJIR24J2.js";
12
+ import "./chunk-HGJPQK33.js";
13
+ import "./chunk-XBFVXFB2.js";
10
14
  import "./chunk-MLZQVCF3.js";
11
- import "./chunk-SCHRFI7O.js";
12
- import "./chunk-PLYZAP4W.js";
13
- import "./chunk-UABFCMPA.js";
15
+ import "./chunk-PAEBHDIO.js";
16
+ import "./chunk-LD2XBG6Z.js";
17
+ import "./chunk-ICOI4E4S.js";
18
+ import "./chunk-KC6ZMJ5X.js";
14
19
  import "./chunk-77WXWU44.js";
15
- import "./chunk-6VFG3EUJ.js";
20
+ import "./chunk-JUGRPQAB.js";
21
+ import "./chunk-64WXLC72.js";
16
22
  import {
17
23
  safeJsonStringify
18
- } from "./chunk-F6FLCHCS.js";
24
+ } from "./chunk-ZK4AMNIU.js";
19
25
  import "./chunk-3PJXIDKI.js";
20
26
  import "./chunk-UWCTAVOD.js";
21
27
  import "./chunk-OFEVLU4C.js";
22
- import "./chunk-AVLOK27J.js";
23
- import "./chunk-JSYEZAYV.js";
24
- import "./chunk-5RNZ2QKF.js";
28
+ import "./chunk-JVQOQ3OU.js";
29
+ import "./chunk-P4J26VDS.js";
30
+ import "./chunk-CNSMKPK6.js";
25
31
  import {
26
32
  BaseDeclarativeTool,
27
33
  BaseToolInvocation
28
- } from "./chunk-G763GDO6.js";
29
- import "./chunk-JMLIPZUU.js";
30
- import "./chunk-GBEPNWYB.js";
31
- import "./chunk-F5ORN4YO.js";
32
- import "./chunk-MVX64PNU.js";
33
- import "./chunk-D46KOV3C.js";
34
+ } from "./chunk-2ZTWI7KH.js";
35
+ import "./chunk-MVIVIPCU.js";
36
+ import "./chunk-GX7VH5JQ.js";
37
+ import "./chunk-UAMOBVVW.js";
38
+ import "./chunk-LR62TEET.js";
39
+ import "./chunk-Y7R6H6FT.js";
34
40
  import "./chunk-BNESGOSJ.js";
35
41
  import "./chunk-SZOEIL6S.js";
36
42
  import "./chunk-5IFG2VC4.js";
37
- import "./chunk-R5PDRHEF.js";
43
+ import "./chunk-JXAZUMDW.js";
38
44
  import "./chunk-ZERZSAZL.js";
39
45
  import "./chunk-QN5NZ3UQ.js";
40
46
  import "./chunk-BR4QREVK.js";
@@ -0,0 +1,52 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ collectContextData,
5
+ contextCommand,
6
+ formatContextUsageText
7
+ } from "./chunk-NW5QBUYO.js";
8
+ import "./chunk-7YKXFA3D.js";
9
+ import "./chunk-QCG6KPNM.js";
10
+ import "./chunk-K5PGHDBN.js";
11
+ import "./chunk-SKBPNJEW.js";
12
+ import "./chunk-O4PICXES.js";
13
+ import "./chunk-TW522KN6.js";
14
+ import "./chunk-AJIR24J2.js";
15
+ import "./chunk-HGJPQK33.js";
16
+ import "./chunk-XBFVXFB2.js";
17
+ import "./chunk-MLZQVCF3.js";
18
+ import "./chunk-PAEBHDIO.js";
19
+ import "./chunk-LD2XBG6Z.js";
20
+ import "./chunk-ICOI4E4S.js";
21
+ import "./chunk-KC6ZMJ5X.js";
22
+ import "./chunk-77WXWU44.js";
23
+ import "./chunk-JUGRPQAB.js";
24
+ import "./chunk-64WXLC72.js";
25
+ import "./chunk-ZK4AMNIU.js";
26
+ import "./chunk-3PJXIDKI.js";
27
+ import "./chunk-UWCTAVOD.js";
28
+ import "./chunk-OFEVLU4C.js";
29
+ import "./chunk-JVQOQ3OU.js";
30
+ import "./chunk-P4J26VDS.js";
31
+ import "./chunk-CNSMKPK6.js";
32
+ import "./chunk-2ZTWI7KH.js";
33
+ import "./chunk-MVIVIPCU.js";
34
+ import "./chunk-GX7VH5JQ.js";
35
+ import "./chunk-UAMOBVVW.js";
36
+ import "./chunk-LR62TEET.js";
37
+ import "./chunk-Y7R6H6FT.js";
38
+ import "./chunk-BNESGOSJ.js";
39
+ import "./chunk-SZOEIL6S.js";
40
+ import "./chunk-5IFG2VC4.js";
41
+ import "./chunk-JXAZUMDW.js";
42
+ import "./chunk-ZERZSAZL.js";
43
+ import "./chunk-QN5NZ3UQ.js";
44
+ import "./chunk-BR4QREVK.js";
45
+ import "./chunk-WFVXF3OM.js";
46
+ import "./chunk-A4BMJM77.js";
47
+ import "./chunk-J2S4EL5Y.js";
48
+ export {
49
+ collectContextData,
50
+ contextCommand,
51
+ formatContextUsageText
52
+ };
@@ -11,8 +11,8 @@ import {
11
11
  BaseToolInvocation,
12
12
  ToolDisplayNames,
13
13
  ToolNames
14
- } from "./chunk-G763GDO6.js";
15
- import "./chunk-R5PDRHEF.js";
14
+ } from "./chunk-2ZTWI7KH.js";
15
+ import "./chunk-JXAZUMDW.js";
16
16
  import "./chunk-WFVXF3OM.js";
17
17
  import {
18
18
  init_esbuild_shims
@@ -5,8 +5,8 @@ import {
5
5
  BaseToolInvocation,
6
6
  ToolDisplayNames,
7
7
  ToolNames
8
- } from "./chunk-G763GDO6.js";
9
- import "./chunk-R5PDRHEF.js";
8
+ } from "./chunk-2ZTWI7KH.js";
9
+ import "./chunk-JXAZUMDW.js";
10
10
  import "./chunk-WFVXF3OM.js";
11
11
  import {
12
12
  init_esbuild_shims
@@ -8,8 +8,8 @@ import {
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-G763GDO6.js";
12
- import "./chunk-R5PDRHEF.js";
11
+ } from "./chunk-2ZTWI7KH.js";
12
+ import "./chunk-JXAZUMDW.js";
13
13
  import "./chunk-WFVXF3OM.js";
14
14
  import {
15
15
  init_esbuild_shims
@@ -1026,6 +1026,21 @@ var de_default = {
1026
1026
  " Overall Agreement Rate:": " Gesamtzustimmungsrate:",
1027
1027
  "No tool calls have been made in this session.": "In dieser Sitzung wurden keine Werkzeugaufrufe gemacht.",
1028
1028
  "Session start time is unavailable, cannot calculate stats.": "Sitzungsstartzeit nicht verf\xFCgbar, Statistiken k\xF6nnen nicht berechnet werden.",
1029
+ Activity: "Aktivit\xE4t",
1030
+ Efficiency: "Effizienz",
1031
+ Today: "Heute",
1032
+ "Token Trend": "Token-Trend",
1033
+ "Cache Hit Rate": "Cache-Trefferquote",
1034
+ "Tool Success": "Tool-Erfolgsrate",
1035
+ "Tool Leaderboard": "Tool-Rangliste",
1036
+ Time: "Zeit",
1037
+ Success: "Erfolg",
1038
+ Cache: "Cache",
1039
+ Latency: "Latenz",
1040
+ "Code Impact": "Code-\xC4nderungen",
1041
+ net: "netto",
1042
+ streak: "Serie",
1043
+ best: "Rekord",
1029
1044
  // ============================================================================
1030
1045
  // Command Format Migration
1031
1046
  // ============================================================================
@@ -1449,7 +1464,39 @@ var de_default = {
1449
1464
  "Skills:": "F\xE4higkeiten:",
1450
1465
  remote: "entfernt",
1451
1466
  "\u4E2D\u56FD (China)": "China",
1452
- "\u4E2D\u56FD (China) - \u963F\u91CC\u4E91\u767E\u70BC": "China - \u963F\u91CC\u4E91\u767E\u70BC"
1467
+ "\u4E2D\u56FD (China) - \u963F\u91CC\u4E91\u767E\u70BC": "China - \u963F\u91CC\u4E91\u767E\u70BC",
1468
+ // Stats Dashboard — Category 2
1469
+ "Activity Heatmap": "Aktivit\xE4ts-Heatmap",
1470
+ Less: "Weniger",
1471
+ More: "Mehr",
1472
+ Sessions: "Sitzungen",
1473
+ Duration: "Dauer",
1474
+ Projects: "Projekte",
1475
+ "Loading stats...": "Statistiken werden geladen...",
1476
+ "(no data)": "(keine Daten)",
1477
+ d: "d",
1478
+ h: "h",
1479
+ m: "m",
1480
+ Input: "Eingabe",
1481
+ Models: "Modelle",
1482
+ "All time": "Gesamtzeitraum",
1483
+ "Last 7 days": "Letzte 7 Tage",
1484
+ "Last 30 days": "Letzte 30 Tage",
1485
+ "Show usage statistics dashboard.": "Nutzungsstatistik-Dashboard anzeigen.",
1486
+ // Stats Dashboard — keyboard hints (not translated)
1487
+ "tab \xB7 esc": "tab \xB7 esc",
1488
+ "tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc": "tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc",
1489
+ "tab \xB7 r dates \xB7 esc": "tab \xB7 r dates \xB7 esc",
1490
+ // Stats Dashboard — missing labels
1491
+ "API Requests": "API-Anfragen",
1492
+ "Tool Calls": "Tool-Aufrufe",
1493
+ "Success rate": "Erfolgsrate",
1494
+ "Code Changes": "Code-\xC4nderungen",
1495
+ Tool: "Tool",
1496
+ reqs: "Anfr.",
1497
+ in: "ein",
1498
+ out: "aus",
1499
+ "In/Out": "Ein/Aus"
1453
1500
  };
1454
1501
  export {
1455
1502
  de_default as default