@jingyi0605/codingns4dsh 0.2.1-beta.12 → 0.2.1-beta.14

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 (584) hide show
  1. package/README.en.md +5 -5
  2. package/README.md +6 -9
  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/index.d.ts +1 -1
  6. package/data/build/dist/bootstrap/index.d.ts.map +1 -1
  7. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  8. package/data/build/dist/client/account-bar.js +24 -70
  9. package/data/build/dist/client/account-bar.js.map +1 -1
  10. package/data/build/dist/client/adapter-catalog-watch.d.ts +1 -1
  11. package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -1
  12. package/data/build/dist/client/adapter-catalog-watch.js +2 -2
  13. package/data/build/dist/client/adapter-catalog-watch.js.map +1 -1
  14. package/data/build/dist/client/bundle.js +40225 -25580
  15. package/data/build/dist/client/bundle.js.map +1 -1
  16. package/data/build/dist/client/cli-management-dialog.d.ts +21 -0
  17. package/data/build/dist/client/cli-management-dialog.d.ts.map +1 -0
  18. package/data/build/dist/client/cli-management-dialog.js +215 -0
  19. package/data/build/dist/client/cli-management-dialog.js.map +1 -0
  20. package/data/build/dist/client/cli-management-terminal.d.ts +9 -0
  21. package/data/build/dist/client/cli-management-terminal.d.ts.map +1 -0
  22. package/data/build/dist/client/cli-management-terminal.js +30 -0
  23. package/data/build/dist/client/cli-management-terminal.js.map +1 -0
  24. package/data/build/dist/client/cli-settings-dialog.d.ts +9 -0
  25. package/data/build/dist/client/cli-settings-dialog.d.ts.map +1 -0
  26. package/data/build/dist/client/cli-settings-dialog.js +45 -0
  27. package/data/build/dist/client/cli-settings-dialog.js.map +1 -0
  28. package/data/build/dist/client/cli-settings-rpc.js +1 -1
  29. package/data/build/dist/client/cli-settings-rpc.js.map +1 -1
  30. package/data/build/dist/client/cli-slots.d.ts +4 -0
  31. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  32. package/data/build/dist/client/cli-slots.js +26 -10
  33. package/data/build/dist/client/cli-slots.js.map +1 -1
  34. package/data/build/dist/client/client.editor-engine.js +4 -1
  35. package/data/build/dist/client/client.editor-engine.js.map +1 -1
  36. package/data/build/dist/client/client.model-catalog-cache.js +9 -1
  37. package/data/build/dist/client/client.model-catalog-cache.js.map +1 -1
  38. package/data/build/dist/client/client.native-workspace-store.js +9 -15
  39. package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
  40. package/data/build/dist/client/client.primitives-adapter.js +53 -0
  41. package/data/build/dist/client/client.primitives-adapter.js.map +1 -1
  42. package/data/build/dist/client/client.session-translation.js +16 -0
  43. package/data/build/dist/client/client.session-translation.js.map +1 -1
  44. package/data/build/dist/client/client.transport.js +487 -44
  45. package/data/build/dist/client/client.transport.js.map +1 -1
  46. package/data/build/dist/client/conversation-translation-settings.d.ts +2 -1
  47. package/data/build/dist/client/conversation-translation-settings.d.ts.map +1 -1
  48. package/data/build/dist/client/conversation-translation-settings.js +7 -5
  49. package/data/build/dist/client/conversation-translation-settings.js.map +1 -1
  50. package/data/build/dist/client/desktop-assistant.js +595 -152
  51. package/data/build/dist/client/editor-engine.d.ts +1 -1
  52. package/data/build/dist/client/editor-engine.d.ts.map +1 -1
  53. package/data/build/dist/client/editor-engine.js +4 -1
  54. package/data/build/dist/client/editor-engine.js.map +1 -1
  55. package/data/build/dist/client/features/cli-adapters.d.ts +3 -1
  56. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  57. package/data/build/dist/client/features/cli-adapters.js +183 -105
  58. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  59. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  60. package/data/build/dist/client/features/file-management.js +2 -0
  61. package/data/build/dist/client/features/file-management.js.map +1 -1
  62. package/data/build/dist/client/features/index.d.ts.map +1 -1
  63. package/data/build/dist/client/features/index.js +2 -0
  64. package/data/build/dist/client/features/index.js.map +1 -1
  65. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  66. package/data/build/dist/client/features/mobile-access.js +7 -0
  67. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  68. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  69. package/data/build/dist/client/features/peer-host.js +3 -0
  70. package/data/build/dist/client/features/peer-host.js.map +1 -1
  71. package/data/build/dist/client/features/quick-apps.d.ts +3 -0
  72. package/data/build/dist/client/features/quick-apps.d.ts.map +1 -0
  73. package/data/build/dist/client/features/quick-apps.js +14 -0
  74. package/data/build/dist/client/features/quick-apps.js.map +1 -0
  75. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  76. package/data/build/dist/client/features/workspace-session-enhancement.js +6 -0
  77. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  78. package/data/build/dist/client/git-management.d.ts.map +1 -1
  79. package/data/build/dist/client/git-management.js +11 -30
  80. package/data/build/dist/client/git-management.js.map +1 -1
  81. package/data/build/dist/client/git-panel-styles.d.ts +4 -0
  82. package/data/build/dist/client/git-panel-styles.d.ts.map +1 -1
  83. package/data/build/dist/client/git-panel-styles.js +14 -0
  84. package/data/build/dist/client/git-panel-styles.js.map +1 -1
  85. package/data/build/dist/client/html-workspace-files.d.ts +4 -0
  86. package/data/build/dist/client/html-workspace-files.d.ts.map +1 -0
  87. package/data/build/dist/client/html-workspace-files.js +114 -0
  88. package/data/build/dist/client/html-workspace-files.js.map +1 -0
  89. package/data/build/dist/client/locale.d.ts.map +1 -1
  90. package/data/build/dist/client/locale.js +14 -0
  91. package/data/build/dist/client/locale.js.map +1 -1
  92. package/data/build/dist/client/locales/cliManagement.d.ts +3 -0
  93. package/data/build/dist/client/locales/cliManagement.d.ts.map +1 -0
  94. package/data/build/dist/client/locales/cliManagement.js +155 -0
  95. package/data/build/dist/client/locales/cliManagement.js.map +1 -0
  96. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  97. package/data/build/dist/client/locales/fileWorkspace.js +4 -0
  98. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  99. package/data/build/dist/client/locales/panels.js +2 -2
  100. package/data/build/dist/client/locales/panels.js.map +1 -1
  101. package/data/build/dist/client/locales/quickApps.d.ts +132 -0
  102. package/data/build/dist/client/locales/quickApps.d.ts.map +1 -0
  103. package/data/build/dist/client/locales/quickApps.js +154 -0
  104. package/data/build/dist/client/locales/quickApps.js.map +1 -0
  105. package/data/build/dist/client/mobile-team-panel-dom.d.ts +14 -0
  106. package/data/build/dist/client/mobile-team-panel-dom.d.ts.map +1 -0
  107. package/data/build/dist/client/mobile-team-panel-dom.js +164 -0
  108. package/data/build/dist/client/mobile-team-panel-dom.js.map +1 -0
  109. package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -1
  110. package/data/build/dist/client/native-model-translation-menu.js +3 -1
  111. package/data/build/dist/client/native-model-translation-menu.js.map +1 -1
  112. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  113. package/data/build/dist/client/provider-icons.js +3 -1
  114. package/data/build/dist/client/provider-icons.js.map +1 -1
  115. package/data/build/dist/client/quick-apps/browser-storage.d.ts +24 -0
  116. package/data/build/dist/client/quick-apps/browser-storage.d.ts.map +1 -0
  117. package/data/build/dist/client/quick-apps/browser-storage.js +114 -0
  118. package/data/build/dist/client/quick-apps/browser-storage.js.map +1 -0
  119. package/data/build/dist/client/quick-apps/client.d.ts +31 -0
  120. package/data/build/dist/client/quick-apps/client.d.ts.map +1 -0
  121. package/data/build/dist/client/quick-apps/client.js +68 -0
  122. package/data/build/dist/client/quick-apps/client.js.map +1 -0
  123. package/data/build/dist/client/quick-apps/document.d.ts +26 -0
  124. package/data/build/dist/client/quick-apps/document.d.ts.map +1 -0
  125. package/data/build/dist/client/quick-apps/document.js +110 -0
  126. package/data/build/dist/client/quick-apps/document.js.map +1 -0
  127. package/data/build/dist/client/quick-apps/file-picker.d.ts +14 -0
  128. package/data/build/dist/client/quick-apps/file-picker.d.ts.map +1 -0
  129. package/data/build/dist/client/quick-apps/file-picker.js +51 -0
  130. package/data/build/dist/client/quick-apps/file-picker.js.map +1 -0
  131. package/data/build/dist/client/quick-apps/launcher.d.ts +7 -0
  132. package/data/build/dist/client/quick-apps/launcher.d.ts.map +1 -0
  133. package/data/build/dist/client/quick-apps/launcher.js +252 -0
  134. package/data/build/dist/client/quick-apps/launcher.js.map +1 -0
  135. package/data/build/dist/client/quick-apps/presentation.d.ts +16 -0
  136. package/data/build/dist/client/quick-apps/presentation.d.ts.map +1 -0
  137. package/data/build/dist/client/quick-apps/presentation.js +31 -0
  138. package/data/build/dist/client/quick-apps/presentation.js.map +1 -0
  139. package/data/build/dist/client/quick-apps/reorder-animation.d.ts +6 -0
  140. package/data/build/dist/client/quick-apps/reorder-animation.d.ts.map +1 -0
  141. package/data/build/dist/client/quick-apps/reorder-animation.js +50 -0
  142. package/data/build/dist/client/quick-apps/reorder-animation.js.map +1 -0
  143. package/data/build/dist/client/quick-apps/reorder.d.ts +26 -0
  144. package/data/build/dist/client/quick-apps/reorder.d.ts.map +1 -0
  145. package/data/build/dist/client/quick-apps/reorder.js +128 -0
  146. package/data/build/dist/client/quick-apps/reorder.js.map +1 -0
  147. package/data/build/dist/client/quick-apps/styles.d.ts +3 -0
  148. package/data/build/dist/client/quick-apps/styles.d.ts.map +1 -0
  149. package/data/build/dist/client/quick-apps/styles.js +143 -0
  150. package/data/build/dist/client/quick-apps/styles.js.map +1 -0
  151. package/data/build/dist/client/quick-apps/ui.d.ts +20 -0
  152. package/data/build/dist/client/quick-apps/ui.d.ts.map +1 -0
  153. package/data/build/dist/client/quick-apps/ui.js +21 -0
  154. package/data/build/dist/client/quick-apps/ui.js.map +1 -0
  155. package/data/build/dist/client/quick-apps/viewer.d.ts +16 -0
  156. package/data/build/dist/client/quick-apps/viewer.d.ts.map +1 -0
  157. package/data/build/dist/client/quick-apps/viewer.js +165 -0
  158. package/data/build/dist/client/quick-apps/viewer.js.map +1 -0
  159. package/data/build/dist/client/quick-apps/workspace-picker.d.ts +19 -0
  160. package/data/build/dist/client/quick-apps/workspace-picker.d.ts.map +1 -0
  161. package/data/build/dist/client/quick-apps/workspace-picker.js +30 -0
  162. package/data/build/dist/client/quick-apps/workspace-picker.js.map +1 -0
  163. package/data/build/dist/client/session-translation-chat.d.ts +1 -1
  164. package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
  165. package/data/build/dist/client/session-translation-chat.js +26 -22
  166. package/data/build/dist/client/session-translation-chat.js.map +1 -1
  167. package/data/build/dist/client/sidebar-footer-style.d.ts +13 -0
  168. package/data/build/dist/client/sidebar-footer-style.d.ts.map +1 -0
  169. package/data/build/dist/client/sidebar-footer-style.js +54 -0
  170. package/data/build/dist/client/sidebar-footer-style.js.map +1 -0
  171. package/data/build/dist/client/style.css +219 -219
  172. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  173. package/data/build/dist/client/terminal/model.js +2 -1
  174. package/data/build/dist/client/terminal/model.js.map +1 -1
  175. package/data/build/dist/client/workspace-session-rightbar-dom.d.ts.map +1 -1
  176. package/data/build/dist/client/workspace-session-rightbar-dom.js +12 -21
  177. package/data/build/dist/client/workspace-session-rightbar-dom.js.map +1 -1
  178. package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
  179. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
  180. package/data/build/dist/client/workspace-session-visibility-dom.js +5 -4
  181. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
  182. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts +4 -0
  183. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts.map +1 -0
  184. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js +8 -0
  185. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js.map +1 -0
  186. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +18 -0
  187. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  188. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +21 -0
  189. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  190. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts +18 -0
  191. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts.map +1 -0
  192. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js +11 -0
  193. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js.map +1 -0
  194. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts +8 -0
  195. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -0
  196. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +100 -0
  197. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -0
  198. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts +3 -0
  199. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts.map +1 -0
  200. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js +22 -0
  201. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js.map +1 -0
  202. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts +52 -0
  203. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts.map +1 -0
  204. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js +109 -0
  205. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js.map +1 -0
  206. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts +11 -0
  207. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts.map +1 -0
  208. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js +97 -0
  209. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js.map +1 -0
  210. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts +36 -0
  211. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts.map +1 -0
  212. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js +164 -0
  213. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js.map +1 -0
  214. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts +44 -0
  215. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts.map +1 -0
  216. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js +240 -0
  217. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js.map +1 -0
  218. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts +37 -0
  219. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts.map +1 -0
  220. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js +35 -0
  221. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js.map +1 -0
  222. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts +13 -0
  223. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts.map +1 -0
  224. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js +30 -0
  225. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js.map +1 -0
  226. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts +21 -0
  227. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts.map +1 -0
  228. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js +132 -0
  229. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js.map +1 -0
  230. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts +10 -0
  231. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts.map +1 -0
  232. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js +33 -0
  233. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js.map +1 -0
  234. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts +7 -0
  235. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts.map +1 -0
  236. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js +18 -0
  237. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js.map +1 -0
  238. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts +13 -0
  239. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts.map +1 -0
  240. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js +24 -0
  241. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js.map +1 -0
  242. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  243. package/data/build/dist/dsh-capabilities/matrix.js +16 -8
  244. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  245. package/data/build/dist/dsh-capabilities/routes.d.ts +1 -0
  246. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  247. package/data/build/dist/dsh-capabilities/routes.js +27 -6
  248. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  249. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  250. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  251. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  252. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  253. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +6 -3
  254. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  255. package/data/build/dist/host/cli-adapters/binary-detection.d.ts.map +1 -1
  256. package/data/build/dist/host/cli-adapters/binary-detection.js +7 -3
  257. package/data/build/dist/host/cli-adapters/binary-detection.js.map +1 -1
  258. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +1 -0
  259. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  260. package/data/build/dist/host/cli-adapters/claude-driver.js +183 -20
  261. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  262. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +18 -0
  263. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  264. package/data/build/dist/host/cli-adapters/codex-driver.js +110 -11
  265. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  266. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts +91 -0
  267. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts.map +1 -0
  268. package/data/build/dist/host/cli-adapters/codex-performance-projection.js +8 -0
  269. package/data/build/dist/host/cli-adapters/codex-performance-projection.js.map +1 -0
  270. package/data/build/dist/host/cli-adapters/codex-performance.d.ts +16 -0
  271. package/data/build/dist/host/cli-adapters/codex-performance.d.ts.map +1 -0
  272. package/data/build/dist/host/cli-adapters/codex-performance.js +81 -0
  273. package/data/build/dist/host/cli-adapters/codex-performance.js.map +1 -0
  274. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -1
  275. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +11 -1
  276. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -1
  277. package/data/build/dist/host/cli-adapters/command-code-driver.js +3 -2
  278. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  279. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +3 -1
  280. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -1
  281. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +41 -4
  282. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -1
  283. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  284. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +19 -5
  285. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  286. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -1
  287. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +3 -2
  288. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -1
  289. package/data/build/dist/host/cli-adapters/feature.d.ts +2 -0
  290. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  291. package/data/build/dist/host/cli-adapters/feature.js +164 -34
  292. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  293. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  294. package/data/build/dist/host/cli-adapters/gemini-driver.js +4 -2
  295. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  296. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +6 -0
  297. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  298. package/data/build/dist/host/cli-adapters/grok-driver.js +327 -30
  299. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  300. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts +123 -0
  301. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts.map +1 -0
  302. package/data/build/dist/host/cli-adapters/grok-performance-projection.js +48 -0
  303. package/data/build/dist/host/cli-adapters/grok-performance-projection.js.map +1 -0
  304. package/data/build/dist/host/cli-adapters/grok-usage.d.ts +45 -0
  305. package/data/build/dist/host/cli-adapters/grok-usage.d.ts.map +1 -0
  306. package/data/build/dist/host/cli-adapters/grok-usage.js +197 -0
  307. package/data/build/dist/host/cli-adapters/grok-usage.js.map +1 -0
  308. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  309. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +20 -3
  310. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  311. package/data/build/dist/host/cli-adapters/management-installation.d.ts +5 -0
  312. package/data/build/dist/host/cli-adapters/management-installation.d.ts.map +1 -0
  313. package/data/build/dist/host/cli-adapters/management-installation.js +131 -0
  314. package/data/build/dist/host/cli-adapters/management-installation.js.map +1 -0
  315. package/data/build/dist/host/cli-adapters/management-methods.d.ts +37 -0
  316. package/data/build/dist/host/cli-adapters/management-methods.d.ts.map +1 -0
  317. package/data/build/dist/host/cli-adapters/management-methods.js +144 -0
  318. package/data/build/dist/host/cli-adapters/management-methods.js.map +1 -0
  319. package/data/build/dist/host/cli-adapters/management-process.d.ts +7 -0
  320. package/data/build/dist/host/cli-adapters/management-process.d.ts.map +1 -0
  321. package/data/build/dist/host/cli-adapters/management-process.js +62 -0
  322. package/data/build/dist/host/cli-adapters/management-process.js.map +1 -0
  323. package/data/build/dist/host/cli-adapters/management.d.ts +32 -0
  324. package/data/build/dist/host/cli-adapters/management.d.ts.map +1 -0
  325. package/data/build/dist/host/cli-adapters/management.js +177 -0
  326. package/data/build/dist/host/cli-adapters/management.js.map +1 -0
  327. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
  328. package/data/build/dist/host/cli-adapters/mcode-driver.js +11 -4
  329. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  330. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +1 -0
  331. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  332. package/data/build/dist/host/cli-adapters/model-catalog.js +62 -0
  333. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  334. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +1 -1
  335. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
  336. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +11 -3
  337. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
  338. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -1
  339. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
  340. package/data/build/dist/host/cli-adapters/native-team-subagent.js +4 -2
  341. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  342. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +22 -0
  343. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  344. package/data/build/dist/host/cli-adapters/opencode-driver.js +105 -17
  345. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  346. package/data/build/dist/host/cli-adapters/process-utils.d.ts +2 -0
  347. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  348. package/data/build/dist/host/cli-adapters/process-utils.js +16 -11
  349. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  350. package/data/build/dist/host/cli-adapters/registry.d.ts +7 -1
  351. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  352. package/data/build/dist/host/cli-adapters/registry.js +98 -30
  353. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  354. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts +74 -0
  355. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts.map +1 -0
  356. package/data/build/dist/host/cli-adapters/session-performance-projection.js +83 -0
  357. package/data/build/dist/host/cli-adapters/session-performance-projection.js.map +1 -0
  358. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  359. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +4 -0
  360. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  361. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts +3 -1
  362. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
  363. package/data/build/dist/host/cli-adapters/stream-normalizer.js +2 -0
  364. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
  365. package/data/build/dist/host/cli-adapters/subagent-tool.js +1 -1
  366. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
  367. package/data/build/dist/host/cli-adapters/team-input.d.ts +17 -0
  368. package/data/build/dist/host/cli-adapters/team-input.d.ts.map +1 -0
  369. package/data/build/dist/host/cli-adapters/team-input.js +67 -0
  370. package/data/build/dist/host/cli-adapters/team-input.js.map +1 -0
  371. package/data/build/dist/host/cli-adapters/update-check.d.ts +34 -0
  372. package/data/build/dist/host/cli-adapters/update-check.d.ts.map +1 -0
  373. package/data/build/dist/host/cli-adapters/update-check.js +263 -0
  374. package/data/build/dist/host/cli-adapters/update-check.js.map +1 -0
  375. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -1
  376. package/data/build/dist/host/cli-adapters/zcode-driver.js +6 -1
  377. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -1
  378. package/data/build/dist/host/cli-adapters/zcode-update.d.ts +8 -0
  379. package/data/build/dist/host/cli-adapters/zcode-update.d.ts.map +1 -0
  380. package/data/build/dist/host/cli-adapters/zcode-update.js +149 -0
  381. package/data/build/dist/host/cli-adapters/zcode-update.js.map +1 -0
  382. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +14 -0
  383. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
  384. package/data/build/dist/host/cli-bridge/bridge-holder.js +53 -6
  385. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
  386. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +4 -0
  387. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
  388. package/data/build/dist/host/cli-bridge/bridge-server.js +34 -6
  389. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
  390. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -1
  391. package/data/build/dist/host/cli-bridge/command-code-mod.js +43 -0
  392. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
  393. package/data/build/dist/host/cli-bridge/dispatch.js +1 -1
  394. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  395. package/data/build/dist/host/cli-bridge/injections.d.ts +3 -0
  396. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  397. package/data/build/dist/host/cli-bridge/injections.js +23 -7
  398. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  399. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +22 -3
  400. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
  401. package/data/build/dist/host/cli-bridge/team-adapters.d.ts +11 -0
  402. package/data/build/dist/host/cli-bridge/team-adapters.d.ts.map +1 -0
  403. package/data/build/dist/host/cli-bridge/team-adapters.js +22 -0
  404. package/data/build/dist/host/cli-bridge/team-adapters.js.map +1 -0
  405. package/data/build/dist/host/cli-bridge/team-dispatch.d.ts +28 -0
  406. package/data/build/dist/host/cli-bridge/team-dispatch.d.ts.map +1 -0
  407. package/data/build/dist/host/cli-bridge/team-dispatch.js +208 -0
  408. package/data/build/dist/host/cli-bridge/team-dispatch.js.map +1 -0
  409. package/data/build/dist/host/cli-bridge/team-tool.d.ts +3 -0
  410. package/data/build/dist/host/cli-bridge/team-tool.d.ts.map +1 -0
  411. package/data/build/dist/host/cli-bridge/team-tool.js +18 -0
  412. package/data/build/dist/host/cli-bridge/team-tool.js.map +1 -0
  413. package/data/build/dist/host/features/file-management.d.ts.map +1 -1
  414. package/data/build/dist/host/features/file-management.js +8 -0
  415. package/data/build/dist/host/features/file-management.js.map +1 -1
  416. package/data/build/dist/host/features/index.d.ts.map +1 -1
  417. package/data/build/dist/host/features/index.js +2 -0
  418. package/data/build/dist/host/features/index.js.map +1 -1
  419. package/data/build/dist/host/features/lan-access-dsh.js +1 -1
  420. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
  421. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  422. package/data/build/dist/host/features/peer-host.js +7 -0
  423. package/data/build/dist/host/features/peer-host.js.map +1 -1
  424. package/data/build/dist/host/features/quick-apps.d.ts +4 -0
  425. package/data/build/dist/host/features/quick-apps.d.ts.map +1 -0
  426. package/data/build/dist/host/features/quick-apps.js +158 -0
  427. package/data/build/dist/host/features/quick-apps.js.map +1 -0
  428. package/data/build/dist/host/features/session-prompt-translation.d.ts +1 -1
  429. package/data/build/dist/host/features/session-prompt-translation.d.ts.map +1 -1
  430. package/data/build/dist/host/features/session-prompt-translation.js +13 -4
  431. package/data/build/dist/host/features/session-prompt-translation.js.map +1 -1
  432. package/data/build/dist/host/features/session-translation-protection.d.ts +6 -0
  433. package/data/build/dist/host/features/session-translation-protection.d.ts.map +1 -1
  434. package/data/build/dist/host/features/session-translation-protection.js +21 -0
  435. package/data/build/dist/host/features/session-translation-protection.js.map +1 -1
  436. package/data/build/dist/host/features/session-translation-recovery.d.ts +3 -2
  437. package/data/build/dist/host/features/session-translation-recovery.d.ts.map +1 -1
  438. package/data/build/dist/host/features/session-translation-recovery.js +6 -3
  439. package/data/build/dist/host/features/session-translation-recovery.js.map +1 -1
  440. package/data/build/dist/host/features/session-translation-service.d.ts +3 -0
  441. package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -1
  442. package/data/build/dist/host/features/session-translation-service.js +14 -8
  443. package/data/build/dist/host/features/session-translation-service.js.map +1 -1
  444. package/data/build/dist/host/features/types.d.ts +10 -0
  445. package/data/build/dist/host/features/types.d.ts.map +1 -1
  446. package/data/build/dist/host/html-workspace-files.d.ts +3 -0
  447. package/data/build/dist/host/html-workspace-files.d.ts.map +1 -0
  448. package/data/build/dist/host/html-workspace-files.js +135 -0
  449. package/data/build/dist/host/html-workspace-files.js.map +1 -0
  450. package/data/build/dist/host/index.d.ts.map +1 -1
  451. package/data/build/dist/host/index.js +27 -2
  452. package/data/build/dist/host/index.js.map +1 -1
  453. package/data/build/dist/host/lan-access-dsh.d.ts +5 -1
  454. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  455. package/data/build/dist/host/lan-access-dsh.js +43 -2
  456. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  457. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts +5 -0
  458. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts.map +1 -0
  459. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js +27 -0
  460. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js.map +1 -0
  461. package/data/build/dist/host/modules/quick-apps/browse.d.ts +5 -0
  462. package/data/build/dist/host/modules/quick-apps/browse.d.ts.map +1 -0
  463. package/data/build/dist/host/modules/quick-apps/browse.js +37 -0
  464. package/data/build/dist/host/modules/quick-apps/browse.js.map +1 -0
  465. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts +4 -0
  466. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts.map +1 -0
  467. package/data/build/dist/host/modules/quick-apps/code-revision.js +39 -0
  468. package/data/build/dist/host/modules/quick-apps/code-revision.js.map +1 -0
  469. package/data/build/dist/host/modules/quick-apps/documents.d.ts +14 -0
  470. package/data/build/dist/host/modules/quick-apps/documents.d.ts.map +1 -0
  471. package/data/build/dist/host/modules/quick-apps/documents.js +87 -0
  472. package/data/build/dist/host/modules/quick-apps/documents.js.map +1 -0
  473. package/data/build/dist/host/modules/quick-apps/errors.d.ts +8 -0
  474. package/data/build/dist/host/modules/quick-apps/errors.d.ts.map +1 -0
  475. package/data/build/dist/host/modules/quick-apps/errors.js +15 -0
  476. package/data/build/dist/host/modules/quick-apps/errors.js.map +1 -0
  477. package/data/build/dist/host/modules/quick-apps/file-api.d.ts +30 -0
  478. package/data/build/dist/host/modules/quick-apps/file-api.d.ts.map +1 -0
  479. package/data/build/dist/host/modules/quick-apps/file-api.js +149 -0
  480. package/data/build/dist/host/modules/quick-apps/file-api.js.map +1 -0
  481. package/data/build/dist/host/modules/quick-apps/launches.d.ts +35 -0
  482. package/data/build/dist/host/modules/quick-apps/launches.d.ts.map +1 -0
  483. package/data/build/dist/host/modules/quick-apps/launches.js +80 -0
  484. package/data/build/dist/host/modules/quick-apps/launches.js.map +1 -0
  485. package/data/build/dist/host/modules/quick-apps/paths.d.ts +14 -0
  486. package/data/build/dist/host/modules/quick-apps/paths.d.ts.map +1 -0
  487. package/data/build/dist/host/modules/quick-apps/paths.js +72 -0
  488. package/data/build/dist/host/modules/quick-apps/paths.js.map +1 -0
  489. package/data/build/dist/host/modules/quick-apps/registry.d.ts +30 -0
  490. package/data/build/dist/host/modules/quick-apps/registry.d.ts.map +1 -0
  491. package/data/build/dist/host/modules/quick-apps/registry.js +186 -0
  492. package/data/build/dist/host/modules/quick-apps/registry.js.map +1 -0
  493. package/data/build/dist/host/modules/quick-apps/remote.d.ts +38 -0
  494. package/data/build/dist/host/modules/quick-apps/remote.d.ts.map +1 -0
  495. package/data/build/dist/host/modules/quick-apps/remote.js +238 -0
  496. package/data/build/dist/host/modules/quick-apps/remote.js.map +1 -0
  497. package/data/build/dist/host/modules/quick-apps/service.d.ts +27 -0
  498. package/data/build/dist/host/modules/quick-apps/service.d.ts.map +1 -0
  499. package/data/build/dist/host/modules/quick-apps/service.js +174 -0
  500. package/data/build/dist/host/modules/quick-apps/service.js.map +1 -0
  501. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts +8 -0
  502. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts.map +1 -0
  503. package/data/build/dist/host/modules/quick-apps/static-handler.js +190 -0
  504. package/data/build/dist/host/modules/quick-apps/static-handler.js.map +1 -0
  505. package/data/build/dist/host/native-session-bridge.d.ts +5 -0
  506. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  507. package/data/build/dist/host/native-session-bridge.js +3 -0
  508. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  509. package/data/build/dist/host/rpc.d.ts.map +1 -1
  510. package/data/build/dist/host/rpc.js +8 -3
  511. package/data/build/dist/host/rpc.js.map +1 -1
  512. package/data/build/dist/host/session-migration-repair.js +48 -35
  513. package/data/build/dist/host/session-migration-repair.js.map +1 -1
  514. package/data/build/dist/host/settings.d.ts.map +1 -1
  515. package/data/build/dist/host/settings.js +13 -0
  516. package/data/build/dist/host/settings.js.map +1 -1
  517. package/data/build/dist/host/workspace-file-mutations.d.ts +2 -0
  518. package/data/build/dist/host/workspace-file-mutations.d.ts.map +1 -0
  519. package/data/build/dist/host/workspace-file-mutations.js +15 -0
  520. package/data/build/dist/host/workspace-file-mutations.js.map +1 -0
  521. package/data/build/dist/shared/cli-provider-route.d.ts +7 -0
  522. package/data/build/dist/shared/cli-provider-route.d.ts.map +1 -0
  523. package/data/build/dist/shared/cli-provider-route.js +13 -0
  524. package/data/build/dist/shared/cli-provider-route.js.map +1 -0
  525. package/data/build/dist/shared/codex-performance.d.ts +3 -0
  526. package/data/build/dist/shared/codex-performance.d.ts.map +1 -0
  527. package/data/build/dist/shared/codex-performance.js +2 -0
  528. package/data/build/dist/shared/codex-performance.js.map +1 -0
  529. package/data/build/dist/shared/contracts/agent-team.d.ts +14 -0
  530. package/data/build/dist/shared/contracts/agent-team.d.ts.map +1 -0
  531. package/data/build/dist/shared/contracts/agent-team.js +48 -0
  532. package/data/build/dist/shared/contracts/agent-team.js.map +1 -0
  533. package/data/build/dist/shared/contracts/cli-adapter.d.ts +35 -0
  534. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  535. package/data/build/dist/shared/contracts/cli-management.d.ts +29 -0
  536. package/data/build/dist/shared/contracts/cli-management.d.ts.map +1 -0
  537. package/data/build/dist/shared/contracts/cli-management.js +2 -0
  538. package/data/build/dist/shared/contracts/cli-management.js.map +1 -0
  539. package/data/build/dist/shared/contracts/config.d.ts +2 -0
  540. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  541. package/data/build/dist/shared/contracts/config.js.map +1 -1
  542. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  543. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  544. package/data/build/dist/shared/contracts/quick-apps.d.ts +68 -0
  545. package/data/build/dist/shared/contracts/quick-apps.d.ts.map +1 -0
  546. package/data/build/dist/shared/contracts/quick-apps.js +4 -0
  547. package/data/build/dist/shared/contracts/quick-apps.js.map +1 -0
  548. package/data/build/dist/shared/contracts/session-translation.d.ts +8 -3
  549. package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
  550. package/data/build/dist/shared/contracts/session-translation.js +14 -0
  551. package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
  552. package/data/build/dist/shared/contracts/version.d.ts +9 -15
  553. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  554. package/data/build/dist/shared/contracts/version.js +8 -14
  555. package/data/build/dist/shared/contracts/version.js.map +1 -1
  556. package/data/build/dist/shared/peer-host-http-routes.d.ts +4 -0
  557. package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -1
  558. package/data/build/dist/shared/peer-host-http-routes.js +4 -0
  559. package/data/build/dist/shared/peer-host-http-routes.js.map +1 -1
  560. package/data/build/dist/shared/quick-app-browser-storage.d.ts +33 -0
  561. package/data/build/dist/shared/quick-app-browser-storage.d.ts.map +1 -0
  562. package/data/build/dist/shared/quick-app-browser-storage.js +33 -0
  563. package/data/build/dist/shared/quick-app-browser-storage.js.map +1 -0
  564. package/data/build/dist/shared/quick-app-proxy-path.d.ts +6 -0
  565. package/data/build/dist/shared/quick-app-proxy-path.d.ts.map +1 -0
  566. package/data/build/dist/shared/quick-app-proxy-path.js +18 -0
  567. package/data/build/dist/shared/quick-app-proxy-path.js.map +1 -0
  568. package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts +9 -0
  569. package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts.map +1 -0
  570. package/data/build/dist/shared/quick-app-storage-bootstrap.js +186 -0
  571. package/data/build/dist/shared/quick-app-storage-bootstrap.js.map +1 -0
  572. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts +7 -0
  573. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts.map +1 -0
  574. package/data/build/dist/shared/quick-apps-bootstrap-locale.js +10 -0
  575. package/data/build/dist/shared/quick-apps-bootstrap-locale.js.map +1 -0
  576. package/data/build/dist/shared/request-performance.d.ts +15 -0
  577. package/data/build/dist/shared/request-performance.d.ts.map +1 -0
  578. package/data/build/dist/shared/request-performance.js +3 -0
  579. package/data/build/dist/shared/request-performance.js.map +1 -0
  580. package/package.json +32 -32
  581. package/profile/README.md +2 -2
  582. package/profile/package.json +3 -3
  583. package/profile/version.json +3 -3
  584. package/version.json +3 -3
@@ -0,0 +1,21 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { CodingNsCliAdapterDescriptor } from '../shared/contracts/cli-adapter.js';
3
+ import type { CliManagementAction, CliManagementOperation } from '../shared/contracts/cli-management.js';
4
+ import type { CodingNsRpcClient } from './features/types.js';
5
+ import type { CodingNsTranslator } from './locale.js';
6
+ export declare function cliManagementAction(adapter: CodingNsCliAdapterDescriptor): CliManagementAction | null;
7
+ export interface CliManagementDialogProps {
8
+ readonly adapter: CodingNsCliAdapterDescriptor;
9
+ readonly rpc: CodingNsRpcClient;
10
+ readonly hostLabel: string;
11
+ readonly t: CodingNsTranslator;
12
+ readonly visible?: boolean;
13
+ readonly onClose: (keepTracking?: boolean) => void;
14
+ readonly onCatalogChanged: (operation?: CliManagementOperation) => void | Promise<void>;
15
+ }
16
+ export declare function CliManagementDialog({ adapter, rpc, hostLabel, t, visible, onClose, onCatalogChanged }: CliManagementDialogProps): ReactElement;
17
+ export declare function ManagementStatus({ operation, t }: {
18
+ readonly operation: CliManagementOperation;
19
+ readonly t: CodingNsTranslator;
20
+ }): ReactElement;
21
+ //# sourceMappingURL=cli-management-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-management-dialog.d.ts","sourceRoot":"","sources":["../../../../src/client/cli-management-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAC/F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAqB,MAAM,uCAAuC,CAAA;AAC3H,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAOrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,4BAA4B,GAAG,mBAAmB,GAAG,IAAI,CAIrG;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAA;IAC9C,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACxF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,wBAAwB,GAAG,YAAY,CA4JrJ;AAED,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAAG,YAAY,CAe/I"}
@@ -0,0 +1,215 @@
1
+ import { createElement, Fragment, useEffect, useRef, useState } from 'react';
2
+ import { callCliRpc, errorMessage } from './cli-catalog.js';
3
+ import { CliSettingsDialog } from './cli-settings-dialog.js';
4
+ import { CliManagementTerminal } from './cli-management-terminal.js';
5
+ import { uiFontSize } from './font-scale.js';
6
+ import { dshSettingsButtonStyle, dshSettingsHelpStyle, dshThemeColor } from './theme.js';
7
+ export function cliManagementAction(adapter) {
8
+ if (adapter.detectionState === 'pending' || adapter.detectionState === 'running' || adapter.detectionState === 'error' || adapter.detectionFailure)
9
+ return null;
10
+ if (!adapter.installed)
11
+ return 'install';
12
+ return adapter.update?.state === 'available' && adapter.update.latestVersion ? 'update' : null;
13
+ }
14
+ export function CliManagementDialog({ adapter, rpc, hostLabel, t, visible = true, onClose, onCatalogChanged }) {
15
+ const action = adapter.installed ? 'update' : 'install';
16
+ const [plan, setPlan] = useState(null);
17
+ const [operation, setOperation] = useState(null);
18
+ const [error, setError] = useState('');
19
+ const [busy, setBusy] = useState(false);
20
+ const [loading, setLoading] = useState(true);
21
+ const [revision, setRevision] = useState(0);
22
+ const [catalogRefresh, setCatalogRefresh] = useState('idle');
23
+ const active = useRef(false);
24
+ const submitting = useRef(false);
25
+ const automaticAttempted = useRef(false);
26
+ const callback = useRef(onCatalogChanged);
27
+ callback.current = onCatalogChanged;
28
+ const reported = useRef(null);
29
+ const running = operation?.state === 'running';
30
+ const ownOperation = operation?.adapterId === adapter.id ? operation : null;
31
+ const method = plan?.methods.find(entry => entry.id === plan.automaticMethodId)
32
+ ?? (plan?.action === 'install' ? plan.methods[0] : plan?.methods.find(entry => !entry.executable));
33
+ const currentAction = ownOperation?.action ?? plan?.action ?? action;
34
+ const automatic = plan?.action === 'update' && plan.automaticMethodId !== undefined;
35
+ const close = () => onClose(running || submitting.current);
36
+ const refreshCatalog = async (completed) => {
37
+ setCatalogRefresh('refreshing');
38
+ try {
39
+ await callback.current(completed);
40
+ if (active.current)
41
+ setCatalogRefresh('refreshed');
42
+ }
43
+ catch {
44
+ if (active.current)
45
+ setCatalogRefresh('failed');
46
+ }
47
+ };
48
+ const startPlan = async (nextPlan, nextMethodId) => {
49
+ if (submitting.current || !nextPlan.methods.some(entry => entry.id === nextMethodId && entry.executable))
50
+ return;
51
+ submitting.current = true;
52
+ setBusy(true);
53
+ setError('');
54
+ try {
55
+ const result = await callCliRpc(rpc, 'management/start', { adapterId: adapter.id, action: nextPlan.action, methodId: nextMethodId, fingerprint: nextPlan.fingerprint }, AbortSignal.timeout(10_000));
56
+ if (active.current)
57
+ setOperation(result);
58
+ }
59
+ catch (cause) {
60
+ if (active.current)
61
+ setError(errorMessage(cause));
62
+ }
63
+ finally {
64
+ submitting.current = false;
65
+ if (active.current)
66
+ setBusy(false);
67
+ }
68
+ };
69
+ useEffect(() => {
70
+ active.current = true;
71
+ return () => { active.current = false; };
72
+ }, []);
73
+ useEffect(() => {
74
+ let valid = true;
75
+ const abort = new AbortController();
76
+ setLoading(true);
77
+ setError('');
78
+ void (async () => {
79
+ const status = await callCliRpc(rpc, 'management/status', {}, AbortSignal.any([abort.signal, AbortSignal.timeout(10_000)]));
80
+ if (!valid)
81
+ return;
82
+ const completedTarget = status?.adapterId === adapter.id && status.state === 'succeeded'
83
+ && adapter.update?.latestVersion !== undefined && status.adapter?.version === adapter.update.latestVersion;
84
+ setOperation(status?.state === 'running' || completedTarget ? status : null);
85
+ if (status?.adapterId === adapter.id && (status.state === 'running' || completedTarget))
86
+ return;
87
+ const result = await callCliRpc(rpc, 'management/plan', { adapterId: adapter.id, action }, AbortSignal.any([abort.signal, AbortSignal.timeout(120_000)]));
88
+ if (!valid)
89
+ return;
90
+ setPlan(result);
91
+ if (action === 'update' && result.automaticMethodId && status?.state !== 'running' && !automaticAttempted.current) {
92
+ automaticAttempted.current = true;
93
+ await startPlan(result, result.automaticMethodId);
94
+ }
95
+ })().catch((cause) => { if (valid)
96
+ setError(errorMessage(cause)); })
97
+ .finally(() => { if (valid)
98
+ setLoading(false); });
99
+ return () => { valid = false; abort.abort(); };
100
+ }, [rpc, adapter.id, action, revision]);
101
+ useEffect(() => {
102
+ if (operation === null)
103
+ return;
104
+ if (operation.state !== 'running') {
105
+ if (reported.current !== operation.id) {
106
+ reported.current = operation.id;
107
+ void refreshCatalog(operation);
108
+ }
109
+ return;
110
+ }
111
+ let valid = true;
112
+ const abort = new AbortController();
113
+ const poll = async () => {
114
+ try {
115
+ const value = await callCliRpc(rpc, 'management/status', {}, AbortSignal.any([abort.signal, AbortSignal.timeout(10_000)]));
116
+ if (valid) {
117
+ setOperation(value);
118
+ setError('');
119
+ }
120
+ }
121
+ catch (cause) {
122
+ if (valid)
123
+ setError(errorMessage(cause));
124
+ }
125
+ finally {
126
+ if (valid)
127
+ timer = setTimeout(() => { void poll(); }, 1_500);
128
+ }
129
+ };
130
+ let timer = setTimeout(() => { void poll(); }, 750);
131
+ return () => { valid = false; clearTimeout(timer); abort.abort(); };
132
+ }, [rpc, operation, adapter.id, revision]);
133
+ const start = async () => {
134
+ if (submitting.current || busy || running || !method?.executable || plan === null)
135
+ return;
136
+ await startPlan(plan, method.id);
137
+ };
138
+ const reviewAgain = async () => {
139
+ if (busy || running)
140
+ return;
141
+ setBusy(true);
142
+ setError('');
143
+ try {
144
+ const nextAction = (ownOperation?.adapter ?? adapter).installed ? 'update' : 'install';
145
+ const result = await callCliRpc(rpc, 'management/plan', { adapterId: adapter.id, action: nextAction }, AbortSignal.timeout(120_000));
146
+ if (active.current) {
147
+ setPlan(result);
148
+ setOperation(null);
149
+ if (result.action === 'update' && result.automaticMethodId)
150
+ await startPlan(result, result.automaticMethodId);
151
+ }
152
+ }
153
+ catch (cause) {
154
+ if (active.current)
155
+ setError(errorMessage(cause));
156
+ }
157
+ finally {
158
+ if (active.current)
159
+ setBusy(false);
160
+ }
161
+ };
162
+ const cancel = async () => {
163
+ if (!ownOperation || busy)
164
+ return;
165
+ setBusy(true);
166
+ try {
167
+ const result = await callCliRpc(rpc, 'management/cancel', { operationId: ownOperation.id }, AbortSignal.timeout(10_000));
168
+ if (active.current)
169
+ setOperation(result);
170
+ }
171
+ catch (cause) {
172
+ if (active.current)
173
+ setError(errorMessage(cause));
174
+ }
175
+ finally {
176
+ if (active.current)
177
+ setBusy(false);
178
+ }
179
+ };
180
+ const redetect = async () => {
181
+ setBusy(true);
182
+ setError('');
183
+ try {
184
+ await callCliRpc(rpc, 'catalog/refresh', { adapterId: adapter.id, checkUpdates: true }, AbortSignal.timeout(120_000));
185
+ if (active.current) {
186
+ await callback.current();
187
+ if (active.current)
188
+ onClose();
189
+ }
190
+ }
191
+ catch (cause) {
192
+ if (active.current)
193
+ setError(errorMessage(cause));
194
+ }
195
+ finally {
196
+ if (active.current)
197
+ setBusy(false);
198
+ }
199
+ };
200
+ if (!visible)
201
+ return createElement(Fragment);
202
+ return createElement(CliSettingsDialog, { titleId: 'codingns-agent-management-title', onClose: close }, createElement('div', { style: { padding: 18, display: 'flex', flexDirection: 'column', gap: 12, minWidth: 0 } }, createElement('h3', { id: 'codingns-agent-management-title', style: { margin: 0, fontSize: uiFontSize(18), lineHeight: 1.35 } }, t('cli.manage.title', { action: t(`cli.manage.${currentAction}`), name: adapter.name })), createElement('div', { style: dshSettingsHelpStyle }, t('cli.manage.host', { name: hostLabel, platform: plan?.platform ?? '—' })), loading && createElement('div', { role: 'status' }, t('cli.manage.loading')), plan && createElement('a', { href: plan.sourceUrl, target: '_blank', rel: 'noopener noreferrer', style: { fontSize: uiFontSize(12), color: dshThemeColor.accent, alignSelf: 'flex-start' } }, t('cli.manage.source')), plan?.action === 'update' && plan.methods.some(entry => entry.executable) && !automatic && !running && ownOperation === null && createElement('div', { style: dshSettingsHelpStyle }, t('cli.manage.methodUnknown')), method && createElement('details', { open: !automatic }, createElement('summary', { style: { ...dshSettingsHelpStyle, cursor: 'pointer' } }, t('cli.manage.details')), createElement('div', { style: dshSettingsHelpStyle }, method.instructions), method.command && createElement('pre', { style: { margin: 0, whiteSpace: 'pre-wrap', overflowWrap: 'anywhere', padding: 12, background: dshThemeColor.surfaceSubtle, borderRadius: 6 } }, method.command)), method?.executable && !automatic && !running && ownOperation === null && createElement('div', { style: dshSettingsHelpStyle }, t('cli.manage.review')), running && !ownOperation && createElement('div', { role: 'status' }, t('cli.manage.otherBusy', { name: operation.adapterId })), ownOperation && createElement(ManagementStatus, { operation: ownOperation, t }), ownOperation && createElement(CliManagementTerminal, { operation: ownOperation, t }), ownOperation?.state === 'succeeded' && catalogRefresh !== 'idle' && createElement('div', {
203
+ role: catalogRefresh === 'failed' ? 'alert' : 'status', style: { ...dshSettingsHelpStyle, color: catalogRefresh === 'failed' ? dshThemeColor.warning : dshThemeColor.labelSecondary },
204
+ }, t(`cli.manage.catalog.${catalogRefresh}`), catalogRefresh === 'failed' && createElement('button', {
205
+ type: 'button', style: { ...dshSettingsButtonStyle, marginLeft: 8 }, onClick: () => { void refreshCatalog(ownOperation); },
206
+ }, t('cli.manage.refreshList'))), error && createElement('div', { role: 'alert', style: { color: dshThemeColor.error } }, error), running && createElement('div', { style: dshSettingsHelpStyle }, t('cli.manage.background')), createElement('div', { style: { display: 'flex', flexWrap: 'wrap', justifyContent: 'flex-end', gap: 8 } }, ownOperation && !running && ownOperation.state !== 'succeeded' && createElement('button', { type: 'button', style: dshSettingsButtonStyle, disabled: busy || loading, onClick: () => { void reviewAgain(); } }, t('cli.manage.reviewAgain')), error && createElement('button', { type: 'button', style: dshSettingsButtonStyle, disabled: busy, onClick: () => { setRevision((value) => value + 1); } }, t('cli.manage.retryStatus')), !running && ownOperation?.state !== 'succeeded' && createElement('button', { type: 'button', style: dshSettingsButtonStyle, disabled: busy || loading, onClick: () => { void redetect(); } }, t('cli.manage.redetect')), method?.executable && !running && ownOperation === null && createElement('button', { type: 'button', style: dshSettingsButtonStyle, disabled: busy || loading, onClick: () => { void start(); } }, t('cli.manage.run', { action: t(`cli.manage.${currentAction}`) })), ownOperation?.state === 'running' && createElement('button', { type: 'button', style: dshSettingsButtonStyle, disabled: busy, onClick: () => { void cancel(); } }, t('cli.manage.cancel')), createElement('button', { type: 'button', style: dshSettingsButtonStyle, onClick: close }, t('cli.manage.close')))));
207
+ }
208
+ export function ManagementStatus({ operation, t }) {
209
+ const state = operation.state;
210
+ const color = state === 'succeeded' ? dshThemeColor.success : state === 'failed' ? dshThemeColor.error : state === 'cancelled' ? dshThemeColor.warning : dshThemeColor.accent;
211
+ return createElement('div', { role: state === 'failed' ? 'alert' : 'status', 'data-state': state,
212
+ style: { display: 'flex', gap: 10, alignItems: 'flex-start', padding: '12px 14px', borderRadius: 10, border: `1px solid color-mix(in srgb, ${color} 30%, transparent)`, background: `color-mix(in srgb, ${color} 8%, transparent)`, color },
213
+ }, createElement('svg', { width: 22, height: 22, viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: 1.8, strokeLinecap: 'round', strokeLinejoin: 'round', 'aria-hidden': true, style: { flexShrink: 0 } }, createElement('circle', { cx: 12, cy: 12, r: 9 }), createElement('path', { d: state === 'succeeded' ? 'm8 12 3 3 5-6' : state === 'failed' ? 'm9 9 6 6m0-6-6 6' : state === 'cancelled' ? 'M8 12h8' : 'M12 7v5l3 2' })), createElement('div', { style: { minWidth: 0 } }, createElement('strong', { style: { display: 'block', fontSize: uiFontSize(13) } }, t(`cli.manage.result.${state}`, { action: t(`cli.manage.${operation.action}`) })), state !== 'running' && createElement('div', { style: { marginTop: 4, fontSize: uiFontSize(12), color: dshThemeColor.labelPrimary, overflowWrap: 'anywhere', whiteSpace: 'pre-wrap' } }, state === 'succeeded' ? t('cli.manage.succeeded', { version: operation.adapter?.version ?? '—' }) : operation.error ?? t(`cli.manage.${state}`))));
214
+ }
215
+ //# sourceMappingURL=cli-management-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-management-dialog.js","sourceRoot":"","sources":["../../../../src/client/cli-management-dialog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { CliManagementOperation } from '../shared/contracts/cli-management.js';
3
+ import type { CodingNsTranslator } from './locale.js';
4
+ /** Follow new output until the user scrolls up to inspect earlier lines. */
5
+ export declare function CliManagementTerminal({ operation, t }: {
6
+ readonly operation: CliManagementOperation;
7
+ readonly t: CodingNsTranslator;
8
+ }): ReactElement;
9
+ //# sourceMappingURL=cli-management-terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-management-terminal.d.ts","sourceRoot":"","sources":["../../../../src/client/cli-management-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAC3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;IACtD,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAA;IAC1C,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAC/B,GAAG,YAAY,CA+Bf"}
@@ -0,0 +1,30 @@
1
+ import { createElement, useLayoutEffect, useRef, useState } from 'react';
2
+ import { uiFontSize } from './font-scale.js';
3
+ import { dshThemeColor } from './theme.js';
4
+ /** Follow new output until the user scrolls up to inspect earlier lines. */
5
+ export function CliManagementTerminal({ operation, t }) {
6
+ const viewport = useRef(null);
7
+ const follow = useRef(true);
8
+ const [following, setFollowing] = useState(true);
9
+ useLayoutEffect(() => { follow.current = true; setFollowing(true); }, [operation.id]);
10
+ useLayoutEffect(() => {
11
+ if (follow.current && viewport.current)
12
+ viewport.current.scrollTop = viewport.current.scrollHeight;
13
+ }, [operation.id, operation.output]);
14
+ const color = operation.state === 'succeeded' ? '#86efac' : operation.state === 'failed' ? '#fda4af' : operation.state === 'cancelled' ? '#fcd34d' : '#93c5fd';
15
+ return createElement('section', { 'aria-label': t('cli.manage.output'), style: { minWidth: 0, overflow: 'hidden', borderRadius: 10, border: '1px solid #263244', background: '#0b1220', color: '#e2e8f0' } }, createElement('div', { style: { display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: 8, padding: '9px 12px', background: '#131e30', borderBottom: '1px solid #263244', fontSize: uiFontSize(11) } }, createElement('span', { 'aria-hidden': true, style: { color: '#94a3b8', fontFamily: dshThemeColor.codeFont } }, '>_'), createElement('span', { style: { flex: 1 } }, t('cli.manage.output')), !following && createElement('button', { type: 'button', onClick: () => {
16
+ follow.current = true;
17
+ setFollowing(true);
18
+ if (viewport.current)
19
+ viewport.current.scrollTop = viewport.current.scrollHeight;
20
+ }, style: { border: '1px solid #475569', borderRadius: 5, padding: '4px 8px', background: 'transparent', color: '#e2e8f0', cursor: 'pointer', font: 'inherit', minHeight: 32 } }, t('cli.manage.latestOutput')), createElement('span', { style: { color, display: 'inline-flex', gap: 5, alignItems: 'center' } }, createElement('span', { 'aria-hidden': true, style: { width: 6, height: 6, borderRadius: '50%', background: color } }), t(`cli.manage.log.${operation.state}`))), createElement('pre', {
21
+ ref: viewport, role: 'log', 'aria-label': t('cli.manage.output'), 'aria-live': 'off', tabIndex: 0,
22
+ onScroll: (event) => {
23
+ const node = event.currentTarget;
24
+ follow.current = node.scrollHeight - node.clientHeight - node.scrollTop <= 24;
25
+ setFollowing(follow.current);
26
+ },
27
+ style: { boxSizing: 'border-box', margin: 0, padding: '12px 14px', height: 'clamp(140px, 32dvh, 300px)', overflow: 'auto', overscrollBehavior: 'contain', whiteSpace: 'pre-wrap', overflowWrap: 'anywhere', fontFamily: dshThemeColor.codeFont, fontSize: uiFontSize(12), lineHeight: 1.65, tabSize: 2 },
28
+ }, operation.output || t(operation.state === 'running' ? 'cli.manage.waitingOutput' : 'cli.manage.emptyOutput')));
29
+ }
30
+ //# sourceMappingURL=cli-management-terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-management-terminal.js","sourceRoot":"","sources":["../../../../src/client/cli-management-terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ReactElement, type ReactNode } from 'react';
2
+ /** Native top-layer dialogs escape settings containment and isolate nested dialog focus. */
3
+ export declare function CliSettingsDialog({ titleId, wide, onClose, children }: {
4
+ readonly titleId: string;
5
+ readonly wide?: boolean;
6
+ readonly onClose: () => void;
7
+ readonly children?: ReactNode;
8
+ }): ReactElement;
9
+ //# sourceMappingURL=cli-settings-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-settings-dialog.d.ts","sourceRoot":"","sources":["../../../../src/client/cli-settings-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM3F,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAC9B,GAAG,YAAY,CAgCf"}
@@ -0,0 +1,45 @@
1
+ import { createElement, useEffect, useRef } from 'react';
2
+ import { createPortal } from 'react-dom';
3
+ import { dshThemeColor } from './theme.js';
4
+ const styleId = 'codingns-cli-settings-dialog';
5
+ /** Native top-layer dialogs escape settings containment and isolate nested dialog focus. */
6
+ export function CliSettingsDialog({ titleId, wide = false, onClose, children }) {
7
+ const ref = useRef(null);
8
+ useEffect(() => {
9
+ if (typeof document === 'undefined')
10
+ return;
11
+ if (!document.getElementById(styleId)) {
12
+ const style = document.createElement('style');
13
+ style.id = styleId;
14
+ style.textContent = `
15
+ .codingns-cli-dialog{position:fixed;margin:auto;width:min(680px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--dsw-alias-border-l3,#d9d9d9);border-radius:14px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain}
16
+ .codingns-cli-dialog[data-wide="true"]{width:min(960px,calc(100vw - 32px));height:min(820px,calc(100dvh - 32px))}
17
+ .codingns-cli-dialog[open]{display:flex;flex-direction:column}
18
+ .codingns-cli-dialog::backdrop{background:var(--dsw-alias-bg-mask-1,rgba(0,0,0,.45))}
19
+ @media(max-width:600px){.codingns-cli-dialog[data-wide="true"]{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}}`;
20
+ document.head.appendChild(style);
21
+ }
22
+ const opener = document.activeElement;
23
+ const dialog = ref.current;
24
+ dialog?.showModal();
25
+ return () => { if (dialog?.open)
26
+ dialog.close(); if (opener?.isConnected)
27
+ opener.focus(); };
28
+ }, []);
29
+ const dialog = createElement('dialog', {
30
+ ref, className: 'codingns-cli-dialog', 'data-wide': wide, 'aria-labelledby': titleId, 'aria-modal': true,
31
+ onCancel: (event) => { event.preventDefault(); event.stopPropagation(); onClose(); },
32
+ onKeyDown: (event) => { if (event.key === 'Escape')
33
+ event.stopPropagation(); },
34
+ onPointerDown: (event) => {
35
+ if (event.target !== event.currentTarget)
36
+ return;
37
+ const box = event.currentTarget.getBoundingClientRect();
38
+ if (event.clientX < box.left || event.clientX > box.right || event.clientY < box.top || event.clientY > box.bottom)
39
+ onClose();
40
+ },
41
+ style: { color: dshThemeColor.labelPrimary, background: dshThemeColor.menuBackground, boxShadow: dshThemeColor.prominentShadow },
42
+ }, children);
43
+ return typeof document === 'undefined' ? dialog : createPortal(dialog, document.body);
44
+ }
45
+ //# sourceMappingURL=cli-settings-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-settings-dialog.js","sourceRoot":"","sources":["../../../../src/client/cli-settings-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAqC,MAAM,OAAO,CAAA;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,OAAO,GAAG,8BAA8B,CAAA;AAE9C,4FAA4F;AAC5F,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAK3E;IACC,MAAM,GAAG,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAM;QAC3C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YAC7C,KAAK,CAAC,EAAE,GAAG,OAAO,CAAA;YAClB,KAAK,CAAC,WAAW,GAAG;;;;;6NAKmM,CAAA;YACvN,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAmC,CAAA;QAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAA;QAC1B,MAAM,EAAE,SAAS,EAAE,CAAA;QACnB,OAAO,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,IAAI;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,WAAW;YAAE,MAAM,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,CAAA;IAC5F,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE;QACrC,GAAG,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI;QACxG,QAAQ,EAAE,CAAC,KAA0D,EAAE,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC;QACxI,SAAS,EAAE,CAAC,KAA+C,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,KAAK,CAAC,eAAe,EAAE,CAAA,CAAC,CAAC;QACvH,aAAa,EAAE,CAAC,KAA8F,EAAE,EAAE;YAChH,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa;gBAAE,OAAM;YAChD,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAA;YACvD,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAA;QAC/H,CAAC;QACD,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,eAAe,EAAE;KACjI,EAAE,QAAQ,CAAC,CAAA;IACZ,OAAO,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvF,CAAC"}
@@ -20,7 +20,7 @@ export function createCliSettingsRpc(rpc, peerHostId, locale) {
20
20
  const method = channel === CODINGNS_RPC_CHANNEL ? endpoint : channel === '/api' ? endpoint.replace(/^codingns\//u, '') : '';
21
21
  if (peerHostId === null) {
22
22
  // 聚合 Transport 识别此字段,设置页的本机目录不会跟随远端前台导航。
23
- const input = CATALOG_ENDPOINTS.has(method) ? { ...asRecord(payload), catalogHostId: 'local' } : payload;
23
+ const input = CATALOG_ENDPOINTS.has(method) || method.startsWith('cli/management/') ? { ...asRecord(payload), catalogHostId: 'local' } : payload;
24
24
  return rpc.call(channel, endpoint, input, signal);
25
25
  }
26
26
  // 远端设置页仅支持目录查询与检测刷新,禁止把本机启用开关转发出去。
@@ -1 +1 @@
1
- {"version":3,"file":"cli-settings-rpc.js","sourceRoot":"","sources":["../../../../src/client/cli-settings-rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAuB,MAAM,aAAa,CAAA;AAE5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAA;AACvF,MAAM,OAAO,GAAG,IAAI,OAAO,EAA8H,CAAA;AACzJ,IAAI,eAAe,GAAG,CAAC,CAAA;AAEvB,wCAAwC;AACxC,MAAM,UAAU,oBAAoB,CAAC,GAAsB,EAAE,UAAyB,EAAE,MAAuB;IAC7G,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAA;IAC1E,MAAM,IAAI,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAsB;QAChC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;YAC3C,MAAM,MAAM,GAAG,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3H,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,yCAAyC;gBACzC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;gBACxG,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAA;YACjH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;aAChH,EAAE,iBAAiB,MAAM,EAAE,EAAE;gBAC5B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,0BAA0B,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrJ,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAA;YACF,IAAI,QAAQ,GAAmC,IAAI,CAAA;YACnD,IAAI,CAAC;gBAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;YACxF,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBACvC,OAAO,OAAO,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,EACzF,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACjJ,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YACzC,IAAI,MAAM,EAAE,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;YACnG,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACrC,IAAI,MAAM,EAAE,EAAE,KAAK,KAAK,IAAI,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3I,OAAO,OAAO,CAAC,4BAA4B,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAC3G,CAAC;KACF,CAAA;IACD,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACzC,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,OAAe,IAAuB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAA,CAAC,CAAC;AAErH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAA;AACvH,CAAC"}
1
+ {"version":3,"file":"cli-settings-rpc.js","sourceRoot":"","sources":["../../../../src/client/cli-settings-rpc.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,10 @@ export declare function waitForCliSessionSelection(sessionId: string): Promise<v
43
43
  export declare function cliSessionSelectionRevision(sessionId: string): number;
44
44
  /** Share the model menu's effective translation switch with pending message actions. */
45
45
  export declare function useCliSessionTranslationEnabled(sessionId: string | undefined, rpc: CodingNsRpcClient): boolean;
46
+ export declare function useCliSessionTranslationState(sessionId: string | undefined, rpc: CodingNsRpcClient): {
47
+ adapterId: string;
48
+ enabled: boolean;
49
+ };
46
50
  /**
47
51
  * 把 Agent 与模型选择器注册到同一工具栏,使用顺序保证 Agent 始终位于模型左侧。
48
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cli-slots.d.ts","sourceRoot":"","sources":["../../../../src/client/cli-slots.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAIzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAqBpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAE9E,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AASxE,UAAU,eAAe;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;CACpC;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,QAAQ,KAAK,QAAQ,CAAA;AAE/F,6DAA6D;AAC7D,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,yBAAyB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAA;QAC7D,0BAA0B,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAA;KAC/D;IACD,UAAU,oBAAoB;QAC5B,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,eAAe,CAAA;KAC5B;CACF;AAiDD,UAAU,YAAY;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,qCAAqC;IACrC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,OAAO,GAAG,SAAS,CAAA;CAClE;AAcD,oDAAoD;AACpD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED,gDAAgD;AAChD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wFAAwF;AACxF,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAK9G;AA6ED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,cAAc,EACtB,4BAA4B,CAAC,EAAE,MAAM,OAAO,GAAG,SAAS,EACxD,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,GAC5C,MAAM,IAAI,CA2BZ;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAkDpD;AA8HD,iBAAS,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAsQ3D;AAsCD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;AAC/B,YAAY,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"cli-slots.d.ts","sourceRoot":"","sources":["../../../../src/client/cli-slots.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAIzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAsBpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAE9E,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AASxE,UAAU,eAAe;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;CACpC;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,QAAQ,KAAK,QAAQ,CAAA;AAE/F,6DAA6D;AAC7D,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,yBAAyB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAA;QAC7D,0BAA0B,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAA;KAC/D;IACD,UAAU,oBAAoB;QAC5B,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,eAAe,CAAA;KAC5B;CACF;AAmDD,UAAU,YAAY;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,qCAAqC;IACrC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,OAAO,GAAG,SAAS,CAAA;CAClE;AAcD,oDAAoD;AACpD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED,gDAAgD;AAChD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wFAAwF;AACxF,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAE9G;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAM5I;AA6ED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,cAAc,EACtB,4BAA4B,CAAC,EAAE,MAAM,OAAO,GAAG,SAAS,EACxD,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,GAC5C,MAAM,IAAI,CA2BZ;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA8DpD;AA8HD,iBAAS,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAuQ3D;AAsCD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;AAC/B,YAAY,EAAE,eAAe,EAAE,CAAA"}
@@ -6,6 +6,7 @@ import { Switch } from '@deepseek-ai/dsh-client-ui-primitives';
6
6
  import { adapterCatalogWithDsh, adapterDetectionLabel, callCliRpc, findModel, firstModel } from './cli-catalog.js';
7
7
  import { activeServiceTier, canSelectServiceTier, carriedServiceTierId, isServiceTierEnabled, modelServiceTiers, needsServiceTierRevalidation, toggledServiceTierId, } from './service-tier.js';
8
8
  import { resolveAssistantControlIcon, resolveDataIcon } from '../dsh-capabilities/client/primitives-adapter.js';
9
+ import { composerSlotSelector } from '../dsh-capabilities/client/composer-slot-selectors.js';
9
10
  import { providerIconUrl } from './provider-icons.js';
10
11
  import { publishSessionSelection } from './session-adapter-cache.js';
11
12
  import { getModelCatalogCache, invalidateModelCatalogCache, loadModelCatalog, shouldRevalidateModelCatalog, } from './model-catalog-cache.js';
@@ -26,9 +27,11 @@ function installComposerStyles() {
26
27
  const style = document.createElement('style');
27
28
  style.dataset.plugin = 'codingns4dsh';
28
29
  style.dataset.pluginCss = CLI_STYLE_ID;
30
+ const modelSlot = composerSlotSelector('conversation.input.model');
31
+ const rightSlot = composerSlotSelector('conversation.input.right');
29
32
  style.textContent = [
30
33
  // 每个输入框只读取自己的适配器;主会话与右侧子会话可以同时使用不同 Agent。
31
- '[data-composer-card]:has([data-codingns-agent]:not([data-codingns-agent="dsh"])) [data-slot="conversation.input.model"]{display:none!important}',
34
+ `[data-composer-card]:has([data-codingns-agent]:not([data-codingns-agent="dsh"])) ${modelSlot}{display:none!important}`,
32
35
  // DSH 在控制行放不下时给行加 data-model-compact,原生模型席位据此把文本收成图标。
33
36
  // 这里不再强制工具行 nowrap:保留原生 flex-wrap 语义,DSH 的测量口径才能反映真实占用,
34
37
  // 放不下时先收起模型,而不是把左侧工具组(权限/规划组)压到内容溢出与相邻按钮重叠。
@@ -37,10 +40,10 @@ function installComposerStyles() {
37
40
  '[data-composer-card] [data-model-compact] .codingns4dsh-model-root .codingns4dsh-model-name,',
38
41
  '[data-composer-card] [data-model-compact] .codingns4dsh-model-root .codingns4dsh-model-effort{display:none!important}',
39
42
  '[data-composer-card] [data-model-compact] .codingns4dsh-model-root .codingns4dsh-model-icon{display:block!important;flex:none}',
40
- '[data-composer-card] > div:has([data-slot="conversation.input.right"]) > div:has(> [data-slot="conversation.input.right"]){min-width:0;width:0;flex:1 1 0}',
41
- '[data-composer-card] > div:has([data-slot="conversation.input.right"]) [data-slot="conversation.input.right"] > .codingns4dsh-model-root{min-width:0;max-width:min(360px,45cqw);flex:1 1 min(360px,45cqw)}',
42
- '[data-composer-card] > div:has([data-slot="conversation.input.right"]) [data-slot="conversation.input.model"] > select{width:100%;min-width:0;max-width:min(150px,45cqw);flex:1 1 min(150px,45cqw);overflow:hidden;white-space:nowrap}',
43
- '[data-composer-card] > div:has([data-slot="conversation.input.right"]) [data-slot="conversation.input.model"] > button{width:100%;min-width:0;max-width:min(360px,45cqw);overflow:hidden;white-space:nowrap}',
43
+ `[data-composer-card] > div:has(${rightSlot}) > div:has(> ${rightSlot}){min-width:0;width:0;flex:1 1 0}`,
44
+ `[data-composer-card] > div:has(${rightSlot}) ${rightSlot} > .codingns4dsh-model-root{min-width:0;max-width:min(360px,45cqw);flex:1 1 min(360px,45cqw)}`,
45
+ `[data-composer-card] > div:has(${rightSlot}) ${modelSlot} > select{width:100%;min-width:0;max-width:min(150px,45cqw);flex:1 1 min(150px,45cqw);overflow:hidden;white-space:nowrap}`,
46
+ `[data-composer-card] > div:has(${rightSlot}) ${modelSlot} > button{width:100%;min-width:0;max-width:min(360px,45cqw);overflow:hidden;white-space:nowrap}`,
44
47
  // 与 DSH 原生同类控件一致(权限选择器 460px、预设标签 540px 都用容器查询):
45
48
  // composer 控制行收窄到 650px 以内时,适配器按钮让出名称与右侧状态图标(下拉箭头/锁形),
46
49
  // 只保留适配器图标;行宽恢复后名称自动回来。这是纯 CSS 判定,不随任何折叠状态摆动。
@@ -49,7 +52,7 @@ function installComposerStyles() {
49
52
  '@container (width<=650px){[data-composer-card] .codingns4dsh-agent-trigger > .codingns4dsh-agent-label{display:none}[data-composer-card] .codingns4dsh-agent-trigger > svg{display:none!important}[data-composer-card] .codingns4dsh-agent-trigger{padding-left:4px;padding-right:4px;gap:0}}',
50
53
  // 移动端工具栏空间有限,收掉控件组自身的间距;控件组按 CSS Modules 本地名匹配,
51
54
  // 不绑定构建哈希(npm 分发的 Web 构建是 uV2eYG_*,Desktop 内嵌构建是 yhfFVG_*)。
52
- '@media (max-width: 768px){[data-composer-card] > div:has([data-slot="conversation.input.right"]) > div:has(> [data-slot="conversation.input.right"]),[data-composer-card] [data-slot="conversation.input.right"],[data-composer-card] [class*="_standardControls"],[data-composer-card] [class*="_trailing"]{gap:0!important;column-gap:0!important}}',
55
+ `@media (max-width: 768px){[data-composer-card] > div:has(${rightSlot}) > div:has(> ${rightSlot}),[data-composer-card] ${rightSlot},[data-composer-card] [class*="_standardControls"],[data-composer-card] [class*="_trailing"]{gap:0!important;column-gap:0!important}}`,
53
56
  // ContextMeter 在 pressure 尚未合并时会暂时返回 null;dock 保留同样的行高,数值回来时只更新内容。
54
57
  '[data-composer-card] + div{box-sizing:border-box;min-height:26px;align-items:center}',
55
58
  '[data-composer-card] + div svg[viewBox="0 0 14 14"] circle:last-child{transition:stroke-dasharray .18s ease,stroke .18s ease}',
@@ -93,10 +96,14 @@ export function cliSessionSelectionRevision(sessionId) {
93
96
  }
94
97
  /** Share the model menu's effective translation switch with pending message actions. */
95
98
  export function useCliSessionTranslationEnabled(sessionId, rpc) {
99
+ return useCliSessionTranslationState(sessionId, rpc).enabled;
100
+ }
101
+ export function useCliSessionTranslationState(sessionId, rpc) {
96
102
  const [selection] = useSelection(sessionId, rpc);
97
103
  const nativeDefault = useSyncExternalStore(subscribeNativeTranslationDefault, readNativeTranslationDefault, readNativeTranslationDefault);
98
- return supportsSessionTranslation(selection.adapterId)
104
+ const enabled = supportsSessionTranslation(selection.adapterId)
99
105
  && (selection.translationEnabled ?? (selection.adapterId === DSH_NATIVE_SESSION_ADAPTER_ID && nativeDefault === true));
106
+ return { adapterId: selection.adapterId, enabled };
100
107
  }
101
108
  /** 在 Agent 和模型两个 Slot 之间共享当前会话选择。 */
102
109
  function useSelection(sessionId, rpc) {
@@ -216,13 +223,18 @@ function AgentSlot(props) {
216
223
  const sessionId = props.sessionId ?? session?.sessionId;
217
224
  const [selection, update] = useSelection(sessionId, props.rpc);
218
225
  const [agents, setAgents] = useState([{ id: 'dsh', name: 'DeepSeek Harness', installed: true, enabled: true, version: null, command: null }]);
226
+ const [catalogFailed, setCatalogFailed] = useState(false);
227
+ const [catalogRetry, setCatalogRetry] = useState(0);
219
228
  const [open, setOpen] = useState(false);
220
229
  const rootRef = useRef(null);
221
230
  const locked = isSessionLocked(session);
222
231
  useDismissOnOutsidePointer(rootRef, open, () => setOpen(false));
223
232
  useEffect(() => {
224
- return watchAdapterCatalog(props.rpc, sessionId, (value) => setAgents(adapterCatalogWithDsh(value)));
225
- }, [props.rpc, sessionId]);
233
+ return watchAdapterCatalog(props.rpc, sessionId, (value) => {
234
+ setAgents(adapterCatalogWithDsh(value));
235
+ setCatalogFailed(false);
236
+ }, () => setCatalogFailed(true));
237
+ }, [props.rpc, sessionId, catalogRetry]);
226
238
  useEffect(() => { if (locked)
227
239
  setOpen(false); }, [locked]);
228
240
  const current = agents.find((agent) => agent.id === selection.adapterId) ?? agents[0];
@@ -235,7 +247,10 @@ function AgentSlot(props) {
235
247
  const currentIcon = providerIconUrl(current.id);
236
248
  return createElement('div', { ref: rootRef, style: agentRootStyle, 'data-codingns-agent': selection.adapterId }, createElement('button', { type: 'button', className: 'codingns4dsh-agent-trigger', disabled: locked, onClick: () => setOpen((value) => !value), 'aria-label': t('cli.currentAgent', { name: current.name, locked: locked ? t('cli.locked') : '' }), 'aria-haspopup': 'menu', 'aria-expanded': open, style: { ...agentTriggerStyle, cursor: locked ? 'default' : 'pointer', opacity: locked ? 0.7 : 1 } }, currentIcon === undefined
237
249
  ? createElement(ProviderIconFallback, { name: current.name, size: 20 })
238
- : createElement('img', { src: currentIcon, alt: '', 'aria-hidden': true, style: applyProviderIconShape(current.id, agentTriggerIconStyle) }), createElement('span', { className: 'codingns4dsh-agent-label', style: agentTriggerLabelStyle }, current.name), createElement(NativeDropdownChevron, { open, locked })), open && !locked && createElement('div', { role: 'menu', 'aria-label': t('cli.selectAgent'), style: agentMenuStyle }, ...agents.map((agent) => {
250
+ : createElement('img', { src: currentIcon, alt: '', 'aria-hidden': true, style: applyProviderIconShape(current.id, agentTriggerIconStyle) }), createElement('span', { className: 'codingns4dsh-agent-label', style: agentTriggerLabelStyle }, current.name), createElement(NativeDropdownChevron, { open, locked })), open && !locked && createElement('div', { role: 'menu', 'aria-label': t('cli.selectAgent'), style: agentMenuStyle }, catalogFailed && createElement('div', { role: 'alert', style: { padding: 8, fontSize: uiFontSize(13) } }, createElement('div', null, t('cli.catalogLoadFailed')), createElement('button', {
251
+ type: 'button', role: 'menuitem', style: { ...agentOptionStyle, minHeight: 30 },
252
+ onClick: () => { setCatalogFailed(false); setCatalogRetry((value) => value + 1); },
253
+ }, t('cli.retryCatalog'))), ...agents.map((agent) => {
239
254
  const selected = agent.id === selection.adapterId;
240
255
  const available = agent.installed && agent.enabled;
241
256
  const icon = providerIconUrl(agent.id);
@@ -448,6 +463,7 @@ function ModelSlot(props) {
448
463
  // 所有 Hooks 都先执行;原生与外部适配器切换不能改变 Hook 调用顺序。
449
464
  const translationSettings = translationSettingsOpen && props.settings !== undefined
450
465
  ? createElement(ConversationTranslationSettings, {
466
+ key: selection.adapterId, adapterId: selection.adapterId,
451
467
  settings: props.settings, t, onClose: () => setTranslationSettingsOpen(false),
452
468
  })
453
469
  : null;