@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
@@ -1,4 +1,8 @@
1
1
  import { withMergedAssistantMessages } from './ai-sdk-message-normalizer.js';
2
+ const MAX_TRIVIAL_WHITESPACE_LENGTH = 4;
3
+ function isTrivialWhitespace(text) {
4
+ return text.length > 0 && text.length <= MAX_TRIVIAL_WHITESPACE_LENGTH && text.trim() === '';
5
+ }
2
6
  /** Adapts one AI SDK LanguageModelV3 stream to the application-owned turn protocol. */
3
7
  export function createAiSdkStreamedModel(model, providerFamily = undefined) {
4
8
  const normalizedModel = withMergedAssistantMessages(model);
@@ -28,6 +32,7 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
28
32
  ...(usage.inputTokens?.cacheWrite !== undefined ? { cacheWriteTokens: usage.inputTokens.cacheWrite } : {}),
29
33
  },
30
34
  ...(costUsd !== undefined ? { costUsd } : {}),
35
+ ...(result.providerMetadata ? { providerMetadata: result.providerMetadata } : {}),
31
36
  };
32
37
  },
33
38
  async *stream(request) {
@@ -37,6 +42,20 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
37
42
  const output = [];
38
43
  const reasoning = new Map();
39
44
  const toolCalls = new Map();
45
+ let pendingTrivialWhitespace = '';
46
+ let hasMaterialOutput = false;
47
+ // Providers can emit a one-character placeholder immediately before an
48
+ // in-band error. Keep only a bounded leading prefix uncommitted so the
49
+ // RetryingModel's any-yield-is-committed invariant remains unchanged.
50
+ const flushPendingWhitespace = () => {
51
+ if (!pendingTrivialWhitespace)
52
+ return undefined;
53
+ const text = pendingTrivialWhitespace;
54
+ pendingTrivialWhitespace = '';
55
+ appendText(output, text);
56
+ hasMaterialOutput = true;
57
+ return { type: 'text_delta', text };
58
+ };
40
59
  for await (const part of result.stream) {
41
60
  if (part.type === 'response-metadata') {
42
61
  if (part.id !== undefined)
@@ -44,7 +63,22 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
44
63
  continue;
45
64
  }
46
65
  if (part.type === 'text-delta') {
66
+ // Empty text frames are not material. In particular, do not let one
67
+ // between a placeholder and an error force the placeholder out.
68
+ if (!part.delta && pendingTrivialWhitespace)
69
+ continue;
70
+ if (!hasMaterialOutput &&
71
+ isTrivialWhitespace(part.delta) &&
72
+ pendingTrivialWhitespace.length + part.delta.length <= MAX_TRIVIAL_WHITESPACE_LENGTH) {
73
+ pendingTrivialWhitespace += part.delta;
74
+ continue;
75
+ }
76
+ const flushedWhitespace = flushPendingWhitespace();
77
+ if (flushedWhitespace)
78
+ yield flushedWhitespace;
47
79
  appendText(output, part.delta);
80
+ if (part.delta)
81
+ hasMaterialOutput = true;
48
82
  yield { type: 'text_delta', text: part.delta };
49
83
  continue;
50
84
  }
@@ -60,6 +94,9 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
60
94
  continue;
61
95
  }
62
96
  if (part.type === 'reasoning-delta') {
97
+ const flushedWhitespace = flushPendingWhitespace();
98
+ if (flushedWhitespace)
99
+ yield flushedWhitespace;
63
100
  const current = reasoning.get(part.id) ?? { text: '' };
64
101
  current.text += part.delta;
65
102
  if (part.providerMetadata)
@@ -78,6 +115,7 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
78
115
  text: part.delta,
79
116
  ...(current.providerMetadata ? { providerMetadata: current.providerMetadata } : {}),
80
117
  };
118
+ hasMaterialOutput = true;
81
119
  continue;
82
120
  }
83
121
  if (part.type === 'reasoning-end') {
@@ -96,6 +134,9 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
96
134
  continue;
97
135
  }
98
136
  if (part.type === 'tool-input-delta') {
137
+ const flushedWhitespace = flushPendingWhitespace();
138
+ if (flushedWhitespace)
139
+ yield flushedWhitespace;
99
140
  const current = toolCalls.get(part.id) ?? { name: '', argumentCharCount: 0 };
100
141
  current.argumentCharCount += part.delta.length;
101
142
  toolCalls.set(part.id, current);
@@ -104,6 +145,7 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
104
145
  ...(current.name ? { toolName: current.name } : {}),
105
146
  argumentCharCount: current.argumentCharCount,
106
147
  };
148
+ hasMaterialOutput = true;
107
149
  continue;
108
150
  }
109
151
  if (part.type === 'tool-input-end' ||
@@ -118,7 +160,11 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
118
160
  continue;
119
161
  }
120
162
  if (part.type === 'tool-call') {
163
+ const flushedWhitespace = flushPendingWhitespace();
164
+ if (flushedWhitespace)
165
+ yield flushedWhitespace;
121
166
  yield* publishToolCall(output, part.toolCallId, { name: part.toolName, arguments: part.input });
167
+ hasMaterialOutput = true;
122
168
  continue;
123
169
  }
124
170
  if (part.type === 'finish') {
@@ -129,6 +175,9 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
129
175
  const id = responseId;
130
176
  if (!id)
131
177
  throw new Error('AI SDK streamed response did not include a response id');
178
+ const flushedWhitespace = flushPendingWhitespace();
179
+ if (flushedWhitespace)
180
+ yield flushedWhitespace;
132
181
  appendUnendedReasoning(output, reasoning);
133
182
  const costUsd = extractAiSdkCostUsd(part.providerMetadata, part.usage);
134
183
  yield {
@@ -151,9 +200,12 @@ export function createAiSdkStreamedModel(model, providerFamily = undefined) {
151
200
  };
152
201
  return;
153
202
  }
154
- if (part.type === 'error')
203
+ if (part.type === 'error') {
204
+ pendingTrivialWhitespace = '';
155
205
  throw part.error;
206
+ }
156
207
  }
208
+ pendingTrivialWhitespace = '';
157
209
  throw new Error('AI SDK streamed response ended without a finish event');
158
210
  },
159
211
  };
@@ -398,4 +450,41 @@ export function extractAiSdkCostUsd(providerMetadata, usage) {
398
450
  }
399
451
  return undefined;
400
452
  }
453
+ /**
454
+ * Extract provider-reported upstream provider name (e.g. OpenRouter upstream routing)
455
+ * from AI SDK provider metadata when present.
456
+ */
457
+ export function extractAiSdkUpstreamProvider(providerMetadata) {
458
+ if (!providerMetadata || typeof providerMetadata !== 'object')
459
+ return undefined;
460
+ const openrouter = asRecord(providerMetadata.openrouter);
461
+ if (openrouter) {
462
+ if (typeof openrouter.provider === 'string' && openrouter.provider.trim().length > 0) {
463
+ return openrouter.provider.trim();
464
+ }
465
+ if (typeof openrouter.provider_name === 'string' && openrouter.provider_name.trim().length > 0) {
466
+ return openrouter.provider_name.trim();
467
+ }
468
+ }
469
+ if (typeof providerMetadata.provider === 'string' && providerMetadata.provider.trim().length > 0) {
470
+ return providerMetadata.provider.trim();
471
+ }
472
+ if (typeof providerMetadata.provider_name === 'string' && providerMetadata.provider_name.trim().length > 0) {
473
+ return providerMetadata.provider_name.trim();
474
+ }
475
+ for (const [key, value] of Object.entries(providerMetadata)) {
476
+ if (key === 'model' || key === 'responseId')
477
+ continue;
478
+ const record = asRecord(value);
479
+ if (record) {
480
+ if (typeof record.provider === 'string' && record.provider.trim().length > 0) {
481
+ return record.provider.trim();
482
+ }
483
+ if (typeof record.provider_name === 'string' && record.provider_name.trim().length > 0) {
484
+ return record.provider_name.trim();
485
+ }
486
+ }
487
+ }
488
+ return undefined;
489
+ }
401
490
  //# sourceMappingURL=ai-sdk-streamed-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-streamed-model.js","sourceRoot":"","sources":["../../source/providers/ai-sdk-streamed-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sdk-streamed-model.js","sourceRoot":"","sources":["../../source/providers/ai-sdk-streamed-model.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import type { ProviderInputItem } from '../contracts/provider-input.js';
2
2
  /**
3
- * Codex (chatgpt.com) does not accept Responses `context_management` on create.
4
- * It compacts through the standalone `/responses/compact` endpoint, which
5
- * returns retained messages plus one opaque `{ type: 'compaction' }` item.
6
- * Pass that window through as the next request's history.
3
+ * Codex (chatgpt.com) does not accept Responses `context_management` on ordinary
4
+ * turns. Compaction uses the Responses endpoint with a trailing
5
+ * `{ type: 'compaction_trigger' }`, which returns one opaque
6
+ * `{ type: 'compaction' }` output item. Pass that artifact through as the next
7
+ * request's history.
7
8
  */
8
9
  export declare function compactOutputToProviderHistory(output: readonly unknown[]): ProviderInputItem[];
9
10
  //# sourceMappingURL=codex-compact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-compact.d.ts","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAc9F"}
1
+ {"version":3,"file":"codex-compact.d.ts","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAc9F"}
@@ -1,9 +1,10 @@
1
1
  import { OPENAI_RESPONSES_OPAQUE_TAG } from './provider-opaque-compatibility.js';
2
2
  /**
3
- * Codex (chatgpt.com) does not accept Responses `context_management` on create.
4
- * It compacts through the standalone `/responses/compact` endpoint, which
5
- * returns retained messages plus one opaque `{ type: 'compaction' }` item.
6
- * Pass that window through as the next request's history.
3
+ * Codex (chatgpt.com) does not accept Responses `context_management` on ordinary
4
+ * turns. Compaction uses the Responses endpoint with a trailing
5
+ * `{ type: 'compaction_trigger' }`, which returns one opaque
6
+ * `{ type: 'compaction' }` output item. Pass that artifact through as the next
7
+ * request's history.
7
8
  */
8
9
  export function compactOutputToProviderHistory(output) {
9
10
  return output.map((item) => {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-compact.js","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAA0B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAA2B,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"codex-compact.js","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAA0B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAA2B,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-responses-model.d.ts","sourceRoot":"","sources":["../../source/providers/codex-responses-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-responses-model.d.ts","sourceRoot":"","sources":["../../source/providers/codex-responses-model.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import { markContextCompactionFailure } from './openai-responses-model.js';
17
17
  import { compactOutputToProviderHistory } from './codex-compact.js';
18
18
  import { OPENAI_RESPONSES_OPAQUE_TAG } from './provider-opaque-compatibility.js';
19
19
  import { ResponsesWebSocketSessions } from './responses-websocket-sessions.js';
20
+ import { raceWebSocketAbort } from './websocket-abort-race.js';
20
21
  const DUMMY_PROVIDER_TRAFFIC = {
21
22
  recordRequestStart() { },
22
23
  async recordResponseReceived() { },
@@ -57,15 +58,35 @@ export class CodexResponsesTransport {
57
58
  this.#sessions.close();
58
59
  }
59
60
  async compactHistory(request) {
60
- if (typeof this.client?.responses?.compact !== 'function') {
61
- throw new Error('Codex compact endpoint is unavailable on this client');
61
+ if (typeof this.client?.responses?.create !== 'function') {
62
+ throw new Error('Codex Responses endpoint is unavailable on this client');
62
63
  }
63
- const compacted = await this.client.responses.compact({
64
+ const stream = await this.client.responses.create({
64
65
  model: this.model,
65
- input: request.input,
66
+ input: [...request.input, { type: 'compaction_trigger' }],
67
+ parallel_tool_calls: true,
68
+ stream: true,
69
+ store: false,
70
+ include: ['reasoning.encrypted_content'],
66
71
  ...(request.instructions !== undefined ? { instructions: request.instructions } : {}),
67
72
  }, request.signal ? { signal: request.signal } : undefined);
68
- return { history: compactOutputToProviderHistory(compacted.output ?? []) };
73
+ let compactionItem;
74
+ let completed = false;
75
+ for await (const event of stream) {
76
+ if (event?.type === 'response.output_item.done' && event.item?.type === 'compaction') {
77
+ compactionItem = event.item;
78
+ }
79
+ else if (event?.type === 'response.completed') {
80
+ completed = true;
81
+ }
82
+ else if (event?.type === 'response.failed' || event?.type === 'error') {
83
+ throw new Error(event?.response?.error?.message ?? event?.message ?? 'Codex compaction failed');
84
+ }
85
+ }
86
+ if (!completed || !compactionItem) {
87
+ throw new Error('Codex compaction stream ended without a completed compaction item');
88
+ }
89
+ return { history: compactOutputToProviderHistory([compactionItem]) };
69
90
  }
70
91
  buildResponsesCreateRequest(request, stream) {
71
92
  const providerOptions = request.providerOptions ?? {};
@@ -73,8 +94,8 @@ export class CodexResponsesTransport {
73
94
  // below. Do not let either leak through native provider data or extraBody.
74
95
  const { extraBody, extraHeaders: _extraHeaders, contextCompaction: _contextCompaction, ...nativeProviderData } = providerOptions;
75
96
  const { context_management: _reservedContextManagement, ...safeExtraBody } = (extraBody ?? {});
76
- // Codex ChatGPT backend rejects context_management on create. Compaction
77
- // is POST /responses/compact via compactHistory(), not this field.
97
+ // Codex ChatGPT backend uses the Responses compaction trigger via
98
+ // compactHistory(), not context_management on ordinary turns.
78
99
  return {
79
100
  requestData: {
80
101
  model: this.model,
@@ -135,8 +156,23 @@ export class CodexResponsesTransport {
135
156
  released = true;
136
157
  sessions.release(socket, { keepAlive });
137
158
  };
159
+ // A raw WebSocket message iterator only settles its pending `next()`
160
+ // when the socket itself emits something, so cancellation cannot
161
+ // reach it through `for await` alone: nothing ever binds the
162
+ // request's AbortSignal to the socket. Pull manually and race each
163
+ // wait against the signal so an abort settles this generator (and
164
+ // everything awaiting it, up through `cancel_run`) instead of
165
+ // leaving it suspended forever.
166
+ const iterator = messages[Symbol.asyncIterator]();
167
+ let iteratorFinished = false;
138
168
  try {
139
- for await (const message of messages) {
169
+ while (true) {
170
+ const next = await raceWebSocketAbort(iterator.next(), request.signal);
171
+ if (next.done) {
172
+ iteratorFinished = true;
173
+ break;
174
+ }
175
+ const message = next.value;
140
176
  if (message.type === 'message') {
141
177
  const event = message.message;
142
178
  if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
@@ -167,6 +203,17 @@ export class CodexResponsesTransport {
167
203
  }
168
204
  finally {
169
205
  release(terminalReceived);
206
+ // The session-scoped socket keeps running; only this generator's
207
+ // pull loop needs to detach. Never await an SDK iterator return
208
+ // that waits on the socket itself.
209
+ if (!iteratorFinished) {
210
+ try {
211
+ void iterator.return?.().catch(() => undefined);
212
+ }
213
+ catch {
214
+ // Settlement above remains authoritative.
215
+ }
216
+ }
170
217
  }
171
218
  })();
172
219
  }
@@ -854,6 +901,17 @@ const isDefinitelyUnsentWebSocketError = (error, seen = new Set()) => {
854
901
  }
855
902
  return isDefinitelyUnsentWebSocketError(record.message, seen) || isDefinitelyUnsentWebSocketError(record.cause, seen);
856
903
  };
904
+ const isConnectTimeoutError = (error, seen = new Set()) => {
905
+ if (!error || seen.has(error))
906
+ return false;
907
+ seen.add(error);
908
+ if (typeof error !== 'object')
909
+ return false;
910
+ const record = error;
911
+ if (record.code === 'ETIMEDOUT' || record.code === 'UND_ERR_CONNECT_TIMEOUT')
912
+ return true;
913
+ return isConnectTimeoutError(record.cause, seen);
914
+ };
857
915
  /**
858
916
  * A receive-watchdog timeout that the send path proved never reached the wire.
859
917
  *
@@ -870,6 +928,14 @@ const asProvablyUnsentTimeout = (timeoutError, timing, request) => {
870
928
  return undefined;
871
929
  return new UnsentWebSocketRequestError(timeoutError.message, { cause: timeoutError });
872
930
  };
931
+ const asProvablyUnsentConnectTimeout = (error, request, receivedRawFrame) => {
932
+ if (receivedRawFrame || readWebSocketDispatch(request) !== 'unsent' || !isConnectTimeoutError(error)) {
933
+ return undefined;
934
+ }
935
+ return new UnsentWebSocketRequestError(getErrorMessage(error) || 'Codex WebSocket connection timed out.', {
936
+ cause: error,
937
+ });
938
+ };
873
939
  const asAmbiguousModelOutcome = (error) => {
874
940
  // Connection never carried the request: safe to let outer retry / transport
875
941
  // fallback policies decide. Do not pretend the model may have run.
@@ -964,7 +1030,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
964
1030
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
965
1031
  });
966
1032
  }
967
- #logTrafficFailed(requestId, requestData, error, receiveTiming) {
1033
+ #logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics) {
968
1034
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
969
1035
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
970
1036
  providerTraffic.recordRequestFailed({
@@ -973,6 +1039,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
973
1039
  model,
974
1040
  error,
975
1041
  ...(receiveTiming ? { receiveTiming } : {}),
1042
+ ...(diagnostics ? { diagnostics } : {}),
976
1043
  modelClass: WS_RESPONSE_MODEL_CLASS,
977
1044
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
978
1045
  });
@@ -1038,8 +1105,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1038
1105
  // The watchdog's own timeout may carry proof that the request never
1039
1106
  // reached the wire; the wire-state decision above still keys off the
1040
1107
  // error as thrown.
1041
- const failure = asProvablyUnsent?.() ?? error;
1042
- logFailed(requestId, requestData, failure, receiveTiming?.());
1108
+ const failure = asProvablyUnsent?.(error) ?? error;
1109
+ // Bounded evidence of whatever progress the recorder observed before
1110
+ // the failure (category/counter/timing, no raw frame payload) — a
1111
+ // stream that fails after thousands of frames (e.g. an abrupt close)
1112
+ // must not lose that evidence the way an unrecorded failure would.
1113
+ logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics());
1043
1114
  throw failure;
1044
1115
  }
1045
1116
  finally {
@@ -1047,8 +1118,17 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1047
1118
  // A consumer-closed stream ended because we stopped reading, which is
1048
1119
  // ordinary; its partial output stays out of the log. An abort is the
1049
1120
  // failure we cannot otherwise explain, so it keeps the transcript.
1050
- const outcome = signal?.aborted ? 'aborted' : 'consumer_closed';
1051
- logClosed(requestId, requestData, outcome, eventCount, outcome === 'aborted' ? recorder.diagnostics() : undefined);
1121
+ // A raw transport `error`/`close` frame observed before either of
1122
+ // those means the stream did not end because we chose to stop
1123
+ // reading — the socket ended the exchange — so it is neither
1124
+ // ordinary nor a client abort, and gets its own outcome plus
1125
+ // bounded (non-payload) progress evidence.
1126
+ const outcome = signal?.aborted ? 'aborted' : recorder.sawFailureFrame() ? 'failed' : 'consumer_closed';
1127
+ logClosed(requestId, requestData, outcome, eventCount, outcome === 'aborted'
1128
+ ? recorder.diagnostics()
1129
+ : outcome === 'failed'
1130
+ ? recorder.boundedDiagnostics()
1131
+ : undefined);
1052
1132
  }
1053
1133
  recorder.release();
1054
1134
  if (wireStateKey && wireStateToken) {
@@ -1380,10 +1460,11 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1380
1460
  async *rawStream(request) {
1381
1461
  let receivedRawFrame = false;
1382
1462
  let attemptedWithServerHistory = false;
1463
+ let effectiveRequest = request;
1383
1464
  try {
1384
1465
  const preparedRequest = this.#prepareCodexServerHistoryRequests(request);
1385
1466
  attemptedWithServerHistory = Boolean(this.#getEffectivePreviousResponseId(preparedRequest.request));
1386
- const effectiveRequest = preparedRequest.request;
1467
+ effectiveRequest = preparedRequest.request;
1387
1468
  this.#assertChainRequestMakesProgress(effectiveRequest);
1388
1469
  let responseId;
1389
1470
  for await (const event of super.rawStream(effectiveRequest)) {
@@ -1401,12 +1482,13 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1401
1482
  this.#rememberConsumedToolResultCallIds(responseId, effectiveRequest.previousResponseId, effectiveRequest.input);
1402
1483
  }
1403
1484
  catch (error) {
1404
- this.#logWebSocketClosedEarly(error, receivedRawFrame);
1485
+ const failure = asProvablyUnsentConnectTimeout(error, effectiveRequest, receivedRawFrame) ?? error;
1486
+ this.#logWebSocketClosedEarly(failure, receivedRawFrame);
1405
1487
  this.#recordRejectedChainRequest(error);
1406
- if (isPreviousResponseUnavailableError(error) && attemptedWithServerHistory && !receivedRawFrame) {
1488
+ if (isPreviousResponseUnavailableError(failure) && attemptedWithServerHistory && !receivedRawFrame) {
1407
1489
  this.#forgetCodexResponseId();
1408
1490
  if (!this.#shouldFallbackWithoutServerHistory(request)) {
1409
- throw error;
1491
+ throw failure;
1410
1492
  }
1411
1493
  const fallbackRequest = this.#withoutCodexServerHistory(request);
1412
1494
  let responseId;
@@ -1430,10 +1512,10 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1430
1512
  throw asAmbiguousModelOutcome(fallbackError) ?? fallbackError;
1431
1513
  }
1432
1514
  }
1433
- if (this.#shouldForgetCodexServerHistory(error)) {
1515
+ if (this.#shouldForgetCodexServerHistory(failure)) {
1434
1516
  this.#forgetCodexResponseId();
1435
1517
  }
1436
- throw asAmbiguousModelOutcome(error) ?? error;
1518
+ throw asAmbiguousModelOutcome(failure) ?? failure;
1437
1519
  }
1438
1520
  }
1439
1521
  /**
@@ -1564,7 +1646,8 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1564
1646
  try {
1565
1647
  const response = (await super.fetchResponse(updatedRequest, stream));
1566
1648
  const patched = wrapCodexStream(watchdog.wrap(response), this.diagnosticLogger);
1567
- return this.#withTrafficLogging(patched, requestId, requestData, wireStateKey, wireStateToken, updatedRequest.signal, () => watchdog.receiveTiming(), () => asProvablyUnsentTimeout(watchdog.timeoutError(), watchdog.receiveTiming(), updatedRequest));
1649
+ return this.#withTrafficLogging(patched, requestId, requestData, wireStateKey, wireStateToken, updatedRequest.signal, () => watchdog.receiveTiming(), (error) => asProvablyUnsentTimeout(watchdog.timeoutError(), watchdog.receiveTiming(), updatedRequest) ??
1650
+ asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0));
1568
1651
  }
1569
1652
  catch (error) {
1570
1653
  const timeoutError = watchdog.timeoutError();