@qduc/term2 0.12.0 → 0.14.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 (635) hide show
  1. package/README.md +6 -1
  2. package/dist/agent.d.ts +3 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +38 -14
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +91 -17
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +34 -23
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/auto-approve-command.d.ts.map +1 -1
  12. package/dist/commands/auto-approve-command.js +12 -4
  13. package/dist/commands/auto-approve-command.js.map +1 -1
  14. package/dist/commands/compact-command.d.ts +6 -0
  15. package/dist/commands/compact-command.d.ts.map +1 -0
  16. package/dist/commands/compact-command.js +12 -0
  17. package/dist/commands/compact-command.js.map +1 -0
  18. package/dist/commands/copy-command.d.ts +3 -1
  19. package/dist/commands/copy-command.d.ts.map +1 -1
  20. package/dist/commands/copy-command.js +36 -9
  21. package/dist/commands/copy-command.js.map +1 -1
  22. package/dist/commands/sandbox-command.d.ts.map +1 -1
  23. package/dist/commands/sandbox-command.js +6 -1
  24. package/dist/commands/sandbox-command.js.map +1 -1
  25. package/dist/components/InputBox.d.ts +1 -2
  26. package/dist/components/InputBox.d.ts.map +1 -1
  27. package/dist/components/InputBox.js +5 -1
  28. package/dist/components/InputBox.js.map +1 -1
  29. package/dist/components/input/ApplicationInputSurface.d.ts +7 -2
  30. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  31. package/dist/components/input/ApplicationInputSurface.js +7 -1
  32. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  33. package/dist/components/input/CopyMenuSession.d.ts +16 -0
  34. package/dist/components/input/CopyMenuSession.d.ts.map +1 -0
  35. package/dist/components/input/CopyMenuSession.js +49 -0
  36. package/dist/components/input/CopyMenuSession.js.map +1 -0
  37. package/dist/components/input/FirstRunSetupPrompt.d.ts +9 -0
  38. package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -0
  39. package/dist/components/input/FirstRunSetupPrompt.js +20 -0
  40. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -0
  41. package/dist/components/input/MentorPoolMenuSession.d.ts +9 -0
  42. package/dist/components/input/MentorPoolMenuSession.d.ts.map +1 -0
  43. package/dist/components/input/MentorPoolMenuSession.js +131 -0
  44. package/dist/components/input/MentorPoolMenuSession.js.map +1 -0
  45. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  46. package/dist/components/input/MenuSurface.js +16 -2
  47. package/dist/components/input/MenuSurface.js.map +1 -1
  48. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  49. package/dist/components/input/ModelMenuSession.js +11 -1
  50. package/dist/components/input/ModelMenuSession.js.map +1 -1
  51. package/dist/components/input/ProviderMenuSession.d.ts.map +1 -1
  52. package/dist/components/input/ProviderMenuSession.js +8 -2
  53. package/dist/components/input/ProviderMenuSession.js.map +1 -1
  54. package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
  55. package/dist/components/input/SettingsMenuSession.js +35 -22
  56. package/dist/components/input/SettingsMenuSession.js.map +1 -1
  57. package/dist/components/input/SkillsMenuSession.d.ts +3 -0
  58. package/dist/components/input/SkillsMenuSession.d.ts.map +1 -1
  59. package/dist/components/input/SkillsMenuSession.js +6 -12
  60. package/dist/components/input/SkillsMenuSession.js.map +1 -1
  61. package/dist/components/input/SlashMenuSession.d.ts +11 -3
  62. package/dist/components/input/SlashMenuSession.d.ts.map +1 -1
  63. package/dist/components/input/SlashMenuSession.js +54 -42
  64. package/dist/components/input/SlashMenuSession.js.map +1 -1
  65. package/dist/components/input/menu-controller.d.ts.map +1 -1
  66. package/dist/components/input/menu-controller.js +18 -1
  67. package/dist/components/input/menu-controller.js.map +1 -1
  68. package/dist/components/input/menu-registry.d.ts.map +1 -1
  69. package/dist/components/input/menu-registry.js +4 -0
  70. package/dist/components/input/menu-registry.js.map +1 -1
  71. package/dist/components/input/menu-types.d.ts +12 -0
  72. package/dist/components/input/menu-types.d.ts.map +1 -1
  73. package/dist/components/input/triggers.d.ts.map +1 -1
  74. package/dist/components/input/triggers.js +33 -0
  75. package/dist/components/input/triggers.js.map +1 -1
  76. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  77. package/dist/components/layout/BackgroundTaskManager.js +28 -10
  78. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  79. package/dist/components/layout/BackgroundTasksPanel.d.ts +4 -1
  80. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  81. package/dist/components/layout/BackgroundTasksPanel.js +58 -12
  82. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  83. package/dist/components/layout/BottomArea.d.ts +16 -2
  84. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  85. package/dist/components/layout/BottomArea.js +7 -4
  86. package/dist/components/layout/BottomArea.js.map +1 -1
  87. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  88. package/dist/components/layout/StatusBar.js +66 -51
  89. package/dist/components/layout/StatusBar.js.map +1 -1
  90. package/dist/components/menu/CopyMenu.d.ts +10 -0
  91. package/dist/components/menu/CopyMenu.d.ts.map +1 -0
  92. package/dist/components/menu/CopyMenu.js +20 -0
  93. package/dist/components/menu/CopyMenu.js.map +1 -0
  94. package/dist/components/menu/MentorPoolSelectionMenu.d.ts +13 -0
  95. package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -0
  96. package/dist/components/menu/MentorPoolSelectionMenu.js +98 -0
  97. package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -0
  98. package/dist/components/menu/ModelSelectionMenu.d.ts +2 -0
  99. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  100. package/dist/components/menu/ModelSelectionMenu.js +26 -7
  101. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  102. package/dist/components/menu/ProviderSelectionMenu.d.ts +1 -0
  103. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  104. package/dist/components/menu/ProviderSelectionMenu.js +12 -4
  105. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  106. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  107. package/dist/components/menu/SlashCommandMenu.js +12 -9
  108. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  109. package/dist/components/message/CommandMessage.js +4 -0
  110. package/dist/components/message/CommandMessage.js.map +1 -1
  111. package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
  112. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  113. package/dist/components/message/SubagentActivityMessage.js +14 -1
  114. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  115. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  116. package/dist/components/prompt/ApprovalPrompt.js +0 -25
  117. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  118. package/dist/context/InputContext.d.ts +1 -1
  119. package/dist/context/InputContext.d.ts.map +1 -1
  120. package/dist/context/InputContext.js +4 -0
  121. package/dist/context/InputContext.js.map +1 -1
  122. package/dist/contracts/application-stream.d.ts +13 -0
  123. package/dist/contracts/application-stream.d.ts.map +1 -1
  124. package/dist/contracts/provider-input.d.ts +15 -0
  125. package/dist/contracts/provider-input.d.ts.map +1 -1
  126. package/dist/contracts/provider-input.js +6 -1
  127. package/dist/contracts/provider-input.js.map +1 -1
  128. package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
  129. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  130. package/dist/hooks/conversation-ui-reducer.js +3 -0
  131. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  132. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  133. package/dist/hooks/settings-completion-config.js +12 -2
  134. package/dist/hooks/settings-completion-config.js.map +1 -1
  135. package/dist/hooks/use-app-commands.d.ts +4 -1
  136. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  137. package/dist/hooks/use-app-commands.js +6 -2
  138. package/dist/hooks/use-app-commands.js.map +1 -1
  139. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +7 -1
  140. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  141. package/dist/hooks/use-app-keyboard-shortcuts.js +77 -7
  142. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  143. package/dist/hooks/use-conversation.d.ts +6 -2
  144. package/dist/hooks/use-conversation.d.ts.map +1 -1
  145. package/dist/hooks/use-conversation.js +21 -4
  146. package/dist/hooks/use-conversation.js.map +1 -1
  147. package/dist/hooks/use-debounced-value.d.ts +13 -0
  148. package/dist/hooks/use-debounced-value.d.ts.map +1 -0
  149. package/dist/hooks/use-debounced-value.js +27 -0
  150. package/dist/hooks/use-debounced-value.js.map +1 -0
  151. package/dist/hooks/use-first-run-setup.d.ts +24 -0
  152. package/dist/hooks/use-first-run-setup.d.ts.map +1 -0
  153. package/dist/hooks/use-first-run-setup.js +114 -0
  154. package/dist/hooks/use-first-run-setup.js.map +1 -0
  155. package/dist/hooks/use-mentor-pool-selection.d.ts +103 -0
  156. package/dist/hooks/use-mentor-pool-selection.d.ts.map +1 -0
  157. package/dist/hooks/use-mentor-pool-selection.js +642 -0
  158. package/dist/hooks/use-mentor-pool-selection.js.map +1 -0
  159. package/dist/hooks/use-model-selection.d.ts +1 -0
  160. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  161. package/dist/hooks/use-model-selection.js +44 -1
  162. package/dist/hooks/use-model-selection.js.map +1 -1
  163. package/dist/hooks/use-provider-selection.d.ts +5 -1
  164. package/dist/hooks/use-provider-selection.d.ts.map +1 -1
  165. package/dist/hooks/use-provider-selection.js +37 -12
  166. package/dist/hooks/use-provider-selection.js.map +1 -1
  167. package/dist/hooks/use-slash-commands.d.ts +0 -1
  168. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  169. package/dist/hooks/use-slash-commands.js +1 -9
  170. package/dist/hooks/use-slash-commands.js.map +1 -1
  171. package/dist/lib/agent-chat-service.d.ts +3 -6
  172. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  173. package/dist/lib/agent-chat-service.js +20 -6
  174. package/dist/lib/agent-chat-service.js.map +1 -1
  175. package/dist/lib/agent-client.d.ts +20 -2
  176. package/dist/lib/agent-client.d.ts.map +1 -1
  177. package/dist/lib/agent-client.js +147 -3
  178. package/dist/lib/agent-client.js.map +1 -1
  179. package/dist/lib/agent-configuration.d.ts +3 -0
  180. package/dist/lib/agent-configuration.d.ts.map +1 -1
  181. package/dist/lib/agent-configuration.js +5 -0
  182. package/dist/lib/agent-configuration.js.map +1 -1
  183. package/dist/lib/agent-factory.d.ts +3 -0
  184. package/dist/lib/agent-factory.d.ts.map +1 -1
  185. package/dist/lib/agent-factory.js +15 -6
  186. package/dist/lib/agent-factory.js.map +1 -1
  187. package/dist/lib/input-owner.d.ts +3 -0
  188. package/dist/lib/input-owner.d.ts.map +1 -1
  189. package/dist/lib/input-owner.js +5 -0
  190. package/dist/lib/input-owner.js.map +1 -1
  191. package/dist/lib/subagent-bridge.d.ts +2 -0
  192. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  193. package/dist/lib/subagent-bridge.js +4 -1
  194. package/dist/lib/subagent-bridge.js.map +1 -1
  195. package/dist/prompts/background-shell.d.ts +3 -0
  196. package/dist/prompts/background-shell.d.ts.map +1 -0
  197. package/dist/prompts/background-shell.js +11 -0
  198. package/dist/prompts/background-shell.js.map +1 -0
  199. package/dist/prompts/background-shell.ts +10 -0
  200. package/dist/prompts/context-compaction.d.ts +4 -0
  201. package/dist/prompts/context-compaction.d.ts.map +1 -0
  202. package/dist/prompts/context-compaction.js +18 -0
  203. package/dist/prompts/context-compaction.js.map +1 -0
  204. package/dist/prompts/context-compaction.ts +23 -0
  205. package/dist/prompts/explorer-delegation-contract.test.ts +22 -0
  206. package/dist/prompts/gpt-5.6.md +1 -1
  207. package/dist/prompts/kimi.md +1 -1
  208. package/dist/prompts/orchestrator-prompt.test.ts +7 -0
  209. package/dist/prompts/orchestrator.md +1 -1
  210. package/dist/prompts/plan-mode-info.md +2 -2
  211. package/dist/prompts/prompt-constructor.d.ts +1 -0
  212. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  213. package/dist/prompts/prompt-constructor.js +5 -1
  214. package/dist/prompts/prompt-constructor.js.map +1 -1
  215. package/dist/prompts/prompt-constructor.test.ts +16 -1
  216. package/dist/prompts/prompt-constructor.ts +7 -0
  217. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  218. package/dist/prompts/subagent-delegation.js +5 -3
  219. package/dist/prompts/subagent-delegation.js.map +1 -1
  220. package/dist/prompts/subagent-delegation.test.ts +10 -0
  221. package/dist/prompts/subagent-delegation.ts +5 -3
  222. package/dist/prompts/subagents/explorer.md +10 -5
  223. package/dist/prompts/subagents/librarian.md +1 -1
  224. package/dist/prompts/subagents/worker.md +2 -2
  225. package/dist/providers/aborted-stream-recorder.d.ts +20 -0
  226. package/dist/providers/aborted-stream-recorder.d.ts.map +1 -0
  227. package/dist/providers/aborted-stream-recorder.js +63 -0
  228. package/dist/providers/aborted-stream-recorder.js.map +1 -0
  229. package/dist/providers/codex-auth.d.ts +6 -0
  230. package/dist/providers/codex-auth.d.ts.map +1 -0
  231. package/dist/providers/codex-auth.js +35 -0
  232. package/dist/providers/codex-auth.js.map +1 -0
  233. package/dist/providers/codex-responses-model.d.ts +7 -2
  234. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  235. package/dist/providers/codex-responses-model.js +88 -48
  236. package/dist/providers/codex-responses-model.js.map +1 -1
  237. package/dist/providers/codex.provider.d.ts +5 -3
  238. package/dist/providers/codex.provider.d.ts.map +1 -1
  239. package/dist/providers/codex.provider.js +27 -39
  240. package/dist/providers/codex.provider.js.map +1 -1
  241. package/dist/providers/model-catalog/catalog.d.ts +35 -2
  242. package/dist/providers/model-catalog/catalog.d.ts.map +1 -1
  243. package/dist/providers/model-catalog/catalog.generated.d.ts +406 -166
  244. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  245. package/dist/providers/model-catalog/catalog.generated.js +406 -166
  246. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  247. package/dist/providers/model-catalog/catalog.js +93 -29
  248. package/dist/providers/model-catalog/catalog.js.map +1 -1
  249. package/dist/providers/openai-chat-completions-model.d.ts +2 -1
  250. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  251. package/dist/providers/openai-chat-completions-model.js +223 -53
  252. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  253. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
  254. package/dist/providers/openai-compatible-lazy.js +2 -1
  255. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  256. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
  257. package/dist/providers/openai-compatible-middleware.js +1 -13
  258. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  259. package/dist/providers/openai-compatible-response-normalizer.d.ts +5 -4
  260. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
  261. package/dist/providers/openai-compatible-response-normalizer.js +6 -17
  262. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
  263. package/dist/providers/openai-compatible.provider.d.ts +1 -0
  264. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  265. package/dist/providers/openai-compatible.provider.js +13 -4
  266. package/dist/providers/openai-compatible.provider.js.map +1 -1
  267. package/dist/providers/openai-responses-model.d.ts +9 -1
  268. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  269. package/dist/providers/openai-responses-model.js +34 -12
  270. package/dist/providers/openai-responses-model.js.map +1 -1
  271. package/dist/providers/provider-service.d.ts +1 -0
  272. package/dist/providers/provider-service.d.ts.map +1 -1
  273. package/dist/providers/provider-service.js +4 -0
  274. package/dist/providers/provider-service.js.map +1 -1
  275. package/dist/scripts/eval-context-compaction/runner.d.ts +2 -0
  276. package/dist/scripts/eval-context-compaction/runner.d.ts.map +1 -0
  277. package/dist/scripts/eval-context-compaction/runner.js +159 -0
  278. package/dist/scripts/eval-context-compaction/runner.js.map +1 -0
  279. package/dist/services/agent-runtime/application-run-loop.d.ts +30 -0
  280. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  281. package/dist/services/agent-runtime/application-run-loop.js +251 -107
  282. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  283. package/dist/services/agent-runtime/context-compaction/index.d.ts +56 -0
  284. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -0
  285. package/dist/services/agent-runtime/context-compaction/index.js +131 -0
  286. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -0
  287. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +76 -0
  288. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -0
  289. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +146 -0
  290. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -0
  291. package/dist/services/agent-runtime/generation-guard.d.ts +15 -1
  292. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  293. package/dist/services/agent-runtime/generation-guard.js +34 -2
  294. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  295. package/dist/services/agent-runtime/scope-resolver.d.ts.map +1 -1
  296. package/dist/services/agent-runtime/scope-resolver.js +2 -1
  297. package/dist/services/agent-runtime/scope-resolver.js.map +1 -1
  298. package/dist/services/agent-stream.d.ts.map +1 -1
  299. package/dist/services/agent-stream.js +2 -1
  300. package/dist/services/agent-stream.js.map +1 -1
  301. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
  302. package/dist/services/approval/approval-decision-executor.js +5 -2
  303. package/dist/services/approval/approval-decision-executor.js.map +1 -1
  304. package/dist/services/approval/approval-decision-policy.d.ts.map +1 -1
  305. package/dist/services/approval/approval-decision-policy.js +0 -2
  306. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  307. package/dist/services/approval/session-read-access.d.ts.map +1 -1
  308. package/dist/services/approval/session-read-access.js +2 -1
  309. package/dist/services/approval/session-read-access.js.map +1 -1
  310. package/dist/services/approval/shell-auto-approval-resolver.d.ts +1 -1
  311. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  312. package/dist/services/approval/shell-auto-approval-resolver.js +9 -1
  313. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  314. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  315. package/dist/services/approval/tool-approval-batch-coordinator.js +2 -1
  316. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  317. package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
  318. package/dist/services/conversation/conversation-admission-workflow.js +20 -18
  319. package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
  320. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  321. package/dist/services/conversation/conversation-decoder.js +6 -0
  322. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  323. package/dist/services/conversation/conversation-events.d.ts +34 -1
  324. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  325. package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -1
  326. package/dist/services/conversation/conversation-message-projection.js +7 -3
  327. package/dist/services/conversation/conversation-message-projection.js.map +1 -1
  328. package/dist/services/conversation/conversation-orchestrator.d.ts +2 -0
  329. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  330. package/dist/services/conversation/conversation-orchestrator.js +113 -1
  331. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  332. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
  333. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  334. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  335. package/dist/services/conversation/conversation-replay.js +45 -0
  336. package/dist/services/conversation/conversation-replay.js.map +1 -1
  337. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  338. package/dist/services/conversation/conversation-result-builder.js +14 -2
  339. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  340. package/dist/services/conversation/conversation-service.d.ts +1 -0
  341. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  342. package/dist/services/conversation/conversation-service.js +74 -0
  343. package/dist/services/conversation/conversation-service.js.map +1 -1
  344. package/dist/services/conversation/conversation-state-projector.d.ts +7 -1
  345. package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
  346. package/dist/services/conversation/conversation-state-projector.js +20 -3
  347. package/dist/services/conversation/conversation-state-projector.js.map +1 -1
  348. package/dist/services/conversation/conversation-state-schema.d.ts +8 -4
  349. package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -1
  350. package/dist/services/conversation/conversation-state-schema.js +24 -2
  351. package/dist/services/conversation/conversation-state-schema.js.map +1 -1
  352. package/dist/services/conversation/conversation-store.d.ts +11 -0
  353. package/dist/services/conversation/conversation-store.d.ts.map +1 -1
  354. package/dist/services/conversation/conversation-store.js +23 -3
  355. package/dist/services/conversation/conversation-store.js.map +1 -1
  356. package/dist/services/conversation-agent-client.d.ts +9 -0
  357. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  358. package/dist/services/cost/model-cost.d.ts +13 -2
  359. package/dist/services/cost/model-cost.d.ts.map +1 -1
  360. package/dist/services/cost/model-cost.js +1 -0
  361. package/dist/services/cost/model-cost.js.map +1 -1
  362. package/dist/services/cost/pricing.d.ts.map +1 -1
  363. package/dist/services/cost/pricing.js +26 -20
  364. package/dist/services/cost/pricing.js.map +1 -1
  365. package/dist/services/execution-context.d.ts +31 -0
  366. package/dist/services/execution-context.d.ts.map +1 -1
  367. package/dist/services/execution-context.js +59 -0
  368. package/dist/services/execution-context.js.map +1 -1
  369. package/dist/services/file-service.d.ts.map +1 -1
  370. package/dist/services/file-service.js +12 -3
  371. package/dist/services/file-service.js.map +1 -1
  372. package/dist/services/large-uncached-input-guard.d.ts +26 -1
  373. package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
  374. package/dist/services/large-uncached-input-guard.js +73 -38
  375. package/dist/services/large-uncached-input-guard.js.map +1 -1
  376. package/dist/services/logging/conversation-log-events.d.ts +15 -2
  377. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  378. package/dist/services/logging/conversation-log-events.js.map +1 -1
  379. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  380. package/dist/services/logging/conversation-logger.js +11 -0
  381. package/dist/services/logging/conversation-logger.js.map +1 -1
  382. package/dist/services/logging/logging-contract.d.ts.map +1 -1
  383. package/dist/services/logging/logging-contract.js +4 -0
  384. package/dist/services/logging/logging-contract.js.map +1 -1
  385. package/dist/services/logging/provider-traffic.d.ts +1 -1
  386. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  387. package/dist/services/logging/provider-traffic.js +10 -3
  388. package/dist/services/logging/provider-traffic.js.map +1 -1
  389. package/dist/services/model-service.d.ts +7 -0
  390. package/dist/services/model-service.d.ts.map +1 -1
  391. package/dist/services/model-service.js +21 -0
  392. package/dist/services/model-service.js.map +1 -1
  393. package/dist/services/models/model-catalog-session.d.ts +2 -0
  394. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  395. package/dist/services/models/model-catalog-session.js +9 -2
  396. package/dist/services/models/model-catalog-session.js.map +1 -1
  397. package/dist/services/provider-continuity.d.ts +15 -0
  398. package/dist/services/provider-continuity.d.ts.map +1 -1
  399. package/dist/services/provider-continuity.js +33 -0
  400. package/dist/services/provider-continuity.js.map +1 -1
  401. package/dist/services/retry/recovery-executor.d.ts.map +1 -1
  402. package/dist/services/retry/recovery-executor.js +12 -5
  403. package/dist/services/retry/recovery-executor.js.map +1 -1
  404. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  405. package/dist/services/retry/retry-classifier.js +2 -1
  406. package/dist/services/retry/retry-classifier.js.map +1 -1
  407. package/dist/services/retry/retry-error-classification.d.ts +19 -0
  408. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  409. package/dist/services/retry/retry-error-classification.js +54 -0
  410. package/dist/services/retry/retry-error-classification.js.map +1 -1
  411. package/dist/services/service-interfaces.d.ts +15 -0
  412. package/dist/services/service-interfaces.d.ts.map +1 -1
  413. package/dist/services/session/background-task-control.d.ts +7 -2
  414. package/dist/services/session/background-task-control.d.ts.map +1 -1
  415. package/dist/services/session/background-task-control.js +43 -9
  416. package/dist/services/session/background-task-control.js.map +1 -1
  417. package/dist/services/session/background-task-liveness.d.ts +24 -0
  418. package/dist/services/session/background-task-liveness.d.ts.map +1 -0
  419. package/dist/services/session/background-task-liveness.js +23 -0
  420. package/dist/services/session/background-task-liveness.js.map +1 -0
  421. package/dist/services/session/session-access-state.d.ts.map +1 -1
  422. package/dist/services/session/session-access-state.js +5 -4
  423. package/dist/services/session/session-access-state.js.map +1 -1
  424. package/dist/services/session/session-client-factory.d.ts +11 -1
  425. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  426. package/dist/services/session/session-client-factory.js +28 -1
  427. package/dist/services/session/session-client-factory.js.map +1 -1
  428. package/dist/services/session/session-composition.d.ts +7 -0
  429. package/dist/services/session/session-composition.d.ts.map +1 -1
  430. package/dist/services/session/session-composition.js +80 -0
  431. package/dist/services/session/session-composition.js.map +1 -1
  432. package/dist/services/session/session-input-planner.d.ts +16 -0
  433. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  434. package/dist/services/session/session-input-planner.js +117 -10
  435. package/dist/services/session/session-input-planner.js.map +1 -1
  436. package/dist/services/session/session-manager.d.ts +3 -0
  437. package/dist/services/session/session-manager.d.ts.map +1 -1
  438. package/dist/services/session/session-manager.js +6 -0
  439. package/dist/services/session/session-manager.js.map +1 -1
  440. package/dist/services/session/session-stream-processor.d.ts +1 -0
  441. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  442. package/dist/services/session/session-stream-processor.js +16 -1
  443. package/dist/services/session/session-stream-processor.js.map +1 -1
  444. package/dist/services/session/session-tool-tracker.d.ts +21 -4
  445. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  446. package/dist/services/session/session-tool-tracker.js +26 -5
  447. package/dist/services/session/session-tool-tracker.js.map +1 -1
  448. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  449. package/dist/services/session/terminal-result-collector.js +12 -0
  450. package/dist/services/session/terminal-result-collector.js.map +1 -1
  451. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  452. package/dist/services/session/turn-workflow.js +4 -0
  453. package/dist/services/session/turn-workflow.js.map +1 -1
  454. package/dist/services/settings/settings-path.d.ts +6 -0
  455. package/dist/services/settings/settings-path.d.ts.map +1 -0
  456. package/dist/services/settings/settings-path.js +15 -0
  457. package/dist/services/settings/settings-path.js.map +1 -0
  458. package/dist/services/settings/settings-schema.d.ts +59 -1
  459. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  460. package/dist/services/settings/settings-schema.js +44 -3
  461. package/dist/services/settings/settings-schema.js.map +1 -1
  462. package/dist/services/settings/settings-service.d.ts +8 -0
  463. package/dist/services/settings/settings-service.d.ts.map +1 -1
  464. package/dist/services/settings/settings-service.js +82 -4
  465. package/dist/services/settings/settings-service.js.map +1 -1
  466. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  467. package/dist/services/settings/settings-sources.js +3 -0
  468. package/dist/services/settings/settings-sources.js.map +1 -1
  469. package/dist/services/shell/background-shell-output-store.d.ts +90 -0
  470. package/dist/services/shell/background-shell-output-store.d.ts.map +1 -0
  471. package/dist/services/shell/background-shell-output-store.js +207 -0
  472. package/dist/services/shell/background-shell-output-store.js.map +1 -0
  473. package/dist/services/shell/background-shell-registry.d.ts +18 -0
  474. package/dist/services/shell/background-shell-registry.d.ts.map +1 -1
  475. package/dist/services/shell/background-shell-registry.js +17 -2
  476. package/dist/services/shell/background-shell-registry.js.map +1 -1
  477. package/dist/services/shell/background-shell-watches.d.ts +141 -0
  478. package/dist/services/shell/background-shell-watches.d.ts.map +1 -0
  479. package/dist/services/shell/background-shell-watches.js +245 -0
  480. package/dist/services/shell/background-shell-watches.js.map +1 -0
  481. package/dist/services/stream-event-processor.d.ts.map +1 -1
  482. package/dist/services/stream-event-processor.js +31 -1
  483. package/dist/services/stream-event-processor.js.map +1 -1
  484. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  485. package/dist/services/subagents/execution-runner.js +73 -4
  486. package/dist/services/subagents/execution-runner.js.map +1 -1
  487. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  488. package/dist/services/subagents/mentor-runner.js +120 -15
  489. package/dist/services/subagents/mentor-runner.js.map +1 -1
  490. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  491. package/dist/services/subagents/nested-runner.js +106 -29
  492. package/dist/services/subagents/nested-runner.js.map +1 -1
  493. package/dist/services/subagents/role-loader.d.ts +6 -0
  494. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  495. package/dist/services/subagents/role-loader.js +6 -1
  496. package/dist/services/subagents/role-loader.js.map +1 -1
  497. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  498. package/dist/services/subagents/subagent-async-registry.js +39 -5
  499. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  500. package/dist/services/subagents/subagent-notification-store.d.ts +20 -1
  501. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  502. package/dist/services/subagents/subagent-notification-store.js +22 -0
  503. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  504. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +6 -5
  505. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  506. package/dist/services/subagents/tool-policy.d.ts +3 -1
  507. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  508. package/dist/services/subagents/tool-policy.js +16 -12
  509. package/dist/services/subagents/tool-policy.js.map +1 -1
  510. package/dist/services/subagents/types.d.ts +15 -0
  511. package/dist/services/subagents/types.d.ts.map +1 -1
  512. package/dist/services/subagents/utils.d.ts +17 -0
  513. package/dist/services/subagents/utils.d.ts.map +1 -1
  514. package/dist/services/subagents/utils.js +39 -0
  515. package/dist/services/subagents/utils.js.map +1 -1
  516. package/dist/services/subagents/worker-worktree.d.ts +25 -0
  517. package/dist/services/subagents/worker-worktree.d.ts.map +1 -0
  518. package/dist/services/subagents/worker-worktree.js +74 -0
  519. package/dist/services/subagents/worker-worktree.js.map +1 -0
  520. package/dist/services/tool-execution-ledger.d.ts +26 -1
  521. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  522. package/dist/services/tool-execution-ledger.js +103 -33
  523. package/dist/services/tool-execution-ledger.js.map +1 -1
  524. package/dist/services/workspace/active-workspace-root.d.ts +5 -0
  525. package/dist/services/workspace/active-workspace-root.d.ts.map +1 -0
  526. package/dist/services/workspace/active-workspace-root.js +24 -0
  527. package/dist/services/workspace/active-workspace-root.js.map +1 -0
  528. package/dist/services/workspace/parse-worktree-list.d.ts +24 -0
  529. package/dist/services/workspace/parse-worktree-list.d.ts.map +1 -0
  530. package/dist/services/workspace/parse-worktree-list.js +59 -0
  531. package/dist/services/workspace/parse-worktree-list.js.map +1 -0
  532. package/dist/services/workspace/worktree-inventory.d.ts +10 -0
  533. package/dist/services/workspace/worktree-inventory.d.ts.map +1 -0
  534. package/dist/services/workspace/worktree-inventory.js +28 -0
  535. package/dist/services/workspace/worktree-inventory.js.map +1 -0
  536. package/dist/services/workspace/worktree-transition.d.ts +85 -0
  537. package/dist/services/workspace/worktree-transition.d.ts.map +1 -0
  538. package/dist/services/workspace/worktree-transition.js +70 -0
  539. package/dist/services/workspace/worktree-transition.js.map +1 -0
  540. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  541. package/dist/tools/agent/activate-skill.js +1 -0
  542. package/dist/tools/agent/activate-skill.js.map +1 -1
  543. package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
  544. package/dist/tools/agent/ask-mentor.js +5 -1
  545. package/dist/tools/agent/ask-mentor.js.map +1 -1
  546. package/dist/tools/agent/run-subagent-async.d.ts +1 -1
  547. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  548. package/dist/tools/agent/run-subagent-async.js +21 -4
  549. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  550. package/dist/tools/agent/run-subagent.d.ts +3 -1
  551. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  552. package/dist/tools/agent/run-subagent.js +34 -7
  553. package/dist/tools/agent/run-subagent.js.map +1 -1
  554. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  555. package/dist/tools/file/apply-patch.js +6 -3
  556. package/dist/tools/file/apply-patch.js.map +1 -1
  557. package/dist/tools/file/code-context.d.ts.map +1 -1
  558. package/dist/tools/file/code-context.js +2 -0
  559. package/dist/tools/file/code-context.js.map +1 -1
  560. package/dist/tools/file/glob.d.ts.map +1 -1
  561. package/dist/tools/file/glob.js +1 -0
  562. package/dist/tools/file/glob.js.map +1 -1
  563. package/dist/tools/file/grep.d.ts.map +1 -1
  564. package/dist/tools/file/grep.js +1 -0
  565. package/dist/tools/file/grep.js.map +1 -1
  566. package/dist/tools/file/read-file.d.ts +2 -0
  567. package/dist/tools/file/read-file.d.ts.map +1 -1
  568. package/dist/tools/file/read-file.js +36 -15
  569. package/dist/tools/file/read-file.js.map +1 -1
  570. package/dist/tools/system/shell.d.ts +42 -1
  571. package/dist/tools/system/shell.d.ts.map +1 -1
  572. package/dist/tools/system/shell.js +285 -10
  573. package/dist/tools/system/shell.js.map +1 -1
  574. package/dist/tools/system/worktree.d.ts +22 -0
  575. package/dist/tools/system/worktree.d.ts.map +1 -0
  576. package/dist/tools/system/worktree.js +138 -0
  577. package/dist/tools/system/worktree.js.map +1 -0
  578. package/dist/tools/types.d.ts +5 -0
  579. package/dist/tools/types.d.ts.map +1 -1
  580. package/dist/tools/types.js.map +1 -1
  581. package/dist/tools/utils.d.ts.map +1 -1
  582. package/dist/tools/utils.js +3 -2
  583. package/dist/tools/utils.js.map +1 -1
  584. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  585. package/dist/tools/web/web-fetch.js +10 -12
  586. package/dist/tools/web/web-fetch.js.map +1 -1
  587. package/dist/tools/web/web-search.d.ts.map +1 -1
  588. package/dist/tools/web/web-search.js +1 -0
  589. package/dist/tools/web/web-search.js.map +1 -1
  590. package/dist/utils/ai/provider-credentials.d.ts +31 -2
  591. package/dist/utils/ai/provider-credentials.d.ts.map +1 -1
  592. package/dist/utils/ai/provider-credentials.js +119 -11
  593. package/dist/utils/ai/provider-credentials.js.map +1 -1
  594. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  595. package/dist/utils/conversation/conversation-event-handler.js +13 -1
  596. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  597. package/dist/utils/conversation/message-utils.d.ts +8 -2
  598. package/dist/utils/conversation/message-utils.d.ts.map +1 -1
  599. package/dist/utils/conversation/message-utils.js +38 -21
  600. package/dist/utils/conversation/message-utils.js.map +1 -1
  601. package/dist/utils/copy-selections.d.ts +8 -0
  602. package/dist/utils/copy-selections.d.ts.map +1 -0
  603. package/dist/utils/copy-selections.js +42 -0
  604. package/dist/utils/copy-selections.js.map +1 -0
  605. package/dist/utils/output/bound-tool-result.d.ts +42 -0
  606. package/dist/utils/output/bound-tool-result.d.ts.map +1 -0
  607. package/dist/utils/output/bound-tool-result.js +81 -0
  608. package/dist/utils/output/bound-tool-result.js.map +1 -0
  609. package/dist/utils/settings-command.d.ts.map +1 -1
  610. package/dist/utils/settings-command.js +22 -2
  611. package/dist/utils/settings-command.js.map +1 -1
  612. package/dist/utils/shell/command-safety/path-analysis.d.ts.map +1 -1
  613. package/dist/utils/shell/command-safety/path-analysis.js +5 -1
  614. package/dist/utils/shell/command-safety/path-analysis.js.map +1 -1
  615. package/dist/utils/shell/execute-shell.d.ts +25 -0
  616. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  617. package/dist/utils/shell/execute-shell.js +22 -5
  618. package/dist/utils/shell/execute-shell.js.map +1 -1
  619. package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -1
  620. package/dist/utils/shell/sandbox/sandbox-env.js +2 -1
  621. package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
  622. package/dist/utils/shell/sandbox/sandbox-network-store.d.ts.map +1 -1
  623. package/dist/utils/shell/sandbox/sandbox-network-store.js +3 -2
  624. package/dist/utils/shell/sandbox/sandbox-network-store.js.map +1 -1
  625. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  626. package/dist/utils/shell/sandbox/sandbox-policy.js +2 -1
  627. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  628. package/dist/utils/shell/shell-output.d.ts +11 -0
  629. package/dist/utils/shell/shell-output.d.ts.map +1 -1
  630. package/dist/utils/shell/shell-output.js +18 -8
  631. package/dist/utils/shell/shell-output.js.map +1 -1
  632. package/dist/utils/value-suggestions.d.ts.map +1 -1
  633. package/dist/utils/value-suggestions.js +6 -0
  634. package/dist/utils/value-suggestions.js.map +1 -1
  635. package/package.json +1 -1
@@ -123,6 +123,21 @@ it('buildPromptSpec excludes shell-sandbox when sandbox is disabled', () => {
123
123
  expect(spec.fragmentFiles.includes('worktree-hygiene.md')).toBe(true);
124
124
  });
125
125
 
126
+ it('buildPromptSpec tells the model to wait for background shell completion instead of polling', () => {
127
+ const spec = buildPromptSpec({
128
+ model: 'gpt-4o',
129
+ liteMode: false,
130
+ backgroundShellEnabled: true,
131
+ });
132
+ const guidance = spec.inlineSections.join('\n');
133
+
134
+ expect(guidance).toContain('Background shell jobs');
135
+ expect(guidance).toContain('`background: true`');
136
+ expect(guidance).toContain('Do NOT call `get_shell_job` as a polling loop');
137
+ expect(guidance.toLowerCase()).toContain('end the current turn and wait for the automatic completion notification');
138
+ expect(guidance.toLowerCase()).toContain('do not run `sleep` merely to wait');
139
+ });
140
+
126
141
  it('adds persistent-memory guidance only when memory tools are enabled', () => {
127
142
  expect(buildPromptSpec({ model: 'gpt-4o', liteMode: false, memoryEnabled: true }).fragmentFiles).toContain(
128
143
  'memory.md',
@@ -163,7 +178,7 @@ it('buildPromptSpec tells orchestrators to trust successful delegation and wait
163
178
  expect(guidance.toLowerCase()).toContain('end the current turn and wait for the completion notification');
164
179
  expect(guidance).toContain('inlines the full result so you can continue directly');
165
180
  expect(guidance).toContain('Do NOT call `get_subagent_result` immediately');
166
- expect(guidance).toContain('blocks until completion');
181
+ expect(guidance).toContain('Active runs are refused rather than awaited');
167
182
  expect(guidance).not.toContain('Use `run_subagent` only');
168
183
  });
169
184
 
@@ -3,6 +3,7 @@ import { selectPromptProfile } from './prompt-profiles.js';
3
3
  import { getSearchViaShellAddendum } from './search-via-shell.js';
4
4
  import { getSubagentDelegationAddendum } from './subagent-delegation.js';
5
5
  import { getShellSandboxAddendum } from './shell-sandbox.js';
6
+ import { getBackgroundShellAddendum } from './background-shell.js';
6
7
 
7
8
  export type PromptConstructorOptions = {
8
9
  model: string;
@@ -16,6 +17,7 @@ export type PromptConstructorOptions = {
16
17
  runSubagentForegroundEnabled?: boolean;
17
18
  runSubagentAsyncEnabled?: boolean;
18
19
  asyncSubagentControlsEnabled?: boolean;
20
+ backgroundShellEnabled?: boolean;
19
21
  sandboxEnabled?: boolean;
20
22
  memoryEnabled?: boolean;
21
23
  memoryGuidance?: string;
@@ -39,6 +41,7 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
39
41
  runSubagentForegroundEnabled = false,
40
42
  runSubagentAsyncEnabled = false,
41
43
  asyncSubagentControlsEnabled = false,
44
+ backgroundShellEnabled = false,
42
45
  sandboxEnabled = true,
43
46
  memoryEnabled = false,
44
47
  memoryGuidance = '',
@@ -63,6 +66,10 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
63
66
  inlineSections.push(getShellSandboxAddendum());
64
67
  }
65
68
 
69
+ if (backgroundShellEnabled) {
70
+ inlineSections.push(getBackgroundShellAddendum());
71
+ }
72
+
66
73
  if (mentorMode && isRegularMode) {
67
74
  fragmentFiles.push('mentor-addon.md');
68
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,EACpB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CA8Dd"}
1
+ {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,EACpB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAgEd"}
@@ -20,10 +20,12 @@ You have one \`run_subagent\` tool. A subagent runs in its own context and retur
20
20
 
21
21
  ${executions}`;
22
22
  const triggers = `**Delegate when it provides meaningful leverage:**
23
- - Need focused codebase investigation, context compression, or current external information (library docs, best practices, version-specific behavior) → \`explorer\`.
23
+ - Need bounded evidence collection, context compression, or current external information (library docs, best practices, version-specific behavior) → \`explorer\`.
24
24
  ${backgroundEnabled
25
25
  ? '- About to commit to a non-trivial plan or tricky debugging direction and want it pressure-tested → `mentor`.\n'
26
- : ''}${memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.${orchestratorMode
26
+ : ''}${memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
27
+
28
+ Explorer is an evidence collector, not a reasoning delegate. Ask it to locate and organize concrete facts, files, symbols, logs, tests, or sources for a bounded question. Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer. You retain responsibility for hypotheses, causal analysis, judgments, and recommendations.${orchestratorMode
27
29
  ? `
28
30
 
29
31
  In Orchestrator mode, delegate for specialization, context compression, safe parallelism, or cohesive separable work. Delegation transfers execution, never outcome ownership: integrate results, follow up, correct errors, and finish the user outcome. Avoid concurrent overlapping edits; sequence coupled work and validate proportionately to its risk.`
@@ -33,7 +35,7 @@ Otherwise, just do it yourself — especially when the task needs mid-flight cou
33
35
  const backgroundRules = backgroundEnabled
34
36
  ? `**Background execution rules:**
35
37
  - A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit.
36
- - Do NOT call \`get_subagent_result\` immediately after a background launch. It blocks until completion and prevents useful work or the next user instruction. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
38
+ - Do NOT call \`get_subagent_result\` immediately after a background launch. Active runs are refused rather than awaited. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
37
39
  - Fresh background runs support explorer, worker, mentor, and librarian. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
38
40
  - Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor and librarian fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${controlsEnabled
39
41
  ? `
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,EACpB,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,GACxB,GAMG,EAAE;IACJ,MAAM,UAAU,GAAG;QACjB,iBAAiB;YACf,CAAC,CAAC,uKAAuK;YACzK,CAAC,CAAC,EAAE;QACN,iBAAiB;YACf,CAAC,CAAC,+KAA+K;YACjL,CAAC,CAAC,EAAE;KACP;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG;;;;EAIf,UAAU,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG;;EAGjB,iBAAiB;QACf,CAAC,CAAC,iHAAiH;QACnH,CAAC,CAAC,EACN,GACI,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG,2GACE,gBAAgB;QACd,CAAC,CAAC;;8VAEsV;QACxV,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC;;;;ubAKE,eAAe;YACb,CAAC,CAAC;;;;gHAIoG;YACtG,CAAC,CAAC,EACN,EAAE;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,GAC7B,eAAe,CAAC,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC,EAC/C,OAAO,YAAY,OAAO,wBAAwB,CAAC;QACjD,gBAAgB,EAAE,aAAa;QAC/B,aAAa,EAAE,iBAAiB;KACjC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,EACpB,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,GACxB,GAMG,EAAE;IACJ,MAAM,UAAU,GAAG;QACjB,iBAAiB;YACf,CAAC,CAAC,uKAAuK;YACzK,CAAC,CAAC,EAAE;QACN,iBAAiB;YACf,CAAC,CAAC,+KAA+K;YACjL,CAAC,CAAC,EAAE;KACP;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG;;;;EAIf,UAAU,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG;;EAGjB,iBAAiB;QACf,CAAC,CAAC,iHAAiH;QACnH,CAAC,CAAC,EACN,GACI,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG;;qWAGE,gBAAgB;QACd,CAAC,CAAC;;8VAEsV;QACxV,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC;;;;ubAKE,eAAe;YACb,CAAC,CAAC;;;;gHAIoG;YACtG,CAAC,CAAC,EACN,EAAE;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,GAC7B,eAAe,CAAC,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC,EAC/C,OAAO,YAAY,OAAO,wBAAwB,CAAC;QACjD,gBAAgB,EAAE,aAAa;QAC/B,aAAa,EAAE,iBAAiB;KACjC,CAAC,EAAE,CAAC;AACP,CAAC"}
@@ -33,6 +33,16 @@ it('getSubagentDelegationAddendum includes self-service fallback when orchestrat
33
33
  expect(result.includes('just do it yourself')).toBe(true);
34
34
  });
35
35
 
36
+ it('keeps diagnosis and recommendations with the parent when delegating evidence collection', () => {
37
+ const result = getSubagentDelegationAddendum({ orchestratorMode: false });
38
+
39
+ expect(result).toContain('Explorer is an evidence collector, not a reasoning delegate');
40
+ expect(result).toContain(
41
+ "Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer",
42
+ );
43
+ expect(result).toContain('You retain responsibility for hypotheses, causal analysis, judgments, and recommendations');
44
+ });
45
+
36
46
  it('orchestrator mode protects outcome ownership and safe coordination', () => {
37
47
  const result = getSubagentDelegationAddendum({ orchestratorMode: true });
38
48
  expect(result).toContain('Delegation transfers execution, never outcome ownership');
@@ -35,14 +35,16 @@ You have one \`run_subagent\` tool. A subagent runs in its own context and retur
35
35
  ${executions}`;
36
36
 
37
37
  const triggers = `**Delegate when it provides meaningful leverage:**
38
- - Need focused codebase investigation, context compression, or current external information (library docs, best practices, version-specific behavior) → \`explorer\`.
38
+ - Need bounded evidence collection, context compression, or current external information (library docs, best practices, version-specific behavior) → \`explorer\`.
39
39
  ${
40
40
  backgroundEnabled
41
41
  ? '- About to commit to a non-trivial plan or tricky debugging direction and want it pressure-tested → `mentor`.\n'
42
42
  : ''
43
43
  }${
44
44
  memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''
45
- }- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.${
45
+ }- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
46
+
47
+ Explorer is an evidence collector, not a reasoning delegate. Ask it to locate and organize concrete facts, files, symbols, logs, tests, or sources for a bounded question. Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer. You retain responsibility for hypotheses, causal analysis, judgments, and recommendations.${
46
48
  orchestratorMode
47
49
  ? `
48
50
 
@@ -55,7 +57,7 @@ Otherwise, just do it yourself — especially when the task needs mid-flight cou
55
57
  const backgroundRules = backgroundEnabled
56
58
  ? `**Background execution rules:**
57
59
  - A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit.
58
- - Do NOT call \`get_subagent_result\` immediately after a background launch. It blocks until completion and prevents useful work or the next user instruction. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
60
+ - Do NOT call \`get_subagent_result\` immediately after a background launch. Active runs are refused rather than awaited. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
59
61
  - Fresh background runs support explorer, worker, mentor, and librarian. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
60
62
  - Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor and librarian fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${
61
63
  controlsEnabled
@@ -1,16 +1,18 @@
1
1
  ---
2
2
  name: Explorer
3
- description: read-only workspace access with safe shell commands and web search. Use for locating files, answering codebase questions, checking workspace state, and looking up external docs or current information.
3
+ description: read-only evidence collection with safe shell commands and web search. Use for locating facts, files, symbols, logs, tests, and external sources for a bounded parent question.
4
4
  model: inherit
5
5
  provider: inherit
6
6
  canRead: true
7
7
  canWrite: false
8
8
  canSearchWeb: true
9
9
  canRunShell: true
10
- maxTurns: 100
10
+ maxTurns: 200
11
11
  ---
12
12
 
13
- You are an explorer subagent. Your job is to locate relevant files, summarize structure, answer codebase questions, and look up external documentation or current information.
13
+ You are an explorer subagent. Your job is to collect and organize concrete evidence for a bounded question from the parent agent.
14
+
15
+ Collect and organize evidence only. Do not diagnose root causes, make recommendations, choose an approach, or answer the parent task on its behalf. If the task asks for those judgments, return the evidence relevant to making them and leave the judgment to the parent.
14
16
 
15
17
  ## Capabilities
16
18
 
@@ -37,13 +39,16 @@ You have read-only access to the workspace, may run safe read-only shell command
37
39
  4. Use safe shell commands only when they help with inspection or locating code.
38
40
  5. Cross-reference external findings with workspace usage when the question involves how something is used in the codebase.
39
41
  6. Provide specific file paths and line numbers in your answer when relevant.
40
- 7. Report what you found, not what you looked at.
42
+ 7. Separate direct observations from uncertainty; do not turn correlations or plausible explanations into conclusions.
43
+ 8. Report what you found, not what you looked at.
41
44
 
42
45
  ## Final Report
43
46
 
44
- Return a concise answer to the task. Include:
47
+ Return a concise evidence report. Include:
45
48
  - Key findings with source references
46
49
  - Relevant file paths and code examples when applicable
47
50
  - Any caveats or uncertainty
48
51
 
52
+ Do not include root-cause conclusions, recommended fixes, approach choices, or a final answer to the user's broader task.
53
+
49
54
  Do not assume access to context the parent agent did not provide. Do not modify any files.
@@ -7,7 +7,7 @@ canRead: false
7
7
  canWrite: false
8
8
  canSearchWeb: false
9
9
  canRunShell: false
10
- maxTurns: 40
10
+ maxTurns: 200
11
11
  ---
12
12
 
13
13
  You are the memory librarian — the specialist other agents consult when they encounter uncertainty about prior knowledge. Your job is to find, synthesize, and organize relevant memories efficiently.
@@ -7,14 +7,14 @@ canRead: true
7
7
  canWrite: true
8
8
  canSearchWeb: false
9
9
  canRunShell: true
10
- maxTurns: 100
10
+ maxTurns: 200
11
11
  ---
12
12
 
13
13
  You are a worker subagent. Your job is to implement a bounded change in the assigned files or directories.
14
14
 
15
15
  ## Capabilities
16
16
 
17
- You have read and write access to the workspace (within the assigned write boundary). You can run shell commands but cannot access the web.
17
+ You have read and write access to the workspace (within the assigned write boundary). You can run shell commands but cannot access the web. When the harness pins you into a worktree, that worktree root is your full workspace — treat it as the checkout to read and edit.
18
18
 
19
19
  ## Instructions
20
20
 
@@ -0,0 +1,20 @@
1
+ import type { ProviderTrafficStreamDiagnostics } from '../services/service-interfaces.js';
2
+ /**
3
+ * Retains a streaming response so a stream that ends without a terminal event
4
+ * can still be explained afterwards.
5
+ *
6
+ * A completed response is summarized from its payload, but an aborted one has
7
+ * no payload at all — previously only an event count survived, which cannot
8
+ * distinguish a runaway generation from a stalled socket. The transcript is
9
+ * held only until a terminal event arrives, at which point it is redundant and
10
+ * dropped.
11
+ */
12
+ export declare class AbortedStreamRecorder {
13
+ #private;
14
+ constructor(now?: () => number);
15
+ observe(event: unknown): void;
16
+ /** Drop the transcript once a terminal event makes it redundant. */
17
+ release(): void;
18
+ diagnostics(): ProviderTrafficStreamDiagnostics;
19
+ }
20
+ //# sourceMappingURL=aborted-stream-recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aborted-stream-recorder.d.ts","sourceRoot":"","sources":["../../source/providers/aborted-stream-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAE1F;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;;IAUhC,YAAY,GAAG,GAAE,MAAM,MAAiB,EAGvC;IAED,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAa5B;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAEd;IAED,WAAW,IAAI,gCAAgC,CAU9C;CACF"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Retains a streaming response so a stream that ends without a terminal event
3
+ * can still be explained afterwards.
4
+ *
5
+ * A completed response is summarized from its payload, but an aborted one has
6
+ * no payload at all — previously only an event count survived, which cannot
7
+ * distinguish a runaway generation from a stalled socket. The transcript is
8
+ * held only until a terminal event arrives, at which point it is redundant and
9
+ * dropped.
10
+ */
11
+ export class AbortedStreamRecorder {
12
+ #now;
13
+ #startedAtMs;
14
+ #eventTypeCounts = {};
15
+ #events = [];
16
+ #firstEventMs;
17
+ #lastEventMs;
18
+ #maxGapMs = 0;
19
+ #responseId;
20
+ constructor(now = Date.now) {
21
+ this.#now = now;
22
+ this.#startedAtMs = now();
23
+ }
24
+ observe(event) {
25
+ const elapsed = this.#now() - this.#startedAtMs;
26
+ if (this.#firstEventMs === undefined)
27
+ this.#firstEventMs = elapsed;
28
+ else
29
+ this.#maxGapMs = Math.max(this.#maxGapMs, elapsed - (this.#lastEventMs ?? 0));
30
+ this.#lastEventMs = elapsed;
31
+ const type = typeof event?.type === 'string' ? event.type : 'unknown';
32
+ this.#eventTypeCounts[type] = (this.#eventTypeCounts[type] ?? 0) + 1;
33
+ const responseId = readResponseId(event);
34
+ if (responseId)
35
+ this.#responseId = responseId;
36
+ this.#events?.push(event);
37
+ }
38
+ /** Drop the transcript once a terminal event makes it redundant. */
39
+ release() {
40
+ this.#events = undefined;
41
+ }
42
+ diagnostics() {
43
+ return {
44
+ durationMs: this.#now() - this.#startedAtMs,
45
+ ...(this.#firstEventMs === undefined ? {} : { firstEventMs: this.#firstEventMs }),
46
+ ...(this.#lastEventMs === undefined ? {} : { lastEventMs: this.#lastEventMs }),
47
+ ...(this.#firstEventMs === undefined ? {} : { maxGapMs: this.#maxGapMs }),
48
+ ...(this.#responseId ? { responseId: this.#responseId } : {}),
49
+ eventTypeCounts: { ...this.#eventTypeCounts },
50
+ events: this.#events ? [...this.#events] : [],
51
+ };
52
+ }
53
+ }
54
+ function readResponseId(event) {
55
+ if (!event || typeof event !== 'object')
56
+ return undefined;
57
+ const record = event;
58
+ if (typeof record.response_id === 'string' && record.response_id.length > 0)
59
+ return record.response_id;
60
+ const nested = record.response?.id;
61
+ return typeof nested === 'string' && nested.length > 0 ? nested : undefined;
62
+ }
63
+ //# sourceMappingURL=aborted-stream-recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aborted-stream-recorder.js","sourceRoot":"","sources":["../../source/providers/aborted-stream-recorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Resolve the Codex auth file by presence only. Reading or validating the
3
+ * token contents belongs to the runtime request path.
4
+ */
5
+ export declare function resolveCodexTokenPath(): string | null;
6
+ //# sourceMappingURL=codex-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-auth.d.ts","sourceRoot":"","sources":["../../source/providers/codex-auth.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CA4BrD"}
@@ -0,0 +1,35 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ /**
5
+ * Resolve the Codex auth file by presence only. Reading or validating the
6
+ * token contents belongs to the runtime request path.
7
+ */
8
+ export function resolveCodexTokenPath() {
9
+ const candidates = [];
10
+ if (process.env.CHATGPT_LOCAL_HOME) {
11
+ candidates.push(path.join(process.env.CHATGPT_LOCAL_HOME, 'auth.json'));
12
+ candidates.push(process.env.CHATGPT_LOCAL_HOME);
13
+ }
14
+ if (process.env.CODEX_HOME) {
15
+ candidates.push(path.join(process.env.CODEX_HOME, 'auth.json'));
16
+ candidates.push(process.env.CODEX_HOME);
17
+ }
18
+ const home = os.homedir();
19
+ if (home) {
20
+ candidates.push(path.join(home, '.chatgpt-local', 'auth.json'));
21
+ candidates.push(path.join(home, '.codex', 'auth.json'));
22
+ }
23
+ for (const candidate of candidates) {
24
+ try {
25
+ if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) {
26
+ return candidate;
27
+ }
28
+ }
29
+ catch {
30
+ // Ignore inaccessible candidates and continue through the precedence list.
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ //# sourceMappingURL=codex-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-auth.js","sourceRoot":"","sources":["../../source/providers/codex-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;QACxE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChE,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,13 +1,18 @@
1
- import type { StreamedModelTurn, StreamedModelTurnEvent, StreamedModelTurnRequest } from '../contracts/streamed-model-turn.js';
1
+ import type { ContextCompactionSessionState, StreamedModelTurn, StreamedModelTurnEvent, StreamedModelTurnRequest } from '../contracts/streamed-model-turn.js';
2
2
  import type { ISessionContextService, IProviderTraffic } from '../services/service-interfaces.js';
3
3
  import { type ProviderRequestCapture } from './provider-request-capture.js';
4
4
  import { type WebSocketReceiveTimeouts } from './websocket-receive-watchdog.js';
5
+ export type CodexResponsesTransportOptions = {
6
+ supportsContextCompaction?: boolean;
7
+ contextCompactionSessionState?: ContextCompactionSessionState;
8
+ };
5
9
  /** Provider-owned transport seam used by Codex's HTTP and WebSocket models. */
6
10
  export declare class CodexResponsesTransport {
7
11
  private readonly client;
8
12
  private readonly model;
9
13
  private readonly websocket;
10
- constructor(client?: any, model?: string, websocket?: boolean);
14
+ private readonly options;
15
+ constructor(client?: any, model?: string, websocket?: boolean, options?: CodexResponsesTransportOptions);
11
16
  buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
12
17
  fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestData: any): Promise<any>;
13
18
  }
@@ -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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"}