@qduc/term2 0.27.0 → 0.29.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 (934) hide show
  1. package/README.md +9 -7
  2. package/dist/acp-v2/session-backend.d.ts +0 -1
  3. package/dist/acp-v2/session-backend.d.ts.map +1 -1
  4. package/dist/acp-v2/session-backend.js +0 -1
  5. package/dist/acp-v2/session-backend.js.map +1 -1
  6. package/dist/agent.d.ts +6 -2
  7. package/dist/agent.d.ts.map +1 -1
  8. package/dist/agent.js +14 -4
  9. package/dist/agent.js.map +1 -1
  10. package/dist/app-helpers.d.ts +0 -2
  11. package/dist/app-helpers.d.ts.map +1 -1
  12. package/dist/app-helpers.js +1 -1
  13. package/dist/app-helpers.js.map +1 -1
  14. package/dist/app.d.ts +9 -2
  15. package/dist/app.d.ts.map +1 -1
  16. package/dist/app.js +64 -11
  17. package/dist/app.js.map +1 -1
  18. package/dist/build-info.json +6 -0
  19. package/dist/cli.js +199 -46
  20. package/dist/cli.js.map +1 -1
  21. package/dist/commands/auto-approve-command.d.ts.map +1 -1
  22. package/dist/commands/auto-approve-command.js +2 -6
  23. package/dist/commands/auto-approve-command.js.map +1 -1
  24. package/dist/commands/effort-command.js +1 -1
  25. package/dist/commands/effort-command.js.map +1 -1
  26. package/dist/commands/goal-command.d.ts +8 -0
  27. package/dist/commands/goal-command.d.ts.map +1 -0
  28. package/dist/commands/goal-command.js +49 -0
  29. package/dist/commands/goal-command.js.map +1 -0
  30. package/dist/commands/handoff-command.js +1 -1
  31. package/dist/commands/handoff-command.js.map +1 -1
  32. package/dist/commands/mode-commands.d.ts +5 -1
  33. package/dist/commands/mode-commands.d.ts.map +1 -1
  34. package/dist/commands/mode-commands.js +14 -2
  35. package/dist/commands/mode-commands.js.map +1 -1
  36. package/dist/commands/model-command.js +1 -1
  37. package/dist/commands/model-command.js.map +1 -1
  38. package/dist/commands/resume-command.js +1 -1
  39. package/dist/commands/resume-command.js.map +1 -1
  40. package/dist/commands/rewind-command.d.ts.map +1 -1
  41. package/dist/commands/rewind-command.js +8 -4
  42. package/dist/commands/rewind-command.js.map +1 -1
  43. package/dist/commands/sandbox-command.js +1 -1
  44. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  45. package/dist/components/ErrorBoundary.js +1 -3
  46. package/dist/components/ErrorBoundary.js.map +1 -1
  47. package/dist/components/InputBox.d.ts +4 -2
  48. package/dist/components/InputBox.d.ts.map +1 -1
  49. package/dist/components/InputBox.js +30 -7
  50. package/dist/components/InputBox.js.map +1 -1
  51. package/dist/components/MarkdownRenderer.js +1 -1
  52. package/dist/components/MarkdownRenderer.js.map +1 -1
  53. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  54. package/dist/components/common/MenuContainer.js +8 -9
  55. package/dist/components/common/MenuContainer.js.map +1 -1
  56. package/dist/components/input/ApplicationInputSurface.d.ts +1 -1
  57. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  58. package/dist/components/input/ApplicationInputSurface.js +5 -2
  59. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  60. package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
  61. package/dist/components/input/FirstRunSetupPrompt.js +3 -4
  62. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  63. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  64. package/dist/components/input/MenuSurface.js +9 -3
  65. package/dist/components/input/MenuSurface.js.map +1 -1
  66. package/dist/components/input/PendingQueueList.js +1 -1
  67. package/dist/components/input/ResumeMenuSession.js +1 -1
  68. package/dist/components/input/ResumeMenuSession.js.map +1 -1
  69. package/dist/components/input/menu-bindings.d.ts.map +1 -1
  70. package/dist/components/input/menu-bindings.js +1 -1
  71. package/dist/components/input/menu-bindings.js.map +1 -1
  72. package/dist/components/input/menu-registry.d.ts +0 -3
  73. package/dist/components/input/menu-registry.d.ts.map +1 -1
  74. package/dist/components/input/menu-registry.js +0 -3
  75. package/dist/components/input/menu-registry.js.map +1 -1
  76. package/dist/components/input/triggers.d.ts +0 -1
  77. package/dist/components/input/triggers.d.ts.map +1 -1
  78. package/dist/components/input/triggers.js +1 -1
  79. package/dist/components/input/triggers.js.map +1 -1
  80. package/dist/components/layout/BackgroundTaskManager.js +1 -1
  81. package/dist/components/layout/BackgroundTasksPanel.d.ts +0 -2
  82. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  83. package/dist/components/layout/BackgroundTasksPanel.js +0 -1
  84. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  85. package/dist/components/layout/Banner.d.ts +7 -0
  86. package/dist/components/layout/Banner.d.ts.map +1 -1
  87. package/dist/components/layout/Banner.js +25 -4
  88. package/dist/components/layout/Banner.js.map +1 -1
  89. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  90. package/dist/components/layout/BottomArea.js +32 -12
  91. package/dist/components/layout/BottomArea.js.map +1 -1
  92. package/dist/components/layout/DiffView.d.ts +1 -1
  93. package/dist/components/layout/DiffView.d.ts.map +1 -1
  94. package/dist/components/layout/DiffView.js +1 -1
  95. package/dist/components/layout/DiffView.js.map +1 -1
  96. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  97. package/dist/components/layout/StatusBar.js +14 -11
  98. package/dist/components/layout/StatusBar.js.map +1 -1
  99. package/dist/components/menu/CopyMenu.js +1 -1
  100. package/dist/components/menu/McpSelectionMenu.js +1 -1
  101. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  102. package/dist/components/menu/ModelSelectionMenu.js +4 -1
  103. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  104. package/dist/components/menu/PathSelectionMenu.js +1 -1
  105. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -1
  106. package/dist/components/menu/ProfileSelectionMenu.js +6 -4
  107. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -1
  108. package/dist/components/menu/ProviderSelectionMenu.js +7 -7
  109. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  110. package/dist/components/menu/ResumeSelectionMenu.d.ts +1 -1
  111. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  112. package/dist/components/menu/ResumeSelectionMenu.js +33 -6
  113. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  114. package/dist/components/menu/RewindMenu.js +1 -1
  115. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  116. package/dist/components/menu/SettingsSelectionMenu.js +6 -6
  117. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  118. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  119. package/dist/components/menu/SettingsValueSelectionMenu.js +14 -5
  120. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  121. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  122. package/dist/components/menu/SkillSelectionMenu.js +6 -4
  123. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  124. package/dist/components/menu/StandaloneModelPickerApp.d.ts +1 -1
  125. package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -1
  126. package/dist/components/menu/StandaloneModelPickerApp.js +1 -1
  127. package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -1
  128. package/dist/components/menu/SubagentPoolSelectionMenu.d.ts +1 -1
  129. package/dist/components/menu/SubagentPoolSelectionMenu.d.ts.map +1 -1
  130. package/dist/components/menu/SubagentPoolSelectionMenu.js +5 -5
  131. package/dist/components/menu/SubagentPoolSelectionMenu.js.map +1 -1
  132. package/dist/components/menu/settings-value-formatter.d.ts +0 -1
  133. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -1
  134. package/dist/components/menu/settings-value-formatter.js +8 -7
  135. package/dist/components/menu/settings-value-formatter.js.map +1 -1
  136. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  137. package/dist/components/message/CommandMessage.js +15 -3
  138. package/dist/components/message/CommandMessage.js.map +1 -1
  139. package/dist/components/message/command-message-helpers.d.ts +3 -0
  140. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  141. package/dist/components/message/command-message-helpers.js +19 -0
  142. package/dist/components/message/command-message-helpers.js.map +1 -1
  143. package/dist/components/prompt/ApprovalPrompt.d.ts +1 -0
  144. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  145. package/dist/components/prompt/ApprovalPrompt.js +139 -69
  146. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  147. package/dist/components/prompt/ConfirmPrompt.js +1 -1
  148. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  149. package/dist/components/prompt/QueuePausedPrompt.js +7 -7
  150. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  151. package/dist/context/InputContext.d.ts +1 -2
  152. package/dist/context/InputContext.d.ts.map +1 -1
  153. package/dist/context/InputContext.js +1 -1
  154. package/dist/context/InputContext.js.map +1 -1
  155. package/dist/contracts/conversation-items.d.ts +3 -1
  156. package/dist/contracts/conversation-items.d.ts.map +1 -1
  157. package/dist/contracts/conversation.d.ts +2 -2
  158. package/dist/contracts/conversation.d.ts.map +1 -1
  159. package/dist/contracts/conversation.js +0 -2
  160. package/dist/contracts/conversation.js.map +1 -1
  161. package/dist/contracts/provider-input.d.ts +1 -0
  162. package/dist/contracts/provider-input.d.ts.map +1 -1
  163. package/dist/contracts/streamed-model-turn.d.ts +10 -0
  164. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  165. package/dist/contracts/streamed-model-turn.js +7 -1
  166. package/dist/contracts/streamed-model-turn.js.map +1 -1
  167. package/dist/gateway/assertion.d.ts +0 -1
  168. package/dist/gateway/assertion.d.ts.map +1 -1
  169. package/dist/gateway/assertion.js +1 -2
  170. package/dist/gateway/assertion.js.map +1 -1
  171. package/dist/gateway/gateway.d.ts +1 -2
  172. package/dist/gateway/gateway.d.ts.map +1 -1
  173. package/dist/gateway/gateway.js +6 -2
  174. package/dist/gateway/gateway.js.map +1 -1
  175. package/dist/gateway/persistence/retention.d.ts +0 -1
  176. package/dist/gateway/persistence/retention.d.ts.map +1 -1
  177. package/dist/gateway/persistence/retention.js +1 -1
  178. package/dist/gateway/persistence/retention.js.map +1 -1
  179. package/dist/gateway/persistence/session-snapshot.d.ts +0 -1
  180. package/dist/gateway/persistence/session-snapshot.d.ts.map +1 -1
  181. package/dist/gateway/persistence/session-snapshot.js +1 -1
  182. package/dist/gateway/persistence/session-snapshot.js.map +1 -1
  183. package/dist/gateway/persistence/storage.d.ts +0 -3
  184. package/dist/gateway/persistence/storage.d.ts.map +1 -1
  185. package/dist/gateway/persistence/storage.js +2 -2
  186. package/dist/gateway/persistence/storage.js.map +1 -1
  187. package/dist/gateway/runtime-factory.d.ts +0 -2
  188. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  189. package/dist/gateway/runtime-factory.js +2 -2
  190. package/dist/gateway/runtime-factory.js.map +1 -1
  191. package/dist/gateway/safe-log.d.ts +0 -1
  192. package/dist/gateway/safe-log.d.ts.map +1 -1
  193. package/dist/gateway/safe-log.js +1 -4
  194. package/dist/gateway/safe-log.js.map +1 -1
  195. package/dist/gateway/settings-rpc.d.ts +2 -15
  196. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  197. package/dist/gateway/settings-rpc.js +5 -5
  198. package/dist/gateway/settings-rpc.js.map +1 -1
  199. package/dist/gateway/worker-boundary.d.ts +0 -4
  200. package/dist/gateway/worker-boundary.d.ts.map +1 -1
  201. package/dist/gateway/worker-boundary.js +2 -2
  202. package/dist/gateway/worker-boundary.js.map +1 -1
  203. package/dist/hooks/path-completion-filter.d.ts +1 -1
  204. package/dist/hooks/path-completion-filter.d.ts.map +1 -1
  205. package/dist/hooks/path-completion-filter.js +1 -1
  206. package/dist/hooks/path-completion-filter.js.map +1 -1
  207. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  208. package/dist/hooks/settings-completion-config.js +0 -1
  209. package/dist/hooks/settings-completion-config.js.map +1 -1
  210. package/dist/hooks/settings-completion-logic.d.ts.map +1 -1
  211. package/dist/hooks/settings-completion-logic.js +5 -1
  212. package/dist/hooks/settings-completion-logic.js.map +1 -1
  213. package/dist/hooks/use-app-commands.d.ts +5 -6
  214. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  215. package/dist/hooks/use-app-commands.js +21 -8
  216. package/dist/hooks/use-app-commands.js.map +1 -1
  217. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +2 -1
  218. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  219. package/dist/hooks/use-app-keyboard-shortcuts.js +38 -1
  220. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  221. package/dist/hooks/use-conversation.d.ts +7 -2
  222. package/dist/hooks/use-conversation.d.ts.map +1 -1
  223. package/dist/hooks/use-conversation.js +39 -2
  224. package/dist/hooks/use-conversation.js.map +1 -1
  225. package/dist/hooks/use-escape-key.js +1 -1
  226. package/dist/hooks/use-escape-key.js.map +1 -1
  227. package/dist/hooks/use-first-run-setup.d.ts +0 -1
  228. package/dist/hooks/use-first-run-setup.d.ts.map +1 -1
  229. package/dist/hooks/use-first-run-setup.js +0 -2
  230. package/dist/hooks/use-first-run-setup.js.map +1 -1
  231. package/dist/hooks/use-input-history.d.ts +1 -0
  232. package/dist/hooks/use-input-history.d.ts.map +1 -1
  233. package/dist/hooks/use-input-history.js +1 -0
  234. package/dist/hooks/use-input-history.js.map +1 -1
  235. package/dist/hooks/use-resume-selection.d.ts +1 -2
  236. package/dist/hooks/use-resume-selection.d.ts.map +1 -1
  237. package/dist/hooks/use-resume-selection.js +3 -4
  238. package/dist/hooks/use-resume-selection.js.map +1 -1
  239. package/dist/hooks/use-rewind-selection.d.ts +0 -26
  240. package/dist/hooks/use-rewind-selection.d.ts.map +1 -1
  241. package/dist/hooks/use-rewind-selection.js +0 -94
  242. package/dist/hooks/use-rewind-selection.js.map +1 -1
  243. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  244. package/dist/hooks/use-settings-completion.js +2 -1
  245. package/dist/hooks/use-settings-completion.js.map +1 -1
  246. package/dist/hooks/use-skill-selection.d.ts +0 -1
  247. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  248. package/dist/hooks/use-skill-selection.js +0 -1
  249. package/dist/hooks/use-skill-selection.js.map +1 -1
  250. package/dist/hooks/use-subagent-pool-selection.d.ts +11 -1
  251. package/dist/hooks/use-subagent-pool-selection.d.ts.map +1 -1
  252. package/dist/hooks/use-subagent-pool-selection.js +26 -15
  253. package/dist/hooks/use-subagent-pool-selection.js.map +1 -1
  254. package/dist/lib/agent-client.d.ts +9 -6
  255. package/dist/lib/agent-client.d.ts.map +1 -1
  256. package/dist/lib/agent-client.js +48 -26
  257. package/dist/lib/agent-client.js.map +1 -1
  258. package/dist/lib/agent-configuration.d.ts +4 -0
  259. package/dist/lib/agent-configuration.d.ts.map +1 -1
  260. package/dist/lib/agent-configuration.js +14 -1
  261. package/dist/lib/agent-configuration.js.map +1 -1
  262. package/dist/lib/agent-factory.d.ts +4 -0
  263. package/dist/lib/agent-factory.d.ts.map +1 -1
  264. package/dist/lib/agent-factory.js +4 -1
  265. package/dist/lib/agent-factory.js.map +1 -1
  266. package/dist/non-interactive.d.ts +4 -2
  267. package/dist/non-interactive.d.ts.map +1 -1
  268. package/dist/non-interactive.js +23 -2
  269. package/dist/non-interactive.js.map +1 -1
  270. package/dist/prompts/durable-goal-context.d.ts +4 -0
  271. package/dist/prompts/durable-goal-context.d.ts.map +1 -0
  272. package/dist/prompts/durable-goal-context.js +24 -0
  273. package/dist/prompts/durable-goal-context.js.map +1 -0
  274. package/dist/prompts/durable-goal-context.test.ts +56 -0
  275. package/dist/prompts/durable-goal-context.ts +27 -0
  276. package/dist/prompts/explorer-delegation-contract.test.ts +1 -1
  277. package/dist/prompts/{gpt-5.6.md → gpt.md} +13 -1
  278. package/dist/prompts/prompt-constructor.d.ts +14 -3
  279. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  280. package/dist/prompts/prompt-constructor.js +4 -5
  281. package/dist/prompts/prompt-constructor.js.map +1 -1
  282. package/dist/prompts/prompt-constructor.test.ts +82 -114
  283. package/dist/prompts/prompt-constructor.ts +14 -8
  284. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  285. package/dist/prompts/prompt-profiles.js +3 -39
  286. package/dist/prompts/prompt-profiles.js.map +1 -1
  287. package/dist/prompts/prompt-profiles.ts +3 -40
  288. package/dist/prompts/tool-surface-guidance.d.ts +2 -1
  289. package/dist/prompts/tool-surface-guidance.d.ts.map +1 -1
  290. package/dist/prompts/tool-surface-guidance.js +22 -9
  291. package/dist/prompts/tool-surface-guidance.js.map +1 -1
  292. package/dist/prompts/tool-surface-guidance.ts +26 -8
  293. package/dist/prompts/unified-gpt-prompt.test.ts +53 -0
  294. package/dist/providers/ai-sdk-streamed-model.d.ts +0 -5
  295. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  296. package/dist/providers/ai-sdk-streamed-model.js +16 -7
  297. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  298. package/dist/providers/codex-auth.d.ts +1 -18
  299. package/dist/providers/codex-auth.d.ts.map +1 -1
  300. package/dist/providers/codex-auth.js +6 -19
  301. package/dist/providers/codex-auth.js.map +1 -1
  302. package/dist/providers/codex-compact.js +1 -1
  303. package/dist/providers/codex-compact.js.map +1 -1
  304. package/dist/providers/codex-responses-model.d.ts +1 -2
  305. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  306. package/dist/providers/codex-responses-model.js +5 -4
  307. package/dist/providers/codex-responses-model.js.map +1 -1
  308. package/dist/providers/codex-turn-converter.d.ts +1 -3
  309. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  310. package/dist/providers/codex-turn-converter.js +2 -2
  311. package/dist/providers/codex-turn-converter.js.map +1 -1
  312. package/dist/providers/codex.provider.d.ts +1 -1
  313. package/dist/providers/codex.provider.d.ts.map +1 -1
  314. package/dist/providers/codex.provider.js +1 -1
  315. package/dist/providers/codex.provider.js.map +1 -1
  316. package/dist/providers/common/openai-compatible-messages.d.ts +0 -1
  317. package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
  318. package/dist/providers/common/openai-compatible-messages.js +0 -30
  319. package/dist/providers/common/openai-compatible-messages.js.map +1 -1
  320. package/dist/providers/common/openai-compatible-utils.d.ts +0 -8
  321. package/dist/providers/common/openai-compatible-utils.d.ts.map +1 -1
  322. package/dist/providers/common/openai-compatible-utils.js +0 -23
  323. package/dist/providers/common/openai-compatible-utils.js.map +1 -1
  324. package/dist/providers/grok-auth.d.ts +1 -33
  325. package/dist/providers/grok-auth.d.ts.map +1 -1
  326. package/dist/providers/grok-auth.js +9 -9
  327. package/dist/providers/grok-auth.js.map +1 -1
  328. package/dist/providers/grok.provider.d.ts +0 -1
  329. package/dist/providers/grok.provider.d.ts.map +1 -1
  330. package/dist/providers/grok.provider.js +1 -1
  331. package/dist/providers/grok.provider.js.map +1 -1
  332. package/dist/providers/llama-cpp.provider.d.ts +0 -1
  333. package/dist/providers/llama-cpp.provider.d.ts.map +1 -1
  334. package/dist/providers/llama-cpp.provider.js +1 -1
  335. package/dist/providers/llama-cpp.provider.js.map +1 -1
  336. package/dist/providers/model-catalog/catalog.generated.d.ts +145 -89
  337. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  338. package/dist/providers/model-catalog/catalog.generated.js +145 -89
  339. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  340. package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
  341. package/dist/providers/model-catalog/generate-catalog.js +18 -1
  342. package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
  343. package/dist/providers/oauth-account-store.d.ts +0 -11
  344. package/dist/providers/oauth-account-store.d.ts.map +1 -1
  345. package/dist/providers/oauth-account-store.js +1 -1
  346. package/dist/providers/oauth-account-store.js.map +1 -1
  347. package/dist/providers/openai-compatible-middleware.d.ts +0 -1
  348. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
  349. package/dist/providers/openai-compatible-middleware.js +0 -17
  350. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  351. package/dist/providers/openai-compatible.provider.d.ts +0 -1
  352. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  353. package/dist/providers/openai-compatible.provider.js +1 -1
  354. package/dist/providers/openai-compatible.provider.js.map +1 -1
  355. package/dist/providers/openai-request-prefix-binding.d.ts +0 -1
  356. package/dist/providers/openai-request-prefix-binding.d.ts.map +1 -1
  357. package/dist/providers/openai-request-prefix-binding.js +0 -3
  358. package/dist/providers/openai-request-prefix-binding.js.map +1 -1
  359. package/dist/providers/openai-responses-model.d.ts +3 -6
  360. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  361. package/dist/providers/openai-responses-model.js +11 -2
  362. package/dist/providers/openai-responses-model.js.map +1 -1
  363. package/dist/providers/opencode-go-usage.d.ts +0 -2
  364. package/dist/providers/opencode-go-usage.d.ts.map +1 -1
  365. package/dist/providers/opencode-go-usage.js +1 -1
  366. package/dist/providers/opencode-go-usage.js.map +1 -1
  367. package/dist/providers/opencode-session.d.ts +0 -6
  368. package/dist/providers/opencode-session.d.ts.map +1 -1
  369. package/dist/providers/opencode-session.js +2 -2
  370. package/dist/providers/opencode-session.js.map +1 -1
  371. package/dist/providers/provider-opaque-compatibility.d.ts +3 -1
  372. package/dist/providers/provider-opaque-compatibility.d.ts.map +1 -1
  373. package/dist/providers/provider-opaque-compatibility.js +19 -2
  374. package/dist/providers/provider-opaque-compatibility.js.map +1 -1
  375. package/dist/providers/provider-service.d.ts +0 -2
  376. package/dist/providers/provider-service.d.ts.map +1 -1
  377. package/dist/providers/provider-service.js +1 -1
  378. package/dist/providers/provider-service.js.map +1 -1
  379. package/dist/providers/responses-websocket-sessions.d.ts +0 -1
  380. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
  381. package/dist/providers/responses-websocket-sessions.js +1 -1
  382. package/dist/providers/responses-websocket-sessions.js.map +1 -1
  383. package/dist/providers/web-search/exa.provider.d.ts +2 -3
  384. package/dist/providers/web-search/exa.provider.d.ts.map +1 -1
  385. package/dist/providers/web-search/exa.provider.js +1 -1
  386. package/dist/providers/web-search/exa.provider.js.map +1 -1
  387. package/dist/providers/web-search/index.d.ts +1 -1
  388. package/dist/providers/web-search/index.d.ts.map +1 -1
  389. package/dist/providers/web-search/index.js +1 -1
  390. package/dist/providers/web-search/index.js.map +1 -1
  391. package/dist/providers/web-search/tavily.provider.d.ts +2 -3
  392. package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
  393. package/dist/providers/web-search/tavily.provider.js +1 -1
  394. package/dist/providers/web-search/tavily.provider.js.map +1 -1
  395. package/dist/providers/websocket-abort-race.d.ts +0 -2
  396. package/dist/providers/websocket-abort-race.d.ts.map +1 -1
  397. package/dist/providers/websocket-abort-race.js +1 -1
  398. package/dist/providers/websocket-abort-race.js.map +1 -1
  399. package/dist/scripts/eval-gpt6-prompts.js +60 -25
  400. package/dist/scripts/eval-gpt6-prompts.js.map +1 -1
  401. package/dist/scripts/gpt6-probe-tools.d.ts +4 -0
  402. package/dist/scripts/gpt6-probe-tools.d.ts.map +1 -0
  403. package/dist/scripts/gpt6-probe-tools.js +43 -0
  404. package/dist/scripts/gpt6-probe-tools.js.map +1 -0
  405. package/dist/services/agent-runtime/application-run-loop.d.ts +15 -3
  406. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  407. package/dist/services/agent-runtime/application-run-loop.js +238 -433
  408. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  409. package/dist/services/agent-runtime/context-compaction/index.d.ts +0 -1
  410. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
  411. package/dist/services/agent-runtime/context-compaction/index.js +1 -1
  412. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
  413. package/dist/services/agent-runtime/generation-guard.d.ts +0 -4
  414. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  415. package/dist/services/agent-runtime/generation-guard.js +2 -2
  416. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  417. package/dist/services/agent-runtime/index.d.ts +2 -3
  418. package/dist/services/agent-runtime/index.d.ts.map +1 -1
  419. package/dist/services/agent-runtime/index.js +0 -4
  420. package/dist/services/agent-runtime/index.js.map +1 -1
  421. package/dist/services/agent-runtime/model-resolver.d.ts +16 -3
  422. package/dist/services/agent-runtime/model-resolver.d.ts.map +1 -1
  423. package/dist/services/agent-runtime/model-resolver.js +37 -14
  424. package/dist/services/agent-runtime/model-resolver.js.map +1 -1
  425. package/dist/services/agent-runtime/scope-resolver.d.ts +0 -5
  426. package/dist/services/agent-runtime/scope-resolver.d.ts.map +1 -1
  427. package/dist/services/agent-runtime/scope-resolver.js +0 -7
  428. package/dist/services/agent-runtime/scope-resolver.js.map +1 -1
  429. package/dist/services/agent-runtime/tool-call-execution.d.ts +65 -0
  430. package/dist/services/agent-runtime/tool-call-execution.d.ts.map +1 -0
  431. package/dist/services/agent-runtime/tool-call-execution.js +250 -0
  432. package/dist/services/agent-runtime/tool-call-execution.js.map +1 -0
  433. package/dist/services/agent-runtime/turn-input-mailbox.d.ts +33 -0
  434. package/dist/services/agent-runtime/turn-input-mailbox.d.ts.map +1 -0
  435. package/dist/services/agent-runtime/turn-input-mailbox.js +98 -0
  436. package/dist/services/agent-runtime/turn-input-mailbox.js.map +1 -0
  437. package/dist/services/agent-stream.d.ts +2 -0
  438. package/dist/services/agent-stream.d.ts.map +1 -1
  439. package/dist/services/agent-stream.js.map +1 -1
  440. package/dist/services/approval/non-interactive-approval-policy.d.ts +0 -1
  441. package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -1
  442. package/dist/services/approval/non-interactive-approval-policy.js +1 -1
  443. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
  444. package/dist/services/approval/session-read-access.d.ts +0 -1
  445. package/dist/services/approval/session-read-access.d.ts.map +1 -1
  446. package/dist/services/approval/session-read-access.js +1 -1
  447. package/dist/services/approval/session-read-access.js.map +1 -1
  448. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  449. package/dist/services/approval/shell-auto-approval-evaluator.js +2 -4
  450. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  451. package/dist/services/approval/shell-auto-approval-resolver.d.ts +0 -3
  452. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  453. package/dist/services/approval/shell-auto-approval-resolver.js +3 -7
  454. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  455. package/dist/services/approval/tool-approval-policy-registry.d.ts +1 -0
  456. package/dist/services/approval/tool-approval-policy-registry.d.ts.map +1 -1
  457. package/dist/services/approval/tool-approval-policy-registry.js +4 -2
  458. package/dist/services/approval/tool-approval-policy-registry.js.map +1 -1
  459. package/dist/services/control-socket/control-command.d.ts +6 -0
  460. package/dist/services/control-socket/control-command.d.ts.map +1 -0
  461. package/dist/services/control-socket/control-command.js +161 -0
  462. package/dist/services/control-socket/control-command.js.map +1 -0
  463. package/dist/services/control-socket/control-session-port.d.ts +24 -0
  464. package/dist/services/control-socket/control-session-port.d.ts.map +1 -0
  465. package/dist/services/control-socket/control-session-port.js +185 -0
  466. package/dist/services/control-socket/control-session-port.js.map +1 -0
  467. package/dist/services/control-socket/control-socket.d.ts +130 -0
  468. package/dist/services/control-socket/control-socket.d.ts.map +1 -0
  469. package/dist/services/control-socket/control-socket.js +600 -0
  470. package/dist/services/control-socket/control-socket.js.map +1 -0
  471. package/dist/services/conversation/conversation-adapter.d.ts +1 -5
  472. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  473. package/dist/services/conversation/conversation-adapter.js +4 -6
  474. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  475. package/dist/services/conversation/conversation-checkpoint-provenance.d.ts +17 -0
  476. package/dist/services/conversation/conversation-checkpoint-provenance.d.ts.map +1 -0
  477. package/dist/services/conversation/conversation-checkpoint-provenance.js +130 -0
  478. package/dist/services/conversation/conversation-checkpoint-provenance.js.map +1 -0
  479. package/dist/services/conversation/conversation-decoder.d.ts +4 -0
  480. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  481. package/dist/services/conversation/conversation-decoder.js +80 -2
  482. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  483. package/dist/services/conversation/conversation-events.d.ts +3 -1
  484. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  485. package/dist/services/conversation/conversation-events.js.map +1 -1
  486. package/dist/services/conversation/conversation-message-projection.d.ts +0 -1
  487. package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -1
  488. package/dist/services/conversation/conversation-message-projection.js +1 -1
  489. package/dist/services/conversation/conversation-message-projection.js.map +1 -1
  490. package/dist/services/conversation/conversation-orchestrator.d.ts +9 -0
  491. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  492. package/dist/services/conversation/conversation-orchestrator.js +170 -32
  493. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  494. package/dist/services/conversation/conversation-persistence.d.ts +6 -7
  495. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  496. package/dist/services/conversation/conversation-persistence.js +74 -39
  497. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  498. package/dist/services/conversation/conversation-replay.d.ts +1 -0
  499. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  500. package/dist/services/conversation/conversation-replay.js +22 -6
  501. package/dist/services/conversation/conversation-replay.js.map +1 -1
  502. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  503. package/dist/services/conversation/conversation-result-builder.js +7 -1
  504. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  505. package/dist/services/conversation/conversation-runtime-factory.d.ts +0 -2
  506. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  507. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  508. package/dist/services/conversation/conversation-service.d.ts +6 -0
  509. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  510. package/dist/services/conversation/conversation-service.js +6 -2
  511. package/dist/services/conversation/conversation-service.js.map +1 -1
  512. package/dist/services/conversation/conversation-state-projector.d.ts +0 -1
  513. package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
  514. package/dist/services/conversation/conversation-state-projector.js +1 -1
  515. package/dist/services/conversation/conversation-state-projector.js.map +1 -1
  516. package/dist/services/conversation/conversation-state-schema.d.ts +0 -20
  517. package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -1
  518. package/dist/services/conversation/conversation-state-schema.js +1 -1
  519. package/dist/services/conversation/conversation-state-schema.js.map +1 -1
  520. package/dist/services/conversation/conversation-turn-items.d.ts +0 -10
  521. package/dist/services/conversation/conversation-turn-items.d.ts.map +1 -1
  522. package/dist/services/conversation/conversation-turn-items.js +4 -13
  523. package/dist/services/conversation/conversation-turn-items.js.map +1 -1
  524. package/dist/services/conversation/durable-goal.d.ts +4 -0
  525. package/dist/services/conversation/durable-goal.d.ts.map +1 -0
  526. package/dist/services/conversation/durable-goal.js +21 -0
  527. package/dist/services/conversation/durable-goal.js.map +1 -0
  528. package/dist/services/conversation/local-checkpoint-projection.d.ts +18 -0
  529. package/dist/services/conversation/local-checkpoint-projection.d.ts.map +1 -0
  530. package/dist/services/conversation/local-checkpoint-projection.js +230 -0
  531. package/dist/services/conversation/local-checkpoint-projection.js.map +1 -0
  532. package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -1
  533. package/dist/services/conversation/run-item-normalizer.js +7 -1
  534. package/dist/services/conversation/run-item-normalizer.js.map +1 -1
  535. package/dist/services/conversation/semantic-replay-classification.d.ts +11 -0
  536. package/dist/services/conversation/semantic-replay-classification.d.ts.map +1 -0
  537. package/dist/services/conversation/semantic-replay-classification.js +13 -0
  538. package/dist/services/conversation/semantic-replay-classification.js.map +1 -0
  539. package/dist/services/conversation/semantic-replay-projection.d.ts +20 -0
  540. package/dist/services/conversation/semantic-replay-projection.d.ts.map +1 -0
  541. package/dist/services/conversation/semantic-replay-projection.js +145 -0
  542. package/dist/services/conversation/semantic-replay-projection.js.map +1 -0
  543. package/dist/services/conversation/session-browser.d.ts +10 -2
  544. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  545. package/dist/services/conversation/session-browser.js +27 -5
  546. package/dist/services/conversation/session-browser.js.map +1 -1
  547. package/dist/services/conversation/session-index/session-index-database.d.ts.map +1 -1
  548. package/dist/services/conversation/session-index/session-index-database.js +40 -28
  549. package/dist/services/conversation/session-index/session-index-database.js.map +1 -1
  550. package/dist/services/conversation/session-index/session-index-schema.d.ts +1 -2
  551. package/dist/services/conversation/session-index/session-index-schema.d.ts.map +1 -1
  552. package/dist/services/conversation/session-index/session-index-schema.js +3 -2
  553. package/dist/services/conversation/session-index/session-index-schema.js.map +1 -1
  554. package/dist/services/conversation/session-index/session-index-service.d.ts +0 -1
  555. package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -1
  556. package/dist/services/conversation/session-index/session-index-service.js +1 -1
  557. package/dist/services/conversation/session-index/session-index-service.js.map +1 -1
  558. package/dist/services/conversation/session-index/session-index-worker-client.d.ts +0 -1
  559. package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -1
  560. package/dist/services/conversation/session-index/session-index-worker-client.js +1 -1
  561. package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -1
  562. package/dist/services/conversation/session-log-lifecycle.d.ts +5 -0
  563. package/dist/services/conversation/session-log-lifecycle.d.ts.map +1 -0
  564. package/dist/services/conversation/session-log-lifecycle.js +7 -0
  565. package/dist/services/conversation/session-log-lifecycle.js.map +1 -0
  566. package/dist/services/conversation-agent-client.d.ts +2 -4
  567. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  568. package/dist/services/decision-shadow/decision-client.d.ts +0 -1
  569. package/dist/services/decision-shadow/decision-client.d.ts.map +1 -1
  570. package/dist/services/decision-shadow/decision-client.js +1 -1
  571. package/dist/services/decision-shadow/decision-client.js.map +1 -1
  572. package/dist/services/file-service.d.ts +0 -2
  573. package/dist/services/file-service.d.ts.map +1 -1
  574. package/dist/services/file-service.js +1 -2
  575. package/dist/services/file-service.js.map +1 -1
  576. package/dist/services/hooks/hook-contracts.d.ts +2 -4
  577. package/dist/services/hooks/hook-contracts.d.ts.map +1 -1
  578. package/dist/services/hooks/hook-contracts.js +3 -4
  579. package/dist/services/hooks/hook-contracts.js.map +1 -1
  580. package/dist/services/hooks/hook-discovery.d.ts +0 -1
  581. package/dist/services/hooks/hook-discovery.d.ts.map +1 -1
  582. package/dist/services/hooks/hook-discovery.js +0 -1
  583. package/dist/services/hooks/hook-discovery.js.map +1 -1
  584. package/dist/services/hooks/hook-editor-shim.d.ts +0 -2
  585. package/dist/services/hooks/hook-editor-shim.d.ts.map +1 -1
  586. package/dist/services/hooks/hook-editor-shim.js +2 -2
  587. package/dist/services/hooks/hook-editor-shim.js.map +1 -1
  588. package/dist/services/hooks/hook-module-loader.d.ts +0 -3
  589. package/dist/services/hooks/hook-module-loader.d.ts.map +1 -1
  590. package/dist/services/hooks/hook-module-loader.js +0 -1
  591. package/dist/services/hooks/hook-module-loader.js.map +1 -1
  592. package/dist/services/hooks/hook-registry.d.ts +0 -1
  593. package/dist/services/hooks/hook-registry.d.ts.map +1 -1
  594. package/dist/services/hooks/hook-registry.js +1 -1
  595. package/dist/services/hooks/hook-registry.js.map +1 -1
  596. package/dist/services/input-surge-guard.d.ts +0 -1
  597. package/dist/services/input-surge-guard.d.ts.map +1 -1
  598. package/dist/services/input-surge-guard.js +1 -1
  599. package/dist/services/input-surge-guard.js.map +1 -1
  600. package/dist/services/logging/conversation-log-events.d.ts +41 -2
  601. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  602. package/dist/services/logging/conversation-log-events.js.map +1 -1
  603. package/dist/services/logging/conversation-log-writer.d.ts +3 -11
  604. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  605. package/dist/services/logging/conversation-log-writer.js +51 -45
  606. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  607. package/dist/services/logging/conversation-logger.d.ts +4 -1
  608. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  609. package/dist/services/logging/conversation-logger.js +22 -2
  610. package/dist/services/logging/conversation-logger.js.map +1 -1
  611. package/dist/services/logging/provider-traffic.d.ts +0 -7
  612. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  613. package/dist/services/logging/provider-traffic.js +3 -3
  614. package/dist/services/logging/provider-traffic.js.map +1 -1
  615. package/dist/services/mcp/mcp-oauth-provider.d.ts +0 -2
  616. package/dist/services/mcp/mcp-oauth-provider.d.ts.map +1 -1
  617. package/dist/services/mcp/mcp-oauth-provider.js +1 -1
  618. package/dist/services/mcp/mcp-oauth-provider.js.map +1 -1
  619. package/dist/services/mcp/mcp-oauth-store.d.ts +0 -21
  620. package/dist/services/mcp/mcp-oauth-store.d.ts.map +1 -1
  621. package/dist/services/mcp/mcp-oauth-store.js +2 -2
  622. package/dist/services/mcp/mcp-oauth-store.js.map +1 -1
  623. package/dist/services/mcp/mcp-status.d.ts +0 -7
  624. package/dist/services/mcp/mcp-status.d.ts.map +1 -1
  625. package/dist/services/mcp/mcp-status.js +1 -1
  626. package/dist/services/mcp/mcp-status.js.map +1 -1
  627. package/dist/services/memory/memory-capabilities.d.ts +5 -16
  628. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  629. package/dist/services/memory/memory-capabilities.js +30 -191
  630. package/dist/services/memory/memory-capabilities.js.map +1 -1
  631. package/dist/services/memory/memory-search.d.ts +0 -1
  632. package/dist/services/memory/memory-search.d.ts.map +1 -1
  633. package/dist/services/memory/memory-search.js +1 -1
  634. package/dist/services/memory/memory-search.js.map +1 -1
  635. package/dist/services/memory/memory-store.d.ts +5 -12
  636. package/dist/services/memory/memory-store.d.ts.map +1 -1
  637. package/dist/services/memory/memory-store.js +18 -13
  638. package/dist/services/memory/memory-store.js.map +1 -1
  639. package/dist/services/models/model-nicknames.d.ts +0 -16
  640. package/dist/services/models/model-nicknames.d.ts.map +1 -1
  641. package/dist/services/models/model-nicknames.js +1 -1
  642. package/dist/services/models/model-nicknames.js.map +1 -1
  643. package/dist/services/models/model-resolution.js +2 -2
  644. package/dist/services/models/model-resolution.js.map +1 -1
  645. package/dist/services/profiles/profile-transition.d.ts +0 -2
  646. package/dist/services/profiles/profile-transition.d.ts.map +1 -1
  647. package/dist/services/profiles/profile-transition.js +1 -1
  648. package/dist/services/profiles/profile-transition.js.map +1 -1
  649. package/dist/services/profiles/registry.d.ts +1 -11
  650. package/dist/services/profiles/registry.d.ts.map +1 -1
  651. package/dist/services/profiles/registry.js +6 -12
  652. package/dist/services/profiles/registry.js.map +1 -1
  653. package/dist/services/profiles/resolver.d.ts +1 -7
  654. package/dist/services/profiles/resolver.d.ts.map +1 -1
  655. package/dist/services/profiles/resolver.js +0 -45
  656. package/dist/services/profiles/resolver.js.map +1 -1
  657. package/dist/services/profiles/schema.d.ts +0 -950
  658. package/dist/services/profiles/schema.d.ts.map +1 -1
  659. package/dist/services/profiles/schema.js +5 -5
  660. package/dist/services/profiles/schema.js.map +1 -1
  661. package/dist/services/retry/conversation-retry-policy.d.ts +0 -5
  662. package/dist/services/retry/conversation-retry-policy.d.ts.map +1 -1
  663. package/dist/services/retry/conversation-retry-policy.js +0 -3
  664. package/dist/services/retry/conversation-retry-policy.js.map +1 -1
  665. package/dist/services/retry/retry-recovery-budget.d.ts +0 -10
  666. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -1
  667. package/dist/services/retry/retry-recovery-budget.js +1 -1
  668. package/dist/services/retry/retry-recovery-budget.js.map +1 -1
  669. package/dist/services/runtime-setting-router.d.ts +0 -1
  670. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  671. package/dist/services/runtime-setting-router.js +1 -1
  672. package/dist/services/runtime-setting-router.js.map +1 -1
  673. package/dist/services/sandboxed-code-host/host-types.d.ts +4 -2
  674. package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -1
  675. package/dist/services/sandboxed-code-host/host-types.js.map +1 -1
  676. package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -1
  677. package/dist/services/sandboxed-code-host/host-worker.js +6 -3
  678. package/dist/services/sandboxed-code-host/host-worker.js.map +1 -1
  679. package/dist/services/session/background-task-control.d.ts +1 -1
  680. package/dist/services/session/background-task-control.d.ts.map +1 -1
  681. package/dist/services/session/background-task-control.js +1 -1
  682. package/dist/services/session/background-task-control.js.map +1 -1
  683. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  684. package/dist/services/session/initial-input-preparer.js +32 -0
  685. package/dist/services/session/initial-input-preparer.js.map +1 -1
  686. package/dist/services/session/pending-interaction-state.d.ts +6 -0
  687. package/dist/services/session/pending-interaction-state.d.ts.map +1 -1
  688. package/dist/services/session/pending-interaction-state.js +1 -1
  689. package/dist/services/session/pending-interaction-state.js.map +1 -1
  690. package/dist/services/session/session-client-factory.d.ts +1 -11
  691. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  692. package/dist/services/session/session-client-factory.js +1 -6
  693. package/dist/services/session/session-client-factory.js.map +1 -1
  694. package/dist/services/session/session-composition.d.ts +11 -3
  695. package/dist/services/session/session-composition.d.ts.map +1 -1
  696. package/dist/services/session/session-composition.js +45 -8
  697. package/dist/services/session/session-composition.js.map +1 -1
  698. package/dist/services/session/session-input-planner.d.ts +5 -0
  699. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  700. package/dist/services/session/session-input-planner.js +36 -0
  701. package/dist/services/session/session-input-planner.js.map +1 -1
  702. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  703. package/dist/services/session/session-stream-processor.js +6 -2
  704. package/dist/services/session/session-stream-processor.js.map +1 -1
  705. package/dist/services/session/turn-attempt-factory.d.ts +0 -2
  706. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  707. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  708. package/dist/services/session/turn-attempt.d.ts +0 -5
  709. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  710. package/dist/services/session/turn-attempt.js +0 -9
  711. package/dist/services/session/turn-attempt.js.map +1 -1
  712. package/dist/services/session/turn-coordinator.d.ts +2 -1
  713. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  714. package/dist/services/session/turn-coordinator.js +1 -1
  715. package/dist/services/session/turn-coordinator.js.map +1 -1
  716. package/dist/services/session/turn-workflow.d.ts +0 -3
  717. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  718. package/dist/services/session/turn-workflow.js +1 -76
  719. package/dist/services/session/turn-workflow.js.map +1 -1
  720. package/dist/services/session-rollover/session-rollover-brief.d.ts +0 -1
  721. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  722. package/dist/services/session-rollover/session-rollover-brief.js +1 -1
  723. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  724. package/dist/services/settings/custom-provider-normalization.d.ts +0 -1
  725. package/dist/services/settings/custom-provider-normalization.d.ts.map +1 -1
  726. package/dist/services/settings/custom-provider-normalization.js +1 -1
  727. package/dist/services/settings/custom-provider-normalization.js.map +1 -1
  728. package/dist/services/settings/setting-schema-utils.d.ts +0 -2
  729. package/dist/services/settings/setting-schema-utils.d.ts.map +1 -1
  730. package/dist/services/settings/setting-schema-utils.js +0 -11
  731. package/dist/services/settings/setting-schema-utils.js.map +1 -1
  732. package/dist/services/settings/settings-merger.d.ts +0 -4
  733. package/dist/services/settings/settings-merger.d.ts.map +1 -1
  734. package/dist/services/settings/settings-merger.js +1 -1
  735. package/dist/services/settings/settings-merger.js.map +1 -1
  736. package/dist/services/settings/settings-schema.d.ts +41 -29
  737. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  738. package/dist/services/settings/settings-schema.js +11 -9
  739. package/dist/services/settings/settings-schema.js.map +1 -1
  740. package/dist/services/settings/settings-sources.d.ts +0 -1
  741. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  742. package/dist/services/settings/settings-sources.js +0 -1
  743. package/dist/services/settings/settings-sources.js.map +1 -1
  744. package/dist/services/settings/settings-ui-metadata.d.ts +0 -5
  745. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
  746. package/dist/services/settings/settings-ui-metadata.js +2 -3
  747. package/dist/services/settings/settings-ui-metadata.js.map +1 -1
  748. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -2
  749. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  750. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +0 -45
  751. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  752. package/dist/services/ssh-service.d.ts +0 -23
  753. package/dist/services/ssh-service.d.ts.map +1 -1
  754. package/dist/services/ssh-service.js +1 -1
  755. package/dist/services/ssh-service.js.map +1 -1
  756. package/dist/services/subagents/role-loader.d.ts +0 -6
  757. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  758. package/dist/services/subagents/role-loader.js +12 -6
  759. package/dist/services/subagents/role-loader.js.map +1 -1
  760. package/dist/services/subagents/subagent-notification-store.d.ts +0 -2
  761. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  762. package/dist/services/subagents/subagent-notification-store.js +1 -1
  763. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  764. package/dist/services/subagents/subagent-pool-config.d.ts +0 -21
  765. package/dist/services/subagents/subagent-pool-config.d.ts.map +1 -1
  766. package/dist/services/subagents/subagent-pool-config.js +2 -2
  767. package/dist/services/subagents/subagent-pool-config.js.map +1 -1
  768. package/dist/services/subagents/subagent-role-pool-selector.d.ts +5 -4
  769. package/dist/services/subagents/subagent-role-pool-selector.d.ts.map +1 -1
  770. package/dist/services/subagents/subagent-role-pool-selector.js +16 -11
  771. package/dist/services/subagents/subagent-role-pool-selector.js.map +1 -1
  772. package/dist/services/subagents/tool-policy.d.ts +0 -1
  773. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  774. package/dist/services/subagents/tool-policy.js +1 -1
  775. package/dist/services/subagents/tool-policy.js.map +1 -1
  776. package/dist/services/subagents/types.d.ts +1 -2
  777. package/dist/services/subagents/types.d.ts.map +1 -1
  778. package/dist/services/subagents/types.js +0 -1
  779. package/dist/services/subagents/types.js.map +1 -1
  780. package/dist/services/subagents/utils.d.ts +0 -3
  781. package/dist/services/subagents/utils.d.ts.map +1 -1
  782. package/dist/services/subagents/utils.js +3 -3
  783. package/dist/services/subagents/utils.js.map +1 -1
  784. package/dist/services/tool-call-arguments.d.ts +0 -1
  785. package/dist/services/tool-call-arguments.d.ts.map +1 -1
  786. package/dist/services/tool-call-arguments.js +0 -15
  787. package/dist/services/tool-call-arguments.js.map +1 -1
  788. package/dist/services/tool-execution-ledger.d.ts +0 -4
  789. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  790. package/dist/services/tool-execution-ledger.js +3 -3
  791. package/dist/services/tool-execution-ledger.js.map +1 -1
  792. package/dist/services/tool-toggles.d.ts +0 -1
  793. package/dist/services/tool-toggles.d.ts.map +1 -1
  794. package/dist/services/tool-toggles.js +0 -3
  795. package/dist/services/tool-toggles.js.map +1 -1
  796. package/dist/services/workspace/active-workspace-root.d.ts +0 -4
  797. package/dist/services/workspace/active-workspace-root.d.ts.map +1 -1
  798. package/dist/services/workspace/active-workspace-root.js +1 -1
  799. package/dist/services/workspace/active-workspace-root.js.map +1 -1
  800. package/dist/services/workspace/worktree-transition.d.ts +0 -2
  801. package/dist/services/workspace/worktree-transition.d.ts.map +1 -1
  802. package/dist/services/workspace/worktree-transition.js +1 -1
  803. package/dist/services/workspace/worktree-transition.js.map +1 -1
  804. package/dist/tools/agent/ask-user-constants.d.ts +0 -2
  805. package/dist/tools/agent/ask-user-constants.d.ts.map +1 -1
  806. package/dist/tools/agent/ask-user-constants.js +0 -2
  807. package/dist/tools/agent/ask-user-constants.js.map +1 -1
  808. package/dist/tools/file/apply-patch.d.ts +0 -4
  809. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  810. package/dist/tools/file/apply-patch.js +13 -7
  811. package/dist/tools/file/apply-patch.js.map +1 -1
  812. package/dist/tools/file/glob.d.ts +1 -2
  813. package/dist/tools/file/glob.d.ts.map +1 -1
  814. package/dist/tools/file/glob.js +0 -1
  815. package/dist/tools/file/glob.js.map +1 -1
  816. package/dist/tools/file/grep.d.ts +1 -2
  817. package/dist/tools/file/grep.d.ts.map +1 -1
  818. package/dist/tools/file/grep.js +6 -4
  819. package/dist/tools/file/grep.js.map +1 -1
  820. package/dist/tools/file/search-replace.d.ts.map +1 -1
  821. package/dist/tools/file/search-replace.js +3 -4
  822. package/dist/tools/file/search-replace.js.map +1 -1
  823. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
  824. package/dist/tools/file/upstream-apply-patch.js +17 -4
  825. package/dist/tools/file/upstream-apply-patch.js.map +1 -1
  826. package/dist/tools/session-browser/session-browser-tools.js +1 -1
  827. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  828. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  829. package/dist/tools/session-rollover/session-rollover-tool.js +4 -1
  830. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  831. package/dist/tools/system/run-code/index.d.ts +4 -4
  832. package/dist/tools/system/run-code/index.d.ts.map +1 -1
  833. package/dist/tools/system/run-code/index.js +1 -4
  834. package/dist/tools/system/run-code/index.js.map +1 -1
  835. package/dist/tools/system/run-code/run-code-execution.d.ts +1 -0
  836. package/dist/tools/system/run-code/run-code-execution.d.ts.map +1 -1
  837. package/dist/tools/system/run-code/run-code-execution.js.map +1 -1
  838. package/dist/tools/system/run-code/run-code-runtime-contract.d.ts +1 -0
  839. package/dist/tools/system/run-code/run-code-runtime-contract.d.ts.map +1 -1
  840. package/dist/tools/system/run-code/run-code-runtime.d.ts +2 -3
  841. package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
  842. package/dist/tools/system/run-code/run-code-runtime.js +53 -8
  843. package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
  844. package/dist/tools/system/run-code/run-code.d.ts +1 -1
  845. package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
  846. package/dist/tools/system/run-code/run-code.js +17 -1
  847. package/dist/tools/system/run-code/run-code.js.map +1 -1
  848. package/dist/tools/system/shell.d.ts +1 -4
  849. package/dist/tools/system/shell.d.ts.map +1 -1
  850. package/dist/tools/system/shell.js +7 -26
  851. package/dist/tools/system/shell.js.map +1 -1
  852. package/dist/tools/system/worktree.d.ts +2 -2
  853. package/dist/tools/system/worktree.d.ts.map +1 -1
  854. package/dist/tools/system/worktree.js +1 -2
  855. package/dist/tools/system/worktree.js.map +1 -1
  856. package/dist/tools/types.d.ts +1 -1
  857. package/dist/tools/types.d.ts.map +1 -1
  858. package/dist/types/message.d.ts +0 -1
  859. package/dist/types/message.d.ts.map +1 -1
  860. package/dist/types/message.js +0 -1
  861. package/dist/types/message.js.map +1 -1
  862. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  863. package/dist/utils/conversation/conversation-utils.js +1 -2
  864. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  865. package/dist/utils/conversation/static-commit-policy.d.ts.map +1 -1
  866. package/dist/utils/conversation/static-commit-policy.js +1 -0
  867. package/dist/utils/conversation/static-commit-policy.js.map +1 -1
  868. package/dist/utils/ink-render-options.d.ts +1 -0
  869. package/dist/utils/ink-render-options.d.ts.map +1 -1
  870. package/dist/utils/ink-render-options.js +1 -1
  871. package/dist/utils/ink-render-options.js.map +1 -1
  872. package/dist/utils/output/log-truncation.d.ts +0 -1
  873. package/dist/utils/output/log-truncation.d.ts.map +1 -1
  874. package/dist/utils/output/log-truncation.js +0 -3
  875. package/dist/utils/output/log-truncation.js.map +1 -1
  876. package/dist/utils/project-scope.d.ts +16 -0
  877. package/dist/utils/project-scope.d.ts.map +1 -0
  878. package/dist/utils/project-scope.js +62 -0
  879. package/dist/utils/project-scope.js.map +1 -0
  880. package/dist/utils/settings-command.d.ts.map +1 -1
  881. package/dist/utils/settings-command.js +5 -3
  882. package/dist/utils/settings-command.js.map +1 -1
  883. package/dist/utils/shell/execute-shell.js +3 -0
  884. package/dist/utils/shell/execute-shell.js.map +1 -1
  885. package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts +0 -2
  886. package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts.map +1 -1
  887. package/dist/utils/shell/sandbox/docker-host-control-grants.js +0 -1
  888. package/dist/utils/shell/sandbox/docker-host-control-grants.js.map +1 -1
  889. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  890. package/dist/utils/shell/sandbox/sandbox-policy.js +0 -4
  891. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  892. package/dist/utils/shell/temp-dir.d.ts +0 -1
  893. package/dist/utils/shell/temp-dir.d.ts.map +1 -1
  894. package/dist/utils/shell/temp-dir.js +0 -4
  895. package/dist/utils/shell/temp-dir.js.map +1 -1
  896. package/dist/utils/slash-command-dispatch.d.ts +1 -1
  897. package/dist/utils/slash-command-dispatch.d.ts.map +1 -1
  898. package/dist/utils/slash-command-dispatch.js +35 -3
  899. package/dist/utils/slash-command-dispatch.js.map +1 -1
  900. package/dist/utils/streaming/streaming-speed-tracker.d.ts +0 -9
  901. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
  902. package/dist/utils/streaming/streaming-speed-tracker.js +1 -1
  903. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -1
  904. package/dist/utils/value-suggestions.d.ts +6 -0
  905. package/dist/utils/value-suggestions.d.ts.map +1 -1
  906. package/dist/utils/value-suggestions.js +23 -10
  907. package/dist/utils/value-suggestions.js.map +1 -1
  908. package/package.json +2 -3
  909. package/dist/gateway/index.d.ts +0 -22
  910. package/dist/gateway/index.d.ts.map +0 -1
  911. package/dist/gateway/index.js +0 -22
  912. package/dist/gateway/index.js.map +0 -1
  913. package/dist/prompts/codex.md +0 -104
  914. package/dist/prompts/fragments/gpt-6.md +0 -13
  915. package/dist/prompts/gpt-5-modern.md +0 -114
  916. package/dist/prompts/gpt-5.4-mini.md +0 -111
  917. package/dist/prompts/gpt-5.5.md +0 -108
  918. package/dist/prompts/memory.md +0 -9
  919. package/dist/providers/openrouter.d.ts +0 -2
  920. package/dist/providers/openrouter.d.ts.map +0 -1
  921. package/dist/providers/openrouter.js +0 -2
  922. package/dist/providers/openrouter.js.map +0 -1
  923. package/dist/services/agent-runtime/internal.d.ts +0 -15
  924. package/dist/services/agent-runtime/internal.d.ts.map +0 -1
  925. package/dist/services/agent-runtime/internal.js +0 -13
  926. package/dist/services/agent-runtime/internal.js.map +0 -1
  927. package/dist/services/openai-root-selector-parity-observer.d.ts +0 -53
  928. package/dist/services/openai-root-selector-parity-observer.d.ts.map +0 -1
  929. package/dist/services/openai-root-selector-parity-observer.js +0 -62
  930. package/dist/services/openai-root-selector-parity-observer.js.map +0 -1
  931. package/dist/services/rtk-service.d.ts +0 -23
  932. package/dist/services/rtk-service.d.ts.map +0 -1
  933. package/dist/services/rtk-service.js +0 -251
  934. package/dist/services/rtk-service.js.map +0 -1
package/dist/cli.js CHANGED
@@ -1,10 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import './env-setup.js';
3
- import React from 'react';
4
- import { render } from 'ink';
5
3
  import meow from 'meow';
6
- import App from './app.js';
7
- import { getInkRenderOptions } from './utils/ink-render-options.js';
4
+ import { createRequire } from 'node:module';
8
5
  import { AgentClient } from './lib/agent-client.js';
9
6
  import { ConversationService } from './services/conversation/conversation-service.js';
10
7
  import { SettingsService, buildEnvOverrides } from './services/settings/settings-service.js';
@@ -16,11 +13,13 @@ import { HistoryService } from './services/history-service.js';
16
13
  import { SSHService } from './services/ssh-service.js';
17
14
  import { ExecutionContext } from './services/execution-context.js';
18
15
  import { resolveSSHHost } from './utils/ssh-config-parser.js';
16
+ import { resolveSettingsDirectory } from './services/settings/settings-path.js';
19
17
  import { createUsageAccumulator, formatSessionUsageBreakdown } from './utils/ai/token-usage.js';
20
18
  import { createSessionCostAccumulator, formatModelUsageBreakdown, formatUsdMicros, } from './services/cost/model-cost.js';
21
19
  import { buildProjectFolderTitle, setTerminalTitle } from './utils/output/terminal-title.js';
22
- import { generateId, collectOrphanedDeltaSidecars, getConversationsDir, getResumeCommand, loadConversationForProject, loadLastConversation, forkConversation, isConversationLocked, deleteConversation, hasConversationContent, } from './services/conversation/conversation-persistence.js';
20
+ import { generateId, collectOrphanedDeltaSidecars, getConversationsDir, getConversationLockPath, getResumeCommand, loadConversationForProject, loadLastConversation, forkConversation, isConversationLocked, deleteConversation, hasConversationContent, } from './services/conversation/conversation-persistence.js';
23
21
  import { listRecentConversations } from './services/conversation/recent-conversations.js';
22
+ import { rotateSessionLog } from './services/conversation/session-log-lifecycle.js';
24
23
  import { formatResumeList } from './utils/resume-list.js';
25
24
  import { killLiveShellChildren } from './utils/shell/execute-shell.js';
26
25
  import { createConversationLogWriter, LockConflictError } from './services/logging/conversation-log-writer.js';
@@ -45,6 +44,29 @@ import { McpOAuthStore } from './services/mcp/mcp-oauth-store.js';
45
44
  import { McpConfigController } from './services/mcp/mcp-config-controller.js';
46
45
  import { MemoryCapabilityBuilder } from './services/memory/memory-capabilities.js';
47
46
  import { AutomaticMemoryCanary } from './services/memory/automatic-memory-canary.js';
47
+ import { ControlSocketServer, isControlSocketName } from './services/control-socket/control-socket.js';
48
+ import { runControlCommand } from './services/control-socket/control-command.js';
49
+ import { createDurableGoal } from './services/conversation/durable-goal.js';
50
+ const controlArgv = [];
51
+ let controlSocketRequested = false;
52
+ let controlSocketName;
53
+ let controlSocketNameRejected = false;
54
+ for (const arg of process.argv.slice(2)) {
55
+ if (arg === '--control-socket') {
56
+ controlSocketRequested = true;
57
+ controlSocketName ??= String(process.pid);
58
+ }
59
+ else if (arg.startsWith('--control-socket=')) {
60
+ controlSocketRequested = true;
61
+ const name = arg.slice('--control-socket='.length);
62
+ controlSocketName = name;
63
+ if (!isControlSocketName(name))
64
+ controlSocketNameRejected = true;
65
+ }
66
+ else {
67
+ controlArgv.push(arg);
68
+ }
69
+ }
48
70
  const sessionUsageAccumulator = createUsageAccumulator();
49
71
  const subagentUsageAccumulator = createUsageAccumulator();
50
72
  const sessionCostAccumulator = createSessionCostAccumulator();
@@ -72,11 +94,20 @@ const printUsageOnce = () => {
72
94
  return;
73
95
  usagePrinted = true;
74
96
  printUsage();
97
+ if (effectiveSessionId && effectiveHasConversationContent && !sessionSummaryPrinted) {
98
+ sessionSummaryPrinted = true;
99
+ // Only reachable once the session id exists, after SSH setup has run.
100
+ const resumeCommand = getResumeCommand(effectiveSessionId, sshFlag, sshInfo?.remoteDir, cli.flags.sshPort);
101
+ process.stdout.write(`\nSession: ${effectiveSessionId}\nTo resume this conversation: ${resumeCommand}\n`);
102
+ }
75
103
  };
76
104
  let activeLogWriter = null;
77
105
  let activeSessionBrowser = null;
78
106
  let activeMcpManager = null;
107
+ let activeControlSocketServer = null;
79
108
  let effectiveSessionId;
109
+ let effectiveHasConversationContent = false;
110
+ let sessionSummaryPrinted = false;
80
111
  // Global Ctrl+C handler for immediate exit paths outside Ink's input handling.
81
112
  process.on('SIGINT', () => {
82
113
  if (process.stdout.isTTY) {
@@ -86,6 +117,7 @@ process.on('SIGINT', () => {
86
117
  activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
87
118
  activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
88
119
  activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
120
+ activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
89
121
  ]).finally(() => {
90
122
  printUsageOnce();
91
123
  process.exit(130);
@@ -99,6 +131,7 @@ process.on('SIGTERM', () => {
99
131
  activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
100
132
  activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
101
133
  activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
134
+ activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
102
135
  ]).finally(() => {
103
136
  process.exit(143);
104
137
  });
@@ -138,15 +171,36 @@ process.on('exit', () => {
138
171
  /* ignore */
139
172
  }
140
173
  });
174
+ const require = createRequire(import.meta.url);
175
+ let reportedVersion;
176
+ try {
177
+ const buildInfo = require('./build-info.json');
178
+ if (buildInfo.version)
179
+ reportedVersion = buildInfo.version;
180
+ }
181
+ catch {
182
+ // Source checkouts and older/test builds have no generated build identity.
183
+ }
141
184
  const cli = meow(`
185
+ Everyday usage
186
+ $ term2
187
+ $ term2 "explain this function"
188
+ $ term2 --resume
189
+ $ term2 --resume <conversation-id>
190
+ $ term2 --help
191
+
142
192
  Usage
143
193
  $ term2 [options] [prompt...]
144
194
  $ term2 [options] --resume [conversation-id|ls]
145
195
 
196
+ In a chat, type / to see available commands.
197
+
146
198
  Options
147
199
  -m, --model <model> Model pattern or ID, supports provider/id and optional :<thinking>
148
200
  -p, --provider <provider> Override the configured provider (e.g. openai, openrouter)
149
201
  -r, --reasoning <effort> Set reasoning effort (default, none, minimal, low, medium, high, xhigh)
202
+ --goal <text> Persist a user-authored session outcome (max 2,000 characters)
203
+ --goal-criteria <text> Optional success criteria (max 2,000 characters; requires --goal)
150
204
  -l, --lite Start in lite mode (minimal context, session-only)
151
205
  --auto-approve Allow tool execution for a non-interactive prompt
152
206
  -q, --quiet Suppress non-error diagnostics on stderr in non-interactive mode
@@ -155,15 +209,19 @@ const cli = meow(`
155
209
  --ssh <user@host> Enable SSH mode for a remote host
156
210
  --remote-dir <path> Remote working directory (required for non-lite SSH sessions)
157
211
  --ssh-port <port> SSH port (default: 22)
212
+ --control-socket[=<name>] Enable a local socket for the interactive TUI
158
213
  --grok-login Log in to Grok in a browser (OAuth) and exit
159
214
  --codex-login Log in to Codex/ChatGPT in a browser (OAuth) and exit
160
215
  --list-models [search] Print available models grouped by provider, filtered by an optional search term
161
216
  --refresh With --list-models, bypass the model catalog cache and re-fetch before listing
162
217
  -R, --resume [conversation-id|ls] Resume the last conversation, a specific ID, or list recent conversations
163
- --fork Fork the resumed conversation into a new session (requires --resume)
218
+ --fork Fork the resumed conversation into a new session (requires --resume)
164
219
  -h, --help Show help
165
220
  -v, --version Show version
166
221
 
222
+ Settings
223
+ Settings file: ${path.join(resolveSettingsDirectory(), 'settings.json')}
224
+
167
225
  Notes
168
226
  A prompt passed on the command line runs non-interactively. Tool execution is disabled by default;
169
227
  use --auto-approve to allow tools to run without interactive confirmation.
@@ -171,10 +229,10 @@ const cli = meow(`
171
229
  -m/--model with no value (bare --model/-m, or followed only by another flag) opens an
172
230
  interactive picker in a TTY session with no prompt; the same picker also opens for an
173
231
  ambiguous or unmatched pattern. Elsewhere (no TTY, --json, or a prompt on the line) it is a
174
- no-op. A value right after -m/--model is always the model, exactly as before.
232
+ no-op. If no model is selected, term2 starts with the configured default.
175
233
 
176
234
  Gateway launcher (term2 serve)
177
- Runs the private web gateway for the ChatForge BFF until SIGINT/SIGTERM.
235
+ Runs the local web gateway until SIGINT/SIGTERM.
178
236
 
179
237
  $ term2 serve --local-owner <userId> [--state-dir <dir>] [--socket <path>]
180
238
  [--listen <host:port> --tls-cert <pem> --tls-key <pem>] [--allow-remote]
@@ -199,9 +257,7 @@ const cli = meow(`
199
257
  and --auto-approve is rejected. --model is resolved against the model catalog
200
258
  non-interactively, so it needs an exact model id or <provider>/<model>.
201
259
 
202
- Examples
203
- $ term2
204
- $ term2 "explain this function"
260
+ More examples
205
261
  $ term2 --model gpt-5.4 --provider openai
206
262
  $ term2 --model
207
263
  $ term2 --lite
@@ -220,13 +276,19 @@ const cli = meow(`
220
276
  $ term2 --list-models --refresh
221
277
  $ term2 --ssh user@host --remote-dir /path/to/project
222
278
  $ term2 --ssh user@host --remote-dir /path/to/project --ssh-port 2222
279
+ $ term2 --control-socket=worker-1
280
+ $ term2 control status worker-1 --json
223
281
  `, {
282
+ ...(reportedVersion ? { version: reportedVersion } : {}),
224
283
  importMeta: import.meta,
284
+ argv: controlArgv,
225
285
  flags: {
226
286
  model: {
227
287
  type: 'string',
228
288
  alias: 'm',
229
289
  },
290
+ help: { type: 'boolean', alias: 'h', default: false },
291
+ version: { type: 'boolean', alias: 'v', default: false },
230
292
  provider: {
231
293
  type: 'string',
232
294
  alias: 'p',
@@ -235,6 +297,8 @@ const cli = meow(`
235
297
  type: 'string',
236
298
  alias: 'r',
237
299
  },
300
+ goal: { type: 'string' },
301
+ goalCriteria: { type: 'string' },
238
302
  lite: {
239
303
  type: 'boolean',
240
304
  alias: 'l',
@@ -293,7 +357,12 @@ const cli = meow(`
293
357
  default: false,
294
358
  },
295
359
  },
360
+ allowUnknownFlags: controlArgv[0] === 'control' || process.argv[2] === 'serve' || process.argv[2] === 'acp',
296
361
  });
362
+ if (cli.input[0] === 'control') {
363
+ const exitCode = await runControlCommand(controlArgv.slice(1), process.stdout, process.stderr);
364
+ process.exit(exitCode);
365
+ }
297
366
  function oauthLoginIo(providerLabel) {
298
367
  return {
299
368
  pasteInput: process.stdin.isTTY ? process.stdin : undefined,
@@ -425,6 +494,18 @@ if (forkRequested && !resumeRequested) {
425
494
  }
426
495
  const positionalPrompt = resumeRequested ? '' : cli.input.join(' ').trim();
427
496
  const hasPositionalPrompt = positionalPrompt.length > 0;
497
+ let launchGoal;
498
+ try {
499
+ if (cli.flags.goalCriteria !== undefined && cli.flags.goal === undefined) {
500
+ throw new Error('--goal-criteria requires --goal.');
501
+ }
502
+ if (cli.flags.goal !== undefined)
503
+ launchGoal = createDurableGoal(cli.flags.goal, cli.flags.goalCriteria);
504
+ }
505
+ catch (error) {
506
+ console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
507
+ process.exit(1);
508
+ }
428
509
  // If the user passed an explicit empty prompt (e.g. `term2 ""`), show help.
429
510
  if (!resumeRequested && cli.input.length > 0 && !hasPositionalPrompt) {
430
511
  cli.showHelp(0);
@@ -496,6 +577,7 @@ if (resumeRequested) {
496
577
  }
497
578
  if (result.status === 'project_mismatch') {
498
579
  console.error(`Error: Conversation ${resumeTarget} belongs to a different project path (${result.conversation.projectPath ?? 'unknown'}).`);
580
+ console.error(`Resume it from that project directory with: term2 --resume ${resumeTarget}`);
499
581
  console.error(`Current project path: ${resumeProjectPath ?? 'unknown'}`);
500
582
  if (result.conversation.sshHost || expectedSshHost) {
501
583
  console.error(`Conversation SSH Host: ${result.conversation.sshHost ?? 'none'}`);
@@ -553,9 +635,6 @@ if (resumedConversation) {
553
635
  };
554
636
  }
555
637
  }
556
- if (modelFlag) {
557
- cliOverrides.agent = { ...cliOverrides.agent, model: modelFlag };
558
- }
559
638
  if (providerFlag) {
560
639
  cliOverrides.agent = { ...cliOverrides.agent, provider: providerFlag };
561
640
  }
@@ -595,12 +674,12 @@ if (modelFlagGivenWithoutValue && canUseInteractiveModelPicker) {
595
674
  const { runModelPickerHost } = await import('./services/models/model-picker-host.js');
596
675
  const picked = await runModelPickerHost({ settingsService: settings, loggingService: logger });
597
676
  if (picked.status === 'cancelled') {
598
- console.error('Cancelled.');
599
- process.exit(1);
677
+ // Escape keeps the configured (or resumed) model and continues startup.
678
+ }
679
+ else {
680
+ settings.set('agent.model', picked.selection.modelId, { persist: false });
681
+ settings.set('agent.provider', picked.selection.provider, { persist: false });
600
682
  }
601
- // Same session-only override contract as the --model <pattern> path below.
602
- settings.set('agent.model', picked.selection.modelId, { persist: false });
603
- settings.set('agent.provider', picked.selection.provider, { persist: false });
604
683
  }
605
684
  if (modelFlag) {
606
685
  const { resolveModelFlag } = await import('./services/models/model-resolution.js');
@@ -630,24 +709,29 @@ if (modelFlag) {
630
709
  process.exit(1);
631
710
  }
632
711
  if (resolution.status === 'cancelled') {
633
- console.error('Cancelled.');
634
- process.exit(1);
635
- }
636
- // Surfaces provider catalogs that failed to load while resolution still
637
- // proceeded, so a partial outage never silently narrows what was matched.
638
- if ('warnings' in resolution && resolution.warnings) {
639
- for (const warning of resolution.warnings) {
640
- console.error(warning);
712
+ if (!canUseInteractiveModelPicker) {
713
+ console.error('Cancelled.');
714
+ process.exit(1);
641
715
  }
716
+ // Escape returns to the configured default model instead of aborting startup.
642
717
  }
643
- // --model is a per-session override like every other CLI flag; it must not
644
- // rewrite the user's persisted defaults (set() persists by default).
645
- settings.set('agent.model', resolution.modelId, { persist: false });
646
- if (resolution.provider) {
647
- settings.set('agent.provider', resolution.provider, { persist: false });
648
- }
649
- if (resolution.reasoningEffort && !validatedReasoningEffort) {
650
- settings.set('agent.reasoningEffort', resolution.reasoningEffort, { persist: false });
718
+ else {
719
+ // Surfaces provider catalogs that failed to load while resolution still
720
+ // proceeded, so a partial outage never silently narrows what was matched.
721
+ if ('warnings' in resolution && resolution.warnings) {
722
+ for (const warning of resolution.warnings) {
723
+ console.error(warning);
724
+ }
725
+ }
726
+ // --model is a per-session override like every other CLI flag; it must not
727
+ // rewrite the user's persisted defaults (set() persists by default).
728
+ settings.set('agent.model', resolution.modelId, { persist: false });
729
+ if (resolution.provider) {
730
+ settings.set('agent.provider', resolution.provider, { persist: false });
731
+ }
732
+ if (resolution.reasoningEffort && !validatedReasoningEffort) {
733
+ settings.set('agent.reasoningEffort', resolution.reasoningEffort, { persist: false });
734
+ }
651
735
  }
652
736
  }
653
737
  // Fresh sessions honor --lite/non-interactive defaults. Resumed sessions keep
@@ -845,6 +929,9 @@ const localHookRuntime = createRootHookRuntime({
845
929
  });
846
930
  const { hookService } = localHookRuntime;
847
931
  await hookService.initialize();
932
+ // Shared by the owned root client and the interactive goal command callback.
933
+ // Mutations become visible to later provider requests only after the event append succeeds.
934
+ const currentGoalState = { current: resumedConversation?.goal };
848
935
  const sessionClientFactory = createOwnedSessionClientFactory(settings, (_sessionId, toolOwnership, postExecutePauseCapability, access, continuationProjectionMode, _continuity, requestCapture, toolLifecycle, backgroundShellRegistry, allowBackgroundShell, backgroundShellOutput, allowAskUser) => {
849
936
  const agentClient = new AgentClient({
850
937
  model: settings.get('agent.model'),
@@ -854,6 +941,7 @@ const sessionClientFactory = createOwnedSessionClientFactory(settings, (_session
854
941
  deps: {
855
942
  logger: logger,
856
943
  settings: settings,
944
+ getGoal: () => currentGoalState.current,
857
945
  executionContext: executionContext,
858
946
  sessionContextService,
859
947
  skillsService,
@@ -889,6 +977,10 @@ if (hasPositionalPrompt) {
889
977
  hookLifecycle: hookService,
890
978
  mcpAllowlist: mcpConfig.nonInteractiveAllow,
891
979
  mcpToolSource: mcpManager,
980
+ initialGoal: launchGoal,
981
+ onGoalPersisted: (goal) => {
982
+ currentGoalState.current = goal;
983
+ },
892
984
  });
893
985
  process.exit(exitCode);
894
986
  }
@@ -898,7 +990,6 @@ effectiveSessionId = generateId();
898
990
  let effectiveCreatedAt = new Date().toISOString();
899
991
  let initialMessages = [];
900
992
  let restoredStaticMessageIds = [];
901
- let effectiveHasConversationContent = false;
902
993
  if (resumedConversation) {
903
994
  effectiveSessionId = resumedConversation.id;
904
995
  effectiveCreatedAt = resumedConversation.createdAt;
@@ -928,7 +1019,7 @@ if (!forkRequested) {
928
1019
  const lockInfo = isConversationLocked(effectiveSessionId);
929
1020
  if (lockInfo !== null) {
930
1021
  if (lockInfo.status === 'corrupt') {
931
- console.error(`Conversation ${effectiveSessionId} has a corrupt lockfile.\n` +
1022
+ console.error(`Conversation ${effectiveSessionId} has a corrupt lockfile at ${getConversationLockPath(effectiveSessionId)}.\n` +
932
1023
  `- If another terminal still has it open, close that one first.\n` +
933
1024
  `- Otherwise delete the lockfile manually, or fork into a new\n` +
934
1025
  ` conversation that branches from the same state:\n` +
@@ -1002,7 +1093,10 @@ const logWriterDir = getConversationsDir();
1002
1093
  collectOrphanedDeltaSidecars();
1003
1094
  const logWriter = createConversationLogWriter({ sessionId: effectiveSessionId, dir: logWriterDir, logger });
1004
1095
  function buildInitMeta(id, createdAt, rolloverFrom) {
1005
- const cwd = executionContext?.getCwd();
1096
+ // Persist under the session's home workspace, the same scope SessionBrowser
1097
+ // and --resume read from. The live cwd moves into a worktree during work, so
1098
+ // a rollover or /clear there used to hide the successor from its own scope.
1099
+ const cwd = executionContext?.getHomeWorkspace();
1006
1100
  const persistedRolloverFrom = rolloverFrom ?? (resumedConversation?.id === id ? resumedConversation.rolloverFrom : undefined);
1007
1101
  const activeProfileId = settings.get('app.activeProfileId');
1008
1102
  return {
@@ -1034,6 +1128,17 @@ catch (err) {
1034
1128
  }
1035
1129
  throw err;
1036
1130
  }
1131
+ if (launchGoal) {
1132
+ try {
1133
+ logWriter.append({ type: 'goal_changed', version: 1, goal: launchGoal });
1134
+ currentGoalState.current = launchGoal;
1135
+ }
1136
+ catch (error) {
1137
+ console.error(`Unable to persist requested goal: ${error instanceof Error ? error.message : String(error)}`);
1138
+ await logWriter.close().catch(() => undefined);
1139
+ process.exit(1);
1140
+ }
1141
+ }
1037
1142
  activeLogWriter = logWriter;
1038
1143
  conversationService.setLogSink((event) => logWriter.append(event));
1039
1144
  // Persist agent-affecting settings changes as they happen.
@@ -1042,24 +1147,76 @@ settings.onChange((key) => {
1042
1147
  return;
1043
1148
  logWriter.append({ type: 'settings_changed', key, value: settings.getDynamic(key) });
1044
1149
  });
1045
- import { InputProvider } from './context/InputContext.js';
1046
1150
  // Do NOT wrap stdout writes with DEC Mode 2026 synchronized-output markers here.
1047
1151
  // Ink 7.0.1 already wraps each interactive frame in `\x1b[?2026h … \x1b[?2026l`
1048
1152
  // natively (node_modules/ink/build/write-synchronized.js). Re-wrapping each
1049
1153
  // individual write() breaks that frame-level atomicity and makes the terminal
1050
1154
  // paint blank/partial intermediate frames — visible flicker while streaming.
1155
+ if (!hasPositionalPrompt && (!nodeStdin.isTTY || !nodeStdout.isTTY)) {
1156
+ console.error('term2 needs an interactive terminal; for one-shot use: term2 "<prompt>"');
1157
+ process.exit(1);
1158
+ }
1159
+ let controlStartupNotice;
1160
+ let controlSocket;
1161
+ if (controlSocketRequested) {
1162
+ if (controlSocketNameRejected || !controlSocketName) {
1163
+ controlStartupNotice = `Control socket name rejected: ${controlSocketName ?? ''}`;
1164
+ }
1165
+ else {
1166
+ try {
1167
+ controlSocket = new ControlSocketServer({
1168
+ name: controlSocketName,
1169
+ sessionId: () => effectiveSessionId ?? conversationService.sessionId,
1170
+ });
1171
+ await controlSocket.listen();
1172
+ activeControlSocketServer = controlSocket;
1173
+ controlStartupNotice = `Control socket on: ${controlSocket.name} (pid ${process.pid})`;
1174
+ }
1175
+ catch (error) {
1176
+ const reason = error instanceof Error ? error.message : String(error);
1177
+ controlStartupNotice = `Control socket off: ${reason}`;
1178
+ if (controlSocket)
1179
+ await controlSocket.close().catch(() => undefined);
1180
+ controlSocket = undefined;
1181
+ }
1182
+ }
1183
+ }
1184
+ const [{ default: React }, { render }, { default: App }, { InputProvider }, { getInkRenderOptions }] = await Promise.all([
1185
+ import('react'),
1186
+ import('ink'),
1187
+ import('./app.js'),
1188
+ import('./context/InputContext.js'),
1189
+ import('./utils/ink-render-options.js'),
1190
+ ]);
1051
1191
  const { waitUntilExit } = render((React.createElement(InputProvider, null,
1052
- React.createElement(App, { conversationService: conversationService, settingsService: settings, historyService: history, loggingService: logger, skillsService: skillsService, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, subagentUsageAccumulator: subagentUsageAccumulator, costAccumulator: sessionCostAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, restoredStaticMessageIds: restoredStaticMessageIds, logWriter: logWriter, onRotateWriter: (newId, createdAt, rolloverFrom) => {
1053
- logWriter.append({ type: 'session_cleared' });
1054
- logWriter.rotate(newId, buildInitMeta(newId, createdAt ?? new Date().toISOString(), rolloverFrom));
1192
+ React.createElement(App, { conversationService: conversationService, controlSocket: controlSocket, controlStartupNotice: controlStartupNotice, controlSessionMetadata: () => ({
1193
+ workspaceRoot: executionContext?.getHomeWorkspace() ?? null,
1194
+ version: String(cli.pkg.version ?? ''),
1195
+ createdAt: effectiveCreatedAt,
1196
+ logPath: path.join(logWriterDir, `${effectiveSessionId ?? conversationService.sessionId}.jsonl`),
1197
+ }), settingsService: settings, historyService: history, loggingService: logger, skillsService: skillsService, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, subagentUsageAccumulator: subagentUsageAccumulator, costAccumulator: sessionCostAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, initialGoal: launchGoal ?? resumedConversation?.goal, appendGoal: (goal) => {
1198
+ logWriter.append({ type: 'goal_changed', version: 1, goal });
1199
+ currentGoalState.current = goal;
1200
+ }, onGoalRestore: (goal) => {
1201
+ currentGoalState.current = goal;
1202
+ }, restoredStaticMessageIds: restoredStaticMessageIds, logWriter: logWriter, onRotateWriter: (newId, createdAt, rolloverFrom, rolloverGoal) => {
1203
+ rotateSessionLog(logWriter, newId, buildInitMeta(newId, createdAt ?? new Date().toISOString(), rolloverFrom), rolloverGoal);
1204
+ if (rolloverFrom && rolloverGoal) {
1205
+ currentGoalState.current = rolloverGoal;
1206
+ }
1055
1207
  effectiveHasConversationContent = false;
1056
1208
  }, generateId: generateId, onSessionIdChange: (newId, createdAt) => {
1057
1209
  effectiveSessionId = newId;
1058
1210
  effectiveCreatedAt = createdAt;
1211
+ controlSocket?.refreshAdvertisement();
1059
1212
  }, onHasConversationContent: (hasContent) => {
1060
1213
  effectiveHasConversationContent = hasContent;
1061
1214
  }, terminalTitleBase: terminalTitleBase, mcpManager: mcpManager, mcpOAuthStore: mcpOAuthStore, mcpConfigController: mcpConfigController, mcpStartupNotices: mcpStartupNotices, mcpUserConfigPath: mcpConfig.userConfigPath }))), getInkRenderOptions());
1062
1215
  await waitUntilExit();
1216
+ if (controlSocket) {
1217
+ await controlSocket.close();
1218
+ activeControlSocketServer = null;
1219
+ }
1063
1220
  if (conversationService.hookEvents) {
1064
1221
  await hookService.emit(conversationService.hookEvents.create('session.end', {
1065
1222
  reason: 'normal',
@@ -1072,10 +1229,6 @@ await sessionBrowser.close();
1072
1229
  activeSessionBrowser = null;
1073
1230
  await logWriter.close();
1074
1231
  activeLogWriter = null;
1075
- const resumeCmd = getResumeCommand(effectiveSessionId, sshFlag, sshInfo?.remoteDir, cli.flags.sshPort);
1076
1232
  printUsageOnce();
1077
- if (effectiveHasConversationContent) {
1078
- console.log(`\nTo resume this conversation: ${resumeCmd}`);
1079
- }
1080
1233
  process.exit(0);
1081
1234
  //# sourceMappingURL=cli.js.map