@jingyi0605/codingns4dsh 0.2.0-rc3 → 0.2.1-beta.1

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 (377) hide show
  1. package/README.en.md +6 -6
  2. package/README.md +42 -29
  3. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
  4. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -1
  5. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +2 -2
  6. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -1
  7. package/data/build/dist/bootstrap/index.d.ts +1 -1
  8. package/data/build/dist/bootstrap/index.d.ts.map +1 -1
  9. package/data/build/dist/client/bundle.js +3164 -181
  10. package/data/build/dist/client/bundle.js.map +1 -1
  11. package/data/build/dist/client/cli-catalog.d.ts +1 -1
  12. package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
  13. package/data/build/dist/client/cli-catalog.js +3 -3
  14. package/data/build/dist/client/cli-catalog.js.map +1 -1
  15. package/data/build/dist/client/cli-slots.d.ts +4 -0
  16. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  17. package/data/build/dist/client/cli-slots.js +70 -9
  18. package/data/build/dist/client/cli-slots.js.map +1 -1
  19. package/data/build/dist/client/context-breakdown-dom.d.ts +1 -1
  20. package/data/build/dist/client/context-breakdown-dom.d.ts.map +1 -1
  21. package/data/build/dist/client/context-breakdown-dom.js +1 -1
  22. package/data/build/dist/client/context-breakdown-dom.js.map +1 -1
  23. package/data/build/dist/client/features/assistant-panel.d.ts +5 -0
  24. package/data/build/dist/client/features/assistant-panel.d.ts.map +1 -0
  25. package/data/build/dist/client/features/assistant-panel.js +127 -0
  26. package/data/build/dist/client/features/assistant-panel.js.map +1 -0
  27. package/data/build/dist/client/features/global-voice-assistant.d.ts +10 -0
  28. package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -0
  29. package/data/build/dist/client/features/global-voice-assistant.js +330 -0
  30. package/data/build/dist/client/features/global-voice-assistant.js.map +1 -0
  31. package/data/build/dist/client/features/index.d.ts +2 -0
  32. package/data/build/dist/client/features/index.d.ts.map +1 -1
  33. package/data/build/dist/client/features/index.js +4 -0
  34. package/data/build/dist/client/features/index.js.map +1 -1
  35. package/data/build/dist/client/features/lan-access.d.ts.map +1 -1
  36. package/data/build/dist/client/features/lan-access.js +3 -1
  37. package/data/build/dist/client/features/lan-access.js.map +1 -1
  38. package/data/build/dist/client/features/types.d.ts +4 -1
  39. package/data/build/dist/client/features/types.d.ts.map +1 -1
  40. package/data/build/dist/client/features/voice-conversation-dialog.d.ts +20 -0
  41. package/data/build/dist/client/features/voice-conversation-dialog.d.ts.map +1 -0
  42. package/data/build/dist/client/features/voice-conversation-dialog.js +59 -0
  43. package/data/build/dist/client/features/voice-conversation-dialog.js.map +1 -0
  44. package/data/build/dist/client/features/voice-initialization-dialog.d.ts +10 -0
  45. package/data/build/dist/client/features/voice-initialization-dialog.d.ts.map +1 -0
  46. package/data/build/dist/client/features/voice-initialization-dialog.js +90 -0
  47. package/data/build/dist/client/features/voice-initialization-dialog.js.map +1 -0
  48. package/data/build/dist/client/features/workspace-session-enhancement-panel.d.ts.map +1 -1
  49. package/data/build/dist/client/features/workspace-session-enhancement-panel.js +57 -2
  50. package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
  51. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  52. package/data/build/dist/client/features/workspace-session-enhancement.js +27 -0
  53. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  54. package/data/build/dist/client/global-voice-runtime-registry.d.ts +27 -0
  55. package/data/build/dist/client/global-voice-runtime-registry.d.ts.map +1 -0
  56. package/data/build/dist/client/global-voice-runtime-registry.js +12 -0
  57. package/data/build/dist/client/global-voice-runtime-registry.js.map +1 -0
  58. package/data/build/dist/client/index.d.ts +1 -1
  59. package/data/build/dist/client/index.d.ts.map +1 -1
  60. package/data/build/dist/client/locale.d.ts.map +1 -1
  61. package/data/build/dist/client/locale.js +185 -1
  62. package/data/build/dist/client/locale.js.map +1 -1
  63. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
  64. package/data/build/dist/client/locales/terminalAuth.js +2 -0
  65. package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
  66. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  67. package/data/build/dist/client/locales/usage.js +4 -0
  68. package/data/build/dist/client/locales/usage.js.map +1 -1
  69. package/data/build/dist/client/mobile-session-interaction.d.ts +9 -0
  70. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
  71. package/data/build/dist/client/mobile-session-interaction.js +63 -0
  72. package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
  73. package/data/build/dist/client/model-catalog-cache.d.ts +23 -0
  74. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  75. package/data/build/dist/client/model-catalog-cache.js +81 -9
  76. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  77. package/data/build/dist/client/service-tier.d.ts +11 -0
  78. package/data/build/dist/client/service-tier.d.ts.map +1 -1
  79. package/data/build/dist/client/service-tier.js +15 -0
  80. package/data/build/dist/client/service-tier.js.map +1 -1
  81. package/data/build/dist/client/sherpa-voice-adapter.d.ts +46 -0
  82. package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -0
  83. package/data/build/dist/client/sherpa-voice-adapter.js +252 -0
  84. package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -0
  85. package/data/build/dist/client/skill-command.d.ts +10 -0
  86. package/data/build/dist/client/skill-command.d.ts.map +1 -0
  87. package/data/build/dist/client/skill-command.js +258 -0
  88. package/data/build/dist/client/skill-command.js.map +1 -0
  89. package/data/build/dist/client/skill-reference-dom.d.ts +38 -0
  90. package/data/build/dist/client/skill-reference-dom.d.ts.map +1 -0
  91. package/data/build/dist/client/skill-reference-dom.js +187 -0
  92. package/data/build/dist/client/skill-reference-dom.js.map +1 -0
  93. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  94. package/data/build/dist/client/subscription-slot.js +51 -3
  95. package/data/build/dist/client/subscription-slot.js.map +1 -1
  96. package/data/build/dist/client/terminal/model.d.ts +40 -2
  97. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  98. package/data/build/dist/client/terminal/model.js +151 -24
  99. package/data/build/dist/client/terminal/model.js.map +1 -1
  100. package/data/build/dist/client/terminal/styles.d.ts +8 -0
  101. package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
  102. package/data/build/dist/client/terminal/styles.js +23 -2
  103. package/data/build/dist/client/terminal/styles.js.map +1 -1
  104. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  105. package/data/build/dist/client/terminal/ui.js +161 -26
  106. package/data/build/dist/client/terminal/ui.js.map +1 -1
  107. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  108. package/data/build/dist/client/terminal/xterm-view.js +218 -42
  109. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  110. package/data/build/dist/client/voice-capture.d.ts +32 -0
  111. package/data/build/dist/client/voice-capture.d.ts.map +1 -0
  112. package/data/build/dist/client/voice-capture.js +158 -0
  113. package/data/build/dist/client/voice-capture.js.map +1 -0
  114. package/data/build/dist/client/voice-device-manager.d.ts +24 -0
  115. package/data/build/dist/client/voice-device-manager.d.ts.map +1 -0
  116. package/data/build/dist/client/voice-device-manager.js +197 -0
  117. package/data/build/dist/client/voice-device-manager.js.map +1 -0
  118. package/data/build/dist/client/voice-output.d.ts +14 -0
  119. package/data/build/dist/client/voice-output.d.ts.map +1 -0
  120. package/data/build/dist/client/voice-output.js +32 -0
  121. package/data/build/dist/client/voice-output.js.map +1 -0
  122. package/data/build/dist/client/voice-security.d.ts +8 -0
  123. package/data/build/dist/client/voice-security.d.ts.map +1 -0
  124. package/data/build/dist/client/voice-security.js +26 -0
  125. package/data/build/dist/client/voice-security.js.map +1 -0
  126. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +12 -1
  127. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  128. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +32 -0
  129. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  130. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +15 -0
  131. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  132. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +39 -9
  133. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  134. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +39 -2
  135. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
  136. package/data/build/dist/host/cli-adapters/antigravity-driver.js +198 -10
  137. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  138. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts +121 -0
  139. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -0
  140. package/data/build/dist/host/cli-adapters/antigravity-subscription.js +504 -0
  141. package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -0
  142. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +21 -0
  143. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  144. package/data/build/dist/host/cli-adapters/claude-driver.js +173 -7
  145. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  146. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
  147. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +4 -0
  148. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
  149. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +28 -2
  150. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  151. package/data/build/dist/host/cli-adapters/codex-driver.js +234 -5
  152. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  153. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  154. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  155. package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
  156. package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
  157. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +9 -0
  158. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
  159. package/data/build/dist/host/cli-adapters/cursor-driver.js +72 -2
  160. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
  161. package/data/build/dist/host/cli-adapters/driver.d.ts +21 -1
  162. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  163. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  164. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +15 -3
  165. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  166. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  167. package/data/build/dist/host/cli-adapters/feature.js +18 -1
  168. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  169. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  170. package/data/build/dist/host/cli-adapters/gemini-driver.js +4 -0
  171. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  172. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  173. package/data/build/dist/host/cli-adapters/grok-driver.js +4 -0
  174. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  175. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  176. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  177. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  178. package/data/build/dist/host/cli-adapters/kimi-driver.js +6 -6
  179. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  180. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
  181. package/data/build/dist/host/cli-adapters/mcode-driver.js +2 -0
  182. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  183. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +49 -0
  184. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  185. package/data/build/dist/host/cli-adapters/model-catalog.js +126 -0
  186. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  187. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +11 -0
  188. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  189. package/data/build/dist/host/cli-adapters/opencode-driver.js +92 -8
  190. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  191. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  192. package/data/build/dist/host/cli-adapters/pi-driver.js +4 -0
  193. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  194. package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -3
  195. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  196. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  197. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +4 -1
  198. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  199. package/data/build/dist/host/cli-adapters/provider-subscription.js +8 -1
  200. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  201. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +15 -0
  202. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
  203. package/data/build/dist/host/cli-adapters/qoder-driver.js +171 -3
  204. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
  205. package/data/build/dist/host/cli-adapters/qoder-subscription.js +3 -1
  206. package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
  207. package/data/build/dist/host/cli-adapters/reasoning-content.d.ts +11 -0
  208. package/data/build/dist/host/cli-adapters/reasoning-content.d.ts.map +1 -0
  209. package/data/build/dist/host/cli-adapters/reasoning-content.js +79 -0
  210. package/data/build/dist/host/cli-adapters/reasoning-content.js.map +1 -0
  211. package/data/build/dist/host/cli-adapters/registry.d.ts +24 -1
  212. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  213. package/data/build/dist/host/cli-adapters/registry.js +109 -4
  214. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  215. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +3 -2
  216. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  217. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +8 -2
  218. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  219. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +3 -2
  220. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  221. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +14 -2
  222. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  223. package/data/build/dist/host/cli-bridge/injections.d.ts +10 -1
  224. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  225. package/data/build/dist/host/cli-bridge/injections.js +28 -8
  226. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  227. package/data/build/dist/host/features/assistant-dispatch.d.ts +45 -0
  228. package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -0
  229. package/data/build/dist/host/features/assistant-dispatch.js +49 -0
  230. package/data/build/dist/host/features/assistant-dispatch.js.map +1 -0
  231. package/data/build/dist/host/features/assistant-intent.d.ts +46 -0
  232. package/data/build/dist/host/features/assistant-intent.d.ts.map +1 -0
  233. package/data/build/dist/host/features/assistant-intent.js +149 -0
  234. package/data/build/dist/host/features/assistant-intent.js.map +1 -0
  235. package/data/build/dist/host/features/assistant-scope-settings.d.ts +25 -0
  236. package/data/build/dist/host/features/assistant-scope-settings.d.ts.map +1 -0
  237. package/data/build/dist/host/features/assistant-scope-settings.js +33 -0
  238. package/data/build/dist/host/features/assistant-scope-settings.js.map +1 -0
  239. package/data/build/dist/host/features/assistant-scope.d.ts +79 -0
  240. package/data/build/dist/host/features/assistant-scope.d.ts.map +1 -0
  241. package/data/build/dist/host/features/assistant-scope.js +107 -0
  242. package/data/build/dist/host/features/assistant-scope.js.map +1 -0
  243. package/data/build/dist/host/features/assistant-session-index.d.ts +44 -0
  244. package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -0
  245. package/data/build/dist/host/features/assistant-session-index.js +109 -0
  246. package/data/build/dist/host/features/assistant-session-index.js.map +1 -0
  247. package/data/build/dist/host/features/assistant-summary.d.ts +28 -0
  248. package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -0
  249. package/data/build/dist/host/features/assistant-summary.js +166 -0
  250. package/data/build/dist/host/features/assistant-summary.js.map +1 -0
  251. package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
  252. package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -0
  253. package/data/build/dist/host/features/assistant-voice-stream.js +106 -0
  254. package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -0
  255. package/data/build/dist/host/features/assistant-voice-turn.d.ts +27 -0
  256. package/data/build/dist/host/features/assistant-voice-turn.d.ts.map +1 -0
  257. package/data/build/dist/host/features/assistant-voice-turn.js +54 -0
  258. package/data/build/dist/host/features/assistant-voice-turn.js.map +1 -0
  259. package/data/build/dist/host/features/assistant-waiting-state.d.ts +14 -0
  260. package/data/build/dist/host/features/assistant-waiting-state.d.ts.map +1 -0
  261. package/data/build/dist/host/features/assistant-waiting-state.js +17 -0
  262. package/data/build/dist/host/features/assistant-waiting-state.js.map +1 -0
  263. package/data/build/dist/host/features/global-voice-coordinator.d.ts +55 -0
  264. package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -0
  265. package/data/build/dist/host/features/global-voice-coordinator.js +221 -0
  266. package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -0
  267. package/data/build/dist/host/features/global-voice-rpc.d.ts +25 -0
  268. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -0
  269. package/data/build/dist/host/features/global-voice-rpc.js +862 -0
  270. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -0
  271. package/data/build/dist/host/features/index.d.ts +10 -0
  272. package/data/build/dist/host/features/index.d.ts.map +1 -1
  273. package/data/build/dist/host/features/index.js +10 -0
  274. package/data/build/dist/host/features/index.js.map +1 -1
  275. package/data/build/dist/host/features/peer-host.d.ts +5 -0
  276. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  277. package/data/build/dist/host/features/peer-host.js +232 -2
  278. package/data/build/dist/host/features/peer-host.js.map +1 -1
  279. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +42 -0
  280. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -0
  281. package/data/build/dist/host/features/sherpa-voice-runtime.js +193 -0
  282. package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -0
  283. package/data/build/dist/host/features/types.d.ts +26 -0
  284. package/data/build/dist/host/features/types.d.ts.map +1 -1
  285. package/data/build/dist/host/features/voice-agent-actions.d.ts +26 -0
  286. package/data/build/dist/host/features/voice-agent-actions.d.ts.map +1 -0
  287. package/data/build/dist/host/features/voice-agent-actions.js +128 -0
  288. package/data/build/dist/host/features/voice-agent-actions.js.map +1 -0
  289. package/data/build/dist/host/features/voice-agent-service.d.ts +117 -0
  290. package/data/build/dist/host/features/voice-agent-service.d.ts.map +1 -0
  291. package/data/build/dist/host/features/voice-agent-service.js +243 -0
  292. package/data/build/dist/host/features/voice-agent-service.js.map +1 -0
  293. package/data/build/dist/host/features/voice-model-setup.d.ts +20 -0
  294. package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -0
  295. package/data/build/dist/host/features/voice-model-setup.js +89 -0
  296. package/data/build/dist/host/features/voice-model-setup.js.map +1 -0
  297. package/data/build/dist/host/index.d.ts +2 -2
  298. package/data/build/dist/host/index.d.ts.map +1 -1
  299. package/data/build/dist/host/index.js +7 -1
  300. package/data/build/dist/host/index.js.map +1 -1
  301. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  302. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -1
  303. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +53 -2
  304. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -1
  305. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +15 -1
  306. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  307. package/data/build/dist/host/native-session-bridge.d.ts +2 -0
  308. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  309. package/data/build/dist/host/native-session-bridge.js +1 -0
  310. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  311. package/data/build/dist/host/rpc.d.ts.map +1 -1
  312. package/data/build/dist/host/rpc.js +9 -4
  313. package/data/build/dist/host/rpc.js.map +1 -1
  314. package/data/build/dist/host/settings.d.ts.map +1 -1
  315. package/data/build/dist/host/settings.js +19 -1
  316. package/data/build/dist/host/settings.js.map +1 -1
  317. package/data/build/dist/host/terminal/backends/conpty-backend.js.map +1 -1
  318. package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
  319. package/data/build/dist/host/terminal/terminal-controller.js +4 -0
  320. package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
  321. package/data/build/dist/host/terminal/terminal-service.d.ts +21 -1
  322. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
  323. package/data/build/dist/host/terminal/terminal-service.js +118 -7
  324. package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
  325. package/data/build/dist/index.d.ts +2 -2
  326. package/data/build/dist/index.d.ts.map +1 -1
  327. package/data/build/dist/index.js +1 -1
  328. package/data/build/dist/index.js.map +1 -1
  329. package/data/build/dist/shared/contracts/assistant.d.ts +70 -0
  330. package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -0
  331. package/data/build/dist/shared/contracts/assistant.js +2 -0
  332. package/data/build/dist/shared/contracts/assistant.js.map +1 -0
  333. package/data/build/dist/shared/contracts/cli-adapter.d.ts +33 -1
  334. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  335. package/data/build/dist/shared/contracts/config.d.ts +30 -0
  336. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  337. package/data/build/dist/shared/contracts/config.js +20 -0
  338. package/data/build/dist/shared/contracts/config.js.map +1 -1
  339. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  340. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  341. package/data/build/dist/shared/contracts/subscription.d.ts +30 -0
  342. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  343. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  344. package/data/build/dist/shared/contracts/terminal.d.ts +2 -0
  345. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
  346. package/data/build/dist/shared/contracts/version.d.ts +12 -5
  347. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  348. package/data/build/dist/shared/contracts/version.js +11 -4
  349. package/data/build/dist/shared/contracts/version.js.map +1 -1
  350. package/data/build/dist/shared/contracts/voice-runtime.d.ts +90 -0
  351. package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -0
  352. package/data/build/dist/shared/contracts/voice-runtime.js +16 -0
  353. package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -0
  354. package/data/build/dist/shared/index.d.ts +8 -2
  355. package/data/build/dist/shared/index.d.ts.map +1 -1
  356. package/data/build/dist/shared/index.js +5 -1
  357. package/data/build/dist/shared/index.js.map +1 -1
  358. package/data/build/dist/shared/voice-models.d.ts +21 -0
  359. package/data/build/dist/shared/voice-models.d.ts.map +1 -0
  360. package/data/build/dist/shared/voice-models.js +27 -0
  361. package/data/build/dist/shared/voice-models.js.map +1 -0
  362. package/data/build/dist/shared/voice-stream.d.ts +42 -0
  363. package/data/build/dist/shared/voice-stream.d.ts.map +1 -0
  364. package/data/build/dist/shared/voice-stream.js +99 -0
  365. package/data/build/dist/shared/voice-stream.js.map +1 -0
  366. package/data/build/dist/shared/voice-text.d.ts +3 -0
  367. package/data/build/dist/shared/voice-text.d.ts.map +1 -0
  368. package/data/build/dist/shared/voice-text.js +14 -0
  369. package/data/build/dist/shared/voice-text.js.map +1 -0
  370. package/data/build/dist/typert.host.d.ts.map +1 -1
  371. package/data/build/dist/typert.host.js +1 -0
  372. package/data/build/dist/typert.host.js.map +1 -1
  373. package/package.json +56 -26
  374. package/profile/README.md +8 -5
  375. package/profile/package.json +5 -3
  376. package/profile/version.json +3 -3
  377. package/version.json +3 -3
@@ -1,3 +1,6 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
1
4
  /**
2
5
  * 外部 CLI 没有稳定的模型目录接口时,使用随适配器验证过的最小目录。
3
6
  * 目录只保存模型 id 和 CLI 接受的思考档位,不包含凭据或远端响应。
@@ -243,6 +246,129 @@ export function parseAntigravityModels(output) {
243
246
  ];
244
247
  return staticCatalog('antigravity', 'Antigravity', models);
245
248
  }
249
+ /**
250
+ * Antigravity 各模型的上下文窗口。
251
+ *
252
+ * `agy` 的 stream-json 事件只携带 `input_tokens` / `output_tokens` /
253
+ * `thinking_tokens` / `cache_read_tokens` / `total_tokens` 五项用量,任何事件都
254
+ * 不报告上下文容量。唯一第一手来源是 CLI 自己拉取模型目录时调用的
255
+ * `v1internal:fetchAvailableModels`,其 `models[*].maxTokens` 即窗口;本机实测
256
+ * (agy 1.2.17,2026-10-05):Gemini 系 1048576、Claude 系 250000、
257
+ * GPT-OSS 120B 131072。该值随服务端变化,只作为 token-meter 的分母提示。
258
+ */
259
+ const ANTIGRAVITY_CONTEXT_WINDOWS = new Map([
260
+ // `agy models` 暴露的模型 id(档位后缀已由 parseAntigravityModels 剥离)
261
+ ['gemini-3.8-flash', 1_048_576],
262
+ ['gemini-3.7-flash', 1_048_576],
263
+ ['gemini-3.6-flash', 1_048_576],
264
+ ['gemini-3.5-flash', 1_048_576],
265
+ ['gemini-3.5-flash-lite', 1_048_576],
266
+ ['gemini-3.1-pro', 1_048_576],
267
+ ['gemini-3.1-flash-lite', 1_048_576],
268
+ ['gemini-3-flash', 1_048_576],
269
+ ['gemini-2.5-pro', 1_048_576],
270
+ ['gemini-2.5-flash', 1_048_576],
271
+ ['claude-sonnet-4-6', 250_000],
272
+ ['claude-opus-4-6-thinking', 250_000],
273
+ ['gpt-oss-120b', 131_072],
274
+ // AGY 设置文件里展示名去掉档位括号后的写法(Claude 的版本号用点号)
275
+ ['claude-sonnet-4.6', 250_000],
276
+ ['claude-opus-4.6', 250_000],
277
+ ]);
278
+ /**
279
+ * `provider-default` 时 AGY 用的是它自己设置里选中的模型,而不是 DSH 侧的空 id。
280
+ * 目录接口的 `defaultAgentModelId` 是 `gemini-3.6-flash-high`(1048576),因此
281
+ * 读不到设置文件时按这个默认模型取窗口。
282
+ */
283
+ const ANTIGRAVITY_DEFAULT_CONTEXT_WINDOW = 1_048_576;
284
+ /**
285
+ * 解析 Antigravity 会话的上下文窗口。
286
+ *
287
+ * 显式模型 id 直接查表;`provider-default` 时读取 AGY 自己的设置文件
288
+ * (`~/.gemini/antigravity-cli/settings.json` 的 `model` 展示名),把展示名还原成
289
+ * CLI 模型 id 后查表,避免把 Gemini 的 1M 分母套到 Claude 的 250K 会话上。
290
+ * 未知模型返回 undefined:宁可没有分母,也不写入错误容量。
291
+ */
292
+ export function knownAntigravityContextWindow(modelId, options = {}) {
293
+ const resolved = resolveAntigravityModelId(modelId, options);
294
+ if (resolved !== null) {
295
+ const window = ANTIGRAVITY_CONTEXT_WINDOWS.get(resolved);
296
+ if (window !== undefined)
297
+ return window;
298
+ // 显式指定的未知模型没有可信窗口;只有 provider-default 才退回默认模型。
299
+ if (!isProviderDefaultModel(modelId))
300
+ return undefined;
301
+ }
302
+ return ANTIGRAVITY_DEFAULT_CONTEXT_WINDOW;
303
+ }
304
+ /**
305
+ * 解析 Antigravity 会话实际使用的模型。
306
+ *
307
+ * 显式模型 id 直接返回;`provider-default` 时读取 AGY 自己的设置文件
308
+ * (`~/.gemini/antigravity-cli/settings.json` 的 `model` 展示名)并还原成模型键。
309
+ * 读不到时返回 null,调用方按 AGY 默认 Agent 模型(Gemini 系)处理。
310
+ */
311
+ export function resolveAntigravityModelId(modelId, options = {}) {
312
+ const normalized = modelId?.trim().toLowerCase();
313
+ if (normalized !== undefined && normalized !== '' && normalized !== 'provider-default')
314
+ return normalized;
315
+ return readAntigravitySelectedModel(options);
316
+ }
317
+ /**
318
+ * Antigravity 的缓存字段语义随模型 Provider 不同,实测(agy 1.2.17):
319
+ *
320
+ * - Claude 模型沿用 Anthropic 口径:`input_tokens` 只含未缓存输入,缓存命中单独放在
321
+ * `cache_read_tokens`(首轮 3968 + 9619,第二轮 682 + 13120)。
322
+ * - Gemini / GPT-OSS 模型:`input_tokens` 是完整提示规模,`cache_read_tokens` 在本机
323
+ * 全部 16 条历史样本里恒为 0。
324
+ *
325
+ * 两者都满足 `total_tokens = input_tokens + output_tokens`,无法用总量区分;只有
326
+ * Claude 口径需要把缓存读取从输入里排除,因此按模型前缀判定。
327
+ */
328
+ export function antigravityUsageExcludesCacheFromInput(modelId) {
329
+ return modelId !== null && modelId.startsWith('claude');
330
+ }
331
+ /**
332
+ * AGY 是否接受该模型的 `--effort`。
333
+ *
334
+ * 实测(agy 1.2.17,逐个模型下发并读取 CLI 的校验报错):
335
+ *
336
+ * - Gemini:`low` / `medium` / `high`(`--effort xhigh` 报 “available: low, medium, high”)
337
+ * - GPT-OSS 120B:只有 `medium`(`--effort low` 报 “available: medium”)
338
+ * - Claude 系列:完全不支持(`--effort is not supported for model "claude-sonnet-4-6"`),
339
+ * 换 `-thinking` 等 id 写法同样是这个错误
340
+ *
341
+ * Claude 的档位列表必须在目录里保持为空,并且旧会话残留的档位不能被下发:
342
+ * AGY 会把它当成 `invalid model selection` 直接拒绝整轮。
343
+ */
344
+ export function antigravitySupportsEffort(modelId) {
345
+ return modelId === null || !modelId.trim().toLowerCase().startsWith('claude');
346
+ }
347
+ /** 把 AGY 设置里的模型展示名还原成查表用的模型键。 */
348
+ export function antigravityModelIdFromLabel(label) {
349
+ const normalized = label.trim().toLowerCase()
350
+ // 展示名尾部的 "(High)"/"(Thinking)" 是档位或说明标注,不属于模型键。
351
+ .replace(/\s*\([^)]*\)\s*$/u, '')
352
+ .replace(/\s+/gu, '-');
353
+ if (normalized === '')
354
+ return null;
355
+ return normalized.replace(ANTIGRAVITY_EFFORT_SUFFIX, '$<base>');
356
+ }
357
+ function readAntigravitySelectedModel(options) {
358
+ const read = options.readFile ?? ((path) => readFileSync(path, 'utf8'));
359
+ const home = options.homeDirectory ?? homedir();
360
+ try {
361
+ const parsed = JSON.parse(read(join(home, '.gemini', 'antigravity-cli', 'settings.json')));
362
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
363
+ return null;
364
+ const label = parsed.model;
365
+ return typeof label === 'string' ? antigravityModelIdFromLabel(label) : null;
366
+ }
367
+ catch {
368
+ // 设置文件缺失或损坏时退回 AGY 的默认 Agent 模型窗口。
369
+ return null;
370
+ }
371
+ }
246
372
  /** 把 CLI 帮助解析到的模型补上已知档位,未知模型保持空数组。 */
247
373
  export function enrichEfforts(catalog, known) {
248
374
  const effortById = new Map(known.groups.flatMap((group) => group.models.map((model) => [model.id.toLowerCase(), model.efforts])));
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/model-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/model-catalog.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,11 @@ export declare class OpenCodeDriver implements CodingNsCliDriver {
38
38
  command: string | null;
39
39
  }>;
40
40
  listModels(): Promise<CodingNsCliModelCatalog>;
41
+ /**
42
+ * OpenCode 的 Provider 配置在进程外修改,不能依赖 CLI 版本判断目录是否变化。
43
+ * 只对配置文件内容做摘要,不把 API key 等原文带入指纹。
44
+ */
45
+ catalogFingerprint(): string | undefined;
41
46
  probeSession(input: CodingNsCliSessionProbeInput): Promise<CodingNsCliSessionProbeResult>;
42
47
  executeTurn(input: CodingNsCliTurnInput): AsyncIterable<CodingNsAgentEvent>;
43
48
  respondPermission(sessionId: string, response: CodingNsAgentPermissionResponse): Promise<void>;
@@ -48,6 +53,12 @@ export declare class OpenCodeDriver implements CodingNsCliDriver {
48
53
  private providerSessionMatchesDirectory;
49
54
  private abortSession;
50
55
  private resolveModelContextWindow;
56
+ /**
57
+ * 页面或 Host 可能暂存旧的 Provider 模型 ID。OpenCode 对失效 ID 有时只发
58
+ * `stop`/usage 空事件,必须在发消息前把它和实时目录对齐;同一 Provider 只有
59
+ * 一个模型时可安全迁移,否则保留原值让服务端返回明确错误。
60
+ */
61
+ private resolveModelId;
51
62
  private ensureServer;
52
63
  private startServer;
53
64
  private stopManagedServer;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/opencode-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAuC,MAAM,oBAAoB,CAAA;AAC1F,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAajH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED,wDAAwD;AACxD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,UAAU;;;;;MAA0M;IAC7N,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4E;IAC3G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAC/D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;gBAEpD,OAAO,GAAE,qBAA0B;IASzC,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;IAQzF,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAgB9C,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA6BxF,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IA+H5E,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhG,OAAO,IAAI,IAAI;YAUD,UAAU;YAgBV,aAAa;YAWb,+BAA+B;YAuB/B,YAAY;YAIZ,yBAAyB;YAczB,YAAY;YAWZ,WAAW;IA6BzB,OAAO,CAAC,iBAAiB;YAOX,UAAU;IAgBxB,OAAO,CAAC,UAAU;CA0BnB"}
1
+ {"version":3,"file":"opencode-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/opencode-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAKrD,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAuBjH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED,wDAAwD;AACxD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,UAAU;;;;;MAA0M;IAC7N,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkE;IACjG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAC/D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;gBAEpD,OAAO,GAAE,qBAA0B;IASzC,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;IAQzF,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAgBpD;;;OAGG;IACH,kBAAkB,IAAI,MAAM,GAAG,SAAS;IAalC,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA6BxF,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IAiI5E,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhG,OAAO,IAAI,IAAI;YAUD,UAAU;YAgBV,aAAa;YAWb,+BAA+B;YAuB/B,YAAY;YAIZ,yBAAyB;IAcvC;;;;OAIG;YACW,cAAc;YAkBd,YAAY;YAWZ,WAAW;IAkCzB,OAAO,CAAC,iBAAiB;YAOX,UAAU;IAgBxB,OAAO,CAAC,UAAU;CA0BnB"}
@@ -1,4 +1,8 @@
1
1
  import { spawn, spawnSync } from 'node:child_process';
2
+ import { createHash } from 'node:crypto';
3
+ import { readFileSync } from 'node:fs';
4
+ import { homedir } from 'node:os';
5
+ import { join } from 'node:path';
2
6
  import { HttpSseClient } from './http-sse-client.js';
3
7
  import { isProviderDefaultModel } from './model-catalog.js';
4
8
  import { firstToolText, normalizeToolStatus, serializeToolValue } from './tool-observation.js';
@@ -9,6 +13,16 @@ import { buildOpenCodeAttachmentParts } from './attachment-utils.js';
9
13
  const WINDOWS = process.platform === 'win32';
10
14
  const DEFAULT_BINARIES = WINDOWS ? ['opencode.exe', 'opencode'] : ['opencode'];
11
15
  const DEFAULT_URLS = ['http://127.0.0.1:4096'];
16
+ /** OpenCode 首次加载 Provider 目录可能需要数秒,不能用半秒的固定窗口判定启动失败。 */
17
+ const SERVER_START_TIMEOUT_MS = 10_000;
18
+ const SERVER_START_POLL_INTERVAL_MS = 100;
19
+ /**
20
+ * OpenCode 的自定义 Provider 可能不返回模型 variants,但 DSH 仍需展示模型的真实思考强度。
21
+ * DeepSeek V4.1 Flash 的有效档位由上游模型目录定义为 low、high、max。
22
+ */
23
+ const KNOWN_OPENCODE_EFFORTS = new Map([
24
+ ['deepseek-v4.1-flash', ['low', 'high', 'max']],
25
+ ]);
12
26
  /** OpenCode 的 server/SSE 适配器,向上只暴露 Codingns4DSH 标准流。 */
13
27
  export class OpenCodeDriver {
14
28
  descriptor = { id: 'opencode', name: 'OpenCode', protocol: 'http-sse', capabilities: ['models', 'stream', 'resume', 'interrupt', 'tool-events', 'reasoning', 'usage', 'permission', 'questions'] };
@@ -62,6 +76,24 @@ export class OpenCodeDriver {
62
76
  }
63
77
  return emptyCatalog();
64
78
  }
79
+ /**
80
+ * OpenCode 的 Provider 配置在进程外修改,不能依赖 CLI 版本判断目录是否变化。
81
+ * 只对配置文件内容做摘要,不把 API key 等原文带入指纹。
82
+ */
83
+ catalogFingerprint() {
84
+ const paths = openCodeConfigPaths();
85
+ const parts = [];
86
+ for (const path of paths) {
87
+ try {
88
+ const value = readFileSync(path, 'utf8');
89
+ parts.push(`${path}:${createHash('sha256').update(value).digest('hex').slice(0, 16)}`);
90
+ }
91
+ catch { /* 配置文件不存在时继续检查其他候选路径。 */ }
92
+ }
93
+ if (parts.length === 0)
94
+ return undefined;
95
+ return createHash('sha256').update(parts.join('\u0000')).digest('hex').slice(0, 16);
96
+ }
65
97
  async probeSession(input) {
66
98
  const providerSessionId = input.providerSessionId?.trim();
67
99
  if (!providerSessionId)
@@ -98,6 +130,8 @@ export class OpenCodeDriver {
98
130
  const server = await this.ensureServer(false, input.cwd);
99
131
  if (server === null)
100
132
  throw new Error('OpenCode server 未运行,请先启动 `opencode serve`');
133
+ const modelId = await this.resolveModelId(server, input.modelId);
134
+ const effectiveInput = modelId === input.modelId ? input : { ...input, ...(modelId === undefined ? {} : { modelId }) };
101
135
  let sessionId = input.providerSessionId ?? this.sessions.get(input.sessionId);
102
136
  if (sessionId !== undefined && !(await this.providerSessionMatchesDirectory(server, sessionId, input.cwd, input.signal))) {
103
137
  sessionId = undefined;
@@ -109,7 +143,7 @@ export class OpenCodeDriver {
109
143
  sessionId = await this.createSession(server, input);
110
144
  this.sessions.set(input.sessionId, sessionId);
111
145
  }
112
- const contextWindow = await this.resolveModelContextWindow(server, input.modelId);
146
+ const contextWindow = await this.resolveModelContextWindow(server, modelId);
113
147
  if (input.cwd?.trim())
114
148
  this.sessionCwds.set(sessionId, input.cwd.trim());
115
149
  this.interactionTargets.set(input.sessionId, server);
@@ -128,7 +162,7 @@ export class OpenCodeDriver {
128
162
  // 先调用 next() 让 SSE 请求真正建立,再发送 prompt,避免首个事件竞态丢失。
129
163
  let pendingEvent = eventIterator.next();
130
164
  let sendError = null;
131
- const send = this.sendPrompt(server, sessionId, input).catch((error) => {
165
+ const send = this.sendPrompt(server, sessionId, effectiveInput).catch((error) => {
132
166
  sendError = error;
133
167
  // message 请求失败时,OpenCode 的全局 SSE 通常不会自行结束;主动中止,
134
168
  // 否则调用方会一直等不到错误,只看到没有任何输出。
@@ -360,6 +394,34 @@ export class OpenCodeDriver {
360
394
  return undefined;
361
395
  }
362
396
  }
397
+ /**
398
+ * 页面或 Host 可能暂存旧的 Provider 模型 ID。OpenCode 对失效 ID 有时只发
399
+ * `stop`/usage 空事件,必须在发消息前把它和实时目录对齐;同一 Provider 只有
400
+ * 一个模型时可安全迁移,否则保留原值让服务端返回明确错误。
401
+ */
402
+ async resolveModelId(server, modelId) {
403
+ const parsed = parseOpenCodeModel(modelId);
404
+ if (parsed === null)
405
+ return modelId;
406
+ try {
407
+ const response = await this.http.json(`${server}/config/providers`);
408
+ if (response.status < 200 || response.status >= 300)
409
+ return modelId;
410
+ const catalog = parseModelCatalog(response.data);
411
+ const group = catalog.groups.find((item) => item.id === parsed.providerID);
412
+ if (group === undefined || group.models.some((item) => item.id === modelId))
413
+ return modelId;
414
+ if (group.models.length === 1)
415
+ return group.models[0].id;
416
+ const available = group.models.map((item) => item.id).join('、');
417
+ throw new Error(`OpenCode 模型不可用:${modelId};Provider ${parsed.providerID} 当前可用模型:${available}`);
418
+ }
419
+ catch (error) {
420
+ if (error instanceof Error && error.message.startsWith('OpenCode 模型不可用:'))
421
+ throw error;
422
+ return modelId;
423
+ }
424
+ }
363
425
  async ensureServer(probeOnly, cwd) {
364
426
  const workspace = cwd ?? process.cwd();
365
427
  const managed = this.managedServers.get(workspace);
@@ -398,14 +460,20 @@ export class OpenCodeDriver {
398
460
  child.stdout.on('data', () => undefined);
399
461
  child.stderr.on('data', () => undefined);
400
462
  this.managedServers.set(cwd, { url, child });
401
- for (let attempt = 0; attempt < 20; attempt += 1) {
463
+ const deadline = Date.now() + SERVER_START_TIMEOUT_MS;
464
+ while (Date.now() < deadline) {
402
465
  try {
403
466
  const health = await this.http.json(`${url}/global/health`);
404
467
  if (health.status >= 200 && health.status < 300)
405
468
  return url;
406
469
  }
407
470
  catch { /* 服务尚未监听 */ }
408
- await new Promise((resolve) => setTimeout(resolve, 25));
471
+ // 子进程已经退出时无需把整个启动超时耗尽;正常运行的 OpenCode
472
+ // 进程在首次加载配置和 Provider 时允许有完整的启动窗口。
473
+ const childExitCode = child.exitCode;
474
+ if (childExitCode !== null && childExitCode !== undefined)
475
+ break;
476
+ await new Promise((resolve) => setTimeout(resolve, SERVER_START_POLL_INTERVAL_MS));
409
477
  }
410
478
  this.stopManagedServer(cwd);
411
479
  return null;
@@ -473,6 +541,18 @@ function parseOpenCodeModel(modelId) {
473
541
  return null;
474
542
  return { providerID: modelId.slice(0, separator), modelID: modelId.slice(separator + 1) };
475
543
  }
544
+ function openCodeConfigPaths() {
545
+ const configHome = process.env.XDG_CONFIG_HOME?.trim() || join(homedir(), '.config');
546
+ const dataHome = process.env.XDG_DATA_HOME?.trim() || join(homedir(), '.local', 'share');
547
+ const configured = process.env.OPENCODE_CONFIG?.trim();
548
+ return [...new Set([
549
+ ...(configured ? [configured] : []),
550
+ join(configHome, 'opencode', 'opencode.json'),
551
+ join(configHome, 'opencode', 'opencode.jsonc'),
552
+ ...(process.platform === 'darwin' ? [join(homedir(), 'Library', 'Application Support', 'opencode', 'opencode.json')] : []),
553
+ join(dataHome, 'opencode', 'auth.json'),
554
+ ])];
555
+ }
476
556
  /** 从 OpenCode provider 配置缓存每个模型的上下文窗口。 */
477
557
  function rememberModelContextWindows(target, value) {
478
558
  const root = asRecord(value);
@@ -779,7 +859,7 @@ function parseModelCatalog(value) {
779
859
  id: `${providerId}/${id}`,
780
860
  name: typeof info?.name === 'string' ? info.name : id,
781
861
  ...(typeof info?.description === 'string' ? { description: info.description } : {}),
782
- efforts: parseOpenCodeEfforts(info),
862
+ efforts: parseOpenCodeEfforts(info, `${providerId}/${id}`),
783
863
  };
784
864
  });
785
865
  return items.length > 0 ? [{ id: providerId, name: typeof provider.name === 'string' ? provider.name : providerId, models: items }] : [];
@@ -800,7 +880,7 @@ function parseModelCatalog(value) {
800
880
  id: `${providerId}/${id}`,
801
881
  name: typeof info?.name === 'string' ? info.name : id,
802
882
  ...(typeof info?.description === 'string' ? { description: info.description } : {}),
803
- efforts: parseOpenCodeEfforts(info),
883
+ efforts: parseOpenCodeEfforts(info, `${providerId}/${id}`),
804
884
  };
805
885
  });
806
886
  if (items.length > 0)
@@ -808,14 +888,14 @@ function parseModelCatalog(value) {
808
888
  }
809
889
  return { groups, currentModel: null, currentEffort: null };
810
890
  }
811
- function parseOpenCodeEfforts(value) {
891
+ function parseOpenCodeEfforts(value, modelId) {
812
892
  if (value === null)
813
893
  return [];
814
894
  const variants = Array.isArray(value.variants)
815
895
  ? value.variants
816
896
  : asRecord(value.variants) !== null ? Object.keys(value.variants) : [];
817
897
  const allowed = new Set(['off', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max', 'ultra']);
818
- return [...new Set(variants.flatMap((variant) => {
898
+ const parsed = [...new Set(variants.flatMap((variant) => {
819
899
  const variantRecord = asRecord(variant);
820
900
  const raw = typeof variant === 'string' ? variant : variantRecord !== null ? variantRecord.id ?? variantRecord.value ?? variantRecord.name : null;
821
901
  if (typeof raw !== 'string')
@@ -823,6 +903,10 @@ function parseOpenCodeEfforts(value) {
823
903
  const normalized = raw.trim().toLowerCase();
824
904
  return allowed.has(normalized) ? [normalized === 'none' ? 'off' : normalized] : [];
825
905
  }))];
906
+ if (parsed.length > 0 || modelId === undefined)
907
+ return parsed;
908
+ const modelName = modelId.trim().toLowerCase().split('/').pop() ?? '';
909
+ return KNOWN_OPENCODE_EFFORTS.get(modelName) ?? [];
826
910
  }
827
911
  function asRecord(value) { return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : null; }
828
912
  function isRecord(value) { return asRecord(value) !== null; }