openfox 2.0.127 → 2.0.129

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 (53) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/CHANGELOG.md +22 -0
  3. package/dist/{chat-handler-63VGKLM5.js → chat-handler-TH6JBO6G.js} +14 -14
  4. package/dist/{chunk-KD4W3I6C.js → chunk-26WS7AH6.js} +2 -2
  5. package/dist/{chunk-7CBVJAN5.js → chunk-2COZT3YI.js} +7 -7
  6. package/dist/{chunk-XAAEP5XM.js → chunk-567L5OJ6.js} +6 -2
  7. package/dist/{chunk-LJX7KXRU.js → chunk-6LX43YRA.js} +3 -3
  8. package/dist/{chunk-FGK6KPJ5.js → chunk-7RIEI2TE.js} +5 -5
  9. package/dist/{chunk-GJL3QSMP.js → chunk-7ZMOP5LS.js} +16 -1
  10. package/dist/{chunk-KSDWQ6IZ.js → chunk-ATWOXI52.js} +1 -1
  11. package/dist/{chunk-KAZWU73N.js → chunk-DABWCAXS.js} +2 -2
  12. package/dist/{chunk-CTHRGR4O.js → chunk-H6YIVK67.js} +2 -2
  13. package/dist/chunk-HIRDDCPD.js +7 -0
  14. package/dist/{chunk-TY3ONJE4.js → chunk-HO7A7TMF.js} +4 -4
  15. package/dist/{chunk-UAAFZEIS.js → chunk-IJFKJ5D6.js} +2 -2
  16. package/dist/{chunk-T3JVYO3Z.js → chunk-JQMQ4DGC.js} +4 -4
  17. package/dist/{chunk-IQYI7TWF.js → chunk-L24A6GZ7.js} +30 -15
  18. package/dist/{chunk-IE2OMJIH.js → chunk-MYNNMV75.js} +11 -11
  19. package/dist/{chunk-HOSFRPPI.js → chunk-OHTBWA7L.js} +3 -3
  20. package/dist/{chunk-FNXTJLCZ.js → chunk-P6GTPKE5.js} +3 -3
  21. package/dist/{chunk-GKDJW4VP.js → chunk-PHP7PLFX.js} +3 -3
  22. package/dist/{chunk-TZJU6F6Z.js → chunk-ZXWJ6JTL.js} +33 -33
  23. package/dist/cli/dev.js +1 -1
  24. package/dist/cli/index.js +1 -1
  25. package/dist/{client-YHYIWZY7.js → client-RZGGDGUA.js} +4 -4
  26. package/dist/{client-pure-CJKM3ACP.js → client-pure-GU2SV3DD.js} +2 -2
  27. package/dist/{compactor-7KPBTFZF.js → compactor-WKFNTUXL.js} +5 -5
  28. package/dist/{dynamic-context-KXZ6VJDE.js → dynamic-context-ZVE733UI.js} +2 -2
  29. package/dist/{launch-DYWJD6L5.js → launch-5ARSU7EM.js} +14 -14
  30. package/dist/{orchestrator-LBQWRAXC.js → orchestrator-E6GIZGEN.js} +13 -13
  31. package/dist/package.json +1 -1
  32. package/dist/{path-security-YTPZ35SL.js → path-security-UDZ7UVWK.js} +4 -4
  33. package/dist/{processor-WP2LQOEV.js → processor-7RDR675X.js} +13 -13
  34. package/dist/{profiles-3YLLEJ2B.js → profiles-HXGJIPF2.js} +2 -2
  35. package/dist/{protocol-DCMH9Ufp.d.ts → protocol-DMneA8mx.d.ts} +7 -3
  36. package/dist/{protocol-TLODRZSB.js → protocol-TS3GVTT3.js} +5 -3
  37. package/dist/{provider-726LD2KU.js → provider-DXEICEIE.js} +5 -5
  38. package/dist/{provider-manager-OQTEXZ7X.js → provider-manager-PU7RS2TK.js} +5 -5
  39. package/dist/{serve-OY3Y5PXK.js → serve-Z5ITDPCQ.js} +19 -19
  40. package/dist/server/index.d.ts +1 -1
  41. package/dist/server/index.js +18 -18
  42. package/dist/{server-DMHNVEW4.js → server-MUJ7EHEI.js} +17 -17
  43. package/dist/{service-BRKMLM4C.js → service-INQWTYY2.js} +6 -6
  44. package/dist/shared/index.d.ts +1 -1
  45. package/dist/shared/index.js +1 -1
  46. package/dist/{tasks-DEUZ6BNS.js → tasks-SE3DOPVP.js} +6 -6
  47. package/dist/{tools-CZHV2FAD.js → tools-6XUSIJN2.js} +11 -11
  48. package/dist/{update-RCNZQCFG.js → update-EJUI6PSV.js} +2 -2
  49. package/dist/web/assets/{index-B63UkA7X.js → index-CGKd7WLQ.js} +65 -65
  50. package/dist/web/index.html +1 -1
  51. package/dist/web/sw.js +1 -1
  52. package/package.json +1 -1
  53. package/dist/chunk-QDO3BEGW.js +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.129 - 2026-08-25
4
+
5
+ ### Features
6
+
7
+ - **Live AI stats in the right sidebar** — time, prefill and generation speed update live while a turn runs
8
+
9
+ ### Bug Fixes
10
+
11
+ - **Strict providers no longer reject requests** — `top_p` is omitted from the request when unset instead of sent as undefined
12
+ - **project_tasks tool works on strict providers** — the attachments schema now includes the required items field
13
+
14
+ ## 2.0.128 - 2026-08-24
15
+
16
+ ### Enhancements
17
+
18
+ - **Qwen3.8 defaults match its model card** — temperature 1.0, top_p 0.95, top_k 20, and vision support
19
+ - **Qwen3.8's default output budget is now 50k** — up from 16k, clamped to the context window
20
+
21
+ ### Bug Fixes
22
+
23
+ - **"Time since last prompt" hidden in terminal states** — no counter on completed or blocked sessions
24
+
3
25
  ## 2.0.127 - 2026-08-22
4
26
 
5
27
  ### Features
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.129 - 2026-08-25
4
+
5
+ ### Features
6
+
7
+ - **Live AI stats in the right sidebar** — time, prefill and generation speed update live while a turn runs
8
+
9
+ ### Bug Fixes
10
+
11
+ - **Strict providers no longer reject requests** — `top_p` is omitted from the request when unset instead of sent as undefined
12
+ - **project_tasks tool works on strict providers** — the attachments schema now includes the required items field
13
+
14
+ ## 2.0.128 - 2026-08-24
15
+
16
+ ### Enhancements
17
+
18
+ - **Qwen3.8 defaults match its model card** — temperature 1.0, top_p 0.95, top_k 20, and vision support
19
+ - **Qwen3.8's default output budget is now 50k** — up from 16k, clamped to the context window
20
+
21
+ ### Bug Fixes
22
+
23
+ - **"Time since last prompt" hidden in terminal states** — no counter on completed or blocked sessions
24
+
3
25
  ## 2.0.127 - 2026-08-22
4
26
 
5
27
  ### Features
@@ -2,14 +2,14 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-HOSFRPPI.js";
5
+ } from "./chunk-OHTBWA7L.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-FGK6KPJ5.js";
9
- import "./chunk-IQYI7TWF.js";
10
- import "./chunk-GKDJW4VP.js";
8
+ } from "./chunk-7RIEI2TE.js";
9
+ import "./chunk-L24A6GZ7.js";
10
+ import "./chunk-PHP7PLFX.js";
11
11
  import "./chunk-ZIL6VKLU.js";
12
- import "./chunk-LJX7KXRU.js";
12
+ import "./chunk-6LX43YRA.js";
13
13
  import "./chunk-GIJUWPRQ.js";
14
14
  import "./chunk-EHFIUXWZ.js";
15
15
  import "./chunk-RV5G7QQU.js";
@@ -18,9 +18,9 @@ import "./chunk-JE7LW7Y6.js";
18
18
  import "./chunk-OAN4BXEW.js";
19
19
  import "./chunk-Y3BSBKHY.js";
20
20
  import "./chunk-J7GAZGZT.js";
21
- import "./chunk-CTHRGR4O.js";
21
+ import "./chunk-H6YIVK67.js";
22
22
  import "./chunk-7YP4O4XE.js";
23
- import "./chunk-KD4W3I6C.js";
23
+ import "./chunk-26WS7AH6.js";
24
24
  import {
25
25
  getEventStore
26
26
  } from "./chunk-YJD5A375.js";
@@ -30,27 +30,27 @@ import {
30
30
  createChatMessageMessage,
31
31
  createPhaseChangedMessage,
32
32
  createSessionRunningMessage
33
- } from "./chunk-XAAEP5XM.js";
33
+ } from "./chunk-567L5OJ6.js";
34
34
  import "./chunk-66MG44TF.js";
35
35
  import "./chunk-JURM3RPZ.js";
36
36
  import "./chunk-LCLH6ZUL.js";
37
- import "./chunk-T3JVYO3Z.js";
37
+ import "./chunk-JQMQ4DGC.js";
38
38
  import "./chunk-K2QKX4ZJ.js";
39
39
  import "./chunk-J2GP3J3X.js";
40
40
  import "./chunk-KBESUA3W.js";
41
41
  import "./chunk-OSXPQSLW.js";
42
42
  import "./chunk-3B232XG4.js";
43
- import "./chunk-FNXTJLCZ.js";
44
- import "./chunk-GJL3QSMP.js";
43
+ import "./chunk-P6GTPKE5.js";
44
+ import "./chunk-7ZMOP5LS.js";
45
45
  import "./chunk-PBFGJFGC.js";
46
46
  import "./chunk-HNCM3D7Y.js";
47
- import "./chunk-KAZWU73N.js";
47
+ import "./chunk-DABWCAXS.js";
48
48
  import "./chunk-ZFNBATE3.js";
49
49
  import "./chunk-N2Q3KYWM.js";
50
50
  import "./chunk-OYBUJIC3.js";
51
51
  import "./chunk-ISE55FOR.js";
52
52
  import "./chunk-K44MW7JJ.js";
53
- import "./chunk-KSDWQ6IZ.js";
53
+ import "./chunk-ATWOXI52.js";
54
54
  import "./chunk-R5FAEKXQ.js";
55
55
  import "./chunk-CQGTEGKL.js";
56
56
  import "./chunk-YLJ4XMA6.js";
@@ -174,4 +174,4 @@ export {
174
174
  startChatSession,
175
175
  stopSessionExecution
176
176
  };
177
- //# sourceMappingURL=chat-handler-63VGKLM5.js.map
177
+ //# sourceMappingURL=chat-handler-TH6JBO6G.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-YJD5A375.js";
4
4
  import {
5
5
  createChatPathConfirmationMessage
6
- } from "./chunk-XAAEP5XM.js";
6
+ } from "./chunk-567L5OJ6.js";
7
7
  import {
8
8
  getPlatformShell
9
9
  } from "./chunk-66MG44TF.js";
@@ -750,4 +750,4 @@ export {
750
750
  getConfirmationSessionId,
751
751
  getPendingConfirmationsBySession
752
752
  };
753
- //# sourceMappingURL=chunk-KD4W3I6C.js.map
753
+ //# sourceMappingURL=chunk-26WS7AH6.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  runAgentTurn
3
- } from "./chunk-FGK6KPJ5.js";
3
+ } from "./chunk-7RIEI2TE.js";
4
4
  import {
5
5
  executeSubAgent,
6
6
  getToolRegistryForAgent
7
- } from "./chunk-IQYI7TWF.js";
7
+ } from "./chunk-L24A6GZ7.js";
8
8
  import {
9
9
  TurnMetrics,
10
10
  createMessageStartEvent
11
- } from "./chunk-LJX7KXRU.js";
11
+ } from "./chunk-6LX43YRA.js";
12
12
  import {
13
13
  checkAborted,
14
14
  decodeUtf8,
@@ -27,7 +27,7 @@ import {
27
27
  loadProjectWorkflows,
28
28
  loadUserWorkflows,
29
29
  normalizeWorkflowScope
30
- } from "./chunk-CTHRGR4O.js";
30
+ } from "./chunk-H6YIVK67.js";
31
31
  import {
32
32
  getCurrentContextWindowId,
33
33
  getEventStore
@@ -35,7 +35,7 @@ import {
35
35
  import {
36
36
  createChatMessageMessage,
37
37
  createSessionRunningMessage
38
- } from "./chunk-XAAEP5XM.js";
38
+ } from "./chunk-567L5OJ6.js";
39
39
  import {
40
40
  findAgentById,
41
41
  getRuntimeConfig,
@@ -53,7 +53,7 @@ import {
53
53
  } from "./chunk-7OHXF5GW.js";
54
54
  import {
55
55
  createServerMessage
56
- } from "./chunk-KSDWQ6IZ.js";
56
+ } from "./chunk-ATWOXI52.js";
57
57
  import {
58
58
  getGlobalConfigDir
59
59
  } from "./chunk-CQGTEGKL.js";
@@ -1002,4 +1002,4 @@ export {
1002
1002
  abortRunnerRun,
1003
1003
  launchWorkflowRun
1004
1004
  };
1005
- //# sourceMappingURL=chunk-7CBVJAN5.js.map
1005
+ //# sourceMappingURL=chunk-2COZT3YI.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createServerMessage,
6
6
  isClientMessage
7
- } from "./chunk-KSDWQ6IZ.js";
7
+ } from "./chunk-ATWOXI52.js";
8
8
 
9
9
  // src/server/session/client-session.ts
10
10
  function toClientSession(session) {
@@ -137,6 +137,9 @@ function createChatDoneMessage(messageId, reason, stats, agentType) {
137
137
  ...agentType ? { agentType } : {}
138
138
  });
139
139
  }
140
+ function createChatStatsMessage(stats) {
141
+ return createServerMessage("chat.stats", { stats });
142
+ }
140
143
  function createChatErrorMessage(error, recoverable) {
141
144
  return createServerMessage("chat.error", { error, recoverable });
142
145
  }
@@ -356,6 +359,7 @@ export {
356
359
  createChatMessageMessage,
357
360
  createChatMessageUpdatedMessage,
358
361
  createChatDoneMessage,
362
+ createChatStatsMessage,
359
363
  createChatErrorMessage,
360
364
  createChatLLMRetryMessage,
361
365
  createChatLLMRetryFailedMessage,
@@ -374,4 +378,4 @@ export {
374
378
  createQueueStateMessage,
375
379
  storedEventToServerMessage
376
380
  };
377
- //# sourceMappingURL=chunk-XAAEP5XM.js.map
381
+ //# sourceMappingURL=chunk-567L5OJ6.js.map
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-J2GP3J3X.js";
4
4
  import {
5
5
  getModelProfile
6
- } from "./chunk-GJL3QSMP.js";
6
+ } from "./chunk-7ZMOP5LS.js";
7
7
  import {
8
8
  getBackendCapabilities
9
9
  } from "./chunk-PBFGJFGC.js";
10
10
  import {
11
11
  buildModelParams
12
- } from "./chunk-KAZWU73N.js";
12
+ } from "./chunk-DABWCAXS.js";
13
13
  import {
14
14
  logger
15
15
  } from "./chunk-K44MW7JJ.js";
@@ -518,4 +518,4 @@ export {
518
518
  createChatDoneEvent,
519
519
  consumeStreamGenerator
520
520
  };
521
- //# sourceMappingURL=chunk-LJX7KXRU.js.map
521
+ //# sourceMappingURL=chunk-6LX43YRA.js.map
@@ -4,12 +4,12 @@ import {
4
4
  getToolRegistryForAgent,
5
5
  processEventsForConversation,
6
6
  runTopLevelAgentLoop
7
- } from "./chunk-IQYI7TWF.js";
7
+ } from "./chunk-L24A6GZ7.js";
8
8
  import {
9
9
  buildCachedPrompt,
10
10
  computeDynamicContextHash,
11
11
  getToolFingerprint
12
- } from "./chunk-GKDJW4VP.js";
12
+ } from "./chunk-PHP7PLFX.js";
13
13
  import {
14
14
  getAllInstructions,
15
15
  getEnabledSkillMetadata
@@ -18,14 +18,14 @@ import {
18
18
  TurnMetrics,
19
19
  createChatDoneEvent,
20
20
  createMessageStartEvent
21
- } from "./chunk-LJX7KXRU.js";
21
+ } from "./chunk-6LX43YRA.js";
22
22
  import {
23
23
  buildAgentReminder,
24
24
  buildAgentSmallReminder
25
25
  } from "./chunk-GIJUWPRQ.js";
26
26
  import {
27
27
  PathAccessDeniedError
28
- } from "./chunk-KD4W3I6C.js";
28
+ } from "./chunk-26WS7AH6.js";
29
29
  import {
30
30
  getCurrentContextWindowId,
31
31
  getCurrentWindowMessageOptions,
@@ -329,4 +329,4 @@ export {
329
329
  runChatTurn,
330
330
  runAgentTurn
331
331
  };
332
- //# sourceMappingURL=chunk-FGK6KPJ5.js.map
332
+ //# sourceMappingURL=chunk-7RIEI2TE.js.map
@@ -37,6 +37,21 @@ var MODEL_PROFILES = [
37
37
  supportsVision: false
38
38
  }
39
39
  },
40
+ {
41
+ pattern: "qwen3.8",
42
+ profile: {
43
+ name: "Qwen3.8",
44
+ // Per Qwen3.8-27B model card (thinking mode — the default for coding
45
+ // sessions): "temperature=1.0, top_p=0.95, top_k=20"
46
+ temperature: 1,
47
+ topP: 0.95,
48
+ topK: 20,
49
+ // Qwen3.8 over-thinks; keep a large output budget (clamped to the
50
+ // model's context window at request time).
51
+ defaultMaxTokens: 5e4,
52
+ supportsVision: true
53
+ }
54
+ },
40
55
  {
41
56
  pattern: "qwen3",
42
57
  profile: {
@@ -173,4 +188,4 @@ export {
173
188
  getModelProfile,
174
189
  modelSupportsVision
175
190
  };
176
- //# sourceMappingURL=chunk-GJL3QSMP.js.map
191
+ //# sourceMappingURL=chunk-7ZMOP5LS.js.map
@@ -26,4 +26,4 @@ export {
26
26
  isClientMessage,
27
27
  isServerMessage
28
28
  };
29
- //# sourceMappingURL=chunk-KSDWQ6IZ.js.map
29
+ //# sourceMappingURL=chunk-ATWOXI52.js.map
@@ -609,7 +609,7 @@ async function buildChatCompletionCreateParams(model, request, profile, capabili
609
609
  ...request.toolChoice ? { tool_choice: request.toolChoice } : {},
610
610
  temperature,
611
611
  max_tokens: maxTokens,
612
- top_p: topP,
612
+ ...topP !== void 0 && { top_p: topP },
613
613
  stream: isStreaming,
614
614
  ...isStreaming ? { stream_options: { include_usage: true } } : {}
615
615
  };
@@ -735,4 +735,4 @@ export {
735
735
  buildStreamingCreateParams,
736
736
  mapFinishReason
737
737
  };
738
- //# sourceMappingURL=chunk-KAZWU73N.js.map
738
+ //# sourceMappingURL=chunk-DABWCAXS.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseDefaultModelSelection
3
- } from "./chunk-T3JVYO3Z.js";
3
+ } from "./chunk-JQMQ4DGC.js";
4
4
  import {
5
5
  deleteItemFromDir,
6
6
  getDefaultIds,
@@ -1099,4 +1099,4 @@ export {
1099
1099
  isTaskGateError,
1100
1100
  createTasksService
1101
1101
  };
1102
- //# sourceMappingURL=chunk-CTHRGR4O.js.map
1102
+ //# sourceMappingURL=chunk-H6YIVK67.js.map
@@ -0,0 +1,7 @@
1
+ // src/constants.ts
2
+ var VERSION = "2.0.129";
3
+
4
+ export {
5
+ VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-HIRDDCPD.js.map
@@ -163,7 +163,7 @@ async function runCli(options) {
163
163
  break;
164
164
  }
165
165
  case "provider": {
166
- const { runProviderCommand } = await import("./provider-726LD2KU.js");
166
+ const { runProviderCommand } = await import("./provider-DXEICEIE.js");
167
167
  const [, subcommand] = positionals;
168
168
  await runProviderCommand(mode, subcommand);
169
169
  break;
@@ -200,7 +200,7 @@ async function runCli(options) {
200
200
  break;
201
201
  }
202
202
  case "update": {
203
- const { runUpdate } = await import("./update-RCNZQCFG.js");
203
+ const { runUpdate } = await import("./update-EJUI6PSV.js");
204
204
  const code = await runUpdate();
205
205
  if (code !== 0) {
206
206
  process.exit(code);
@@ -213,7 +213,7 @@ async function runCli(options) {
213
213
  if (!configExists) {
214
214
  await runNetworkSetup(mode);
215
215
  }
216
- const { runServe } = await import("./serve-OY3Y5PXK.js");
216
+ const { runServe } = await import("./serve-Z5ITDPCQ.js");
217
217
  const serveOptions = { mode };
218
218
  if (values.port) serveOptions.port = parseInt(values.port);
219
219
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -225,4 +225,4 @@ async function runCli(options) {
225
225
  export {
226
226
  runCli
227
227
  };
228
- //# sourceMappingURL=chunk-TY3ONJE4.js.map
228
+ //# sourceMappingURL=chunk-HO7A7TMF.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createMessageStartEvent
3
- } from "./chunk-LJX7KXRU.js";
3
+ } from "./chunk-6LX43YRA.js";
4
4
  import {
5
5
  COMPACTION_PROMPT
6
6
  } from "./chunk-GIJUWPRQ.js";
@@ -36,4 +36,4 @@ export {
36
36
  COMPACTION_MAX_RATIO,
37
37
  shouldCompact
38
38
  };
39
- //# sourceMappingURL=chunk-UAAFZEIS.js.map
39
+ //# sourceMappingURL=chunk-IJFKJ5D6.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-K2QKX4ZJ.js";
4
4
  import {
5
5
  createLLMClient
6
- } from "./chunk-FNXTJLCZ.js";
6
+ } from "./chunk-P6GTPKE5.js";
7
7
  import {
8
8
  getModelProfile
9
- } from "./chunk-GJL3QSMP.js";
9
+ } from "./chunk-7ZMOP5LS.js";
10
10
  import {
11
11
  getBackendCapabilities
12
12
  } from "./chunk-PBFGJFGC.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-HNCM3D7Y.js";
18
18
  import {
19
19
  resolveAttachmentsInMessages
20
- } from "./chunk-KAZWU73N.js";
20
+ } from "./chunk-DABWCAXS.js";
21
21
  import {
22
22
  getCatalogEntry,
23
23
  resolveEffortForModel
@@ -851,4 +851,4 @@ export {
851
851
  parseDefaultModelSelection,
852
852
  createProviderManager
853
853
  };
854
- //# sourceMappingURL=chunk-T3JVYO3Z.js.map
854
+ //# sourceMappingURL=chunk-JQMQ4DGC.js.map
@@ -18,7 +18,7 @@ import {
18
18
  recordLLMFailure,
19
19
  sleepThroughRetryBackoff,
20
20
  streamLLMPure
21
- } from "./chunk-LJX7KXRU.js";
21
+ } from "./chunk-6LX43YRA.js";
22
22
  import {
23
23
  COMPACTION_PROMPT,
24
24
  buildBasePrompt,
@@ -61,7 +61,7 @@ import {
61
61
  getGateConfig,
62
62
  isTaskConflictError,
63
63
  isTaskGateError
64
- } from "./chunk-CTHRGR4O.js";
64
+ } from "./chunk-H6YIVK67.js";
65
65
  import {
66
66
  getSessionDisabledServers
67
67
  } from "./chunk-7YP4O4XE.js";
@@ -72,7 +72,7 @@ import {
72
72
  registerPathConfirmation,
73
73
  requestPathAccess,
74
74
  resolveRelativeTraversals
75
- } from "./chunk-KD4W3I6C.js";
75
+ } from "./chunk-26WS7AH6.js";
76
76
  import {
77
77
  getCurrentContextWindowId,
78
78
  getCurrentWindowMessageOptions,
@@ -95,8 +95,9 @@ import {
95
95
  createChatMessageMessage,
96
96
  createChatMessageUpdatedMessage,
97
97
  createChatPathConfirmationMessage,
98
+ createChatStatsMessage,
98
99
  createQueueStateMessage
99
- } from "./chunk-XAAEP5XM.js";
100
+ } from "./chunk-567L5OJ6.js";
100
101
  import {
101
102
  AskUserInterrupt,
102
103
  askUserTool
@@ -108,8 +109,9 @@ import {
108
109
  loadAllAgentsDefault
109
110
  } from "./chunk-KBESUA3W.js";
110
111
  import {
112
+ getModelProfile,
111
113
  modelSupportsVision
112
- } from "./chunk-GJL3QSMP.js";
114
+ } from "./chunk-7ZMOP5LS.js";
113
115
  import {
114
116
  OUTPUT_LIMITS,
115
117
  cacheSet,
@@ -120,7 +122,7 @@ import {
120
122
  formatPdfErrorMessage,
121
123
  isPdfBuffer,
122
124
  processPdfContent
123
- } from "./chunk-KAZWU73N.js";
125
+ } from "./chunk-DABWCAXS.js";
124
126
  import {
125
127
  SETTINGS_KEYS,
126
128
  getSetting,
@@ -1890,6 +1892,10 @@ function emitDoneAndBreak(assistantMsgId, segments, statsIdentity, mode, turnMet
1890
1892
  onMessage(createChatDoneMessage(assistantMsgId, reason, stats, agentType));
1891
1893
  }
1892
1894
  }
1895
+ function emitLiveTurnStats(turnMetrics, statsIdentity, mode, onMessage) {
1896
+ if (!onMessage) return;
1897
+ onMessage(createChatStatsMessage(turnMetrics.buildStats(statsIdentity, mode)));
1898
+ }
1893
1899
  var MAX_TRUNCATION_RETRIES = 3;
1894
1900
  var MAX_CONTEXT_LENGTH_RETRIES = 3;
1895
1901
  var OUTPUT_RESERVE_TOKENS = 2048;
@@ -1961,6 +1967,8 @@ async function runTopLevelAgentLoop(config, turnMetrics) {
1961
1967
  let assistantMsgId;
1962
1968
  let assistantMessageStarted = false;
1963
1969
  for (; ; ) {
1970
+ const attemptClient = resolveClient();
1971
+ const profileDefaultMaxTokens = getModelProfile(attemptClient.getModel()).defaultMaxTokens;
1964
1972
  const requestMessages = await config.getConversationMessages();
1965
1973
  if (requestFailures === 0 && retryLimiter.count() > 0) {
1966
1974
  const continueMsgId = crypto.randomUUID();
@@ -2015,7 +2023,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
2015
2023
  modelSettings = { ...modelSettings, maxTokens: currentMaxTokensOverride };
2016
2024
  }
2017
2025
  if (modelSettings) {
2018
- const requestedMaxTokens = modelSettings.maxTokens ?? 16384;
2026
+ const requestedMaxTokens = modelSettings.maxTokens ?? profileDefaultMaxTokens;
2019
2027
  modelSettings = { ...modelSettings, maxTokens: Math.min(requestedMaxTokens, availableForOutput) };
2020
2028
  }
2021
2029
  const allAgents = await loadAllAgentsDefault(sessionManager.getProjectWorkdir(sessionId));
@@ -2023,7 +2031,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
2023
2031
  const streamGen = streamLLMPure({
2024
2032
  messageId: assistantMsgId,
2025
2033
  systemPrompt: assembledRequest.systemPrompt,
2026
- llmClient: resolveClient(),
2034
+ llmClient: attemptClient,
2027
2035
  messages: assembledRequest.messages,
2028
2036
  tools: assembledRequest.tools,
2029
2037
  toolChoice: "auto",
@@ -2057,7 +2065,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
2057
2065
  if (signal?.aborted) throw new Error("Aborted");
2058
2066
  if (isContextLengthError(attemptResult.error) && contextRetryCount < MAX_CONTEXT_LENGTH_RETRIES) {
2059
2067
  contextRetryCount += 1;
2060
- const currentMax = modelSettings?.maxTokens ?? currentMaxTokensOverride ?? 16384;
2068
+ const currentMax = modelSettings?.maxTokens ?? currentMaxTokensOverride ?? profileDefaultMaxTokens;
2061
2069
  currentMaxTokensOverride = Math.max(256, Math.floor(currentMax / 2));
2062
2070
  continue;
2063
2071
  }
@@ -2133,6 +2141,9 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
2133
2141
  previousContextTokens,
2134
2142
  result.modelParams
2135
2143
  );
2144
+ if (!config.subAgentMetadata) {
2145
+ emitLiveTurnStats(turnMetrics, statsIdentity, mode, config.onMessage);
2146
+ }
2136
2147
  sessionManager.setCurrentContextSize(
2137
2148
  sessionId,
2138
2149
  result.usage.promptTokens,
@@ -2143,7 +2154,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
2143
2154
  currentMaxTokensOverride = void 0;
2144
2155
  if (!compacting) {
2145
2156
  const contextState = sessionManager.getContextState(sessionId);
2146
- const { shouldCompact, appendCompactionPrompt } = await import("./compactor-7KPBTFZF.js");
2157
+ const { shouldCompact, appendCompactionPrompt } = await import("./compactor-WKFNTUXL.js");
2147
2158
  if (shouldCompact(
2148
2159
  contextState.currentTokens,
2149
2160
  contextState.maxTokens,
@@ -2157,7 +2168,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
2157
2168
  if (!compacting && result.finishReason === "length" && result.toolCalls.length === 0) {
2158
2169
  if (truncationRetryCount < MAX_TRUNCATION_RETRIES) {
2159
2170
  truncationRetryCount += 1;
2160
- const currentMaxTokens = result.modelParams?.maxTokens ?? 16384;
2171
+ const currentMaxTokens = result.modelParams?.maxTokens ?? getModelProfile(resolveClient().getModel()).defaultMaxTokens;
2161
2172
  const promptTokens = result.usage.promptTokens;
2162
2173
  const contextWindow = sessionManager.getCurrentModelContext(sessionId, config.mode);
2163
2174
  const newMaxTokens = Math.min(
@@ -3168,7 +3179,7 @@ var callSubAgentTool = {
3168
3179
  };
3169
3180
  }
3170
3181
  try {
3171
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-CZHV2FAD.js");
3182
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-6XUSIJN2.js");
3172
3183
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3173
3184
  const turnMetrics = new TurnMetrics();
3174
3185
  const result = await executeSubAgent({
@@ -4190,7 +4201,7 @@ var mcpConfigTool = createTool(
4190
4201
  mcpNotifyChanged?.(sessionId);
4191
4202
  }
4192
4203
  async function rebuildTools() {
4193
- const { setMcpTools: setMcpTools2 } = await import("./tools-CZHV2FAD.js");
4204
+ const { setMcpTools: setMcpTools2 } = await import("./tools-6XUSIJN2.js");
4194
4205
  const mcpTools = createMcpTools(mcpManagerForTools);
4195
4206
  setMcpTools2(mcpTools);
4196
4207
  }
@@ -4632,7 +4643,11 @@ var projectTasksTool = createTool(
4632
4643
  action: { type: "string", enum: VALID_ACTIONS, description: "The action to perform" },
4633
4644
  taskId: { type: "string", description: "Target task id (edit, move, set_gate_value, delete)" },
4634
4645
  prompt: { type: "string", description: "The prompt/instruction executed when the task launches" },
4635
- attachments: { type: "array", description: "Optional attachments (same shape as chat attachments)" },
4646
+ attachments: {
4647
+ type: "array",
4648
+ description: "Optional attachments (same shape as chat attachments)",
4649
+ items: {}
4650
+ },
4636
4651
  agentId: { type: "string", description: "Selected agent id" },
4637
4652
  providerId: { type: "string", description: "Provider id used when a session is spawned" },
4638
4653
  model: { type: "string", description: "Model label used when a session is spawned" },
@@ -5115,4 +5130,4 @@ export {
5115
5130
  getToolRegistryForAgent,
5116
5131
  createToolRegistry
5117
5132
  };
5118
- //# sourceMappingURL=chunk-IQYI7TWF.js.map
5133
+ //# sourceMappingURL=chunk-L24A6GZ7.js.map
@@ -2,28 +2,28 @@ import {
2
2
  generateSessionNameForSession,
3
3
  getSessionMessageCount,
4
4
  needsNameGeneration
5
- } from "./chunk-HOSFRPPI.js";
5
+ } from "./chunk-OHTBWA7L.js";
6
6
  import {
7
7
  launchWorkflowRun
8
- } from "./chunk-7CBVJAN5.js";
8
+ } from "./chunk-2COZT3YI.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-FGK6KPJ5.js";
11
+ } from "./chunk-7RIEI2TE.js";
12
12
  import {
13
13
  devServerManager
14
- } from "./chunk-IQYI7TWF.js";
14
+ } from "./chunk-L24A6GZ7.js";
15
15
  import {
16
16
  applyDynamicContext,
17
17
  computeSessionHash,
18
18
  computeUnifiedDiff
19
- } from "./chunk-GKDJW4VP.js";
19
+ } from "./chunk-PHP7PLFX.js";
20
20
  import {
21
21
  appendCompactionPrompt
22
- } from "./chunk-UAAFZEIS.js";
22
+ } from "./chunk-IJFKJ5D6.js";
23
23
  import {
24
24
  hasRecentLLMFailure,
25
25
  interruptLLMRetryWait
26
- } from "./chunk-LJX7KXRU.js";
26
+ } from "./chunk-6LX43YRA.js";
27
27
  import {
28
28
  onProcessEvent
29
29
  } from "./chunk-RV5G7QQU.js";
@@ -55,7 +55,7 @@ import {
55
55
  parseClientMessage,
56
56
  serializeServerMessage,
57
57
  storedEventToServerMessage
58
- } from "./chunk-XAAEP5XM.js";
58
+ } from "./chunk-567L5OJ6.js";
59
59
  import {
60
60
  getPlatformShell
61
61
  } from "./chunk-66MG44TF.js";
@@ -74,7 +74,7 @@ import {
74
74
  } from "./chunk-K44MW7JJ.js";
75
75
  import {
76
76
  createServerMessage
77
- } from "./chunk-KSDWQ6IZ.js";
77
+ } from "./chunk-ATWOXI52.js";
78
78
 
79
79
  // src/server/ws/server.ts
80
80
  import { WebSocketServer, WebSocket as WebSocket2 } from "ws";
@@ -1299,7 +1299,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1299
1299
  }
1300
1300
  const session = sessionManager.requireSession(sessionId);
1301
1301
  try {
1302
- const { buildCachedPrompt } = await import("./dynamic-context-KXZ6VJDE.js");
1302
+ const { buildCachedPrompt } = await import("./dynamic-context-ZVE733UI.js");
1303
1303
  const allAgents = await import("./registry-Z4GVYFTV.js");
1304
1304
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
1305
1305
  const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
@@ -1624,4 +1624,4 @@ export {
1624
1624
  signalMcpReady,
1625
1625
  createWebSocketServer
1626
1626
  };
1627
- //# sourceMappingURL=chunk-IE2OMJIH.js.map
1627
+ //# sourceMappingURL=chunk-MYNNMV75.js.map