@qduc/term2 0.18.0 → 0.19.0

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 (259) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +3 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/commands/retry-failed-turn-command.d.ts +6 -0
  5. package/dist/commands/retry-failed-turn-command.d.ts.map +1 -0
  6. package/dist/commands/retry-failed-turn-command.js +12 -0
  7. package/dist/commands/retry-failed-turn-command.js.map +1 -0
  8. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  9. package/dist/components/layout/BackgroundTaskManager.js +4 -0
  10. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  11. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  12. package/dist/components/layout/BackgroundTasksPanel.js +11 -1
  13. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  14. package/dist/components/layout/BottomArea.d.ts +6 -0
  15. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  16. package/dist/components/layout/BottomArea.js +14 -5
  17. package/dist/components/layout/BottomArea.js.map +1 -1
  18. package/dist/components/layout/StatusBar.d.ts +6 -0
  19. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  20. package/dist/components/layout/StatusBar.js +15 -4
  21. package/dist/components/layout/StatusBar.js.map +1 -1
  22. package/dist/components/message/CommandGroupSummary.js +4 -5
  23. package/dist/components/message/CommandGroupSummary.js.map +1 -1
  24. package/dist/components/message/MessageList.d.ts.map +1 -1
  25. package/dist/components/message/MessageList.js +15 -2
  26. package/dist/components/message/MessageList.js.map +1 -1
  27. package/dist/components/message/command-grouping.d.ts +1 -0
  28. package/dist/components/message/command-grouping.d.ts.map +1 -1
  29. package/dist/components/message/command-grouping.js +14 -7
  30. package/dist/components/message/command-grouping.js.map +1 -1
  31. package/dist/contracts/conversation.d.ts +2 -0
  32. package/dist/contracts/conversation.d.ts.map +1 -1
  33. package/dist/contracts/conversation.js.map +1 -1
  34. package/dist/contracts/run-termination.d.ts +7 -0
  35. package/dist/contracts/run-termination.d.ts.map +1 -0
  36. package/dist/contracts/run-termination.js +2 -0
  37. package/dist/contracts/run-termination.js.map +1 -0
  38. package/dist/contracts/streamed-model-turn.d.ts +4 -0
  39. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  40. package/dist/hooks/conversation-ui-reducer.d.ts +7 -0
  41. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  42. package/dist/hooks/conversation-ui-reducer.js +6 -0
  43. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  44. package/dist/hooks/use-app-commands.d.ts +2 -1
  45. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  46. package/dist/hooks/use-app-commands.js +4 -1
  47. package/dist/hooks/use-app-commands.js.map +1 -1
  48. package/dist/hooks/use-conversation.d.ts +5 -0
  49. package/dist/hooks/use-conversation.d.ts.map +1 -1
  50. package/dist/hooks/use-conversation.js +29 -4
  51. package/dist/hooks/use-conversation.js.map +1 -1
  52. package/dist/hooks/use-model-selection.d.ts +2 -0
  53. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  54. package/dist/hooks/use-model-selection.js +3 -3
  55. package/dist/hooks/use-model-selection.js.map +1 -1
  56. package/dist/lib/agent-client.d.ts.map +1 -1
  57. package/dist/lib/agent-client.js +49 -23
  58. package/dist/lib/agent-client.js.map +1 -1
  59. package/dist/providers/aborted-stream-recorder.d.ts +26 -1
  60. package/dist/providers/aborted-stream-recorder.d.ts.map +1 -1
  61. package/dist/providers/aborted-stream-recorder.js +133 -0
  62. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  63. package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
  64. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  65. package/dist/providers/ai-sdk-streamed-model.js +90 -1
  66. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  67. package/dist/providers/codex-compact.d.ts +5 -4
  68. package/dist/providers/codex-compact.d.ts.map +1 -1
  69. package/dist/providers/codex-compact.js +5 -4
  70. package/dist/providers/codex-compact.js.map +1 -1
  71. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  72. package/dist/providers/codex-responses-model.js +103 -20
  73. package/dist/providers/codex-responses-model.js.map +1 -1
  74. package/dist/providers/codex.provider.d.ts +1 -0
  75. package/dist/providers/codex.provider.d.ts.map +1 -1
  76. package/dist/providers/codex.provider.js +59 -3
  77. package/dist/providers/codex.provider.js.map +1 -1
  78. package/dist/providers/fetch/logging-middleware.d.ts +1 -0
  79. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  80. package/dist/providers/fetch/logging-middleware.js +24 -1
  81. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  82. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  83. package/dist/providers/openai-chat-completions-model.js +99 -2
  84. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  85. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  86. package/dist/providers/openai-responses-model.js +21 -13
  87. package/dist/providers/openai-responses-model.js.map +1 -1
  88. package/dist/providers/retrying-model.d.ts +5 -1
  89. package/dist/providers/retrying-model.d.ts.map +1 -1
  90. package/dist/providers/retrying-model.js +29 -6
  91. package/dist/providers/retrying-model.js.map +1 -1
  92. package/dist/providers/websocket-abort-race.d.ts +13 -0
  93. package/dist/providers/websocket-abort-race.d.ts.map +1 -0
  94. package/dist/providers/websocket-abort-race.js +34 -0
  95. package/dist/providers/websocket-abort-race.js.map +1 -0
  96. package/dist/services/agent-runtime/application-run-loop.d.ts +7 -2
  97. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  98. package/dist/services/agent-runtime/application-run-loop.js +48 -8
  99. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  100. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +3 -3
  101. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  102. package/dist/services/agent-runtime/executor.d.ts.map +1 -1
  103. package/dist/services/agent-runtime/executor.js +2 -0
  104. package/dist/services/agent-runtime/executor.js.map +1 -1
  105. package/dist/services/agent-runtime/types.d.ts +2 -2
  106. package/dist/services/agent-runtime/types.d.ts.map +1 -1
  107. package/dist/services/agent-stream.d.ts +13 -0
  108. package/dist/services/agent-stream.d.ts.map +1 -1
  109. package/dist/services/agent-stream.js +56 -0
  110. package/dist/services/agent-stream.js.map +1 -1
  111. package/dist/services/background-task-activity.d.ts +7 -0
  112. package/dist/services/background-task-activity.d.ts.map +1 -1
  113. package/dist/services/background-task-activity.js +17 -0
  114. package/dist/services/background-task-activity.js.map +1 -1
  115. package/dist/services/conversation/conversation-events.d.ts +36 -3
  116. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  117. package/dist/services/conversation/conversation-events.js +30 -1
  118. package/dist/services/conversation/conversation-events.js.map +1 -1
  119. package/dist/services/conversation/conversation-orchestrator.d.ts +2 -0
  120. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  121. package/dist/services/conversation/conversation-orchestrator.js +31 -0
  122. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  123. package/dist/services/conversation/conversation-orchestrator.types.d.ts +4 -0
  124. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  125. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  126. package/dist/services/conversation/conversation-result-builder.js +9 -5
  127. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  128. package/dist/services/conversation/conversation-service.d.ts +2 -0
  129. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  130. package/dist/services/conversation/conversation-service.js +14 -2
  131. package/dist/services/conversation/conversation-service.js.map +1 -1
  132. package/dist/services/conversation/session-browser.d.ts +1 -0
  133. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  134. package/dist/services/conversation/session-browser.js +32 -38
  135. package/dist/services/conversation/session-browser.js.map +1 -1
  136. package/dist/services/conversation-agent-client.d.ts +3 -0
  137. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  138. package/dist/services/logging/provider-traffic.d.ts +6 -1
  139. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  140. package/dist/services/logging/provider-traffic.js +29 -4
  141. package/dist/services/logging/provider-traffic.js.map +1 -1
  142. package/dist/services/models/model-catalog-session.d.ts +1 -2
  143. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  144. package/dist/services/retry/committed-tool-continuation.d.ts +4 -0
  145. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -0
  146. package/dist/services/retry/committed-tool-continuation.js +12 -0
  147. package/dist/services/retry/committed-tool-continuation.js.map +1 -0
  148. package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -1
  149. package/dist/services/retry/in-loop-model-retry.js +9 -0
  150. package/dist/services/retry/in-loop-model-retry.js.map +1 -1
  151. package/dist/services/retry/provider-failure-classification.d.ts +12 -0
  152. package/dist/services/retry/provider-failure-classification.d.ts.map +1 -0
  153. package/dist/services/retry/provider-failure-classification.js +55 -0
  154. package/dist/services/retry/provider-failure-classification.js.map +1 -0
  155. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  156. package/dist/services/retry/retry-classifier.js +68 -0
  157. package/dist/services/retry/retry-classifier.js.map +1 -1
  158. package/dist/services/retry/retry-contracts.d.ts +24 -3
  159. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  160. package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
  161. package/dist/services/retry/retry-event-presenter.js +14 -4
  162. package/dist/services/retry/retry-event-presenter.js.map +1 -1
  163. package/dist/services/retry/retry-recovery-budget.d.ts +51 -0
  164. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -0
  165. package/dist/services/retry/retry-recovery-budget.js +84 -0
  166. package/dist/services/retry/retry-recovery-budget.js.map +1 -0
  167. package/dist/services/service-interfaces.d.ts +67 -3
  168. package/dist/services/service-interfaces.d.ts.map +1 -1
  169. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -1
  170. package/dist/services/session/background-check-in-scheduler.js +35 -2
  171. package/dist/services/session/background-check-in-scheduler.js.map +1 -1
  172. package/dist/services/session/continuation-recovery-handler.d.ts +1 -0
  173. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  174. package/dist/services/session/continuation-recovery-handler.js +42 -0
  175. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  176. package/dist/services/session/continuation-state.d.ts +4 -1
  177. package/dist/services/session/continuation-state.d.ts.map +1 -1
  178. package/dist/services/session/continuation-state.js +5 -1
  179. package/dist/services/session/continuation-state.js.map +1 -1
  180. package/dist/services/session/initial-turn-recovery-handler.d.ts +3 -0
  181. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  182. package/dist/services/session/initial-turn-recovery-handler.js +70 -0
  183. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  184. package/dist/services/session/session-composition.d.ts.map +1 -1
  185. package/dist/services/session/session-composition.js +3 -0
  186. package/dist/services/session/session-composition.js.map +1 -1
  187. package/dist/services/session/session-tool-tracker.d.ts +6 -0
  188. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  189. package/dist/services/session/session-tool-tracker.js +17 -0
  190. package/dist/services/session/session-tool-tracker.js.map +1 -1
  191. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  192. package/dist/services/session/terminal-result-collector.js +3 -0
  193. package/dist/services/session/terminal-result-collector.js.map +1 -1
  194. package/dist/services/session/turn-attempt-factory.d.ts +2 -0
  195. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  196. package/dist/services/session/turn-attempt-factory.js +1 -0
  197. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  198. package/dist/services/session/turn-attempt.d.ts +6 -0
  199. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  200. package/dist/services/session/turn-attempt.js +16 -0
  201. package/dist/services/session/turn-attempt.js.map +1 -1
  202. package/dist/services/session/turn-workflow.d.ts +1 -1
  203. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  204. package/dist/services/session/turn-workflow.js +83 -19
  205. package/dist/services/session/turn-workflow.js.map +1 -1
  206. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  207. package/dist/services/subagents/execution-runner.js +39 -4
  208. package/dist/services/subagents/execution-runner.js.map +1 -1
  209. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  210. package/dist/services/subagents/nested-runner.js +23 -7
  211. package/dist/services/subagents/nested-runner.js.map +1 -1
  212. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  213. package/dist/services/subagents/subagent-async-registry.js +28 -2
  214. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  215. package/dist/services/subagents/subagent-notification-store.d.ts +2 -2
  216. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  217. package/dist/services/subagents/subagent-notification-store.js +3 -2
  218. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  219. package/dist/services/subagents/types.d.ts +31 -8
  220. package/dist/services/subagents/types.d.ts.map +1 -1
  221. package/dist/services/subagents/types.js +11 -0
  222. package/dist/services/subagents/types.js.map +1 -1
  223. package/dist/services/subagents/utils.d.ts.map +1 -1
  224. package/dist/services/subagents/utils.js +3 -0
  225. package/dist/services/subagents/utils.js.map +1 -1
  226. package/dist/test-helpers/terminal-e2e.d.ts +2 -0
  227. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
  228. package/dist/test-helpers/terminal-e2e.js +13 -6
  229. package/dist/test-helpers/terminal-e2e.js.map +1 -1
  230. package/dist/test-helpers/vitest-network-guard.d.ts +2 -0
  231. package/dist/test-helpers/vitest-network-guard.d.ts.map +1 -0
  232. package/dist/test-helpers/vitest-network-guard.js +24 -0
  233. package/dist/test-helpers/vitest-network-guard.js.map +1 -0
  234. package/dist/tools/agent/run-subagent-async.d.ts +1 -1
  235. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  236. package/dist/tools/agent/run-subagent-async.js +25 -4
  237. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  238. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  239. package/dist/tools/session-rollover/session-rollover-tool.js +1 -0
  240. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  241. package/dist/tools/types.d.ts +4 -0
  242. package/dist/tools/types.d.ts.map +1 -1
  243. package/dist/tools/types.js.map +1 -1
  244. package/dist/utils/ai/token-usage.d.ts +3 -0
  245. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  246. package/dist/utils/ai/token-usage.js +29 -0
  247. package/dist/utils/ai/token-usage.js.map +1 -1
  248. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  249. package/dist/utils/conversation/conversation-event-handler.js +23 -1
  250. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  251. package/dist/utils/streaming/streaming-session-factory.d.ts +4 -0
  252. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  253. package/dist/utils/streaming/streaming-session-factory.js +59 -9
  254. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  255. package/dist/utils/streaming/streaming-speed-tracker.d.ts +99 -0
  256. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -0
  257. package/dist/utils/streaming/streaming-speed-tracker.js +214 -0
  258. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -0
  259. package/package.json +1 -1
@@ -45,6 +45,13 @@ export function normalizeUsage(usage) {
45
45
  const reasoningTokens = coalesceNumber(usage.reasoning_tokens, usage.reasoning_token_count, usage?.completion_tokens_details?.reasoning_tokens, usage?.output_tokens_details?.reasoning_tokens, usage.thoughtsTokenCount, usage.thoughts_token_count, usage.reasoningTokens);
46
46
  const promptMs = coalesceNumber(usage.prompt_ms, usage.promptMs);
47
47
  const completionMs = coalesceNumber(usage.completion_ms, usage.completionMs, usage.predicted_ms, usage.predictedMs, usage.output_ms, usage.outputMs);
48
+ const tokensPerSecond = coalesceNumber(usage.tokens_per_second, usage.tokensPerSecond, usage.tps);
49
+ const ttftMs = coalesceNumber(usage.ttft_ms, usage.ttftMs);
50
+ const upstreamProvider = typeof usage.upstream_provider === 'string' && usage.upstream_provider.trim().length > 0
51
+ ? usage.upstream_provider.trim()
52
+ : typeof usage.upstreamProvider === 'string' && usage.upstreamProvider.trim().length > 0
53
+ ? usage.upstreamProvider.trim()
54
+ : undefined;
48
55
  const mapped = {};
49
56
  if (promptTokens != null)
50
57
  mapped.prompt_tokens = promptTokens;
@@ -62,6 +69,12 @@ export function normalizeUsage(usage) {
62
69
  mapped.prompt_ms = promptMs;
63
70
  if (completionMs != null)
64
71
  mapped.completion_ms = completionMs;
72
+ if (tokensPerSecond != null)
73
+ mapped.tokens_per_second = tokensPerSecond;
74
+ if (ttftMs != null)
75
+ mapped.ttft_ms = ttftMs;
76
+ if (upstreamProvider != null)
77
+ mapped.upstream_provider = upstreamProvider;
65
78
  return Object.keys(mapped).length > 0 ? mapped : undefined;
66
79
  }
67
80
  export function extractUsage(payload) {
@@ -96,6 +109,16 @@ export function extractUsage(payload) {
96
109
  const self = normalizeUsage(record);
97
110
  if (self)
98
111
  results.push(self);
112
+ const providerMetadata = asUsageContainer(record.providerMetadata);
113
+ const openrouterMeta = asUsageContainer(providerMetadata?.openrouter);
114
+ const openrouterProvider = typeof openrouterMeta?.provider === 'string' && openrouterMeta.provider.trim().length > 0
115
+ ? openrouterMeta.provider.trim()
116
+ : typeof providerMetadata?.provider === 'string' && providerMetadata.provider.trim().length > 0
117
+ ? providerMetadata.provider.trim()
118
+ : undefined;
119
+ if (openrouterProvider) {
120
+ results.push({ upstream_provider: openrouterProvider });
121
+ }
99
122
  };
100
123
  enqueue(root);
101
124
  enqueue(root.data);
@@ -259,6 +282,12 @@ export function addTokenUsage(current, next) {
259
282
  addField('cache_creation_tokens');
260
283
  addField('prompt_ms');
261
284
  addField('completion_ms');
285
+ if (next.tokens_per_second != null)
286
+ result.tokens_per_second = next.tokens_per_second;
287
+ if (next.ttft_ms != null)
288
+ result.ttft_ms = next.ttft_ms;
289
+ if (next.upstream_provider != null)
290
+ result.upstream_provider = next.upstream_provider;
262
291
  return result;
263
292
  }
264
293
  export function addBillableSessionTokenUsage(current, next) {
@@ -1 +1 @@
1
- {"version":3,"file":"token-usage.js","sourceRoot":"","sources":["../../../source/utils/ai/token-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-usage.js","sourceRoot":"","sources":["../../../source/utils/ai/token-usage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-event-handler.d.ts","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,KAAK,EAEV,cAAc,EACd,OAAO,EAIR,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAarG,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB,EAAE;QAClB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE;QAChB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IACF,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/D,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;IACjD,sBAAsB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,cAAc,CAAC;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,4BAA4B,EAClC,KAAK,EAAE,cAAc,GACpB,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAwtBpC"}
1
+ {"version":3,"file":"conversation-event-handler.d.ts","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,KAAK,EAEV,cAAc,EACd,OAAO,EAIR,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAarG,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB,EAAE;QAClB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE;QAChB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IACF,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/D,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;IACjD,sBAAsB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,cAAc,CAAC;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,4BAA4B,EAClC,KAAK,EAAE,cAAc,GACpB,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CA+uBpC"}
@@ -540,8 +540,19 @@ export function createConversationEventHandler(deps, state) {
540
540
  else if (event.retryType === 'conversation_state') {
541
541
  text = `Conversation state was rejected by the provider. Rebuilding context and retrying... (Attempt ${event.attempt}/${event.maxRetries})`;
542
542
  }
543
+ else if (event.retryType === 'connection_interrupted') {
544
+ text = `Connection was interrupted before the response completed. Rebuilding context and retrying... (Attempt ${event.attempt}/${event.maxRetries})`;
545
+ }
543
546
  else if (event.retryType === 'upstream') {
544
- text = `Upstream error or rate limit encountered. Retrying... (Attempt ${event.attempt}/${event.maxRetries})`;
547
+ const prefix = event.errorKind === 'network'
548
+ ? 'Network connection unavailable'
549
+ : event.errorKind === 'rate_limit'
550
+ ? 'Rate limited'
551
+ : event.errorKind === 'provider'
552
+ ? 'Provider unavailable'
553
+ : 'Upstream error';
554
+ const wait = event.delayMs !== undefined ? ` in ${Math.ceil(event.delayMs / 1000)}s` : '';
555
+ text = `${prefix} — retrying ${event.attempt}/${event.maxRetries}${wait}`;
545
556
  }
546
557
  else if (event.retryType === 'parsing_error') {
547
558
  text = `Model parsing error detected. Retrying... (Attempt ${event.attempt}/${event.maxRetries})`;
@@ -563,6 +574,17 @@ export function createConversationEventHandler(deps, state) {
563
574
  setMessages((prev) => [...prev, systemMessage]);
564
575
  return;
565
576
  }
577
+ case 'retry_exhausted': {
578
+ const systemMessage = {
579
+ id: createMessageId(),
580
+ sender: 'system',
581
+ text: event.canRetry
582
+ ? `${event.message}\n\nType /retry-turn to try again, or send a new message to move on.`
583
+ : event.message,
584
+ };
585
+ appendMessages([systemMessage]);
586
+ return;
587
+ }
566
588
  case 'tool_recovery': {
567
589
  const droppedCallIds = new Set(event.droppedCallIds);
568
590
  const systemMessage = {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-event-handler.js","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-event-handler.js","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAuB,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACnH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,SAAS,gBAAgB,CAAC,MAA0B;IAClD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5E,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7E,CAAC;AAoBD;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAkC,EAClC,KAAqB;IAErB,MAAM,EACJ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,sBAAsB,GACvB,GAAG,IAAI,CAAC;IAET,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAoE,CAAC;IAC7G,MAAM,6BAA6B,GAAG,IAAI,GAAG,EAAU,CAAC;IACxD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,uEAAuE;IACvE,4EAA4E;IAC5E,2EAA2E;IAC3E,gCAAgC;IAChC,MAAM,kCAAkC,GAAG,CAAC,QAA4B,EAAE,IAAc,EAAW,EAAE;QACnG,OAAO,CACL,QAAQ,KAAK,cAAc;YAC3B,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAK,IAAgC,CAAC,SAAS,KAAK,YAAY,CAAC,CACpG,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,6BAA6B,GAAG,GAAG,EAAE;QACzC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC;QAClE,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC;QACrD,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,yBAAyB,CAAC,CAAC;YAC5E,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACvE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1C,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;QACxE,CAAC;QAED,6BAA6B,EAAE,CAAC;QAChC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACpC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC3E,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,iBAAiB,IAAI,aAAa,CAAC,MAAM,CAAC;YAChD,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,KAAK,CAAC,iBAAiB,IAAI,aAAa,CAAC,MAAM,CAAC;QAChD,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAE5B,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC;YAC/C,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;gBAC/D,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;oBAAE,OAAO,IAAI,CAAC;gBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBACvE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAe;gBACnC,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,aAAa;aACpB,CAAC;YACF,cAAc,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC5B,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,YAAoB,EAAE,EAAE;QACnD,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,qBAAqB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QACxD,MAAM,kBAAkB,GAAG,qBAAqB,IAAI,eAAe,EAAE,CAAC;QACtE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;QAE9C,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,gBAAgB,GAAe;gBACnC,EAAE,EAAE,kBAAkB;gBACtB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,aAAa;aACpB,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,SAAS,GACb,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,qBAAqB,CAAC,CAAC;YAE1G,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACtG,CAAC;YAED,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,gBAAgB,GAAe;oBACnC,EAAE,EAAE,iBAAiB;oBACrB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,QAAQ;iBACf,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACnF,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CAAC,KAAwB,EAAE,EAAE;QAClC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,YAAY,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;gBACjB,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC;gBACrC,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC9F,IAAI,YAAY,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC3C,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBAClC,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACtE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAAE,OAAO;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,EAAE,CAAC;gBACvB,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC/C,uEAAuE;gBACvE,kEAAkE;gBAClE,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC1G,KAAK,CAAC,sBAAsB,GAAG,CAAC,CAAC;gBACnC,CAAC;gBACD,0DAA0D;gBAC1D,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAE7E,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACpG,IAAI,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBACrD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;oBAC/F,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAE9D,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;wBACzB,gBAAgB,CAAC,MAAM,EAAE,CAAC;wBAC1B,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;4BACpC,KAAK,CAAC,wBAAwB,GAAG,aAAa,CAAC;4BAC/C,6BAA6B,EAAE,CAAC;4BAChC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC;wBACzC,CAAC;6BAAM,CAAC;4BACN,MAAM,gBAAgB,GAAqB;gCACzC,EAAE,EAAE,eAAe,EAAE;gCACrB,MAAM,EAAE,WAAW;gCACnB,MAAM,EAAE,WAAW;gCACnB,IAAI,EAAE,aAAa;6BACpB,CAAC;4BACF,cAAc,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACrC,CAAC;wBACD,KAAK,CAAC,sBAAsB,IAAI,aAAa,CAAC,MAAM,CAAC;oBACvD,CAAC;gBACH,CAAC;gBAED,KAAK,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;gBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;oBAAE,OAAO;gBACrC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YAED,KAAK,cAAc,EAAE,CAAC;gBACpB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;gBAE3D,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,kCAAkC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvD,wBAAwB;oBACxB,cAAc,EAAE,CAAC;oBAEjB,0DAA0D;oBAC1D,YAAY,EAAE,CAAC;oBACf,oBAAoB,EAAE,CAAC;oBACvB,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAE5B,IAAI,UAAU,EAAE,CAAC;wBACf,6BAA6B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC9C,wBAAwB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAgE,CAAC,CAAC;oBAC7G,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,wBAAwB;gBACxB,cAAc,EAAE,CAAC;gBAEjB,0DAA0D;gBAC1D,YAAY,EAAE,CAAC;gBACf,oBAAoB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAE5B,uDAAuD;gBACvD,kEAAkE;gBAClE,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAA+B,CAAC,CAAC;gBAE7E,MAAM,cAAc,GAAmB;oBACrC,EAAE,EAAE,UAAU,IAAI,eAAe,EAAE;oBACnC,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS;oBACjB,OAAO;oBACP,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,UAAU;oBAClB,QAAQ;oBACR,QAAQ,EAAE,IAAI;iBACf,CAAC;gBAEF,IAAI,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClD,OAAO;gBACT,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC;gBAED,cAAc,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,EAAE,CAAC;gBACvB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,UAAU;oBAAE,OAAO;gBACxB,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAC3F,CAAC;oBACF,IAAI,KAAK,KAAK,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;wBAAE,OAAO,IAAI,CAAC;oBAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAChD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAExG,MAAM,qBAAqB,GACzB,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrF,IAAI,qBAAqB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;wBAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;wBAC/D,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,cAAc,GAClB,MAAM,CAAC,MAAM,KAAK,QAAQ;wBACxB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,UAAU,KAAK,aAAa;4BAC9B,CAAC,CAAC,aAAa;4BACf,CAAC,CAAC,UAAU,KAAK,WAAW;gCAC5B,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,UAAU,KAAK,QAAQ;oCACzB,CAAC,CAAC,QAAQ;oCACV,CAAC,CAAC,UAAU,KAAK,SAAS;wCAC1B,CAAC,CAAC,cAAc;wCAChB,CAAC,CAAC,WAAW,CAAC;oBAClB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,YAAY,CACV,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,yBAAyB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;wBACxF,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;wBACpC,CAAC,CAAC,GAAG,CACR,CACF,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,oEAAoE;gBACpE,sEAAsE;gBACtE,sEAAsE;gBACtE,kEAAkE;gBAClE,IAAI,CAAC,iBAAiB,IAAI,kCAAkC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/F,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBAEjD,wBAAwB;gBACxB,cAAc,EAAE,CAAC;gBAEjB,2DAA2D;gBAC3D,YAAY,EAAE,CAAC;gBACf,oBAAoB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAE5B,8EAA8E;gBAC9E,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM;wBACnC,CAAC,CAAC,IAAI,CAAC,SAAS,CACZ,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,MAAM,KAAK,SAAS;4BACxB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;4BAC/B,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CACzD;wBACH,CAAC,CAAC,IAAI,CAAC,SAAS,CACZ,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CACpG,CAAC;oBAEN,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;wBACxB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;wBACvB,IAAI,CAAC,YAAY,CAAC,GAAG;4BACnB,GAAG,SAAS;4BACZ,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE;yBAC1B,CAAC;wBACF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBAED,OAAO,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,sBAAsB,EAAE,CAAC;gBAC5B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;oBACvG,IAAI,KAAK,KAAK,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;wBAAE,OAAO,IAAI,CAAC;oBACrF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;oBACrD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,kBAAkB,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,IAAI,cAAkC,CAAC;gBACvC,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;oBAChE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;wBACjE,cAAc,GAAG,MAAM,CAAC;wBACxB,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACxC,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;wBAChE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;4BACrC,cAAc,GAAG,MAAM,CAAC;4BACxB,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACxC,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;oBAC9D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,cAAc,GAAG,QAAQ,CAAC;wBAC1B,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAA4B;oBAC3C,EAAE,EAAE,YAAY,KAAK,CAAC,OAAO,EAAE;oBAC/B,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3E,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,EAAE;iBACV,CAAC;gBACF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,WAAW,CAAC,MAAM,GAAG,cAAc,CAAC;gBACtC,CAAC;gBAED,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,KAAK,uBAAuB,EAAE,CAAC;gBAC7B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;oBACvG,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBACjB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;wBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;4BAAE,OAAO,IAAI,CAAC;wBACrF,0EAA0E;wBAC1E,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBAClF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBACD,mDAAmD;oBACnD,OAAO,YAAY,CAAC;wBAClB,GAAG,IAAI;wBACP;4BACE,EAAE,EAAE,YAAY,KAAK,CAAC,OAAO,EAAE;4BAC/B,MAAM,EAAE,UAAU;4BAClB,MAAM,EAAE,SAAS;4BACjB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,EAAE;yBACV;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,0BAA0B,EAAE,CAAC;gBAChC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;oBACvG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;oBACvC,IAAI,CAAC,OAAO;wBAAE,OAAO,IAAI,CAAC;oBAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;oBACzC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;wBAC5B,IAAI,cAAc,GAAG,OAAO,CAAC;wBAE7B,wDAAwD;wBACxD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACjE,cAAc,GAAG,SAAS,cAAc,EAAE,CAAC;wBAC7C,CAAC;wBAED,2CAA2C;wBAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;4BACzB,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gCACpC,MAAM,GAAG,YAAY,CAAC;4BACxB,CAAC;iCAAM,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;gCAC5C,MAAM,GAAG,WAAW,CAAC;4BACvB,CAAC;wBACH,CAAC;6BAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;4BACtD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BACtD,MAAM,GAAG,KAAK,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;wBACzD,CAAC;6BAAM,CAAC;4BACN,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gCACpC,MAAM,GAAG,YAAY,CAAC;4BACxB,CAAC;iCAAM,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;gCAC5C,MAAM,GAAG,WAAW,CAAC;4BACvB,CAAC;wBACH,CAAC;wBAED,OAAO,GAAG,cAAc,GAAG,MAAM,EAAE,CAAC;oBACtC,CAAC,CAAC,EAAE,CAAC;oBAEL,MAAM,UAAU,GAAG,CAAC,OAAgC,EAA2B,EAAE;wBAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5E,MAAM,WAAW,GACf,QAAQ,KAAK,qBAAqB;4BAClC,QAAQ,KAAK,wBAAwB;4BACrC,QAAQ,KAAK,qBAAqB,CAAC;wBAErC,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;wBACnE,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;4BACrC,OAAO;gCACL,GAAG,OAAO;gCACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;6BACjC,CAAC;wBACJ,CAAC;wBAED,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAEhC,OAAO;4BACL,GAAG,OAAO;4BACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;4BAChC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBAC9B,CAAC;oBACJ,CAAC,CAAC;oBAEF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBACjB,MAAM,WAAW,GACf,QAAQ,KAAK,qBAAqB;4BAClC,QAAQ,KAAK,wBAAwB;4BACrC,QAAQ,KAAK,qBAAqB,CAAC;wBACrC,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;wBACnE,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAE1E,OAAO,YAAY,CAAC;4BAClB,GAAG,IAAI;4BACP;gCACE,EAAE,EAAE,YAAY,KAAK,CAAC,OAAO,EAAE;gCAC/B,MAAM,EAAE,UAAU;gCAClB,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,KAAK,CAAC,OAAO;gCACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,IAAI,EAAE,EAAE;gCACR,KAAK,EAAE,WAAW;6BACnB;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACxC,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,oBAAoB,EAAE,CAAC;gBAC1B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,OAAO,YAAY,CACjB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACf,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc;gCAAE,OAAO,GAAG,CAAC;4BAC9C,OAAO;gCACL,GAAG,GAAG;gCACN,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gCAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;6BAClC,CAAC;wBACJ,CAAC;wBACD,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,sBAAsB,EAAE,CAAC;gBAC5B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,OAAO,YAAY,CACjB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACf,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BAChG,OAAO;gCACL,GAAG,GAAG;gCACN,MAAM,EAAE,aAAa;gCACrB,SAAS,EAAE,KAAK,CAAC,SAAS;6BAC3B,CAAC;wBACJ,CAAC;wBACD,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,OAAO,EAAE,CAAC;gBACb,IAAI,IAAY,CAAC;gBACjB,IAAI,KAAK,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;oBAC5C,IAAI,GAAG,oFAAoF,CAAC;gBAC9F,CAAC;qBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,oBAAoB,EAAE,CAAC;oBACpD,IAAI,GAAG,gGAAgG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;gBAC9I,CAAC;qBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;oBACxD,IAAI,GAAG,yGAAyG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;gBACvJ,CAAC;qBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBAC1C,MAAM,MAAM,GACV,KAAK,CAAC,SAAS,KAAK,SAAS;wBAC3B,CAAC,CAAC,gCAAgC;wBAClC,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,YAAY;4BAClC,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU;gCAChC,CAAC,CAAC,sBAAsB;gCACxB,CAAC,CAAC,gBAAgB,CAAC;oBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1F,IAAI,GAAG,GAAG,MAAM,eAAe,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;gBAC5E,CAAC;qBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;oBAC/C,IAAI,GAAG,sDAAsD,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;gBACpG,CAAC;qBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBAC1C,IAAI,GAAG,uDAAuD,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;gBACrG,CAAC;qBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;oBAC/C,IAAI,GAAG,gCAAgC,KAAK,CAAC,QAAQ,2BAA2B,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;gBACvH,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,wBAAwB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;gBACtE,CAAC;gBACD,MAAM,aAAa,GAAkB;oBACnC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI;iBACL,CAAC;gBACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAkB;oBACnC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,KAAK,CAAC,QAAQ;wBAClB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,sEAAsE;wBACxF,CAAC,CAAC,KAAK,CAAC,OAAO;iBAClB,CAAC;gBACF,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,KAAK,eAAe,EAAE,CAAC;gBACrB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACrD,MAAM,aAAa,GAAkB;oBACnC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,KAAK,CAAC,OAAO;iBACpB,CAAC;gBAEF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBAChC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BACzF,OAAO,OAAO,CAAC;wBACjB,CAAC;wBAED,MAAM,aAAa,GAAmB;4BACpC,GAAG,OAAO;4BACV,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;gCAC3B,CAAC,CAAC,OAAO,CAAC,MAAM;gCAChB,CAAC,CAAC,mEAAmE;4BACvE,aAAa,EAAE,yBAAyB;yBACzC,CAAC;wBAEF,OAAO,aAAa,CAAC;oBACvB,CAAC,CAAC,CAAC;oBAEH,OAAO,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,OAAO;gBACV,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;oBAC5B,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC1C,CAAC;gBAED,kFAAkF;gBAClF,6EAA6E;gBAC7E,wEAAwE;gBACxE,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,OAAO;YAET,KAAK,cAAc;gBACjB,uEAAuE;gBACvE,qEAAqE;gBACrE,OAAO;YAET,KAAK,mBAAmB;gBACtB,2EAA2E;gBAC3E,qEAAqE;gBACrE,OAAO;YAET,iFAAiF;YACjF,qBAAqB;YACrB,EAAE;YACF,qFAAqF;YACrF,uFAAuF;YACvF,uFAAuF;YACvF,+EAA+E;YAC/E,KAAK,4BAA4B,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,KAAK,CAAC,0BAA0B,CAAC;gBACpD,MAAM,aAAa,GAAkB;oBACnC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,uBAAuB;iBAC9B,CAAC;gBACF,KAAK,CAAC,0BAA0B,GAAG,aAAa,CAAC,EAAE,CAAC;gBACpD,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC/F,OAAO;YACT,CAAC;YAED,KAAK,8BAA8B,EAAE,CAAC;gBACpC,kFAAkF;gBAClF,4EAA4E;gBAC5E,mFAAmF;gBACnF,MAAM,UAAU,GAAG,KAAK,CAAC,0BAA0B,CAAC;gBACpD,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,MAAM,IAAI,GACR,MAAM,KAAK,SAAS;oBAClB,CAAC,CAAC,oBAAoB,OAAO,GAAG;oBAChC,CAAC,CAAC,kBAAkB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,OAAO,GAAG,CAAC;gBAC3E,MAAM,aAAa,GAAkB,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAEvF,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACxC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;oBACrE,IAAI,KAAK,KAAK,CAAC,CAAC;wBAAE,OAAO,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC;oBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,2BAA2B,EAAE,CAAC;gBACjC,kFAAkF;gBAClF,MAAM,UAAU,GAAG,KAAK,CAAC,0BAA0B,CAAC;gBACpD,MAAM,aAAa,GAAkB;oBACnC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,8BAA8B,KAAK,CAAC,aAAa,8CAA8C;iBACtG,CAAC;gBACF,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACxC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC/F,OAAO;YACT,CAAC;YAED;gBACE,qEAAqE;gBACrE,OAAO;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -18,6 +18,10 @@ export interface StreamingSessionFactoryDeps {
18
18
  loggingService: ILoggingService;
19
19
  setLastUsage: (usage: NormalizedUsage) => void;
20
20
  setCodexRateLimit?: (rateLimit: CodexRateLimitInfo) => void;
21
+ setStreamingSpeed?: (speed: {
22
+ tps: number;
23
+ ttftMs?: number;
24
+ } | null) => void;
21
25
  /**
22
26
  * Budget evidence that did not stop the run.
23
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-session-factory.d.ts","sourceRoot":"","sources":["../../../source/utils/streaming/streaming-session-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,8BAA8B,EAC9B,KAAK,4BAA4B,EAClC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAG7F,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IAC/D,WAAW,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,YAAY,EAAE,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC3D,sBAAsB,EAAE,4BAA4B,CAAC,wBAAwB,CAAC,CAAC;IAC/E,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5D;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,cAAc,CAAC;IAC5C,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,8BAA8B,CAAC,EAAE,OAAO,8BAA8B,CAAC;CACxE;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;IACvE,gBAAgB,EAAE,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;IACnE,cAAc,EAAE,cAAc,CAAC;IAC/B,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAmHzG"}
1
+ {"version":3,"file":"streaming-session-factory.d.ts","sourceRoot":"","sources":["../../../source/utils/streaming/streaming-session-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,8BAA8B,EAC9B,KAAK,4BAA4B,EAClC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAI7F,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IAC/D,WAAW,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,YAAY,EAAE,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC3D,sBAAsB,EAAE,4BAA4B,CAAC,wBAAwB,CAAC,CAAC;IAC/E,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7E;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,cAAc,CAAC;IAC5C,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,8BAA8B,CAAC,EAAE,OAAO,8BAA8B,CAAC;CACxE;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;IACvE,gBAAgB,EAAE,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;IACnE,cAAc,EAAE,cAAc,CAAC;IAC/B,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAkKzG"}
@@ -6,6 +6,7 @@ import { createConversationEventHandler, } from '../conversation/conversation-ev
6
6
  import { createStreamingState } from '../conversation/conversation-utils.js';
7
7
  import { createStreamingUpdateCoordinator } from './streaming-updater.js';
8
8
  import { createMessageIdFactory } from '../message-id-factory.js';
9
+ import { StreamingSpeedTracker } from './streaming-speed-tracker.js';
9
10
  export function createStreamingSession(deps, label) {
10
11
  const now = deps.now ?? Date.now;
11
12
  const createState = deps.createStreamingState ?? createStreamingState;
@@ -72,27 +73,76 @@ export function createStreamingSession(deps, label) {
72
73
  trimMessages: deps.trimMessages,
73
74
  annotateCommandMessage: deps.annotateCommandMessage,
74
75
  }, streamingState);
76
+ const speedTracker = new StreamingSpeedTracker({ startTime: now() });
77
+ const notifySpeed = () => {
78
+ if (!deps.setStreamingSpeed)
79
+ return;
80
+ const liveTps = speedTracker.getLiveTps(now());
81
+ if (liveTps !== null) {
82
+ deps.setStreamingSpeed({
83
+ tps: liveTps,
84
+ ttftMs: speedTracker.getTtftMs() ?? undefined,
85
+ });
86
+ }
87
+ };
75
88
  const applyConversationEvent = (event) => {
76
- if (event.type === 'usage_update') {
77
- // Emit usage updates in real-time during streaming
89
+ if (event.type === 'text_delta') {
90
+ speedTracker.recordDelta(event.delta, now());
91
+ notifySpeed();
92
+ }
93
+ else if (event.type === 'reasoning_delta') {
94
+ speedTracker.recordDelta(event.delta, now());
95
+ notifySpeed();
96
+ }
97
+ else if (event.type === 'tool_call_streaming_delta') {
98
+ speedTracker.recordCumulativeChars(event.argumentCharCount, now());
99
+ notifySpeed();
100
+ }
101
+ else if (event.type === 'tool_dispatched') {
102
+ // Tool execution isn't token generation and belongs to a separate model request than
103
+ // whatever comes next; reset so the next request's speed is measured from zero instead of
104
+ // being diluted by tool latency or averaged together with this request.
105
+ speedTracker.reset(now());
106
+ }
107
+ else if (event.type === 'usage_update') {
108
+ if (event.usage.completion_tokens) {
109
+ speedTracker.recordUsageTokens(event.usage.completion_tokens, now());
110
+ }
111
+ notifySpeed();
112
+ const currentTps = speedTracker.getSettledTps(event.usage.completion_tokens, now());
113
+ const ttftMs = speedTracker.getTtftMs();
114
+ if (currentTps != null) {
115
+ event.usage.tokens_per_second = currentTps;
116
+ }
117
+ if (ttftMs != null) {
118
+ event.usage.ttft_ms = ttftMs;
119
+ }
78
120
  deps.loggingService.debug(`UI received streaming usage (${label})`, { usage: event.usage });
79
121
  streamingState.latestUsage = event.usage;
80
122
  deps.setLastUsage(event.usage);
81
123
  }
82
124
  else if (event.type === 'final') {
125
+ deps.setStreamingSpeed?.(null);
83
126
  if (event.usage && !streamingState.latestUsage) {
84
- // No per-turn usage was streamed (e.g. a non-streaming provider). Fall
85
- // back to the final event's usage so the footer still shows something.
127
+ // No usage_update happened during this turn (e.g. a single non-tool-call request), so
128
+ // this is the only chance to compute settled TPS for it.
129
+ const finalTps = speedTracker.getSettledTps(event.usage.completion_tokens, now());
130
+ const ttftMs = speedTracker.getTtftMs();
131
+ if (finalTps != null) {
132
+ event.usage.tokens_per_second = finalTps;
133
+ }
134
+ if (ttftMs != null) {
135
+ event.usage.ttft_ms = ttftMs;
136
+ }
86
137
  deps.loggingService.debug(`UI received final usage (${label})`, { usage: event.usage });
87
138
  streamingState.latestUsage = event.usage;
88
139
  deps.setLastUsage(event.usage);
89
140
  }
90
141
  else if (event.usage) {
91
- // The final event carries the run-cumulative total (the sum of every
92
- // model turn in the run). The footer is a per-turn indicator, so keep
93
- // the last streamed turn's usage rather than overwriting it with the
94
- // run total. The run-cumulative still reaches the session accumulator
95
- // via result.usage in applyServiceResult.
142
+ // A usage_update already computed the correct per-request TPS for the last request in
143
+ // this turn (before the tracker was reset for tool execution / subsequent requests).
144
+ // final's usage is the run-cumulative total, not a fresh generation to measure — leave
145
+ // the already-settled per-request value on streamingState.latestUsage untouched.
96
146
  deps.loggingService.debug(`UI keeping last streamed turn usage; final carries run total (${label})`, {
97
147
  finalUsage: event.usage,
98
148
  shownUsage: streamingState.latestUsage,
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-session-factory.js","sourceRoot":"","sources":["../../../source/utils/streaming/streaming-session-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming-session-factory.js","sourceRoot":"","sources":["../../../source/utils/streaming/streaming-session-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACL,8BAA8B,GAE/B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAuB,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAgCrE,MAAM,UAAU,sBAAsB,CAAC,IAAiC,EAAE,KAAa;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC;IACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,gCAAgC,IAAI,gCAAgC,CAAC;IACpG,MAAM,kBAAkB,GAAG,IAAI,CAAC,8BAA8B,IAAI,8BAA8B,CAAC;IACjG,MAAM,eAAe,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAEpD,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;IAErC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,CAAC,UAAkB,EAAE,EAAE;QAClE,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,cAAc,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBACrF,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;YAChC,cAAc,CAAC,mBAAmB,GAAG,KAAK,CAAC;YAC3C,MAAM,gBAAgB,GAAe;gBACnC,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,UAAU;aACjB,CAAC;YACF,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,gBAAwB,EAAE,EAAE;QACtE,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,cAAc,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,yBAAyB,CAAC,CAAC;gBAC3F,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;YAChC,cAAc,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACjD,MAAM,gBAAgB,GAAqB;gBACzC,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,gBAAgB;aACvB,CAAC;YACF,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE7B,MAAM,gBAAgB,GAAG,kBAAkB,CACzC;QACE,kBAAkB;QAClB,gBAAgB;QAChB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,eAAe;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;KACpD,EACD,cAAc,CACf,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAErE,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACpC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,CAAC;gBACrB,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,IAAI,SAAS;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,KAAwB,EAAE,EAAE;QAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC5C,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;YACtD,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;YACnE,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC5C,qFAAqF;YACrF,0FAA0F;YAC1F,wEAAwE;YACxE,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAClC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,WAAW,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;YACpF,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,UAAU,CAAC;YAC7C,CAAC;YACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,gCAAgC,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5F,cAAc,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBAC/C,sFAAsF;gBACtF,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;gBACxC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBAC3C,CAAC;gBACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,4BAA4B,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxF,cAAc,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACvB,sFAAsF;gBACtF,qFAAqF;gBACrF,uFAAuF;gBACvF,iFAAiF;gBACjF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,iEAAiE,KAAK,GAAG,EAAE;oBACnG,UAAU,EAAE,KAAK,CAAC,KAAK;oBACvB,UAAU,EAAE,cAAc,CAAC,WAAW;iBACvC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,kCAAkC,KAAK,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACxG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,sBAAsB;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Utility for tracking token streaming speed (tokens per second / TPS).
3
+ *
4
+ * Handles both:
5
+ * 1. Live generation speed during streaming (using exact token updates or character heuristics).
6
+ * 2. Settled decoding speed calculated at the end of a generation turn.
7
+ *
8
+ * A single agent turn can involve multiple separate model requests interleaved with tool
9
+ * execution (model generates, calls a tool, tool runs, model resumes with a fresh request).
10
+ * Tool-execution latency is not generation, so the tracker is reset at each such boundary
11
+ * (see `reset()`) rather than averaged across the whole turn — each request's speed is measured
12
+ * independently, starting from zero.
13
+ */
14
+ export interface StreamingSpeedSnapshot {
15
+ tps: number;
16
+ ttftMs?: number;
17
+ elapsedMs: number;
18
+ estimatedTokens: number;
19
+ }
20
+ export declare class StreamingSpeedTracker {
21
+ private startTime;
22
+ private firstTokenTime;
23
+ private lastUpdateTime;
24
+ private accumulatedChars;
25
+ private exactTokens;
26
+ /**
27
+ * Chars-per-token used for live estimates before exact usage arrives. Starts at
28
+ * `DEFAULT_CHARS_PER_TOKEN` and is recalibrated from each request's real usage in
29
+ * `recordUsageTokens`, so it survives `reset()` and carries forward to seed the next request's
30
+ * estimate within the same turn.
31
+ */
32
+ private charsPerToken;
33
+ /** Rolling history of (time, cumulative token count) samples, oldest first, used for windowed live TPS. */
34
+ private samples;
35
+ constructor(options?: {
36
+ startTime?: number;
37
+ charsPerToken?: number;
38
+ });
39
+ /**
40
+ * Reset all accumulated state so the next recorded token starts a brand-new measurement,
41
+ * unrelated to anything recorded before this call. Call this at request boundaries within a
42
+ * turn — e.g. when a tool starts executing — so tool latency never mixes into decode speed and
43
+ * the next model request's speed isn't diluted by a previous request's average.
44
+ *
45
+ * `charsPerToken` is deliberately NOT reset — it carries the last request's calibrated ratio
46
+ * forward to seed the next request's live estimate.
47
+ */
48
+ reset(now?: number): void;
49
+ private recordSample;
50
+ /**
51
+ * Record arrival of a text or reasoning delta string.
52
+ */
53
+ recordDelta(text?: string | null, now?: number): void;
54
+ /**
55
+ * Record cumulative characters streamed (e.g. from tool call argument streaming).
56
+ */
57
+ recordCumulativeChars(cumulativeChars: number, now?: number): void;
58
+ /**
59
+ * Record exact token counts if the provider streams usage updates.
60
+ */
61
+ recordUsageTokens(completionTokens: number, now?: number): void;
62
+ /**
63
+ * Recalibrate the chars-per-token ratio from this request's real accumulated chars vs. its
64
+ * exact token count, so the NEXT request's live estimate (before its own usage arrives) starts
65
+ * from an observed ratio instead of the generic default. Ignored if there isn't enough
66
+ * accumulated text to trust the sample (e.g. a tool-only request with no generated text).
67
+ */
68
+ private calibrateCharsPerToken;
69
+ /**
70
+ * Time to first token in milliseconds, or null if no tokens received yet.
71
+ */
72
+ getTtftMs(): number | null;
73
+ /**
74
+ * Current estimated or exact token count generated so far.
75
+ */
76
+ getEstimatedTokens(): number;
77
+ /**
78
+ * Get live tokens per second during an in-flight stream.
79
+ *
80
+ * Computed over a trailing window (LIVE_WINDOW_MS) of recent samples rather than the
81
+ * whole-request average, so the displayed number tracks current throughput instead of trailing
82
+ * behind a slow start. Falls back to the full-history average until enough time has elapsed
83
+ * since the first token to fill a window. `reset()` clears history at request boundaries, so
84
+ * this never spans across a tool-execution gap or a prior request.
85
+ */
86
+ getLiveTps(now?: number): number | null;
87
+ /**
88
+ * Calculate exact settled tokens per second when generation finishes.
89
+ *
90
+ * @param finalCompletionTokens Exact completion tokens from provider's final usage.
91
+ * @param endTime Generation end timestamp.
92
+ */
93
+ getSettledTps(finalCompletionTokens?: number, endTime?: number): number | null;
94
+ /**
95
+ * Returns a complete snapshot of current speed metrics.
96
+ */
97
+ getSnapshot(now?: number): StreamingSpeedSnapshot | null;
98
+ }
99
+ //# sourceMappingURL=streaming-speed-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-speed-tracker.d.ts","sourceRoot":"","sources":["../../../source/utils/streaming/streaming-speed-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAmBD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,WAAW,CAAuB;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAS;IAC9B,2GAA2G;IAC3G,OAAO,CAAC,OAAO,CAAqB;IAEpC,YAAY,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAGnE;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,GAAG,GAAE,MAAmB,GAAG,IAAI,CAO3C;IAED,OAAO,CAAC,YAAY;IASpB;;OAEG;IACI,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CASvE;IAED;;OAEG;IACI,qBAAqB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAQpF;IAED;;OAEG;IACI,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAQjF;IAED;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACI,SAAS,IAAI,MAAM,GAAG,IAAI,CAGhC;IAED;;OAEG;IACI,kBAAkB,IAAI,MAAM,CAKlC;IAED;;;;;;;;OAQG;IACI,UAAU,CAAC,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAkCzD;IAED;;;;;OAKG;IACI,aAAa,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAahG;IAED;;OAEG;IACI,WAAW,CAAC,GAAG,GAAE,MAAmB,GAAG,sBAAsB,GAAG,IAAI,CAU1E;CACF"}