@qduc/term2 0.32.2 → 0.33.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 (269) hide show
  1. package/dist/build-info.json +2 -2
  2. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  3. package/dist/components/menu/ModelSelectionMenu.js +12 -14
  4. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  5. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  6. package/dist/lib/agent-chat-service.js +2 -6
  7. package/dist/lib/agent-chat-service.js.map +1 -1
  8. package/dist/lib/agent-client.d.ts +2 -1
  9. package/dist/lib/agent-client.d.ts.map +1 -1
  10. package/dist/lib/agent-client.js +71 -84
  11. package/dist/lib/agent-client.js.map +1 -1
  12. package/dist/lib/agent-factory.d.ts.map +1 -1
  13. package/dist/lib/agent-factory.js +17 -19
  14. package/dist/lib/agent-factory.js.map +1 -1
  15. package/dist/prompts/tool-surface-guidance.js +1 -1
  16. package/dist/prompts/tool-surface-guidance.js.map +1 -1
  17. package/dist/prompts/tool-surface-guidance.ts +1 -1
  18. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  19. package/dist/providers/ai-sdk-anthropic.provider.js +16 -2
  20. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  21. package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -1
  22. package/dist/providers/ai-sdk-google.provider.js +16 -2
  23. package/dist/providers/ai-sdk-google.provider.js.map +1 -1
  24. package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
  25. package/dist/providers/ai-sdk-openrouter.provider.js +16 -1
  26. package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
  27. package/dist/providers/ai-sdk-provider-settings.d.ts +2 -0
  28. package/dist/providers/ai-sdk-provider-settings.d.ts.map +1 -1
  29. package/dist/providers/ai-sdk-provider-settings.js +5 -0
  30. package/dist/providers/ai-sdk-provider-settings.js.map +1 -1
  31. package/dist/providers/ai-sdk-streamed-model.d.ts +3 -3
  32. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  33. package/dist/providers/ai-sdk-streamed-model.js +5 -69
  34. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  35. package/dist/providers/anthropic-chat-caching.d.ts +5 -0
  36. package/dist/providers/anthropic-chat-caching.d.ts.map +1 -0
  37. package/dist/providers/{common/openai-compatible-messages.js → anthropic-chat-caching.js} +19 -1
  38. package/dist/providers/anthropic-chat-caching.js.map +1 -0
  39. package/dist/providers/codex.provider.js +2 -0
  40. package/dist/providers/codex.provider.js.map +1 -1
  41. package/dist/providers/custom-provider-runtime.d.ts +18 -0
  42. package/dist/providers/custom-provider-runtime.d.ts.map +1 -0
  43. package/dist/providers/custom-provider-runtime.js +26 -0
  44. package/dist/providers/custom-provider-runtime.js.map +1 -0
  45. package/dist/providers/llama-cpp.provider.d.ts +3 -0
  46. package/dist/providers/llama-cpp.provider.d.ts.map +1 -1
  47. package/dist/providers/llama-cpp.provider.js +17 -0
  48. package/dist/providers/llama-cpp.provider.js.map +1 -1
  49. package/dist/providers/neuralwatt.provider.d.ts +6 -0
  50. package/dist/providers/neuralwatt.provider.d.ts.map +1 -0
  51. package/dist/providers/neuralwatt.provider.js +8 -0
  52. package/dist/providers/neuralwatt.provider.js.map +1 -0
  53. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
  54. package/dist/providers/openai-compatible-lazy.js +2 -0
  55. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  56. package/dist/providers/openai-compatible-middleware.d.ts +4 -9
  57. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
  58. package/dist/providers/openai-compatible-middleware.js +25 -48
  59. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  60. package/dist/providers/openai-compatible-response-normalizer.d.ts +1 -1
  61. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
  62. package/dist/providers/openai-compatible-response-normalizer.js +6 -6
  63. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
  64. package/dist/providers/openai-compatible.provider.d.ts +2 -32
  65. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  66. package/dist/providers/openai-compatible.provider.js +18 -144
  67. package/dist/providers/openai-compatible.provider.js.map +1 -1
  68. package/dist/providers/openai.provider.d.ts.map +1 -1
  69. package/dist/providers/openai.provider.js +1 -0
  70. package/dist/providers/openai.provider.js.map +1 -1
  71. package/dist/providers/opencode-middleware.d.ts +9 -0
  72. package/dist/providers/opencode-middleware.d.ts.map +1 -0
  73. package/dist/providers/opencode-middleware.js +15 -0
  74. package/dist/providers/opencode-middleware.js.map +1 -0
  75. package/dist/providers/opencode-model-provider.d.ts +19 -0
  76. package/dist/providers/opencode-model-provider.d.ts.map +1 -0
  77. package/dist/providers/opencode-model-provider.js +128 -0
  78. package/dist/providers/opencode-model-provider.js.map +1 -0
  79. package/dist/providers/opencode.provider.d.ts +2 -0
  80. package/dist/providers/opencode.provider.d.ts.map +1 -1
  81. package/dist/providers/opencode.provider.js +4 -0
  82. package/dist/providers/opencode.provider.js.map +1 -1
  83. package/dist/providers/openrouter-decision-models.d.ts +7 -0
  84. package/dist/providers/openrouter-decision-models.d.ts.map +1 -0
  85. package/dist/providers/openrouter-decision-models.js +31 -0
  86. package/dist/providers/openrouter-decision-models.js.map +1 -0
  87. package/dist/providers/openrouter.provider.js +2 -1
  88. package/dist/providers/openrouter.provider.js.map +1 -1
  89. package/dist/providers/orcarouter-models.d.ts +12 -0
  90. package/dist/providers/orcarouter-models.d.ts.map +1 -0
  91. package/dist/providers/orcarouter-models.js +34 -0
  92. package/dist/providers/orcarouter-models.js.map +1 -0
  93. package/dist/providers/registry.d.ts +7 -0
  94. package/dist/providers/registry.d.ts.map +1 -1
  95. package/dist/providers/registry.js.map +1 -1
  96. package/dist/services/agent-runtime/application-run-loop.d.ts +20 -1
  97. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  98. package/dist/services/agent-runtime/application-run-loop.js +871 -759
  99. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  100. package/dist/services/agent-runtime/tool-call-execution.d.ts +1 -1
  101. package/dist/services/agent-runtime/tool-call-execution.d.ts.map +1 -1
  102. package/dist/services/agent-runtime/tool-call-execution.js +6 -3
  103. package/dist/services/agent-runtime/tool-call-execution.js.map +1 -1
  104. package/dist/services/approval/approval-flow-coordinator.d.ts +4 -2
  105. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  106. package/dist/services/approval/approval-flow-coordinator.js +2 -1
  107. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  108. package/dist/services/approval/approval-state.d.ts +0 -13
  109. package/dist/services/approval/approval-state.d.ts.map +1 -1
  110. package/dist/services/approval/approval-state.js +0 -5
  111. package/dist/services/approval/approval-state.js.map +1 -1
  112. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
  113. package/dist/services/approval/background-subagent-approval-controller.js +0 -2
  114. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
  115. package/dist/services/approval/nested-approval-owner.d.ts.map +1 -1
  116. package/dist/services/approval/nested-approval-owner.js +5 -1
  117. package/dist/services/approval/nested-approval-owner.js.map +1 -1
  118. package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -2
  119. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  120. package/dist/services/approval/shell-auto-approval-resolver.js +2 -2
  121. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  122. package/dist/services/approval/tool-approval-batch-coordinator.d.ts +2 -2
  123. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  124. package/dist/services/approval/tool-approval-batch-coordinator.js +4 -4
  125. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  126. package/dist/services/conversation/conversation-adapter.d.ts +17 -47
  127. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  128. package/dist/services/conversation/conversation-adapter.js +114 -88
  129. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  130. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  131. package/dist/services/conversation/conversation-orchestrator.js +48 -121
  132. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  133. package/dist/services/conversation/conversation-record-stream.d.ts +21 -0
  134. package/dist/services/conversation/conversation-record-stream.d.ts.map +1 -0
  135. package/dist/services/conversation/conversation-record-stream.js +186 -0
  136. package/dist/services/conversation/conversation-record-stream.js.map +1 -0
  137. package/dist/services/conversation/conversation-record.d.ts +160 -0
  138. package/dist/services/conversation/conversation-record.d.ts.map +1 -0
  139. package/dist/services/conversation/conversation-record.js +371 -0
  140. package/dist/services/conversation/conversation-record.js.map +1 -0
  141. package/dist/services/conversation/conversation-result-builder.d.ts +0 -4
  142. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  143. package/dist/services/conversation/conversation-result-builder.js +0 -10
  144. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  145. package/dist/services/conversation/conversation-service.d.ts +2 -1
  146. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  147. package/dist/services/conversation/conversation-service.js +3 -0
  148. package/dist/services/conversation/conversation-service.js.map +1 -1
  149. package/dist/services/conversation-agent-client.d.ts +17 -7
  150. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  151. package/dist/services/logging/conversation-logger.d.ts +1 -7
  152. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  153. package/dist/services/logging/conversation-logger.js +0 -18
  154. package/dist/services/logging/conversation-logger.js.map +1 -1
  155. package/dist/services/model-service.d.ts +2 -6
  156. package/dist/services/model-service.d.ts.map +1 -1
  157. package/dist/services/model-service.js +8 -21
  158. package/dist/services/model-service.js.map +1 -1
  159. package/dist/services/models/decision-model-listing.d.ts +2 -12
  160. package/dist/services/models/decision-model-listing.d.ts.map +1 -1
  161. package/dist/services/models/decision-model-listing.js +2 -29
  162. package/dist/services/models/decision-model-listing.js.map +1 -1
  163. package/dist/services/provider-continuity.d.ts +26 -0
  164. package/dist/services/provider-continuity.d.ts.map +1 -1
  165. package/dist/services/provider-continuity.js +47 -0
  166. package/dist/services/provider-continuity.js.map +1 -1
  167. package/dist/services/retry/recovery-executor.d.ts +3 -4
  168. package/dist/services/retry/recovery-executor.d.ts.map +1 -1
  169. package/dist/services/retry/recovery-executor.js +13 -75
  170. package/dist/services/retry/recovery-executor.js.map +1 -1
  171. package/dist/services/retry/retry-contracts.d.ts +2 -10
  172. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  173. package/dist/services/session/continuation-plan-applier.d.ts +5 -9
  174. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  175. package/dist/services/session/continuation-plan-applier.js +9 -43
  176. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  177. package/dist/services/session/continuation-recovery-handler.d.ts +4 -6
  178. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  179. package/dist/services/session/continuation-recovery-handler.js +3 -15
  180. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  181. package/dist/services/session/initial-input-preparer.d.ts +2 -2
  182. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  183. package/dist/services/session/initial-input-preparer.js +3 -3
  184. package/dist/services/session/initial-input-preparer.js.map +1 -1
  185. package/dist/services/session/initial-turn-recovery-handler.d.ts +2 -4
  186. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  187. package/dist/services/session/initial-turn-recovery-handler.js +4 -5
  188. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  189. package/dist/services/session/live-run.d.ts +9 -3
  190. package/dist/services/session/live-run.d.ts.map +1 -1
  191. package/dist/services/session/live-run.js +19 -4
  192. package/dist/services/session/live-run.js.map +1 -1
  193. package/dist/services/session/session-composition.d.ts +8 -12
  194. package/dist/services/session/session-composition.d.ts.map +1 -1
  195. package/dist/services/session/session-composition.js +41 -87
  196. package/dist/services/session/session-composition.js.map +1 -1
  197. package/dist/services/session/session-input-planner.d.ts +2 -2
  198. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  199. package/dist/services/session/session-input-planner.js +6 -13
  200. package/dist/services/session/session-input-planner.js.map +1 -1
  201. package/dist/services/session/session-lifecycle.d.ts +73 -23
  202. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  203. package/dist/services/session/session-lifecycle.js +127 -45
  204. package/dist/services/session/session-lifecycle.js.map +1 -1
  205. package/dist/services/session/session-stream-processor.d.ts +4 -30
  206. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  207. package/dist/services/session/session-stream-processor.js +11 -300
  208. package/dist/services/session/session-stream-processor.js.map +1 -1
  209. package/dist/services/session/session-tool-tracker.d.ts +9 -144
  210. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  211. package/dist/services/session/session-tool-tracker.js +17 -251
  212. package/dist/services/session/session-tool-tracker.js.map +1 -1
  213. package/dist/services/session/{turn-workflow.d.ts → session-turn-adapter.d.ts} +10 -43
  214. package/dist/services/session/session-turn-adapter.d.ts.map +1 -0
  215. package/dist/services/session/session-turn-adapter.js +734 -0
  216. package/dist/services/session/session-turn-adapter.js.map +1 -0
  217. package/dist/services/session/turn-attempt-factory.d.ts +2 -11
  218. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  219. package/dist/services/session/turn-attempt-factory.js +4 -12
  220. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  221. package/dist/services/session/turn-attempt.d.ts +0 -3
  222. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  223. package/dist/services/session/turn-attempt.js +0 -5
  224. package/dist/services/session/turn-attempt.js.map +1 -1
  225. package/dist/services/session/turn-coordinator.d.ts +3 -3
  226. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  227. package/dist/services/session/turn-coordinator.js +31 -26
  228. package/dist/services/session/turn-coordinator.js.map +1 -1
  229. package/dist/services/session/turn-projection-state.d.ts +45 -0
  230. package/dist/services/session/turn-projection-state.d.ts.map +1 -0
  231. package/dist/services/session/turn-projection-state.js +61 -0
  232. package/dist/services/session/turn-projection-state.js.map +1 -0
  233. package/dist/services/subagents/tool-policy.d.ts +5 -5
  234. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  235. package/dist/services/subagents/tool-policy.js.map +1 -1
  236. package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
  237. package/dist/tools/system/run-code/run-code-runtime.js +90 -19
  238. package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
  239. package/dist/tools/system/shell.d.ts +2 -2
  240. package/dist/tools/system/shell.d.ts.map +1 -1
  241. package/dist/tools/system/shell.js +1 -0
  242. package/dist/tools/system/shell.js.map +1 -1
  243. package/dist/tools/tool-names.d.ts +1 -1
  244. package/dist/tools/tool-names.d.ts.map +1 -1
  245. package/dist/utils/ai/token-usage.js +9 -8
  246. package/dist/utils/ai/token-usage.js.map +1 -1
  247. package/package.json +1 -1
  248. package/dist/providers/anthropic-middleware.d.ts +0 -25
  249. package/dist/providers/anthropic-middleware.d.ts.map +0 -1
  250. package/dist/providers/anthropic-middleware.js +0 -32
  251. package/dist/providers/anthropic-middleware.js.map +0 -1
  252. package/dist/providers/common/openai-compatible-messages.d.ts +0 -2
  253. package/dist/providers/common/openai-compatible-messages.d.ts.map +0 -1
  254. package/dist/providers/common/openai-compatible-messages.js.map +0 -1
  255. package/dist/services/session/continuation-call-id-resolver.d.ts +0 -29
  256. package/dist/services/session/continuation-call-id-resolver.d.ts.map +0 -1
  257. package/dist/services/session/continuation-call-id-resolver.js +0 -69
  258. package/dist/services/session/continuation-call-id-resolver.js.map +0 -1
  259. package/dist/services/session/continuation-state.d.ts +0 -69
  260. package/dist/services/session/continuation-state.d.ts.map +0 -1
  261. package/dist/services/session/continuation-state.js +0 -78
  262. package/dist/services/session/continuation-state.js.map +0 -1
  263. package/dist/services/session/session-manager.d.ts +0 -87
  264. package/dist/services/session/session-manager.d.ts.map +0 -1
  265. package/dist/services/session/session-manager.js +0 -146
  266. package/dist/services/session/session-manager.js.map +0 -1
  267. package/dist/services/session/turn-workflow.d.ts.map +0 -1
  268. package/dist/services/session/turn-workflow.js +0 -1055
  269. package/dist/services/session/turn-workflow.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { injectSkillIntoTurn } from '../../types/user-turn.js';
1
2
  import { collectTerminalResult, TerminalResultCollectorExhaustionError } from '../session/terminal-result-collector.js';
2
3
  import { getCallIdFromObject } from '../interruption-info.js';
3
4
  import { normalizeUserTurn } from '../../types/user-turn.js';
@@ -42,15 +43,8 @@ export class ConversationAdapter {
42
43
  #approval;
43
44
  #pendingInteraction;
44
45
  #turnFlow;
45
- #messagesById = new Map();
46
- /**
47
- * Ids currently handed to `turnFlow.steer` and not yet settled. Populated
48
- * right before the call and cleared when that steer's promise resolves
49
- * (admitted, released, or retracted) — this is what lets
50
- * `retractSubmission`/`editSubmission` tell a pending steer apart from a
51
- * queued item sharing the same id space, per `## The three stages`.
52
- */
53
- #pendingSteerIds = new Set();
46
+ /** Executable payload and lifecycle; queue/mailbox entries are projections. */
47
+ #submissions = new Map();
54
48
  #queue;
55
49
  #nextQueuedMessageId = 1;
56
50
  #nextActionId = 1;
@@ -117,7 +111,7 @@ export class ConversationAdapter {
117
111
  this.#queue = new QueueController({
118
112
  driver,
119
113
  snapshotFactory: (item) => {
120
- const message = this.#messagesById.get(item.id);
114
+ const message = this.#submissions.get(item.id);
121
115
  return message ? { requestId: item.id } : { requestId: item.id, recovered: true };
122
116
  },
123
117
  capacity: deps.queueCapacity,
@@ -226,25 +220,26 @@ export class ConversationAdapter {
226
220
  firstUserMessagePreview,
227
221
  }, fn);
228
222
  }
229
- /**
230
- * Deliver a user message into the turn already running, as a user message the
231
- * model reads after the tool results of the round in flight.
232
- *
233
- * Resolves true once the running turn has taken it. Resolves false when that
234
- * turn offers no further request boundary — it is finishing, or parked on an
235
- * approval — leaving the caller to send the message as its own turn.
236
- *
237
- * `options.id` is the submission's address (see `## The three stages`):
238
- * while this call is outstanding, `id` is tracked in `#pendingSteerIds` so
239
- * `retractSubmission`/`editSubmission` can route to it. Omitted by the one
240
- * caller that has no such id — background subagent notifications, via
241
- * `injectIntoActiveTurn` directly — which can never be retracted or edited.
242
- */
223
+ /** Compatibility view of mailbox admission; submitMessage also owns fallback. */
243
224
  async steerActiveTurn(input, options) {
244
225
  const turn = normalizeUserTurn(input);
245
226
  if (!turn.text.trim() && !turn.images?.length)
246
227
  return false;
247
- return this.injectIntoActiveTurn([userTurnToProviderItem(turn, { steering: true })], options);
228
+ const id = options?.id;
229
+ // Addressed legacy callers share the registry; normal submissions already
230
+ // own their record before asking the mailbox to admit its projection.
231
+ const record = id && !this.#submissions.has(id)
232
+ ? { stage: 'pending_steer', input: turn, options: {}, resolve: () => undefined, reject: () => undefined }
233
+ : undefined;
234
+ if (id && record)
235
+ this.#submissions.set(id, record);
236
+ try {
237
+ return await this.injectIntoActiveTurn([userTurnToProviderItem(turn, { steering: true })], options);
238
+ }
239
+ finally {
240
+ if (id && record && this.#submissions.get(id) === record)
241
+ this.#submissions.delete(id);
242
+ }
248
243
  }
249
244
  /**
250
245
  * Hand pre-built items to the turn already running, admitted at its next
@@ -266,43 +261,19 @@ export class ConversationAdapter {
266
261
  if (!this.isQueueActive())
267
262
  return false;
268
263
  const id = options?.id;
269
- if (id)
270
- this.#pendingSteerIds.add(id);
271
- try {
272
- const outcome = await this.#turnFlow.steer(items, id ? { id } : undefined);
273
- return outcome === 'admitted';
274
- }
275
- finally {
276
- if (id)
277
- this.#pendingSteerIds.delete(id);
278
- }
264
+ const outcome = await this.#turnFlow.steer(items, id ? { id } : undefined);
265
+ return outcome === 'admitted';
279
266
  }
280
- /**
281
- * Retract a submission before it reaches the model, addressed by the id
282
- * `sendMessage`/`steerActiveTurn` were given (`preferredMessageId`), which
283
- * is the same id the UI already keys `pendingQueuedMessages` on.
284
- *
285
- * Routes by stage (`## The three stages`): a still-waiting steer goes to
286
- * `retractSteer` on the run loop; a queued item goes to the controller's
287
- * `remove_queued`.
288
- *
289
- * A pending steer has no matching `#messagesById` entry to settle — its
290
- * caller (`steerActiveTurn`) awaits the `turnFlow.steer` promise directly,
291
- * not a queued `sendMessage`. `retractSteer` resolves that promise itself
292
- * (with `'retracted'`), which `injectIntoActiveTurn` reports as `false` to
293
- * that caller. A queued item, by contrast, *does* have a `sendMessage`
294
- * promise parked in `#messagesById`, which this settles with an
295
- * `AbortError` — the same shape `removeLastQueuedItem` already used.
296
- */
267
+ /** Mutate only the owner's still-pending record and its queue/mailbox projection. */
297
268
  async retractSubmission(id) {
298
- if (this.#pendingSteerIds.has(id)) {
269
+ if (this.#submissions.get(id)?.stage === 'pending_steer') {
299
270
  if (!this.#turnFlow.retractSteer) {
300
271
  throw new Error(`ConversationAdapter.retractSubmission: pending steer '${id}' has no turnFlow.retractSteer to route to`);
301
272
  }
302
273
  const retracted = this.#turnFlow.retractSteer(id);
303
274
  if (!retracted)
304
275
  return { kind: 'too_late', stage: 'started' };
305
- this.#pendingSteerIds.delete(id);
276
+ this.#submissions.delete(id);
306
277
  return { kind: 'applied', stage: 'pending_steer' };
307
278
  }
308
279
  if (this.#queue) {
@@ -316,45 +287,42 @@ export class ConversationAdapter {
316
287
  return { kind: 'applied', stage: 'queued' };
317
288
  }
318
289
  }
319
- if (this.#messagesById.has(id))
290
+ if (this.#submissions.has(id))
320
291
  return { kind: 'too_late', stage: 'started' };
321
292
  return { kind: 'unknown_id' };
322
293
  }
323
- /**
324
- * Replace a submission's content in place, without changing its stage or
325
- * position — a pending steer stays a steer at its slot, a queued item keeps
326
- * its queue index and steer-ahead-of-follow-ups priority.
327
- *
328
- * **The trap**: the controller queue stores display `text` only.
329
- * `#runQueuedTurn` executes `message.input` from `#messagesById`, so
330
- * issuing `edit_queued` alone redraws the new text but sends the old turn.
331
- * This replaces the `#messagesById` entry's `input` first, keeping the
332
- * `QUEUED_NON_TEXT_PLACEHOLDER` substitution `sendMessage` applies to the
333
- * controller's display copy.
334
- */
294
+ /** Keep the executable payload and display projection in the same mutation. */
335
295
  async editSubmission(id, turn) {
336
- if (this.#pendingSteerIds.has(id)) {
296
+ if (this.#submissions.get(id)?.stage === 'pending_steer') {
337
297
  if (!this.#turnFlow.editSteer) {
338
298
  throw new Error(`ConversationAdapter.editSubmission: pending steer '${id}' has no turnFlow.editSteer to route to`);
339
299
  }
340
- const item = userTurnToProviderItem(normalizeUserTurn(turn), { steering: true });
300
+ const submission = this.#submissions.get(id);
301
+ const item = userTurnToProviderItem(normalizeUserTurn(submission.prepareInput?.(turn) ?? turn), {
302
+ steering: true,
303
+ });
341
304
  const edited = this.#turnFlow.editSteer(id, [item]);
342
- return edited ? { kind: 'applied', stage: 'pending_steer' } : { kind: 'too_late', stage: 'started' };
305
+ if (!edited)
306
+ return { kind: 'too_late', stage: 'started' };
307
+ submission.input = structuredClone(turn);
308
+ const { inputSurgeApproval: _approval, ...options } = submission.options;
309
+ submission.options = options;
310
+ return { kind: 'applied', stage: 'pending_steer' };
343
311
  }
344
312
  if (this.#queue) {
345
313
  const inQueue = this.#queue.state().queue.some((item) => item.id === id);
346
314
  if (inQueue) {
347
- const message = this.#messagesById.get(id);
315
+ const message = this.#submissions.get(id);
348
316
  if (!message)
349
317
  return { kind: 'unknown_id' };
350
318
  const { inputSurgeApproval: _invalidatedApproval, ...options } = message.options;
351
- this.#messagesById.set(id, { ...message, input: structuredClone(turn), options });
319
+ this.#submissions.set(id, { ...message, input: structuredClone(turn), options });
352
320
  const displayText = normalizeUserTurn(turn).text;
353
321
  const controllerText = displayText.trim() ? displayText : QUEUED_NON_TEXT_PLACEHOLDER;
354
322
  const result = await this.#queue.command({ kind: 'edit_queued', itemId: id, text: controllerText });
355
323
  if (result.kind !== 'accepted') {
356
- if (this.#messagesById.has(id)) {
357
- this.#messagesById.set(id, message);
324
+ if (this.#submissions.has(id)) {
325
+ this.#submissions.set(id, message);
358
326
  }
359
327
  return { kind: 'too_late', stage: 'started' };
360
328
  }
@@ -362,14 +330,66 @@ export class ConversationAdapter {
362
330
  return { kind: 'applied', stage: 'queued' };
363
331
  }
364
332
  }
365
- if (this.#messagesById.has(id))
333
+ if (this.#submissions.has(id))
366
334
  return { kind: 'too_late', stage: 'started' };
367
335
  return { kind: 'unknown_id' };
368
336
  }
369
- async sendMessage(input, { onAdmission, onTextChunk, onReasoningChunk, onCommandMessage, onEvent, hallucinationRetryCount = 0, inputSurgeApproval, replayFromHistory, preferredMessageId, busyMode, suppressUserMessageDisplay, } = {}) {
337
+ /** Own steer admission and fallback with the same id and latest payload. */
338
+ async submitMessage(input, options = {}, delivery) {
339
+ const id = options.preferredMessageId ?? String(this.#nextQueuedMessageId++);
340
+ if (this.#submissions.has(id))
341
+ throw new Error(`A submission already uses request id ${id}`);
342
+ const submission = {
343
+ stage: 'pending_steer',
344
+ prepareInput: (value) => (typeof value === 'string' ? value : injectSkillIntoTurn(value)),
345
+ input: structuredClone(input),
346
+ options,
347
+ resolve: () => undefined,
348
+ reject: () => undefined,
349
+ };
350
+ if (options.busyMode !== 'steer' || !this.isQueueOwningSubmissions()) {
351
+ return {
352
+ kind: 'turn',
353
+ terminal: await this.#sendMessage(submission.input, {
354
+ ...options,
355
+ preferredMessageId: id,
356
+ }, submission),
357
+ };
358
+ }
359
+ this.#submissions.set(id, submission);
360
+ const epoch = this.#cancellationEpoch;
361
+ try {
362
+ const admitted = await this.steerActiveTurn(submission.prepareInput(submission.input), { id });
363
+ if ((!admitted && epoch !== this.#cancellationEpoch) || this.#submissions.get(id) !== submission) {
364
+ throw queueCancellationError('Pending submission was cancelled');
365
+ }
366
+ delivery?.onSteerSettled(admitted, submission.input);
367
+ if (admitted) {
368
+ this.#submissions.delete(id);
369
+ return { kind: 'steered' };
370
+ }
371
+ submission.input = delivery?.prepareFollowUp?.(submission.input) ?? submission.input;
372
+ return {
373
+ kind: 'turn',
374
+ terminal: await this.#sendMessage(submission.input, {
375
+ ...submission.options,
376
+ preferredMessageId: id,
377
+ }, submission),
378
+ };
379
+ }
380
+ finally {
381
+ if (this.#submissions.get(id) === submission && submission.stage === 'pending_steer') {
382
+ this.#submissions.delete(id);
383
+ }
384
+ }
385
+ }
386
+ sendMessage(input, options = {}) {
387
+ return this.#sendMessage(input, options);
388
+ }
389
+ async #sendMessage(input, { onAdmission, onTextChunk, onReasoningChunk, onCommandMessage, onEvent, hallucinationRetryCount = 0, inputSurgeApproval, replayFromHistory, preferredMessageId, busyMode, suppressUserMessageDisplay, } = {}, existing) {
370
390
  const queue = this.#queue;
371
391
  if (!queue) {
372
- return this.#executeMessage(input, {
392
+ return this.#executeMessage(existing?.prepareInput?.(input) ?? input, {
373
393
  onTextChunk,
374
394
  onReasoningChunk,
375
395
  onCommandMessage,
@@ -385,11 +405,13 @@ export class ConversationAdapter {
385
405
  }
386
406
  return new Promise((resolve, reject) => {
387
407
  const requestId = preferredMessageId ?? String(this.#nextQueuedMessageId++);
388
- if (this.#messagesById.has(requestId)) {
408
+ if (this.#submissions.has(requestId) && this.#submissions.get(requestId) !== existing) {
389
409
  reject(new Error(`A queued message already uses request id ${requestId}`));
390
410
  return;
391
411
  }
392
412
  const message = {
413
+ stage: 'queued',
414
+ prepareInput: existing?.prepareInput,
393
415
  input: typeof input === 'string' ? input : structuredClone(input),
394
416
  options: {
395
417
  onTextChunk,
@@ -405,7 +427,9 @@ export class ConversationAdapter {
405
427
  resolve,
406
428
  reject,
407
429
  };
408
- this.#messagesById.set(requestId, message);
430
+ if (existing)
431
+ Object.assign(existing, message);
432
+ this.#submissions.set(requestId, existing ?? message);
409
433
  const displayText = normalizeUserTurn(input).text;
410
434
  const controllerText = displayText.trim() ? displayText : QUEUED_NON_TEXT_PLACEHOLDER;
411
435
  void queue
@@ -582,7 +606,7 @@ export class ConversationAdapter {
582
606
  };
583
607
  void proof.completion.then(settle, settle);
584
608
  }
585
- if (this.#cancellationProven && activeRequestId && this.#messagesById.has(activeRequestId)) {
609
+ if (this.#cancellationProven && activeRequestId && this.#submissions.has(activeRequestId)) {
586
610
  this.#settleFailure(activeRequestId, queueCancellationError('Active turn was cancelled'));
587
611
  }
588
612
  if (this.#cancellationProven && this.#activeRequestId === activeRequestId) {
@@ -599,9 +623,11 @@ export class ConversationAdapter {
599
623
  #startQueuedTurn(execution) {
600
624
  // Notify the orchestrator/UI before kicking off the run so that the user
601
625
  // message can be appended to the message list with the correct timeline.
602
- // Recovered items have no #messagesById entry; still fire so a delivered
626
+ // Recovered items have no #submissions entry; still fire so a delivered
603
627
  // row cannot stay in the pending list after the queue has started it.
604
- const message = this.#messagesById.get(execution.snapshot.requestId);
628
+ const message = this.#submissions.get(execution.snapshot.requestId);
629
+ if (message)
630
+ message.stage = 'started';
605
631
  if (this.#queuedTurnStartObserver) {
606
632
  try {
607
633
  this.#queuedTurnStartObserver({
@@ -632,7 +658,7 @@ export class ConversationAdapter {
632
658
  * of the active turn is the same shape with `reason: 'manual'`.
633
659
  */
634
660
  async #runQueuedTurn(execution) {
635
- const message = this.#messagesById.get(execution.snapshot.requestId);
661
+ const message = this.#submissions.get(execution.snapshot.requestId);
636
662
  try {
637
663
  const recoveredInput = execution.item.text === QUEUED_NON_TEXT_PLACEHOLDER || execution.item.text === LEGACY_QUEUED_MESSAGE_PLACEHOLDER
638
664
  ? null
@@ -640,7 +666,7 @@ export class ConversationAdapter {
640
666
  if (!message && !recoveredInput) {
641
667
  throw new Error('Recovered queued message has no executable text input');
642
668
  }
643
- const result = await this.#executeMessage(message?.input ?? recoveredInput, message?.options ?? {}, execution.snapshot.requestId);
669
+ const result = await this.#executeMessage(message ? message.prepareInput?.(message.input) ?? message.input : recoveredInput, message?.options ?? {}, execution.snapshot.requestId);
644
670
  if (result.type === 'approval_required') {
645
671
  this.#approvalExecutionId = execution.executionId;
646
672
  this.#approvalActionId = `adapter-action-${this.#nextActionId++}`;
@@ -700,17 +726,17 @@ export class ConversationAdapter {
700
726
  }
701
727
  }
702
728
  #settleSuccess(requestId, terminal) {
703
- const message = this.#messagesById.get(requestId);
729
+ const message = this.#submissions.get(requestId);
704
730
  if (!message)
705
731
  return;
706
- this.#messagesById.delete(requestId);
732
+ this.#submissions.delete(requestId);
707
733
  message.resolve(terminal);
708
734
  }
709
735
  #settleFailure(requestId, error) {
710
- const message = this.#messagesById.get(requestId);
736
+ const message = this.#submissions.get(requestId);
711
737
  if (!message)
712
738
  return;
713
- this.#messagesById.delete(requestId);
739
+ this.#submissions.delete(requestId);
714
740
  message.reject(error);
715
741
  }
716
742
  async #collectTerminalResult(events, options, cancellationEpoch, requestId) {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-adapter.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-adapter.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-orchestrator.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-orchestrator.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-orchestrator.ts"],"names":[],"mappings":"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"}