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

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 (604) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +18 -7
  3. package/assets/provider-icons/antigravity.svg +39 -0
  4. package/assets/provider-icons/codebuddy.svg +37 -0
  5. package/assets/provider-icons/cursor-cli.svg +1 -0
  6. package/assets/provider-icons/kiro-cli.svg +11 -0
  7. package/assets/provider-icons/minimax-code.svg +4 -0
  8. package/assets/provider-icons/qoder-cn.svg +5 -0
  9. package/assets/provider-icons/qoder.svg +5 -0
  10. package/assets/provider-icons/workbuddy.svg +29 -0
  11. package/assets/provider-icons/zcode.svg +14 -0
  12. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts.map +1 -1
  13. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +78 -1
  14. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -1
  15. package/data/build/dist/client/account-bar.d.ts +2 -1
  16. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  17. package/data/build/dist/client/account-bar.js +21 -16
  18. package/data/build/dist/client/account-bar.js.map +1 -1
  19. package/data/build/dist/client/bundle.js +8147 -2158
  20. package/data/build/dist/client/bundle.js.map +1 -1
  21. package/data/build/dist/client/cli-catalog.d.ts +1 -1
  22. package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
  23. package/data/build/dist/client/cli-catalog.js +11 -5
  24. package/data/build/dist/client/cli-catalog.js.map +1 -1
  25. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  26. package/data/build/dist/client/cli-slots.js +127 -21
  27. package/data/build/dist/client/cli-slots.js.map +1 -1
  28. package/data/build/dist/client/debug/ui.d.ts +2 -1
  29. package/data/build/dist/client/debug/ui.d.ts.map +1 -1
  30. package/data/build/dist/client/debug/ui.js +41 -34
  31. package/data/build/dist/client/debug/ui.js.map +1 -1
  32. package/data/build/dist/client/delegate-command.d.ts +17 -0
  33. package/data/build/dist/client/delegate-command.d.ts.map +1 -0
  34. package/data/build/dist/client/delegate-command.js +597 -0
  35. package/data/build/dist/client/delegate-command.js.map +1 -0
  36. package/data/build/dist/client/delegate-plan.d.ts +40 -0
  37. package/data/build/dist/client/delegate-plan.d.ts.map +1 -0
  38. package/data/build/dist/client/delegate-plan.js +63 -0
  39. package/data/build/dist/client/delegate-plan.js.map +1 -0
  40. package/data/build/dist/client/delegate-ui-dom.d.ts +86 -0
  41. package/data/build/dist/client/delegate-ui-dom.d.ts.map +1 -0
  42. package/data/build/dist/client/delegate-ui-dom.js +647 -0
  43. package/data/build/dist/client/delegate-ui-dom.js.map +1 -0
  44. package/data/build/dist/client/external-tool-stream.d.ts.map +1 -1
  45. package/data/build/dist/client/external-tool-stream.js +44 -36
  46. package/data/build/dist/client/external-tool-stream.js.map +1 -1
  47. package/data/build/dist/client/features/cli-adapters.d.ts +7 -2
  48. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  49. package/data/build/dist/client/features/cli-adapters.js +153 -95
  50. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  51. package/data/build/dist/client/features/debug.d.ts.map +1 -1
  52. package/data/build/dist/client/features/debug.js +5 -3
  53. package/data/build/dist/client/features/debug.js.map +1 -1
  54. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  55. package/data/build/dist/client/features/file-management.js +7 -4
  56. package/data/build/dist/client/features/file-management.js.map +1 -1
  57. package/data/build/dist/client/features/lan-access-panel.js +10 -10
  58. package/data/build/dist/client/features/lan-access-panel.js.map +1 -1
  59. package/data/build/dist/client/features/lan-access.d.ts.map +1 -1
  60. package/data/build/dist/client/features/lan-access.js +8 -3
  61. package/data/build/dist/client/features/lan-access.js.map +1 -1
  62. package/data/build/dist/client/features/login-protection-panel.d.ts.map +1 -1
  63. package/data/build/dist/client/features/login-protection-panel.js +9 -7
  64. package/data/build/dist/client/features/login-protection-panel.js.map +1 -1
  65. package/data/build/dist/client/features/login-protection.js +2 -2
  66. package/data/build/dist/client/features/login-protection.js.map +1 -1
  67. package/data/build/dist/client/features/mobile-access-panel.d.ts.map +1 -1
  68. package/data/build/dist/client/features/mobile-access-panel.js +8 -7
  69. package/data/build/dist/client/features/mobile-access-panel.js.map +1 -1
  70. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  71. package/data/build/dist/client/features/mobile-access.js +6 -2
  72. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  73. package/data/build/dist/client/features/peer-host.d.ts +6 -4
  74. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  75. package/data/build/dist/client/features/peer-host.js +459 -27
  76. package/data/build/dist/client/features/peer-host.js.map +1 -1
  77. package/data/build/dist/client/features/reverse-proxy.js +2 -2
  78. package/data/build/dist/client/features/reverse-proxy.js.map +1 -1
  79. package/data/build/dist/client/features/terminal-enhancement.js +2 -2
  80. package/data/build/dist/client/features/terminal-enhancement.js.map +1 -1
  81. package/data/build/dist/client/features/workspace-session-enhancement-panel.js +1 -1
  82. package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
  83. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  84. package/data/build/dist/client/features/workspace-session-enhancement.js +8 -3
  85. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  86. package/data/build/dist/client/file-management-dom.d.ts +3 -0
  87. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  88. package/data/build/dist/client/file-management-dom.js +41 -30
  89. package/data/build/dist/client/file-management-dom.js.map +1 -1
  90. package/data/build/dist/client/git-history-graph.d.ts +2 -2
  91. package/data/build/dist/client/git-history-graph.d.ts.map +1 -1
  92. package/data/build/dist/client/git-history-graph.js +2 -2
  93. package/data/build/dist/client/git-history-graph.js.map +1 -1
  94. package/data/build/dist/client/git-management.d.ts +2 -0
  95. package/data/build/dist/client/git-management.d.ts.map +1 -1
  96. package/data/build/dist/client/git-management.js +103 -75
  97. package/data/build/dist/client/git-management.js.map +1 -1
  98. package/data/build/dist/client/git-workspace-events.d.ts +7 -0
  99. package/data/build/dist/client/git-workspace-events.d.ts.map +1 -0
  100. package/data/build/dist/client/git-workspace-events.js +32 -0
  101. package/data/build/dist/client/git-workspace-events.js.map +1 -0
  102. package/data/build/dist/client/index.d.ts +2 -0
  103. package/data/build/dist/client/index.d.ts.map +1 -1
  104. package/data/build/dist/client/index.js +6 -5
  105. package/data/build/dist/client/index.js.map +1 -1
  106. package/data/build/dist/client/locale.d.ts +7 -0
  107. package/data/build/dist/client/locale.d.ts.map +1 -1
  108. package/data/build/dist/client/locale.js +140 -42
  109. package/data/build/dist/client/locale.js.map +1 -1
  110. package/data/build/dist/client/locales/debug.d.ts +9 -0
  111. package/data/build/dist/client/locales/debug.d.ts.map +1 -0
  112. package/data/build/dist/client/locales/debug.js +163 -0
  113. package/data/build/dist/client/locales/debug.js.map +1 -0
  114. package/data/build/dist/client/locales/fileWorkspace.d.ts +9 -0
  115. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -0
  116. package/data/build/dist/client/locales/fileWorkspace.js +139 -0
  117. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -0
  118. package/data/build/dist/client/locales/git.d.ts +9 -0
  119. package/data/build/dist/client/locales/git.d.ts.map +1 -0
  120. package/data/build/dist/client/locales/git.js +223 -0
  121. package/data/build/dist/client/locales/git.js.map +1 -0
  122. package/data/build/dist/client/locales/panels.d.ts +9 -0
  123. package/data/build/dist/client/locales/panels.d.ts.map +1 -0
  124. package/data/build/dist/client/locales/panels.js +33 -0
  125. package/data/build/dist/client/locales/panels.js.map +1 -0
  126. package/data/build/dist/client/locales/peerHost.d.ts +9 -0
  127. package/data/build/dist/client/locales/peerHost.d.ts.map +1 -0
  128. package/data/build/dist/client/locales/peerHost.js +153 -0
  129. package/data/build/dist/client/locales/peerHost.js.map +1 -0
  130. package/data/build/dist/client/locales/peerHostWorkspace.d.ts +9 -0
  131. package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -0
  132. package/data/build/dist/client/locales/peerHostWorkspace.js +69 -0
  133. package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -0
  134. package/data/build/dist/client/locales/terminalAuth.d.ts +9 -0
  135. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -0
  136. package/data/build/dist/client/locales/terminalAuth.js +71 -0
  137. package/data/build/dist/client/locales/terminalAuth.js.map +1 -0
  138. package/data/build/dist/client/locales/usage.d.ts +9 -0
  139. package/data/build/dist/client/locales/usage.d.ts.map +1 -0
  140. package/data/build/dist/client/locales/usage.js +215 -0
  141. package/data/build/dist/client/locales/usage.js.map +1 -0
  142. package/data/build/dist/client/mobile-session-interaction.d.ts +44 -0
  143. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -0
  144. package/data/build/dist/client/mobile-session-interaction.js +308 -0
  145. package/data/build/dist/client/mobile-session-interaction.js.map +1 -0
  146. package/data/build/dist/client/mobile-sidebar-gestures.d.ts +55 -7
  147. package/data/build/dist/client/mobile-sidebar-gestures.d.ts.map +1 -1
  148. package/data/build/dist/client/mobile-sidebar-gestures.js +339 -40
  149. package/data/build/dist/client/mobile-sidebar-gestures.js.map +1 -1
  150. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts +10 -2
  151. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts.map +1 -1
  152. package/data/build/dist/client/mobile-sidebar-rail-dom.js +14 -6
  153. package/data/build/dist/client/mobile-sidebar-rail-dom.js.map +1 -1
  154. package/data/build/dist/client/model-catalog-cache.d.ts +5 -0
  155. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -0
  156. package/data/build/dist/client/model-catalog-cache.js +58 -0
  157. package/data/build/dist/client/model-catalog-cache.js.map +1 -0
  158. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts +7 -0
  159. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts.map +1 -1
  160. package/data/build/dist/client/peer-host-aggregate-refresh.js +13 -1
  161. package/data/build/dist/client/peer-host-aggregate-refresh.js.map +1 -1
  162. package/data/build/dist/client/peer-host-connection-button.d.ts +14 -1
  163. package/data/build/dist/client/peer-host-connection-button.d.ts.map +1 -1
  164. package/data/build/dist/client/peer-host-connection-button.js +12 -4
  165. package/data/build/dist/client/peer-host-connection-button.js.map +1 -1
  166. package/data/build/dist/client/peer-host-management-panel.d.ts +3 -0
  167. package/data/build/dist/client/peer-host-management-panel.d.ts.map +1 -1
  168. package/data/build/dist/client/peer-host-management-panel.js +83 -79
  169. package/data/build/dist/client/peer-host-management-panel.js.map +1 -1
  170. package/data/build/dist/client/peer-host-native-projection.d.ts +17 -1
  171. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
  172. package/data/build/dist/client/peer-host-native-projection.js +54 -8
  173. package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
  174. package/data/build/dist/client/peer-host-native-store-projection.d.ts +6 -2
  175. package/data/build/dist/client/peer-host-native-store-projection.d.ts.map +1 -1
  176. package/data/build/dist/client/peer-host-native-store-projection.js +308 -10
  177. package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -1
  178. package/data/build/dist/client/peer-host-scoped-client.js +5 -5
  179. package/data/build/dist/client/peer-host-scoped-client.js.map +1 -1
  180. package/data/build/dist/client/peer-host-workspace-tab.d.ts +8 -0
  181. package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
  182. package/data/build/dist/client/peer-host-workspace-tab.js +48 -28
  183. package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
  184. package/data/build/dist/client/provider-icon-assets.js +18 -0
  185. package/data/build/dist/client/provider-icon-assets.js.map +1 -1
  186. package/data/build/dist/client/provider-icons.d.ts +8 -2
  187. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  188. package/data/build/dist/client/provider-icons.js +28 -7
  189. package/data/build/dist/client/provider-icons.js.map +1 -1
  190. package/data/build/dist/client/pwa-install-prompt.d.ts +4 -1
  191. package/data/build/dist/client/pwa-install-prompt.d.ts.map +1 -1
  192. package/data/build/dist/client/pwa-install-prompt.js +8 -7
  193. package/data/build/dist/client/pwa-install-prompt.js.map +1 -1
  194. package/data/build/dist/client/quick-phrase-layout.d.ts +11 -0
  195. package/data/build/dist/client/quick-phrase-layout.d.ts.map +1 -1
  196. package/data/build/dist/client/quick-phrase-layout.js +20 -0
  197. package/data/build/dist/client/quick-phrase-layout.js.map +1 -1
  198. package/data/build/dist/client/quick-phrase-slot.d.ts.map +1 -1
  199. package/data/build/dist/client/quick-phrase-slot.js +20 -8
  200. package/data/build/dist/client/quick-phrase-slot.js.map +1 -1
  201. package/data/build/dist/client/remote-web-context.js +10 -6
  202. package/data/build/dist/client/remote-web-context.js.map +1 -1
  203. package/data/build/dist/client/service-tier.d.ts +54 -0
  204. package/data/build/dist/client/service-tier.d.ts.map +1 -0
  205. package/data/build/dist/client/service-tier.js +78 -0
  206. package/data/build/dist/client/service-tier.js.map +1 -0
  207. package/data/build/dist/client/session-changed-files-view.d.ts +8 -1
  208. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
  209. package/data/build/dist/client/session-changed-files-view.js +71 -28
  210. package/data/build/dist/client/session-changed-files-view.js.map +1 -1
  211. package/data/build/dist/client/settings-anchor.d.ts +9 -3
  212. package/data/build/dist/client/settings-anchor.d.ts.map +1 -1
  213. package/data/build/dist/client/settings-anchor.js +8 -2
  214. package/data/build/dist/client/settings-anchor.js.map +1 -1
  215. package/data/build/dist/client/settings-promo-styles.d.ts +28 -0
  216. package/data/build/dist/client/settings-promo-styles.d.ts.map +1 -0
  217. package/data/build/dist/client/settings-promo-styles.js +58 -0
  218. package/data/build/dist/client/settings-promo-styles.js.map +1 -0
  219. package/data/build/dist/client/settings-promo.d.ts +14 -0
  220. package/data/build/dist/client/settings-promo.d.ts.map +1 -0
  221. package/data/build/dist/client/settings-promo.js +68 -0
  222. package/data/build/dist/client/settings-promo.js.map +1 -0
  223. package/data/build/dist/client/settings-section.d.ts +2 -1
  224. package/data/build/dist/client/settings-section.d.ts.map +1 -1
  225. package/data/build/dist/client/settings-section.js +10 -7
  226. package/data/build/dist/client/settings-section.js.map +1 -1
  227. package/data/build/dist/client/subscription-slot.d.ts +4 -1
  228. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  229. package/data/build/dist/client/subscription-slot.js +497 -56
  230. package/data/build/dist/client/subscription-slot.js.map +1 -1
  231. package/data/build/dist/client/terminal/model.d.ts +94 -4
  232. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  233. package/data/build/dist/client/terminal/model.js +392 -33
  234. package/data/build/dist/client/terminal/model.js.map +1 -1
  235. package/data/build/dist/client/terminal/recovery.d.ts +16 -1
  236. package/data/build/dist/client/terminal/recovery.d.ts.map +1 -1
  237. package/data/build/dist/client/terminal/recovery.js +101 -39
  238. package/data/build/dist/client/terminal/recovery.js.map +1 -1
  239. package/data/build/dist/client/terminal/styles.d.ts +10 -0
  240. package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
  241. package/data/build/dist/client/terminal/styles.js +27 -3
  242. package/data/build/dist/client/terminal/styles.js.map +1 -1
  243. package/data/build/dist/client/terminal/ui.d.ts +3 -2
  244. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  245. package/data/build/dist/client/terminal/ui.js +216 -103
  246. package/data/build/dist/client/terminal/ui.js.map +1 -1
  247. package/data/build/dist/client/terminal/xterm-view.d.ts +8 -1
  248. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  249. package/data/build/dist/client/terminal/xterm-view.js +394 -34
  250. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  251. package/data/build/dist/client/workspace-session-archive-dom.d.ts +3 -0
  252. package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -1
  253. package/data/build/dist/client/workspace-session-archive-dom.js +131 -45
  254. package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -1
  255. package/data/build/dist/client/workspace-session-logo-dom.d.ts +3 -0
  256. package/data/build/dist/client/workspace-session-logo-dom.d.ts.map +1 -1
  257. package/data/build/dist/client/workspace-session-logo-dom.js +3 -1
  258. package/data/build/dist/client/workspace-session-logo-dom.js.map +1 -1
  259. package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
  260. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
  261. package/data/build/dist/client/workspace-session-visibility-dom.js +46 -17
  262. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
  263. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +10 -0
  264. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  265. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +20 -0
  266. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  267. package/data/build/dist/host/browser-text.d.ts +30 -0
  268. package/data/build/dist/host/browser-text.d.ts.map +1 -0
  269. package/data/build/dist/host/browser-text.js +105 -0
  270. package/data/build/dist/host/browser-text.js.map +1 -0
  271. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +58 -0
  272. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -0
  273. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +271 -0
  274. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -0
  275. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +30 -0
  276. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -0
  277. package/data/build/dist/host/cli-adapters/antigravity-driver.js +210 -0
  278. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -0
  279. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +28 -2
  280. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  281. package/data/build/dist/host/cli-adapters/claude-driver.js +74 -4
  282. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  283. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -1
  284. package/data/build/dist/host/cli-adapters/claude-model-options.js +22 -9
  285. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -1
  286. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +139 -0
  287. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -0
  288. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +1721 -0
  289. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -0
  290. package/data/build/dist/host/cli-adapters/codebuddy-subscription.d.ts +53 -0
  291. package/data/build/dist/host/cli-adapters/codebuddy-subscription.d.ts.map +1 -0
  292. package/data/build/dist/host/cli-adapters/codebuddy-subscription.js +778 -0
  293. package/data/build/dist/host/cli-adapters/codebuddy-subscription.js.map +1 -0
  294. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +22 -0
  295. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  296. package/data/build/dist/host/cli-adapters/codex-driver.js +254 -7
  297. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  298. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +43 -3
  299. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  300. package/data/build/dist/host/cli-adapters/command-code-driver.js +681 -74
  301. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  302. package/data/build/dist/host/cli-adapters/command-code-history.d.ts +147 -0
  303. package/data/build/dist/host/cli-adapters/command-code-history.d.ts.map +1 -0
  304. package/data/build/dist/host/cli-adapters/command-code-history.js +659 -0
  305. package/data/build/dist/host/cli-adapters/command-code-history.js.map +1 -0
  306. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +12 -0
  307. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -0
  308. package/data/build/dist/host/cli-adapters/cursor-driver.js +20 -0
  309. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -0
  310. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.d.ts +67 -0
  311. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.d.ts.map +1 -0
  312. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.js +169 -0
  313. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.js.map +1 -0
  314. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts +48 -0
  315. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts.map +1 -0
  316. package/data/build/dist/host/cli-adapters/delegate-dispatch.js +111 -0
  317. package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -0
  318. package/data/build/dist/host/cli-adapters/delegation-authorization.d.ts +19 -0
  319. package/data/build/dist/host/cli-adapters/delegation-authorization.d.ts.map +1 -0
  320. package/data/build/dist/host/cli-adapters/delegation-authorization.js +49 -0
  321. package/data/build/dist/host/cli-adapters/delegation-authorization.js.map +1 -0
  322. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts +34 -0
  323. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts.map +1 -0
  324. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +121 -0
  325. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -0
  326. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +32 -0
  327. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -0
  328. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +121 -0
  329. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -0
  330. package/data/build/dist/host/cli-adapters/driver.d.ts +6 -0
  331. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  332. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  333. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +5 -4
  334. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  335. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts +16 -0
  336. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -0
  337. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +73 -0
  338. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -0
  339. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  340. package/data/build/dist/host/cli-adapters/feature.js +459 -26
  341. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  342. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  343. package/data/build/dist/host/cli-adapters/gemini-driver.js +21 -5
  344. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  345. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  346. package/data/build/dist/host/cli-adapters/grok-driver.js +24 -7
  347. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  348. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts +22 -6
  349. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  350. package/data/build/dist/host/cli-adapters/json-rpc-process.js +118 -21
  351. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  352. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  353. package/data/build/dist/host/cli-adapters/kimi-driver.js +25 -4
  354. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  355. package/data/build/dist/host/cli-adapters/kiro-driver.d.ts +12 -0
  356. package/data/build/dist/host/cli-adapters/kiro-driver.d.ts.map +1 -0
  357. package/data/build/dist/host/cli-adapters/kiro-driver.js +18 -0
  358. package/data/build/dist/host/cli-adapters/kiro-driver.js.map +1 -0
  359. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts +11 -2
  360. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  361. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +26 -6
  362. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  363. package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts +23 -0
  364. package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts.map +1 -0
  365. package/data/build/dist/host/cli-adapters/mcode-catalog.js +120 -0
  366. package/data/build/dist/host/cli-adapters/mcode-catalog.js.map +1 -0
  367. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +56 -0
  368. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -0
  369. package/data/build/dist/host/cli-adapters/mcode-driver.js +544 -0
  370. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -0
  371. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +35 -5
  372. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  373. package/data/build/dist/host/cli-adapters/model-catalog.js +213 -8
  374. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  375. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +81 -0
  376. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -0
  377. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +299 -0
  378. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -0
  379. package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts +4 -0
  380. package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts.map +1 -0
  381. package/data/build/dist/host/cli-adapters/native-subagent-holder.js +4 -0
  382. package/data/build/dist/host/cli-adapters/native-subagent-holder.js.map +1 -0
  383. package/data/build/dist/host/cli-adapters/native-team-proxy.js +18 -15
  384. package/data/build/dist/host/cli-adapters/native-team-proxy.js.map +1 -1
  385. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +57 -0
  386. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -0
  387. package/data/build/dist/host/cli-adapters/native-team-subagent.js +126 -0
  388. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -0
  389. package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts +75 -0
  390. package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts.map +1 -0
  391. package/data/build/dist/host/cli-adapters/new-api-subscription.js +959 -0
  392. package/data/build/dist/host/cli-adapters/new-api-subscription.js.map +1 -0
  393. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  394. package/data/build/dist/host/cli-adapters/opencode-driver.js +22 -10
  395. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  396. package/data/build/dist/host/cli-adapters/pi-driver.js +24 -7
  397. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  398. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +41 -4
  399. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  400. package/data/build/dist/host/cli-adapters/provider-subscription.js +254 -40
  401. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  402. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +71 -0
  403. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -0
  404. package/data/build/dist/host/cli-adapters/qoder-driver.js +553 -0
  405. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -0
  406. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts +31 -0
  407. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts.map +1 -0
  408. package/data/build/dist/host/cli-adapters/qoder-subscription.js +178 -0
  409. package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -0
  410. package/data/build/dist/host/cli-adapters/registry-holder.d.ts +4 -0
  411. package/data/build/dist/host/cli-adapters/registry-holder.d.ts.map +1 -0
  412. package/data/build/dist/host/cli-adapters/registry-holder.js +9 -0
  413. package/data/build/dist/host/cli-adapters/registry-holder.js.map +1 -0
  414. package/data/build/dist/host/cli-adapters/registry.d.ts +54 -2
  415. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  416. package/data/build/dist/host/cli-adapters/registry.js +224 -18
  417. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  418. package/data/build/dist/host/cli-adapters/session-store.d.ts +10 -1
  419. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
  420. package/data/build/dist/host/cli-adapters/session-store.js +60 -6
  421. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
  422. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +16 -1
  423. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  424. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +150 -26
  425. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  426. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts +10 -1
  427. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
  428. package/data/build/dist/host/cli-adapters/stream-normalizer.js +23 -0
  429. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
  430. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts +5 -0
  431. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -0
  432. package/data/build/dist/host/cli-adapters/subagent-tool.js +112 -0
  433. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -0
  434. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts +57 -0
  435. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -0
  436. package/data/build/dist/host/cli-adapters/zcode-driver.js +843 -0
  437. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -0
  438. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts +28 -0
  439. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts.map +1 -0
  440. package/data/build/dist/host/cli-adapters/zcode-subscription.js +212 -0
  441. package/data/build/dist/host/cli-adapters/zcode-subscription.js.map +1 -0
  442. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +27 -0
  443. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -0
  444. package/data/build/dist/host/cli-bridge/bridge-holder.js +51 -0
  445. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -0
  446. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +39 -0
  447. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -0
  448. package/data/build/dist/host/cli-bridge/bridge-server.js +140 -0
  449. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -0
  450. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts +29 -0
  451. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -0
  452. package/data/build/dist/host/cli-bridge/command-code-mod.js +91 -0
  453. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -0
  454. package/data/build/dist/host/cli-bridge/dispatch.d.ts +19 -0
  455. package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -0
  456. package/data/build/dist/host/cli-bridge/dispatch.js +128 -0
  457. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -0
  458. package/data/build/dist/host/cli-bridge/injections.d.ts +28 -0
  459. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -0
  460. package/data/build/dist/host/cli-bridge/injections.js +131 -0
  461. package/data/build/dist/host/cli-bridge/injections.js.map +1 -0
  462. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts +8 -0
  463. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts.map +1 -0
  464. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +170 -0
  465. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -0
  466. package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -1
  467. package/data/build/dist/host/features/lan-access-dsh.js +6 -2
  468. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
  469. package/data/build/dist/host/features/peer-host.d.ts +21 -1
  470. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  471. package/data/build/dist/host/features/peer-host.js +176 -31
  472. package/data/build/dist/host/features/peer-host.js.map +1 -1
  473. package/data/build/dist/host/features/types.d.ts +2 -0
  474. package/data/build/dist/host/features/types.d.ts.map +1 -1
  475. package/data/build/dist/host/index.d.ts +15 -1
  476. package/data/build/dist/host/index.d.ts.map +1 -1
  477. package/data/build/dist/host/index.js +48 -2
  478. package/data/build/dist/host/index.js.map +1 -1
  479. package/data/build/dist/host/lan-access-dsh.d.ts +7 -1
  480. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  481. package/data/build/dist/host/lan-access-dsh.js +95 -19
  482. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  483. package/data/build/dist/host/login-attempt-guard.d.ts +55 -0
  484. package/data/build/dist/host/login-attempt-guard.d.ts.map +1 -0
  485. package/data/build/dist/host/login-attempt-guard.js +201 -0
  486. package/data/build/dist/host/login-attempt-guard.js.map +1 -0
  487. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +3 -0
  488. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -1
  489. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +2 -0
  490. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
  491. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +1 -0
  492. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -1
  493. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +1 -0
  494. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -1
  495. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +1 -1
  496. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
  497. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +9 -1
  498. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
  499. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts +8 -0
  500. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts.map +1 -1
  501. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js +9 -0
  502. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js.map +1 -1
  503. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts +7 -0
  504. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
  505. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +31 -3
  506. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  507. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts +2 -0
  508. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts.map +1 -1
  509. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js +26 -7
  510. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js.map +1 -1
  511. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts +6 -4
  512. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts.map +1 -1
  513. package/data/build/dist/host/modules/pwa/pwa-assets.js +11 -9
  514. package/data/build/dist/host/modules/pwa/pwa-assets.js.map +1 -1
  515. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts +3 -0
  516. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts.map +1 -1
  517. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js +6 -4
  518. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -1
  519. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  520. package/data/build/dist/host/native-session-bridge.js +106 -59
  521. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  522. package/data/build/dist/host/rpc.js +8 -2
  523. package/data/build/dist/host/rpc.js.map +1 -1
  524. package/data/build/dist/host/settings.d.ts.map +1 -1
  525. package/data/build/dist/host/settings.js +14 -4
  526. package/data/build/dist/host/settings.js.map +1 -1
  527. package/data/build/dist/host/terminal/backends/local-pty-backend.d.ts.map +1 -1
  528. package/data/build/dist/host/terminal/backends/local-pty-backend.js +14 -0
  529. package/data/build/dist/host/terminal/backends/local-pty-backend.js.map +1 -1
  530. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts +40 -1
  531. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts.map +1 -1
  532. package/data/build/dist/host/terminal/backends/tmux-backend.js +291 -18
  533. package/data/build/dist/host/terminal/backends/tmux-backend.js.map +1 -1
  534. package/data/build/dist/host/terminal/runtime-adapter.d.ts +32 -0
  535. package/data/build/dist/host/terminal/runtime-adapter.d.ts.map +1 -1
  536. package/data/build/dist/host/terminal/runtime-adapter.js +8 -0
  537. package/data/build/dist/host/terminal/runtime-adapter.js.map +1 -1
  538. package/data/build/dist/host/terminal/runtime-manager.d.ts +3 -0
  539. package/data/build/dist/host/terminal/runtime-manager.d.ts.map +1 -1
  540. package/data/build/dist/host/terminal/runtime-manager.js +92 -4
  541. package/data/build/dist/host/terminal/runtime-manager.js.map +1 -1
  542. package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
  543. package/data/build/dist/host/terminal/terminal-controller.js +58 -6
  544. package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
  545. package/data/build/dist/host/terminal/terminal-process-service.d.ts.map +1 -1
  546. package/data/build/dist/host/terminal/terminal-process-service.js +12 -2
  547. package/data/build/dist/host/terminal/terminal-process-service.js.map +1 -1
  548. package/data/build/dist/host/terminal/terminal-service.d.ts +41 -4
  549. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
  550. package/data/build/dist/host/terminal/terminal-service.js +551 -61
  551. package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
  552. package/data/build/dist/index.d.ts +2 -2
  553. package/data/build/dist/index.d.ts.map +1 -1
  554. package/data/build/dist/index.js +2 -2
  555. package/data/build/dist/index.js.map +1 -1
  556. package/data/build/dist/shared/contracts/cli-adapter.d.ts +69 -2
  557. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  558. package/data/build/dist/shared/contracts/config.d.ts +63 -10
  559. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  560. package/data/build/dist/shared/contracts/config.js +57 -5
  561. package/data/build/dist/shared/contracts/config.js.map +1 -1
  562. package/data/build/dist/shared/contracts/peer-host.d.ts +2 -0
  563. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
  564. package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
  565. package/data/build/dist/shared/contracts/subscription.d.ts +20 -1
  566. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  567. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  568. package/data/build/dist/shared/contracts/terminal.d.ts +8 -1
  569. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
  570. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  571. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  572. package/data/build/dist/shared/contracts/version.js +1 -1
  573. package/data/build/dist/shared/contracts/version.js.map +1 -1
  574. package/data/build/dist/shared/debug.d.ts +8 -0
  575. package/data/build/dist/shared/debug.d.ts.map +1 -1
  576. package/data/build/dist/shared/debug.js +43 -7
  577. package/data/build/dist/shared/debug.js.map +1 -1
  578. package/data/build/dist/shared/delegation-carrier.d.ts +24 -0
  579. package/data/build/dist/shared/delegation-carrier.d.ts.map +1 -0
  580. package/data/build/dist/shared/delegation-carrier.js +111 -0
  581. package/data/build/dist/shared/delegation-carrier.js.map +1 -0
  582. package/data/build/dist/shared/index.d.ts +3 -3
  583. package/data/build/dist/shared/index.d.ts.map +1 -1
  584. package/data/build/dist/shared/index.js +2 -2
  585. package/data/build/dist/shared/index.js.map +1 -1
  586. package/data/build/dist/shared/terminal-input.d.ts +8 -0
  587. package/data/build/dist/shared/terminal-input.d.ts.map +1 -0
  588. package/data/build/dist/shared/terminal-input.js +10 -0
  589. package/data/build/dist/shared/terminal-input.js.map +1 -0
  590. package/data/build/dist/transport/debug.d.ts +7 -0
  591. package/data/build/dist/transport/debug.d.ts.map +1 -1
  592. package/data/build/dist/transport/debug.js +33 -5
  593. package/data/build/dist/transport/debug.js.map +1 -1
  594. package/data/build/dist/transport/index.d.ts +1 -1
  595. package/data/build/dist/transport/index.d.ts.map +1 -1
  596. package/data/build/dist/transport/index.js +1 -1
  597. package/data/build/dist/transport/index.js.map +1 -1
  598. package/data/build/dist/typert.host.js +1 -1
  599. package/data/build/dist/typert.host.js.map +1 -1
  600. package/package.json +3 -1
  601. package/profile/README.md +2 -2
  602. package/profile/package.json +2 -2
  603. package/profile/version.json +1 -1
  604. package/version.json +1 -1
@@ -0,0 +1,597 @@
1
+ import { adapterCatalogWithDsh, callCliRpc } from './cli-catalog.js';
2
+ import { appendDelegateCarrier, DELEGATE_COMMAND_NAME, delegateAdapterOptions } from './delegate-plan.js';
3
+ import { DELEGATE_POPUP_LOGO_ATTRIBUTE, setDelegatePopupOptions, startDelegateUiDom } from './delegate-ui-dom.js';
4
+ import { providerIconUrl } from './provider-icons.js';
5
+ import { getModelCatalogCache, loadModelCatalog } from './model-catalog-cache.js';
6
+ import { resolveDelegateIcon } from '../dsh-capabilities/client/primitives-adapter.js';
7
+ import { debugInfo, debugWarn } from '../shared/debug.js';
8
+ import { encodeDelegationCarrier } from '../shared/delegation-carrier.js';
9
+ const DELEGATE_REFERENCE_SOURCE = 'codingns-delegate';
10
+ const delegateReferenceLabels = new Map();
11
+ const delegateReferenceSelections = new Map();
12
+ function delegateReferenceKey(adapterId, modelId) {
13
+ return modelId?.trim() ? `${adapterId}\u0000${modelId.trim()}` : adapterId;
14
+ }
15
+ /**
16
+ * 把 `/委派` 注册进 `/` 菜单。
17
+ *
18
+ * @param ctx - Client 根 Context;只用于解析 `commandUi` 等 DSH 服务。
19
+ * @param options - RPC 边界与语言运行时。
20
+ * @returns 注销函数;`commandUi` 不可用时返回空操作。
21
+ */
22
+ export function registerDelegateCommand(ctx, options) {
23
+ const t = options.locale.bind('codingns');
24
+ // 界面增强独立于 commandUi:DSH 的「添加」分类与弹层图标都不在公开契约里,
25
+ // 只能靠 DOM 注入补齐(见 delegate-ui-dom.ts)。注入器对契约不成立的情况完全
26
+ // 静默,因此即使菜单结构变化也不会影响其它功能。
27
+ const ui = startDelegateUiDom({
28
+ menuLabel: () => t('delegate.label'),
29
+ popupPlaceholder: () => t('delegate.searchPlaceholder'),
30
+ composerPlaceholder: () => t('delegate.composerPlaceholder'),
31
+ cardTitle: () => t('delegate.cardTitle'),
32
+ cardStatus: () => t('delegate.cardStatus'),
33
+ cardTarget: (value) => t('delegate.cardTarget', {
34
+ label: value.label,
35
+ adapter: value.adapterId,
36
+ model: value.modelId === undefined ? '' : ` · ${value.modelId}`,
37
+ }),
38
+ });
39
+ // commandUi 由另一个 Client 插件提供,装配顺序不保证它已经就绪;直接同步读取会
40
+ // 在加载晚于本模块时静默丢掉注册。Cordis 的 inject 会把回调推迟到服务可用时,
41
+ // 因此用它拿服务,并把注册本身挂成该作用域的 effect(与 DSH 官方 /file 一致),
42
+ // 模块停用时随 fiber 一起释放,不会在菜单里留下悬空命令。
43
+ const fiber = ctx.inject(['commandUi'], (scope) => {
44
+ registerDelegateCommandIn(scope, options);
45
+ });
46
+ return () => {
47
+ ui.dispose();
48
+ void fiber.dispose();
49
+ };
50
+ }
51
+ /** 在 commandUi 就绪的作用域内注册 `/委派`;失败只降级为不注册。 */
52
+ function registerDelegateCommandIn(ctx, options) {
53
+ const commandUi = readCommandUi(ctx);
54
+ if (commandUi === undefined) {
55
+ debugWarn('codingns4dsh: /委派 未注册,当前 DSH 未提供 commandUi 服务');
56
+ return;
57
+ }
58
+ const t = options.locale.bind('codingns');
59
+ try {
60
+ registerDelegateReferenceSource(ctx, options);
61
+ // 注册必须由本作用域的 effect 持有:commandUi.register 的 disposer 只在显式
62
+ // 调用时才移除命令,effect 保证停用时一定会调用它。
63
+ ctx.effect(() => commandUi.register({
64
+ name: DELEGATE_COMMAND_NAME,
65
+ label: () => t('delegate.label'),
66
+ description: () => t('delegate.description'),
67
+ icon: resolveDelegateIcon(),
68
+ // 会话本身永远可用;真正的门槛是 Host 侧的可续子代理能力,由选项加载给出可读诊断。
69
+ available: () => true,
70
+ ui: {
71
+ kind: 'popupSelect',
72
+ searchMode: 'fuzzy-label',
73
+ searchLabels: () => ({
74
+ placeholder: t('delegate.searchPlaceholder'),
75
+ empty: t('delegate.searchEmpty'),
76
+ noResults: t('delegate.searchNoResults'),
77
+ }),
78
+ async options(session) {
79
+ const capability = await callCliRpc(options.rpc, 'delegate/capability', { sessionId: session.sessionId });
80
+ if (!capability.supported)
81
+ throw new Error(capability.message);
82
+ const catalog = await callCliRpc(options.rpc, 'catalog', { sessionId: session.sessionId });
83
+ const list = delegateAdapterOptions(adapterCatalogWithDsh(catalog, options.dshVersion));
84
+ // 登记给 DOM 增强器,供弹层按标题反查适配器并插入图标。
85
+ setDelegatePopupOptions(list);
86
+ return list;
87
+ },
88
+ async onSelect(option, session) {
89
+ const input = readSessionInput(ctx, session.sessionId);
90
+ if (input === undefined) {
91
+ return;
92
+ }
93
+ const snapshot = input.state.getSnapshot();
94
+ const draft = snapshot.draft ?? '';
95
+ delegateReferenceLabels.set(option.id, option.label);
96
+ const selection = input.caretSpan?.();
97
+ const span = snapshot.draftRev === undefined
98
+ ? undefined
99
+ : delegateCommandSpan(draft, snapshot.draftRev, selection) ?? (selection === undefined ? undefined : { ...selection, draftRev: snapshot.draftRev });
100
+ const inserted = span !== undefined && input.insertReference?.({
101
+ source: DELEGATE_REFERENCE_SOURCE,
102
+ ref: option.id,
103
+ label: option.label,
104
+ appearance: 'session',
105
+ clipboardText: `@${option.label}`,
106
+ }, span) === true;
107
+ if (inserted) {
108
+ return;
109
+ }
110
+ if (input.setDraft === undefined) {
111
+ input?.notify('error', t('delegate.draftUnsupported'));
112
+ return;
113
+ }
114
+ // 旧版 DSH 没有结构化引用能力时保留 carrier 字符串回退;当前 rc.2
115
+ // 会走上面的 ReferenceChip 路径,不会再把内部 HTML 注释直接显示出来。
116
+ input.setDraft(appendDelegateCarrier(draft, option.id, option.label));
117
+ },
118
+ },
119
+ }), 'codingns4dsh: delegate command');
120
+ debugInfo('codingns4dsh: /委派 命令已注册');
121
+ }
122
+ catch (error) {
123
+ // 命令名与 DSH 原生命令冲突时会 fail loud;此处降级为不注册,避免影响整个 Client。
124
+ debugWarn('codingns4dsh: /委派 命令注册失败', { error: error instanceof Error ? error.message : String(error) });
125
+ }
126
+ }
127
+ /**
128
+ * 找到当前 `/委派` 命令令牌,供 popupSelect 选择结果直接替换为 chip。
129
+ * 命令弹层的 onSelect 在消费令牌前触发,此时公开的 caretSpan 可能只是折叠光标,
130
+ * 因而不能依赖它来推断命令范围。
131
+ */
132
+ function delegateCommandSpan(draft, draftRev, selection) {
133
+ const caret = selection?.end ?? draft.length;
134
+ const token = /\/(?:delegate|委派)(?=\s|$)/gu;
135
+ let match;
136
+ while ((match = token.exec(draft)) !== null) {
137
+ const start = match.index;
138
+ const end = start + match[0].length;
139
+ const before = draft[start - 1];
140
+ // 只接受命令边界;普通文本中的同名字符串不能被误替换。
141
+ if (start > 0 && before !== undefined && !/\s/u.test(before))
142
+ continue;
143
+ if (caret >= start && caret <= end + 1)
144
+ return { start, end, draftRev };
145
+ // 选择菜单可能把光标留在令牌末尾之后的一个空格,仍视为当前命令。
146
+ if (caret > end && draft.slice(end, caret).trim() === '')
147
+ return { start, end, draftRev };
148
+ }
149
+ return undefined;
150
+ }
151
+ /** 注册结构化 Agent 引用源:显示层使用 chip,提交层再序列化为 Host carrier。 */
152
+ function registerDelegateReferenceSource(ctx, options) {
153
+ const inputTriggers = readService(ctx, 'inputTriggers');
154
+ const source = {
155
+ trigger: '@',
156
+ name: DELEGATE_REFERENCE_SOURCE,
157
+ async candidates(session, request) {
158
+ try {
159
+ const catalog = await callCliRpc(options.rpc, 'catalog', { sessionId: session.sessionId });
160
+ const query = request.query.trim().toLowerCase();
161
+ const available = delegateAdapterOptions(adapterCatalogWithDsh(catalog, options.dshVersion));
162
+ // 让输入框中的 chip 也能按同一份目录补 Provider Logo。
163
+ setDelegatePopupOptions(available);
164
+ return available
165
+ .filter((option) => query === '' || option.id.toLowerCase().includes(query) || option.label.toLowerCase().includes(query))
166
+ .map((option) => {
167
+ delegateReferenceLabels.set(option.id, option.label);
168
+ delegateReferenceSelections.set(option.id, { adapterId: option.id, label: option.label });
169
+ return { name: option.id, label: option.label, value: option.id, icon: 'session' };
170
+ });
171
+ }
172
+ catch {
173
+ return [];
174
+ }
175
+ },
176
+ onPick(pick) {
177
+ const ref = pick.candidate.value ?? pick.candidate.name;
178
+ const selection = delegateReferenceSelections.get(ref);
179
+ const label = pick.candidate.label?.trim() || selection?.label || delegateReferenceLabels.get(ref) || ref;
180
+ delegateReferenceLabels.set(ref, label);
181
+ return { insert: { source: DELEGATE_REFERENCE_SOURCE, ref, label, appearance: 'session', clipboardText: `@${label}` } };
182
+ },
183
+ codec: {
184
+ clipboardText(ref) {
185
+ return `@${delegateReferenceLabels.get(ref) || ref}`;
186
+ },
187
+ async serialize(ref) {
188
+ const selection = delegateReferenceSelections.get(ref);
189
+ const adapterId = selection?.adapterId || ref.split('\u0000', 1)[0] || ref;
190
+ const label = selection?.label || delegateReferenceLabels.get(ref) || adapterId;
191
+ return encodeDelegationCarrier(adapterId, label, selection?.modelId);
192
+ },
193
+ },
194
+ };
195
+ try {
196
+ ctx.effect(() => {
197
+ // 自定义 `#` 入口不依赖 inputTriggers。移动端服务装配顺序可能是
198
+ // commandUi 先就绪、inputTriggers 后就绪;不能因为一次性探测失败而丢掉核心入口。
199
+ const disposeHashShortcut = registerDelegateHashShortcut(ctx, options);
200
+ const disposeSource = inputTriggers !== undefined && typeof inputTriggers.registerSource === 'function'
201
+ ? inputTriggers.registerSource(source)
202
+ : undefined;
203
+ return () => {
204
+ disposeHashShortcut();
205
+ disposeSource?.();
206
+ };
207
+ }, 'codingns4dsh: delegate reference source');
208
+ }
209
+ catch (error) {
210
+ debugWarn('codingns4dsh: Agent 引用源注册失败', { error: error instanceof Error ? error.message : String(error) });
211
+ }
212
+ }
213
+ /**
214
+ * 为 DSH 输入框补充 `#` 委派快捷入口。
215
+ *
216
+ * 原生 inputTriggers 只有 `/` 与 `@` 两个触发字符,而且 onPick 是同步契约,无法在
217
+ * 选择适配器后等待 `cli/models` 再切换二级目录。因此这里使用插件自己的轻量弹层:
218
+ * `#` 触发适配器列表,点击适配器后立即请求它的模型目录,点击模型时才写入结构化
219
+ * ReferenceChip。草稿里不会留下“已选择,请继续输入”的持久提示。
220
+ */
221
+ function registerDelegateHashShortcut(ctx, options) {
222
+ if (typeof document === 'undefined' || typeof window === 'undefined')
223
+ return () => undefined;
224
+ const t = options.locale.bind('codingns');
225
+ let popup;
226
+ let popupSessionId = '';
227
+ let popupMode = 'adapter';
228
+ let popupAdapter;
229
+ let popupOptions = [];
230
+ let popupModels = [];
231
+ let popupEditor;
232
+ let popupToken;
233
+ let popupRequestId = 0;
234
+ let refreshTimer;
235
+ const cancelRefresh = () => {
236
+ if (refreshTimer === undefined)
237
+ return;
238
+ clearTimeout(refreshTimer);
239
+ refreshTimer = undefined;
240
+ };
241
+ const close = () => {
242
+ popupRequestId += 1;
243
+ popup?.remove();
244
+ popup = undefined;
245
+ popupEditor = undefined;
246
+ popupToken = undefined;
247
+ popupAdapter = undefined;
248
+ popupOptions = [];
249
+ popupModels = [];
250
+ popupMode = 'adapter';
251
+ };
252
+ const inputFor = (sessionId) => {
253
+ try {
254
+ const conversation = readConversation(ctx);
255
+ const actx = readSessions(ctx)?.scope(sessionId);
256
+ if (actx !== undefined && conversation !== undefined)
257
+ return conversation.input.for(actx);
258
+ // DSH rc.2 的 InputHub 同时提供按 sessionId 解析的 shell;移动端布局或
259
+ // 早期装配阶段可能还拿不到 retained Session scope,此路径仍能读写草稿。
260
+ return conversation?.input.shell?.(sessionId);
261
+ }
262
+ catch {
263
+ return undefined;
264
+ }
265
+ };
266
+ const position = () => {
267
+ if (popup === undefined || popupEditor === undefined)
268
+ return;
269
+ const rect = popupEditor.getBoundingClientRect();
270
+ const viewport = window.visualViewport;
271
+ const viewportLeft = viewport?.offsetLeft ?? 0;
272
+ const viewportTop = viewport?.offsetTop ?? 0;
273
+ const viewportWidth = viewport?.width ?? window.innerWidth;
274
+ const viewportHeight = viewport?.height ?? window.innerHeight;
275
+ const popupWidth = Math.min(340, Math.max(220, rect.width));
276
+ const gap = 6;
277
+ const minEdge = 8;
278
+ const below = rect.bottom + gap;
279
+ const above = rect.top - gap - popup.offsetHeight;
280
+ const maxTop = viewportTop + viewportHeight - minEdge - popup.offsetHeight;
281
+ // 移动端输入框通常贴在视口底部,优先向上展开,避免弹层被软键盘裁掉。
282
+ const top = above >= viewportTop + minEdge
283
+ ? above
284
+ : Math.min(maxTop, Math.max(viewportTop + minEdge, below));
285
+ const left = Math.max(viewportLeft + minEdge, Math.min(rect.left, viewportLeft + viewportWidth - popupWidth - minEdge));
286
+ Object.assign(popup.style, {
287
+ left: `${left}px`,
288
+ top: `${top}px`,
289
+ minWidth: `${popupWidth}px`,
290
+ });
291
+ };
292
+ const ensurePopup = (editor, sessionId) => {
293
+ if (popup !== undefined && popupSessionId === sessionId) {
294
+ popupEditor = editor;
295
+ position();
296
+ return popup;
297
+ }
298
+ close();
299
+ popupSessionId = sessionId;
300
+ popupEditor = editor;
301
+ popup = document.createElement('div');
302
+ popup.setAttribute('data-codingns-delegate-hash-popup', '');
303
+ popup.setAttribute('role', 'listbox');
304
+ Object.assign(popup.style, {
305
+ position: 'fixed', zIndex: '2147483647', maxWidth: 'min(360px, calc(100vw - 16px))', maxHeight: 'min(420px, calc(100vh - 24px))', overflowY: 'auto',
306
+ padding: '6px', border: '1px solid var(--dsw-alias-border-l2,rgba(127,127,127,.35))', borderRadius: '10px',
307
+ background: 'var(--dsw-alias-bg-layer-3,#242526)', color: 'var(--dsw-alias-label-primary,#f5f5f5)',
308
+ boxShadow: '0 10px 30px rgba(0,0,0,.28)', font: '13px var(--dsw-font,system-ui,sans-serif)',
309
+ });
310
+ document.body.append(popup);
311
+ position();
312
+ return popup;
313
+ };
314
+ const render = (title, rows) => {
315
+ if (popup === undefined)
316
+ return;
317
+ popup.replaceChildren();
318
+ const heading = document.createElement('div');
319
+ heading.textContent = title;
320
+ Object.assign(heading.style, { padding: '5px 8px 7px', color: 'var(--dsw-alias-label-secondary,#a9adb5)', fontSize: '12px', fontWeight: '600' });
321
+ popup.append(heading);
322
+ if (rows.length === 0) {
323
+ const empty = document.createElement('div');
324
+ empty.textContent = t('delegate.popupNoResults');
325
+ Object.assign(empty.style, { padding: '8px', color: 'var(--dsw-alias-label-secondary,#a9adb5)' });
326
+ popup.append(empty);
327
+ position();
328
+ return;
329
+ }
330
+ for (const row of rows) {
331
+ const button = document.createElement('button');
332
+ button.type = 'button';
333
+ button.setAttribute('role', 'option');
334
+ button.dataset.value = row.id;
335
+ Object.assign(button.style, { display: 'flex', width: '100%', minWidth: '0', gap: '8px', alignItems: 'center', padding: '8px', border: '0', borderRadius: '7px', background: 'transparent', color: 'inherit', textAlign: 'left', cursor: 'pointer' });
336
+ button.addEventListener('mouseenter', () => { button.style.background = 'var(--dsw-alias-interactive-bg-hover,rgba(127,127,127,.16))'; });
337
+ button.addEventListener('mouseleave', () => { button.style.background = 'transparent'; });
338
+ button.addEventListener('click', row.onClick);
339
+ const iconUrl = row.iconId === undefined ? undefined : providerIconUrl(row.iconId);
340
+ if (iconUrl !== undefined && iconUrl !== '' && row.iconId !== undefined) {
341
+ const image = document.createElement('img');
342
+ image.setAttribute('src', iconUrl);
343
+ image.setAttribute('alt', '');
344
+ image.setAttribute('aria-hidden', 'true');
345
+ image.setAttribute(DELEGATE_POPUP_LOGO_ATTRIBUTE, row.iconId);
346
+ Object.assign(image.style, { width: '16px', height: '16px', flex: '0 0 16px', objectFit: 'contain', borderRadius: '3px' });
347
+ button.append(image);
348
+ }
349
+ const text = document.createElement('span');
350
+ text.textContent = row.label;
351
+ Object.assign(text.style, { minWidth: '0', overflowWrap: 'anywhere', flex: '1 1 auto' });
352
+ button.append(text);
353
+ if (row.detail) {
354
+ const detail = document.createElement('span');
355
+ detail.textContent = row.detail;
356
+ Object.assign(detail.style, { flex: '0 1 auto', minWidth: '0', maxWidth: '45%', overflowWrap: 'anywhere', color: 'var(--dsw-alias-label-secondary,#a9adb5)', fontSize: '12px' });
357
+ button.append(detail);
358
+ }
359
+ popup.append(button);
360
+ }
361
+ position();
362
+ };
363
+ const selectModel = (model) => {
364
+ const input = inputFor(popupSessionId);
365
+ const token = popupToken;
366
+ const adapter = popupAdapter;
367
+ if (input === undefined || token === undefined || adapter === undefined)
368
+ return;
369
+ const ref = delegateReferenceKey(adapter.id, model.id);
370
+ delegateReferenceSelections.set(ref, { adapterId: adapter.id, label: adapter.label, modelId: model.id });
371
+ delegateReferenceLabels.set(ref, adapter.label);
372
+ const inserted = input.insertReference?.({ source: DELEGATE_REFERENCE_SOURCE, ref, label: adapter.label, appearance: 'session', clipboardText: `@${adapter.label}` }, token) === true;
373
+ if (!inserted) {
374
+ const snapshot = input.state.getSnapshot();
375
+ const draft = snapshot.draft ?? '';
376
+ const replacement = encodeDelegationCarrier(adapter.id, adapter.label, model.id);
377
+ input.setDraft?.(`${draft.slice(0, token.start)}${replacement}${draft.slice(token.end)}`);
378
+ }
379
+ close();
380
+ };
381
+ const selectAdapter = async (adapter) => {
382
+ // 选择适配器后进入模型目录,取消触发 `#` 时为确保快照发布而安排的旧重试,
383
+ // 避免它把已加载的模型列表重新按旧 token 过滤为空。
384
+ cancelRefresh();
385
+ popupAdapter = adapter;
386
+ popupMode = 'model';
387
+ const requestId = ++popupRequestId;
388
+ const sessionId = popupSessionId;
389
+ render(t('delegate.selectModel', { name: adapter.label }), [{ id: 'loading', label: t('delegate.loadingModels'), onClick: () => undefined }]);
390
+ try {
391
+ const catalog = await loadModelCatalog(options.rpc, adapter.id, sessionId);
392
+ popupModels = catalog.groups.flatMap((group) => group.models.map((model) => {
393
+ const efforts = model.efforts.map((effort) => model.effortLabels?.[effort] ?? effort);
394
+ const effortsLabel = efforts.length === 0 ? undefined : t('cli.thinkingLevel', { value: efforts.join(t('common.listSeparator')) });
395
+ const details = [model.description, effortsLabel].filter((value) => value !== undefined && value.trim() !== '');
396
+ return { id: model.id, label: model.name || model.id, ...(details.length === 0 ? {} : { detail: details.join(' · ') }) };
397
+ }));
398
+ if (popup === undefined || popupMode !== 'model' || popupRequestId !== requestId || popupSessionId !== sessionId || popupAdapter?.id !== adapter.id)
399
+ return;
400
+ render(t('delegate.selectModel', { name: adapter.label }), popupModels.map((model) => ({ ...model, onClick: () => selectModel(model) })));
401
+ }
402
+ catch (error) {
403
+ if (popup === undefined || popupMode !== 'model' || popupRequestId !== requestId || popupSessionId !== sessionId || popupAdapter?.id !== adapter.id)
404
+ return;
405
+ render(t('delegate.selectModel', { name: adapter.label }), [{ id: 'error', label: error instanceof Error ? error.message : t('delegate.modelCatalogFailed'), onClick: () => undefined }]);
406
+ }
407
+ };
408
+ const sessionIdFor = (element) => {
409
+ const direct = element?.closest('[data-conversation-session]')?.getAttribute('data-conversation-session')?.trim();
410
+ if (direct)
411
+ return direct;
412
+ // 某些移动端布局把 Composer 移到 sticky 容器,编辑器与会话根不再是同一棵 DOM 子树。
413
+ // 当前页面只有一个可见会话时,按 Composer 反查对应根节点即可继续使用 scoped input。
414
+ const editor = element?.closest('[contenteditable="true"], textarea, input, [role="textbox"], [data-composer-input="true"]');
415
+ if (editor === null || editor === undefined)
416
+ return undefined;
417
+ const candidates = [...document.querySelectorAll('[data-conversation-session]')]
418
+ .filter((root) => root.querySelector('[contenteditable="true"], textarea, input, [role="textbox"], [data-composer-input="true"]') !== null);
419
+ return candidates.length === 1 ? candidates[0]?.getAttribute('data-conversation-session')?.trim() : undefined;
420
+ };
421
+ const refresh = (target) => {
422
+ const element = target instanceof Element ? target : target instanceof Node ? target.parentElement : null;
423
+ const editor = element?.closest('[contenteditable="true"], textarea, input, [role="textbox"], [data-composer-input="true"]');
424
+ const sessionId = sessionIdFor(element);
425
+ if (!(editor instanceof HTMLElement) || sessionId === undefined || sessionId === '')
426
+ return;
427
+ const input = inputFor(sessionId);
428
+ if (input === undefined)
429
+ return;
430
+ const snapshot = input.state.getSnapshot();
431
+ if (snapshot.phase !== undefined && snapshot.phase !== 'plain') {
432
+ close();
433
+ return;
434
+ }
435
+ const snapshotDraft = snapshot.draft ?? '';
436
+ const selection = input.caretSpan?.();
437
+ const domCaret = editorCaretOffset(editor);
438
+ const caret = Math.max(0, selection?.end ?? domCaret ?? snapshotDraft.length);
439
+ // Lexical 输入更新先于 SessionInput 状态发布。若快照还没有本次输入的 `#`,
440
+ // 使用编辑器当前文本完成识别,随后再由延迟重试同步到最新 draftRev。
441
+ const domDraft = editorDraft(editor);
442
+ const snapshotToken = hashTokenAtCaret(snapshotDraft, caret);
443
+ const domToken = domDraft === undefined ? undefined : hashTokenAtCaret(domDraft, caret);
444
+ const token = domToken ?? snapshotToken;
445
+ if (token === undefined) {
446
+ close();
447
+ return;
448
+ }
449
+ popupSessionId = sessionId;
450
+ popupToken = { ...token, end: caret, draftRev: selection?.draftRev ?? snapshot.draftRev ?? 0 };
451
+ const root = ensurePopup(editor, sessionId);
452
+ const query = token.query.trim().toLowerCase();
453
+ if (popupMode === 'model' && popupAdapter !== undefined) {
454
+ render(t('delegate.selectModel', { name: popupAdapter.label }), popupModels.filter((model) => query === '' || model.id.toLowerCase().includes(query) || model.label.toLowerCase().includes(query)).map((model) => ({ ...model, onClick: () => selectModel(model) })));
455
+ return;
456
+ }
457
+ popupMode = 'adapter';
458
+ popupAdapter = undefined;
459
+ const requestId = ++popupRequestId;
460
+ void callCliRpc(options.rpc, 'catalog', { sessionId }).then((catalog) => {
461
+ if (popup === undefined || popupSessionId !== sessionId || popupMode !== 'adapter' || popupRequestId !== requestId)
462
+ return;
463
+ popupOptions = delegateAdapterOptions(adapterCatalogWithDsh(catalog, options.dshVersion));
464
+ setDelegatePopupOptions(popupOptions);
465
+ const rows = popupOptions
466
+ .filter((item) => query === '' || item.id.toLowerCase().includes(query) || item.label.toLowerCase().includes(query))
467
+ .map((item) => {
468
+ const row = {
469
+ id: item.id,
470
+ label: item.label,
471
+ iconId: item.id,
472
+ onClick: () => { void selectAdapter(item); },
473
+ };
474
+ if (item.detail !== undefined)
475
+ row.detail = item.detail;
476
+ return row;
477
+ });
478
+ render(t('delegate.selectAdapter'), rows);
479
+ }).catch(() => { if (popup === root && popupRequestId === requestId)
480
+ render(t('delegate.selectAdapter'), []); });
481
+ };
482
+ const scheduleRefresh = (target) => {
483
+ queueMicrotask(() => refresh(target));
484
+ cancelRefresh();
485
+ refreshTimer = setTimeout(() => {
486
+ refreshTimer = undefined;
487
+ refresh(target);
488
+ }, 32);
489
+ };
490
+ const onInput = (event) => { scheduleRefresh(event.target); };
491
+ const onCompositionEnd = (event) => { scheduleRefresh(event.target); };
492
+ const onFocus = (event) => { scheduleRefresh(event.target); };
493
+ const onKeyup = (event) => {
494
+ if (event.key.length === 1 || event.key === 'Backspace' || event.key === 'Delete')
495
+ scheduleRefresh(event.target);
496
+ };
497
+ const onPointer = (event) => {
498
+ const target = event.target;
499
+ if (popup !== undefined && target instanceof Node && !popup.contains(target)) {
500
+ const element = target instanceof Element ? target : target.parentElement;
501
+ if (!element?.closest('[contenteditable="true"], textarea, input, [role="textbox"], [data-composer-input="true"]'))
502
+ close();
503
+ }
504
+ };
505
+ const onKey = (event) => { if (event.key === 'Escape')
506
+ close(); };
507
+ const onResize = () => position();
508
+ document.addEventListener('input', onInput, true);
509
+ document.addEventListener('compositionend', onCompositionEnd, true);
510
+ document.addEventListener('focusin', onFocus, true);
511
+ document.addEventListener('keyup', onKeyup, true);
512
+ document.addEventListener('pointerdown', onPointer, true);
513
+ document.addEventListener('keydown', onKey, true);
514
+ window.addEventListener('resize', onResize);
515
+ window.visualViewport?.addEventListener('resize', onResize);
516
+ window.visualViewport?.addEventListener('scroll', onResize);
517
+ return () => {
518
+ close();
519
+ cancelRefresh();
520
+ document.removeEventListener('input', onInput, true);
521
+ document.removeEventListener('compositionend', onCompositionEnd, true);
522
+ document.removeEventListener('focusin', onFocus, true);
523
+ document.removeEventListener('keyup', onKeyup, true);
524
+ document.removeEventListener('pointerdown', onPointer, true);
525
+ document.removeEventListener('keydown', onKey, true);
526
+ window.removeEventListener('resize', onResize);
527
+ window.visualViewport?.removeEventListener('resize', onResize);
528
+ window.visualViewport?.removeEventListener('scroll', onResize);
529
+ };
530
+ }
531
+ /** 读取编辑器当前文本;状态快照发布前先用 DOM 文本识别本轮输入。 */
532
+ function editorDraft(editor) {
533
+ if ('value' in editor && typeof editor.value === 'string')
534
+ return editor.value;
535
+ return typeof editor.textContent === 'string' ? editor.textContent : undefined;
536
+ }
537
+ /** 返回光标在 contenteditable 文本投影中的偏移;无法读取时由调用方回退到 draft 末尾。 */
538
+ function editorCaretOffset(editor) {
539
+ if ('selectionStart' in editor && typeof editor.selectionStart === 'number')
540
+ return editor.selectionStart;
541
+ const selection = window.getSelection();
542
+ if (selection === null || selection.rangeCount === 0 || selection.anchorNode === null || !editor.contains(selection.anchorNode))
543
+ return undefined;
544
+ try {
545
+ const range = selection.getRangeAt(0).cloneRange();
546
+ range.selectNodeContents(editor);
547
+ range.setEnd(selection.anchorNode, selection.anchorOffset);
548
+ return range.toString().length;
549
+ }
550
+ catch {
551
+ return undefined;
552
+ }
553
+ }
554
+ /** 匹配光标前最后一个以边界开头的 `#name` token;跨空格后停止,避免误触发。 */
555
+ function hashTokenAtCaret(draft, caret) {
556
+ const before = draft.slice(0, Math.max(0, caret));
557
+ const hash = before.lastIndexOf('#');
558
+ if (hash < 0 || /\s/u.test(before.slice(hash + 1)))
559
+ return undefined;
560
+ const previous = before[hash - 1];
561
+ if (hash > 0 && previous !== undefined && /[\p{L}\p{N}_]/u.test(previous))
562
+ return undefined;
563
+ return { start: hash, query: before.slice(hash + 1) };
564
+ }
565
+ function readSessionInput(ctx, sessionId) {
566
+ try {
567
+ const actx = readSessions(ctx)?.scope(sessionId);
568
+ if (actx === undefined)
569
+ return undefined;
570
+ return readConversation(ctx)?.input.for(actx);
571
+ }
572
+ catch {
573
+ return undefined;
574
+ }
575
+ }
576
+ function readCommandUi(ctx) {
577
+ const service = readService(ctx, 'commandUi');
578
+ return service !== undefined && typeof service.register === 'function' ? service : undefined;
579
+ }
580
+ function readSessions(ctx) {
581
+ const service = readService(ctx, 'sessions');
582
+ return service !== undefined && typeof service.scope === 'function' ? service : undefined;
583
+ }
584
+ function readConversation(ctx) {
585
+ const service = readService(ctx, 'conversation');
586
+ return service !== undefined && typeof service.input?.for === 'function' ? service : undefined;
587
+ }
588
+ /** Cordis 直接读取未声明的服务会抛 without-inject;探测统一走这里。 */
589
+ function readService(ctx, name) {
590
+ try {
591
+ return ctx.get(name);
592
+ }
593
+ catch {
594
+ return undefined;
595
+ }
596
+ }
597
+ //# sourceMappingURL=delegate-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegate-command.js","sourceRoot":"","sources":["../../../../src/client/delegate-command.ts"],"names":[],"mappings":"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"}