@jingyi0605/codingns4dsh 0.2.0-rc3 → 0.2.1-beta.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 +27 -16
  2. package/README.md +44 -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 +3361 -227
  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/fileWorkspace.d.ts.map +1 -1
  64. package/data/build/dist/client/locales/fileWorkspace.js +4 -0
  65. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  66. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
  67. package/data/build/dist/client/locales/terminalAuth.js +2 -0
  68. package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
  69. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  70. package/data/build/dist/client/locales/usage.js +4 -0
  71. package/data/build/dist/client/locales/usage.js.map +1 -1
  72. package/data/build/dist/client/mobile-session-interaction.d.ts +9 -0
  73. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
  74. package/data/build/dist/client/mobile-session-interaction.js +63 -0
  75. package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
  76. package/data/build/dist/client/model-catalog-cache.d.ts +23 -0
  77. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  78. package/data/build/dist/client/model-catalog-cache.js +81 -9
  79. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  80. package/data/build/dist/client/service-tier.d.ts +11 -0
  81. package/data/build/dist/client/service-tier.d.ts.map +1 -1
  82. package/data/build/dist/client/service-tier.js +15 -0
  83. package/data/build/dist/client/service-tier.js.map +1 -1
  84. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
  85. package/data/build/dist/client/session-changed-files-view.js +162 -58
  86. package/data/build/dist/client/session-changed-files-view.js.map +1 -1
  87. package/data/build/dist/client/sherpa-voice-adapter.d.ts +46 -0
  88. package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -0
  89. package/data/build/dist/client/sherpa-voice-adapter.js +252 -0
  90. package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -0
  91. package/data/build/dist/client/skill-command.d.ts +10 -0
  92. package/data/build/dist/client/skill-command.d.ts.map +1 -0
  93. package/data/build/dist/client/skill-command.js +258 -0
  94. package/data/build/dist/client/skill-command.js.map +1 -0
  95. package/data/build/dist/client/skill-reference-dom.d.ts +38 -0
  96. package/data/build/dist/client/skill-reference-dom.d.ts.map +1 -0
  97. package/data/build/dist/client/skill-reference-dom.js +187 -0
  98. package/data/build/dist/client/skill-reference-dom.js.map +1 -0
  99. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  100. package/data/build/dist/client/subscription-slot.js +51 -3
  101. package/data/build/dist/client/subscription-slot.js.map +1 -1
  102. package/data/build/dist/client/terminal/model.d.ts +40 -2
  103. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  104. package/data/build/dist/client/terminal/model.js +151 -24
  105. package/data/build/dist/client/terminal/model.js.map +1 -1
  106. package/data/build/dist/client/terminal/styles.d.ts +8 -0
  107. package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
  108. package/data/build/dist/client/terminal/styles.js +23 -2
  109. package/data/build/dist/client/terminal/styles.js.map +1 -1
  110. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  111. package/data/build/dist/client/terminal/ui.js +161 -26
  112. package/data/build/dist/client/terminal/ui.js.map +1 -1
  113. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  114. package/data/build/dist/client/terminal/xterm-view.js +218 -42
  115. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  116. package/data/build/dist/client/voice-capture.d.ts +32 -0
  117. package/data/build/dist/client/voice-capture.d.ts.map +1 -0
  118. package/data/build/dist/client/voice-capture.js +158 -0
  119. package/data/build/dist/client/voice-capture.js.map +1 -0
  120. package/data/build/dist/client/voice-device-manager.d.ts +24 -0
  121. package/data/build/dist/client/voice-device-manager.d.ts.map +1 -0
  122. package/data/build/dist/client/voice-device-manager.js +197 -0
  123. package/data/build/dist/client/voice-device-manager.js.map +1 -0
  124. package/data/build/dist/client/voice-output.d.ts +14 -0
  125. package/data/build/dist/client/voice-output.d.ts.map +1 -0
  126. package/data/build/dist/client/voice-output.js +32 -0
  127. package/data/build/dist/client/voice-output.js.map +1 -0
  128. package/data/build/dist/client/voice-security.d.ts +8 -0
  129. package/data/build/dist/client/voice-security.d.ts.map +1 -0
  130. package/data/build/dist/client/voice-security.js +26 -0
  131. package/data/build/dist/client/voice-security.js.map +1 -0
  132. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +12 -1
  133. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  134. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +32 -0
  135. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  136. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +23 -3
  137. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  138. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +137 -14
  139. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  140. package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts +31 -0
  141. package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts.map +1 -0
  142. package/data/build/dist/host/cli-adapters/acp-elicitation.js +144 -0
  143. package/data/build/dist/host/cli-adapters/acp-elicitation.js.map +1 -0
  144. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +41 -3
  145. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
  146. package/data/build/dist/host/cli-adapters/antigravity-driver.js +213 -12
  147. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  148. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts +121 -0
  149. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -0
  150. package/data/build/dist/host/cli-adapters/antigravity-subscription.js +504 -0
  151. package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -0
  152. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +31 -1
  153. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  154. package/data/build/dist/host/cli-adapters/claude-driver.js +307 -9
  155. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  156. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +7 -1
  157. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
  158. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +147 -6
  159. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
  160. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +28 -2
  161. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  162. package/data/build/dist/host/cli-adapters/codex-driver.js +234 -5
  163. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  164. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  165. package/data/build/dist/host/cli-adapters/command-code-driver.js +20 -8
  166. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  167. package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
  168. package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
  169. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +10 -1
  170. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
  171. package/data/build/dist/host/cli-adapters/cursor-driver.js +74 -4
  172. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
  173. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +1 -1
  174. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
  175. package/data/build/dist/host/cli-adapters/driver.d.ts +21 -1
  176. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  177. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  178. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +15 -3
  179. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  180. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  181. package/data/build/dist/host/cli-adapters/feature.js +22 -3
  182. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  183. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts +2 -1
  184. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  185. package/data/build/dist/host/cli-adapters/gemini-driver.js +70 -11
  186. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  187. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +3 -2
  188. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  189. package/data/build/dist/host/cli-adapters/grok-driver.js +69 -14
  190. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  191. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  192. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  193. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  194. package/data/build/dist/host/cli-adapters/kimi-driver.js +6 -6
  195. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  196. package/data/build/dist/host/cli-adapters/kiro-driver.js +1 -1
  197. package/data/build/dist/host/cli-adapters/kiro-driver.js.map +1 -1
  198. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +6 -2
  199. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
  200. package/data/build/dist/host/cli-adapters/mcode-driver.js +95 -24
  201. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  202. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +49 -0
  203. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  204. package/data/build/dist/host/cli-adapters/model-catalog.js +126 -0
  205. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  206. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +55 -1
  207. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
  208. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +148 -6
  209. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
  210. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -0
  211. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
  212. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  213. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +11 -0
  214. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  215. package/data/build/dist/host/cli-adapters/opencode-driver.js +92 -8
  216. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  217. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  218. package/data/build/dist/host/cli-adapters/pi-driver.js +4 -0
  219. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  220. package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -3
  221. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  222. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  223. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +4 -1
  224. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  225. package/data/build/dist/host/cli-adapters/provider-subscription.js +8 -1
  226. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  227. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +19 -4
  228. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
  229. package/data/build/dist/host/cli-adapters/qoder-driver.js +202 -11
  230. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
  231. package/data/build/dist/host/cli-adapters/qoder-subscription.js +3 -1
  232. package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
  233. package/data/build/dist/host/cli-adapters/reasoning-content.d.ts +11 -0
  234. package/data/build/dist/host/cli-adapters/reasoning-content.d.ts.map +1 -0
  235. package/data/build/dist/host/cli-adapters/reasoning-content.js +79 -0
  236. package/data/build/dist/host/cli-adapters/reasoning-content.js.map +1 -0
  237. package/data/build/dist/host/cli-adapters/registry.d.ts +24 -1
  238. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  239. package/data/build/dist/host/cli-adapters/registry.js +109 -4
  240. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  241. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +3 -2
  242. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  243. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +8 -2
  244. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  245. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +3 -2
  246. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  247. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +16 -2
  248. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  249. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
  250. package/data/build/dist/host/cli-adapters/subagent-tool.js +40 -10
  251. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
  252. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +4 -1
  253. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
  254. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
  255. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +11 -3
  256. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
  257. package/data/build/dist/host/cli-bridge/bridge-server.js +8 -4
  258. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
  259. package/data/build/dist/host/cli-bridge/command-code-mod.js +18 -2
  260. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
  261. package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -1
  262. package/data/build/dist/host/cli-bridge/dispatch.js +30 -5
  263. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  264. package/data/build/dist/host/cli-bridge/injections.d.ts +10 -1
  265. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  266. package/data/build/dist/host/cli-bridge/injections.js +30 -10
  267. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  268. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +49 -7
  269. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
  270. package/data/build/dist/host/features/assistant-dispatch.d.ts +45 -0
  271. package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -0
  272. package/data/build/dist/host/features/assistant-dispatch.js +49 -0
  273. package/data/build/dist/host/features/assistant-dispatch.js.map +1 -0
  274. package/data/build/dist/host/features/assistant-intent.d.ts +46 -0
  275. package/data/build/dist/host/features/assistant-intent.d.ts.map +1 -0
  276. package/data/build/dist/host/features/assistant-intent.js +149 -0
  277. package/data/build/dist/host/features/assistant-intent.js.map +1 -0
  278. package/data/build/dist/host/features/assistant-scope-settings.d.ts +25 -0
  279. package/data/build/dist/host/features/assistant-scope-settings.d.ts.map +1 -0
  280. package/data/build/dist/host/features/assistant-scope-settings.js +33 -0
  281. package/data/build/dist/host/features/assistant-scope-settings.js.map +1 -0
  282. package/data/build/dist/host/features/assistant-scope.d.ts +79 -0
  283. package/data/build/dist/host/features/assistant-scope.d.ts.map +1 -0
  284. package/data/build/dist/host/features/assistant-scope.js +107 -0
  285. package/data/build/dist/host/features/assistant-scope.js.map +1 -0
  286. package/data/build/dist/host/features/assistant-session-index.d.ts +44 -0
  287. package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -0
  288. package/data/build/dist/host/features/assistant-session-index.js +109 -0
  289. package/data/build/dist/host/features/assistant-session-index.js.map +1 -0
  290. package/data/build/dist/host/features/assistant-summary.d.ts +28 -0
  291. package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -0
  292. package/data/build/dist/host/features/assistant-summary.js +166 -0
  293. package/data/build/dist/host/features/assistant-summary.js.map +1 -0
  294. package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
  295. package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -0
  296. package/data/build/dist/host/features/assistant-voice-stream.js +106 -0
  297. package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -0
  298. package/data/build/dist/host/features/assistant-voice-turn.d.ts +27 -0
  299. package/data/build/dist/host/features/assistant-voice-turn.d.ts.map +1 -0
  300. package/data/build/dist/host/features/assistant-voice-turn.js +54 -0
  301. package/data/build/dist/host/features/assistant-voice-turn.js.map +1 -0
  302. package/data/build/dist/host/features/assistant-waiting-state.d.ts +14 -0
  303. package/data/build/dist/host/features/assistant-waiting-state.d.ts.map +1 -0
  304. package/data/build/dist/host/features/assistant-waiting-state.js +17 -0
  305. package/data/build/dist/host/features/assistant-waiting-state.js.map +1 -0
  306. package/data/build/dist/host/features/global-voice-coordinator.d.ts +55 -0
  307. package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -0
  308. package/data/build/dist/host/features/global-voice-coordinator.js +221 -0
  309. package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -0
  310. package/data/build/dist/host/features/global-voice-rpc.d.ts +25 -0
  311. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -0
  312. package/data/build/dist/host/features/global-voice-rpc.js +862 -0
  313. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -0
  314. package/data/build/dist/host/features/index.d.ts +10 -0
  315. package/data/build/dist/host/features/index.d.ts.map +1 -1
  316. package/data/build/dist/host/features/index.js +10 -0
  317. package/data/build/dist/host/features/index.js.map +1 -1
  318. package/data/build/dist/host/features/peer-host.d.ts +5 -0
  319. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  320. package/data/build/dist/host/features/peer-host.js +232 -2
  321. package/data/build/dist/host/features/peer-host.js.map +1 -1
  322. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +42 -0
  323. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -0
  324. package/data/build/dist/host/features/sherpa-voice-runtime.js +193 -0
  325. package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -0
  326. package/data/build/dist/host/features/types.d.ts +26 -0
  327. package/data/build/dist/host/features/types.d.ts.map +1 -1
  328. package/data/build/dist/host/features/voice-agent-actions.d.ts +26 -0
  329. package/data/build/dist/host/features/voice-agent-actions.d.ts.map +1 -0
  330. package/data/build/dist/host/features/voice-agent-actions.js +128 -0
  331. package/data/build/dist/host/features/voice-agent-actions.js.map +1 -0
  332. package/data/build/dist/host/features/voice-agent-service.d.ts +117 -0
  333. package/data/build/dist/host/features/voice-agent-service.d.ts.map +1 -0
  334. package/data/build/dist/host/features/voice-agent-service.js +243 -0
  335. package/data/build/dist/host/features/voice-agent-service.js.map +1 -0
  336. package/data/build/dist/host/features/voice-model-setup.d.ts +20 -0
  337. package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -0
  338. package/data/build/dist/host/features/voice-model-setup.js +89 -0
  339. package/data/build/dist/host/features/voice-model-setup.js.map +1 -0
  340. package/data/build/dist/host/index.d.ts +3 -3
  341. package/data/build/dist/host/index.d.ts.map +1 -1
  342. package/data/build/dist/host/index.js +8 -2
  343. package/data/build/dist/host/index.js.map +1 -1
  344. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  345. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -1
  346. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +53 -2
  347. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -1
  348. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +15 -1
  349. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  350. package/data/build/dist/host/native-session-bridge.d.ts +2 -0
  351. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  352. package/data/build/dist/host/native-session-bridge.js +1 -0
  353. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  354. package/data/build/dist/host/rpc.d.ts.map +1 -1
  355. package/data/build/dist/host/rpc.js +9 -4
  356. package/data/build/dist/host/rpc.js.map +1 -1
  357. package/data/build/dist/host/settings.d.ts.map +1 -1
  358. package/data/build/dist/host/settings.js +19 -1
  359. package/data/build/dist/host/settings.js.map +1 -1
  360. package/data/build/dist/host/terminal/backends/conpty-backend.js.map +1 -1
  361. package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
  362. package/data/build/dist/host/terminal/terminal-controller.js +4 -0
  363. package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
  364. package/data/build/dist/host/terminal/terminal-service.d.ts +21 -1
  365. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
  366. package/data/build/dist/host/terminal/terminal-service.js +118 -7
  367. package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
  368. package/data/build/dist/index.d.ts +2 -2
  369. package/data/build/dist/index.d.ts.map +1 -1
  370. package/data/build/dist/index.js +1 -1
  371. package/data/build/dist/index.js.map +1 -1
  372. package/data/build/dist/shared/contracts/assistant.d.ts +70 -0
  373. package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -0
  374. package/data/build/dist/shared/contracts/assistant.js +2 -0
  375. package/data/build/dist/shared/contracts/assistant.js.map +1 -0
  376. package/data/build/dist/shared/contracts/cli-adapter.d.ts +33 -1
  377. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  378. package/data/build/dist/shared/contracts/config.d.ts +30 -0
  379. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  380. package/data/build/dist/shared/contracts/config.js +20 -0
  381. package/data/build/dist/shared/contracts/config.js.map +1 -1
  382. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  383. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  384. package/data/build/dist/shared/contracts/subscription.d.ts +30 -0
  385. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  386. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  387. package/data/build/dist/shared/contracts/terminal.d.ts +2 -0
  388. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
  389. package/data/build/dist/shared/contracts/version.d.ts +12 -5
  390. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  391. package/data/build/dist/shared/contracts/version.js +11 -4
  392. package/data/build/dist/shared/contracts/version.js.map +1 -1
  393. package/data/build/dist/shared/contracts/voice-runtime.d.ts +90 -0
  394. package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -0
  395. package/data/build/dist/shared/contracts/voice-runtime.js +16 -0
  396. package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -0
  397. package/data/build/dist/shared/index.d.ts +8 -2
  398. package/data/build/dist/shared/index.d.ts.map +1 -1
  399. package/data/build/dist/shared/index.js +5 -1
  400. package/data/build/dist/shared/index.js.map +1 -1
  401. package/data/build/dist/shared/voice-models.d.ts +21 -0
  402. package/data/build/dist/shared/voice-models.d.ts.map +1 -0
  403. package/data/build/dist/shared/voice-models.js +27 -0
  404. package/data/build/dist/shared/voice-models.js.map +1 -0
  405. package/data/build/dist/shared/voice-stream.d.ts +42 -0
  406. package/data/build/dist/shared/voice-stream.d.ts.map +1 -0
  407. package/data/build/dist/shared/voice-stream.js +99 -0
  408. package/data/build/dist/shared/voice-stream.js.map +1 -0
  409. package/data/build/dist/shared/voice-text.d.ts +3 -0
  410. package/data/build/dist/shared/voice-text.d.ts.map +1 -0
  411. package/data/build/dist/shared/voice-text.js +14 -0
  412. package/data/build/dist/shared/voice-text.js.map +1 -0
  413. package/data/build/dist/typert.host.d.ts.map +1 -1
  414. package/data/build/dist/typert.host.js +1 -0
  415. package/data/build/dist/typert.host.js.map +1 -1
  416. package/package.json +56 -26
  417. package/profile/README.md +8 -5
  418. package/profile/package.json +5 -3
  419. package/profile/version.json +3 -3
  420. package/version.json +3 -3
@@ -16,6 +16,12 @@ const TERMINAL_TOUCH_MOMENTUM_FRICTION = 0.97;
16
16
  const TERMINAL_TOUCH_MOMENTUM_MAX_DURATION_MS = 3600;
17
17
  const TERMINAL_TOUCH_MOMENTUM_MAX_IDLE_FRAMES = 3;
18
18
  const TERMINAL_TOUCH_MOMENTUM_RELEASE_IDLE_MS = 100;
19
+ /** 视图夺回终端尺寸的最小间隔,避免可见性抖动时反复重发。 */
20
+ const TERMINAL_SIZE_CLAIM_INTERVAL_MS = 1000;
21
+ /** 终端文本与可视容器边缘之间至少保留 5px 的安全距离。 */
22
+ const TERMINAL_CONTENT_EDGE_GAP = 5;
23
+ /** 终端滚动条停止滚动后的自动隐藏延迟。 */
24
+ const TERMINAL_SCROLLBAR_HIDE_DELAY_MS = 3000;
19
25
  /** 使用与 DSH 内置终端相同的布局、状态条和 xterm 默认参数。 */
20
26
  export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal, active = true, visible = true, t: injectedTranslator, }) {
21
27
  const t = injectedTranslator ?? resolveCodingNsTranslator();
@@ -24,6 +30,8 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
24
30
  const fitRef = useRef(null);
25
31
  const scheduleReflowRef = useRef(null);
26
32
  const lastRevision = useRef(0);
33
+ const sizeClaimAtRef = useRef(0);
34
+ const previousActiveRef = useRef(active);
27
35
  const state = useSyncExternalStore(view.state.subscribe.bind(view.state), view.state.getSnapshot.bind(view.state));
28
36
  const settingsSnapshot = useSyncExternalStore(settings.subscribe.bind(settings), settings.getSnapshot.bind(settings));
29
37
  const appearance = settingsSnapshot.value?.terminalEnhancement.appearance
@@ -50,8 +58,8 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
50
58
  terminalRef.current = terminal;
51
59
  fitRef.current = fit;
52
60
  lastRevision.current = 0;
53
- // xterm 自己拥有 scrollable viewport。滚轮回调只能决定是否交给 xterm 继续处理:
54
- // 有历史时返回 true,交给原生 viewport;没有历史时返回 false,避免被解释为
61
+ // xterm 自己拥有自绘 scrollable viewport。滚轮回调只能决定是否交给 xterm 继续处理:
62
+ // 有历史时返回 true,交给 xterm 的滚动容器;没有历史时返回 false,避免被解释为
55
63
  // shell 的上下方向键(例如切换历史命令)。
56
64
  const wheel = (event) => {
57
65
  if (!Number.isFinite(event.deltaY) || event.deltaY === 0)
@@ -213,12 +221,39 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
213
221
  const xtermRoot = terminal.element;
214
222
  if (xtermRoot === undefined)
215
223
  return;
216
- const viewport = xtermRoot?.querySelector('.xterm-viewport');
217
- const scrollTarget = viewport ?? xtermRoot ?? container;
224
+ // xterm 6 使用 .xterm-scrollable-element 的自绘滚动条;.xterm-viewport
225
+ // 只是兼容节点,不能再把触摸事件和可用宽度交给它。
226
+ const scrollTarget = xtermRoot?.querySelector('.xterm-scrollable-element') ?? xtermRoot ?? container;
218
227
  const interactionTarget = xtermRoot ?? container;
219
- const syncScrollbar = () => {
228
+ let scrollbarHideTimer;
229
+ let lastViewportY = terminal.buffer.active.viewportY;
230
+ const hideScrollbar = () => {
231
+ if (scrollbarHideTimer !== undefined) {
232
+ window.clearTimeout(scrollbarHideTimer);
233
+ scrollbarHideTimer = undefined;
234
+ }
235
+ xtermRoot.dataset.codingnsScrollbar = 'hidden';
236
+ };
237
+ const revealScrollbar = () => {
238
+ if (terminal.buffer.active.baseY <= 0) {
239
+ hideScrollbar();
240
+ return;
241
+ }
242
+ xtermRoot.dataset.codingnsScrollbar = 'visible';
243
+ if (scrollbarHideTimer !== undefined)
244
+ window.clearTimeout(scrollbarHideTimer);
245
+ scrollbarHideTimer = window.setTimeout(() => {
246
+ scrollbarHideTimer = undefined;
247
+ xtermRoot.dataset.codingnsScrollbar = 'hidden';
248
+ }, TERMINAL_SCROLLBAR_HIDE_DELAY_MS);
249
+ };
250
+ const syncScrollbarState = () => {
220
251
  const hasScrollback = terminal.buffer.active.baseY > 0;
221
252
  xtermRoot.dataset.codingnsScrollback = hasScrollback ? 'true' : 'false';
253
+ if (!hasScrollback)
254
+ hideScrollbar();
255
+ else if (xtermRoot.dataset.codingnsScrollbar === undefined)
256
+ xtermRoot.dataset.codingnsScrollbar = 'hidden';
222
257
  debugInfo('codingns4dsh: client terminal scrollbar state', {
223
258
  terminalId: view.id,
224
259
  hasScrollback,
@@ -226,7 +261,7 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
226
261
  viewportY: terminal.buffer.active.viewportY,
227
262
  });
228
263
  };
229
- syncScrollbar();
264
+ syncScrollbarState();
230
265
  scrollTarget.style.touchAction = 'pan-y';
231
266
  scrollTarget.style.overscrollBehavior = 'contain';
232
267
  if ('webkitOverflowScrolling' in scrollTarget.style) {
@@ -237,7 +272,11 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
237
272
  interactionTarget.addEventListener('touchend', touchEnd, { passive: true });
238
273
  interactionTarget.addEventListener('touchcancel', touchCancel, { passive: true });
239
274
  const scroll = terminal.onScroll((viewportY) => {
240
- syncScrollbar();
275
+ const didScroll = viewportY !== lastViewportY;
276
+ lastViewportY = viewportY;
277
+ syncScrollbarState();
278
+ if (didScroll)
279
+ revealScrollbar();
241
280
  debugInfo('codingns4dsh: client terminal viewport scroll', {
242
281
  terminalId: view.id,
243
282
  viewportY,
@@ -251,13 +290,16 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
251
290
  void view.rename(value);
252
291
  });
253
292
  const measure = () => {
293
+ // 手机虚拟键盘通常只收缩 visualViewport,不会改变 DSH 外层布局视口。
294
+ // 先把 xterm 宿主裁到可视视口底边,再计算行列,避免最后几行和光标落到键盘下面。
295
+ syncTerminalViewport(host);
254
296
  // 显示层即使在 connecting/read-only 阶段也必须跟随容器尺寸;否则
255
297
  // ResizeObserver 会捕获首次 render 的 writable=false,后续移动端布局
256
298
  // 变化永远不会触发历史行重排。view.resize 内部仍会按权限决定是否下发 PTY。
257
299
  if (host.clientWidth === 0 || host.clientHeight === 0)
258
300
  return;
259
301
  fitTerminal(terminal, fit, view);
260
- syncScrollbar();
302
+ syncScrollbarState();
261
303
  };
262
304
  let measureFrame;
263
305
  const scheduleMeasure = () => {
@@ -293,20 +335,26 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
293
335
  resize.observe(host);
294
336
  resize.observe(container);
295
337
  const visualViewport = window.visualViewport;
296
- const handleViewportResize = () => schedulePostAttachReflow();
297
- visualViewport?.addEventListener('resize', handleViewportResize);
298
- window.addEventListener('resize', handleViewportResize);
338
+ const handleViewportChange = () => schedulePostAttachReflow();
339
+ visualViewport?.addEventListener('resize', handleViewportChange);
340
+ // iOS 在弹出键盘时可能先滚动 visual viewport,再触发 resize;两个事件都要处理,
341
+ // 否则页面被浏览器上移后,光标仍可能被键盘边缘遮住。
342
+ visualViewport?.addEventListener('scroll', handleViewportChange);
343
+ window.addEventListener('resize', handleViewportChange);
299
344
  schedulePostAttachReflow();
300
345
  return () => {
301
346
  resize.disconnect();
302
- visualViewport?.removeEventListener('resize', handleViewportResize);
303
- window.removeEventListener('resize', handleViewportResize);
347
+ visualViewport?.removeEventListener('resize', handleViewportChange);
348
+ visualViewport?.removeEventListener('scroll', handleViewportChange);
349
+ window.removeEventListener('resize', handleViewportChange);
304
350
  if (measureFrame !== undefined)
305
351
  window.cancelAnimationFrame(measureFrame);
306
352
  if (reflowFrame !== undefined)
307
353
  window.cancelAnimationFrame(reflowFrame);
308
354
  if (reflowTimer !== undefined)
309
355
  window.clearTimeout(reflowTimer);
356
+ if (scrollbarHideTimer !== undefined)
357
+ window.clearTimeout(scrollbarHideTimer);
310
358
  scheduleReflowRef.current = null;
311
359
  input.dispose();
312
360
  scroll.dispose();
@@ -319,18 +367,33 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
319
367
  terminal.dispose();
320
368
  terminalRef.current = null;
321
369
  fitRef.current = null;
370
+ host.style.height = '100%';
322
371
  root.replaceChildren();
323
372
  };
324
373
  }, [hasTerminal, view]);
325
374
  useEffect(() => {
375
+ const becameActive = active && !previousActiveRef.current;
376
+ previousActiveRef.current = active;
326
377
  const terminal = terminalRef.current;
327
378
  const host = hostRef.current;
328
379
  if (terminal === null || host === null)
329
380
  return;
330
381
  applyAppearance(terminal, appearance, host, state.environment?.scrollback ?? 1000);
331
382
  terminal.options.disableStdin = !state.writable;
383
+ // 聚合页切换到一个原本隐藏的终端时,虚拟键盘可能已经打开且不会再次派发
384
+ // visualViewport 事件;切换完成后立即按当前可视高度裁剪一次。
385
+ if (active)
386
+ syncTerminalViewport(host);
332
387
  if (state.writable && host.clientWidth > 0 && host.clientHeight > 0) {
333
- fitTerminal(terminal, fitRef.current, view);
388
+ // 视图刚变为激活时把 tmux 窗口尺寸抢回本视图:Host 记录的尺寸可能已被其它
389
+ // 客户端或本视图更早的宽度改写,历史行会按旧宽度排版,内容超出容器被裁剪
390
+ // 或右侧留白。只在激活边沿触发(不响应 Host 尺寸变化本身),避免多个
391
+ // 客户端看到对方尺寸后互相夺回。
392
+ const now = Date.now();
393
+ const claim = becameActive && now - sizeClaimAtRef.current >= TERMINAL_SIZE_CLAIM_INTERVAL_MS;
394
+ if (claim)
395
+ sizeClaimAtRef.current = now;
396
+ fitTerminal(terminal, fitRef.current, view, claim ? { force: true } : undefined);
334
397
  terminal.focus();
335
398
  }
336
399
  else if (state.info !== undefined) {
@@ -346,6 +409,29 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
346
409
  themeRevision,
347
410
  view,
348
411
  ]);
412
+ useEffect(() => {
413
+ if (!active || !hasTerminal)
414
+ return;
415
+ // 页面从后台回到前台(移动端切回、窗口重新聚焦)时,Host 尺寸可能已被其它
416
+ // 客户端改写;回到前台的视图重发一次自己的 fit 尺寸,把 tmux 抢回本视图。
417
+ const onVisibilityChange = () => {
418
+ if (document.visibilityState !== 'visible')
419
+ return;
420
+ const terminal = terminalRef.current;
421
+ const host = hostRef.current;
422
+ if (terminal === null || host === null)
423
+ return;
424
+ if (host.clientWidth === 0 || host.clientHeight === 0)
425
+ return;
426
+ const now = Date.now();
427
+ if (now - sizeClaimAtRef.current < TERMINAL_SIZE_CLAIM_INTERVAL_MS)
428
+ return;
429
+ sizeClaimAtRef.current = now;
430
+ fitTerminal(terminal, fitRef.current, view, { force: true });
431
+ };
432
+ document.addEventListener('visibilitychange', onVisibilityChange);
433
+ return () => document.removeEventListener('visibilitychange', onVisibilityChange);
434
+ }, [active, hasTerminal, view]);
349
435
  useEffect(() => {
350
436
  const terminal = terminalRef.current;
351
437
  const host = hostRef.current;
@@ -369,9 +455,13 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
369
455
  fitTerminal(terminal, fitRef.current, view);
370
456
  scheduleReflowRef.current?.();
371
457
  }
372
- if (terminal.element !== undefined)
373
- terminal.element.dataset.codingnsScrollback = terminal.buffer.active.baseY > 0 ? 'true' : 'false';
374
- const viewport = terminal.element?.querySelector('.xterm-viewport');
458
+ if (terminal.element !== undefined) {
459
+ const hasScrollback = terminal.buffer.active.baseY > 0;
460
+ terminal.element.dataset.codingnsScrollback = hasScrollback ? 'true' : 'false';
461
+ if (!hasScrollback)
462
+ terminal.element.dataset.codingnsScrollbar = 'hidden';
463
+ }
464
+ const viewport = terminal.element?.querySelector('.xterm-scrollable-element');
375
465
  debugInfo('codingns4dsh: client terminal frame rendered', {
376
466
  terminalId: view.id,
377
467
  frameType: render.frame.type,
@@ -408,7 +498,9 @@ function TerminalStatus({ state, view, onNewTerminal, t, }) {
408
498
  return createElement('div', { className: terminalClass.status, role: 'status' }, status, readOnly ? t('terminalView.readOnly') : null, retry ? createElement(Button, {
409
499
  variant: 'outline',
410
500
  size: 'sm',
411
- onClick: () => { void view.refresh(); },
501
+ // 状态条上的重试是用户显式要求的恢复动作,必须放弃可能已经变成僵尸的
502
+ // 保活连接;否则 refresh() 会直接复用旧 follow,按钮看起来没有反应。
503
+ onClick: () => { void view.refresh({ force: true }); },
412
504
  }, state.phase === 'disconnected' ? t('terminalView.reconnect') : t('terminal.retry')) : null, lost ? createElement(Button, {
413
505
  variant: 'outline',
414
506
  size: 'sm',
@@ -489,7 +581,7 @@ function terminalTheme(appearance, computed) {
489
581
  selectionInactiveBackground: foreground,
490
582
  };
491
583
  }
492
- function fitTerminal(terminal, fit, view) {
584
+ function fitTerminal(terminal, fit, view, options) {
493
585
  if (fit === null)
494
586
  return;
495
587
  const dimensions = resolveTerminalDimensions(terminal, fit);
@@ -501,30 +593,105 @@ function fitTerminal(terminal, fit, view) {
501
593
  if (terminal.cols !== dimensions.cols || terminal.rows !== dimensions.rows) {
502
594
  terminal.resize(dimensions.cols, dimensions.rows);
503
595
  }
504
- view.resize(terminal.cols, terminal.rows);
596
+ view.resize(terminal.cols, terminal.rows, options);
597
+ }
598
+ /**
599
+ * 让终端宿主节点的底边停在当前可视视口之内。
600
+ *
601
+ * 移动端软键盘出现时,布局视口通常仍保持原高度,只有 `visualViewport.height`
602
+ * 变小。只调用 FitAddon 不够,因为它读取到的父节点高度没有变化;这里按屏幕
603
+ * 实际可见底边收缩宿主,键盘收起后再恢复 `100%`。
604
+ */
605
+ function syncTerminalViewport(host) {
606
+ const screen = host.parentElement;
607
+ if (screen === null)
608
+ return;
609
+ const hostRect = host.getBoundingClientRect();
610
+ const screenRect = screen.getBoundingClientRect();
611
+ if (screenRect.width <= 0 || screenRect.height <= 0 || hostRect.width <= 0)
612
+ return;
613
+ const screenStyle = getComputedStyle(screen);
614
+ const contentBottom = screenRect.bottom
615
+ - parseCssPixels(screenStyle.paddingBottom)
616
+ - parseCssPixels(screenStyle.borderBottomWidth);
617
+ const viewportHeight = window.visualViewport?.height ?? window.innerHeight;
618
+ if (!Number.isFinite(contentBottom) || !Number.isFinite(viewportHeight) || viewportHeight <= 0)
619
+ return;
620
+ const visibleBottom = Math.min(contentBottom, viewportHeight);
621
+ const normalHeight = Math.max(1, Math.floor(contentBottom - hostRect.top));
622
+ if (visibleBottom >= contentBottom - 1) {
623
+ if (host.style.height !== '100%')
624
+ host.style.height = '100%';
625
+ return;
626
+ }
627
+ // 留出 1px,避免浮点数和键盘动画期间的边界抖动把最后一行裁掉。
628
+ const visibleHeight = Math.max(1, Math.floor(visibleBottom - hostRect.top - 1));
629
+ const nextHeight = `${Math.min(normalHeight, visibleHeight)}px`;
630
+ if (host.style.height !== nextHeight)
631
+ host.style.height = nextHeight;
505
632
  }
506
633
  function resolveTerminalDimensions(terminal, fit) {
507
634
  const fallback = fit.proposeDimensions();
508
635
  const root = terminal.element;
509
636
  if (root === undefined || root.clientWidth <= 0 || root.clientHeight <= 0)
510
637
  return fallback;
511
- const measure = root.querySelector('.xterm-char-measure-element');
512
- const row = root.querySelector('.xterm-rows > div');
513
- const measureWidth = measure?.getBoundingClientRect().width ?? 0;
514
- const cellWidth = measureWidth > 0 ? measureWidth / 32 : 0;
515
- const cellHeight = row?.getBoundingClientRect().height ?? 0;
638
+ const cell = resolveRendererCell(terminal);
639
+ if (cell === undefined) {
640
+ // 首帧还没有渲染器尺寸时只能使用 FitAddon 的结果;舍弃一列,
641
+ // 让宿主自身的左右内边距负责最后的可视安全区。
642
+ return fallback === undefined
643
+ ? undefined
644
+ : { ...fallback, cols: Math.max(2, fallback.cols - 1) };
645
+ }
646
+ // 宿主元素(host)有 paddingLeft: 8, paddingRight: 8,但 root 是 terminal.element(.xterm),
647
+ // 它的 padding 为 0。由于此函数只接收 terminal 对象而不是 host,无法直接读取宿主 padding,
648
+ // 因此硬编码宿主 padding 值(与 terminalHostStyle 保持一致)。
649
+ const HOST_PADDING_LEFT = 8;
650
+ const HOST_PADDING_RIGHT = 8;
516
651
  const computed = getComputedStyle(root);
517
- const paddingX = parseCssPixels(computed.paddingLeft) + parseCssPixels(computed.paddingRight);
518
652
  const paddingY = parseCssPixels(computed.paddingTop) + parseCssPixels(computed.paddingBottom);
519
- const width = root.clientWidth - paddingX - (terminal.options.scrollback === 0 ? 0 : 14);
653
+ // xterm 6 的滚动条是 xterm-scrollable-element 里的绝对定位节点。
654
+ // 不能用固定的 14px 或 root.clientWidth 猜它的槽位:父容器可能有小数宽度,
655
+ // 主题也可能改变滚动条宽度。直接以滚动条左边界作为文本的硬截止线,才能保证
656
+ // 列数和实际可见区域使用同一套坐标。
657
+ const rootRect = root.getBoundingClientRect();
658
+ const scrollable = root.querySelector('.xterm-scrollable-element');
659
+ const scrollbar = terminal.options.scrollback === 0
660
+ ? undefined
661
+ : scrollable?.querySelector('.scrollbar.vertical');
662
+ const scrollbarRect = scrollbar?.getBoundingClientRect();
663
+ const scrollableRect = scrollable?.getBoundingClientRect();
664
+ // 宿主已经通过 border-box 保留左右 8px;滚动条槽位(宽度+右边距)由 xterm 管理。
665
+ // 计算文字可用宽度时,从容器右边界扣除滚动条占用空间和安全边距,确保文字不会
666
+ // 贴到滚动条或容器边缘。滚动条存在时优先以其左边界为截止线,避免文字与滚动条重叠。
667
+ const scrollbarInset = scrollbarRect !== undefined && scrollbarRect.width > 0
668
+ ? Math.max(0, rootRect.right - scrollbarRect.left)
669
+ : 0;
670
+ const safeEdgeGap = Math.max(0, TERMINAL_CONTENT_EDGE_GAP - scrollbarInset);
671
+ // 从容器总宽度中扣除宿主 padding、滚动条槽位和右侧安全距离
672
+ const width = rootRect.width - HOST_PADDING_LEFT - HOST_PADDING_RIGHT - scrollbarInset - safeEdgeGap;
520
673
  const height = root.clientHeight - paddingY;
521
- if (cellWidth <= 0 || cellHeight <= 0 || width <= 0 || height <= 0)
674
+ if (width <= 0 || height <= 0)
522
675
  return fallback;
523
676
  return {
524
- cols: Math.max(2, Math.floor(width / cellWidth)),
525
- rows: Math.max(1, Math.floor(height / cellHeight)),
677
+ cols: Math.max(2, Math.floor(width / cell.width)),
678
+ rows: Math.max(1, Math.floor(height / cell.height)),
526
679
  };
527
680
  }
681
+ /**
682
+ * 读取 xterm 渲染服务的单元格尺寸。`.xterm-char-measure-element` 会被 DOM renderer
683
+ * 的宽度缓存复用,其文本内容会随最近一次测量的字符变化(例如中文全角字符)。
684
+ * 用它除以 32 推算列宽会把列数按该字符宽度计算,宽字符时列数近乎减半,表现为
685
+ * 文本提前换行、右侧留出大片空白。这里改用官方 FitAddon 依赖的 renderService
686
+ * cell 尺寸(CharSizeService 固定按 32 个 'W' 测量),列宽不再受终端内容影响。
687
+ */
688
+ function resolveRendererCell(terminal) {
689
+ const dimensions = terminal._core?._renderService?.dimensions;
690
+ const cell = dimensions?.css?.cell;
691
+ if (cell === undefined || !(cell.width > 0) || !(cell.height > 0))
692
+ return undefined;
693
+ return { width: cell.width, height: cell.height };
694
+ }
528
695
  function parseCssPixels(value) {
529
696
  const parsed = Number.parseFloat(value);
530
697
  return Number.isFinite(parsed) ? parsed : 0;
@@ -548,27 +715,36 @@ function visibleColor(value, fallback) {
548
715
  return normalized === '' || normalized === 'rgba(0, 0, 0, 0)' ? fallback : normalized;
549
716
  }
550
717
  const terminalHostStyle = {
718
+ boxSizing: 'border-box',
551
719
  width: '100%',
552
720
  height: '100%',
553
721
  minWidth: 0,
554
722
  minHeight: 0,
723
+ paddingLeft: 8,
724
+ paddingRight: 8,
555
725
  color: 'var(--dsw-alias-label-primary)',
556
726
  background: 'var(--dsw-alias-bg-base)',
557
727
  };
558
728
  const shadowCss = `${xtermCss}
559
729
  :host{display:block;width:100%;height:100%;min-width:0;min-height:0;color:inherit;background:inherit}
560
- .codingns-xterm{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
561
- .xterm{width:100%;height:100%;min-width:0;min-height:0}
562
- .xterm-scrollable-element{min-width:0;max-width:100%}
563
- .xterm-viewport{background:var(--dsw-alias-bg-base);touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:var(--dsw-alias-label-tertiary,#777) transparent}
564
- .xterm-viewport::-webkit-scrollbar{width:10px}
565
- .xterm-viewport::-webkit-scrollbar-track{background:transparent}
566
- .xterm-viewport::-webkit-scrollbar-thumb{background:var(--dsw-alias-label-tertiary,#777);border-radius:5px}
567
- .xterm-viewport::-webkit-scrollbar-thumb:hover{background:var(--dsw-alias-label-secondary,#aaa)}
568
- .xterm .xterm-scrollable-element>.scrollbar.vertical{width:14px!important;pointer-events:auto!important}
569
- .xterm[data-codingns-scrollback="false"] .xterm-scrollable-element>.scrollbar.vertical{opacity:0!important;pointer-events:none!important}
570
- .xterm[data-codingns-scrollback="true"] .xterm-scrollable-element>.scrollbar.vertical{opacity:1!important;pointer-events:auto!important;background:rgba(128,128,128,.22)}
571
- .xterm[data-codingns-scrollback="true"] .xterm-scrollable-element>.scrollbar.vertical>.slider{background:var(--dsw-alias-label-secondary,#aaa)!important;border-radius:7px;min-height:24px}
730
+ .codingns-xterm{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
731
+ .xterm{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0}
732
+ .xterm-scrollable-element{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
733
+ /* xterm 6 已由 xterm-scrollable-element 接管滚动;隐藏兼容 viewport,避免产生第二个滚动条槽位。 */
734
+ .xterm-viewport{background:var(--dsw-alias-bg-base);touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden;scrollbar-gutter:stable;scrollbar-width:none}
735
+ .xterm-viewport::-webkit-scrollbar{display:none}
736
+ .xterm-viewport::-webkit-scrollbar-track{display:none}
737
+ .xterm-viewport::-webkit-scrollbar-thumb{display:none}
738
+ .xterm-viewport::-webkit-scrollbar-thumb:hover{display:none}
739
+ .xterm .xterm-scrollable-element>.scrollbar.vertical{width:6px!important;right:2px!important;pointer-events:none!important;opacity:0!important;background:transparent!important;transition:opacity 180ms ease!important}
740
+ .xterm[data-codingns-scrollbar="visible"] .xterm-scrollable-element>.scrollbar.vertical{opacity:.7!important;pointer-events:auto!important}
741
+ .xterm .xterm-scrollable-element>.scrollbar.vertical>.slider{width:6px!important;left:0!important;min-height:24px;border-radius:999px;background:rgba(170,178,190,.72)!important;box-shadow:0 1px 4px rgba(0,0,0,.28);transition:background-color 180ms ease,box-shadow 180ms ease!important}
742
+ .xterm[data-codingns-scrollbar="visible"] .xterm-scrollable-element>.scrollbar.vertical>.slider:hover{background:rgba(224,229,237,.9)!important;box-shadow:0 1px 6px rgba(0,0,0,.4)}
572
743
  .xterm .xterm-scrollable-element>.scrollbar.horizontal{display:none!important}
744
+ /* xterm 的字宽缓存会把单个字符重复 32 次测量宽度,Chrome 对连续的全角标点默认做
745
+ 标点压缩(「。」从 13px 压到 6.72px),导致 letter-spacing 在每处标点被多补约
746
+ 6.3px,行内标点密集时渲染内容向右累积溢出网格宽度,行尾一两个字被裁剪。
747
+ space-all 关闭标点压缩,让字宽测量与单字实际渲染一致,全角标点按两格渲染。 */
748
+ .xterm-width-cache-measure-container,.xterm-rows{text-spacing-trim:space-all}
573
749
  `;
574
750
  //# sourceMappingURL=xterm-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xterm-view.js","sourceRoot":"","sources":["../../../../../src/client/terminal/xterm-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xterm-view.js","sourceRoot":"","sources":["../../../../../src/client/terminal/xterm-view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { VoicePcmFrame } from '../shared/contracts/voice-runtime.js';
2
+ import { BrowserVoiceDeviceManager } from './voice-device-manager.js';
3
+ export interface ClientVoiceCaptureOptions {
4
+ readonly devices: BrowserVoiceDeviceManager;
5
+ readonly onFrame: (frame: VoicePcmFrame) => void | Promise<void>;
6
+ readonly onEnded?: (error: Error) => void;
7
+ readonly targetSampleRate?: number;
8
+ }
9
+ /** 浏览器端实时 PCM 采集器;设备权限始终由 Client 自己持有。 */
10
+ export declare class ClientVoiceCapture {
11
+ private readonly options;
12
+ private stream;
13
+ private context;
14
+ private source;
15
+ private processor;
16
+ private output;
17
+ private workletUrl;
18
+ private sequence;
19
+ private started;
20
+ private inputRate;
21
+ constructor(options: ClientVoiceCaptureOptions);
22
+ get isStarted(): boolean;
23
+ start(): Promise<void>;
24
+ stop(): Promise<void>;
25
+ private startWorklet;
26
+ private startScriptProcessor;
27
+ private readonly handleEnded;
28
+ private emitSamples;
29
+ }
30
+ /** 无依赖的线性重采样,适合语音 16 kHz 采集;整段音频不会进入内存。 */
31
+ export declare function resampleFloat32ToPcm16(samples: Float32Array, inputRate: number, outputRate: number): Uint8Array;
32
+ //# sourceMappingURL=voice-capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-capture.d.ts","sourceRoot":"","sources":["../../../../src/client/voice-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAMD,0CAA0C;AAC1C,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAoD;IACrE,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,yBAAyB;IAE9C,IAAI,SAAS,IAAI,OAAO,CAAwB;IAE1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBb,YAAY;IAmB1B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI3B;IAED,OAAO,CAAC,WAAW;CAOpB;AAED,2CAA2C;AAC3C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAe/G"}