@jingyi0605/codingns4dsh 0.2.0-beta.2 → 0.2.0-rc.2

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 (420) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +7 -5
  3. package/assets/provider-icons/minimax-code.svg +4 -0
  4. package/assets/provider-icons/zcode.svg +14 -0
  5. package/data/build/dist/client/account-bar.d.ts +2 -1
  6. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  7. package/data/build/dist/client/account-bar.js +21 -16
  8. package/data/build/dist/client/account-bar.js.map +1 -1
  9. package/data/build/dist/client/bundle.js +4172 -1540
  10. package/data/build/dist/client/bundle.js.map +1 -1
  11. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  12. package/data/build/dist/client/cli-slots.js +20 -12
  13. package/data/build/dist/client/cli-slots.js.map +1 -1
  14. package/data/build/dist/client/debug/ui.d.ts +2 -1
  15. package/data/build/dist/client/debug/ui.d.ts.map +1 -1
  16. package/data/build/dist/client/debug/ui.js +39 -33
  17. package/data/build/dist/client/debug/ui.js.map +1 -1
  18. package/data/build/dist/client/delegate-command.d.ts +16 -0
  19. package/data/build/dist/client/delegate-command.d.ts.map +1 -0
  20. package/data/build/dist/client/delegate-command.js +138 -0
  21. package/data/build/dist/client/delegate-command.js.map +1 -0
  22. package/data/build/dist/client/delegate-plan.d.ts +31 -0
  23. package/data/build/dist/client/delegate-plan.d.ts.map +1 -0
  24. package/data/build/dist/client/delegate-plan.js +59 -0
  25. package/data/build/dist/client/delegate-plan.js.map +1 -0
  26. package/data/build/dist/client/delegate-ui-dom.d.ts +40 -0
  27. package/data/build/dist/client/delegate-ui-dom.d.ts.map +1 -0
  28. package/data/build/dist/client/delegate-ui-dom.js +363 -0
  29. package/data/build/dist/client/delegate-ui-dom.js.map +1 -0
  30. package/data/build/dist/client/external-tool-stream.d.ts.map +1 -1
  31. package/data/build/dist/client/external-tool-stream.js +44 -36
  32. package/data/build/dist/client/external-tool-stream.js.map +1 -1
  33. package/data/build/dist/client/features/cli-adapters.d.ts +7 -2
  34. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  35. package/data/build/dist/client/features/cli-adapters.js +52 -103
  36. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  37. package/data/build/dist/client/features/debug.d.ts.map +1 -1
  38. package/data/build/dist/client/features/debug.js +5 -3
  39. package/data/build/dist/client/features/debug.js.map +1 -1
  40. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  41. package/data/build/dist/client/features/file-management.js +7 -4
  42. package/data/build/dist/client/features/file-management.js.map +1 -1
  43. package/data/build/dist/client/features/lan-access-panel.js +10 -10
  44. package/data/build/dist/client/features/lan-access-panel.js.map +1 -1
  45. package/data/build/dist/client/features/lan-access.d.ts.map +1 -1
  46. package/data/build/dist/client/features/lan-access.js +8 -3
  47. package/data/build/dist/client/features/lan-access.js.map +1 -1
  48. package/data/build/dist/client/features/login-protection-panel.d.ts.map +1 -1
  49. package/data/build/dist/client/features/login-protection-panel.js +9 -7
  50. package/data/build/dist/client/features/login-protection-panel.js.map +1 -1
  51. package/data/build/dist/client/features/login-protection.js +2 -2
  52. package/data/build/dist/client/features/login-protection.js.map +1 -1
  53. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  54. package/data/build/dist/client/features/mobile-access.js +6 -2
  55. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  56. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  57. package/data/build/dist/client/features/peer-host.js +115 -11
  58. package/data/build/dist/client/features/peer-host.js.map +1 -1
  59. package/data/build/dist/client/features/reverse-proxy.js +2 -2
  60. package/data/build/dist/client/features/reverse-proxy.js.map +1 -1
  61. package/data/build/dist/client/features/terminal-enhancement.js +2 -2
  62. package/data/build/dist/client/features/terminal-enhancement.js.map +1 -1
  63. package/data/build/dist/client/features/workspace-session-enhancement-panel.js +1 -1
  64. package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
  65. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  66. package/data/build/dist/client/features/workspace-session-enhancement.js +8 -3
  67. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  68. package/data/build/dist/client/file-management-dom.d.ts +3 -0
  69. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  70. package/data/build/dist/client/file-management-dom.js +41 -30
  71. package/data/build/dist/client/file-management-dom.js.map +1 -1
  72. package/data/build/dist/client/git-management.d.ts +2 -0
  73. package/data/build/dist/client/git-management.d.ts.map +1 -1
  74. package/data/build/dist/client/git-management.js +82 -74
  75. package/data/build/dist/client/git-management.js.map +1 -1
  76. package/data/build/dist/client/git-workspace-events.d.ts +7 -0
  77. package/data/build/dist/client/git-workspace-events.d.ts.map +1 -0
  78. package/data/build/dist/client/git-workspace-events.js +32 -0
  79. package/data/build/dist/client/git-workspace-events.js.map +1 -0
  80. package/data/build/dist/client/index.d.ts +2 -0
  81. package/data/build/dist/client/index.d.ts.map +1 -1
  82. package/data/build/dist/client/index.js +6 -5
  83. package/data/build/dist/client/index.js.map +1 -1
  84. package/data/build/dist/client/locale.d.ts +7 -0
  85. package/data/build/dist/client/locale.d.ts.map +1 -1
  86. package/data/build/dist/client/locale.js +80 -36
  87. package/data/build/dist/client/locale.js.map +1 -1
  88. package/data/build/dist/client/locales/debug.d.ts +9 -0
  89. package/data/build/dist/client/locales/debug.d.ts.map +1 -0
  90. package/data/build/dist/client/locales/debug.js +163 -0
  91. package/data/build/dist/client/locales/debug.js.map +1 -0
  92. package/data/build/dist/client/locales/fileWorkspace.d.ts +9 -0
  93. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -0
  94. package/data/build/dist/client/locales/fileWorkspace.js +139 -0
  95. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -0
  96. package/data/build/dist/client/locales/git.d.ts +9 -0
  97. package/data/build/dist/client/locales/git.d.ts.map +1 -0
  98. package/data/build/dist/client/locales/git.js +223 -0
  99. package/data/build/dist/client/locales/git.js.map +1 -0
  100. package/data/build/dist/client/locales/panels.d.ts +9 -0
  101. package/data/build/dist/client/locales/panels.d.ts.map +1 -0
  102. package/data/build/dist/client/locales/panels.js +33 -0
  103. package/data/build/dist/client/locales/panels.js.map +1 -0
  104. package/data/build/dist/client/locales/peerHost.d.ts +9 -0
  105. package/data/build/dist/client/locales/peerHost.d.ts.map +1 -0
  106. package/data/build/dist/client/locales/peerHost.js +153 -0
  107. package/data/build/dist/client/locales/peerHost.js.map +1 -0
  108. package/data/build/dist/client/locales/peerHostWorkspace.d.ts +9 -0
  109. package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -0
  110. package/data/build/dist/client/locales/peerHostWorkspace.js +69 -0
  111. package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -0
  112. package/data/build/dist/client/locales/terminalAuth.d.ts +9 -0
  113. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -0
  114. package/data/build/dist/client/locales/terminalAuth.js +67 -0
  115. package/data/build/dist/client/locales/terminalAuth.js.map +1 -0
  116. package/data/build/dist/client/locales/usage.d.ts +9 -0
  117. package/data/build/dist/client/locales/usage.d.ts.map +1 -0
  118. package/data/build/dist/client/locales/usage.js +195 -0
  119. package/data/build/dist/client/locales/usage.js.map +1 -0
  120. package/data/build/dist/client/mobile-session-interaction.d.ts +44 -0
  121. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -0
  122. package/data/build/dist/client/mobile-session-interaction.js +291 -0
  123. package/data/build/dist/client/mobile-session-interaction.js.map +1 -0
  124. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts +10 -2
  125. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts.map +1 -1
  126. package/data/build/dist/client/mobile-sidebar-rail-dom.js +14 -6
  127. package/data/build/dist/client/mobile-sidebar-rail-dom.js.map +1 -1
  128. package/data/build/dist/client/peer-host-connection-button.d.ts +14 -1
  129. package/data/build/dist/client/peer-host-connection-button.d.ts.map +1 -1
  130. package/data/build/dist/client/peer-host-connection-button.js +12 -4
  131. package/data/build/dist/client/peer-host-connection-button.js.map +1 -1
  132. package/data/build/dist/client/peer-host-management-panel.d.ts +3 -0
  133. package/data/build/dist/client/peer-host-management-panel.d.ts.map +1 -1
  134. package/data/build/dist/client/peer-host-management-panel.js +83 -79
  135. package/data/build/dist/client/peer-host-management-panel.js.map +1 -1
  136. package/data/build/dist/client/peer-host-native-projection.d.ts +1 -0
  137. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
  138. package/data/build/dist/client/peer-host-native-projection.js +5 -0
  139. package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
  140. package/data/build/dist/client/peer-host-scoped-client.js +5 -5
  141. package/data/build/dist/client/peer-host-scoped-client.js.map +1 -1
  142. package/data/build/dist/client/peer-host-workspace-tab.d.ts +8 -0
  143. package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
  144. package/data/build/dist/client/peer-host-workspace-tab.js +48 -28
  145. package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
  146. package/data/build/dist/client/provider-icon-assets.js +4 -0
  147. package/data/build/dist/client/provider-icon-assets.js.map +1 -1
  148. package/data/build/dist/client/provider-icons.d.ts +8 -2
  149. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  150. package/data/build/dist/client/provider-icons.js +13 -4
  151. package/data/build/dist/client/provider-icons.js.map +1 -1
  152. package/data/build/dist/client/pwa-install-prompt.d.ts +4 -1
  153. package/data/build/dist/client/pwa-install-prompt.d.ts.map +1 -1
  154. package/data/build/dist/client/pwa-install-prompt.js +8 -7
  155. package/data/build/dist/client/pwa-install-prompt.js.map +1 -1
  156. package/data/build/dist/client/quick-phrase-layout.d.ts +11 -0
  157. package/data/build/dist/client/quick-phrase-layout.d.ts.map +1 -1
  158. package/data/build/dist/client/quick-phrase-layout.js +20 -0
  159. package/data/build/dist/client/quick-phrase-layout.js.map +1 -1
  160. package/data/build/dist/client/quick-phrase-slot.d.ts.map +1 -1
  161. package/data/build/dist/client/quick-phrase-slot.js +20 -8
  162. package/data/build/dist/client/quick-phrase-slot.js.map +1 -1
  163. package/data/build/dist/client/session-changed-files-view.d.ts +8 -1
  164. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
  165. package/data/build/dist/client/session-changed-files-view.js +71 -28
  166. package/data/build/dist/client/session-changed-files-view.js.map +1 -1
  167. package/data/build/dist/client/settings-anchor.d.ts +9 -3
  168. package/data/build/dist/client/settings-anchor.d.ts.map +1 -1
  169. package/data/build/dist/client/settings-anchor.js +8 -2
  170. package/data/build/dist/client/settings-anchor.js.map +1 -1
  171. package/data/build/dist/client/settings-section.js +3 -3
  172. package/data/build/dist/client/settings-section.js.map +1 -1
  173. package/data/build/dist/client/subscription-slot.d.ts +4 -1
  174. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  175. package/data/build/dist/client/subscription-slot.js +327 -51
  176. package/data/build/dist/client/subscription-slot.js.map +1 -1
  177. package/data/build/dist/client/terminal/model.d.ts +13 -2
  178. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  179. package/data/build/dist/client/terminal/model.js +27 -7
  180. package/data/build/dist/client/terminal/model.js.map +1 -1
  181. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  182. package/data/build/dist/client/terminal/ui.js +3 -1
  183. package/data/build/dist/client/terminal/ui.js.map +1 -1
  184. package/data/build/dist/client/terminal/xterm-view.d.ts +4 -1
  185. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  186. package/data/build/dist/client/terminal/xterm-view.js +19 -17
  187. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  188. package/data/build/dist/client/workspace-session-archive-dom.d.ts +3 -0
  189. package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -1
  190. package/data/build/dist/client/workspace-session-archive-dom.js +131 -45
  191. package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -1
  192. package/data/build/dist/client/workspace-session-logo-dom.d.ts +3 -0
  193. package/data/build/dist/client/workspace-session-logo-dom.d.ts.map +1 -1
  194. package/data/build/dist/client/workspace-session-logo-dom.js +3 -1
  195. package/data/build/dist/client/workspace-session-logo-dom.js.map +1 -1
  196. package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
  197. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
  198. package/data/build/dist/client/workspace-session-visibility-dom.js +46 -17
  199. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
  200. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +10 -0
  201. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  202. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +20 -0
  203. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  204. package/data/build/dist/host/browser-text.d.ts +30 -0
  205. package/data/build/dist/host/browser-text.d.ts.map +1 -0
  206. package/data/build/dist/host/browser-text.js +105 -0
  207. package/data/build/dist/host/browser-text.js.map +1 -0
  208. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +28 -2
  209. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  210. package/data/build/dist/host/cli-adapters/claude-driver.js +73 -3
  211. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  212. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -1
  213. package/data/build/dist/host/cli-adapters/claude-model-options.js +22 -9
  214. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -1
  215. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +10 -0
  216. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  217. package/data/build/dist/host/cli-adapters/codex-driver.js +105 -5
  218. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  219. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  220. package/data/build/dist/host/cli-adapters/command-code-driver.js +49 -7
  221. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  222. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts +47 -0
  223. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts.map +1 -0
  224. package/data/build/dist/host/cli-adapters/delegate-dispatch.js +158 -0
  225. package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -0
  226. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +32 -0
  227. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -0
  228. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +121 -0
  229. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -0
  230. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  231. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +5 -4
  232. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  233. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts +16 -0
  234. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -0
  235. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +73 -0
  236. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -0
  237. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  238. package/data/build/dist/host/cli-adapters/feature.js +196 -14
  239. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  240. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  241. package/data/build/dist/host/cli-adapters/gemini-driver.js +21 -5
  242. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  243. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  244. package/data/build/dist/host/cli-adapters/grok-driver.js +24 -7
  245. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  246. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts +22 -6
  247. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  248. package/data/build/dist/host/cli-adapters/json-rpc-process.js +118 -21
  249. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  250. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  251. package/data/build/dist/host/cli-adapters/kimi-driver.js +25 -4
  252. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  253. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts +11 -2
  254. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  255. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +15 -6
  256. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  257. package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts +23 -0
  258. package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts.map +1 -0
  259. package/data/build/dist/host/cli-adapters/mcode-catalog.js +120 -0
  260. package/data/build/dist/host/cli-adapters/mcode-catalog.js.map +1 -0
  261. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +56 -0
  262. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -0
  263. package/data/build/dist/host/cli-adapters/mcode-driver.js +544 -0
  264. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -0
  265. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +30 -5
  266. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  267. package/data/build/dist/host/cli-adapters/model-catalog.js +83 -8
  268. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  269. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +51 -0
  270. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -0
  271. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +193 -0
  272. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -0
  273. package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts +4 -0
  274. package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts.map +1 -0
  275. package/data/build/dist/host/cli-adapters/native-subagent-holder.js +4 -0
  276. package/data/build/dist/host/cli-adapters/native-subagent-holder.js.map +1 -0
  277. package/data/build/dist/host/cli-adapters/native-team-proxy.js +18 -15
  278. package/data/build/dist/host/cli-adapters/native-team-proxy.js.map +1 -1
  279. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +45 -0
  280. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -0
  281. package/data/build/dist/host/cli-adapters/native-team-subagent.js +107 -0
  282. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -0
  283. package/data/build/dist/host/cli-adapters/opencode-driver.js +13 -3
  284. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  285. package/data/build/dist/host/cli-adapters/pi-driver.js +24 -7
  286. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  287. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +8 -1
  288. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  289. package/data/build/dist/host/cli-adapters/provider-subscription.js +98 -2
  290. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  291. package/data/build/dist/host/cli-adapters/registry-holder.d.ts +4 -0
  292. package/data/build/dist/host/cli-adapters/registry-holder.d.ts.map +1 -0
  293. package/data/build/dist/host/cli-adapters/registry-holder.js +9 -0
  294. package/data/build/dist/host/cli-adapters/registry-holder.js.map +1 -0
  295. package/data/build/dist/host/cli-adapters/registry.d.ts +13 -0
  296. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  297. package/data/build/dist/host/cli-adapters/registry.js +37 -0
  298. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  299. package/data/build/dist/host/cli-adapters/session-store.d.ts +6 -1
  300. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
  301. package/data/build/dist/host/cli-adapters/session-store.js +42 -4
  302. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
  303. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +2 -0
  304. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  305. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +30 -4
  306. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  307. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts +5 -0
  308. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -0
  309. package/data/build/dist/host/cli-adapters/subagent-tool.js +66 -0
  310. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -0
  311. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts +57 -0
  312. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -0
  313. package/data/build/dist/host/cli-adapters/zcode-driver.js +843 -0
  314. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -0
  315. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts +28 -0
  316. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts.map +1 -0
  317. package/data/build/dist/host/cli-adapters/zcode-subscription.js +212 -0
  318. package/data/build/dist/host/cli-adapters/zcode-subscription.js.map +1 -0
  319. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +27 -0
  320. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -0
  321. package/data/build/dist/host/cli-bridge/bridge-holder.js +51 -0
  322. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -0
  323. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +34 -0
  324. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -0
  325. package/data/build/dist/host/cli-bridge/bridge-server.js +135 -0
  326. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -0
  327. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts +25 -0
  328. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -0
  329. package/data/build/dist/host/cli-bridge/command-code-mod.js +60 -0
  330. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -0
  331. package/data/build/dist/host/cli-bridge/dispatch.d.ts +19 -0
  332. package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -0
  333. package/data/build/dist/host/cli-bridge/dispatch.js +90 -0
  334. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -0
  335. package/data/build/dist/host/cli-bridge/injections.d.ts +28 -0
  336. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -0
  337. package/data/build/dist/host/cli-bridge/injections.js +131 -0
  338. package/data/build/dist/host/cli-bridge/injections.js.map +1 -0
  339. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts +8 -0
  340. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts.map +1 -0
  341. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +151 -0
  342. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -0
  343. package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -1
  344. package/data/build/dist/host/features/lan-access-dsh.js +6 -2
  345. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
  346. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  347. package/data/build/dist/host/features/peer-host.js +2 -1
  348. package/data/build/dist/host/features/peer-host.js.map +1 -1
  349. package/data/build/dist/host/index.d.ts +4 -0
  350. package/data/build/dist/host/index.d.ts.map +1 -1
  351. package/data/build/dist/host/index.js +36 -0
  352. package/data/build/dist/host/index.js.map +1 -1
  353. package/data/build/dist/host/lan-access-dsh.d.ts +7 -1
  354. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  355. package/data/build/dist/host/lan-access-dsh.js +95 -19
  356. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  357. package/data/build/dist/host/login-attempt-guard.d.ts +55 -0
  358. package/data/build/dist/host/login-attempt-guard.d.ts.map +1 -0
  359. package/data/build/dist/host/login-attempt-guard.js +201 -0
  360. package/data/build/dist/host/login-attempt-guard.js.map +1 -0
  361. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +3 -0
  362. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -1
  363. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +2 -0
  364. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
  365. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +1 -0
  366. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -1
  367. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +1 -0
  368. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -1
  369. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +1 -1
  370. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
  371. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +3 -0
  372. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
  373. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts +8 -0
  374. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts.map +1 -1
  375. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js +9 -0
  376. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js.map +1 -1
  377. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts +7 -0
  378. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
  379. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +31 -3
  380. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  381. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts +6 -4
  382. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts.map +1 -1
  383. package/data/build/dist/host/modules/pwa/pwa-assets.js +11 -9
  384. package/data/build/dist/host/modules/pwa/pwa-assets.js.map +1 -1
  385. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts +3 -0
  386. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts.map +1 -1
  387. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js +6 -4
  388. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -1
  389. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  390. package/data/build/dist/host/native-session-bridge.js +70 -52
  391. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  392. package/data/build/dist/host/rpc.js +4 -1
  393. package/data/build/dist/host/rpc.js.map +1 -1
  394. package/data/build/dist/host/settings.d.ts.map +1 -1
  395. package/data/build/dist/host/settings.js +3 -0
  396. package/data/build/dist/host/settings.js.map +1 -1
  397. package/data/build/dist/shared/contracts/cli-adapter.d.ts +5 -0
  398. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  399. package/data/build/dist/shared/contracts/config.d.ts +10 -0
  400. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  401. package/data/build/dist/shared/contracts/config.js +8 -0
  402. package/data/build/dist/shared/contracts/config.js.map +1 -1
  403. package/data/build/dist/shared/contracts/peer-host.d.ts +2 -0
  404. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
  405. package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
  406. package/data/build/dist/shared/contracts/subscription.d.ts +15 -0
  407. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  408. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  409. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  410. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  411. package/data/build/dist/shared/contracts/version.js +1 -1
  412. package/data/build/dist/shared/contracts/version.js.map +1 -1
  413. package/data/build/dist/shared/index.d.ts +1 -1
  414. package/data/build/dist/shared/index.d.ts.map +1 -1
  415. package/data/build/dist/shared/index.js.map +1 -1
  416. package/package.json +3 -1
  417. package/profile/README.md +2 -2
  418. package/profile/package.json +2 -2
  419. package/profile/version.json +1 -1
  420. package/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"claude-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-driver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AACrG,OAAO,KAAK,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAgB,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAOlH,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;gBAE7C,OAAO,GAAE,2BAAgC;IAM/C,UAAU;IAcV,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAO/F,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,MAAM,EAAE;IAOnE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,SAAS,kBAAkB,EAAE;CA2BjH;AAuCD,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"claude-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-driver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC9H,OAAO,KAAK,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAgB,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AASlH,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAwG;IAC3H,4CAA4C;IAC5C,OAAO,CAAC,eAAe,CAAsB;gBAEjC,OAAO,GAAE,2BAAgC;IAMrD,8CAA8C;IAC/B,MAAM,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMlG,UAAU;IAkBV,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAO/F,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,MAAM,EAAE;IAcnE;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAwB1B,4CAA4C;IAC5C,OAAO,CAAC,oBAAoB;IAInB,OAAO,IAAI,IAAI;IAMxB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,SAAS,kBAAkB,EAAE;CA2BjH;AAuCD,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,CAAA"}
@@ -1,27 +1,45 @@
1
1
  import { homedir } from 'node:os';
2
2
  import { basename, dirname, join } from 'node:path';
3
3
  import { StandardStreamDriver, emptyCatalog } from './standard-stream-driver.js';
4
- import { CLAUDE_CATALOG, isProviderDefaultModel } from './model-catalog.js';
4
+ import { CLAUDE_CATALOG, clearEfforts, isProviderDefaultModel } from './model-catalog.js';
5
5
  import { discoverClaudeModelCatalog } from './claude-model-options.js';
6
6
  import { probeStoredSession, readFirstJsonRecord } from './session-probe.js';
7
7
  import { firstToolText, isToolRecord, serializeToolValue } from './tool-observation.js';
8
8
  import { promptWithAttachmentPaths } from './attachment-utils.js';
9
+ import { WINDOWS, commandEnvironment } from './process-utils.js';
10
+ import { claudeBridgeArgs } from '../cli-bridge/injections.js';
9
11
  export class ClaudeCodeDriver extends StandardStreamDriver {
10
12
  sessionRoots;
11
13
  claudeConfigDir;
12
14
  discoveryFetch;
15
+ /**
16
+ * `--effort` 探测结论,绑定到具体的 CLI 路径与版本。
17
+ *
18
+ * 只缓存确定结论:探测本身失败(进程无法启动、读不到帮助文本)时保持未缓存,
19
+ * 下一轮重试。否则一次偶发失败会把强度切换永久关掉,且无法自愈。
20
+ */
21
+ effortProbe;
22
+ /** 最近一次 detect 得到的版本;CLI 原地升级后据此让探测缓存失效。 */
23
+ detectedVersion = null;
13
24
  constructor(options = {}) {
14
25
  super({ id: 'claude-code', name: 'Claude Code', protocol: 'stream-json', capabilities: ['models', 'stream', 'resume', 'interrupt', 'tool-events', 'reasoning', 'usage'] }, { binaries: ['claude'] }, options);
15
26
  this.sessionRoots = options.sessionRoots ?? [join(process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), '.claude'), 'projects')];
16
27
  this.claudeConfigDir = options.claudeConfigDir;
17
28
  this.discoveryFetch = options.fetch;
18
29
  }
30
+ /** 每次探测都记录版本,让 `--effort` 缓存能随 CLI 原地升级失效。 */
31
+ async detect() {
32
+ const detected = await super.detect();
33
+ this.detectedVersion = detected.version;
34
+ return detected;
35
+ }
19
36
  async listModels() {
20
37
  const detected = await this.detect();
21
38
  if (!detected.installed || detected.command === null)
22
39
  return emptyCatalog();
40
+ let catalog;
23
41
  try {
24
- return await discoverClaudeModelCatalog({
42
+ catalog = await discoverClaudeModelCatalog({
25
43
  command: detected.command,
26
44
  spawn: this.runSpawn,
27
45
  ...(this.discoveryFetch ? { fetch: this.discoveryFetch } : {}),
@@ -29,8 +47,11 @@ export class ClaudeCodeDriver extends StandardStreamDriver {
29
47
  });
30
48
  }
31
49
  catch {
32
- return CLAUDE_CATALOG;
50
+ catalog = CLAUDE_CATALOG;
33
51
  }
52
+ // CLI 明确不支持 `--effort` 时,驱动不会下发该参数;此时目录也不能展示档位,
53
+ // 否则用户看到的是一个切换后不生效的选项。探测不确定时保持目录原样。
54
+ return this.probeEffortSupport() === 'unsupported' ? clearEfforts(catalog) : catalog;
34
55
  }
35
56
  async probeSession(input) {
36
57
  return probeStoredSession(input, {
@@ -41,14 +62,63 @@ export class ClaudeCodeDriver extends StandardStreamDriver {
41
62
  }
42
63
  buildArgs(input) {
43
64
  const args = ['-p', promptWithAttachmentPaths(input.prompt, input.attachments ?? []), '--output-format', 'stream-json', '--verbose', '--permission-mode', 'bypassPermissions'];
65
+ // 子代理托管开启时注入 MCP 替身工具并停用内建 Task 子代理。
66
+ args.push(...claudeBridgeArgs(input.sessionId, this.descriptor.id));
44
67
  for (const directory of new Set((input.attachments ?? []).map((attachment) => dirname(attachment.path))))
45
68
  args.push('--add-dir', directory);
46
69
  if (input.providerSessionId)
47
70
  args.push('--resume', input.providerSessionId);
48
71
  if (input.modelId && !isProviderDefaultModel(input.modelId))
49
72
  args.push('--model', input.modelId);
73
+ // `--effort` 是 CLI 的会话级参数,会写进请求的 output_config.effort;
74
+ // 只有探测到当前 CLI 支持该参数时才下发,避免旧版本因未知参数直接失败。
75
+ const effort = input.effortId?.trim();
76
+ if (effort && effort !== 'default' && this.supportsEffortOption())
77
+ args.push('--effort', effort);
50
78
  return args;
51
79
  }
80
+ /**
81
+ * 探测 `claude` 对 `--effort` 的支持状态。
82
+ *
83
+ * 只在拿到确定结论时缓存,并按「CLI 路径 + 版本」作键:路径相同但版本变了
84
+ * (原地升级)会重新探测。探测失败时返回 unknown 且不缓存,让下一轮重试——
85
+ * 既不会把偶发失败固化成「不支持」,也不会冒险给旧 CLI 传未知选项。
86
+ */
87
+ probeEffortSupport() {
88
+ const command = this.resolvedBinary;
89
+ if (command === null)
90
+ return 'unknown';
91
+ const cached = this.effortProbe;
92
+ if (cached !== undefined && cached.command === command && cached.version === this.detectedVersion) {
93
+ return cached.supported ? 'supported' : 'unsupported';
94
+ }
95
+ try {
96
+ const result = this.runSpawnSync(command, ['--help'], {
97
+ encoding: 'utf8', timeout: 5_000, windowsHide: true, shell: WINDOWS, env: commandEnvironment(command),
98
+ });
99
+ const help = `${typeof result.stdout === 'string' ? result.stdout : ''}\n${typeof result.stderr === 'string' ? result.stderr : ''}`;
100
+ // 只有真正读到帮助文本才算拿到结论。退出码非零或输出为空时,既可能是
101
+ // 旧 CLI 没有该参数,也可能是本次调用环境异常;一律按 unknown 处理,
102
+ // 不缓存、也不据此清空目录,避免把偶发失败固化成「不支持」。
103
+ if (result.status !== 0 || help.trim() === '')
104
+ return 'unknown';
105
+ const supported = /--effort\b/u.test(help);
106
+ this.effortProbe = { command, version: this.detectedVersion, supported };
107
+ return supported ? 'supported' : 'unsupported';
108
+ }
109
+ catch {
110
+ return 'unknown';
111
+ }
112
+ }
113
+ /** 只有确认支持时才下发 `--effort`;旧版本遇到未知选项会整轮失败。 */
114
+ supportsEffortOption() {
115
+ return this.probeEffortSupport() === 'supported';
116
+ }
117
+ dispose() {
118
+ this.effortProbe = undefined;
119
+ this.detectedVersion = null;
120
+ super.dispose();
121
+ }
52
122
  parseEvent(value, input) {
53
123
  const event = value.type === 'stream_event' && typeof value.event === 'object' && value.event !== null ? value.event : value;
54
124
  const delta = typeof event.delta === 'object' && event.delta !== null ? event.delta : null;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-model-options.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-model-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAI1C,OAAO,KAAK,EAAoB,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAStG,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAYD,8CAA8C;AAC9C,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAYvH"}
1
+ {"version":3,"file":"claude-model-options.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-model-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAI1C,OAAO,KAAK,EAAoB,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAStG,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAiBD,8CAA8C;AAC9C,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqBvH"}
@@ -2,7 +2,7 @@ import { spawn } from 'node:child_process';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { homedir } from 'node:os';
4
4
  import { join } from 'node:path';
5
- import { CLAUDE_CATALOG, enrichEfforts } from './model-catalog.js';
5
+ import { CLAUDE_CATALOG, CLAUDE_EFFORT_LEVELS, enrichEfforts, fillProviderEfforts } from './model-catalog.js';
6
6
  import { terminateChildProcess } from './process-utils.js';
7
7
  const DEFAULT_TIMEOUT_MS = 8_000;
8
8
  const INITIALIZE_REQUEST_ID = 'codingns-model-discovery';
@@ -13,15 +13,23 @@ export async function discoverClaudeModelCatalog(options) {
13
13
  const configDir = options.configDir ?? options.env?.CLAUDE_CONFIG_DIR ?? process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), '.claude');
14
14
  const runtimeEnv = { ...process.env, ...(options.env ?? {}), ...readClaudeEnv(configDir, options.workspaceDir ?? process.cwd()) };
15
15
  const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
16
- const tasks = [readInitializeModels(options.command, runtimeEnv, options.spawn ?? spawn, timeoutMs)];
17
16
  const gatewayUrl = resolveModelsUrl(runtimeEnv.ANTHROPIC_BASE_URL);
18
- if (gatewayUrl)
19
- tasks.push(readGatewayModels(gatewayUrl, runtimeEnv, options.fetch ?? fetch, timeoutMs));
20
- const settled = await Promise.allSettled(tasks);
21
- const discovered = settled.filter((result) => result.status === 'fulfilled').flatMap((result) => result.value);
17
+ const settled = await Promise.allSettled([
18
+ readInitializeModels(options.command, runtimeEnv, options.spawn ?? spawn, timeoutMs),
19
+ ...(gatewayUrl ? [readGatewayModels(gatewayUrl, runtimeEnv, options.fetch ?? fetch, timeoutMs)] : []),
20
+ ]);
21
+ const initialize = settled[0].status === 'fulfilled' ? settled[0].value : undefined;
22
+ const gateway = gatewayUrl && settled[1]?.status === 'fulfilled' ? settled[1].value : undefined;
23
+ const discovered = [...(initialize?.models ?? []), ...(gateway ?? [])];
22
24
  const configured = configuredModels(runtimeEnv);
23
25
  const merged = mergeModels([...CLAUDE_CATALOG.groups[0].models, ...discovered, ...configured]);
24
- return enrichEfforts({ groups: [{ id: 'claude', name: 'Claude', models: merged }], currentModel: null, currentEffort: null }, CLAUDE_CATALOG);
26
+ const enriched = enrichEfforts({ groups: [{ id: 'claude', name: 'Claude', models: merged }], currentModel: null, currentEffort: null }, CLAUDE_CATALOG);
27
+ // 中转站自定义命名的模型在官方目录里匹配不到 ID,但 `--effort` 是 CLI 的
28
+ // 会话级参数,档位不随模型变化。优先复用 CLI initialize 明确回报过的档位,
29
+ // 没有回报时才退回该 CLI 已验证的静态档位表,避免这些模型的强度切换在 UI
30
+ // 上静默消失。CLI 明确回报不支持档位的模型必须排除在外。
31
+ const confirmed = [...new Set((initialize?.models ?? []).flatMap((model) => model.efforts))];
32
+ return fillProviderEfforts(enriched, confirmed.length > 0 ? confirmed : CLAUDE_EFFORT_LEVELS, new Set(initialize?.noEffortIds ?? []));
25
33
  }
26
34
  function readClaudeEnv(configDir, workspaceDir) {
27
35
  const files = [join(configDir, 'settings.json'), join(configDir, 'settings.local.json'), join(workspaceDir, '.claude', 'settings.json'), join(workspaceDir, '.claude', 'settings.local.json')];
@@ -82,6 +90,7 @@ async function readInitializeModels(command, env, runSpawn, timeoutMs) {
82
90
  }
83
91
  function parseInitialize(output) {
84
92
  const models = [];
93
+ const noEffortIds = [];
85
94
  for (const line of output.split(/\r?\n/u)) {
86
95
  try {
87
96
  const message = JSON.parse(line);
@@ -97,14 +106,18 @@ function parseInitialize(output) {
97
106
  const id = value.trim() === 'default' ? DEFAULT_MODEL_ID : value.trim();
98
107
  const displayName = item.displayName;
99
108
  const efforts = item.supportedEffortLevels;
100
- models.push({ id, name: typeof displayName === 'string' && displayName.trim() ? displayName.trim() : value.trim(), efforts: Array.isArray(efforts) ? efforts.filter((level) => typeof level === 'string') : [] });
109
+ const levels = Array.isArray(efforts) ? efforts.filter((level) => typeof level === 'string') : [];
110
+ // CLI 明确回报不支持思考档位时,该模型必须保持空档位,不能被 Provider 级兜底覆盖。
111
+ if (levels.length === 0 && item.supportsEffort === false)
112
+ noEffortIds.push(id);
113
+ models.push({ id, name: typeof displayName === 'string' && displayName.trim() ? displayName.trim() : value.trim(), efforts: levels });
101
114
  }
102
115
  }
103
116
  catch { /* 忽略 CLI 输出中的非 JSON 行。 */ }
104
117
  }
105
118
  if (models.length === 0)
106
119
  throw new Error('CLAUDE_MODELS_RESPONSE_EMPTY');
107
- return mergeModels(models);
120
+ return { models: mergeModels(models), noEffortIds };
108
121
  }
109
122
  async function readGatewayModels(url, env, request, timeoutMs) {
110
123
  const controller = new AbortController();
@@ -1 +1 @@
1
- {"version":3,"file":"claude-model-options.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-model-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-model-options.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/claude-model-options.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,16 @@ export declare class CodexAppServerDriver implements CodingNsCliDriver {
42
42
  private startSegmentedTurn;
43
43
  private consumeSegment;
44
44
  private closeSegmentedTurn;
45
+ /**
46
+ * 让线程真正生效的模型与 DSH 当前选择的模型保持一致。
47
+ *
48
+ * Codex 只在 `thread/start` 时决定线程模型,同一 app-server 进程内再次
49
+ * `thread/resume` 不会改写已持久化的模型。用户在 DSH 里切换模型后,如果不
50
+ * 显式纠正,后续 turn 仍会沿用旧模型;而线程一旦被写入错误模型(例如历史
51
+ * 路由把 DSH 主模型泄漏给 Codex),会话就会持续以 404 失败且无法自愈。
52
+ * 这里只在两者确实不同时下发一次纠正,避免每个 step 都产生额外 RPC。
53
+ */
54
+ private alignThreadModel;
45
55
  /** 在下一轮开始前主动压缩,避免把已满的线程直接交给 turn/start。 */
46
56
  private ensureContextCapacity;
47
57
  /** turn/start 遇到上下文超限时压缩一次并重试,兼容关闭自动压缩的 Codex 配置。 */
@@ -1 +1 @@
1
- {"version":3,"file":"codex-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/codex-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAIrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,+BAA+B,EAA0B,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AACtN,OAAO,KAAK,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAQjH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAC9B;AA4DD,iEAAiE;AACjE,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,QAAQ,CAAC,UAAU;;;;;MAA6M;IAGhO,QAAQ,CAAC,sBAAsB,QAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;gBAE/C,OAAO,GAAE,2BAAgC;IAQ/C,MAAM,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMzF,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAyB9C,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAWxF,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IA0HlF;;;;;OAKG;YACY,oBAAoB;YA4CrB,kBAAkB;YAyEjB,cAAc;IAqD7B,OAAO,CAAC,kBAAkB;IAQ1B,2CAA2C;YAC7B,qBAAqB;IAQnC,qDAAqD;YACvC,SAAS;IAUvB,sEAAsE;YACxD,aAAa;YAgBb,iBAAiB;IAyF/B,iCAAiC;IAC3B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7D,yCAAyC;IACnC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;;OAGG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM7C,iCAAiC;IACjC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,+BAA+B,GAAG,IAAI;IAuBrF,kCAAkC;IAClC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,6BAA6B,GAAG,IAAI;IAQjF,OAAO,IAAI,IAAI;YAcD,UAAU;CAwDzB"}
1
+ {"version":3,"file":"codex-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/codex-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAIrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,+BAA+B,EAA0B,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AACtN,OAAO,KAAK,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AASjH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAC9B;AAuED,iEAAiE;AACjE,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,QAAQ,CAAC,UAAU;;;;;MAA6M;IAGhO,QAAQ,CAAC,sBAAsB,QAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;gBAE/C,OAAO,GAAE,2BAAgC;IAQ/C,MAAM,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMzF,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAyB9C,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAWxF,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IA+HlF;;;;;OAKG;YACY,oBAAoB;YA+CrB,kBAAkB;YA2EjB,cAAc;IAsD7B,OAAO,CAAC,kBAAkB;IAQ1B;;;;;;;;OAQG;YACW,gBAAgB;IAmB9B,2CAA2C;YAC7B,qBAAqB;IAQnC,qDAAqD;YACvC,SAAS;IAUvB,sEAAsE;YACxD,aAAa;YAgBb,iBAAiB;IAyF/B,iCAAiC;IAC3B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7D,yCAAyC;IACnC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;;OAGG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM7C,iCAAiC;IACjC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,+BAA+B,GAAG,IAAI;IAuBrF,kCAAkC;IAClC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,6BAA6B,GAAG,IAAI;IAQjF,OAAO,IAAI,IAAI;YAcD,UAAU;CA4DzB"}
@@ -8,6 +8,7 @@ import { CODEX_CATALOG, isProviderDefaultModel } from './model-catalog.js';
8
8
  import { probeStoredSession, readFirstJsonRecord } from './session-probe.js';
9
9
  import { firstToolText, normalizeToolStatus, serializeToolValue } from './tool-observation.js';
10
10
  import { isQuestionEvent, questionAnswersRecord, readAgentQuestions } from './interaction-events.js';
11
+ import { codexBridgeArgs, codexBridgeDeveloperInstructions } from '../cli-bridge/injections.js';
11
12
  // 只有 Provider 已明确报告超过窗口时才主动压缩;接近上限仍交给 Codex
12
13
  // 自身的 auto-compact,避免对正常的高占用回合重复发起压缩。
13
14
  const CODEX_COMPACTION_THRESHOLD = 1;
@@ -97,7 +98,9 @@ export class CodexAppServerDriver {
97
98
  : await rpc.request('thread/start', threadParams, { signal: input.signal, killOnAbort: false });
98
99
  session.threadId = readId(thread) ?? input.providerSessionId ?? input.sessionId;
99
100
  session.providerSessionId = session.threadId;
101
+ session.threadModelId = readThreadModel(thread);
100
102
  }
103
+ await this.alignThreadModel(session, input);
101
104
  await this.ensureContextCapacity(session, input);
102
105
  yield* drainCompactionEvents(session);
103
106
  yield { type: 'session-binding', providerSessionId: session.providerSessionId };
@@ -106,6 +109,7 @@ export class CodexAppServerDriver {
106
109
  let turnStartResolved = false;
107
110
  const notificationsBeforeTurnStart = [];
108
111
  let terminalReason = null;
112
+ let failure;
109
113
  let sawMeaningfulEvent = false;
110
114
  const acceptNotification = (message, allowUnidentifiedTool) => {
111
115
  // Codex 自动压缩可能在独立的内部 turn 中运行。它不属于当前用户 turn,
@@ -131,6 +135,8 @@ export class CodexAppServerDriver {
131
135
  const reason = readCodexTerminalReason(message);
132
136
  if (reason !== null) {
133
137
  terminalReason = reason;
138
+ if (reason === 'error')
139
+ failure = codexFailure(message);
134
140
  eventQueue.close();
135
141
  }
136
142
  };
@@ -206,10 +212,11 @@ export class CodexAppServerDriver {
206
212
  yield stabilizeCodexEvent(session, danglingCompaction);
207
213
  if (!input.signal?.aborted && terminalReason !== 'cancel' && !sawMeaningfulEvent) {
208
214
  yield { type: 'text-delta', text: 'CODINGNS_PROVIDER_EMPTY_RESPONSE: Codex Provider 未返回任何有效事件。' };
209
- yield { type: 'finish', reason: 'error' };
215
+ yield { type: 'finish', reason: 'error', ...(failure === undefined ? {} : { failure }) };
210
216
  }
211
217
  else {
212
- yield { type: 'finish', reason: input.signal?.aborted ? 'cancel' : terminalReason ?? 'stop' };
218
+ const reason = input.signal?.aborted ? 'cancel' : terminalReason ?? 'stop';
219
+ yield { type: 'finish', reason };
213
220
  }
214
221
  }
215
222
  finally { /* app-server 在会话结束前保持连接。 */ }
@@ -233,6 +240,7 @@ export class CodexAppServerDriver {
233
240
  : await rpc.request('thread/start', threadParams, { signal: input.signal, killOnAbort: false });
234
241
  session.threadId = readId(thread) ?? input.providerSessionId ?? input.sessionId;
235
242
  session.providerSessionId = session.threadId;
243
+ session.threadModelId = readThreadModel(thread);
236
244
  }
237
245
  // 只有 Host 显式声明续段时才复用挂起的 Provider 运行。新用户回合、注入
238
246
  // 失败或取消后的下一次执行必须丢弃旧段:旧段要么已经跑完,要么其队列
@@ -245,8 +253,11 @@ export class CodexAppServerDriver {
245
253
  if (suspended === undefined && session.segmentedTurn !== undefined) {
246
254
  this.closeSegmentedTurn(session, session.segmentedTurn);
247
255
  }
248
- // 分段 step 仍属于同一个 Provider turn;恢复它时不能插入 compact turn。
256
+ // 分段 step 仍属于同一个 Provider turn;恢复它时不能插入 compact turn,
257
+ // 也不能改写线程模型(同一个 Provider turn 中途换模型会被 Codex 拒绝)。
249
258
  const hasSuspendedTurn = suspended !== undefined;
259
+ if (!hasSuspendedTurn)
260
+ await this.alignThreadModel(session, input);
250
261
  if (!hasSuspendedTurn)
251
262
  await this.ensureContextCapacity(session, input);
252
263
  if (!hasSuspendedTurn)
@@ -280,6 +291,7 @@ export class CodexAppServerDriver {
280
291
  queue: eventQueue,
281
292
  removeNotificationListener: () => undefined,
282
293
  terminalReason: null,
294
+ failure: undefined,
283
295
  done: false,
284
296
  pendingChunk: undefined,
285
297
  currentAssistantMessageId: undefined,
@@ -307,6 +319,8 @@ export class CodexAppServerDriver {
307
319
  const reason = readCodexTerminalReason(message);
308
320
  if (reason !== null) {
309
321
  active.terminalReason = reason;
322
+ if (reason === 'error')
323
+ active.failure = codexFailure(message);
310
324
  eventQueue.close();
311
325
  }
312
326
  };
@@ -370,7 +384,8 @@ export class CodexAppServerDriver {
370
384
  const danglingCompaction = closeDanglingAutoCompaction(session);
371
385
  if (danglingCompaction !== undefined)
372
386
  yield stabilizeCodexEvent(session, danglingCompaction);
373
- yield { type: 'finish', reason: active.terminalReason ?? 'stop' };
387
+ const reason = active.terminalReason ?? 'stop';
388
+ yield { type: 'finish', reason, ...(reason === 'error' && active.failure !== undefined ? { failure: active.failure } : {}) };
374
389
  return;
375
390
  }
376
391
  if (input.signal?.aborted)
@@ -412,6 +427,34 @@ export class CodexAppServerDriver {
412
427
  if (session.segmentedTurn === active)
413
428
  session.segmentedTurn = undefined;
414
429
  }
430
+ /**
431
+ * 让线程真正生效的模型与 DSH 当前选择的模型保持一致。
432
+ *
433
+ * Codex 只在 `thread/start` 时决定线程模型,同一 app-server 进程内再次
434
+ * `thread/resume` 不会改写已持久化的模型。用户在 DSH 里切换模型后,如果不
435
+ * 显式纠正,后续 turn 仍会沿用旧模型;而线程一旦被写入错误模型(例如历史
436
+ * 路由把 DSH 主模型泄漏给 Codex),会话就会持续以 404 失败且无法自愈。
437
+ * 这里只在两者确实不同时下发一次纠正,避免每个 step 都产生额外 RPC。
438
+ */
439
+ async alignThreadModel(session, input) {
440
+ if (session.threadId === '' || session.threadModelCorrectionUnsupported)
441
+ return;
442
+ const desired = isProviderDefaultModel(input.modelId) ? undefined : input.modelId?.trim();
443
+ if (desired === undefined || desired === '')
444
+ return;
445
+ if (session.threadModelId === desired)
446
+ return;
447
+ try {
448
+ const response = await session.rpc.request('thread/settings/update', { threadId: session.threadId, model: desired }, { signal: input.signal, killOnAbort: false });
449
+ session.threadModelId = readThreadModel(response) ?? desired;
450
+ }
451
+ catch (error) {
452
+ // 旧版 Codex 可能没有该方法;纠正失败不能阻断本轮,模型仍由 turn 自身决定。
453
+ // 只有“方法不存在”才永久关闭纠正,避免网络类瞬时失败让会话再也无法换模型。
454
+ if (isMethodNotFound(error))
455
+ session.threadModelCorrectionUnsupported = true;
456
+ }
457
+ }
415
458
  /** 在下一轮开始前主动压缩,避免把已满的线程直接交给 turn/start。 */
416
459
  async ensureContextCapacity(session, input) {
417
460
  if (session.contextWindow === undefined || session.contextTokens === undefined)
@@ -639,7 +682,9 @@ export class CodexAppServerDriver {
639
682
  if (previous?.segmentedTurn !== undefined)
640
683
  this.closeSegmentedTurn(previous, previous.segmentedTurn);
641
684
  previous?.rpc.dispose();
642
- const rpc = new JsonRpcProcess({ command, args: CODEX_APP_SERVER_ARGS, cwd: input.cwd, spawn: this.runSpawn });
685
+ // 子代理托管开启时用 `-c` 覆盖注入 MCP 替身工具;工具由桥接转投成 DSH 原生子会话。
686
+ const bridgeArgs = codexBridgeArgs(input.sessionId, this.descriptor.id);
687
+ const rpc = new JsonRpcProcess({ command, args: [...CODEX_APP_SERVER_ARGS, ...bridgeArgs], cwd: input.cwd, spawn: this.runSpawn });
643
688
  const session = {
644
689
  rpc,
645
690
  cwd: input.cwd,
@@ -647,6 +692,8 @@ export class CodexAppServerDriver {
647
692
  contextWindow: undefined,
648
693
  contextTokens: undefined,
649
694
  threadId: '',
695
+ threadModelId: undefined,
696
+ threadModelCorrectionUnsupported: false,
650
697
  turnId: null,
651
698
  providerSessionId: input.providerSessionId ?? input.sessionId,
652
699
  pendingPermissions: new Map(),
@@ -1173,6 +1220,27 @@ function isContextWindowError(error) {
1173
1220
  return hasContextWindowError(error.data);
1174
1221
  return hasContextWindowError(error);
1175
1222
  }
1223
+ /**
1224
+ * 判断 RPC 失败是否表示“服务端不认识这个方法”。
1225
+ *
1226
+ * 旧版 Codex app-server 没有 `thread/settings/update`。只有这种情况才应永久
1227
+ * 关闭模型纠正;进程退出、超时等瞬时失败必须保留重试机会,否则一次抖动就会让
1228
+ * 该会话再也无法切换模型。
1229
+ */
1230
+ function isMethodNotFound(error) {
1231
+ if (error instanceof JsonRpcRequestError) {
1232
+ if (error.code === -32601)
1233
+ return true;
1234
+ const data = isRecord(error.data) ? error.data : null;
1235
+ if (data?.code === -32601)
1236
+ return true;
1237
+ return typeof data?.message === 'string' && /method\s*not\s*found|unknown method/iu.test(data.message);
1238
+ }
1239
+ if (isRecord(error) && error.code === -32601)
1240
+ return true;
1241
+ const message = error instanceof Error ? error.message : typeof error === 'string' ? error : '';
1242
+ return /method\s*not\s*found|unknown method/iu.test(message);
1243
+ }
1176
1244
  function hasContextWindowError(value) {
1177
1245
  if (typeof value === 'string')
1178
1246
  return /context[_-]?window[_-]?exceeded|context window exceeded/iu.test(value);
@@ -1200,6 +1268,21 @@ function readCodexTerminalReason(message) {
1200
1268
  return 'cancel';
1201
1269
  return 'stop';
1202
1270
  }
1271
+ function codexFailure(message) {
1272
+ const params = isRecord(message.params) ? message.params : message;
1273
+ const turn = isRecord(params.turn) ? params.turn : params;
1274
+ const error = isRecord(turn.error) ? turn.error : turn.error ?? params.error;
1275
+ const detail = textValue(isRecord(error) ? error.message ?? error.detail ?? error.description : error)
1276
+ ?? (isRecord(error) ? textValue(error.type) : null)
1277
+ ?? 'Codex Provider 未返回具体失败信息。';
1278
+ const codeValue = isRecord(error) ? error.code ?? error.errorCode ?? error.error_code ?? error.type ?? error.status ?? error.statusCode : undefined;
1279
+ const code = typeof codeValue === 'number' && Number.isFinite(codeValue)
1280
+ ? String(codeValue)
1281
+ : typeof codeValue === 'string' && codeValue.trim() !== ''
1282
+ ? codeValue.trim()
1283
+ : undefined;
1284
+ return code === undefined ? { message: detail } : { message: detail, code };
1285
+ }
1203
1286
  /** Codex 版本间曾使用不同的 turn 终态通知名,统一收敛到同一结束路径。 */
1204
1287
  function isCodexTerminalMethod(method) {
1205
1288
  return method === 'turn/completed'
@@ -1240,11 +1323,13 @@ function isCodexToolEvent(method, type) {
1240
1323
  * 的默认值,只在 turn 上覆盖会让首次工具调用落到与 DSH 不同的模式。
1241
1324
  */
1242
1325
  function codexThreadParams(input) {
1326
+ const developerInstructions = codexBridgeDeveloperInstructions(input.sessionId);
1243
1327
  return {
1244
1328
  cwd: input.cwd ?? process.cwd(),
1245
1329
  sandbox: codexSandboxMode(input),
1246
1330
  approvalPolicy: codexApprovalPolicy(input),
1247
1331
  ...(!isProviderDefaultModel(input.modelId) ? { model: input.modelId } : {}),
1332
+ ...(developerInstructions === undefined ? {} : { developerInstructions }),
1248
1333
  };
1249
1334
  }
1250
1335
  function codexTurnStartParams(input, threadId) {
@@ -1342,4 +1427,19 @@ function readId(value) {
1342
1427
  return value.thread.id;
1343
1428
  return null;
1344
1429
  }
1430
+ /**
1431
+ * 读取线程当前生效的模型。
1432
+ *
1433
+ * `thread/start`、`thread/resume` 的响应都在顶层返回 `model`;旧版协议把它嵌在
1434
+ * `thread.model` 中。读不到时返回 undefined,调用方按“未知”处理并自行纠正。
1435
+ */
1436
+ function readThreadModel(value) {
1437
+ if (!isRecord(value))
1438
+ return undefined;
1439
+ const direct = value.model;
1440
+ if (typeof direct === 'string' && direct.trim() !== '')
1441
+ return direct.trim();
1442
+ const nested = isRecord(value.thread) ? value.thread.model : undefined;
1443
+ return typeof nested === 'string' && nested.trim() !== '' ? nested.trim() : undefined;
1444
+ }
1345
1445
  //# sourceMappingURL=codex-driver.js.map