@qduc/term2 0.13.0 → 0.15.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 (1013) hide show
  1. package/dist/agent.d.ts +2 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +17 -7
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app-helpers.d.ts +4 -0
  6. package/dist/app-helpers.d.ts.map +1 -1
  7. package/dist/app-helpers.js +6 -0
  8. package/dist/app-helpers.js.map +1 -1
  9. package/dist/app.d.ts +1 -1
  10. package/dist/app.d.ts.map +1 -1
  11. package/dist/app.js +142 -13
  12. package/dist/app.js.map +1 -1
  13. package/dist/cli.js +112 -28
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/auto-approve-command.js +3 -3
  16. package/dist/commands/auto-approve-command.js.map +1 -1
  17. package/dist/commands/compact-command.d.ts +6 -0
  18. package/dist/commands/compact-command.d.ts.map +1 -0
  19. package/dist/commands/compact-command.js +12 -0
  20. package/dist/commands/compact-command.js.map +1 -0
  21. package/dist/commands/guarded-settings-command.d.ts +3 -1
  22. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  23. package/dist/commands/guarded-settings-command.js +21 -5
  24. package/dist/commands/guarded-settings-command.js.map +1 -1
  25. package/dist/commands/mode-commands.d.ts +9 -2
  26. package/dist/commands/mode-commands.d.ts.map +1 -1
  27. package/dist/commands/mode-commands.js +12 -3
  28. package/dist/commands/mode-commands.js.map +1 -1
  29. package/dist/commands/usage-command.d.ts +10 -1
  30. package/dist/commands/usage-command.d.ts.map +1 -1
  31. package/dist/commands/usage-command.js +11 -1
  32. package/dist/commands/usage-command.js.map +1 -1
  33. package/dist/components/InputBox.js +14 -1
  34. package/dist/components/InputBox.js.map +1 -1
  35. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  36. package/dist/components/input/ApplicationInputSurface.js +2 -0
  37. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  38. package/dist/components/input/FirstRunSetupPrompt.js +1 -1
  39. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  40. package/dist/components/input/MentorPoolMenuSession.d.ts +9 -0
  41. package/dist/components/input/MentorPoolMenuSession.d.ts.map +1 -0
  42. package/dist/components/input/MentorPoolMenuSession.js +131 -0
  43. package/dist/components/input/MentorPoolMenuSession.js.map +1 -0
  44. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  45. package/dist/components/input/MenuSurface.js +16 -3
  46. package/dist/components/input/MenuSurface.js.map +1 -1
  47. package/dist/components/input/PendingQueueList.d.ts.map +1 -1
  48. package/dist/components/input/PendingQueueList.js +22 -5
  49. package/dist/components/input/PendingQueueList.js.map +1 -1
  50. package/dist/components/input/ProviderMenuSession.d.ts.map +1 -1
  51. package/dist/components/input/ProviderMenuSession.js +1 -0
  52. package/dist/components/input/ProviderMenuSession.js.map +1 -1
  53. package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
  54. package/dist/components/input/SettingsMenuSession.js +35 -22
  55. package/dist/components/input/SettingsMenuSession.js.map +1 -1
  56. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  57. package/dist/components/input/SettingsValueMenuSession.js +6 -0
  58. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  59. package/dist/components/input/menu-controller.d.ts.map +1 -1
  60. package/dist/components/input/menu-controller.js +18 -1
  61. package/dist/components/input/menu-controller.js.map +1 -1
  62. package/dist/components/input/menu-registry.d.ts.map +1 -1
  63. package/dist/components/input/menu-registry.js +2 -0
  64. package/dist/components/input/menu-registry.js.map +1 -1
  65. package/dist/components/input/menu-types.d.ts +5 -0
  66. package/dist/components/input/menu-types.d.ts.map +1 -1
  67. package/dist/components/input/triggers.d.ts.map +1 -1
  68. package/dist/components/input/triggers.js +33 -0
  69. package/dist/components/input/triggers.js.map +1 -1
  70. package/dist/components/layout/BackgroundTaskManager.d.ts +2 -0
  71. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  72. package/dist/components/layout/BackgroundTaskManager.js +156 -64
  73. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  74. package/dist/components/layout/BackgroundTasksPanel.d.ts +12 -1
  75. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  76. package/dist/components/layout/BackgroundTasksPanel.js +208 -53
  77. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  78. package/dist/components/layout/BottomArea.d.ts +11 -1
  79. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  80. package/dist/components/layout/BottomArea.js +30 -13
  81. package/dist/components/layout/BottomArea.js.map +1 -1
  82. package/dist/components/layout/StatusBar.d.ts +5 -0
  83. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  84. package/dist/components/layout/StatusBar.js +45 -3
  85. package/dist/components/layout/StatusBar.js.map +1 -1
  86. package/dist/components/layout/live-task-rows.d.ts +16 -0
  87. package/dist/components/layout/live-task-rows.d.ts.map +1 -0
  88. package/dist/components/layout/live-task-rows.js +28 -0
  89. package/dist/components/layout/live-task-rows.js.map +1 -0
  90. package/dist/components/layout/terminal-text-budget.d.ts +4 -0
  91. package/dist/components/layout/terminal-text-budget.d.ts.map +1 -0
  92. package/dist/components/layout/terminal-text-budget.js +18 -0
  93. package/dist/components/layout/terminal-text-budget.js.map +1 -0
  94. package/dist/components/menu/CopyMenu.d.ts +1 -0
  95. package/dist/components/menu/CopyMenu.d.ts.map +1 -1
  96. package/dist/components/menu/CopyMenu.js +15 -2
  97. package/dist/components/menu/CopyMenu.js.map +1 -1
  98. package/dist/components/menu/MentorPoolSelectionMenu.d.ts +13 -0
  99. package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -0
  100. package/dist/components/menu/MentorPoolSelectionMenu.js +98 -0
  101. package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -0
  102. package/dist/components/menu/ModelSelectionMenu.d.ts +1 -0
  103. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  104. package/dist/components/menu/ModelSelectionMenu.js +22 -7
  105. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  106. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  107. package/dist/components/menu/ProviderSelectionMenu.js +27 -2
  108. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  109. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  110. package/dist/components/menu/SettingsSelectionMenu.js +5 -0
  111. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  112. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  113. package/dist/components/menu/SlashCommandMenu.js +12 -9
  114. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  115. package/dist/components/message/CommandGroupSummary.d.ts +9 -0
  116. package/dist/components/message/CommandGroupSummary.d.ts.map +1 -0
  117. package/dist/components/message/CommandGroupSummary.js +31 -0
  118. package/dist/components/message/CommandGroupSummary.js.map +1 -0
  119. package/dist/components/message/CommandMessage.d.ts +8 -0
  120. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  121. package/dist/components/message/CommandMessage.js +54 -25
  122. package/dist/components/message/CommandMessage.js.map +1 -1
  123. package/dist/components/message/MessageList.d.ts +6 -2
  124. package/dist/components/message/MessageList.d.ts.map +1 -1
  125. package/dist/components/message/MessageList.js +64 -10
  126. package/dist/components/message/MessageList.js.map +1 -1
  127. package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
  128. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  129. package/dist/components/message/SubagentActivityMessage.js +18 -3
  130. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  131. package/dist/components/message/command-grouping.d.ts +43 -0
  132. package/dist/components/message/command-grouping.d.ts.map +1 -0
  133. package/dist/components/message/command-grouping.js +142 -0
  134. package/dist/components/message/command-grouping.js.map +1 -0
  135. package/dist/components/message/command-message-helpers.d.ts +6 -5
  136. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  137. package/dist/components/message/command-message-helpers.js +36 -0
  138. package/dist/components/message/command-message-helpers.js.map +1 -1
  139. package/dist/components/prompt/ApprovalPrompt.d.ts +1 -1
  140. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  141. package/dist/components/prompt/ApprovalPrompt.js +136 -90
  142. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  143. package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts +11 -0
  144. package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -0
  145. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +50 -0
  146. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -0
  147. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  148. package/dist/components/prompt/QueuePausedPrompt.js +14 -8
  149. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  150. package/dist/context/InputContext.d.ts +1 -1
  151. package/dist/context/InputContext.d.ts.map +1 -1
  152. package/dist/context/InputContext.js +2 -0
  153. package/dist/context/InputContext.js.map +1 -1
  154. package/dist/contracts/application-stream.d.ts +14 -0
  155. package/dist/contracts/application-stream.d.ts.map +1 -1
  156. package/dist/contracts/conversation.d.ts +24 -1
  157. package/dist/contracts/conversation.d.ts.map +1 -1
  158. package/dist/contracts/conversation.js +8 -0
  159. package/dist/contracts/conversation.js.map +1 -1
  160. package/dist/contracts/provider-input.d.ts +15 -0
  161. package/dist/contracts/provider-input.d.ts.map +1 -1
  162. package/dist/contracts/provider-input.js +6 -1
  163. package/dist/contracts/provider-input.js.map +1 -1
  164. package/dist/contracts/streamed-model-turn.d.ts +22 -1
  165. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  166. package/dist/core/index.d.ts +9 -0
  167. package/dist/core/index.d.ts.map +1 -0
  168. package/dist/core/index.js +8 -0
  169. package/dist/core/index.js.map +1 -0
  170. package/dist/core/session-runtime.d.ts +10 -0
  171. package/dist/core/session-runtime.d.ts.map +1 -0
  172. package/dist/core/session-runtime.js +9 -0
  173. package/dist/core/session-runtime.js.map +1 -0
  174. package/dist/gateway/assertion.d.ts +38 -0
  175. package/dist/gateway/assertion.d.ts.map +1 -0
  176. package/dist/gateway/assertion.js +146 -0
  177. package/dist/gateway/assertion.js.map +1 -0
  178. package/dist/gateway/contracts.d.ts +124 -0
  179. package/dist/gateway/contracts.d.ts.map +1 -0
  180. package/dist/gateway/contracts.js +13 -0
  181. package/dist/gateway/contracts.js.map +1 -0
  182. package/dist/gateway/gateway.d.ts +72 -0
  183. package/dist/gateway/gateway.d.ts.map +1 -0
  184. package/dist/gateway/gateway.js +1277 -0
  185. package/dist/gateway/gateway.js.map +1 -0
  186. package/dist/gateway/index.d.ts +22 -0
  187. package/dist/gateway/index.d.ts.map +1 -0
  188. package/dist/gateway/index.js +22 -0
  189. package/dist/gateway/index.js.map +1 -0
  190. package/dist/gateway/interaction-protocol.d.ts +76 -0
  191. package/dist/gateway/interaction-protocol.d.ts.map +1 -0
  192. package/dist/gateway/interaction-protocol.js +548 -0
  193. package/dist/gateway/interaction-protocol.js.map +1 -0
  194. package/dist/gateway/launcher.d.ts +8 -0
  195. package/dist/gateway/launcher.d.ts.map +1 -0
  196. package/dist/gateway/launcher.js +20 -0
  197. package/dist/gateway/launcher.js.map +1 -0
  198. package/dist/gateway/lifecycle.d.ts +12 -0
  199. package/dist/gateway/lifecycle.d.ts.map +1 -0
  200. package/dist/gateway/lifecycle.js +38 -0
  201. package/dist/gateway/lifecycle.js.map +1 -0
  202. package/dist/gateway/persistence/admission-persistence.d.ts +82 -0
  203. package/dist/gateway/persistence/admission-persistence.d.ts.map +1 -0
  204. package/dist/gateway/persistence/admission-persistence.js +215 -0
  205. package/dist/gateway/persistence/admission-persistence.js.map +1 -0
  206. package/dist/gateway/persistence/contracts.d.ts +94 -0
  207. package/dist/gateway/persistence/contracts.d.ts.map +1 -0
  208. package/dist/gateway/persistence/contracts.js +32 -0
  209. package/dist/gateway/persistence/contracts.js.map +1 -0
  210. package/dist/gateway/persistence/coordinator.d.ts +25 -0
  211. package/dist/gateway/persistence/coordinator.d.ts.map +1 -0
  212. package/dist/gateway/persistence/coordinator.js +181 -0
  213. package/dist/gateway/persistence/coordinator.js.map +1 -0
  214. package/dist/gateway/persistence/event-journal.d.ts +31 -0
  215. package/dist/gateway/persistence/event-journal.d.ts.map +1 -0
  216. package/dist/gateway/persistence/event-journal.js +378 -0
  217. package/dist/gateway/persistence/event-journal.js.map +1 -0
  218. package/dist/gateway/persistence/interaction-checkpoint.d.ts +17 -0
  219. package/dist/gateway/persistence/interaction-checkpoint.d.ts.map +1 -0
  220. package/dist/gateway/persistence/interaction-checkpoint.js +75 -0
  221. package/dist/gateway/persistence/interaction-checkpoint.js.map +1 -0
  222. package/dist/gateway/persistence/projection.d.ts +53 -0
  223. package/dist/gateway/persistence/projection.d.ts.map +1 -0
  224. package/dist/gateway/persistence/projection.js +226 -0
  225. package/dist/gateway/persistence/projection.js.map +1 -0
  226. package/dist/gateway/persistence/retention.d.ts +16 -0
  227. package/dist/gateway/persistence/retention.d.ts.map +1 -0
  228. package/dist/gateway/persistence/retention.js +93 -0
  229. package/dist/gateway/persistence/retention.js.map +1 -0
  230. package/dist/gateway/persistence/session-index.d.ts +34 -0
  231. package/dist/gateway/persistence/session-index.d.ts.map +1 -0
  232. package/dist/gateway/persistence/session-index.js +348 -0
  233. package/dist/gateway/persistence/session-index.js.map +1 -0
  234. package/dist/gateway/persistence/session-persistence.d.ts +68 -0
  235. package/dist/gateway/persistence/session-persistence.d.ts.map +1 -0
  236. package/dist/gateway/persistence/session-persistence.js +165 -0
  237. package/dist/gateway/persistence/session-persistence.js.map +1 -0
  238. package/dist/gateway/persistence/storage.d.ts +13 -0
  239. package/dist/gateway/persistence/storage.d.ts.map +1 -0
  240. package/dist/gateway/persistence/storage.js +87 -0
  241. package/dist/gateway/persistence/storage.js.map +1 -0
  242. package/dist/gateway/replay-ledger.d.ts +30 -0
  243. package/dist/gateway/replay-ledger.d.ts.map +1 -0
  244. package/dist/gateway/replay-ledger.js +83 -0
  245. package/dist/gateway/replay-ledger.js.map +1 -0
  246. package/dist/gateway/runtime-factory.d.ts +84 -0
  247. package/dist/gateway/runtime-factory.d.ts.map +1 -0
  248. package/dist/gateway/runtime-factory.js +213 -0
  249. package/dist/gateway/runtime-factory.js.map +1 -0
  250. package/dist/gateway/safe-log.d.ts +15 -0
  251. package/dist/gateway/safe-log.d.ts.map +1 -0
  252. package/dist/gateway/safe-log.js +89 -0
  253. package/dist/gateway/safe-log.js.map +1 -0
  254. package/dist/gateway/server-session.d.ts +65 -0
  255. package/dist/gateway/server-session.d.ts.map +1 -0
  256. package/dist/gateway/server-session.js +252 -0
  257. package/dist/gateway/server-session.js.map +1 -0
  258. package/dist/gateway/server.d.ts +42 -0
  259. package/dist/gateway/server.d.ts.map +1 -0
  260. package/dist/gateway/server.js +126 -0
  261. package/dist/gateway/server.js.map +1 -0
  262. package/dist/gateway/worker-boundary.d.ts +40 -0
  263. package/dist/gateway/worker-boundary.d.ts.map +1 -0
  264. package/dist/gateway/worker-boundary.js +149 -0
  265. package/dist/gateway/worker-boundary.js.map +1 -0
  266. package/dist/gateway/workspace-admission.d.ts +37 -0
  267. package/dist/gateway/workspace-admission.d.ts.map +1 -0
  268. package/dist/gateway/workspace-admission.js +285 -0
  269. package/dist/gateway/workspace-admission.js.map +1 -0
  270. package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
  271. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  272. package/dist/hooks/conversation-ui-reducer.js +3 -0
  273. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  274. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  275. package/dist/hooks/settings-completion-config.js +39 -3
  276. package/dist/hooks/settings-completion-config.js.map +1 -1
  277. package/dist/hooks/use-app-commands.d.ts +5 -1
  278. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  279. package/dist/hooks/use-app-commands.js +17 -3
  280. package/dist/hooks/use-app-commands.js.map +1 -1
  281. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +5 -0
  282. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  283. package/dist/hooks/use-app-keyboard-shortcuts.js +11 -0
  284. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  285. package/dist/hooks/use-conversation.d.ts +1 -0
  286. package/dist/hooks/use-conversation.d.ts.map +1 -1
  287. package/dist/hooks/use-conversation.js +22 -4
  288. package/dist/hooks/use-conversation.js.map +1 -1
  289. package/dist/hooks/use-grok-credit-usage.d.ts +20 -0
  290. package/dist/hooks/use-grok-credit-usage.d.ts.map +1 -0
  291. package/dist/hooks/use-grok-credit-usage.js +48 -0
  292. package/dist/hooks/use-grok-credit-usage.js.map +1 -0
  293. package/dist/hooks/use-mentor-pool-selection.d.ts +103 -0
  294. package/dist/hooks/use-mentor-pool-selection.d.ts.map +1 -0
  295. package/dist/hooks/use-mentor-pool-selection.js +642 -0
  296. package/dist/hooks/use-mentor-pool-selection.js.map +1 -0
  297. package/dist/hooks/use-provider-selection.d.ts +10 -0
  298. package/dist/hooks/use-provider-selection.d.ts.map +1 -1
  299. package/dist/hooks/use-provider-selection.js +105 -6
  300. package/dist/hooks/use-provider-selection.js.map +1 -1
  301. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  302. package/dist/hooks/use-settings-value-completion.js +10 -2
  303. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  304. package/dist/lib/agent-chat-service.d.ts +3 -6
  305. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  306. package/dist/lib/agent-chat-service.js +11 -1
  307. package/dist/lib/agent-chat-service.js.map +1 -1
  308. package/dist/lib/agent-client.d.ts +23 -3
  309. package/dist/lib/agent-client.d.ts.map +1 -1
  310. package/dist/lib/agent-client.js +227 -20
  311. package/dist/lib/agent-client.js.map +1 -1
  312. package/dist/lib/agent-configuration.d.ts +2 -0
  313. package/dist/lib/agent-configuration.d.ts.map +1 -1
  314. package/dist/lib/agent-configuration.js +8 -2
  315. package/dist/lib/agent-configuration.js.map +1 -1
  316. package/dist/lib/agent-factory.d.ts +2 -0
  317. package/dist/lib/agent-factory.d.ts.map +1 -1
  318. package/dist/lib/agent-factory.js +33 -7
  319. package/dist/lib/agent-factory.js.map +1 -1
  320. package/dist/lib/editor-impl.d.ts.map +1 -1
  321. package/dist/lib/editor-impl.js +14 -17
  322. package/dist/lib/editor-impl.js.map +1 -1
  323. package/dist/lib/harness-input-idle.d.ts +16 -0
  324. package/dist/lib/harness-input-idle.d.ts.map +1 -0
  325. package/dist/lib/harness-input-idle.js +51 -0
  326. package/dist/lib/harness-input-idle.js.map +1 -0
  327. package/dist/lib/input-owner.d.ts +3 -0
  328. package/dist/lib/input-owner.d.ts.map +1 -1
  329. package/dist/lib/input-owner.js +2 -0
  330. package/dist/lib/input-owner.js.map +1 -1
  331. package/dist/lib/subagent-bridge.d.ts +3 -3
  332. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  333. package/dist/lib/subagent-bridge.js +16 -9
  334. package/dist/lib/subagent-bridge.js.map +1 -1
  335. package/dist/lib/tool-invoke.d.ts +2 -0
  336. package/dist/lib/tool-invoke.d.ts.map +1 -1
  337. package/dist/lib/tool-invoke.js +3 -0
  338. package/dist/lib/tool-invoke.js.map +1 -1
  339. package/dist/non-interactive.d.ts.map +1 -1
  340. package/dist/non-interactive.js +5 -0
  341. package/dist/non-interactive.js.map +1 -1
  342. package/dist/prompts/context-compaction.d.ts +4 -0
  343. package/dist/prompts/context-compaction.d.ts.map +1 -0
  344. package/dist/prompts/context-compaction.js +18 -0
  345. package/dist/prompts/context-compaction.js.map +1 -0
  346. package/dist/prompts/context-compaction.ts +23 -0
  347. package/dist/prompts/explorer-delegation-contract.test.ts +44 -0
  348. package/dist/prompts/gpt-5.6.md +1 -1
  349. package/dist/prompts/kimi.md +1 -1
  350. package/dist/prompts/orchestrator.md +10 -1
  351. package/dist/prompts/plan-mode-info.md +4 -4
  352. package/dist/prompts/plan-mode-stub.md +7 -0
  353. package/dist/prompts/prefix-quality.test.ts +102 -0
  354. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  355. package/dist/prompts/prompt-constructor.js +4 -1
  356. package/dist/prompts/prompt-constructor.js.map +1 -1
  357. package/dist/prompts/prompt-constructor.test.ts +12 -4
  358. package/dist/prompts/prompt-constructor.ts +4 -1
  359. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  360. package/dist/prompts/subagent-delegation.js +4 -2
  361. package/dist/prompts/subagent-delegation.js.map +1 -1
  362. package/dist/prompts/subagent-delegation.test.ts +10 -0
  363. package/dist/prompts/subagent-delegation.ts +4 -2
  364. package/dist/prompts/subagents/explorer.md +16 -5
  365. package/dist/prompts/subagents/librarian.md +3 -1
  366. package/dist/prompts/subagents/mentor.md +2 -0
  367. package/dist/prompts/subagents/worker.md +3 -1
  368. package/dist/providers/aborted-stream-recorder.d.ts +20 -0
  369. package/dist/providers/aborted-stream-recorder.d.ts.map +1 -0
  370. package/dist/providers/aborted-stream-recorder.js +63 -0
  371. package/dist/providers/aborted-stream-recorder.js.map +1 -0
  372. package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
  373. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  374. package/dist/providers/ai-sdk-streamed-model.js +64 -1
  375. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  376. package/dist/providers/chained-wire-state.d.ts +6 -0
  377. package/dist/providers/chained-wire-state.d.ts.map +1 -1
  378. package/dist/providers/chained-wire-state.js +1 -3
  379. package/dist/providers/chained-wire-state.js.map +1 -1
  380. package/dist/providers/codex-auth.d.ts +73 -2
  381. package/dist/providers/codex-auth.d.ts.map +1 -1
  382. package/dist/providers/codex-auth.js +166 -2
  383. package/dist/providers/codex-auth.js.map +1 -1
  384. package/dist/providers/codex-responses-model.d.ts +10 -2
  385. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  386. package/dist/providers/codex-responses-model.js +348 -184
  387. package/dist/providers/codex-responses-model.js.map +1 -1
  388. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  389. package/dist/providers/codex-turn-converter.js +7 -1
  390. package/dist/providers/codex-turn-converter.js.map +1 -1
  391. package/dist/providers/codex.provider.d.ts +28 -4
  392. package/dist/providers/codex.provider.d.ts.map +1 -1
  393. package/dist/providers/codex.provider.js +106 -81
  394. package/dist/providers/codex.provider.js.map +1 -1
  395. package/dist/providers/common/provider-errors.d.ts +20 -0
  396. package/dist/providers/common/provider-errors.d.ts.map +1 -1
  397. package/dist/providers/common/provider-errors.js +35 -0
  398. package/dist/providers/common/provider-errors.js.map +1 -1
  399. package/dist/providers/grok-auth.d.ts +105 -0
  400. package/dist/providers/grok-auth.d.ts.map +1 -0
  401. package/dist/providers/grok-auth.js +316 -0
  402. package/dist/providers/grok-auth.js.map +1 -0
  403. package/dist/providers/grok-credit-usage.d.ts +53 -0
  404. package/dist/providers/grok-credit-usage.d.ts.map +1 -0
  405. package/dist/providers/grok-credit-usage.js +108 -0
  406. package/dist/providers/grok-credit-usage.js.map +1 -0
  407. package/dist/providers/grok.provider.d.ts +24 -0
  408. package/dist/providers/grok.provider.d.ts.map +1 -0
  409. package/dist/providers/grok.provider.js +153 -0
  410. package/dist/providers/grok.provider.js.map +1 -0
  411. package/dist/providers/index.d.ts +1 -0
  412. package/dist/providers/index.d.ts.map +1 -1
  413. package/dist/providers/index.js +1 -0
  414. package/dist/providers/index.js.map +1 -1
  415. package/dist/providers/jwt-claims.d.ts +12 -0
  416. package/dist/providers/jwt-claims.d.ts.map +1 -0
  417. package/dist/providers/jwt-claims.js +25 -0
  418. package/dist/providers/jwt-claims.js.map +1 -0
  419. package/dist/providers/luna-responses-lite-wire-protocol.d.ts +1 -0
  420. package/dist/providers/luna-responses-lite-wire-protocol.d.ts.map +1 -1
  421. package/dist/providers/luna-responses-lite-wire-protocol.js +19 -0
  422. package/dist/providers/luna-responses-lite-wire-protocol.js.map +1 -1
  423. package/dist/providers/model-catalog/catalog.generated.d.ts +643 -275
  424. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  425. package/dist/providers/model-catalog/catalog.generated.js +643 -275
  426. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  427. package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
  428. package/dist/providers/model-catalog/generate-catalog.js +21 -1
  429. package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
  430. package/dist/providers/oauth-account-store.d.ts +84 -0
  431. package/dist/providers/oauth-account-store.d.ts.map +1 -0
  432. package/dist/providers/oauth-account-store.js +142 -0
  433. package/dist/providers/oauth-account-store.js.map +1 -0
  434. package/dist/providers/oauth-accounts.d.ts +24 -0
  435. package/dist/providers/oauth-accounts.d.ts.map +1 -0
  436. package/dist/providers/oauth-accounts.js +37 -0
  437. package/dist/providers/oauth-accounts.js.map +1 -0
  438. package/dist/providers/oauth-pkce.d.ts +53 -0
  439. package/dist/providers/oauth-pkce.d.ts.map +1 -0
  440. package/dist/providers/oauth-pkce.js +200 -0
  441. package/dist/providers/oauth-pkce.js.map +1 -0
  442. package/dist/providers/oauth-session-account.d.ts +5 -0
  443. package/dist/providers/oauth-session-account.d.ts.map +1 -0
  444. package/dist/providers/oauth-session-account.js +24 -0
  445. package/dist/providers/oauth-session-account.js.map +1 -0
  446. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  447. package/dist/providers/openai-chat-completions-model.js +37 -16
  448. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  449. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  450. package/dist/providers/openai-compatible.provider.d.ts +5 -0
  451. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  452. package/dist/providers/openai-compatible.provider.js +32 -2
  453. package/dist/providers/openai-compatible.provider.js.map +1 -1
  454. package/dist/providers/openai-responses-model.d.ts +22 -4
  455. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  456. package/dist/providers/openai-responses-model.js +126 -51
  457. package/dist/providers/openai-responses-model.js.map +1 -1
  458. package/dist/providers/openai.provider.d.ts.map +1 -1
  459. package/dist/providers/openai.provider.js +23 -2
  460. package/dist/providers/openai.provider.js.map +1 -1
  461. package/dist/providers/opencode-routing.d.ts +2 -0
  462. package/dist/providers/opencode-routing.d.ts.map +1 -1
  463. package/dist/providers/opencode-routing.js +12 -6
  464. package/dist/providers/opencode-routing.js.map +1 -1
  465. package/dist/providers/opencode-transport-discovery.d.ts +18 -0
  466. package/dist/providers/opencode-transport-discovery.d.ts.map +1 -0
  467. package/dist/providers/opencode-transport-discovery.js +115 -0
  468. package/dist/providers/opencode-transport-discovery.js.map +1 -0
  469. package/dist/providers/openrouter.provider.js.map +1 -1
  470. package/dist/providers/provider-opaque-compatibility.d.ts +58 -0
  471. package/dist/providers/provider-opaque-compatibility.d.ts.map +1 -0
  472. package/dist/providers/provider-opaque-compatibility.js +80 -0
  473. package/dist/providers/provider-opaque-compatibility.js.map +1 -0
  474. package/dist/providers/provider-service.d.ts +1 -1
  475. package/dist/providers/provider-service.d.ts.map +1 -1
  476. package/dist/providers/provider-service.js.map +1 -1
  477. package/dist/providers/registry.d.ts +10 -1
  478. package/dist/providers/registry.d.ts.map +1 -1
  479. package/dist/providers/registry.js.map +1 -1
  480. package/dist/providers/responses-websocket-sessions.d.ts +25 -0
  481. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -0
  482. package/dist/providers/responses-websocket-sessions.js +102 -0
  483. package/dist/providers/responses-websocket-sessions.js.map +1 -0
  484. package/dist/providers/websocket-close-evidence.d.ts +45 -0
  485. package/dist/providers/websocket-close-evidence.d.ts.map +1 -0
  486. package/dist/providers/websocket-close-evidence.js +78 -0
  487. package/dist/providers/websocket-close-evidence.js.map +1 -0
  488. package/dist/providers/websocket-receive-watchdog.d.ts +9 -1
  489. package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -1
  490. package/dist/providers/websocket-receive-watchdog.js +27 -1
  491. package/dist/providers/websocket-receive-watchdog.js.map +1 -1
  492. package/dist/providers/websocket-request-dispatch.d.ts +35 -0
  493. package/dist/providers/websocket-request-dispatch.d.ts.map +1 -0
  494. package/dist/providers/websocket-request-dispatch.js +23 -0
  495. package/dist/providers/websocket-request-dispatch.js.map +1 -0
  496. package/dist/scripts/eval-context-compaction/runner.d.ts +2 -0
  497. package/dist/scripts/eval-context-compaction/runner.d.ts.map +1 -0
  498. package/dist/scripts/eval-context-compaction/runner.js +159 -0
  499. package/dist/scripts/eval-context-compaction/runner.js.map +1 -0
  500. package/dist/services/agent-runtime/agent-handle.d.ts.map +1 -1
  501. package/dist/services/agent-runtime/agent-handle.js +8 -5
  502. package/dist/services/agent-runtime/agent-handle.js.map +1 -1
  503. package/dist/services/agent-runtime/agent-runtime.d.ts +1 -1
  504. package/dist/services/agent-runtime/agent-runtime.js +1 -1
  505. package/dist/services/agent-runtime/application-run-loop.d.ts +61 -7
  506. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  507. package/dist/services/agent-runtime/application-run-loop.js +476 -141
  508. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  509. package/dist/services/agent-runtime/context-compaction/index.d.ts +56 -0
  510. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -0
  511. package/dist/services/agent-runtime/context-compaction/index.js +131 -0
  512. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -0
  513. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +81 -0
  514. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -0
  515. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +214 -0
  516. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -0
  517. package/dist/services/agent-runtime/executor.d.ts +1 -1
  518. package/dist/services/agent-runtime/executor.d.ts.map +1 -1
  519. package/dist/services/agent-runtime/executor.js +5 -5
  520. package/dist/services/agent-runtime/executor.js.map +1 -1
  521. package/dist/services/agent-runtime/generation-guard.d.ts +17 -2
  522. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  523. package/dist/services/agent-runtime/generation-guard.js +41 -4
  524. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  525. package/dist/services/agent-runtime/run-budget.d.ts +131 -0
  526. package/dist/services/agent-runtime/run-budget.d.ts.map +1 -0
  527. package/dist/services/agent-runtime/run-budget.js +268 -0
  528. package/dist/services/agent-runtime/run-budget.js.map +1 -0
  529. package/dist/services/agent-runtime/tool-invocation-context.d.ts +12 -0
  530. package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -1
  531. package/dist/services/agent-runtime/tool-invocation-context.js.map +1 -1
  532. package/dist/services/agent-runtime/types.d.ts +5 -4
  533. package/dist/services/agent-runtime/types.d.ts.map +1 -1
  534. package/dist/services/agent-stream.d.ts.map +1 -1
  535. package/dist/services/agent-stream.js +2 -1
  536. package/dist/services/agent-stream.js.map +1 -1
  537. package/dist/services/approval/approval-decision-executor.d.ts +6 -1
  538. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
  539. package/dist/services/approval/approval-decision-executor.js +15 -3
  540. package/dist/services/approval/approval-decision-executor.js.map +1 -1
  541. package/dist/services/approval/approval-decision-policy.d.ts.map +1 -1
  542. package/dist/services/approval/approval-decision-policy.js +3 -0
  543. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  544. package/dist/services/approval/approval-flow-coordinator.d.ts +2 -0
  545. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  546. package/dist/services/approval/approval-flow-coordinator.js +14 -2
  547. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  548. package/dist/services/approval/background-subagent-approval-controller.d.ts +3 -1
  549. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
  550. package/dist/services/approval/background-subagent-approval-controller.js +7 -4
  551. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
  552. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  553. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  554. package/dist/services/approval/shell-auto-approval-resolver.js +8 -0
  555. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  556. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  557. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -11
  558. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  559. package/dist/services/approval/tool-ownership-registry.d.ts +5 -1
  560. package/dist/services/approval/tool-ownership-registry.d.ts.map +1 -1
  561. package/dist/services/approval/tool-ownership-registry.js +5 -22
  562. package/dist/services/approval/tool-ownership-registry.js.map +1 -1
  563. package/dist/services/background-task-activity.d.ts +79 -0
  564. package/dist/services/background-task-activity.d.ts.map +1 -0
  565. package/dist/services/background-task-activity.js +34 -0
  566. package/dist/services/background-task-activity.js.map +1 -0
  567. package/dist/services/command-message-streaming.d.ts +4 -2
  568. package/dist/services/command-message-streaming.d.ts.map +1 -1
  569. package/dist/services/command-message-streaming.js +2 -2
  570. package/dist/services/command-message-streaming.js.map +1 -1
  571. package/dist/services/conversation/conversation-adapter-factory.d.ts +6 -2
  572. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  573. package/dist/services/conversation/conversation-adapter-factory.js +5 -1
  574. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  575. package/dist/services/conversation/conversation-adapter.d.ts +41 -9
  576. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  577. package/dist/services/conversation/conversation-adapter.js +218 -37
  578. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  579. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  580. package/dist/services/conversation/conversation-decoder.js +4 -0
  581. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  582. package/dist/services/conversation/conversation-events.d.ts +58 -2
  583. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  584. package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -1
  585. package/dist/services/conversation/conversation-message-projection.js +7 -3
  586. package/dist/services/conversation/conversation-message-projection.js.map +1 -1
  587. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  588. package/dist/services/conversation/conversation-orchestrator.js +103 -11
  589. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  590. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -0
  591. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  592. package/dist/services/conversation/conversation-persistence.d.ts +38 -2
  593. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  594. package/dist/services/conversation/conversation-persistence.js +160 -16
  595. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  596. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  597. package/dist/services/conversation/conversation-replay.js +27 -0
  598. package/dist/services/conversation/conversation-replay.js.map +1 -1
  599. package/dist/services/conversation/conversation-result-builder.d.ts +6 -2
  600. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  601. package/dist/services/conversation/conversation-result-builder.js +60 -1
  602. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  603. package/dist/services/conversation/conversation-runtime-factory.d.ts +9 -1
  604. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  605. package/dist/services/conversation/conversation-runtime-factory.js +5 -1
  606. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  607. package/dist/services/conversation/conversation-service.d.ts +33 -3
  608. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  609. package/dist/services/conversation/conversation-service.js +149 -1
  610. package/dist/services/conversation/conversation-service.js.map +1 -1
  611. package/dist/services/conversation/conversation-state-projector.d.ts +9 -2
  612. package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
  613. package/dist/services/conversation/conversation-state-projector.js +51 -6
  614. package/dist/services/conversation/conversation-state-projector.js.map +1 -1
  615. package/dist/services/conversation/conversation-state-schema.d.ts +8 -4
  616. package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -1
  617. package/dist/services/conversation/conversation-state-schema.js +24 -2
  618. package/dist/services/conversation/conversation-state-schema.js.map +1 -1
  619. package/dist/services/conversation/conversation-store.d.ts +2 -0
  620. package/dist/services/conversation/conversation-store.d.ts.map +1 -1
  621. package/dist/services/conversation/conversation-store.js +8 -0
  622. package/dist/services/conversation/conversation-store.js.map +1 -1
  623. package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -1
  624. package/dist/services/conversation/run-item-normalizer.js +24 -1
  625. package/dist/services/conversation/run-item-normalizer.js.map +1 -1
  626. package/dist/services/conversation-agent-client.d.ts +30 -2
  627. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  628. package/dist/services/cost/model-cost.d.ts +13 -1
  629. package/dist/services/cost/model-cost.d.ts.map +1 -1
  630. package/dist/services/cost/model-cost.js +59 -0
  631. package/dist/services/cost/model-cost.js.map +1 -1
  632. package/dist/services/cost/subscription-providers.d.ts +2 -0
  633. package/dist/services/cost/subscription-providers.d.ts.map +1 -0
  634. package/dist/services/cost/subscription-providers.js +14 -0
  635. package/dist/services/cost/subscription-providers.js.map +1 -0
  636. package/dist/services/grok/grok-credit-usage-service.d.ts +62 -0
  637. package/dist/services/grok/grok-credit-usage-service.d.ts.map +1 -0
  638. package/dist/services/grok/grok-credit-usage-service.js +137 -0
  639. package/dist/services/grok/grok-credit-usage-service.js.map +1 -0
  640. package/dist/services/history-service.d.ts +9 -0
  641. package/dist/services/history-service.d.ts.map +1 -1
  642. package/dist/services/history-service.js +49 -2
  643. package/dist/services/history-service.js.map +1 -1
  644. package/dist/services/hooks/hook-composition.d.ts +17 -0
  645. package/dist/services/hooks/hook-composition.d.ts.map +1 -0
  646. package/dist/services/hooks/hook-composition.js +19 -0
  647. package/dist/services/hooks/hook-composition.js.map +1 -0
  648. package/dist/services/logging/conversation-log-events.d.ts +36 -2
  649. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  650. package/dist/services/logging/conversation-log-events.js +17 -0
  651. package/dist/services/logging/conversation-log-events.js.map +1 -1
  652. package/dist/services/logging/conversation-log-writer.d.ts +8 -1
  653. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  654. package/dist/services/logging/conversation-log-writer.js +145 -10
  655. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  656. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  657. package/dist/services/logging/conversation-logger.js +18 -0
  658. package/dist/services/logging/conversation-logger.js.map +1 -1
  659. package/dist/services/logging/logging-service.d.ts +6 -6
  660. package/dist/services/logging/logging-service.d.ts.map +1 -1
  661. package/dist/services/logging/logging-service.js.map +1 -1
  662. package/dist/services/logging/provider-traffic.d.ts +18 -2
  663. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  664. package/dist/services/logging/provider-traffic.js +293 -142
  665. package/dist/services/logging/provider-traffic.js.map +1 -1
  666. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  667. package/dist/services/memory/memory-capabilities.js +20 -1
  668. package/dist/services/memory/memory-capabilities.js.map +1 -1
  669. package/dist/services/mode-notices.d.ts +1 -6
  670. package/dist/services/mode-notices.d.ts.map +1 -1
  671. package/dist/services/mode-notices.js +16 -3
  672. package/dist/services/mode-notices.js.map +1 -1
  673. package/dist/services/model-service.d.ts +2 -2
  674. package/dist/services/model-service.d.ts.map +1 -1
  675. package/dist/services/model-service.js.map +1 -1
  676. package/dist/services/queue/queue-controller.d.ts +1 -1
  677. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  678. package/dist/services/queue/queue-controller.js +19 -5
  679. package/dist/services/queue/queue-controller.js.map +1 -1
  680. package/dist/services/retry/chain-recovery-fingerprint.d.ts +10 -0
  681. package/dist/services/retry/chain-recovery-fingerprint.d.ts.map +1 -0
  682. package/dist/services/retry/chain-recovery-fingerprint.js +23 -0
  683. package/dist/services/retry/chain-recovery-fingerprint.js.map +1 -0
  684. package/dist/services/retry/recovery-executor.d.ts.map +1 -1
  685. package/dist/services/retry/recovery-executor.js +10 -9
  686. package/dist/services/retry/recovery-executor.js.map +1 -1
  687. package/dist/services/retry/recovery-policy.d.ts.map +1 -1
  688. package/dist/services/retry/recovery-policy.js +4 -0
  689. package/dist/services/retry/recovery-policy.js.map +1 -1
  690. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  691. package/dist/services/retry/retry-classifier.js +34 -2
  692. package/dist/services/retry/retry-classifier.js.map +1 -1
  693. package/dist/services/retry/retry-contracts.d.ts +14 -0
  694. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  695. package/dist/services/retry/retry-error-classification.d.ts +17 -3
  696. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  697. package/dist/services/retry/retry-error-classification.js +48 -7
  698. package/dist/services/retry/retry-error-classification.js.map +1 -1
  699. package/dist/services/retry/retry-errors.d.ts +4 -0
  700. package/dist/services/retry/retry-errors.d.ts.map +1 -1
  701. package/dist/services/retry/retry-errors.js +7 -0
  702. package/dist/services/retry/retry-errors.js.map +1 -1
  703. package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
  704. package/dist/services/retry/retry-event-presenter.js +20 -0
  705. package/dist/services/retry/retry-event-presenter.js.map +1 -1
  706. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  707. package/dist/services/runtime-setting-router.js +6 -0
  708. package/dist/services/runtime-setting-router.js.map +1 -1
  709. package/dist/services/service-interfaces.d.ts +111 -13
  710. package/dist/services/service-interfaces.d.ts.map +1 -1
  711. package/dist/services/session/background-task-control.d.ts +6 -0
  712. package/dist/services/session/background-task-control.d.ts.map +1 -1
  713. package/dist/services/session/background-task-control.js +31 -6
  714. package/dist/services/session/background-task-control.js.map +1 -1
  715. package/dist/services/session/background-task-liveness.d.ts +2 -18
  716. package/dist/services/session/background-task-liveness.d.ts.map +1 -1
  717. package/dist/services/session/background-task-liveness.js +7 -22
  718. package/dist/services/session/background-task-liveness.js.map +1 -1
  719. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  720. package/dist/services/session/continuation-plan-applier.js +23 -0
  721. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  722. package/dist/services/session/continuation-recovery-handler.d.ts +2 -0
  723. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  724. package/dist/services/session/continuation-recovery-handler.js +7 -1
  725. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  726. package/dist/services/session/initial-turn-recovery-handler.d.ts +1 -0
  727. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  728. package/dist/services/session/initial-turn-recovery-handler.js +12 -2
  729. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  730. package/dist/services/session/session-client-factory.d.ts +3 -1
  731. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  732. package/dist/services/session/session-client-factory.js +2 -2
  733. package/dist/services/session/session-client-factory.js.map +1 -1
  734. package/dist/services/session/session-composition.d.ts +10 -0
  735. package/dist/services/session/session-composition.d.ts.map +1 -1
  736. package/dist/services/session/session-composition.js +130 -7
  737. package/dist/services/session/session-composition.js.map +1 -1
  738. package/dist/services/session/session-manager.d.ts +3 -0
  739. package/dist/services/session/session-manager.d.ts.map +1 -1
  740. package/dist/services/session/session-manager.js +6 -0
  741. package/dist/services/session/session-manager.js.map +1 -1
  742. package/dist/services/session/session-stream-processor.d.ts +2 -0
  743. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  744. package/dist/services/session/session-stream-processor.js +7 -1
  745. package/dist/services/session/session-stream-processor.js.map +1 -1
  746. package/dist/services/session/session-tool-tracker.d.ts +17 -6
  747. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  748. package/dist/services/session/session-tool-tracker.js +19 -7
  749. package/dist/services/session/session-tool-tracker.js.map +1 -1
  750. package/dist/services/session/terminal-result-collector.d.ts +2 -2
  751. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  752. package/dist/services/session/terminal-result-collector.js +2 -1
  753. package/dist/services/session/terminal-result-collector.js.map +1 -1
  754. package/dist/services/session/turn-attempt-factory.d.ts +1 -0
  755. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  756. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  757. package/dist/services/session/turn-coordinator.d.ts +1 -1
  758. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  759. package/dist/services/session/turn-coordinator.js +31 -6
  760. package/dist/services/session/turn-coordinator.js.map +1 -1
  761. package/dist/services/session/turn-workflow.d.ts +4 -1
  762. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  763. package/dist/services/session/turn-workflow.js +48 -7
  764. package/dist/services/session/turn-workflow.js.map +1 -1
  765. package/dist/services/settings/settings-persistence.d.ts +33 -0
  766. package/dist/services/settings/settings-persistence.d.ts.map +1 -1
  767. package/dist/services/settings/settings-persistence.js +102 -4
  768. package/dist/services/settings/settings-persistence.js.map +1 -1
  769. package/dist/services/settings/settings-schema.d.ts +122 -2
  770. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  771. package/dist/services/settings/settings-schema.js +120 -5
  772. package/dist/services/settings/settings-schema.js.map +1 -1
  773. package/dist/services/settings/settings-service.d.ts +57 -3
  774. package/dist/services/settings/settings-service.d.ts.map +1 -1
  775. package/dist/services/settings/settings-service.js +171 -28
  776. package/dist/services/settings/settings-service.js.map +1 -1
  777. package/dist/services/settings/settings-service.mock.d.ts +1 -1
  778. package/dist/services/settings/settings-service.mock.d.ts.map +1 -1
  779. package/dist/services/settings/settings-service.mock.js +3 -6
  780. package/dist/services/settings/settings-service.mock.js.map +1 -1
  781. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  782. package/dist/services/settings/settings-sources.js +18 -0
  783. package/dist/services/settings/settings-sources.js.map +1 -1
  784. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +27 -0
  785. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -0
  786. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +165 -0
  787. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -0
  788. package/dist/services/shell/background-shell-registry.d.ts +10 -0
  789. package/dist/services/shell/background-shell-registry.d.ts.map +1 -1
  790. package/dist/services/shell/background-shell-registry.js +9 -1
  791. package/dist/services/shell/background-shell-registry.js.map +1 -1
  792. package/dist/services/shell/background-shell-watches.d.ts +28 -3
  793. package/dist/services/shell/background-shell-watches.d.ts.map +1 -1
  794. package/dist/services/shell/background-shell-watches.js +41 -9
  795. package/dist/services/shell/background-shell-watches.js.map +1 -1
  796. package/dist/services/ssh-service.d.ts +81 -9
  797. package/dist/services/ssh-service.d.ts.map +1 -1
  798. package/dist/services/ssh-service.js +211 -37
  799. package/dist/services/ssh-service.js.map +1 -1
  800. package/dist/services/stream-event-processor.d.ts +2 -0
  801. package/dist/services/stream-event-processor.d.ts.map +1 -1
  802. package/dist/services/stream-event-processor.js +44 -8
  803. package/dist/services/stream-event-processor.js.map +1 -1
  804. package/dist/services/subagents/execution-runner.d.ts +1 -1
  805. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  806. package/dist/services/subagents/execution-runner.js +60 -23
  807. package/dist/services/subagents/execution-runner.js.map +1 -1
  808. package/dist/services/subagents/foreground-subagent-lease.d.ts +11 -1
  809. package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -1
  810. package/dist/services/subagents/foreground-subagent-lease.js +10 -1
  811. package/dist/services/subagents/foreground-subagent-lease.js.map +1 -1
  812. package/dist/services/subagents/mentor-runner.d.ts +1 -1
  813. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  814. package/dist/services/subagents/mentor-runner.js +121 -16
  815. package/dist/services/subagents/mentor-runner.js.map +1 -1
  816. package/dist/services/subagents/nested-runner.d.ts +11 -1
  817. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  818. package/dist/services/subagents/nested-runner.js +99 -35
  819. package/dist/services/subagents/nested-runner.js.map +1 -1
  820. package/dist/services/subagents/role-loader.d.ts +6 -0
  821. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  822. package/dist/services/subagents/role-loader.js +6 -1
  823. package/dist/services/subagents/role-loader.js.map +1 -1
  824. package/dist/services/subagents/runtime.d.ts.map +1 -1
  825. package/dist/services/subagents/runtime.js +7 -0
  826. package/dist/services/subagents/runtime.js.map +1 -1
  827. package/dist/services/subagents/subagent-async-registry.d.ts +4 -0
  828. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  829. package/dist/services/subagents/subagent-async-registry.js +80 -16
  830. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  831. package/dist/services/subagents/subagent-manager.d.ts +1 -1
  832. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  833. package/dist/services/subagents/subagent-manager.js +4 -4
  834. package/dist/services/subagents/subagent-manager.js.map +1 -1
  835. package/dist/services/subagents/subagent-notification-store.d.ts +19 -1
  836. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  837. package/dist/services/subagents/subagent-notification-store.js +22 -0
  838. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  839. package/dist/services/subagents/subagent-run-control.d.ts +9 -1
  840. package/dist/services/subagents/subagent-run-control.d.ts.map +1 -1
  841. package/dist/services/subagents/subagent-run-control.js +12 -13
  842. package/dist/services/subagents/subagent-run-control.js.map +1 -1
  843. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  844. package/dist/services/subagents/tool-policy.js +11 -3
  845. package/dist/services/subagents/tool-policy.js.map +1 -1
  846. package/dist/services/subagents/types.d.ts +25 -2
  847. package/dist/services/subagents/types.d.ts.map +1 -1
  848. package/dist/services/subagents/types.js.map +1 -1
  849. package/dist/services/subagents/utils.d.ts +20 -1
  850. package/dist/services/subagents/utils.d.ts.map +1 -1
  851. package/dist/services/subagents/utils.js +40 -2
  852. package/dist/services/subagents/utils.js.map +1 -1
  853. package/dist/services/tool-execution-ledger.d.ts +26 -1
  854. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  855. package/dist/services/tool-execution-ledger.js +103 -33
  856. package/dist/services/tool-execution-ledger.js.map +1 -1
  857. package/dist/services/workspace/active-workspace-root.d.ts +6 -0
  858. package/dist/services/workspace/active-workspace-root.d.ts.map +1 -1
  859. package/dist/services/workspace/active-workspace-root.js +22 -0
  860. package/dist/services/workspace/active-workspace-root.js.map +1 -1
  861. package/dist/test-helpers/ink-testing.d.ts.map +1 -1
  862. package/dist/test-helpers/ink-testing.js +4 -1
  863. package/dist/test-helpers/ink-testing.js.map +1 -1
  864. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
  865. package/dist/test-helpers/terminal-e2e.js +12 -2
  866. package/dist/test-helpers/terminal-e2e.js.map +1 -1
  867. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  868. package/dist/tools/agent/activate-skill.js +3 -2
  869. package/dist/tools/agent/activate-skill.js.map +1 -1
  870. package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
  871. package/dist/tools/agent/ask-mentor.js +7 -3
  872. package/dist/tools/agent/ask-mentor.js.map +1 -1
  873. package/dist/tools/agent/ask-user-constants.d.ts +2 -2
  874. package/dist/tools/agent/ask-user-constants.d.ts.map +1 -1
  875. package/dist/tools/agent/ask-user-constants.js +1 -1
  876. package/dist/tools/agent/ask-user-constants.js.map +1 -1
  877. package/dist/tools/agent/run-subagent-async.d.ts +2 -11
  878. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  879. package/dist/tools/agent/run-subagent-async.js +10 -2
  880. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  881. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  882. package/dist/tools/agent/run-subagent.js +15 -7
  883. package/dist/tools/agent/run-subagent.js.map +1 -1
  884. package/dist/tools/file/apply-patch.d.ts +2 -0
  885. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  886. package/dist/tools/file/apply-patch.js +64 -17
  887. package/dist/tools/file/apply-patch.js.map +1 -1
  888. package/dist/tools/file/code-context.d.ts +5 -0
  889. package/dist/tools/file/code-context.d.ts.map +1 -1
  890. package/dist/tools/file/code-context.js +20 -6
  891. package/dist/tools/file/code-context.js.map +1 -1
  892. package/dist/tools/file/create-file.d.ts.map +1 -1
  893. package/dist/tools/file/create-file.js +11 -5
  894. package/dist/tools/file/create-file.js.map +1 -1
  895. package/dist/tools/file/edit-healing.d.ts +7 -0
  896. package/dist/tools/file/edit-healing.d.ts.map +1 -1
  897. package/dist/tools/file/edit-healing.js +7 -7
  898. package/dist/tools/file/edit-healing.js.map +1 -1
  899. package/dist/tools/file/glob.d.ts +3 -0
  900. package/dist/tools/file/glob.d.ts.map +1 -1
  901. package/dist/tools/file/glob.js +10 -3
  902. package/dist/tools/file/glob.js.map +1 -1
  903. package/dist/tools/file/grep.d.ts +5 -0
  904. package/dist/tools/file/grep.d.ts.map +1 -1
  905. package/dist/tools/file/grep.js +11 -6
  906. package/dist/tools/file/grep.js.map +1 -1
  907. package/dist/tools/file/patch-healing.d.ts +31 -0
  908. package/dist/tools/file/patch-healing.d.ts.map +1 -0
  909. package/dist/tools/file/patch-healing.js +231 -0
  910. package/dist/tools/file/patch-healing.js.map +1 -0
  911. package/dist/tools/file/read-file.d.ts +5 -0
  912. package/dist/tools/file/read-file.d.ts.map +1 -1
  913. package/dist/tools/file/read-file.js +44 -17
  914. package/dist/tools/file/read-file.js.map +1 -1
  915. package/dist/tools/file/search-replace.d.ts.map +1 -1
  916. package/dist/tools/file/search-replace.js +24 -6
  917. package/dist/tools/file/search-replace.js.map +1 -1
  918. package/dist/tools/format-helpers.d.ts +6 -0
  919. package/dist/tools/format-helpers.d.ts.map +1 -1
  920. package/dist/tools/format-helpers.js +23 -0
  921. package/dist/tools/format-helpers.js.map +1 -1
  922. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  923. package/dist/tools/memory/memory-tools.js +2 -2
  924. package/dist/tools/memory/memory-tools.js.map +1 -1
  925. package/dist/tools/system/shell.d.ts +16 -1
  926. package/dist/tools/system/shell.d.ts.map +1 -1
  927. package/dist/tools/system/shell.js +91 -25
  928. package/dist/tools/system/shell.js.map +1 -1
  929. package/dist/tools/types.d.ts +9 -0
  930. package/dist/tools/types.d.ts.map +1 -1
  931. package/dist/tools/types.js.map +1 -1
  932. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  933. package/dist/tools/web/web-fetch.js +12 -14
  934. package/dist/tools/web/web-fetch.js.map +1 -1
  935. package/dist/tools/web/web-search.d.ts.map +1 -1
  936. package/dist/tools/web/web-search.js +3 -2
  937. package/dist/tools/web/web-search.js.map +1 -1
  938. package/dist/types/message.d.ts +1 -1
  939. package/dist/types/message.d.ts.map +1 -1
  940. package/dist/utils/ai/provider-credentials.d.ts +1 -1
  941. package/dist/utils/ai/provider-credentials.d.ts.map +1 -1
  942. package/dist/utils/ai/provider-credentials.js +18 -2
  943. package/dist/utils/ai/provider-credentials.js.map +1 -1
  944. package/dist/utils/ai/token-usage.d.ts +3 -1
  945. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  946. package/dist/utils/ai/token-usage.js +7 -2
  947. package/dist/utils/ai/token-usage.js.map +1 -1
  948. package/dist/utils/apply-diff.d.ts.map +1 -1
  949. package/dist/utils/apply-diff.js +8 -0
  950. package/dist/utils/apply-diff.js.map +1 -1
  951. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  952. package/dist/utils/conversation/conversation-event-handler.js +73 -3
  953. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  954. package/dist/utils/error-helpers.d.ts.map +1 -1
  955. package/dist/utils/error-helpers.js +8 -0
  956. package/dist/utils/error-helpers.js.map +1 -1
  957. package/dist/utils/inject-warning-into-tool-output.d.ts +30 -0
  958. package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -1
  959. package/dist/utils/inject-warning-into-tool-output.js +39 -0
  960. package/dist/utils/inject-warning-into-tool-output.js.map +1 -1
  961. package/dist/utils/output/bound-tool-result.d.ts +42 -0
  962. package/dist/utils/output/bound-tool-result.d.ts.map +1 -0
  963. package/dist/utils/output/bound-tool-result.js +81 -0
  964. package/dist/utils/output/bound-tool-result.js.map +1 -0
  965. package/dist/utils/output/tty-osc.d.ts +1 -1
  966. package/dist/utils/output/tty-osc.js +1 -1
  967. package/dist/utils/settings-command.d.ts.map +1 -1
  968. package/dist/utils/settings-command.js +122 -8
  969. package/dist/utils/settings-command.js.map +1 -1
  970. package/dist/utils/shell/execute-shell.d.ts +8 -0
  971. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  972. package/dist/utils/shell/execute-shell.js +36 -30
  973. package/dist/utils/shell/execute-shell.js.map +1 -1
  974. package/dist/utils/shell/sandbox/sandbox-env.d.ts +1 -0
  975. package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -1
  976. package/dist/utils/shell/sandbox/sandbox-env.js +2 -0
  977. package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
  978. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +2 -0
  979. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  980. package/dist/utils/shell/sandbox/sandbox-policy.js +1 -1
  981. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  982. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
  983. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +1 -2
  984. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
  985. package/dist/utils/shell/shell-child-registry.d.ts +11 -0
  986. package/dist/utils/shell/shell-child-registry.d.ts.map +1 -0
  987. package/dist/utils/shell/shell-child-registry.js +40 -0
  988. package/dist/utils/shell/shell-child-registry.js.map +1 -0
  989. package/dist/utils/shell/shell-output.d.ts +11 -0
  990. package/dist/utils/shell/shell-output.d.ts.map +1 -1
  991. package/dist/utils/shell/shell-output.js +24 -10
  992. package/dist/utils/shell/shell-output.js.map +1 -1
  993. package/dist/utils/shell/temp-sweep.d.ts +28 -0
  994. package/dist/utils/shell/temp-sweep.d.ts.map +1 -0
  995. package/dist/utils/shell/temp-sweep.js +140 -0
  996. package/dist/utils/shell/temp-sweep.js.map +1 -0
  997. package/dist/utils/streaming/extract-command-messages.d.ts +12 -5
  998. package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
  999. package/dist/utils/streaming/extract-command-messages.js +29 -33
  1000. package/dist/utils/streaming/extract-command-messages.js.map +1 -1
  1001. package/dist/utils/streaming/streaming-session-factory.d.ts +8 -0
  1002. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  1003. package/dist/utils/streaming/streaming-session-factory.js +3 -0
  1004. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  1005. package/dist/utils/value-suggestions.d.ts +8 -0
  1006. package/dist/utils/value-suggestions.d.ts.map +1 -1
  1007. package/dist/utils/value-suggestions.js +71 -0
  1008. package/dist/utils/value-suggestions.js.map +1 -1
  1009. package/package.json +14 -10
  1010. package/dist/utils/output/synchronized-output.d.ts +0 -35
  1011. package/dist/utils/output/synchronized-output.d.ts.map +0 -1
  1012. package/dist/utils/output/synchronized-output.js +0 -66
  1013. package/dist/utils/output/synchronized-output.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import OpenAI from 'openai';
2
- import { CodexResponsesModel, CodexResponsesWSModel } from './codex-responses-model.js';
2
+ import { CodexResponsesModel, CodexResponsesTransport, CodexResponsesWSModel } from './codex-responses-model.js';
3
3
  import { RetryingModel } from './retrying-model.js';
4
4
  import fs from 'node:fs';
5
5
  import path from 'node:path';
@@ -11,38 +11,13 @@ import { NULL_SESSION_CONTEXT_SERVICE } from '../services/session/session-contex
11
11
  import { exec } from 'node:child_process';
12
12
  import { promisify } from 'node:util';
13
13
  import envPaths from 'env-paths';
14
- import { resolveCodexTokenPath } from './codex-auth.js';
14
+ import { CODEX_OAUTH_CLIENT_ID, CODEX_TOKEN_ENDPOINT, readCodexCliTokens, resolveCodexTokenPath, resolveTerm2CodexAuthPath, createCodexAccountStore, } from './codex-auth.js';
15
+ import { getJwtClaims, getJwtExpiry } from './jwt-claims.js';
16
+ import { recordSessionAccount } from './oauth-session-account.js';
17
+ import { ProviderReauthenticationRequiredError } from './common/provider-errors.js';
15
18
  const DEFAULT_CODEX_MODEL = 'gpt-5.3-codex';
16
- // Decodes the JWT and extracts expiration timestamp in milliseconds
17
- export function getJwtExpiry(token) {
18
- try {
19
- const parts = token.split('.');
20
- if (parts.length !== 3)
21
- return null;
22
- const payloadJson = Buffer.from(parts[1], 'base64').toString('utf8');
23
- const payload = JSON.parse(payloadJson);
24
- if (typeof payload.exp === 'number') {
25
- return payload.exp * 1000;
26
- }
27
- }
28
- catch {
29
- // ignore
30
- }
31
- return null;
32
- }
33
- // Decodes the JWT and returns all its claims
34
- export function getJwtClaims(token) {
35
- try {
36
- const parts = token.split('.');
37
- if (parts.length !== 3)
38
- return null;
39
- const payloadJson = Buffer.from(parts[1], 'base64').toString('utf8');
40
- return JSON.parse(payloadJson);
41
- }
42
- catch {
43
- return null;
44
- }
45
- }
19
+ // Re-exported so the provider's existing callers and tests keep one import site.
20
+ export { getJwtClaims, getJwtExpiry } from './jwt-claims.js';
46
21
  // Extracts accountId from claims in the order of precedence
47
22
  export function extractAccountIdFromClaims(claims) {
48
23
  if (!claims || typeof claims !== 'object')
@@ -83,14 +58,35 @@ export function extractAccountId(idToken, accessToken) {
83
58
  }
84
59
  // Kept as a compatibility export for the provider's existing callers/tests.
85
60
  export const resolveTokenPath = resolveCodexTokenPath;
61
+ /**
62
+ * Resolves a live Codex access token.
63
+ *
64
+ * term2 keeps its own credential store and **never writes to the codex CLI's
65
+ * `auth.json`.** OpenAI rotates refresh tokens, so two processes refreshing
66
+ * from one file are two writers on one rotation chain and the loser is silently
67
+ * logged out. The CLI's file is read as a one-way grace only: we take its
68
+ * short-lived access token, never its refresh token, and once that expires the
69
+ * user runs `term2 --codex-login` to get a rotation chain of our own.
70
+ */
86
71
  export class CodexTokenManager {
87
72
  activeRefreshPromise = null;
88
73
  tokenPathResolver;
74
+ authPath;
89
75
  fetchImpl;
90
76
  accountId = null;
91
77
  installationId;
78
+ /**
79
+ * The account this manager resolved first, held for its whole lifetime.
80
+ *
81
+ * Selecting a different account in the UI changes the store's active pointer,
82
+ * but a running session keeps authenticating as whoever it started as —
83
+ * provider response chaining is bound to that identity, so swapping it
84
+ * mid-session would break the chain.
85
+ */
86
+ pinnedAccountId = null;
92
87
  constructor(options) {
93
88
  this.tokenPathResolver = options?.tokenPathResolver || resolveTokenPath;
89
+ this.authPath = options?.authPath || resolveTerm2CodexAuthPath();
94
90
  this.fetchImpl = options?.fetchImpl || globalThis.fetch;
95
91
  }
96
92
  getAccountId() {
@@ -100,6 +96,8 @@ export class CodexTokenManager {
100
96
  if (this.installationId !== undefined) {
101
97
  return this.installationId;
102
98
  }
99
+ // The installation id is a codex CLI artifact, so it is read from the CLI's
100
+ // directory even when the credential itself is term2's own.
103
101
  const tokenPath = this.tokenPathResolver();
104
102
  if (!tokenPath) {
105
103
  this.installationId = null;
@@ -115,42 +113,49 @@ export class CodexTokenManager {
115
113
  }
116
114
  return this.installationId;
117
115
  }
118
- async getOrRefreshAccessToken() {
119
- const tokenPath = this.tokenPathResolver();
120
- if (!tokenPath) {
121
- throw new Error('Codex token file not found. Please log in first using `npx @openai/codex login` or set CHATGPT_LOCAL_HOME/CODEX_HOME environment variables.');
122
- }
123
- let fileData;
124
- try {
125
- fileData = JSON.parse(fs.readFileSync(tokenPath, 'utf8'));
116
+ load() {
117
+ const store = createCodexAccountStore(this.authPath);
118
+ const pinned = this.pinnedAccountId ? store.get(this.pinnedAccountId) : null;
119
+ // Falls back to the active account if the pinned one was signed out.
120
+ const account = pinned ?? store.getActive();
121
+ if (account) {
122
+ this.pinnedAccountId = account.id;
123
+ recordSessionAccount('codex', account.id);
124
+ return account.tokens;
126
125
  }
127
- catch (err) {
128
- throw new Error(`Failed to read/parse Codex token file at ${tokenPath}: ${err.message}`);
126
+ const cliPath = this.tokenPathResolver();
127
+ return cliPath ? readCodexCliTokens(cliPath) : null;
128
+ }
129
+ /** The account id this session is authenticating as, once it has resolved one. */
130
+ getPinnedAccountId() {
131
+ return this.pinnedAccountId;
132
+ }
133
+ async getOrRefreshAccessToken() {
134
+ const tokens = this.load();
135
+ if (!tokens) {
136
+ throw new ProviderReauthenticationRequiredError('Not logged in to Codex. Run `term2 --codex-login` (or `npx @openai/codex login`) first, or set CHATGPT_LOCAL_HOME/CODEX_HOME.');
129
137
  }
130
- const accessToken = fileData?.tokens?.access_token;
131
- const refreshToken = fileData?.tokens?.refresh_token;
132
- const idToken = fileData?.tokens?.id_token;
133
- const resolvedAccountId = extractAccountId(idToken, accessToken) || fileData?.tokens?.account_id;
138
+ const { access_token: accessToken, refresh_token: refreshToken, id_token: idToken } = tokens;
139
+ const resolvedAccountId = extractAccountId(idToken, accessToken) || tokens.account_id;
134
140
  if (resolvedAccountId) {
135
141
  this.accountId = resolvedAccountId;
136
142
  }
137
- if (!accessToken) {
138
- throw new Error(`Codex token file at ${tokenPath} is missing access_token.`);
139
- }
140
143
  const expiryMs = getJwtExpiry(accessToken);
141
144
  const isExpiredOrSoon = expiryMs !== null && Date.now() + 5 * 60 * 1000 >= expiryMs;
142
145
  if (!isExpiredOrSoon) {
143
146
  return accessToken;
144
147
  }
145
148
  if (!refreshToken) {
146
- throw new Error(`Codex access token is expired or expiring soon, but no refresh token is present in ${tokenPath}`);
149
+ throw new ProviderReauthenticationRequiredError(tokens.imported
150
+ ? 'The access token imported from the `codex` CLI has expired. Run `term2 --codex-login` so term2 holds its own credential.'
151
+ : 'Codex access token is expired or expiring soon, but no refresh token is stored. Run `term2 --codex-login` again.');
147
152
  }
148
153
  if (this.activeRefreshPromise) {
149
154
  return this.activeRefreshPromise;
150
155
  }
151
156
  this.activeRefreshPromise = (async () => {
152
157
  try {
153
- const response = await this.fetchImpl('https://auth.openai.com/oauth/token', {
158
+ const response = await this.fetchImpl(CODEX_TOKEN_ENDPOINT, {
154
159
  method: 'POST',
155
160
  headers: {
156
161
  'Content-Type': 'application/json',
@@ -158,7 +163,7 @@ export class CodexTokenManager {
158
163
  body: JSON.stringify({
159
164
  grant_type: 'refresh_token',
160
165
  refresh_token: refreshToken,
161
- client_id: 'app_EMoamEEZ73f0CkXaXp7hrann',
166
+ client_id: CODEX_OAUTH_CLIENT_ID,
162
167
  scope: 'openid profile email offline_access',
163
168
  }),
164
169
  });
@@ -170,28 +175,33 @@ export class CodexTokenManager {
170
175
  if (!newAccessToken) {
171
176
  throw new Error('Refresh response did not contain access_token');
172
177
  }
173
- const newIdToken = resBody.id_token || fileData.tokens?.id_token;
174
- const refreshedAccountId = extractAccountId(newIdToken, newAccessToken) || fileData?.tokens?.account_id;
178
+ const newIdToken = resBody.id_token || idToken;
179
+ const refreshedAccountId = extractAccountId(newIdToken, newAccessToken) || tokens.account_id;
175
180
  if (refreshedAccountId) {
176
181
  this.accountId = refreshedAccountId;
177
182
  }
178
- const updatedData = {
179
- ...fileData,
180
- tokens: {
181
- ...fileData.tokens,
182
- access_token: newAccessToken,
183
- refresh_token: resBody.refresh_token || fileData.tokens?.refresh_token,
184
- id_token: resBody.id_token || fileData.tokens?.id_token,
185
- ...(refreshedAccountId ? { account_id: refreshedAccountId } : {}),
186
- },
187
- last_refresh: new Date().toISOString(),
183
+ // Refresh the account this session is pinned to, not whichever the
184
+ // user has since selected.
185
+ const store = createCodexAccountStore(this.authPath);
186
+ // Cross-process guard: single-use refresh_token — don't overwrite a
187
+ // newer rotation already written by another term2 instance.
188
+ const refreshTarget = this.pinnedAccountId;
189
+ const current = refreshTarget
190
+ ? store.get(refreshTarget)?.tokens
191
+ : store.getActive()?.tokens;
192
+ if (current?.refresh_token && current.refresh_token !== refreshToken) {
193
+ return current.access_token;
194
+ }
195
+ const nextTokens = {
196
+ access_token: newAccessToken,
197
+ refresh_token: resBody.refresh_token || refreshToken,
198
+ id_token: newIdToken,
199
+ ...(refreshedAccountId ? { account_id: refreshedAccountId } : {}),
188
200
  };
189
- const tmpPath = `${tokenPath}.tmp`;
190
- fs.writeFileSync(tmpPath, JSON.stringify(updatedData, null, 2), {
191
- mode: 0o600,
192
- encoding: 'utf-8',
193
- });
194
- fs.renameSync(tmpPath, tokenPath);
201
+ if (refreshTarget)
202
+ store.updateTokens(refreshTarget, nextTokens);
203
+ else
204
+ store.updateActiveTokens(nextTokens);
195
205
  return newAccessToken;
196
206
  }
197
207
  finally {
@@ -326,7 +336,7 @@ export function addCodexResponsesLiteHeader(url, init) {
326
336
  };
327
337
  }
328
338
  async function fetchCodexModels(deps, fetchImpl = fetch) {
329
- const tokenManager = new CodexTokenManager({ fetchImpl: fetchImpl });
339
+ const tokenManager = new CodexTokenManager({ fetchImpl });
330
340
  const accessToken = await tokenManager.getOrRefreshAccessToken();
331
341
  const headers = {
332
342
  'Content-Type': 'application/json',
@@ -368,6 +378,14 @@ async function fetchCodexModels(deps, fetchImpl = fetch) {
368
378
  })
369
379
  .filter(Boolean);
370
380
  }
381
+ const CODEX_CAPABILITIES = {
382
+ supportsConversationChaining: true,
383
+ // Codex's Responses-Lite shim accepts the Responses shape but rejects
384
+ // server-side context_management with a 400 unsupported_value response.
385
+ supportsContextCompaction: false,
386
+ supportsPromptCacheKey: true,
387
+ usesStrictToolSchema: true,
388
+ };
371
389
  export class CodexProvider {
372
390
  openAIClient;
373
391
  tokenManager;
@@ -377,8 +395,9 @@ export class CodexProvider {
377
395
  retryAttempts;
378
396
  websocketReceiveTimeouts;
379
397
  onRetry;
398
+ contextCompactionSessionState;
380
399
  models = new Map();
381
- constructor(openAIClient, tokenManager, loggingService, sessionContextService, transport, retryAttempts, websocketReceiveTimeouts, onRetry) {
400
+ constructor(openAIClient, tokenManager, loggingService, sessionContextService, transport, retryAttempts, websocketReceiveTimeouts, onRetry, contextCompactionSessionState) {
382
401
  this.openAIClient = openAIClient;
383
402
  this.tokenManager = tokenManager;
384
403
  this.loggingService = loggingService;
@@ -387,6 +406,7 @@ export class CodexProvider {
387
406
  this.retryAttempts = retryAttempts;
388
407
  this.websocketReceiveTimeouts = websocketReceiveTimeouts;
389
408
  this.onRetry = onRetry;
409
+ this.contextCompactionSessionState = contextCompactionSessionState;
390
410
  }
391
411
  setRetryCallback(callback) {
392
412
  this.onRetry = callback;
@@ -397,9 +417,18 @@ export class CodexProvider {
397
417
  const resolvedModel = modelName || DEFAULT_CODEX_MODEL;
398
418
  let retryingModel = this.models.get(resolvedModel);
399
419
  if (!retryingModel) {
420
+ // Tests inject a CodexResponsesTransport as loggingService (legacy seam).
421
+ // Prefer that over a freshly built transport so request/response fixtures still apply.
422
+ const injectedTransport = this.loggingService instanceof CodexResponsesTransport ? this.loggingService : undefined;
423
+ const transport = injectedTransport ??
424
+ new CodexResponsesTransport(this.openAIClient, resolvedModel, this.transport === 'websocket', {
425
+ supportsContextCompaction: CODEX_CAPABILITIES.supportsContextCompaction,
426
+ contextCompactionSessionState: this.contextCompactionSessionState,
427
+ });
428
+ const diagnosticLogger = injectedTransport ? undefined : this.loggingService;
400
429
  const selectedModel = this.transport === 'http'
401
- ? new CodexResponsesModel(this.openAIClient, resolvedModel, this.loggingService)
402
- : new CodexResponsesWSModel(this.openAIClient, resolvedModel, this.tokenManager, this.loggingService, this.loggingService?.providerTraffic, this.sessionContextService, this.websocketReceiveTimeouts);
430
+ ? new CodexResponsesModel(this.openAIClient, resolvedModel, diagnosticLogger, undefined, transport)
431
+ : new CodexResponsesWSModel(this.openAIClient, resolvedModel, this.tokenManager, diagnosticLogger, diagnosticLogger?.providerTraffic, this.sessionContextService, this.websocketReceiveTimeouts, undefined, transport);
403
432
  retryingModel = new RetryingModel(selectedModel, {
404
433
  retryAttempts: this.retryAttempts,
405
434
  loggingService: this.loggingService,
@@ -489,7 +518,7 @@ function codexProviderFingerprint(settingsService, retryAttempts) {
489
518
  registerProvider({
490
519
  id: 'codex',
491
520
  label: 'Codex',
492
- createStreamedModel: (model, { settingsService, loggingService, sessionContextService, onRetry, retryAttempts }) => {
521
+ createStreamedModel: (model, { settingsService, loggingService, sessionContextService, onRetry, retryAttempts, contextCompactionSessionState }) => {
493
522
  const defaultModel = settingsService.get('agent.model') || 'gpt-5.3-codex';
494
523
  // A session context is the ownership boundary for continuation state. Do
495
524
  // not fall back to the settings service: it can be shared by independent
@@ -527,7 +556,7 @@ registerProvider({
527
556
  const provider = new CodexProvider(openAIClient, tokenManager, loggingService, sessionContextService, settingsService.get('agent.transport') ?? 'websocket', retryAttempts ?? settingsService.get('agent.retryAttempts') ?? 2, {
528
557
  firstFrameMs: settingsService.get('agent.codex.websocketFirstFrameTimeoutMs') ?? 90_000,
529
558
  interFrameMs: settingsService.get('agent.codex.websocketInterFrameTimeoutMs') ?? 600_000,
530
- }, onRetry);
559
+ }, onRetry, contextCompactionSessionState);
531
560
  if (cacheKey)
532
561
  streamedProviders.set(cacheKey, { fingerprint, provider });
533
562
  return provider.getStreamedModel(model || defaultModel);
@@ -535,10 +564,6 @@ registerProvider({
535
564
  fetchModels: fetchCodexModels,
536
565
  clearConversations: undefined,
537
566
  sensitiveSettingKeys: [],
538
- capabilities: {
539
- supportsConversationChaining: true,
540
- supportsPromptCacheKey: true,
541
- usesStrictToolSchema: true,
542
- },
567
+ capabilities: CODEX_CAPABILITIES,
543
568
  });
544
569
  //# sourceMappingURL=codex.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.provider.js","sourceRoot":"","sources":["../../source/providers/codex.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.provider.js","sourceRoot":"","sources":["../../source/providers/codex.provider.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,24 @@ export declare class LongRetryDelayError extends Error {
19
19
  retryAfter: number;
20
20
  constructor(retryAfter: number);
21
21
  }
22
+ /**
23
+ * Thrown by a provider's auth middleware when the stored credential cannot be
24
+ * used and only a human re-login can fix it — no token to refresh, or an
25
+ * imported CLI token that has expired.
26
+ *
27
+ * It needs its own class because it is thrown from inside `fetch`. The OpenAI
28
+ * SDK wraps any throw from its fetch impl in `APIConnectionError('Connection
29
+ * error.')`, which retry classification reads as a transient network fault. The
30
+ * result was ~9 pointless retries across three retry layers and a user-facing
31
+ * "Connection error." in place of the instruction that would have fixed it.
32
+ */
33
+ export declare class ProviderReauthenticationRequiredError extends Error {
34
+ readonly requiresReauthentication = true;
35
+ constructor(message: string);
36
+ }
37
+ /**
38
+ * Walks the `cause` chain, because the SDK's `APIConnectionError` wrapper is
39
+ * what callers actually catch.
40
+ */
41
+ export declare function findReauthenticationRequiredError(error: unknown): ProviderReauthenticationRequiredError | undefined;
22
42
  //# sourceMappingURL=provider-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../source/providers/common/provider-errors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAMlG;CACF;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAMlG;CACF;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,UAAU,EAAE,MAAM,EAI7B;CACF"}
1
+ {"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../source/providers/common/provider-errors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAMlG;CACF;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAMlG;CACF;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,UAAU,EAAE,MAAM,EAI7B;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qCAAsC,SAAQ,KAAK;IAC9D,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,qCAAqC,GAAG,SAAS,CAUnH"}
@@ -35,4 +35,39 @@ export class LongRetryDelayError extends Error {
35
35
  this.retryAfter = retryAfter;
36
36
  }
37
37
  }
38
+ /**
39
+ * Thrown by a provider's auth middleware when the stored credential cannot be
40
+ * used and only a human re-login can fix it — no token to refresh, or an
41
+ * imported CLI token that has expired.
42
+ *
43
+ * It needs its own class because it is thrown from inside `fetch`. The OpenAI
44
+ * SDK wraps any throw from its fetch impl in `APIConnectionError('Connection
45
+ * error.')`, which retry classification reads as a transient network fault. The
46
+ * result was ~9 pointless retries across three retry layers and a user-facing
47
+ * "Connection error." in place of the instruction that would have fixed it.
48
+ */
49
+ export class ProviderReauthenticationRequiredError extends Error {
50
+ requiresReauthentication = true;
51
+ constructor(message) {
52
+ super(message);
53
+ this.name = 'ProviderReauthenticationRequiredError';
54
+ }
55
+ }
56
+ /**
57
+ * Walks the `cause` chain, because the SDK's `APIConnectionError` wrapper is
58
+ * what callers actually catch.
59
+ */
60
+ export function findReauthenticationRequiredError(error) {
61
+ const seen = new Set();
62
+ let current = error;
63
+ while (current && typeof current === 'object' && !seen.has(current)) {
64
+ if (current instanceof ProviderReauthenticationRequiredError)
65
+ return current;
66
+ if (current.requiresReauthentication === true)
67
+ return current;
68
+ seen.add(current);
69
+ current = current.cause;
70
+ }
71
+ return undefined;
72
+ }
38
73
  //# sourceMappingURL=provider-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-errors.js","sourceRoot":"","sources":["../../../source/providers/common/provider-errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,MAAM,CAAS;IACf,OAAO,CAAyB;IAChC,YAAY,CAAU;IAEtB,YAAY,OAAe,EAAE,MAAc,EAAE,OAA+B,EAAE,YAAqB;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAS;IACf,OAAO,CAAyB;IAChC,YAAY,CAAU;IAEtB,YAAY,OAAe,EAAE,MAAc,EAAE,OAA+B,EAAE,YAAqB;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,UAAU,CAAS;IAEnB,YAAY,UAAkB;QAC5B,KAAK,CAAC,iCAAiC,UAAU,gEAAgE,CAAC,CAAC;QACnH,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"provider-errors.js","sourceRoot":"","sources":["../../../source/providers/common/provider-errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,MAAM,CAAS;IACf,OAAO,CAAyB;IAChC,YAAY,CAAU;IAEtB,YAAY,OAAe,EAAE,MAAc,EAAE,OAA+B,EAAE,YAAqB;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAS;IACf,OAAO,CAAyB;IAChC,YAAY,CAAU;IAEtB,YAAY,OAAe,EAAE,MAAc,EAAE,OAA+B,EAAE,YAAqB;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,UAAU,CAAS;IAEnB,YAAY,UAAkB;QAC5B,KAAK,CAAC,iCAAiC,UAAU,gEAAgE,CAAC,CAAC;QACnH,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,qCAAsC,SAAQ,KAAK;IACrD,wBAAwB,GAAG,IAAI,CAAC;IAEzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uCAAuC,CAAC;IACtD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAAc;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,IAAI,OAAO,YAAY,qCAAqC;YAAE,OAAO,OAAO,CAAC;QAC7E,IAAK,OAAe,CAAC,wBAAwB,KAAK,IAAI;YAAE,OAAO,OAAgD,CAAC;QAChH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,GAAI,OAAe,CAAC,KAAK,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,105 @@
1
+ import type { PkceLoginConfig } from './oauth-pkce.js';
2
+ import { OAuthAccountStore } from './oauth-account-store.js';
3
+ import type { OAuthAccount } from './oauth-account-store.js';
4
+ /**
5
+ * Grok (xAI) OAuth 2.0 + PKCE login and token storage.
6
+ *
7
+ * The public desktop client id, the loopback redirect, and the scope set below
8
+ * are the ones the official `grok` CLI registers with https://auth.x.ai. They
9
+ * are public by design (a native app cannot keep a secret), but the values are
10
+ * load-bearing: the authorization server rejects an unregistered redirect_uri
11
+ * or client_id outright, so do not "clean them up" into settings without
12
+ * re-registering.
13
+ */
14
+ export declare const GROK_OIDC_ISSUER = "https://auth.x.ai";
15
+ export declare const GROK_OIDC_CLIENT_ID = "b1a00492-073a-47ea-816f-4c329264a828";
16
+ export declare const GROK_AUTHORIZE_ENDPOINT = "https://auth.x.ai/oauth2/authorize";
17
+ export declare const GROK_TOKEN_ENDPOINT = "https://auth.x.ai/oauth2/token";
18
+ /** The authorization server only accepts this exact loopback callback. */
19
+ export declare const GROK_REDIRECT_PORT = 22255;
20
+ export declare const GROK_REDIRECT_URI = "http://localhost:22255/callback";
21
+ export declare const GROK_SCOPES: string[];
22
+ export type GrokTokens = {
23
+ access_token: string;
24
+ refresh_token?: string;
25
+ id_token?: string;
26
+ /** Absolute expiry in epoch milliseconds. */
27
+ expires_at?: number;
28
+ email?: string;
29
+ user_id?: string;
30
+ team_id?: string;
31
+ /** True when this came from the grok CLI's store, so we hold no refresh token. */
32
+ imported?: boolean;
33
+ };
34
+ /** term2's own credential file. We never write to the grok CLI's store. */
35
+ export declare function resolveGrokAuthPath(): string;
36
+ /**
37
+ * The official `grok` CLI's credential file, used read-only as a fallback so a
38
+ * host that already ran `grok login` works without a second login. Its store is
39
+ * keyed by `<issuer>::<client_id>` and holds many scopes at once.
40
+ */
41
+ export declare function resolveGrokCliAuthPath(): string | null;
42
+ /**
43
+ * Import a credential from the grok CLI's store — **the access token only.**
44
+ *
45
+ * xAI rotates refresh tokens: each refresh invalidates the one before it. If
46
+ * term2 carried the CLI's refresh token, the two processes would be two writers
47
+ * on one rotation chain and the loser would be silently logged out. So this is
48
+ * a one-way, short-lived grace: an already-logged-in host works immediately,
49
+ * and once that access token expires the user runs `term2 --grok-login` to get
50
+ * a rotation chain of our own.
51
+ */
52
+ export declare function readGrokCliTokens(filePath: string): GrokTokens | null;
53
+ export declare function createGrokAccountStore(filePath?: string): OAuthAccountStore<GrokTokens>;
54
+ /** The credential of whichever Grok account is currently selected. */
55
+ export declare function readStoredGrokTokens(filePath?: string): GrokTokens | null;
56
+ /** Stores a credential as an account and makes it the active one. */
57
+ export declare function saveGrokTokens(tokens: GrokTokens, filePath?: string): void;
58
+ export declare function listGrokAccounts(filePath?: string): OAuthAccount<GrokTokens>[];
59
+ export declare function getActiveGrokAccount(filePath?: string): OAuthAccount<GrokTokens> | null;
60
+ export declare function setActiveGrokAccount(accountId: string, filePath?: string): boolean;
61
+ export declare function removeGrokAccount(accountId: string, filePath?: string): boolean;
62
+ /** True when term2 or the grok CLI has a usable Grok credential on this host. */
63
+ export declare function hasGrokLogin(): boolean;
64
+ /**
65
+ * Resolves a live access token, refreshing it when it is expired or close to
66
+ * expiring. Concurrent callers share one refresh so the single-use refresh
67
+ * token is not spent twice.
68
+ */
69
+ export declare class GrokTokenManager {
70
+ private activeRefresh;
71
+ /**
72
+ * The account this manager resolved first, held for its whole lifetime.
73
+ *
74
+ * Selecting a different account in the UI changes the store's active pointer,
75
+ * but a running session keeps authenticating as whoever it started as —
76
+ * provider response chaining is bound to that identity, so swapping it
77
+ * mid-session would break the chain.
78
+ */
79
+ private pinnedAccountId;
80
+ private readonly fetchImpl;
81
+ private readonly authPath;
82
+ private readonly cliAuthPathResolver;
83
+ constructor(options?: {
84
+ fetchImpl?: typeof fetch;
85
+ authPath?: string;
86
+ cliAuthPathResolver?: () => string | null;
87
+ });
88
+ private load;
89
+ /** The account id this session is authenticating as, once it has resolved one. */
90
+ getPinnedAccountId(): string | null;
91
+ getOrRefreshAccessToken(): Promise<string>;
92
+ }
93
+ export declare const GROK_PKCE_CONFIG: PkceLoginConfig;
94
+ /**
95
+ * Runs the browser OAuth + PKCE flow and persists the resulting tokens into
96
+ * term2's own store. Resolves only after the human finishes in the browser.
97
+ */
98
+ export declare function loginToGrok(options?: {
99
+ fetchImpl?: typeof fetch;
100
+ authPath?: string;
101
+ openBrowser?: (url: string) => void;
102
+ onPrompt?: (url: string) => void;
103
+ signal?: AbortSignal;
104
+ }): Promise<GrokTokens>;
105
+ //# sourceMappingURL=grok-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-auth.d.ts","sourceRoot":"","sources":["../../source/providers/grok-auth.ts"],"names":[],"mappings":"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"}