@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
@@ -1,12 +1,23 @@
1
1
  import { spawn, spawnSync } from 'node:child_process';
2
- import type { CodingNsAgentEvent, CodingNsCliCapability, CodingNsCliModelCatalog, CodingNsCliTurnInput } from '../../shared/contracts/cli-adapter.js';
2
+ import type { CodingNsAgentEvent, CodingNsAgentPermissionResponse, CodingNsAgentQuestionResponse, CodingNsCliCapability, CodingNsCliModelCatalog, CodingNsCliTurnInput } from '../../shared/contracts/cli-adapter.js';
3
3
  import type { CodingNsCliDriver, CodingNsCliSessionProbeInput, CodingNsCliSessionProbeResult } from './driver.js';
4
4
  export interface AcpCliDriverOptions {
5
5
  readonly binaries?: readonly string[];
6
6
  readonly spawnSync?: typeof spawnSync;
7
7
  readonly spawn?: typeof spawn;
8
+ /** 传给 Provider 子进程的环境覆盖;不会改写 Host 自身的 process.env。 */
9
+ readonly environment?: Readonly<Record<string, string | undefined>>;
8
10
  /** ACP 的启动参数;每个产品的参数必须在驱动文件中显式写出。 */
9
11
  readonly args: readonly string[];
12
+ /**
13
+ * 按当前会话选择生成启动参数。Cursor 的 ACP 只能在进程启动时固定模型,
14
+ * 因此不能把所有产品都强行塞进 session/set_model。
15
+ */
16
+ readonly buildArgs?: (input: CodingNsCliTurnInput) => readonly string[];
17
+ /** Provider 是否支持在已经建立的 ACP 会话内切换模型。 */
18
+ readonly runtimeModelSelection?: boolean;
19
+ /** 读取 Provider 自己公开的只读模型目录;返回 null 表示本次读取失败。 */
20
+ readonly readModelCatalog?: (command: string, runSpawnSync: typeof spawnSync) => CodingNsCliModelCatalog | null;
10
21
  readonly id: string;
11
22
  readonly name: string;
12
23
  /** 只保留已经验证的能力,默认不声明 usage/fork/压缩/权限交互。 */
@@ -19,8 +30,9 @@ export interface AcpCliDriverOptions {
19
30
  /**
20
31
  * Cursor/Kiro 共用的最小 ACP 驱动。
21
32
  *
22
- * ACP 的权限请求在这两个适配器上没有可验证的 DSH 应答能力,因此统一拒绝;
23
- * 驱动不声明 permission/questions/usage/fork 等能力,避免把协议字段误当能力。
33
+ * ACP 标准权限和 form elicitation 请求由本驱动保留原始 JSON-RPC id,并通过
34
+ * 统一权限/问题事件交给 DSH 原生组件;未知的扩展 server request 仍然快速取消,
35
+ * 避免 Provider 永久等待。URL elicitation 需要浏览器安全同意流程,本驱动不宣告。
24
36
  */
25
37
  export declare class AcpCliDriver implements CodingNsCliDriver {
26
38
  readonly descriptor: {
@@ -33,9 +45,13 @@ export declare class AcpCliDriver implements CodingNsCliDriver {
33
45
  readonly supportsToolStepSplitting = true;
34
46
  private readonly binaries;
35
47
  private readonly args;
48
+ private readonly buildArgsForTurn;
49
+ private readonly runtimeModelSelection;
50
+ private readonly readModelCatalog;
36
51
  private readonly fallbackCatalog;
37
52
  private readonly runSpawnSync;
38
53
  private readonly runSpawn;
54
+ private readonly environment;
39
55
  private readonly probeReason;
40
56
  private cachedBinary;
41
57
  private readonly processes;
@@ -48,6 +64,10 @@ export declare class AcpCliDriver implements CodingNsCliDriver {
48
64
  }>;
49
65
  listModels(): Promise<CodingNsCliModelCatalog>;
50
66
  probeSession(input: CodingNsCliSessionProbeInput): Promise<CodingNsCliSessionProbeResult>;
67
+ /** 回复 ACP 标准 `session/request_permission`,只使用 Provider 给出的选项 id。 */
68
+ respondPermission(sessionId: string, response: CodingNsAgentPermissionResponse): void;
69
+ /** 回复 ACP 标准 `elicitation/create` 的 form 内容。 */
70
+ respondQuestion(sessionId: string, response: CodingNsAgentQuestionResponse): void;
51
71
  executeTurn(input: CodingNsCliTurnInput): AsyncIterable<CodingNsAgentEvent>;
52
72
  interrupt(sessionId: string): Promise<void>;
53
73
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"acp-cli-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-cli-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAQjH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACvD,uCAAuC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAA;IAClD,wCAAwC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAQD;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IACpD,QAAQ,CAAC,UAAU;;;;;MAAA;IACnB,kDAAkD;IAClD,QAAQ,CAAC,yBAAyB,QAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAE7C,OAAO,EAAE,mBAAmB;IAelC,MAAM,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMzF,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAO9C,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAKxF,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IAwD5E,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,OAAO,IAAI,IAAI;YAOD,UAAU;YAwBV,UAAU;YASV,YAAY;CAe3B"}
1
+ {"version":3,"file":"acp-cli-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-cli-driver.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,14 @@ import { firstToolText, isToolRecord, normalizeToolStatus, serializeToolValue }
5
5
  import { buildAcpPromptBlocks } from './attachment-utils.js';
6
6
  import { acpBridgeMcpServers } from '../cli-bridge/injections.js';
7
7
  import { advanceCodingNsSegment, createCodingNsSegmentState, decorateCodingNsSegmentEvent } from './stream-normalizer.js';
8
+ import { reasoningText } from './reasoning-content.js';
9
+ import { ACP_FORM_CLIENT_CAPABILITIES, acpElicitationResponse, readAcpElicitationRequest } from './acp-elicitation.js';
8
10
  /**
9
11
  * Cursor/Kiro 共用的最小 ACP 驱动。
10
12
  *
11
- * ACP 的权限请求在这两个适配器上没有可验证的 DSH 应答能力,因此统一拒绝;
12
- * 驱动不声明 permission/questions/usage/fork 等能力,避免把协议字段误当能力。
13
+ * ACP 标准权限和 form elicitation 请求由本驱动保留原始 JSON-RPC id,并通过
14
+ * 统一权限/问题事件交给 DSH 原生组件;未知的扩展 server request 仍然快速取消,
15
+ * 避免 Provider 永久等待。URL elicitation 需要浏览器安全同意流程,本驱动不宣告。
13
16
  */
14
17
  export class AcpCliDriver {
15
18
  descriptor;
@@ -17,9 +20,13 @@ export class AcpCliDriver {
17
20
  supportsToolStepSplitting = true;
18
21
  binaries;
19
22
  args;
23
+ buildArgsForTurn;
24
+ runtimeModelSelection;
25
+ readModelCatalog;
20
26
  fallbackCatalog;
21
27
  runSpawnSync;
22
28
  runSpawn;
29
+ environment;
23
30
  probeReason;
24
31
  cachedBinary = null;
25
32
  processes = new Set();
@@ -33,8 +40,19 @@ export class AcpCliDriver {
33
40
  };
34
41
  this.binaries = options.binaries ?? [];
35
42
  this.args = options.args;
43
+ this.buildArgsForTurn = options.buildArgs ?? (() => this.args);
44
+ this.runtimeModelSelection = options.runtimeModelSelection ?? true;
45
+ this.readModelCatalog = options.readModelCatalog;
36
46
  this.fallbackCatalog = options.fallbackCatalog ?? emptyCatalog();
37
- this.runSpawnSync = options.spawnSync ?? spawnSync;
47
+ const baseSpawnSync = options.spawnSync ?? spawnSync;
48
+ this.environment = options.environment ?? {};
49
+ this.runSpawnSync = Object.keys(this.environment).length === 0
50
+ ? baseSpawnSync
51
+ : ((command, args, spawnOptions) => baseSpawnSync(command, args, {
52
+ ...spawnOptions,
53
+ // detectBinary 先注入 commandEnvironment;Provider 的显式环境必须最后覆盖它。
54
+ env: { ...process.env, ...(spawnOptions?.env ?? {}), ...this.environment },
55
+ }));
38
56
  this.runSpawn = options.spawn ?? spawn;
39
57
  this.probeReason = options.probeReason ?? 'Provider 未公开可安全读取的会话索引,未执行有副作用的探测';
40
58
  }
@@ -45,9 +63,19 @@ export class AcpCliDriver {
45
63
  return result;
46
64
  }
47
65
  async listModels() {
66
+ if (this.readModelCatalog !== undefined) {
67
+ const command = (await this.detect()).command;
68
+ if (command === null)
69
+ return this.fallbackCatalog;
70
+ try {
71
+ const catalog = this.readModelCatalog(command, this.runSpawnSync);
72
+ if (catalog !== null && catalog.groups.some((group) => group.models.length > 0))
73
+ return catalog;
74
+ }
75
+ catch { /* 目录读取失败时继续使用明确的静态回退。 */ }
76
+ }
48
77
  // ACP 的 session/new 会创建 Provider 会话,不能拿“列模型”当探测手段。
49
- // Cursor/Kiro 尚未提供只读模型目录端点;没有静态目录时返回空目录,
50
- // 由 Client 按 Provider 默认模型运行。
78
+ // 没有只读目录时返回静态回退,由 Client 按 Provider 默认模型运行。
51
79
  return this.fallbackCatalog;
52
80
  }
53
81
  async probeSession(input) {
@@ -55,11 +83,34 @@ export class AcpCliDriver {
55
83
  return { state: 'unknown', reason: '缺少 Provider 会话标识' };
56
84
  return { state: 'unknown', reason: this.probeReason };
57
85
  }
86
+ /** 回复 ACP 标准 `session/request_permission`,只使用 Provider 给出的选项 id。 */
87
+ respondPermission(sessionId, response) {
88
+ const session = this.sessions.get(sessionId);
89
+ const pending = session?.permissions.get(response.requestId);
90
+ if (session === undefined || pending === undefined)
91
+ throw new Error(`${this.descriptor.name} 权限请求不存在`);
92
+ session.permissions.delete(response.requestId);
93
+ session.rpc.respond(pending.rpcId, {
94
+ outcome: {
95
+ outcome: 'selected',
96
+ optionId: response.approved ? pending.allowOptionId : pending.rejectOptionId,
97
+ },
98
+ });
99
+ }
100
+ /** 回复 ACP 标准 `elicitation/create` 的 form 内容。 */
101
+ respondQuestion(sessionId, response) {
102
+ const session = this.sessions.get(sessionId);
103
+ const pending = session?.questions.get(response.requestId);
104
+ if (session === undefined || pending === undefined)
105
+ throw new Error(`${this.descriptor.name} 问题请求不存在`);
106
+ session.questions.delete(response.requestId);
107
+ session.rpc.respond(pending.rpcId, acpElicitationResponse(pending, response));
108
+ }
58
109
  async *executeTurn(input) {
59
110
  const command = this.cachedBinary ?? (await this.detect()).command;
60
111
  if (command === null)
61
112
  throw new Error(`${this.descriptor.name} 未安装`);
62
- const session = await this.getSession(input, command);
113
+ const session = await this.getSession(input, command, this.buildArgsForTurn(input));
63
114
  let providerSessionId = session.acpSessionId;
64
115
  if (providerSessionId === '') {
65
116
  const created = input.providerSessionId === undefined
@@ -72,7 +123,7 @@ export class AcpCliDriver {
72
123
  session.acpSessionId = providerSessionId;
73
124
  }
74
125
  yield { type: 'session-binding', providerSessionId };
75
- if (input.modelId && input.modelId !== 'provider-default') {
126
+ if (this.runtimeModelSelection && input.modelId && input.modelId !== 'provider-default') {
76
127
  await session.rpc.request('session/set_model', { sessionId: providerSessionId, modelId: input.modelId }, { signal: input.signal, killOnAbort: false }).catch(() => undefined);
77
128
  }
78
129
  let emittedFinish = false;
@@ -129,13 +180,14 @@ export class AcpCliDriver {
129
180
  this.sessions.clear();
130
181
  this.cachedBinary = null;
131
182
  }
132
- async getSession(input, command) {
183
+ async getSession(input, command, args) {
184
+ const argsKey = JSON.stringify(args);
133
185
  const previous = this.sessions.get(input.sessionId);
134
- if (previous !== undefined && previous.cwd === input.cwd && !previous.rpc.isClosed)
186
+ if (previous !== undefined && previous.cwd === input.cwd && previous.argsKey === argsKey && !previous.rpc.isClosed)
135
187
  return previous;
136
188
  previous?.rpc.dispose();
137
- const rpc = new JsonRpcProcess({ command, args: this.args, cwd: input.cwd, spawn: this.runSpawn });
138
- const state = { rpc, cwd: input.cwd, acpSessionId: '' };
189
+ const rpc = new JsonRpcProcess({ command, args, cwd: input.cwd, env: this.environment, spawn: this.runSpawn });
190
+ const state = { rpc, cwd: input.cwd, argsKey, acpSessionId: '', permissions: new Map(), questions: new Map() };
139
191
  this.processes.add(rpc);
140
192
  this.sessions.set(input.sessionId, state);
141
193
  rpc.addExitListener(() => {
@@ -143,8 +195,27 @@ export class AcpCliDriver {
143
195
  if (this.sessions.get(input.sessionId)?.rpc === rpc)
144
196
  this.sessions.delete(input.sessionId);
145
197
  });
146
- // 没有 DSH 权限应答通道时拒绝 Provider 的交互式授权,防止轮次永久等待。
147
- rpc.setServerRequestHandler(() => ({ outcome: { outcome: 'cancelled' } }));
198
+ // ACP 标准权限请求必须等待 DSH 原生审批;未知扩展请求仍快速取消,避免
199
+ // Provider 因没有对应能力而永久挂起。
200
+ rpc.setServerRequestHandler((message) => {
201
+ const elicitation = readAcpElicitationRequest(message);
202
+ if (elicitation !== null) {
203
+ state.questions.set(elicitation.requestId, elicitation);
204
+ return new Promise(() => undefined);
205
+ }
206
+ if (message.method === 'elicitation/create')
207
+ return { action: 'cancel' };
208
+ const permission = readAcpPermissionRequest(message);
209
+ if (permission === null || message.id === undefined || message.id === null) {
210
+ return { outcome: { outcome: 'cancelled' } };
211
+ }
212
+ state.permissions.set(permission.requestId, {
213
+ rpcId: message.id,
214
+ allowOptionId: permission.allowOptionId,
215
+ rejectOptionId: permission.rejectOptionId,
216
+ });
217
+ return new Promise(() => undefined);
218
+ });
148
219
  try {
149
220
  await this.initialize(rpc, input.signal);
150
221
  return state;
@@ -160,7 +231,7 @@ export class AcpCliDriver {
160
231
  await rpc.request('initialize', {
161
232
  protocolVersion: 1,
162
233
  clientInfo: { name: 'codingns4dsh', version: '0.1.1' },
163
- clientCapabilities: {},
234
+ clientCapabilities: ACP_FORM_CLIENT_CAPABILITIES,
164
235
  }, { signal, killOnAbort: false });
165
236
  rpc.notify('initialized', {});
166
237
  }
@@ -189,6 +260,23 @@ function acpMessageToChunk(message, cancelled) {
189
260
  const content = isRecord(update.content) ? update.content : undefined;
190
261
  const messageId = firstToolText(update.messageId, update.message_id, update.itemId, update.item_id, content?.messageId, content?.message_id, content?.id);
191
262
  const withMessageId = messageId === undefined ? {} : { messageId };
263
+ const permission = readAcpPermissionRequest(message);
264
+ if (permission !== null) {
265
+ return {
266
+ type: 'permission-request',
267
+ requestId: permission.requestId,
268
+ kind: permission.kind,
269
+ ...(permission.toolName === undefined ? {} : { toolName: permission.toolName }),
270
+ ...(permission.callId === undefined ? {} : { callId: permission.callId }),
271
+ ...(permission.detail === undefined ? {} : { detail: permission.detail }),
272
+ };
273
+ }
274
+ const elicitation = readAcpElicitationRequest(message);
275
+ if (elicitation !== null)
276
+ return { type: 'question-request', requestId: elicitation.requestId, questions: elicitation.questions };
277
+ const reasoning = reasoningText(update);
278
+ if (reasoning !== null)
279
+ return { type: 'reasoning-delta', text: reasoning, ...withMessageId };
192
280
  if (type.includes('thought') || type.includes('reason'))
193
281
  return text === null ? null : { type: 'reasoning-delta', text, ...withMessageId };
194
282
  if (type.includes('agent_message') || type.includes('message_chunk') || type === 'text' || type.includes('text_delta'))
@@ -206,6 +294,41 @@ function acpMessageToChunk(message, cancelled) {
206
294
  return { type: 'finish', reason: cancelled ? 'cancel' : 'stop' };
207
295
  return null;
208
296
  }
297
+ /** 读取 ACP v1/v2 标准权限请求;未知扩展字段不会被当成权限。 */
298
+ function readAcpPermissionRequest(message) {
299
+ const method = typeof message.method === 'string' ? message.method.toLowerCase() : '';
300
+ const params = isRecord(message.params) ? message.params : {};
301
+ // ACP v1 的可回传权限只有 server request;session/update 中同名扩展没有
302
+ // 可验证的响应方法,不能把它投影成可回传的 DSH 权限事件。
303
+ if (method !== 'session/request_permission')
304
+ return null;
305
+ const requestId = message.id ?? params.requestId ?? params.request_id ?? params.id;
306
+ if (typeof requestId !== 'string' && typeof requestId !== 'number')
307
+ return null;
308
+ const tool = isRecord(params.toolCall) ? params.toolCall : isRecord(params.tool_call) ? params.tool_call : {};
309
+ const toolName = firstToolText(tool.title, tool.name, tool.toolName, params.toolName, params.tool_name);
310
+ const callId = firstToolText(tool.toolCallId, tool.tool_call_id, tool.callId, tool.call_id, params.callId, params.call_id);
311
+ const detail = firstToolText(params.detail, params.reason, params.message, tool.detail);
312
+ const kind = firstToolText(params.kind, params.permissionKind, tool.kind) ?? toolName ?? 'unknown';
313
+ const options = Array.isArray(params.options) ? params.options : [];
314
+ const ids = options.flatMap((option) => {
315
+ if (!isRecord(option))
316
+ return [];
317
+ const id = firstToolText(option.optionId, option.option_id, option.id);
318
+ if (id === undefined)
319
+ return [];
320
+ const optionKind = firstToolText(option.kind, option.type)?.toLowerCase() ?? '';
321
+ return [{ id, kind: optionKind }];
322
+ });
323
+ return {
324
+ requestId: String(requestId), kind,
325
+ ...(toolName === undefined ? {} : { toolName }),
326
+ ...(callId === undefined ? {} : { callId }),
327
+ ...(detail === undefined ? {} : { detail }),
328
+ allowOptionId: ids.find((option) => /allow|approve|accept/u.test(option.kind))?.id ?? ids[0]?.id ?? 'allow-once',
329
+ rejectOptionId: ids.find((option) => /reject|deny|decline|cancel/u.test(option.kind))?.id ?? ids[1]?.id ?? 'reject-once',
330
+ };
331
+ }
209
332
  function toolChunk(update, type) {
210
333
  const tool = isToolRecord(update.toolCall) ? update.toolCall : isToolRecord(update.tool_call) ? update.tool_call : update;
211
334
  const name = firstToolText(tool.name, tool.toolName, tool.tool_name, tool.title, update.name, update.toolName, update.title);
@@ -1 +1 @@
1
- {"version":3,"file":"acp-cli-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-cli-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-cli-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-cli-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { CodingNsAgentQuestion, CodingNsAgentQuestionResponse } from '../../shared/contracts/cli-adapter.js';
2
+ import type { JsonRpcMessage } from './json-rpc-process.js';
3
+ /** ACP 表单提问与 DSH 原生问题之间的字段映射。 */
4
+ export interface AcpElicitationRequest {
5
+ readonly requestId: string;
6
+ readonly rpcId: number | string;
7
+ readonly message: string;
8
+ readonly questions: readonly CodingNsAgentQuestion[];
9
+ readonly bindings: readonly AcpElicitationBinding[];
10
+ }
11
+ export interface AcpElicitationBinding {
12
+ readonly questionId: string;
13
+ readonly propertyKey: string;
14
+ readonly type: 'string' | 'number' | 'integer' | 'boolean' | 'array';
15
+ readonly multiSelect: boolean;
16
+ readonly optionValues: ReadonlyMap<string, unknown>;
17
+ }
18
+ /** 客户端只声明 ACP form;URL 模式需要浏览器和独立的安全同意流程。 */
19
+ export declare const ACP_FORM_CLIENT_CAPABILITIES: {
20
+ readonly elicitation: {
21
+ readonly form: {};
22
+ };
23
+ };
24
+ /** 解析 ACP 标准 `elicitation/create` 请求。 */
25
+ export declare function readAcpElicitationRequest(message: JsonRpcMessage): AcpElicitationRequest | null;
26
+ /** 将 DSH 原生问题回答还原为 ACP form 的 `content` 对象。 */
27
+ export declare function acpElicitationResponse(request: AcpElicitationRequest, response: CodingNsAgentQuestionResponse): {
28
+ readonly action: 'accept';
29
+ readonly content: Record<string, unknown>;
30
+ };
31
+ //# sourceMappingURL=acp-elicitation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-elicitation.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-elicitation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D,iCAAiC;AACjC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACpD,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAA;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;IACpE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpD;AAED,6CAA6C;AAC7C,eAAO,MAAM,4BAA4B;;;;CAE/B,CAAA;AAEV,yCAAyC;AACzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI,CA2C/F;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,6BAA6B,GACtC;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAY1E"}
@@ -0,0 +1,144 @@
1
+ /** 客户端只声明 ACP form;URL 模式需要浏览器和独立的安全同意流程。 */
2
+ export const ACP_FORM_CLIENT_CAPABILITIES = {
3
+ elicitation: { form: {} },
4
+ };
5
+ /** 解析 ACP 标准 `elicitation/create` 请求。 */
6
+ export function readAcpElicitationRequest(message) {
7
+ if (message.method !== 'elicitation/create' || (typeof message.id !== 'string' && typeof message.id !== 'number'))
8
+ return null;
9
+ const params = isRecord(message.params) ? message.params : null;
10
+ if (params === null || params.mode !== 'form' || !isRecord(params.requestedSchema))
11
+ return null;
12
+ const schema = params.requestedSchema;
13
+ const properties = isRecord(schema.properties) ? schema.properties : null;
14
+ if (properties === null)
15
+ return null;
16
+ const messageText = typeof params.message === 'string' && params.message.trim() !== '' ? params.message.trim() : '请回答外部 Agent 的问题';
17
+ const bindings = [];
18
+ const questions = [];
19
+ for (const [propertyKey, rawProperty] of Object.entries(properties)) {
20
+ if (!isRecord(rawProperty))
21
+ continue;
22
+ const type = schemaType(rawProperty.type);
23
+ if (type === null)
24
+ continue;
25
+ const optionResult = schemaOptions(rawProperty);
26
+ const title = stringValue(rawProperty.title) ?? propertyKey;
27
+ const detail = stringValue(rawProperty.description);
28
+ const multiSelect = type === 'array';
29
+ const question = {
30
+ id: propertyKey,
31
+ question: messageText,
32
+ ...(detail === undefined ? {} : { detail }),
33
+ ...(title === messageText ? {} : { header: title }),
34
+ ...(optionResult.options.length === 0 ? {} : { options: optionResult.options }),
35
+ ...(multiSelect ? { multiSelect: true } : {}),
36
+ };
37
+ questions.push(question);
38
+ bindings.push({
39
+ questionId: propertyKey,
40
+ propertyKey,
41
+ type,
42
+ multiSelect,
43
+ optionValues: optionResult.values,
44
+ });
45
+ }
46
+ if (questions.length === 0)
47
+ return null;
48
+ return {
49
+ requestId: String(message.id),
50
+ rpcId: message.id,
51
+ message: messageText,
52
+ questions,
53
+ bindings,
54
+ };
55
+ }
56
+ /** 将 DSH 原生问题回答还原为 ACP form 的 `content` 对象。 */
57
+ export function acpElicitationResponse(request, response) {
58
+ const content = {};
59
+ for (const binding of request.bindings) {
60
+ const answer = response.answers.find((item) => item.id === binding.questionId);
61
+ if (answer === undefined)
62
+ continue;
63
+ const selected = [...answer.selected];
64
+ if (answer.custom?.trim())
65
+ selected.push(answer.custom.trim());
66
+ if (selected.length === 0)
67
+ continue;
68
+ const values = selected.map((value) => providerValue(value, binding));
69
+ content[binding.propertyKey] = binding.multiSelect ? values : values[0];
70
+ }
71
+ return { action: 'accept', content };
72
+ }
73
+ /** ACP form 只允许扁平原子字段;未知类型交给上层安全降级。 */
74
+ function schemaType(value) {
75
+ if (value === 'string' || value === 'number' || value === 'integer' || value === 'boolean')
76
+ return value;
77
+ if (value === 'array')
78
+ return 'array';
79
+ if (Array.isArray(value)) {
80
+ const primitive = value.find((item) => item === 'string' || item === 'number' || item === 'integer' || item === 'boolean');
81
+ if (primitive === 'string' || primitive === 'number' || primitive === 'integer' || primitive === 'boolean')
82
+ return primitive;
83
+ }
84
+ return null;
85
+ }
86
+ function schemaOptions(value) {
87
+ const values = new Map();
88
+ const options = [];
89
+ const enumValues = Array.isArray(value.enum)
90
+ ? value.enum
91
+ : isRecord(value.items) && Array.isArray(value.items.enum)
92
+ ? value.items.enum
93
+ : Array.isArray(value.oneOf)
94
+ ? value.oneOf.flatMap((item) => isRecord(item) && 'const' in item ? [item] : [])
95
+ : [];
96
+ for (const item of enumValues) {
97
+ if (isRecord(item) && 'const' in item) {
98
+ const raw = item.const;
99
+ const label = stringValue(item.title) ?? primitiveLabel(raw);
100
+ if (label === undefined)
101
+ continue;
102
+ const description = stringValue(item.description);
103
+ options.push({ label, ...(description === undefined ? {} : { description }) });
104
+ values.set(label, raw);
105
+ continue;
106
+ }
107
+ const label = primitiveLabel(item);
108
+ if (label === undefined)
109
+ continue;
110
+ options.push({ label });
111
+ values.set(label, item);
112
+ }
113
+ return { options, values };
114
+ }
115
+ function providerValue(value, binding) {
116
+ const mapped = binding.optionValues.get(value);
117
+ if (mapped !== undefined || binding.optionValues.has(value))
118
+ return mapped;
119
+ if (binding.type === 'boolean')
120
+ return value.trim().toLowerCase() === 'true';
121
+ if (binding.type === 'number') {
122
+ const number = Number(value);
123
+ return Number.isFinite(number) ? number : value;
124
+ }
125
+ if (binding.type === 'integer') {
126
+ const number = Number.parseInt(value, 10);
127
+ return Number.isFinite(number) ? number : value;
128
+ }
129
+ return value;
130
+ }
131
+ function primitiveLabel(value) {
132
+ if (typeof value === 'string' && value.trim() !== '')
133
+ return value.trim();
134
+ if (typeof value === 'number' || typeof value === 'boolean')
135
+ return String(value);
136
+ return undefined;
137
+ }
138
+ function stringValue(value) {
139
+ return typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined;
140
+ }
141
+ function isRecord(value) {
142
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
143
+ }
144
+ //# sourceMappingURL=acp-elicitation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-elicitation.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-elicitation.ts"],"names":[],"mappings":"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"}