@jingyi0605/codingns4dsh 0.2.1-beta.9 → 0.2.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (848) hide show
  1. package/README.en.md +8 -6
  2. package/README.md +11 -8
  3. package/assets/provider-icons/magpie.png +0 -0
  4. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
  5. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -1
  6. package/data/build/dist/bootstrap/index.d.ts +1 -1
  7. package/data/build/dist/bootstrap/index.d.ts.map +1 -1
  8. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  9. package/data/build/dist/client/account-bar.js +24 -70
  10. package/data/build/dist/client/account-bar.js.map +1 -1
  11. package/data/build/dist/client/adapter-catalog-watch.d.ts +10 -2
  12. package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -1
  13. package/data/build/dist/client/adapter-catalog-watch.js +16 -4
  14. package/data/build/dist/client/adapter-catalog-watch.js.map +1 -1
  15. package/data/build/dist/client/bundle.js +54516 -35293
  16. package/data/build/dist/client/bundle.js.map +1 -1
  17. package/data/build/dist/client/cli-management-dialog.d.ts +21 -0
  18. package/data/build/dist/client/cli-management-dialog.d.ts.map +1 -0
  19. package/data/build/dist/client/cli-management-dialog.js +215 -0
  20. package/data/build/dist/client/cli-management-dialog.js.map +1 -0
  21. package/data/build/dist/client/cli-management-terminal.d.ts +9 -0
  22. package/data/build/dist/client/cli-management-terminal.d.ts.map +1 -0
  23. package/data/build/dist/client/cli-management-terminal.js +30 -0
  24. package/data/build/dist/client/cli-management-terminal.js.map +1 -0
  25. package/data/build/dist/client/cli-settings-dialog.d.ts +9 -0
  26. package/data/build/dist/client/cli-settings-dialog.d.ts.map +1 -0
  27. package/data/build/dist/client/cli-settings-dialog.js +45 -0
  28. package/data/build/dist/client/cli-settings-dialog.js.map +1 -0
  29. package/data/build/dist/client/cli-settings-rpc.js +1 -1
  30. package/data/build/dist/client/cli-settings-rpc.js.map +1 -1
  31. package/data/build/dist/client/cli-slots.d.ts +17 -3
  32. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  33. package/data/build/dist/client/cli-slots.js +300 -41
  34. package/data/build/dist/client/cli-slots.js.map +1 -1
  35. package/data/build/dist/client/client.assistant-configuration-view.js +4 -3
  36. package/data/build/dist/client/client.assistant-configuration-view.js.map +1 -1
  37. package/data/build/dist/client/client.delegate-command.js +44 -26
  38. package/data/build/dist/client/client.delegate-command.js.map +1 -1
  39. package/data/build/dist/client/client.editor-engine.js +4 -1
  40. package/data/build/dist/client/client.editor-engine.js.map +1 -1
  41. package/data/build/dist/client/{client.model-catalog-cache.js → client.magpie-model-tag.js} +241 -12
  42. package/data/build/dist/client/client.magpie-model-tag.js.map +1 -0
  43. package/data/build/dist/client/client.moss-voice-output.js +415 -0
  44. package/data/build/dist/client/client.moss-voice-output.js.map +1 -0
  45. package/data/build/dist/client/client.native-workspace-store.js +65 -15
  46. package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
  47. package/data/build/dist/client/client.primitives-adapter.js +128 -0
  48. package/data/build/dist/client/client.primitives-adapter.js.map +1 -1
  49. package/data/build/dist/client/client.react-dom.js +0 -404
  50. package/data/build/dist/client/client.react-dom.js.map +1 -1
  51. package/data/build/dist/client/client.session-translation.js +121 -2
  52. package/data/build/dist/client/client.session-translation.js.map +1 -1
  53. package/data/build/dist/client/client.transport.js +738 -57
  54. package/data/build/dist/client/client.transport.js.map +1 -1
  55. package/data/build/dist/client/conversation-translation-settings.d.ts +11 -0
  56. package/data/build/dist/client/conversation-translation-settings.d.ts.map +1 -0
  57. package/data/build/dist/client/conversation-translation-settings.js +54 -0
  58. package/data/build/dist/client/conversation-translation-settings.js.map +1 -0
  59. package/data/build/dist/client/delegate-command.d.ts.map +1 -1
  60. package/data/build/dist/client/delegate-command.js +36 -7
  61. package/data/build/dist/client/delegate-command.js.map +1 -1
  62. package/data/build/dist/client/desktop-assistant.js +1202 -494
  63. package/data/build/dist/client/editor-engine.d.ts +1 -1
  64. package/data/build/dist/client/editor-engine.d.ts.map +1 -1
  65. package/data/build/dist/client/editor-engine.js +4 -1
  66. package/data/build/dist/client/editor-engine.js.map +1 -1
  67. package/data/build/dist/client/features/cli-adapters.d.ts +3 -1
  68. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  69. package/data/build/dist/client/features/cli-adapters.js +207 -112
  70. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  71. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  72. package/data/build/dist/client/features/file-management.js +18 -0
  73. package/data/build/dist/client/features/file-management.js.map +1 -1
  74. package/data/build/dist/client/features/index.d.ts.map +1 -1
  75. package/data/build/dist/client/features/index.js +2 -0
  76. package/data/build/dist/client/features/index.js.map +1 -1
  77. package/data/build/dist/client/features/lan-access-panel.d.ts.map +1 -1
  78. package/data/build/dist/client/features/lan-access-panel.js +1 -0
  79. package/data/build/dist/client/features/lan-access-panel.js.map +1 -1
  80. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  81. package/data/build/dist/client/features/mobile-access.js +7 -0
  82. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  83. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  84. package/data/build/dist/client/features/peer-host.js +6 -0
  85. package/data/build/dist/client/features/peer-host.js.map +1 -1
  86. package/data/build/dist/client/features/quick-apps.d.ts +3 -0
  87. package/data/build/dist/client/features/quick-apps.d.ts.map +1 -0
  88. package/data/build/dist/client/features/quick-apps.js +14 -0
  89. package/data/build/dist/client/features/quick-apps.js.map +1 -0
  90. package/data/build/dist/client/features/session-translation.d.ts.map +1 -1
  91. package/data/build/dist/client/features/session-translation.js +50 -49
  92. package/data/build/dist/client/features/session-translation.js.map +1 -1
  93. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  94. package/data/build/dist/client/features/workspace-session-enhancement.js +6 -0
  95. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  96. package/data/build/dist/client/file-management-dom.d.ts +20 -1
  97. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  98. package/data/build/dist/client/file-management-dom.js +94 -18
  99. package/data/build/dist/client/file-management-dom.js.map +1 -1
  100. package/data/build/dist/client/file-viewer-copy-path-menu.d.ts +27 -0
  101. package/data/build/dist/client/file-viewer-copy-path-menu.d.ts.map +1 -0
  102. package/data/build/dist/client/file-viewer-copy-path-menu.js +101 -0
  103. package/data/build/dist/client/file-viewer-copy-path-menu.js.map +1 -0
  104. package/data/build/dist/client/git-management-settings.d.ts +4 -0
  105. package/data/build/dist/client/git-management-settings.d.ts.map +1 -0
  106. package/data/build/dist/client/git-management-settings.js +73 -0
  107. package/data/build/dist/client/git-management-settings.js.map +1 -0
  108. package/data/build/dist/client/git-management.d.ts +2 -1
  109. package/data/build/dist/client/git-management.d.ts.map +1 -1
  110. package/data/build/dist/client/git-management.js +55 -34
  111. package/data/build/dist/client/git-management.js.map +1 -1
  112. package/data/build/dist/client/git-panel-styles.d.ts +4 -0
  113. package/data/build/dist/client/git-panel-styles.d.ts.map +1 -1
  114. package/data/build/dist/client/git-panel-styles.js +14 -0
  115. package/data/build/dist/client/git-panel-styles.js.map +1 -1
  116. package/data/build/dist/client/html-workspace-files.d.ts +4 -0
  117. package/data/build/dist/client/html-workspace-files.d.ts.map +1 -0
  118. package/data/build/dist/client/html-workspace-files.js +114 -0
  119. package/data/build/dist/client/html-workspace-files.js.map +1 -0
  120. package/data/build/dist/client/locale.d.ts.map +1 -1
  121. package/data/build/dist/client/locale.js +22 -2
  122. package/data/build/dist/client/locale.js.map +1 -1
  123. package/data/build/dist/client/locales/cliManagement.d.ts +3 -0
  124. package/data/build/dist/client/locales/cliManagement.d.ts.map +1 -0
  125. package/data/build/dist/client/locales/cliManagement.js +155 -0
  126. package/data/build/dist/client/locales/cliManagement.js.map +1 -0
  127. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  128. package/data/build/dist/client/locales/fileWorkspace.js +8 -0
  129. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  130. package/data/build/dist/client/locales/git.d.ts.map +1 -1
  131. package/data/build/dist/client/locales/git.js +30 -2
  132. package/data/build/dist/client/locales/git.js.map +1 -1
  133. package/data/build/dist/client/locales/panels.d.ts.map +1 -1
  134. package/data/build/dist/client/locales/panels.js +103 -11
  135. package/data/build/dist/client/locales/panels.js.map +1 -1
  136. package/data/build/dist/client/locales/peerHost.d.ts.map +1 -1
  137. package/data/build/dist/client/locales/peerHost.js +2 -0
  138. package/data/build/dist/client/locales/peerHost.js.map +1 -1
  139. package/data/build/dist/client/locales/quickApps.d.ts +136 -0
  140. package/data/build/dist/client/locales/quickApps.d.ts.map +1 -0
  141. package/data/build/dist/client/locales/quickApps.js +162 -0
  142. package/data/build/dist/client/locales/quickApps.js.map +1 -0
  143. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  144. package/data/build/dist/client/locales/usage.js +98 -0
  145. package/data/build/dist/client/locales/usage.js.map +1 -1
  146. package/data/build/dist/client/magpie-model-tag.d.ts +8 -0
  147. package/data/build/dist/client/magpie-model-tag.d.ts.map +1 -0
  148. package/data/build/dist/client/magpie-model-tag.js +50 -0
  149. package/data/build/dist/client/magpie-model-tag.js.map +1 -0
  150. package/data/build/dist/client/mobile-team-panel-dom.d.ts +14 -0
  151. package/data/build/dist/client/mobile-team-panel-dom.d.ts.map +1 -0
  152. package/data/build/dist/client/mobile-team-panel-dom.js +164 -0
  153. package/data/build/dist/client/mobile-team-panel-dom.js.map +1 -0
  154. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  155. package/data/build/dist/client/model-catalog-cache.js +66 -12
  156. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  157. package/data/build/dist/client/model-priority-pool.d.ts +23 -0
  158. package/data/build/dist/client/model-priority-pool.d.ts.map +1 -0
  159. package/data/build/dist/client/model-priority-pool.js +245 -0
  160. package/data/build/dist/client/model-priority-pool.js.map +1 -0
  161. package/data/build/dist/client/native-model-translation-menu.d.ts +13 -0
  162. package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -0
  163. package/data/build/dist/client/native-model-translation-menu.js +159 -0
  164. package/data/build/dist/client/native-model-translation-menu.js.map +1 -0
  165. package/data/build/dist/client/native-translation-default.d.ts +6 -0
  166. package/data/build/dist/client/native-translation-default.d.ts.map +1 -0
  167. package/data/build/dist/client/native-translation-default.js +30 -0
  168. package/data/build/dist/client/native-translation-default.js.map +1 -0
  169. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  170. package/data/build/dist/client/provider-icons.js +3 -1
  171. package/data/build/dist/client/provider-icons.js.map +1 -1
  172. package/data/build/dist/client/quick-apps/browser-storage.d.ts +24 -0
  173. package/data/build/dist/client/quick-apps/browser-storage.d.ts.map +1 -0
  174. package/data/build/dist/client/quick-apps/browser-storage.js +114 -0
  175. package/data/build/dist/client/quick-apps/browser-storage.js.map +1 -0
  176. package/data/build/dist/client/quick-apps/client.d.ts +31 -0
  177. package/data/build/dist/client/quick-apps/client.d.ts.map +1 -0
  178. package/data/build/dist/client/quick-apps/client.js +68 -0
  179. package/data/build/dist/client/quick-apps/client.js.map +1 -0
  180. package/data/build/dist/client/quick-apps/document.d.ts +26 -0
  181. package/data/build/dist/client/quick-apps/document.d.ts.map +1 -0
  182. package/data/build/dist/client/quick-apps/document.js +110 -0
  183. package/data/build/dist/client/quick-apps/document.js.map +1 -0
  184. package/data/build/dist/client/quick-apps/file-picker.d.ts +14 -0
  185. package/data/build/dist/client/quick-apps/file-picker.d.ts.map +1 -0
  186. package/data/build/dist/client/quick-apps/file-picker.js +51 -0
  187. package/data/build/dist/client/quick-apps/file-picker.js.map +1 -0
  188. package/data/build/dist/client/quick-apps/launcher.d.ts +7 -0
  189. package/data/build/dist/client/quick-apps/launcher.d.ts.map +1 -0
  190. package/data/build/dist/client/quick-apps/launcher.js +267 -0
  191. package/data/build/dist/client/quick-apps/launcher.js.map +1 -0
  192. package/data/build/dist/client/quick-apps/presentation.d.ts +16 -0
  193. package/data/build/dist/client/quick-apps/presentation.d.ts.map +1 -0
  194. package/data/build/dist/client/quick-apps/presentation.js +47 -0
  195. package/data/build/dist/client/quick-apps/presentation.js.map +1 -0
  196. package/data/build/dist/client/quick-apps/rail-preference.d.ts +5 -0
  197. package/data/build/dist/client/quick-apps/rail-preference.d.ts.map +1 -0
  198. package/data/build/dist/client/quick-apps/rail-preference.js +19 -0
  199. package/data/build/dist/client/quick-apps/rail-preference.js.map +1 -0
  200. package/data/build/dist/client/quick-apps/reorder-animation.d.ts +6 -0
  201. package/data/build/dist/client/quick-apps/reorder-animation.d.ts.map +1 -0
  202. package/data/build/dist/client/quick-apps/reorder-animation.js +50 -0
  203. package/data/build/dist/client/quick-apps/reorder-animation.js.map +1 -0
  204. package/data/build/dist/client/quick-apps/reorder.d.ts +26 -0
  205. package/data/build/dist/client/quick-apps/reorder.d.ts.map +1 -0
  206. package/data/build/dist/client/quick-apps/reorder.js +128 -0
  207. package/data/build/dist/client/quick-apps/reorder.js.map +1 -0
  208. package/data/build/dist/client/quick-apps/styles.d.ts +3 -0
  209. package/data/build/dist/client/quick-apps/styles.d.ts.map +1 -0
  210. package/data/build/dist/client/quick-apps/styles.js +153 -0
  211. package/data/build/dist/client/quick-apps/styles.js.map +1 -0
  212. package/data/build/dist/client/quick-apps/ui.d.ts +20 -0
  213. package/data/build/dist/client/quick-apps/ui.d.ts.map +1 -0
  214. package/data/build/dist/client/quick-apps/ui.js +21 -0
  215. package/data/build/dist/client/quick-apps/ui.js.map +1 -0
  216. package/data/build/dist/client/quick-apps/viewer.d.ts +16 -0
  217. package/data/build/dist/client/quick-apps/viewer.d.ts.map +1 -0
  218. package/data/build/dist/client/quick-apps/viewer.js +165 -0
  219. package/data/build/dist/client/quick-apps/viewer.js.map +1 -0
  220. package/data/build/dist/client/quick-apps/workspace-picker.d.ts +19 -0
  221. package/data/build/dist/client/quick-apps/workspace-picker.d.ts.map +1 -0
  222. package/data/build/dist/client/quick-apps/workspace-picker.js +30 -0
  223. package/data/build/dist/client/quick-apps/workspace-picker.js.map +1 -0
  224. package/data/build/dist/client/session-translation-chat.d.ts +68 -2
  225. package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
  226. package/data/build/dist/client/session-translation-chat.js +297 -109
  227. package/data/build/dist/client/session-translation-chat.js.map +1 -1
  228. package/data/build/dist/client/session-translation-interactions.d.ts +31 -0
  229. package/data/build/dist/client/session-translation-interactions.d.ts.map +1 -0
  230. package/data/build/dist/client/session-translation-interactions.js +158 -0
  231. package/data/build/dist/client/session-translation-interactions.js.map +1 -0
  232. package/data/build/dist/client/session-translation-pending-dom.d.ts +8 -0
  233. package/data/build/dist/client/session-translation-pending-dom.d.ts.map +1 -0
  234. package/data/build/dist/client/session-translation-pending-dom.js +58 -0
  235. package/data/build/dist/client/session-translation-pending-dom.js.map +1 -0
  236. package/data/build/dist/client/session-translation-retry.d.ts +16 -0
  237. package/data/build/dist/client/session-translation-retry.d.ts.map +1 -0
  238. package/data/build/dist/client/session-translation-retry.js +66 -0
  239. package/data/build/dist/client/session-translation-retry.js.map +1 -0
  240. package/data/build/dist/client/session-translation-rules.d.ts +13 -0
  241. package/data/build/dist/client/session-translation-rules.d.ts.map +1 -0
  242. package/data/build/dist/client/session-translation-rules.js +58 -0
  243. package/data/build/dist/client/session-translation-rules.js.map +1 -0
  244. package/data/build/dist/client/sidebar-footer-style.d.ts +13 -0
  245. package/data/build/dist/client/sidebar-footer-style.d.ts.map +1 -0
  246. package/data/build/dist/client/sidebar-footer-style.js +54 -0
  247. package/data/build/dist/client/sidebar-footer-style.js.map +1 -0
  248. package/data/build/dist/client/style.css +276 -276
  249. package/data/build/dist/client/subscription-slot.d.ts +6 -2
  250. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  251. package/data/build/dist/client/subscription-slot.js +373 -21
  252. package/data/build/dist/client/subscription-slot.js.map +1 -1
  253. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  254. package/data/build/dist/client/terminal/model.js +2 -1
  255. package/data/build/dist/client/terminal/model.js.map +1 -1
  256. package/data/build/dist/client/workspace-session-archive-dom.d.ts +1 -0
  257. package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -1
  258. package/data/build/dist/client/workspace-session-archive-dom.js +68 -8
  259. package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -1
  260. package/data/build/dist/client/workspace-session-rightbar-dom.d.ts.map +1 -1
  261. package/data/build/dist/client/workspace-session-rightbar-dom.js +12 -21
  262. package/data/build/dist/client/workspace-session-rightbar-dom.js.map +1 -1
  263. package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
  264. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
  265. package/data/build/dist/client/workspace-session-visibility-dom.js +43 -10
  266. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
  267. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.d.ts +8 -0
  268. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.d.ts.map +1 -0
  269. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.js +71 -0
  270. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.js.map +1 -0
  271. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts +4 -0
  272. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts.map +1 -0
  273. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js +8 -0
  274. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js.map +1 -0
  275. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts +30 -0
  276. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts.map +1 -0
  277. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js +93 -0
  278. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js.map +1 -0
  279. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts +12 -0
  280. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts.map +1 -0
  281. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js +181 -0
  282. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js.map +1 -0
  283. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.d.ts +19 -0
  284. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.d.ts.map +1 -0
  285. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.js +39 -0
  286. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.js.map +1 -0
  287. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.d.ts +3 -0
  288. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.d.ts.map +1 -0
  289. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.js +27 -0
  290. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.js.map +1 -0
  291. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +36 -0
  292. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  293. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +88 -0
  294. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  295. package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts +20 -0
  296. package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts.map +1 -0
  297. package/data/build/dist/dsh-capabilities/client/question-history-adapter.js +65 -0
  298. package/data/build/dist/dsh-capabilities/client/question-history-adapter.js.map +1 -0
  299. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts +18 -0
  300. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts.map +1 -0
  301. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js +11 -0
  302. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js.map +1 -0
  303. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts +9 -0
  304. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -0
  305. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +75 -0
  306. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -0
  307. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts +3 -0
  308. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts.map +1 -0
  309. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js +22 -0
  310. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js.map +1 -0
  311. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts +32 -0
  312. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts.map +1 -0
  313. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js +90 -0
  314. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js.map +1 -0
  315. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts +52 -0
  316. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts.map +1 -0
  317. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js +109 -0
  318. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js.map +1 -0
  319. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.d.ts +10 -0
  320. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.d.ts.map +1 -0
  321. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.js +34 -0
  322. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.js.map +1 -0
  323. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.d.ts +21 -0
  324. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.d.ts.map +1 -0
  325. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.js +11 -0
  326. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.js.map +1 -0
  327. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts +11 -0
  328. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts.map +1 -0
  329. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js +97 -0
  330. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js.map +1 -0
  331. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts +36 -0
  332. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts.map +1 -0
  333. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js +164 -0
  334. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js.map +1 -0
  335. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts +44 -0
  336. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts.map +1 -0
  337. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js +240 -0
  338. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js.map +1 -0
  339. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts +37 -0
  340. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts.map +1 -0
  341. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js +35 -0
  342. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js.map +1 -0
  343. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts +13 -0
  344. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts.map +1 -0
  345. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js +30 -0
  346. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js.map +1 -0
  347. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts +21 -0
  348. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts.map +1 -0
  349. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js +132 -0
  350. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js.map +1 -0
  351. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts +10 -0
  352. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts.map +1 -0
  353. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js +33 -0
  354. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js.map +1 -0
  355. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.d.ts +17 -0
  356. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.d.ts.map +1 -0
  357. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.js +37 -0
  358. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.js.map +1 -0
  359. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts +17 -0
  360. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts.map +1 -0
  361. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js +45 -0
  362. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js.map +1 -0
  363. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts +7 -0
  364. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts.map +1 -0
  365. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js +18 -0
  366. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js.map +1 -0
  367. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.d.ts +28 -0
  368. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.d.ts.map +1 -0
  369. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.js +31 -0
  370. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.js.map +1 -0
  371. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts +13 -0
  372. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts.map +1 -0
  373. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js +24 -0
  374. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js.map +1 -0
  375. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  376. package/data/build/dist/dsh-capabilities/matrix.js +22 -5
  377. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  378. package/data/build/dist/dsh-capabilities/routes.d.ts +1 -0
  379. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  380. package/data/build/dist/dsh-capabilities/routes.js +47 -3
  381. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  382. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  383. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  384. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  385. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  386. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +6 -3
  387. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  388. package/data/build/dist/host/cli-adapters/antigravity-driver.js +1 -1
  389. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  390. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +4 -3
  391. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -1
  392. package/data/build/dist/host/cli-adapters/attachment-utils.js +9 -8
  393. package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -1
  394. package/data/build/dist/host/cli-adapters/binary-detection.d.ts.map +1 -1
  395. package/data/build/dist/host/cli-adapters/binary-detection.js +7 -3
  396. package/data/build/dist/host/cli-adapters/binary-detection.js.map +1 -1
  397. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +1 -0
  398. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  399. package/data/build/dist/host/cli-adapters/claude-driver.js +184 -21
  400. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  401. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +18 -0
  402. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  403. package/data/build/dist/host/cli-adapters/codex-driver.js +126 -21
  404. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  405. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts +91 -0
  406. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts.map +1 -0
  407. package/data/build/dist/host/cli-adapters/codex-performance-projection.js +8 -0
  408. package/data/build/dist/host/cli-adapters/codex-performance-projection.js.map +1 -0
  409. package/data/build/dist/host/cli-adapters/codex-performance.d.ts +16 -0
  410. package/data/build/dist/host/cli-adapters/codex-performance.d.ts.map +1 -0
  411. package/data/build/dist/host/cli-adapters/codex-performance.js +81 -0
  412. package/data/build/dist/host/cli-adapters/codex-performance.js.map +1 -0
  413. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts +4 -1
  414. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -1
  415. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +137 -25
  416. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -1
  417. package/data/build/dist/host/cli-adapters/command-code-driver.js +7 -4
  418. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  419. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +3 -1
  420. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -1
  421. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +41 -4
  422. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -1
  423. package/data/build/dist/host/cli-adapters/driver.d.ts +2 -0
  424. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  425. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts +5 -1
  426. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  427. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +51 -16
  428. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  429. package/data/build/dist/host/cli-adapters/dsh-tool-history.js +3 -2
  430. package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -1
  431. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -1
  432. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +3 -2
  433. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -1
  434. package/data/build/dist/host/cli-adapters/feature.d.ts +4 -0
  435. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  436. package/data/build/dist/host/cli-adapters/feature.js +587 -101
  437. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  438. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  439. package/data/build/dist/host/cli-adapters/gemini-driver.js +5 -3
  440. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  441. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +7 -0
  442. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  443. package/data/build/dist/host/cli-adapters/grok-driver.js +458 -59
  444. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  445. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts +123 -0
  446. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts.map +1 -0
  447. package/data/build/dist/host/cli-adapters/grok-performance-projection.js +48 -0
  448. package/data/build/dist/host/cli-adapters/grok-performance-projection.js.map +1 -0
  449. package/data/build/dist/host/cli-adapters/grok-usage.d.ts +45 -0
  450. package/data/build/dist/host/cli-adapters/grok-usage.d.ts.map +1 -0
  451. package/data/build/dist/host/cli-adapters/grok-usage.js +197 -0
  452. package/data/build/dist/host/cli-adapters/grok-usage.js.map +1 -0
  453. package/data/build/dist/host/cli-adapters/kimi-driver.js +2 -2
  454. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  455. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  456. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +20 -3
  457. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  458. package/data/build/dist/host/cli-adapters/magpie-session-routing.d.ts +9 -0
  459. package/data/build/dist/host/cli-adapters/magpie-session-routing.d.ts.map +1 -0
  460. package/data/build/dist/host/cli-adapters/magpie-session-routing.js +90 -0
  461. package/data/build/dist/host/cli-adapters/magpie-session-routing.js.map +1 -0
  462. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +90 -0
  463. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts.map +1 -0
  464. package/data/build/dist/host/cli-adapters/magpie-usage.js +986 -0
  465. package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -0
  466. package/data/build/dist/host/cli-adapters/management-installation.d.ts +5 -0
  467. package/data/build/dist/host/cli-adapters/management-installation.d.ts.map +1 -0
  468. package/data/build/dist/host/cli-adapters/management-installation.js +131 -0
  469. package/data/build/dist/host/cli-adapters/management-installation.js.map +1 -0
  470. package/data/build/dist/host/cli-adapters/management-methods.d.ts +37 -0
  471. package/data/build/dist/host/cli-adapters/management-methods.d.ts.map +1 -0
  472. package/data/build/dist/host/cli-adapters/management-methods.js +144 -0
  473. package/data/build/dist/host/cli-adapters/management-methods.js.map +1 -0
  474. package/data/build/dist/host/cli-adapters/management-process.d.ts +7 -0
  475. package/data/build/dist/host/cli-adapters/management-process.d.ts.map +1 -0
  476. package/data/build/dist/host/cli-adapters/management-process.js +62 -0
  477. package/data/build/dist/host/cli-adapters/management-process.js.map +1 -0
  478. package/data/build/dist/host/cli-adapters/management.d.ts +32 -0
  479. package/data/build/dist/host/cli-adapters/management.d.ts.map +1 -0
  480. package/data/build/dist/host/cli-adapters/management.js +177 -0
  481. package/data/build/dist/host/cli-adapters/management.js.map +1 -0
  482. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
  483. package/data/build/dist/host/cli-adapters/mcode-driver.js +12 -5
  484. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  485. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +1 -0
  486. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  487. package/data/build/dist/host/cli-adapters/model-catalog.js +70 -7
  488. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  489. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +1 -1
  490. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
  491. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +13 -5
  492. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
  493. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -1
  494. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
  495. package/data/build/dist/host/cli-adapters/native-team-subagent.js +6 -3
  496. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  497. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +22 -0
  498. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  499. package/data/build/dist/host/cli-adapters/opencode-driver.js +105 -17
  500. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  501. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +4 -1
  502. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js.map +1 -1
  503. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  504. package/data/build/dist/host/cli-adapters/pi-driver.js +45 -11
  505. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  506. package/data/build/dist/host/cli-adapters/process-utils.d.ts +2 -0
  507. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  508. package/data/build/dist/host/cli-adapters/process-utils.js +16 -11
  509. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  510. package/data/build/dist/host/cli-adapters/registry.d.ts +7 -1
  511. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  512. package/data/build/dist/host/cli-adapters/registry.js +141 -51
  513. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  514. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts +74 -0
  515. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts.map +1 -0
  516. package/data/build/dist/host/cli-adapters/session-performance-projection.js +83 -0
  517. package/data/build/dist/host/cli-adapters/session-performance-projection.js.map +1 -0
  518. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  519. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +4 -0
  520. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  521. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts +3 -1
  522. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
  523. package/data/build/dist/host/cli-adapters/stream-normalizer.js +2 -0
  524. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
  525. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.d.ts +26 -0
  526. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.d.ts.map +1 -0
  527. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.js +30 -0
  528. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.js.map +1 -0
  529. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
  530. package/data/build/dist/host/cli-adapters/subagent-tool.js +7 -6
  531. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
  532. package/data/build/dist/host/cli-adapters/team-input.d.ts +17 -0
  533. package/data/build/dist/host/cli-adapters/team-input.d.ts.map +1 -0
  534. package/data/build/dist/host/cli-adapters/team-input.js +67 -0
  535. package/data/build/dist/host/cli-adapters/team-input.js.map +1 -0
  536. package/data/build/dist/host/cli-adapters/update-check.d.ts +34 -0
  537. package/data/build/dist/host/cli-adapters/update-check.d.ts.map +1 -0
  538. package/data/build/dist/host/cli-adapters/update-check.js +263 -0
  539. package/data/build/dist/host/cli-adapters/update-check.js.map +1 -0
  540. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -1
  541. package/data/build/dist/host/cli-adapters/zcode-driver.js +7 -2
  542. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -1
  543. package/data/build/dist/host/cli-adapters/zcode-update.d.ts +8 -0
  544. package/data/build/dist/host/cli-adapters/zcode-update.d.ts.map +1 -0
  545. package/data/build/dist/host/cli-adapters/zcode-update.js +149 -0
  546. package/data/build/dist/host/cli-adapters/zcode-update.js.map +1 -0
  547. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +14 -0
  548. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
  549. package/data/build/dist/host/cli-bridge/bridge-holder.js +53 -6
  550. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
  551. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +8 -0
  552. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
  553. package/data/build/dist/host/cli-bridge/bridge-server.js +63 -6
  554. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
  555. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -1
  556. package/data/build/dist/host/cli-bridge/command-code-mod.js +128 -0
  557. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
  558. package/data/build/dist/host/cli-bridge/dispatch.js +1 -1
  559. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  560. package/data/build/dist/host/cli-bridge/fetch-dispatch.d.ts +23 -0
  561. package/data/build/dist/host/cli-bridge/fetch-dispatch.d.ts.map +1 -0
  562. package/data/build/dist/host/cli-bridge/fetch-dispatch.js +73 -0
  563. package/data/build/dist/host/cli-bridge/fetch-dispatch.js.map +1 -0
  564. package/data/build/dist/host/cli-bridge/injections.d.ts +14 -0
  565. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  566. package/data/build/dist/host/cli-bridge/injections.js +69 -7
  567. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  568. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts +1 -1
  569. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +102 -7
  570. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
  571. package/data/build/dist/host/cli-bridge/pi-extension-entry.d.ts +3 -0
  572. package/data/build/dist/host/cli-bridge/pi-extension-entry.d.ts.map +1 -0
  573. package/data/build/dist/host/cli-bridge/pi-extension-entry.js +9 -0
  574. package/data/build/dist/host/cli-bridge/pi-extension-entry.js.map +1 -0
  575. package/data/build/dist/host/cli-bridge/pi-extension.d.ts +52 -0
  576. package/data/build/dist/host/cli-bridge/pi-extension.d.ts.map +1 -0
  577. package/data/build/dist/host/cli-bridge/pi-extension.js +311 -0
  578. package/data/build/dist/host/cli-bridge/pi-extension.js.map +1 -0
  579. package/data/build/dist/host/cli-bridge/search-dispatch.d.ts +20 -0
  580. package/data/build/dist/host/cli-bridge/search-dispatch.d.ts.map +1 -0
  581. package/data/build/dist/host/cli-bridge/search-dispatch.js +61 -0
  582. package/data/build/dist/host/cli-bridge/search-dispatch.js.map +1 -0
  583. package/data/build/dist/host/cli-bridge/team-adapters.d.ts +11 -0
  584. package/data/build/dist/host/cli-bridge/team-adapters.d.ts.map +1 -0
  585. package/data/build/dist/host/cli-bridge/team-adapters.js +23 -0
  586. package/data/build/dist/host/cli-bridge/team-adapters.js.map +1 -0
  587. package/data/build/dist/host/cli-bridge/team-dispatch.d.ts +28 -0
  588. package/data/build/dist/host/cli-bridge/team-dispatch.d.ts.map +1 -0
  589. package/data/build/dist/host/cli-bridge/team-dispatch.js +208 -0
  590. package/data/build/dist/host/cli-bridge/team-dispatch.js.map +1 -0
  591. package/data/build/dist/host/cli-bridge/team-tool.d.ts +3 -0
  592. package/data/build/dist/host/cli-bridge/team-tool.d.ts.map +1 -0
  593. package/data/build/dist/host/cli-bridge/team-tool.js +18 -0
  594. package/data/build/dist/host/cli-bridge/team-tool.js.map +1 -0
  595. package/data/build/dist/host/features/file-management.d.ts.map +1 -1
  596. package/data/build/dist/host/features/file-management.js +10 -1
  597. package/data/build/dist/host/features/file-management.js.map +1 -1
  598. package/data/build/dist/host/features/git-commit-message.d.ts +5 -0
  599. package/data/build/dist/host/features/git-commit-message.d.ts.map +1 -0
  600. package/data/build/dist/host/features/git-commit-message.js +66 -0
  601. package/data/build/dist/host/features/git-commit-message.js.map +1 -0
  602. package/data/build/dist/host/features/git-management.d.ts +11 -2
  603. package/data/build/dist/host/features/git-management.d.ts.map +1 -1
  604. package/data/build/dist/host/features/git-management.js +61 -7
  605. package/data/build/dist/host/features/git-management.js.map +1 -1
  606. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
  607. package/data/build/dist/host/features/global-voice-rpc.js +2 -3
  608. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
  609. package/data/build/dist/host/features/index.d.ts.map +1 -1
  610. package/data/build/dist/host/features/index.js +2 -0
  611. package/data/build/dist/host/features/index.js.map +1 -1
  612. package/data/build/dist/host/features/interaction-translation.d.ts +10 -0
  613. package/data/build/dist/host/features/interaction-translation.d.ts.map +1 -0
  614. package/data/build/dist/host/features/interaction-translation.js +219 -0
  615. package/data/build/dist/host/features/interaction-translation.js.map +1 -0
  616. package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -1
  617. package/data/build/dist/host/features/lan-access-dsh.js +3 -3
  618. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
  619. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  620. package/data/build/dist/host/features/peer-host.js +13 -6
  621. package/data/build/dist/host/features/peer-host.js.map +1 -1
  622. package/data/build/dist/host/features/quick-apps.d.ts +4 -0
  623. package/data/build/dist/host/features/quick-apps.d.ts.map +1 -0
  624. package/data/build/dist/host/features/quick-apps.js +158 -0
  625. package/data/build/dist/host/features/quick-apps.js.map +1 -0
  626. package/data/build/dist/host/features/session-prompt-translation.d.ts +10 -0
  627. package/data/build/dist/host/features/session-prompt-translation.d.ts.map +1 -0
  628. package/data/build/dist/host/features/session-prompt-translation.js +227 -0
  629. package/data/build/dist/host/features/session-prompt-translation.js.map +1 -0
  630. package/data/build/dist/host/features/session-translation-protection.d.ts +22 -0
  631. package/data/build/dist/host/features/session-translation-protection.d.ts.map +1 -0
  632. package/data/build/dist/host/features/session-translation-protection.js +204 -0
  633. package/data/build/dist/host/features/session-translation-protection.js.map +1 -0
  634. package/data/build/dist/host/features/session-translation-recovery.d.ts +21 -0
  635. package/data/build/dist/host/features/session-translation-recovery.d.ts.map +1 -0
  636. package/data/build/dist/host/features/session-translation-recovery.js +125 -0
  637. package/data/build/dist/host/features/session-translation-recovery.js.map +1 -0
  638. package/data/build/dist/host/features/session-translation-runtime.d.ts +16 -0
  639. package/data/build/dist/host/features/session-translation-runtime.d.ts.map +1 -0
  640. package/data/build/dist/host/features/session-translation-runtime.js +85 -0
  641. package/data/build/dist/host/features/session-translation-runtime.js.map +1 -0
  642. package/data/build/dist/host/features/session-translation-service.d.ts +19 -4
  643. package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -1
  644. package/data/build/dist/host/features/session-translation-service.js +249 -210
  645. package/data/build/dist/host/features/session-translation-service.js.map +1 -1
  646. package/data/build/dist/host/features/session-translation.d.ts.map +1 -1
  647. package/data/build/dist/host/features/session-translation.js +6 -3
  648. package/data/build/dist/host/features/session-translation.js.map +1 -1
  649. package/data/build/dist/host/features/types.d.ts +10 -0
  650. package/data/build/dist/host/features/types.d.ts.map +1 -1
  651. package/data/build/dist/host/html-workspace-files.d.ts +3 -0
  652. package/data/build/dist/host/html-workspace-files.d.ts.map +1 -0
  653. package/data/build/dist/host/html-workspace-files.js +135 -0
  654. package/data/build/dist/host/html-workspace-files.js.map +1 -0
  655. package/data/build/dist/host/index.d.ts.map +1 -1
  656. package/data/build/dist/host/index.js +32 -39
  657. package/data/build/dist/host/index.js.map +1 -1
  658. package/data/build/dist/host/lan-access-dsh.d.ts +14 -2
  659. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  660. package/data/build/dist/host/lan-access-dsh.js +81 -13
  661. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  662. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts +2 -2
  663. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -1
  664. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +10 -9
  665. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -1
  666. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.d.ts +3 -3
  667. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.d.ts.map +1 -1
  668. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js +26 -14
  669. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js.map +1 -1
  670. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts +5 -0
  671. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts.map +1 -0
  672. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js +27 -0
  673. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js.map +1 -0
  674. package/data/build/dist/host/modules/quick-apps/browse.d.ts +5 -0
  675. package/data/build/dist/host/modules/quick-apps/browse.d.ts.map +1 -0
  676. package/data/build/dist/host/modules/quick-apps/browse.js +37 -0
  677. package/data/build/dist/host/modules/quick-apps/browse.js.map +1 -0
  678. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts +4 -0
  679. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts.map +1 -0
  680. package/data/build/dist/host/modules/quick-apps/code-revision.js +39 -0
  681. package/data/build/dist/host/modules/quick-apps/code-revision.js.map +1 -0
  682. package/data/build/dist/host/modules/quick-apps/documents.d.ts +14 -0
  683. package/data/build/dist/host/modules/quick-apps/documents.d.ts.map +1 -0
  684. package/data/build/dist/host/modules/quick-apps/documents.js +87 -0
  685. package/data/build/dist/host/modules/quick-apps/documents.js.map +1 -0
  686. package/data/build/dist/host/modules/quick-apps/egress.d.ts +35 -0
  687. package/data/build/dist/host/modules/quick-apps/egress.d.ts.map +1 -0
  688. package/data/build/dist/host/modules/quick-apps/egress.js +244 -0
  689. package/data/build/dist/host/modules/quick-apps/egress.js.map +1 -0
  690. package/data/build/dist/host/modules/quick-apps/errors.d.ts +8 -0
  691. package/data/build/dist/host/modules/quick-apps/errors.d.ts.map +1 -0
  692. package/data/build/dist/host/modules/quick-apps/errors.js +15 -0
  693. package/data/build/dist/host/modules/quick-apps/errors.js.map +1 -0
  694. package/data/build/dist/host/modules/quick-apps/file-api.d.ts +30 -0
  695. package/data/build/dist/host/modules/quick-apps/file-api.d.ts.map +1 -0
  696. package/data/build/dist/host/modules/quick-apps/file-api.js +149 -0
  697. package/data/build/dist/host/modules/quick-apps/file-api.js.map +1 -0
  698. package/data/build/dist/host/modules/quick-apps/launches.d.ts +35 -0
  699. package/data/build/dist/host/modules/quick-apps/launches.d.ts.map +1 -0
  700. package/data/build/dist/host/modules/quick-apps/launches.js +80 -0
  701. package/data/build/dist/host/modules/quick-apps/launches.js.map +1 -0
  702. package/data/build/dist/host/modules/quick-apps/paths.d.ts +14 -0
  703. package/data/build/dist/host/modules/quick-apps/paths.d.ts.map +1 -0
  704. package/data/build/dist/host/modules/quick-apps/paths.js +72 -0
  705. package/data/build/dist/host/modules/quick-apps/paths.js.map +1 -0
  706. package/data/build/dist/host/modules/quick-apps/registry.d.ts +30 -0
  707. package/data/build/dist/host/modules/quick-apps/registry.d.ts.map +1 -0
  708. package/data/build/dist/host/modules/quick-apps/registry.js +195 -0
  709. package/data/build/dist/host/modules/quick-apps/registry.js.map +1 -0
  710. package/data/build/dist/host/modules/quick-apps/remote.d.ts +38 -0
  711. package/data/build/dist/host/modules/quick-apps/remote.d.ts.map +1 -0
  712. package/data/build/dist/host/modules/quick-apps/remote.js +238 -0
  713. package/data/build/dist/host/modules/quick-apps/remote.js.map +1 -0
  714. package/data/build/dist/host/modules/quick-apps/service.d.ts +27 -0
  715. package/data/build/dist/host/modules/quick-apps/service.d.ts.map +1 -0
  716. package/data/build/dist/host/modules/quick-apps/service.js +174 -0
  717. package/data/build/dist/host/modules/quick-apps/service.js.map +1 -0
  718. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts +8 -0
  719. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts.map +1 -0
  720. package/data/build/dist/host/modules/quick-apps/static-handler.js +213 -0
  721. package/data/build/dist/host/modules/quick-apps/static-handler.js.map +1 -0
  722. package/data/build/dist/host/native-session-bridge.d.ts +7 -1
  723. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  724. package/data/build/dist/host/native-session-bridge.js +10 -15
  725. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  726. package/data/build/dist/host/rpc.d.ts.map +1 -1
  727. package/data/build/dist/host/rpc.js +23 -12
  728. package/data/build/dist/host/rpc.js.map +1 -1
  729. package/data/build/dist/host/session-changes.d.ts.map +1 -1
  730. package/data/build/dist/host/session-changes.js +6 -2
  731. package/data/build/dist/host/session-changes.js.map +1 -1
  732. package/data/build/dist/host/session-migration-repair.js +48 -35
  733. package/data/build/dist/host/session-migration-repair.js.map +1 -1
  734. package/data/build/dist/host/settings.d.ts.map +1 -1
  735. package/data/build/dist/host/settings.js +31 -2
  736. package/data/build/dist/host/settings.js.map +1 -1
  737. package/data/build/dist/host/workspace-file-mutations.d.ts +2 -0
  738. package/data/build/dist/host/workspace-file-mutations.d.ts.map +1 -0
  739. package/data/build/dist/host/workspace-file-mutations.js +15 -0
  740. package/data/build/dist/host/workspace-file-mutations.js.map +1 -0
  741. package/data/build/dist/host/workspace-root.d.ts +14 -0
  742. package/data/build/dist/host/workspace-root.d.ts.map +1 -0
  743. package/data/build/dist/host/workspace-root.js +99 -0
  744. package/data/build/dist/host/workspace-root.js.map +1 -0
  745. package/data/build/dist/shared/attachment-prompts.d.ts +11 -0
  746. package/data/build/dist/shared/attachment-prompts.d.ts.map +1 -0
  747. package/data/build/dist/shared/attachment-prompts.js +17 -0
  748. package/data/build/dist/shared/attachment-prompts.js.map +1 -0
  749. package/data/build/dist/shared/cli-provider-route.d.ts +7 -0
  750. package/data/build/dist/shared/cli-provider-route.d.ts.map +1 -0
  751. package/data/build/dist/shared/cli-provider-route.js +13 -0
  752. package/data/build/dist/shared/cli-provider-route.js.map +1 -0
  753. package/data/build/dist/shared/codex-performance.d.ts +3 -0
  754. package/data/build/dist/shared/codex-performance.d.ts.map +1 -0
  755. package/data/build/dist/shared/codex-performance.js +2 -0
  756. package/data/build/dist/shared/codex-performance.js.map +1 -0
  757. package/data/build/dist/shared/contracts/agent-team.d.ts +14 -0
  758. package/data/build/dist/shared/contracts/agent-team.d.ts.map +1 -0
  759. package/data/build/dist/shared/contracts/agent-team.js +48 -0
  760. package/data/build/dist/shared/contracts/agent-team.js.map +1 -0
  761. package/data/build/dist/shared/contracts/cli-adapter.d.ts +62 -1
  762. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  763. package/data/build/dist/shared/contracts/cli-management.d.ts +29 -0
  764. package/data/build/dist/shared/contracts/cli-management.d.ts.map +1 -0
  765. package/data/build/dist/shared/contracts/cli-management.js +2 -0
  766. package/data/build/dist/shared/contracts/cli-management.js.map +1 -0
  767. package/data/build/dist/shared/contracts/config.d.ts +7 -1
  768. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  769. package/data/build/dist/shared/contracts/config.js +3 -0
  770. package/data/build/dist/shared/contracts/config.js.map +1 -1
  771. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  772. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  773. package/data/build/dist/shared/contracts/git.d.ts +17 -0
  774. package/data/build/dist/shared/contracts/git.d.ts.map +1 -1
  775. package/data/build/dist/shared/contracts/git.js +27 -1
  776. package/data/build/dist/shared/contracts/git.js.map +1 -1
  777. package/data/build/dist/shared/contracts/interaction-presentation.d.ts +32 -0
  778. package/data/build/dist/shared/contracts/interaction-presentation.d.ts.map +1 -0
  779. package/data/build/dist/shared/contracts/interaction-presentation.js +2 -0
  780. package/data/build/dist/shared/contracts/interaction-presentation.js.map +1 -0
  781. package/data/build/dist/shared/contracts/interaction-translation.d.ts +53 -0
  782. package/data/build/dist/shared/contracts/interaction-translation.d.ts.map +1 -0
  783. package/data/build/dist/shared/contracts/interaction-translation.js +44 -0
  784. package/data/build/dist/shared/contracts/interaction-translation.js.map +1 -0
  785. package/data/build/dist/shared/contracts/quick-apps.d.ts +70 -0
  786. package/data/build/dist/shared/contracts/quick-apps.d.ts.map +1 -0
  787. package/data/build/dist/shared/contracts/quick-apps.js +4 -0
  788. package/data/build/dist/shared/contracts/quick-apps.js.map +1 -0
  789. package/data/build/dist/shared/contracts/session-translation.d.ts +82 -9
  790. package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
  791. package/data/build/dist/shared/contracts/session-translation.js +146 -2
  792. package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
  793. package/data/build/dist/shared/contracts/subscription.d.ts +87 -0
  794. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  795. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  796. package/data/build/dist/shared/contracts/version.d.ts +9 -15
  797. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  798. package/data/build/dist/shared/contracts/version.js +8 -14
  799. package/data/build/dist/shared/contracts/version.js.map +1 -1
  800. package/data/build/dist/shared/index.d.ts +3 -2
  801. package/data/build/dist/shared/index.d.ts.map +1 -1
  802. package/data/build/dist/shared/index.js +3 -2
  803. package/data/build/dist/shared/index.js.map +1 -1
  804. package/data/build/dist/shared/peer-host-http-routes.d.ts +4 -0
  805. package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -1
  806. package/data/build/dist/shared/peer-host-http-routes.js +4 -0
  807. package/data/build/dist/shared/peer-host-http-routes.js.map +1 -1
  808. package/data/build/dist/shared/provider-icon-resources.d.ts.map +1 -1
  809. package/data/build/dist/shared/provider-icon-resources.js +1 -0
  810. package/data/build/dist/shared/provider-icon-resources.js.map +1 -1
  811. package/data/build/dist/shared/quick-app-browser-storage.d.ts +33 -0
  812. package/data/build/dist/shared/quick-app-browser-storage.d.ts.map +1 -0
  813. package/data/build/dist/shared/quick-app-browser-storage.js +33 -0
  814. package/data/build/dist/shared/quick-app-browser-storage.js.map +1 -0
  815. package/data/build/dist/shared/quick-app-network-allow.d.ts +8 -0
  816. package/data/build/dist/shared/quick-app-network-allow.d.ts.map +1 -0
  817. package/data/build/dist/shared/quick-app-network-allow.js +192 -0
  818. package/data/build/dist/shared/quick-app-network-allow.js.map +1 -0
  819. package/data/build/dist/shared/quick-app-network-bootstrap.d.ts +9 -0
  820. package/data/build/dist/shared/quick-app-network-bootstrap.d.ts.map +1 -0
  821. package/data/build/dist/shared/quick-app-network-bootstrap.js +134 -0
  822. package/data/build/dist/shared/quick-app-network-bootstrap.js.map +1 -0
  823. package/data/build/dist/shared/quick-app-proxy-path.d.ts +6 -0
  824. package/data/build/dist/shared/quick-app-proxy-path.d.ts.map +1 -0
  825. package/data/build/dist/shared/quick-app-proxy-path.js +18 -0
  826. package/data/build/dist/shared/quick-app-proxy-path.js.map +1 -0
  827. package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts +9 -0
  828. package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts.map +1 -0
  829. package/data/build/dist/shared/quick-app-storage-bootstrap.js +189 -0
  830. package/data/build/dist/shared/quick-app-storage-bootstrap.js.map +1 -0
  831. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts +7 -0
  832. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts.map +1 -0
  833. package/data/build/dist/shared/quick-apps-bootstrap-locale.js +10 -0
  834. package/data/build/dist/shared/quick-apps-bootstrap-locale.js.map +1 -0
  835. package/data/build/dist/shared/request-performance.d.ts +15 -0
  836. package/data/build/dist/shared/request-performance.d.ts.map +1 -0
  837. package/data/build/dist/shared/request-performance.js +3 -0
  838. package/data/build/dist/shared/request-performance.js.map +1 -0
  839. package/data/build/dist/shared/translation-indicator.d.ts +26 -0
  840. package/data/build/dist/shared/translation-indicator.d.ts.map +1 -0
  841. package/data/build/dist/shared/translation-indicator.js +29 -0
  842. package/data/build/dist/shared/translation-indicator.js.map +1 -0
  843. package/package.json +35 -34
  844. package/profile/README.md +2 -2
  845. package/profile/package.json +3 -3
  846. package/profile/version.json +3 -3
  847. package/version.json +3 -3
  848. package/data/build/dist/client/client.model-catalog-cache.js.map +0 -1
@@ -7811,7 +7811,7 @@
7811
7811
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
7812
7812
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
7813
7813
  */
7814
- const en$14 = {
7814
+ const en$16 = {
7815
7815
  "debug.title": "Debug",
7816
7816
  "debug.guideDescription": "Start workspace commands, check ports, and open services",
7817
7817
  "debug.readingWorkspace": "Reading workspace…",
@@ -7889,7 +7889,7 @@
7889
7889
  "feature.debug.label": "Workspace debugging",
7890
7890
  "feature.debug.description": "Launch terminals and check services"
7891
7891
  };
7892
- const zh$14 = {
7892
+ const zh$16 = {
7893
7893
  "debug.title": "调试",
7894
7894
  "debug.guideDescription": "启动工作区命令、检查端口并访问服务",
7895
7895
  "debug.readingWorkspace": "正在读取工作区…",
@@ -7970,7 +7970,7 @@
7970
7970
  //#endregion
7971
7971
  //#region src/client/locales/assistantDebug.ts
7972
7972
  /** 全局助理调试页词典;状态名与 JSON 只在明确的调试区域展示。 */
7973
- const zh$13 = {
7973
+ const zh$15 = {
7974
7974
  "assistant.debug.open": "全局项目状态调试",
7975
7975
  "assistant.debug.title": "全局助理管理状态调试",
7976
7976
  "assistant.debug.description": "独立检查工作区范围、会话状态和文字指令,无需启动语音。",
@@ -8150,7 +8150,7 @@
8150
8150
  "assistant.debug.analysisState.cancelled": "总结已停止,原始索引材料已保留",
8151
8151
  "assistant.debug.rawEvidence": "以下是原始会话摘录,作为总结证据保留,不是 LLM 生成的进展判断。"
8152
8152
  };
8153
- const en$13 = {
8153
+ const en$15 = {
8154
8154
  "assistant.debug.open": "Global project state debug",
8155
8155
  "assistant.debug.title": "Global assistant management debug",
8156
8156
  "assistant.debug.description": "Inspect workspace scope, session state and text commands without starting voice.",
@@ -8332,7 +8332,7 @@
8332
8332
  };
8333
8333
  //#endregion
8334
8334
  //#region src/client/locales/assistantAvatar.ts
8335
- const en$12 = {
8335
+ const en$14 = {
8336
8336
  "avatar.portraitTitle": "Avatar",
8337
8337
  "avatar.portraitEdit": "Adjust avatar",
8338
8338
  "avatar.portraitLocalHint": "Saved in this browser for this character; conversation and sidebar avatars update together.",
@@ -8468,7 +8468,7 @@
8468
8468
  "avatar.desktopFallback": "Desktop companion unavailable; showing inside this window.",
8469
8469
  "avatar.dragHint": "Drag to move; click to open the assistant."
8470
8470
  };
8471
- const zh$12 = {
8471
+ const zh$14 = {
8472
8472
  "avatar.portraitTitle": "头像",
8473
8473
  "avatar.portraitEdit": "微调头像",
8474
8474
  "avatar.portraitLocalHint": "按形象保存在当前浏览器,对话与侧栏头像同步更新。",
@@ -8612,7 +8612,9 @@
8612
8612
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
8613
8613
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
8614
8614
  */
8615
- const en$11 = {
8615
+ const en$13 = {
8616
+ "htmlFiles.confirmConnect": "Allow this HTML page to read, save, and delete files in these locations?\n\nPage: {path}\n\n{scopes}\n\nAccess lasts until this preview is closed or reloaded.",
8617
+ "htmlFiles.cancelled": "Workspace file connection cancelled.",
8616
8618
  "fileMenu.expandFolder": "Expand folder",
8617
8619
  "fileMenu.openFile": "Open file",
8618
8620
  "fileMenu.download": "Download file",
@@ -8660,6 +8662,8 @@
8660
8662
  "archive.close": "Close",
8661
8663
  "archive.searchPlaceholder": "Search archived sessions",
8662
8664
  "archive.empty": "No archived sessions found.",
8665
+ "archive.createdAt": "Created: {time}",
8666
+ "archive.archivedAt": "Archived: {time}",
8663
8667
  "archive.restore": "Unarchive",
8664
8668
  "archive.restoreUnsupportedTitle": "This DSH version does not support unarchiving",
8665
8669
  "archive.restoreUnsupported": "Unarchive (not supported in this version)",
@@ -8681,7 +8685,9 @@
8681
8685
  "pwaPrompt.dismiss": "Not now",
8682
8686
  "pwaPrompt.iosHint": "Tap \"Share\" then \"Add to Home Screen\" to install."
8683
8687
  };
8684
- const zh$11 = {
8688
+ const zh$13 = {
8689
+ "htmlFiles.confirmConnect": "允许此 HTML 页面读取、保存和删除以下位置中的文件吗?\n\n页面:{path}\n\n{scopes}\n\n授权在关闭或重新加载预览后失效。",
8690
+ "htmlFiles.cancelled": "已取消工作区文件连接。",
8685
8691
  "fileMenu.expandFolder": "展开文件夹",
8686
8692
  "fileMenu.openFile": "打开文件",
8687
8693
  "fileMenu.download": "下载文件",
@@ -8729,6 +8735,8 @@
8729
8735
  "archive.close": "关闭",
8730
8736
  "archive.searchPlaceholder": "搜索已归档会话",
8731
8737
  "archive.empty": "没有找到归档会话。",
8738
+ "archive.createdAt": "创建时间:{time}",
8739
+ "archive.archivedAt": "归档时间:{time}",
8732
8740
  "archive.restore": "取消归档",
8733
8741
  "archive.restoreUnsupportedTitle": "当前 DSH 版本不支持取消归档",
8734
8742
  "archive.restoreUnsupported": "取消归档(当前版本不支持)",
@@ -8758,7 +8766,7 @@
8758
8766
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
8759
8767
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
8760
8768
  */
8761
- const en$10 = {
8769
+ const en$12 = {
8762
8770
  "feature.gitManagement.label": "Git repository management",
8763
8771
  "feature.gitManagement.description": "View changes and manage commits",
8764
8772
  "git.tabTitle": "Git",
@@ -8792,7 +8800,21 @@
8792
8800
  "git.stagingEmpty": "Staging area is empty",
8793
8801
  "git.stagedCount": "{count} staged",
8794
8802
  "git.commitPlaceholder": "Type a commit message here",
8795
- "git.draftUnavailable": "Commit message generation is not available yet",
8803
+ "git.generatingMessage": "Generating commit message…",
8804
+ "git.generationEnabled": "Generate commit messages",
8805
+ "git.generationEnabledHelp": "Show the Generate button in the Git panel to draft a message from staged changes.",
8806
+ "git.messageDetail": "Commit message level",
8807
+ "git.messageConcise": "Concise — subject only",
8808
+ "git.messageDetailed": "Detailed — subject and change summary",
8809
+ "git.messageModels": "Commit message models",
8810
+ "git.messageModelsPicker": "Add commit message models",
8811
+ "git.messageModelsHelp": "Drag to set priority; models are tried in order. An empty pool follows the default DSH model. If generation fails, your existing draft is kept.",
8812
+ "git.settingsSaved": "Git settings saved",
8813
+ "git.messagePrompt": "Git commit rule prompt",
8814
+ "git.messagePromptHelp": "Custom rules for commit-message language, style, and conventions. Leave blank to use defaults; the selected detail level still applies.",
8815
+ "git.messagePromptPlaceholder": "For example: Use Conventional Commits, include a scope, and write in English.",
8816
+ "git.messagePromptSave": "Save commit rules",
8817
+ "git.messagePromptSaving": "Saving commit rules…",
8796
8818
  "git.draftMessage": "Generate commit message",
8797
8819
  "git.commit": "Commit",
8798
8820
  "git.stagedFiles": "Staged files",
@@ -8866,7 +8888,7 @@
8866
8888
  "git.unknownTime": "Unknown time",
8867
8889
  "git.dateLabel": "{month}/{day}"
8868
8890
  };
8869
- const zh$10 = {
8891
+ const zh$12 = {
8870
8892
  "feature.gitManagement.label": "Git 仓库管理",
8871
8893
  "feature.gitManagement.description": "查看改动并管理提交",
8872
8894
  "git.tabTitle": "Git",
@@ -8900,7 +8922,21 @@
8900
8922
  "git.stagingEmpty": "暂存区为空",
8901
8923
  "git.stagedCount": "{count} 个已暂存",
8902
8924
  "git.commitPlaceholder": "在这里输入提交信息",
8903
- "git.draftUnavailable": "生成提交信息功能暂未开放",
8925
+ "git.generatingMessage": "正在生成提交信息…",
8926
+ "git.generationEnabled": "生成 Git 提交信息",
8927
+ "git.generationEnabledHelp": "在 Git 面板显示生成按钮,根据已暂存的改动起草提交信息。",
8928
+ "git.messageDetail": "提交信息级别",
8929
+ "git.messageConcise": "简洁 — 仅标题",
8930
+ "git.messageDetailed": "详细 — 标题与变更摘要",
8931
+ "git.messageModels": "提交信息模型",
8932
+ "git.messageModelsPicker": "添加提交信息模型",
8933
+ "git.messageModelsHelp": "拖拽调整优先级,按顺序尝试模型;模型池为空时跟随 DSH 默认模型。生成失败时保留已有草稿。",
8934
+ "git.settingsSaved": "Git 设置已保存",
8935
+ "git.messagePrompt": "Git 提交规则提示词",
8936
+ "git.messagePromptHelp": "自定义提交信息的语言、风格和格式规范。留空时使用默认规则;简洁或详细级别仍然生效。",
8937
+ "git.messagePromptPlaceholder": "例如:使用 Conventional Commits 格式,包含 scope,并使用英文编写。",
8938
+ "git.messagePromptSave": "保存提交规则",
8939
+ "git.messagePromptSaving": "正在保存提交规则…",
8904
8940
  "git.draftMessage": "生成提交信息",
8905
8941
  "git.commit": "提交",
8906
8942
  "git.stagedFiles": "暂存文件",
@@ -8982,7 +9018,7 @@
8982
9018
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
8983
9019
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
8984
9020
  */
8985
- const en$9 = {
9021
+ const en$11 = {
8986
9022
  "common.listSeparator": ", ",
8987
9023
  "settings.unknownVersion": "Unknown version",
8988
9024
  "settings.maintenanceDisabled": "This module is disabled by maintenance policy; the setting will not start it.",
@@ -8991,32 +9027,78 @@
8991
9027
  "cli.adapterDisabled": "{name} disabled",
8992
9028
  "cli.translationConversation": "Translate conversation",
8993
9029
  "cli.translationConversationToggle": "Toggle conversation translation",
9030
+ "cli.translationSettings": "Conversation translation settings",
9031
+ "cli.translationSettingsClose": "Close",
9032
+ "cli.translationSettingsDescription": "Choose which messages to translate for {agent}. These options are saved separately for each agent and apply to its conversations with translation enabled.",
9033
+ "cli.translationUserMessages": "Translate user messages",
9034
+ "cli.translationThinkingMessages": "Translate AI thinking messages",
9035
+ "cli.translationAssistantMessages": "Translate AI final messages",
8994
9036
  "lan.fieldListenPort": "listen port",
8995
9037
  "lan.fieldDshPort": "DSH local port",
8996
9038
  "lan.fieldMustBeNumber": "{field} must be a number",
8997
9039
  "lan.fieldMustBeInteger": "{field} must be an integer from {minimum} to 65535",
8998
9040
  "workspace.sessionSettingsSaved": "Workspace session settings saved",
8999
9041
  "feature.sessionTranslation.label": "Session translation",
9000
- "feature.sessionTranslation.description": "Translate selected external Agent requests and replies while keeping tools, commands, paths, and original history unchanged.",
9042
+ "feature.sessionTranslation.description": "Translate selected external Agent requests and replies while keeping tools, commands, paths, and original history unchanged. Control DSH native session translation using the switch in the conversation model selector.",
9001
9043
  "translation.inputTitle": "Translate requests before sending",
9002
9044
  "translation.inputLanguage": "Request language",
9003
- "translation.outputTitle": "Translate visible replies",
9045
+ "translation.outputTitle": "Translate the AI’s reasoning and final messages into the language specified below",
9004
9046
  "translation.outputLanguage": "Reply language",
9005
- "translation.modelTitle": "Translation model",
9047
+ "translation.modelTitle": "Translation model pool",
9048
+ "translation.rulesTitle": "Translation rules",
9049
+ "translation.rulesHelp": "Rules apply to input, reasoning, and replies, including text already in the target language. They take priority over the default translation prompts.",
9050
+ "translation.rulesEmpty": "No custom rules. The default translation prompts apply.",
9051
+ "translation.ruleAdd": "Add rule",
9052
+ "translation.ruleEdit": "Edit rule {number}",
9053
+ "translation.ruleRemove": "Remove rule {number}",
9054
+ "translation.ruleText": "Rule instructions",
9055
+ "translation.rulePlaceholder": "For example: Keep product names in their original language.",
9056
+ "translation.ruleSave": "Save rule",
9057
+ "translation.ruleSaving": "Saving…",
9058
+ "translation.ruleCancel": "Cancel",
9006
9059
  "translation.modelFollowDefault": "Use the default DSH model",
9060
+ "translation.modelResetTitle": "Use the default DSH model?",
9061
+ "translation.modelResetHelp": "This will clear all {count} models and their priority order from the pool, then follow the default DSH model. Continue?",
9062
+ "translation.modelResetConfirm": "Clear pool and use default",
9007
9063
  "translation.modelUnavailable": "Saved model is unavailable",
9008
9064
  "translation.modelLoading": "Loading available DSH models…",
9009
9065
  "translation.modelEmpty": "No DSH text models are available.",
9010
- "translation.modelHelp": "DeepSeek official and configured third-party models are available here. Translation requests always disable thinking.",
9066
+ "translation.modelHelp": "Drag to set priority; the first model is tried first. If all models fail, the original text is kept.",
9067
+ "translation.modelDefaultActive": "No models selected; using the default DSH model.",
9068
+ "translation.modelPriority": "Priority {priority}",
9069
+ "translation.modelPoolCount": "{count} models · ordered by priority",
9070
+ "translation.modelPoolEmpty": "Add models to set up automatic fallback.",
9071
+ "translation.modelAdd": "Add models",
9072
+ "translation.modelRemove": "Remove {model}",
9073
+ "translation.modelDrag": "Reorder {model}",
9074
+ "translation.modelDragHelp": "Drag to reorder, or use the Up and Down arrow keys.",
9075
+ "translation.modelReordered": "{model} moved to priority {priority}",
9076
+ "translation.modelPickerTitle": "Add translation models",
9077
+ "translation.modelPickerHelp": "Select models to add to the end of the pool. Drag them to adjust priority after adding.",
9078
+ "translation.modelSearch": "Search models or providers",
9079
+ "translation.modelPickerCount": "{count} selected",
9080
+ "translation.modelAddSelected": "Add selected ({count})",
9081
+ "translation.modelCancel": "Cancel",
9082
+ "translation.modelNoMatches": "No matching models.",
9083
+ "translation.modelAllAdded": "All available models are already in the pool.",
9011
9084
  "translation.detailsTitle": "Translation details",
9012
9085
  "translation.viewDetails": "View translation details",
9013
9086
  "translation.statusTranslated": "Translated",
9087
+ "translation.statusTranslating": "Translating…",
9088
+ "translation.progressHelp": "Preparing and translating your message. The translation result will be available when this finishes.",
9014
9089
  "translation.statusFailed": "Translation failed; original kept",
9090
+ "translation.retry": "Retry translation",
9091
+ "translation.sendDirectly": "Send directly",
9092
+ "translation.cancelSending": "Cancel sending",
9093
+ "translation.inputFailedTitle": "Message translation failed",
9094
+ "translation.inputFailedHelp": "Your message has not been sent. Choose how to continue.",
9095
+ "translation.decisionFailed": "Could not apply your choice. Please try again.",
9015
9096
  "translation.statusNotNeeded": "Already in the target language; translation skipped",
9016
9097
  "translation.detectedLanguage": "Detected language",
9017
9098
  "translation.modelNotUsed": "Not used; translation was unnecessary",
9018
9099
  "translation.originalText": "Original text",
9019
- "translation.translatedText": "Translated / sent text",
9100
+ "translation.translatedText": "Translation",
9101
+ "translation.actualSentText": "Actual sent text:",
9020
9102
  "translation.modelUsed": "Model used",
9021
9103
  "translation.modelUnknown": "Model information unavailable",
9022
9104
  "translation.modelOfficial": "DeepSeek official",
@@ -9037,7 +9119,7 @@
9037
9119
  "translation.adapter.cursor": "Cursor",
9038
9120
  "translation.adapter.kiro": "Kiro"
9039
9121
  };
9040
- const zh$9 = {
9122
+ const zh$11 = {
9041
9123
  "common.listSeparator": "、",
9042
9124
  "settings.unknownVersion": "未知版本",
9043
9125
  "settings.maintenanceDisabled": "该模块当前由维护策略停用,设置不会启动它。",
@@ -9046,33 +9128,79 @@
9046
9128
  "cli.adapterDisabled": "已停用 {name}",
9047
9129
  "cli.translationConversation": "翻译对话",
9048
9130
  "cli.translationConversationToggle": "切换对话翻译",
9131
+ "cli.translationSettings": "对话翻译设置",
9132
+ "cli.translationSettingsClose": "关闭",
9133
+ "cli.translationSettingsDescription": "选择 {agent} 需要翻译的消息类型。选项按 Agent 独立保存,应用于该 Agent 已开启对话翻译的会话。",
9134
+ "cli.translationUserMessages": "翻译用户消息",
9135
+ "cli.translationThinkingMessages": "翻译 AI 思考消息",
9136
+ "cli.translationAssistantMessages": "翻译 AI 正式消息",
9049
9137
  "lan.fieldListenPort": "监听端口",
9050
9138
  "lan.fieldDshPort": "DSH 本地端口",
9051
9139
  "lan.fieldMustBeNumber": "{field} 必须是数字",
9052
9140
  "lan.fieldMustBeInteger": "{field} 必须是 {minimum} 到 65535 的整数",
9053
9141
  "workspace.sessionSettingsSaved": "工作区会话设置已保存",
9054
9142
  "feature.sessionTranslation.label": "会话翻译",
9055
- "feature.sessionTranslation.description": "为选定的外部 Agent 翻译请求和回复,同时保留工具、命令、路径与原始历史。",
9143
+ "feature.sessionTranslation.description": "为选定的外部 Agent 翻译请求和回复,同时保留工具、命令、路径与原始历史;DSH 原生会话翻译由对话框模型选择器中的会话翻译开关控制。",
9056
9144
  "translation.inputTitle": "发送前翻译请求",
9057
9145
  "translation.inputLanguage": "请求目标语言",
9058
- "translation.outputTitle": "翻译界面回复",
9146
+ "translation.outputTitle": "AI的思考内容和正式消息翻译为以下指定语言",
9059
9147
  "translation.outputLanguage": "回复语言",
9060
- "translation.modelTitle": "翻译模型",
9148
+ "translation.modelTitle": "翻译模型池",
9149
+ "translation.rulesTitle": "翻译规则",
9150
+ "translation.rulesHelp": "规则适用于输入、思考和回复,包括已经是目标语言的文本。规则的优先级高于默认翻译提示词。",
9151
+ "translation.rulesEmpty": "尚未添加自定义规则,使用默认翻译提示词。",
9152
+ "translation.ruleAdd": "添加规则",
9153
+ "translation.ruleEdit": "编辑规则 {number}",
9154
+ "translation.ruleRemove": "移除规则 {number}",
9155
+ "translation.ruleText": "规则内容",
9156
+ "translation.rulePlaceholder": "例如:产品名称保留原文,不进行翻译。",
9157
+ "translation.ruleSave": "保存规则",
9158
+ "translation.ruleSaving": "正在保存…",
9159
+ "translation.ruleCancel": "取消",
9061
9160
  "translation.modelFollowDefault": "跟随 DSH 默认模型",
9161
+ "translation.modelResetTitle": "确认跟随 DSH 默认模型?",
9162
+ "translation.modelResetHelp": "这将清空模型池中的全部 {count} 个模型及其优先级顺序,并改为跟随 DSH 默认模型。是否继续?",
9163
+ "translation.modelResetConfirm": "清空并跟随默认模型",
9062
9164
  "translation.modelUnavailable": "已保存的模型当前不可用",
9063
9165
  "translation.modelLoading": "正在加载可用的 DSH 模型…",
9064
9166
  "translation.modelEmpty": "当前没有可用的 DSH 文本模型。",
9065
- "translation.modelHelp": "这里可以选择 DeepSeek 官方模型或已配置的第三方模型;翻译请求始终关闭思考。",
9167
+ "translation.modelHelp": "拖拽调整优先级,优先使用列表首个模型;全部失败时保留原文。",
9168
+ "translation.modelDefaultActive": "未选择模型,当前跟随 DSH 默认模型。",
9169
+ "translation.modelPriority": "优先级 {priority}",
9170
+ "translation.modelPoolCount": "{count} 个模型 · 按优先级排列",
9171
+ "translation.modelPoolEmpty": "添加模型,配置自动回退顺序。",
9172
+ "translation.modelAdd": "添加模型",
9173
+ "translation.modelRemove": "移除 {model}",
9174
+ "translation.modelDrag": "调整 {model} 的顺序",
9175
+ "translation.modelDragHelp": "拖拽调整顺序,也可使用上下方向键。",
9176
+ "translation.modelReordered": "{model} 已移至优先级 {priority}",
9177
+ "translation.modelPickerTitle": "添加翻译模型",
9178
+ "translation.modelPickerHelp": "选择模型后添加到模型池末尾,添加后可拖拽调整优先级。",
9179
+ "translation.modelSearch": "搜索模型或供应商",
9180
+ "translation.modelPickerCount": "已选择 {count} 个",
9181
+ "translation.modelAddSelected": "添加所选({count})",
9182
+ "translation.modelCancel": "取消",
9183
+ "translation.modelNoMatches": "没有匹配的模型。",
9184
+ "translation.modelAllAdded": "所有可用模型均已添加到模型池。",
9066
9185
  "translation.detailsTitle": "翻译详情",
9067
9186
  "translation.viewDetails": "查看翻译详情",
9068
9187
  "translation.statusTranslated": "已翻译",
9188
+ "translation.statusTranslating": "正在翻译…",
9189
+ "translation.progressHelp": "正在准备并翻译消息,完成后可查看翻译结果。",
9069
9190
  "translation.statusFailed": "翻译失败,已保留原文",
9191
+ "translation.retry": "重试翻译",
9192
+ "translation.sendDirectly": "直接发送",
9193
+ "translation.cancelSending": "取消发送",
9194
+ "translation.inputFailedTitle": "消息翻译失败",
9195
+ "translation.inputFailedHelp": "消息尚未发送,请选择如何继续。",
9196
+ "translation.decisionFailed": "未能应用你的选择,请重试。",
9070
9197
  "translation.statusNotNeeded": "原文已是目标语言,无需翻译",
9071
9198
  "translation.detectedLanguage": "检测到的语言",
9072
9199
  "translation.modelNotUsed": "未调用,原文无需翻译",
9073
9200
  "translation.originalText": "原文",
9074
- "translation.translatedText": "译文 / 实际发送文本",
9075
- "translation.modelUsed": "实际翻译模型",
9201
+ "translation.translatedText": "译文",
9202
+ "translation.actualSentText": "实际发送文本:",
9203
+ "translation.modelUsed": "翻译模型",
9076
9204
  "translation.modelUnknown": "暂无模型信息",
9077
9205
  "translation.modelOfficial": "DeepSeek 官方",
9078
9206
  "translation.modelThirdParty": "第三方",
@@ -9100,7 +9228,7 @@
9100
9228
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
9101
9229
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
9102
9230
  */
9103
- const en$8 = {
9231
+ const en$10 = {
9104
9232
  "feature.peerHost.label": "Manage other DSH Hosts",
9105
9233
  "feature.peerHost.description": "Aggregate sessions from multiple Hosts",
9106
9234
  "peerHost.panelTitle": "Manage other DSH Hosts",
@@ -9171,6 +9299,7 @@
9171
9299
  "peerHost.fileWorkspaceUnavailable": "The remote file scope is unavailable or inconsistent. Please wait for PeerHost workspaces to refresh.",
9172
9300
  "peerHost.questionSessionUnavailable": "The session for this remote question is unavailable. Please reconnect.",
9173
9301
  "peerHost.sessionUnavailable": "The remote session scope is unavailable. Please wait for PeerHost workspaces to refresh.",
9302
+ "peerHost.attachmentFolderUnsupported": "Add individual files to the remote session; local folders cannot be attached.",
9174
9303
  "peerHost.reference.section": "Conversations",
9175
9304
  "peerHost.reference.newSession": "New session",
9176
9305
  "peerHost.stateExternal": "The Transport structure of this page is not supported, so the plugin cannot wrap it and PeerHost aggregation is disabled; refreshing the page will not change the result.",
@@ -9180,7 +9309,7 @@
9180
9309
  "peerHost.stateActive": "The preboot shim has taken over the page Transport; the native Connection of this page keeps reusing the same instance.",
9181
9310
  "peerHost.statePending": "The preboot shim is installed with CodingNS; it takes effect as soon as PeerHost is enabled, and native workspaces read the aggregate Transport directly."
9182
9311
  };
9183
- const zh$8 = {
9312
+ const zh$10 = {
9184
9313
  "feature.peerHost.label": "管理其他 DSH Host",
9185
9314
  "feature.peerHost.description": "聚合多个 Host 会话",
9186
9315
  "peerHost.panelTitle": "管理其他 DSH Host",
@@ -9251,6 +9380,7 @@
9251
9380
  "peerHost.fileWorkspaceUnavailable": "远程文件作用域不可用或不一致,请等待 PeerHost 工作区刷新",
9252
9381
  "peerHost.questionSessionUnavailable": "远端问题所属会话不可用,请重新连接",
9253
9382
  "peerHost.sessionUnavailable": "远端会话作用域暂不可用,请等待 PeerHost 工作区刷新",
9383
+ "peerHost.attachmentFolderUnsupported": "请向远程会话添加单个文件,不能附加本机文件夹。",
9254
9384
  "peerHost.reference.section": "对话",
9255
9385
  "peerHost.reference.newSession": "新会话",
9256
9386
  "peerHost.stateExternal": "当前页面的 Transport 结构不受支持,插件无法包装它,PeerHost 聚合已停用;刷新页面不会改变结果。",
@@ -9268,7 +9398,7 @@
9268
9398
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
9269
9399
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
9270
9400
  */
9271
- const en$7 = {
9401
+ const en$9 = {
9272
9402
  "peerHostWorkspace.tabLocal": "Local folders",
9273
9403
  "peerHostWorkspace.tabRemote": "Remote HOST",
9274
9404
  "peerHostWorkspace.sourceLabel": "Workspace source",
@@ -9314,7 +9444,7 @@
9314
9444
  "peerHostWorkspace.hintNotReady": "“{host}” is currently “{status}”; finish connecting it in the management panel first.",
9315
9445
  "peerHostWorkspace.manageHosts": "Manage other DSH Hosts"
9316
9446
  };
9317
- const zh$7 = {
9447
+ const zh$9 = {
9318
9448
  "peerHostWorkspace.tabLocal": "本机文件夹",
9319
9449
  "peerHostWorkspace.tabRemote": "远程 HOST",
9320
9450
  "peerHostWorkspace.sourceLabel": "工作区来源",
@@ -9368,7 +9498,7 @@
9368
9498
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
9369
9499
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
9370
9500
  */
9371
- const en$6 = {
9501
+ const en$8 = {
9372
9502
  "terminalShare.title": "Share terminal output to a conversation",
9373
9503
  "terminalShare.menuTitle": "Share to a conversation",
9374
9504
  "terminalShare.more": "More conversations",
@@ -9441,7 +9571,7 @@
9441
9571
  "loginProtection.errorTimeoutRange": "The session timeout must be between 60 and 604800 seconds",
9442
9572
  "loginProtection.errorScopesRequired": "Select at least one scope"
9443
9573
  };
9444
- const zh$6 = {
9574
+ const zh$8 = {
9445
9575
  "terminalShare.title": "分享终端输出至会话",
9446
9576
  "terminalShare.menuTitle": "分享至会话",
9447
9577
  "terminalShare.more": "更多会话",
@@ -9522,7 +9652,7 @@
9522
9652
  * 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
9523
9653
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
9524
9654
  */
9525
- const en$5 = {
9655
+ const en$7 = {
9526
9656
  "usage.r4StatsPeriod": "Account usage · UTC",
9527
9657
  "usage.r4TodayIoTokens": "Input + output tokens today",
9528
9658
  "usage.r4WeekRequests": "Requests · last 7 days",
@@ -9635,6 +9765,55 @@
9635
9765
  "usage.resetOutcomeNothingToReset": "No window has reached its limit; no reset credit was consumed.",
9636
9766
  "usage.resetOutcomeNoCredit": "No reset credits available; nothing was reset.",
9637
9767
  "usage.resetFailed": "Reset failed. Try again later.",
9768
+ "usage.magpieUsageLabel": "Magpie usage, session and route",
9769
+ "usage.magpieShortLabel": "Magpie",
9770
+ "usage.magpieTitle": "Magpie usage",
9771
+ "usage.magpieTodayScope": "Today · all Magpie agents",
9772
+ "usage.magpieTabUsage": "Usage",
9773
+ "usage.magpieTabRoute": "Route + quota",
9774
+ "usage.magpieAggregateTitle": "Gateway usage",
9775
+ "usage.magpieSessionTitle": "This Agent session",
9776
+ "usage.magpieRouteTitle": "Latest route",
9777
+ "usage.magpieUsageUnavailable": "Magpie usage is unavailable.",
9778
+ "usage.magpieRequests": "Requests",
9779
+ "usage.magpieErrors": "Errors",
9780
+ "usage.magpieInputTokens": "Input tokens",
9781
+ "usage.magpieOutputTokens": "Output tokens",
9782
+ "usage.magpieCacheReadTokens": "Cache read",
9783
+ "usage.magpieCacheWriteTokens": "Cache written",
9784
+ "usage.magpieTotalTokens": "Input + output",
9785
+ "usage.magpieCost": "Estimated cost",
9786
+ "usage.magpieCacheHitRate": "Cache hit rate",
9787
+ "usage.magpieUpdated": "Updated {time}",
9788
+ "usage.magpieAgent": "Agent: {agent}",
9789
+ "usage.magpieSessionNoUsage": "No matching session usage today.",
9790
+ "usage.magpieSessionIdUnavailable": "This Agent session cannot be linked to Magpie.",
9791
+ "usage.magpieRouteUnavailable": "Magpie route information is unavailable.",
9792
+ "usage.magpieRouteNoRequests": "Magpie has no route for this session yet.",
9793
+ "usage.magpieAskedModel": "Requested model",
9794
+ "usage.magpieRouteGroup": "Routing group",
9795
+ "usage.magpieRouteRule": "Routing rule",
9796
+ "usage.magpieRouteAccount": "Upstream account",
9797
+ "usage.magpieRoutedModel": "Current destination",
9798
+ "usage.magpieServedModel": "Model that replied",
9799
+ "usage.magpieEffort": "Reasoning level",
9800
+ "usage.magpieRequestStatus": "Request status",
9801
+ "usage.magpieRouteDone": "Complete · ",
9802
+ "usage.magpieRouteRunning": "In progress · ",
9803
+ "usage.magpieAttempts": "Attempts",
9804
+ "usage.magpieUnknownModel": "Model not provided",
9805
+ "usage.magpieFallback": "Fallback",
9806
+ "usage.magpieQuotaTitle": "Upstream quota",
9807
+ "usage.magpieQuotaUnavailable": "Magpie quota data is unavailable.",
9808
+ "usage.magpieQuotaProviderUnavailable": "The upstream provider for this session is not identified yet.",
9809
+ "usage.magpieQuotaNoData": "No quota was reported for the upstream provider.",
9810
+ "usage.magpieQuotaNoWindows": "No quota windows reported.",
9811
+ "usage.magpieQuotaAccount": "Account: {account}",
9812
+ "usage.magpieQuotaBalance": "Balance: {balance}",
9813
+ "usage.magpieQuotaRemaining": "{name} remaining {percent}%",
9814
+ "usage.magpieQuotaResets": "Resets at {time}",
9815
+ "usage.magpieRouteFlowTitle": "Routing flow",
9816
+ "usage.magpieRouteComplete": "Completed",
9638
9817
  "accountBar.userFallback": "User",
9639
9818
  "accountBar.connectionManageTitle": "Connection management · Manage other DSH Hosts",
9640
9819
  "accountBar.identityClickHint": "{identity} · Click to manage sign-in",
@@ -9654,7 +9833,7 @@
9654
9833
  "accountBar.relay": "Relay",
9655
9834
  "accountBar.direct": "Direct"
9656
9835
  };
9657
- const zh$5 = {
9836
+ const zh$7 = {
9658
9837
  "usage.r4StatsPeriod": "账户用量 · UTC",
9659
9838
  "usage.r4TodayIoTokens": "今日输入与输出 Token",
9660
9839
  "usage.r4WeekRequests": "近 7 天请求数",
@@ -9767,6 +9946,55 @@
9767
9946
  "usage.resetOutcomeNothingToReset": "当前没有达到限额的窗口,未消耗重置次数。",
9768
9947
  "usage.resetOutcomeNoCredit": "没有可用的重置次数,未执行重置。",
9769
9948
  "usage.resetFailed": "重置失败,请稍后重试。",
9949
+ "usage.magpieUsageLabel": "Magpie 用量、会话与路由",
9950
+ "usage.magpieShortLabel": "Magpie",
9951
+ "usage.magpieTitle": "Magpie 用量",
9952
+ "usage.magpieTodayScope": "今日 · 所有 Magpie Agent",
9953
+ "usage.magpieTabUsage": "用量",
9954
+ "usage.magpieTabRoute": "路由 + 配额",
9955
+ "usage.magpieAggregateTitle": "网关用量",
9956
+ "usage.magpieSessionTitle": "当前 Agent 会话",
9957
+ "usage.magpieRouteTitle": "最近路由",
9958
+ "usage.magpieUsageUnavailable": "暂时无法读取 Magpie 用量。",
9959
+ "usage.magpieRequests": "请求数",
9960
+ "usage.magpieErrors": "失败数",
9961
+ "usage.magpieInputTokens": "输入 Token",
9962
+ "usage.magpieOutputTokens": "输出 Token",
9963
+ "usage.magpieCacheReadTokens": "缓存读取",
9964
+ "usage.magpieCacheWriteTokens": "缓存写入",
9965
+ "usage.magpieTotalTokens": "输入 + 输出",
9966
+ "usage.magpieCost": "预估费用",
9967
+ "usage.magpieCacheHitRate": "缓存命中率",
9968
+ "usage.magpieUpdated": "更新于 {time}",
9969
+ "usage.magpieAgent": "Agent:{agent}",
9970
+ "usage.magpieSessionNoUsage": "今天还没有找到此会话的用量。",
9971
+ "usage.magpieSessionIdUnavailable": "无法将当前 Agent 会话与 Magpie 对应。",
9972
+ "usage.magpieRouteUnavailable": "暂时无法读取 Magpie 路由信息。",
9973
+ "usage.magpieRouteNoRequests": "Magpie 尚无此会话的路由记录。",
9974
+ "usage.magpieAskedModel": "请求的模型",
9975
+ "usage.magpieRouteGroup": "路由分组",
9976
+ "usage.magpieRouteRule": "路由规则",
9977
+ "usage.magpieRouteAccount": "上游账号",
9978
+ "usage.magpieRoutedModel": "当前目标",
9979
+ "usage.magpieServedModel": "实际响应模型",
9980
+ "usage.magpieEffort": "推理强度",
9981
+ "usage.magpieRequestStatus": "请求状态",
9982
+ "usage.magpieRouteDone": "已完成 · ",
9983
+ "usage.magpieRouteRunning": "进行中 · ",
9984
+ "usage.magpieAttempts": "尝试记录",
9985
+ "usage.magpieUnknownModel": "上游未提供模型名",
9986
+ "usage.magpieFallback": "已回退",
9987
+ "usage.magpieQuotaTitle": "上游配额",
9988
+ "usage.magpieQuotaUnavailable": "暂时无法读取 Magpie 配额。",
9989
+ "usage.magpieQuotaProviderUnavailable": "尚未识别此会话实际使用的上游提供商。",
9990
+ "usage.magpieQuotaNoData": "上游提供商没有报告配额信息。",
9991
+ "usage.magpieQuotaNoWindows": "上游没有报告配额窗口。",
9992
+ "usage.magpieQuotaAccount": "账号:{account}",
9993
+ "usage.magpieQuotaBalance": "余额:{balance}",
9994
+ "usage.magpieQuotaRemaining": "{name} 剩余 {percent}%",
9995
+ "usage.magpieQuotaResets": "重置于 {time}",
9996
+ "usage.magpieRouteFlowTitle": "路由流转",
9997
+ "usage.magpieRouteComplete": "已完成",
9770
9998
  "accountBar.userFallback": "用户",
9771
9999
  "accountBar.connectionManageTitle": "连接管理 · 管理其他 DSH Host",
9772
10000
  "accountBar.identityClickHint": "{identity} · 点击管理登录",
@@ -9788,7 +10016,7 @@
9788
10016
  };
9789
10017
  //#endregion
9790
10018
  //#region src/client/locales/voiceModels.ts
9791
- const en$4 = {
10019
+ const en$6 = {
9792
10020
  "voice.models.prepared": "Model resources are ready. Save the configuration to use this recognition model.",
9793
10021
  "voice.settings.input": "Speech input",
9794
10022
  "voice.settings.output": "Speech output",
@@ -9831,7 +10059,7 @@
9831
10059
  "voice.models.localHint": "Models are stored on this Host. Verification tests model loading and recognition without using your microphone.",
9832
10060
  "voice.models.close": "Close"
9833
10061
  };
9834
- const zh$4 = {
10062
+ const zh$6 = {
9835
10063
  "voice.models.prepared": "模型资源已准备好,保存配置后使用此识别模型。",
9836
10064
  "voice.settings.input": "语音输入",
9837
10065
  "voice.settings.output": "语音输出",
@@ -9877,7 +10105,7 @@
9877
10105
  //#endregion
9878
10106
  //#region src/client/locales/assistantTts.ts
9879
10107
  /** 独立音色面板词典;官方名称保留原文,元数据标签随界面语言翻译。 */
9880
- const en$3 = {
10108
+ const en$5 = {
9881
10109
  "tts.wizardPrepareResources": "Prepare voice resources",
9882
10110
  "tts.wizardDraftReady": "Voice resources are ready. Configuration changes apply after saving.",
9883
10111
  "tts.prepare": "Prepare MOSS resources",
@@ -9954,7 +10182,7 @@
9954
10182
  "tts.saveParameters": "Save speech controls",
9955
10183
  "tts.resetParameters": "Restore and save defaults"
9956
10184
  };
9957
- const zh$3 = {
10185
+ const zh$5 = {
9958
10186
  "tts.wizardPrepareResources": "准备语音资源",
9959
10187
  "tts.wizardDraftReady": "语音资源已就绪,配置保存后生效。",
9960
10188
  "tts.prepare": "准备 MOSS 资源",
@@ -10034,7 +10262,7 @@
10034
10262
  //#endregion
10035
10263
  //#region src/client/locales/assistantWorkbench.ts
10036
10264
  /** 生命周期工作台文案;高级资源管理复用原有词典。 */
10037
- const zh$2 = {
10265
+ const zh$4 = {
10038
10266
  "awb.notifications.title": "会话提醒",
10039
10267
  "awb.notifications.hint": "在悬浮助理旁显示提醒,查看会话后标记已读。",
10040
10268
  "awb.notifications.enabled": "启用会话提醒",
@@ -10202,7 +10430,7 @@
10202
10430
  "awb.prompts": "提示词",
10203
10431
  "awb.unavailableSelection": "原选择暂不可用:{id}"
10204
10432
  };
10205
- const en$2 = {
10433
+ const en$4 = {
10206
10434
  "awb.notifications.title": "Session notices",
10207
10435
  "awb.notifications.hint": "Show notices beside the floating assistant. Viewing a session marks its notice as read.",
10208
10436
  "awb.notifications.enabled": "Enable session notices",
@@ -10380,7 +10608,7 @@
10380
10608
  * 注册仍使用同一份 zh/en。
10381
10609
  * 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
10382
10610
  */
10383
- const zh$1 = {
10611
+ const zh$3 = {
10384
10612
  "subagentCollapsed.inactive.one": "已停止 {count} 个子智能体",
10385
10613
  "subagentCollapsed.inactive.other": "已停止 {count} 个子智能体",
10386
10614
  "subagentCollapsed.inactive.expand": "展开已停止的子智能体",
@@ -10423,7 +10651,7 @@
10423
10651
  "subagentCollapsed.open.sidebar": "在侧边栏打开",
10424
10652
  "subagentCollapsed.open.sidebar.aria": "在侧边栏打开 {label}"
10425
10653
  };
10426
- const en$1 = {
10654
+ const en$3 = {
10427
10655
  "subagentCollapsed.inactive.one": "{count} stopped subagent",
10428
10656
  "subagentCollapsed.inactive.other": "{count} stopped subagents",
10429
10657
  "subagentCollapsed.inactive.expand": "Show stopped subagents",
@@ -10467,6 +10695,441 @@
10467
10695
  "subagentCollapsed.open.sidebar.aria": "Open {label} in sidebar"
10468
10696
  };
10469
10697
  //#endregion
10698
+ //#region src/shared/quick-apps-bootstrap-locale.ts
10699
+ /** Shared by the client dictionary and the isolated credential landing page. */
10700
+ const quickAppBootstrapEn = {
10701
+ "quickApps.opening": "Opening application…",
10702
+ "quickApps.bootstrapFailed": "Application access could not be established. Reopen it from Quick Apps and check browser cookie settings."
10703
+ };
10704
+ const quickAppBootstrapZh = {
10705
+ "quickApps.opening": "正在打开应用…",
10706
+ "quickApps.bootstrapFailed": "无法建立应用访问,请从快捷应用重新打开并检查浏览器 Cookie 设置。"
10707
+ };
10708
+ //#endregion
10709
+ //#region src/client/locales/quickApps.ts
10710
+ const en$2 = {
10711
+ "quickApps.storagePreview": "App data is saved in this browser. IndexedDB and URLs starting with / are not supported in this view.",
10712
+ "quickApps.storageFailed": "App data could not be saved in this browser: {message}",
10713
+ "quickApps.sandboxPreview": "Workspace preview. Browser storage and URLs starting with / may not work in this view.",
10714
+ "quickApps.runtime.not-configured": "This Host does not provide workspace HTML previews. Update its CodingNS plugin and reopen the shortcut.",
10715
+ "quickApps.runtime.config-invalid": "The Host’s HTML hosting configuration or TLS certificate is invalid.",
10716
+ "quickApps.runtime.lan-stopped": "Start LAN access on the owning Host to open this HTML app.",
10717
+ "quickApps.runtime.ui-not-allowed": "This DSH address is not enabled in the Host’s HTML hosting configuration.",
10718
+ "quickApps.runtime.ports-exhausted": "The reserved app ports have all been used. Extend the Host’s app port range; previously used ports cannot be reassigned.",
10719
+ "quickApps.runtime.ports-busy": "The available app ports are currently in use. Try again after they are released.",
10720
+ "quickApps.workspaceAccessHelp": "Saving lets this app read, create, update and delete files in {workspace}. Hidden files, credentials and other workspaces stay protected.",
10721
+ "quickApps.saveWorkspaceAccess": "Save and allow workspace access",
10722
+ "quickApps.workspaceAccessHostUpdate": "This Host needs an update to support workspace access. The shortcut was saved without enabling it.",
10723
+ "quickApps.workspaceAccessUnavailable": "Update the owning Host to support workspace access. The shortcut was not changed.",
10724
+ "quickApps.markdown": "Markdown",
10725
+ "quickApps.source": "Source",
10726
+ "quickApps.viewMode": "View as",
10727
+ "quickApps.markdownUnavailable": "Native Markdown preview is unavailable in this DSH version. Showing source.",
10728
+ "quickApps.maximize": "Maximize viewer",
10729
+ "quickApps.restore": "Restore viewer",
10730
+ "quickApps.loadingDocument": "Loading…",
10731
+ "quickApps.documentEditor": "Document editor",
10732
+ "quickApps.editorFailed": "The editor could not load.",
10733
+ "quickApps.copyCode": "Copy code",
10734
+ "quickApps.copied": "Copied",
10735
+ "quickApps.code": "Code",
10736
+ "quickApps.footnotes": "Footnotes",
10737
+ "quickApps.unwrapText": "Disable wrapping",
10738
+ "quickApps.imagesUnavailable": "Some images are unavailable or outside this document folder.",
10739
+ "quickApps.documentHome": "Back to entry document",
10740
+ "quickApps.documentLinkDenied": "This link is outside the document folder or uses an unsupported path.",
10741
+ "quickApps.documentHostUpdate": "Update the owning Host plugin to enable document operations. This document remains viewable.",
10742
+ "quickApps.documentConflict": "The file changed on the Host. Your draft is preserved. Copy your changes before reloading the latest file.",
10743
+ "quickApps.documentAccessExpired": "Document access has ended or is unavailable. Your draft is preserved; copy it before closing and reopening the shortcut.",
10744
+ "quickApps.documentSaved": "Saved to the workspace.",
10745
+ "quickApps.unsaved": "Unsaved changes",
10746
+ "quickApps.allowEditing": "Allow editing",
10747
+ "quickApps.allowEditingHelp": "Allow changes to {path}? This approval applies only to this file and ends when you close the viewer.",
10748
+ "quickApps.discardTitle": "Unsaved changes",
10749
+ "quickApps.discard": "Discard changes",
10750
+ "quickApps.discardHelp": "Your changes to {path} have not been saved. Discard them and continue?",
10751
+ "quickApps.viewerTools": "Viewer controls",
10752
+ "quickApps.wrapText": "Wrap text",
10753
+ "quickApps.reloadView": "Reload",
10754
+ "quickApps.entryAddress": "Application entry address",
10755
+ "quickApps.noWorkspaces": "No managed workspaces available",
10756
+ "quickApps.browse": "Browse…",
10757
+ "quickApps.chooseFile": "Choose a workspace file",
10758
+ "quickApps.useFile": "Use this file",
10759
+ "quickApps.currentFolder": "Current folder",
10760
+ "quickApps.parentFolder": "Go to parent folder",
10761
+ "quickApps.refreshFiles": "Refresh",
10762
+ "quickApps.loadingFiles": "Loading files…",
10763
+ "quickApps.emptyFolder": "This folder has no selectable files or folders.",
10764
+ "quickApps.filesTruncated": "Only the first part of this folder is shown. You can enter the file path directly.",
10765
+ "quickApps.selectFileHint": "Open a folder, then select an HTML application or text document.",
10766
+ "quickApps.browseUnavailable": "File browsing is unavailable on this Host. You can still enter a workspace-relative file path.",
10767
+ "quickApps.browseHostUpdateRequired": "This Host does not support file browsing. Update or reload its CodingNS plugin, then refresh this page. You can still enter a workspace-relative file path.",
10768
+ ...quickAppBootstrapEn,
10769
+ "quickApps.manage": "Edit shortcuts",
10770
+ "quickApps.done": "Done",
10771
+ "quickApps.editShortcut": "Edit shortcut",
10772
+ "quickApps.collapseBar": "Collapse Quick Apps",
10773
+ "quickApps.expandBar": "Restore Quick Apps",
10774
+ "quickApps.removeNamed": "Remove {title}",
10775
+ "quickApps.reorderHelp": "Drag to reorder, or use Alt + arrow keys.",
10776
+ "quickApps.reordered": "Shortcut order saved.",
10777
+ "quickApps.manageHelp": "Choose a shortcut to edit its source, permissions or remove it.",
10778
+ "quickApps.openNamed": "Open {title}",
10779
+ "quickApps.editNamed": "Edit {title}",
10780
+ "quickApps.count": "Shortcuts: {count}",
10781
+ "quickApps.loading": "Loading shortcuts…",
10782
+ "quickApps.retry": "Try again",
10783
+ "quickApps.emptyTitle": "Your workspace, one click away",
10784
+ "quickApps.advanced": "Advanced options",
10785
+ "quickApps.accessAndRemoval": "Access and shortcut management",
10786
+ "quickApps.titleHelp": "Leave blank to use the file or application folder name.",
10787
+ "quickApps.entryHelp": "Choose a file or enter its path within the workspace.",
10788
+ "quickApps.entryPlaceholder": "apps/calendar/index.html",
10789
+ "quickApps.entryRequired": "Enter an application or document file path.",
10790
+ "quickApps.orderInvalid": "Use a whole number for the list order.",
10791
+ "quickApps.saved": "Shortcut saved.",
10792
+ "quickApps.revoked": "File access revoked. Existing launches have closed.",
10793
+ "quickApps.saveBeforeAccess": "Save your changes before managing access or removing this shortcut.",
10794
+ "quickApps.conflict": "This shortcut changed elsewhere. Your edits are still here; reopen the shortcut to load the latest version.",
10795
+ "quickApps.order": "List order",
10796
+ "quickApps.mounts": "Additional resource folders (optional)",
10797
+ "quickApps.mount.urlPrefix": "App URL path",
10798
+ "quickApps.mount.workspacePath": "Workspace folder",
10799
+ "quickApps.addMount": "Add resource folder",
10800
+ "quickApps.removeMount": "Remove resource folder",
10801
+ "quickApps.title": "Quick Apps",
10802
+ "quickApps.description": "Open workspace HTML applications and text documents without a conversation.",
10803
+ "quickApps.close": "Close Quick Apps",
10804
+ "quickApps.back": "Back to shortcuts",
10805
+ "quickApps.application": "Workspace application",
10806
+ "quickApps.add": "Add shortcut",
10807
+ "quickApps.open": "Open",
10808
+ "quickApps.edit": "Edit",
10809
+ "quickApps.remove": "Remove shortcut",
10810
+ "quickApps.permissions": "File permissions",
10811
+ "quickApps.revoke": "Revoke access",
10812
+ "quickApps.save": "Save",
10813
+ "quickApps.cancel": "Cancel",
10814
+ "quickApps.titleField": "Title",
10815
+ "quickApps.entryPath": "Entry file",
10816
+ "quickApps.documentRoot": "Application folder",
10817
+ "quickApps.workspace": "Workspace",
10818
+ "quickApps.chooseWorkspace": "Choose a managed workspace",
10819
+ "quickApps.localHost": "This Host",
10820
+ "quickApps.kind": "Open as",
10821
+ "quickApps.html": "HTML application",
10822
+ "quickApps.text": "Text document",
10823
+ "quickApps.networkAllow": "Local addresses",
10824
+ "quickApps.networkAllowHelp": "Leave this empty to block loopback, private networks, link-local addresses, and cloud metadata. Add one local IP, CIDR range, or hostname per line, up to 16. Examples: 127.0.0.1, localhost, 192.168.1.0/24.",
10825
+ "quickApps.networkAllowPlaceholder": "127.0.0.1\nlocalhost\n192.168.1.0/24",
10826
+ "quickApps.networkAllowInvalid": "Use a local IP address, CIDR range, or hostname, with one entry per line.",
10827
+ "quickApps.spa": "Use the entry page for application navigation",
10828
+ "quickApps.pathHelp": "Enter workspace-relative paths. Use a dedicated application folder; an empty folder path selects the workspace root.",
10829
+ "quickApps.empty": "No shortcuts yet. In edit mode, add an HTML application or text document from a managed workspace.",
10830
+ "quickApps.removeHelp": "Removing a shortcut leaves its source files intact.",
10831
+ "quickApps.permissionHelp": "Optional file access for the next launch. Enter comma-separated workspace-relative folders; leave blank to deny. Approvals expire when the Host restarts or the shortcut or application code changes. Saving closes existing launches.",
10832
+ "quickApps.permission.read": "Read folders",
10833
+ "quickApps.permission.write": "Create and update folders",
10834
+ "quickApps.permission.delete": "Delete files in folders",
10835
+ "quickApps.permissionsSaved": "Permissions saved for the next launch.",
10836
+ "quickApps.unavailable": "HTML preview is unavailable on this Host connection. Update the owning Host plugin and reopen the shortcut.",
10837
+ "quickApps.status.unsupported-runtime": "HTML preview is unavailable on this Host connection.",
10838
+ "quickApps.status.disconnected-host": "The owning Host has no supported Quick Apps connection.",
10839
+ "quickApps.status.unsupported-connection": "This PeerHost relay cannot open Quick Apps. Use a direct connection to the owning Host.",
10840
+ "quickApps.status.missing-workspace": "The original workspace is unavailable.",
10841
+ "quickApps.status.missing-file": "The entry file or application folder is missing or cannot be accessed."
10842
+ };
10843
+ const zh$2 = {
10844
+ "quickApps.storagePreview": "应用数据保存在当前浏览器中。此视图不支持 IndexedDB 和以 / 开头的网址。",
10845
+ "quickApps.storageFailed": "无法在当前浏览器中保存应用数据:{message}",
10846
+ "quickApps.sandboxPreview": "工作区预览:浏览器存储和以 / 开头的网址可能无法在此视图中使用。",
10847
+ "quickApps.runtime.not-configured": "此主机尚不支持工作区 HTML 预览,请更新其 CodingNS 插件后重新打开快捷方式。",
10848
+ "quickApps.runtime.config-invalid": "主机的 HTML 托管配置或 TLS 证书无效。",
10849
+ "quickApps.runtime.lan-stopped": "请先在所属主机启动局域网访问,再打开此 HTML 应用。",
10850
+ "quickApps.runtime.ui-not-allowed": "主机的 HTML 托管配置尚未启用当前 DSH 地址。",
10851
+ "quickApps.runtime.ports-exhausted": "预留的应用端口已全部使用,请扩展主机的应用端口范围;已用端口不能重新分配。",
10852
+ "quickApps.runtime.ports-busy": "可用的应用端口正被占用,请在端口释放后重试。",
10853
+ "quickApps.workspaceAccessHelp": "保存后,此应用可读取、新建、修改和删除 {workspace} 中的文件。隐藏文件、凭据和其他工作区仍受保护。",
10854
+ "quickApps.saveWorkspaceAccess": "保存并允许访问工作区",
10855
+ "quickApps.workspaceAccessHostUpdate": "所属主机需要更新才能支持工作区访问。快捷方式已保存,但尚未启用此权限。",
10856
+ "quickApps.workspaceAccessUnavailable": "请更新所属主机以支持工作区访问。快捷方式未更改。",
10857
+ "quickApps.markdown": "Markdown",
10858
+ "quickApps.source": "源码",
10859
+ "quickApps.viewMode": "查看方式",
10860
+ "quickApps.markdownUnavailable": "当前 DSH 版本不支持原生 Markdown 预览,已显示源码。",
10861
+ "quickApps.maximize": "最大化查看器",
10862
+ "quickApps.restore": "还原查看器",
10863
+ "quickApps.loadingDocument": "正在加载…",
10864
+ "quickApps.documentEditor": "文档编辑器",
10865
+ "quickApps.editorFailed": "编辑器加载失败。",
10866
+ "quickApps.copyCode": "复制代码",
10867
+ "quickApps.copied": "已复制",
10868
+ "quickApps.code": "代码",
10869
+ "quickApps.footnotes": "脚注",
10870
+ "quickApps.unwrapText": "关闭自动换行",
10871
+ "quickApps.imagesUnavailable": "部分图片不可用或位于文档目录之外。",
10872
+ "quickApps.documentHome": "返回入口文档",
10873
+ "quickApps.documentLinkDenied": "链接位于文档目录之外或使用了不支持的路径。",
10874
+ "quickApps.documentHostUpdate": "请更新所属主机插件以启用文档操作,当前文档仍可查看。",
10875
+ "quickApps.documentConflict": "主机上的文件已更改,你的草稿仍然保留。请先复制修改内容,再重新加载最新文件。",
10876
+ "quickApps.documentAccessExpired": "文档访问已结束或不可用,草稿仍然保留。请先复制草稿,再关闭并重新打开快捷方式。",
10877
+ "quickApps.documentSaved": "已保存到工作区。",
10878
+ "quickApps.unsaved": "有未保存的修改",
10879
+ "quickApps.allowEditing": "允许编辑",
10880
+ "quickApps.allowEditingHelp": "允许修改 {path} 吗?本次授权仅适用于此文件,关闭查看器后失效。",
10881
+ "quickApps.discardTitle": "有未保存的修改",
10882
+ "quickApps.discard": "放弃修改",
10883
+ "quickApps.discardHelp": "对 {path} 的修改尚未保存。是否放弃修改并继续?",
10884
+ "quickApps.viewerTools": "查看器工具",
10885
+ "quickApps.wrapText": "自动换行",
10886
+ "quickApps.reloadView": "重新加载",
10887
+ "quickApps.entryAddress": "应用入口地址",
10888
+ "quickApps.noWorkspaces": "暂无可用的受管工作区",
10889
+ "quickApps.browse": "浏览…",
10890
+ "quickApps.chooseFile": "选择工作区文件",
10891
+ "quickApps.useFile": "使用此文件",
10892
+ "quickApps.currentFolder": "当前目录",
10893
+ "quickApps.parentFolder": "返回上级目录",
10894
+ "quickApps.refreshFiles": "刷新",
10895
+ "quickApps.loadingFiles": "正在加载文件…",
10896
+ "quickApps.emptyFolder": "此目录没有可选择的文件或文件夹。",
10897
+ "quickApps.filesTruncated": "当前仅显示部分内容,也可直接填写文件路径。",
10898
+ "quickApps.selectFileHint": "打开文件夹,再选择 HTML 应用或文本文档。",
10899
+ "quickApps.browseUnavailable": "此主机暂不支持文件浏览,仍可填写相对于工作区的文件路径。",
10900
+ "quickApps.browseHostUpdateRequired": "此主机尚不支持文件浏览。请更新或重新加载该主机的 CodingNS 插件后刷新页面,也可直接填写相对于工作区的文件路径。",
10901
+ ...quickAppBootstrapZh,
10902
+ "quickApps.manage": "编辑快捷应用",
10903
+ "quickApps.done": "完成",
10904
+ "quickApps.editShortcut": "编辑快捷方式",
10905
+ "quickApps.collapseBar": "收起快捷应用",
10906
+ "quickApps.expandBar": "展开快捷应用",
10907
+ "quickApps.removeNamed": "移除{title}",
10908
+ "quickApps.reorderHelp": "拖动调整顺序,或使用 Alt + 方向键。",
10909
+ "quickApps.reordered": "快捷应用顺序已保存。",
10910
+ "quickApps.manageHelp": "选择快捷应用,修改来源、设置权限或移除快捷方式。",
10911
+ "quickApps.openNamed": "打开{title}",
10912
+ "quickApps.editNamed": "编辑{title}",
10913
+ "quickApps.count": "{count} 个快捷应用",
10914
+ "quickApps.loading": "正在加载快捷应用…",
10915
+ "quickApps.retry": "重试",
10916
+ "quickApps.emptyTitle": "一键打开工作区里的应用与文档",
10917
+ "quickApps.advanced": "高级选项",
10918
+ "quickApps.accessAndRemoval": "访问与快捷方式管理",
10919
+ "quickApps.titleHelp": "留空则使用文件名或应用目录名。",
10920
+ "quickApps.entryHelp": "选择文件,或填写它在工作区内的路径。",
10921
+ "quickApps.entryPlaceholder": "apps/calendar/index.html",
10922
+ "quickApps.entryRequired": "请填写应用或文档的文件路径。",
10923
+ "quickApps.orderInvalid": "列表顺序请填写整数。",
10924
+ "quickApps.saved": "快捷方式已保存。",
10925
+ "quickApps.revoked": "文件访问权限已撤销,已打开的应用已关闭。",
10926
+ "quickApps.saveBeforeAccess": "请先保存修改,再管理访问权限或移除此快捷方式。",
10927
+ "quickApps.conflict": "此快捷方式已在其他位置更新。你的修改仍保留在此处,重新打开快捷方式可加载最新版本。",
10928
+ "quickApps.order": "列表顺序",
10929
+ "quickApps.mounts": "附加资源目录(可选)",
10930
+ "quickApps.mount.urlPrefix": "应用网址路径",
10931
+ "quickApps.mount.workspacePath": "工作区目录",
10932
+ "quickApps.addMount": "添加资源目录",
10933
+ "quickApps.removeMount": "移除资源目录",
10934
+ "quickApps.title": "快捷应用",
10935
+ "quickApps.description": "无需打开会话,即可访问工作区内的 HTML 应用和文本文档。",
10936
+ "quickApps.close": "关闭快捷应用",
10937
+ "quickApps.back": "返回快捷列表",
10938
+ "quickApps.application": "工作区应用",
10939
+ "quickApps.add": "添加快捷方式",
10940
+ "quickApps.open": "打开",
10941
+ "quickApps.edit": "编辑",
10942
+ "quickApps.remove": "移除快捷方式",
10943
+ "quickApps.permissions": "文件权限",
10944
+ "quickApps.revoke": "撤销访问",
10945
+ "quickApps.save": "保存",
10946
+ "quickApps.cancel": "取消",
10947
+ "quickApps.titleField": "名称",
10948
+ "quickApps.entryPath": "入口文件",
10949
+ "quickApps.documentRoot": "应用目录",
10950
+ "quickApps.workspace": "工作区",
10951
+ "quickApps.chooseWorkspace": "选择受管工作区",
10952
+ "quickApps.localHost": "当前主机",
10953
+ "quickApps.kind": "打开方式",
10954
+ "quickApps.html": "HTML 应用",
10955
+ "quickApps.text": "文本文档",
10956
+ "quickApps.networkAllow": "允许的本地地址",
10957
+ "quickApps.networkAllowHelp": "留空则拒绝回环、私网、链路本地和云元数据地址。每行填写一个本地 IP、CIDR 网段或主机名,最多 16 个。例如 127.0.0.1、localhost、192.168.1.0/24。",
10958
+ "quickApps.networkAllowPlaceholder": "127.0.0.1\nlocalhost\n192.168.1.0/24",
10959
+ "quickApps.networkAllowInvalid": "请逐行填写本地 IP、CIDR 网段或主机名。",
10960
+ "quickApps.spa": "应用内导航使用入口页面",
10961
+ "quickApps.pathHelp": "填写相对于工作区的路径。建议使用专用应用目录;目录留空表示工作区根目录。",
10962
+ "quickApps.empty": "还没有快捷方式。可在编辑模式下从受管工作区添加 HTML 应用或文本文档。",
10963
+ "quickApps.removeHelp": "移除快捷方式不会删除源文件。",
10964
+ "quickApps.permissionHelp": "为下次打开应用设置可选文件权限。填写相对于工作区的目录,以逗号分隔;留空表示禁止。主机重启、快捷方式或应用代码变更后需要重新授权。保存会关闭现有应用。",
10965
+ "quickApps.permission.read": "允许读取的目录",
10966
+ "quickApps.permission.write": "允许创建和更新的目录",
10967
+ "quickApps.permission.delete": "允许删除文件的目录",
10968
+ "quickApps.permissionsSaved": "已保存下次打开应用时使用的权限。",
10969
+ "quickApps.unavailable": "当前主机连接暂不支持 HTML 预览,请更新所属主机插件后重新打开快捷方式。",
10970
+ "quickApps.status.unsupported-runtime": "当前主机连接暂不支持 HTML 预览。",
10971
+ "quickApps.status.disconnected-host": "所属主机暂不支持快捷应用连接。",
10972
+ "quickApps.status.unsupported-connection": "此 PeerHost 中转连接无法打开快捷应用,请使用直连方式连接所属主机。",
10973
+ "quickApps.status.missing-workspace": "原工作区不可用。",
10974
+ "quickApps.status.missing-file": "入口文件或应用目录不存在或无法访问。"
10975
+ };
10976
+ //#endregion
10977
+ //#region src/client/locales/cliManagement.ts
10978
+ const en$1 = {
10979
+ "cli.team.label": "Team eligibility",
10980
+ "cli.team.leadAndMember": "Collaborator and Lead",
10981
+ "cli.team.member": "Collaborator",
10982
+ "cli.team.reason.version": "Full Team support requires a verified DSH alpha.2 or alpha.3 host.",
10983
+ "cli.team.reason.profile": "Enable the native DSH Team profile to use Teams.",
10984
+ "cli.team.reason.disabled": "Enable the CodingNS bridge and this Agent to use Teams.",
10985
+ "cli.team.reason.adapter": "This Agent does not provide the required Team tool transport.",
10986
+ "cli.team.reason.installation": "Install and enable this Agent before using Teams.",
10987
+ "cli.manage.reasonLabel.application-managed": "Check in app",
10988
+ "cli.manage.reasonLabel.unknown-version": "Version unknown",
10989
+ "cli.manage.reasonLabel.legacy-distribution": "Legacy distribution",
10990
+ "cli.manage.reasonLabel.no-release-source": "No verified feed",
10991
+ "cli.manage.reasonLabel.incomparable-version": "Different release channel",
10992
+ "cli.manage.reason.application-managed": "This Agent is managed by its application. No comparable runtime release feed is verified; use the application’s Check for Updates.",
10993
+ "cli.manage.reason.unknown-version": "The installed version could not be identified. Re-detect the Agent before comparing releases.",
10994
+ "cli.manage.reason.legacy-distribution": "This legacy distribution has no comparable current release feed. See the official migration guide.",
10995
+ "cli.manage.reason.no-release-source": "No verified release feed is available for this installation and platform. See the official guide.",
10996
+ "cli.manage.reason.incomparable-version": "The installed and published versions use different release channels and cannot be compared safely.",
10997
+ "cli.manage.availableInApp": "Version {version} is available. Complete the update in {name}.",
10998
+ "cli.manage.updateInApp": "Update in app",
10999
+ "cli.manage.open": "Manage external Agents",
11000
+ "cli.manage.listTitle": "External Agents",
11001
+ "cli.manage.details": "Details",
11002
+ "cli.manage.methodUnknown": "No supported automatic updater was identified for this installation. Re-detect to retry, or follow the official guide below.",
11003
+ "cli.manage.hostUnsupported": "This Host has not loaded update checking. Reload the Host with the current plugin, then refresh this list.",
11004
+ "cli.manage.state.unchecked": "Not checked",
11005
+ "cli.manage.state.checking": "Checking…",
11006
+ "cli.manage.state.current": "Up to date",
11007
+ "cli.manage.state.unavailable": "Check manually",
11008
+ "cli.manage.state.error": "Check failed",
11009
+ "cli.manage.failure.timeout": "Release check timed out. Refresh to retry.",
11010
+ "cli.manage.failure.network": "Could not reach the release source. Check the Host network and refresh.",
11011
+ "cli.manage.failure.http": "The release source returned HTTP {status}. Refresh to retry.",
11012
+ "cli.manage.failure.invalid-response": "The release source returned invalid metadata. Use the official guide.",
11013
+ "cli.manage.install": "Install",
11014
+ "cli.manage.update": "Update",
11015
+ "cli.manage.unchecked": "Use Refresh to check for updates",
11016
+ "cli.manage.checking": "Checking for updates…",
11017
+ "cli.manage.available": "Update available: {version}",
11018
+ "cli.manage.current": "No newer release found",
11019
+ "cli.manage.unavailable": "No comparable release found. Check the official update guide.",
11020
+ "cli.manage.error": "Update check failed. Refresh to retry.",
11021
+ "cli.manage.title": "{action} {name}",
11022
+ "cli.manage.host": "Target Host: {name} ({platform})",
11023
+ "cli.manage.loading": "Checking the Agent and official methods…",
11024
+ "cli.manage.review": "Review the command and prerequisites. It runs on this Host with your user account. Updates may require restarting Agent sessions.",
11025
+ "cli.manage.source": "Official installation and update guide",
11026
+ "cli.manage.run": "Run {action}",
11027
+ "cli.manage.running": "Running…",
11028
+ "cli.manage.result.running": "{action} in progress",
11029
+ "cli.manage.result.succeeded": "{action} completed",
11030
+ "cli.manage.result.failed": "{action} failed",
11031
+ "cli.manage.result.cancelled": "{action} cancelled",
11032
+ "cli.manage.log.running": "Live",
11033
+ "cli.manage.log.succeeded": "Completed",
11034
+ "cli.manage.log.failed": "Failed",
11035
+ "cli.manage.log.cancelled": "Cancelled",
11036
+ "cli.manage.waitingOutput": "Waiting for output…",
11037
+ "cli.manage.emptyOutput": "The command produced no output.",
11038
+ "cli.manage.latestOutput": "Jump to latest ↓",
11039
+ "cli.manage.catalog.refreshing": "Refreshing the Agent list…",
11040
+ "cli.manage.catalog.refreshed": "Agent list refreshed with the detected version.",
11041
+ "cli.manage.catalog.failed": "The update succeeded, but the Agent list could not be refreshed.",
11042
+ "cli.manage.refreshList": "Refresh list",
11043
+ "cli.manage.succeeded": "Command completed. Detected version: {version}",
11044
+ "cli.manage.failed": "The operation failed.",
11045
+ "cli.manage.cancelled": "The operation was cancelled.",
11046
+ "cli.manage.cancel": "Cancel operation",
11047
+ "cli.manage.close": "Close",
11048
+ "cli.manage.redetect": "Re-detect installation",
11049
+ "cli.manage.output": "Command output",
11050
+ "cli.manage.background": "You can close this dialog and return to this Agent to see the result.",
11051
+ "cli.manage.otherBusy": "Another Agent operation is running on this Host: {name}",
11052
+ "cli.manage.retryStatus": "Retry status",
11053
+ "cli.manage.reviewAgain": "Review another operation"
11054
+ };
11055
+ const zh$1 = {
11056
+ "cli.team.label": "团队适配能力",
11057
+ "cli.team.leadAndMember": "协作者和管理者",
11058
+ "cli.team.member": "协作者",
11059
+ "cli.team.reason.version": "完整团队功能需要经过验证的 DSH alpha.2 或 alpha.3 主机。",
11060
+ "cli.team.reason.profile": "请启用 DSH 原生团队配置后使用团队功能。",
11061
+ "cli.team.reason.disabled": "请启用 CodingNS 桥接和此 Agent 后使用团队功能。",
11062
+ "cli.team.reason.adapter": "此 Agent 尚未提供所需的团队工具通道。",
11063
+ "cli.team.reason.installation": "请先安装并启用此 Agent,再使用团队功能。",
11064
+ "cli.manage.reasonLabel.application-managed": "在应用中检查",
11065
+ "cli.manage.reasonLabel.unknown-version": "版本未知",
11066
+ "cli.manage.reasonLabel.legacy-distribution": "旧版发行包",
11067
+ "cli.manage.reasonLabel.no-release-source": "暂无可用版本源",
11068
+ "cli.manage.reasonLabel.incomparable-version": "版本通道不同",
11069
+ "cli.manage.reason.application-managed": "此 Agent 由所属应用管理,尚未验证可比较的运行时版本源,请使用应用内的“检查更新”。",
11070
+ "cli.manage.reason.unknown-version": "无法识别已安装版本,请重新检测 Agent 后再比较版本。",
11071
+ "cli.manage.reason.legacy-distribution": "此旧版发行包没有可比较的当前版本源,请查看官方迁移指南。",
11072
+ "cli.manage.reason.no-release-source": "此安装和平台尚无经过验证的版本源,请查看官方指南。",
11073
+ "cli.manage.reason.incomparable-version": "已安装版本与发布版本属于不同通道,无法可靠比较。",
11074
+ "cli.manage.availableInApp": "发现版本 {version},请在 {name} 中完成更新。",
11075
+ "cli.manage.updateInApp": "在应用中更新",
11076
+ "cli.manage.open": "管理外部 Agent",
11077
+ "cli.manage.listTitle": "外部 Agent",
11078
+ "cli.manage.details": "详情",
11079
+ "cli.manage.methodUnknown": "未能识别此安装的自动更新方式。可重新检测重试,或查看下方官方指南。",
11080
+ "cli.manage.hostUnsupported": "此主机尚未加载更新检查功能。请让主机加载当前插件后,再刷新列表。",
11081
+ "cli.manage.state.unchecked": "未检查更新",
11082
+ "cli.manage.state.checking": "检查中…",
11083
+ "cli.manage.state.current": "已是最新",
11084
+ "cli.manage.state.unavailable": "需手动检查",
11085
+ "cli.manage.state.error": "检查失败",
11086
+ "cli.manage.failure.timeout": "版本检查超时,请刷新重试。",
11087
+ "cli.manage.failure.network": "无法连接版本来源,请检查主机网络后刷新。",
11088
+ "cli.manage.failure.http": "版本来源返回 HTTP {status},请刷新重试。",
11089
+ "cli.manage.failure.invalid-response": "版本来源返回的数据无效,请查看官方指南。",
11090
+ "cli.manage.install": "安装",
11091
+ "cli.manage.update": "更新",
11092
+ "cli.manage.unchecked": "点击刷新检查更新",
11093
+ "cli.manage.checking": "正在检查更新…",
11094
+ "cli.manage.available": "有新版本:{version}",
11095
+ "cli.manage.current": "未发现更新版本",
11096
+ "cli.manage.unavailable": "未找到可比较的版本,请查看官方更新指南。",
11097
+ "cli.manage.error": "检查更新失败,请刷新重试。",
11098
+ "cli.manage.title": "{action} {name}",
11099
+ "cli.manage.host": "目标主机:{name}({platform})",
11100
+ "cli.manage.loading": "正在检查 Agent 和官方安装方式…",
11101
+ "cli.manage.review": "请核对命令和前置要求。命令将以当前用户在此主机上执行,更新后可能需要重新开启 Agent 会话。",
11102
+ "cli.manage.source": "官方安装与更新指南",
11103
+ "cli.manage.run": "执行{action}",
11104
+ "cli.manage.running": "正在执行…",
11105
+ "cli.manage.result.running": "正在{action}",
11106
+ "cli.manage.result.succeeded": "{action}成功",
11107
+ "cli.manage.result.failed": "{action}失败",
11108
+ "cli.manage.result.cancelled": "已取消{action}",
11109
+ "cli.manage.log.running": "实时输出",
11110
+ "cli.manage.log.succeeded": "已完成",
11111
+ "cli.manage.log.failed": "失败",
11112
+ "cli.manage.log.cancelled": "已取消",
11113
+ "cli.manage.waitingOutput": "等待命令输出…",
11114
+ "cli.manage.emptyOutput": "命令未产生输出。",
11115
+ "cli.manage.latestOutput": "跳至最新 ↓",
11116
+ "cli.manage.catalog.refreshing": "正在刷新 Agent 列表…",
11117
+ "cli.manage.catalog.refreshed": "Agent 列表已刷新,当前显示检测到的新版本。",
11118
+ "cli.manage.catalog.failed": "更新已成功,但 Agent 列表刷新失败。",
11119
+ "cli.manage.refreshList": "刷新列表",
11120
+ "cli.manage.succeeded": "命令已完成,检测到版本:{version}",
11121
+ "cli.manage.failed": "操作失败。",
11122
+ "cli.manage.cancelled": "操作已取消。",
11123
+ "cli.manage.cancel": "取消操作",
11124
+ "cli.manage.close": "关闭",
11125
+ "cli.manage.redetect": "重新检测安装",
11126
+ "cli.manage.output": "命令输出",
11127
+ "cli.manage.background": "可以关闭此窗口,稍后再次打开此 Agent 查看结果。",
11128
+ "cli.manage.otherBusy": "此主机上的另一个 Agent 操作正在执行:{name}",
11129
+ "cli.manage.retryStatus": "重新查询状态",
11130
+ "cli.manage.reviewAgain": "查看新的操作"
11131
+ };
11132
+ //#endregion
10470
11133
  //#region src/client/locale.ts
10471
11134
  /** Codingns4DSH 自有词典命名空间。词典缺少的语言由 DSH 自动回退到英文。 */
10472
11135
  const CODINGNS_LOCALE_NS = "codingns";
@@ -10588,7 +11251,7 @@
10588
11251
  "feature.fileManagement.label": "File management enhancements",
10589
11252
  "feature.fileManagement.description": "Add file and folder operation menus to the DSH file sidebar and edit common text files in place.",
10590
11253
  "fileManagement.menuEnhancement": "File and folder operation menu",
10591
- "fileManagement.menuEnhancementDescription": "Show the right-click operation menu for files and folders in the DSH sidebar.",
11254
+ "fileManagement.menuEnhancementDescription": "Show the right-click operation menu for files and folders in the DSH sidebar, and copy relative or absolute paths from the file viewer.",
10592
11255
  "fileManagement.fileEditor": "File viewer editor",
10593
11256
  "fileManagement.fileEditorDescription": "Show the icon button for editing supported text files with syntax highlighting and line numbers.",
10594
11257
  "fileManagement.sessionChangedFiles": "Show current session changed files",
@@ -10835,6 +11498,9 @@
10835
11498
  "cli.loadingModel": "Loading models…",
10836
11499
  "cli.noModelsAvailable": "No models available",
10837
11500
  "cli.model": "Model",
11501
+ "cli.modelSearch": "Search models…",
11502
+ "cli.modelSearchClear": "Clear search",
11503
+ "cli.modelSearchEmpty": "No matching models.",
10838
11504
  "cli.thinking": "Thinking level",
10839
11505
  "cli.back": "‹ Back",
10840
11506
  "cli.chooseModel": "Choose model, current {model}, thinking level {effort}",
@@ -10866,6 +11532,8 @@
10866
11532
  "cli.currentAgent": "Current Agent: {name}{locked}",
10867
11533
  "cli.locked": " (locked)",
10868
11534
  "cli.selectAgent": "Select Agent",
11535
+ "cli.catalogLoadFailed": "Could not load external Agents.",
11536
+ "cli.retryCatalog": "Retry loading Agents",
10869
11537
  "workspace.showLogo": "Show Agent logo",
10870
11538
  "workspace.logoDescription": "Display the selected external Agent logo in native workspace session rows.",
10871
11539
  "workspace.optimizeSessionTitles": "Optimize DSH session title generation",
@@ -10892,6 +11560,8 @@
10892
11560
  "workspace.rememberConversationRightbarRatio": "Remember conversation and right sidebar width ratio",
10893
11561
  "workspace.rememberConversationRightbarRatioDescription": "Restore the right sidebar proportion after refreshing this browser; the ratio is stored locally.",
10894
11562
  "mobile.sidebarGestures": "Swipe to open or close sidebars",
11563
+ "mobile.team.title": "Agent Team",
11564
+ "mobile.team.close": "Close Agent Team",
10895
11565
  "mobile.sidebarGesturesDescription": "On touch devices, swipe horizontally in the conversation area to toggle a sidebar. Cross the configured share of the viewport width, or give a quick flick to trigger it.",
10896
11566
  "mobile.sidebarGestureMapping": "Swipe direction",
10897
11567
  "mobile.sidebarGestureMappingInward": "Swipe right: session list; swipe left: right sidebar",
@@ -11037,7 +11707,7 @@
11037
11707
  "feature.fileManagement.label": "文件管理增强",
11038
11708
  "feature.fileManagement.description": "增强文件侧栏操作",
11039
11709
  "fileManagement.menuEnhancement": "文件管理菜单增强",
11040
- "fileManagement.menuEnhancementDescription": "在 DSH 文件侧栏为文件和目录显示右键操作菜单。",
11710
+ "fileManagement.menuEnhancementDescription": "在 DSH 文件侧栏为文件和目录显示右键操作菜单,并在文件查看器中复制相对路径或绝对路径。",
11041
11711
  "fileManagement.fileEditor": "文件查看器编辑功能",
11042
11712
  "fileManagement.fileEditorDescription": "为支持的文本文件显示编辑图标按钮,并保留语法高亮和行号。",
11043
11713
  "fileManagement.sessionChangedFiles": "显示当前会话修改的文件",
@@ -11284,6 +11954,9 @@
11284
11954
  "cli.loadingModel": "加载模型…",
11285
11955
  "cli.noModelsAvailable": "无可用模型",
11286
11956
  "cli.model": "模型",
11957
+ "cli.modelSearch": "搜索模型…",
11958
+ "cli.modelSearchClear": "清除搜索",
11959
+ "cli.modelSearchEmpty": "没有匹配的模型。",
11287
11960
  "cli.thinking": "思考等级",
11288
11961
  "cli.back": "‹ 返回",
11289
11962
  "cli.chooseModel": "选择模型,当前 {model},思考等级 {effort}",
@@ -11315,6 +11988,8 @@
11315
11988
  "cli.currentAgent": "当前 Agent:{name}{locked}",
11316
11989
  "cli.locked": "(已锁定)",
11317
11990
  "cli.selectAgent": "选择 Agent",
11991
+ "cli.catalogLoadFailed": "无法加载外部 Agent。",
11992
+ "cli.retryCatalog": "重新加载 Agent",
11318
11993
  "workspace.showLogo": "显示 Agent Logo",
11319
11994
  "workspace.logoDescription": "在原生工作区会话行显示所选外部 Agent 的 Logo。",
11320
11995
  "workspace.optimizeSessionTitles": "优化DSH会话标题生成逻辑",
@@ -11341,6 +12016,8 @@
11341
12016
  "workspace.rememberConversationRightbarRatio": "记忆对话窗口与右侧栏的宽度比例",
11342
12017
  "workspace.rememberConversationRightbarRatioDescription": "刷新后恢复右侧栏比例;比例仅保存在当前浏览器中。",
11343
12018
  "mobile.sidebarGestures": "横滑开合侧栏",
12019
+ "mobile.team.title": "智能体团队",
12020
+ "mobile.team.close": "关闭智能体团队",
11344
12021
  "mobile.sidebarGesturesDescription": "触摸设备上在对话区横滑即可开合侧栏;跨过设定的视口宽度比例即触发,快速轻甩同样有效。",
11345
12022
  "mobile.sidebarGestureMapping": "方向映射",
11346
12023
  "mobile.sidebarGestureMappingInward": "右滑开合会话列表,左滑开合右边栏",
@@ -11370,36 +12047,40 @@
11370
12047
  };
11371
12048
  ({
11372
12049
  ...CORE_EN,
12050
+ ...en$14,
12051
+ ...en$15,
11373
12052
  ...en$12,
11374
- ...en$13,
12053
+ ...en$16,
11375
12054
  ...en$10,
11376
- ...en$14,
11377
- ...en$8,
12055
+ ...en$9,
11378
12056
  ...en$7,
12057
+ ...en$6,
11379
12058
  ...en$5,
11380
12059
  ...en$4,
12060
+ ...en$13,
12061
+ ...en$8,
12062
+ ...en$11,
11381
12063
  ...en$3,
11382
12064
  ...en$2,
11383
- ...en$11,
11384
- ...en$6,
11385
- ...en$9,
11386
12065
  ...en$1
11387
12066
  });
11388
12067
  const zh = {
11389
12068
  ...CORE_ZH,
12069
+ ...zh$14,
12070
+ ...zh$15,
11390
12071
  ...zh$12,
11391
- ...zh$13,
12072
+ ...zh$16,
11392
12073
  ...zh$10,
11393
- ...zh$14,
11394
- ...zh$8,
12074
+ ...zh$9,
11395
12075
  ...zh$7,
12076
+ ...zh$6,
11396
12077
  ...zh$5,
11397
12078
  ...zh$4,
12079
+ ...zh$13,
12080
+ ...zh$8,
12081
+ ...zh$11,
11398
12082
  ...zh$3,
11399
12083
  ...zh$2,
11400
- ...zh$11,
11401
- ...zh$6,
11402
- ...zh$9,
11403
12084
  ...zh$1
11404
12085
  };
11405
12086
  /** 非 React 注册回调使用的翻译函数。 */
@@ -11556,84 +12237,77 @@
11556
12237
  return n;
11557
12238
  }
11558
12239
  //#endregion
11559
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css
12240
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css
11560
12241
  var TextShimmer_module_default = {
11561
- "content": "bpvwYa_content",
11562
- "decoration": "bpvwYa_decoration",
11563
- "dsh-row-shimmer-highlight": "bpvwYa_dsh-row-shimmer-highlight",
11564
- "dsh-row-shimmer-sweep": "bpvwYa_dsh-row-shimmer-sweep",
11565
- "highlight": "bpvwYa_highlight",
11566
- "root": "bpvwYa_root",
11567
- "sweep": "bpvwYa_sweep",
11568
- "text": "bpvwYa_text"
12242
+ "content": "xT720a_content",
12243
+ "decoration": "xT720a_decoration",
12244
+ "dsh-row-shimmer-highlight": "xT720a_dsh-row-shimmer-highlight",
12245
+ "dsh-row-shimmer-sweep": "xT720a_dsh-row-shimmer-sweep",
12246
+ "highlight": "xT720a_highlight",
12247
+ "root": "xT720a_root",
12248
+ "sweep": "xT720a_sweep",
12249
+ "text": "xT720a_text"
11569
12250
  };
11570
12251
  //#endregion
11571
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css
12252
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css
11572
12253
  var DisclosureRow_module_default = {
11573
- "chevronHover": "X4MG3q_chevronHover",
11574
- "header": "X4MG3q_header",
11575
- "iconIdle": "X4MG3q_iconIdle",
11576
- "leading": "X4MG3q_leading",
11577
- "root": "X4MG3q_root",
11578
- "row": "X4MG3q_row",
11579
- "title": "X4MG3q_title"
12254
+ "chevronHover": "xmgODW_chevronHover",
12255
+ "header": "xmgODW_header",
12256
+ "iconIdle": "xmgODW_iconIdle",
12257
+ "leading": "xmgODW_leading",
12258
+ "root": "xmgODW_root",
12259
+ "row": "xmgODW_row",
12260
+ "title": "xmgODW_title"
11580
12261
  };
11581
12262
  //#endregion
11582
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css
12263
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css
11583
12264
  var Button_module_default = {
11584
- "button": "OhWqWa_button",
11585
- "ghost": "OhWqWa_ghost",
11586
- "icon": "OhWqWa_icon",
11587
- "md": "OhWqWa_md",
11588
- "outline": "OhWqWa_outline",
11589
- "primary": "OhWqWa_primary",
11590
- "sm": "OhWqWa_sm",
11591
- "toolbar": "OhWqWa_toolbar"
12265
+ "button": "_8zgEAq_button",
12266
+ "ghost": "_8zgEAq_ghost",
12267
+ "icon": "_8zgEAq_icon",
12268
+ "md": "_8zgEAq_md",
12269
+ "outline": "_8zgEAq_outline",
12270
+ "primary": "_8zgEAq_primary",
12271
+ "sm": "_8zgEAq_sm",
12272
+ "toolbar": "_8zgEAq_toolbar"
11592
12273
  };
11593
12274
  //#endregion
11594
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css
12275
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css
11595
12276
  var Input_module_default = {
11596
- "icon": "dUks_a_icon",
11597
- "input": "dUks_a_input",
11598
- "wrap": "dUks_a_wrap"
12277
+ "icon": "_6cRCnW_icon",
12278
+ "input": "_6cRCnW_input",
12279
+ "wrap": "_6cRCnW_wrap"
11599
12280
  };
11600
12281
  //#endregion
11601
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css
12282
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css
11602
12283
  var import_react_dom = require_react_dom();
11603
12284
  var ShortcutKeys_module_default = {
11604
- "joined": "jNAsuq_joined",
11605
- "key": "jNAsuq_key",
11606
- "keys": "jNAsuq_keys",
11607
- "separator": "jNAsuq_separator",
11608
- "tooltip": "jNAsuq_tooltip"
12285
+ "joined": "qBkf6a_joined",
12286
+ "key": "qBkf6a_key",
12287
+ "keys": "qBkf6a_keys",
12288
+ "separator": "qBkf6a_separator",
12289
+ "tooltip": "qBkf6a_tooltip"
11609
12290
  };
11610
12291
  //#endregion
11611
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css
12292
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css
11612
12293
  var MenuSurface_module_default = {
11613
- "backing": "WqPUZG_backing",
11614
- "compact": "WqPUZG_compact",
11615
- "material": "WqPUZG_material",
11616
- "surface": "WqPUZG_surface"
11617
- };
11618
- //#endregion
11619
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css
11620
- var Tooltip_module_default = {
11621
- "bubble": "hMkNvq_bubble",
11622
- "label": "hMkNvq_label",
11623
- "tooltip-in": "hMkNvq_tooltip-in"
12294
+ "backing": "aFxMnq_backing",
12295
+ "compact": "aFxMnq_compact",
12296
+ "material": "aFxMnq_material",
12297
+ "surface": "aFxMnq_surface"
11624
12298
  };
11625
12299
  //#endregion
11626
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css
12300
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css
11627
12301
  var HoverCard_module_default = {
11628
- "card": "oNH0AW_card",
11629
- "copied": "oNH0AW_copied",
11630
- "copyable": "oNH0AW_copyable",
11631
- "feedback": "oNH0AW_feedback",
11632
- "inline": "oNH0AW_inline",
11633
- "media": "oNH0AW_media",
11634
- "preview": "oNH0AW_preview",
11635
- "root": "oNH0AW_root",
11636
- "status": "oNH0AW_status"
12302
+ "card": "qC0LEq_card",
12303
+ "copied": "qC0LEq_copied",
12304
+ "copyable": "qC0LEq_copyable",
12305
+ "feedback": "qC0LEq_feedback",
12306
+ "inline": "qC0LEq_inline",
12307
+ "media": "qC0LEq_media",
12308
+ "preview": "qC0LEq_preview",
12309
+ "root": "qC0LEq_root",
12310
+ "status": "qC0LEq_status"
11637
12311
  };
11638
12312
  //#endregion
11639
12313
  //#region node_modules/.pnpm/simple-icons@16.31.0/node_modules/simple-icons/index.mjs
@@ -11997,19 +12671,26 @@
11997
12671
  hex: "0084FF"
11998
12672
  };
11999
12673
  //#endregion
12000
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css
12674
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css
12001
12675
  var MarkdownText_module_default = {
12002
- "compact": "_9jVLZa_compact",
12003
- "fileLink": "_9jVLZa_fileLink",
12004
- "fileMention": "_9jVLZa_fileMention",
12005
- "image": "_9jVLZa_image",
12006
- "imageAlt": "_9jVLZa_imageAlt",
12007
- "imageButton": "_9jVLZa_imageButton",
12008
- "linkIcon": "_9jVLZa_linkIcon",
12009
- "markdown": "_9jVLZa_markdown",
12010
- "previewName": "_9jVLZa_previewName",
12011
- "tableFill": "_9jVLZa_tableFill",
12012
- "tableScroll": "_9jVLZa_tableScroll"
12676
+ "compact": "RLS9OW_compact",
12677
+ "fileLink": "RLS9OW_fileLink",
12678
+ "fileMention": "RLS9OW_fileMention",
12679
+ "image": "RLS9OW_image",
12680
+ "imageAlt": "RLS9OW_imageAlt",
12681
+ "imageButton": "RLS9OW_imageButton",
12682
+ "linkIcon": "RLS9OW_linkIcon",
12683
+ "markdown": "RLS9OW_markdown",
12684
+ "previewName": "RLS9OW_previewName",
12685
+ "tableFill": "RLS9OW_tableFill",
12686
+ "tableScroll": "RLS9OW_tableScroll"
12687
+ };
12688
+ //#endregion
12689
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css
12690
+ var Tooltip_module_default = {
12691
+ "bubble": "qoNxEW_bubble",
12692
+ "label": "qoNxEW_label",
12693
+ "tooltip-in": "qoNxEW_tooltip-in"
12013
12694
  };
12014
12695
  //#endregion
12015
12696
  //#region node_modules/.pnpm/@shikijs+types@4.5.0/node_modules/@shikijs/types/dist/index.mjs
@@ -22568,7 +23249,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
22568
23249
  json_default = [lang$72];
22569
23250
  }));
22570
23251
  //#endregion
22571
- //#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-util-code-language/lib/index.js
23252
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-util-code-language/lib/index.js
22572
23253
  init_typescript();
22573
23254
  init_shellscript();
22574
23255
  init_json();
@@ -23209,15 +23890,15 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
23209
23890
  };
23210
23891
  })))();
23211
23892
  var CodeCard_module_default = {
23212
- "action": "dokyLW_action",
23213
- "actions": "dokyLW_actions",
23214
- "body": "dokyLW_body",
23215
- "card": "dokyLW_card",
23216
- "header": "dokyLW_header",
23217
- "heading": "dokyLW_heading",
23218
- "language": "dokyLW_language",
23219
- "status": "dokyLW_status",
23220
- "title": "dokyLW_title"
23893
+ "action": "fsQ4jG_action",
23894
+ "actions": "fsQ4jG_actions",
23895
+ "body": "fsQ4jG_body",
23896
+ "card": "fsQ4jG_card",
23897
+ "header": "fsQ4jG_header",
23898
+ "heading": "fsQ4jG_heading",
23899
+ "language": "fsQ4jG_language",
23900
+ "status": "fsQ4jG_status",
23901
+ "title": "fsQ4jG_title"
23221
23902
  };
23222
23903
  //#endregion
23223
23904
  //#region node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/diff/base.js
@@ -23734,17 +24415,17 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
23734
24415
  };
23735
24416
  new ArrayDiff();
23736
24417
  //#endregion
23737
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css
24418
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css
23738
24419
  var DiffBlock_module_default = {
23739
- "add": "MGM43W_add",
23740
- "block": "MGM43W_block",
23741
- "body": "MGM43W_body",
23742
- "context": "MGM43W_context",
23743
- "del": "MGM43W_del",
23744
- "expand": "MGM43W_expand",
23745
- "gap": "MGM43W_gap",
23746
- "line": "MGM43W_line",
23747
- "path": "MGM43W_path"
24420
+ "add": "CrA-0W_add",
24421
+ "block": "CrA-0W_block",
24422
+ "body": "CrA-0W_body",
24423
+ "context": "CrA-0W_context",
24424
+ "del": "CrA-0W_del",
24425
+ "expand": "CrA-0W_expand",
24426
+ "gap": "CrA-0W_gap",
24427
+ "line": "CrA-0W_line",
24428
+ "path": "CrA-0W_path"
23748
24429
  };
23749
24430
  //#endregion
23750
24431
  //#region node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
@@ -63470,35 +64151,35 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
63470
64151
  chunkString: "chunkString"
63471
64152
  };
63472
64153
  //#endregion
63473
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css
64154
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css
63474
64155
  var CodeBlock_module_default = {
63475
- "action": "v8s9Ea_action",
63476
- "banner": "v8s9Ea_banner",
63477
- "bannerWrap": "v8s9Ea_bannerWrap",
63478
- "block": "v8s9Ea_block",
63479
- "card": "v8s9Ea_card",
63480
- "content": "v8s9Ea_content",
63481
- "copyButton": "v8s9Ea_copyButton",
63482
- "infostring": "v8s9Ea_infostring",
63483
- "numbered": "v8s9Ea_numbered",
63484
- "plain": "v8s9Ea_plain",
63485
- "shiki": "v8s9Ea_shiki"
64156
+ "action": "_7w5hmG_action",
64157
+ "banner": "_7w5hmG_banner",
64158
+ "bannerWrap": "_7w5hmG_bannerWrap",
64159
+ "block": "_7w5hmG_block",
64160
+ "card": "_7w5hmG_card",
64161
+ "content": "_7w5hmG_content",
64162
+ "copyButton": "_7w5hmG_copyButton",
64163
+ "infostring": "_7w5hmG_infostring",
64164
+ "numbered": "_7w5hmG_numbered",
64165
+ "plain": "_7w5hmG_plain",
64166
+ "shiki": "_7w5hmG_shiki"
63486
64167
  };
63487
64168
  //#endregion
63488
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css
64169
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css
63489
64170
  var ImageLightbox_module_default = {
63490
- "backdrop": "_9Z-wXG_backdrop",
63491
- "close": "_9Z-wXG_close",
63492
- "image": "_9Z-wXG_image",
63493
- "mask": "_9Z-wXG_mask",
63494
- "stage": "_9Z-wXG_stage"
64171
+ "backdrop": "oyD5na_backdrop",
64172
+ "close": "oyD5na_close",
64173
+ "image": "oyD5na_image",
64174
+ "mask": "oyD5na_mask",
64175
+ "stage": "oyD5na_stage"
63495
64176
  };
63496
64177
  //#endregion
63497
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css
64178
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css
63498
64179
  var ImagePreview_module_default = {
63499
- "frame": "o4symG_frame",
63500
- "image": "o4symG_image",
63501
- "status": "o4symG_status"
64180
+ "frame": "RGf95q_frame",
64181
+ "image": "RGf95q_image",
64182
+ "status": "RGf95q_status"
63502
64183
  };
63503
64184
  //#endregion
63504
64185
  //#region node_modules/.pnpm/@shikijs+langs@4.5.0/node_modules/@shikijs/langs/dist/python.mjs
@@ -64231,7 +64912,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
64231
64912
  groovy_default = [lang];
64232
64913
  }));
64233
64914
  //#endregion
64234
- //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
64915
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
64235
64916
  init_typescript();
64236
64917
  init_shellscript();
64237
64918
  init_json();
@@ -64810,317 +65491,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
64810
65491
  el.remove();
64811
65492
  }
64812
65493
  }
64813
- /**
64814
- * Document-wide input tracking shared by tooltips and focus-ring styles.
64815
- * Tooltips follow the last input; rings follow navigation or a key followed by
64816
- * focus on a different control. Modifiers and refocusing alone keep rings silent.
64817
- * Module-level listeners live for the document lifetime; Node imports are inert.
64818
- */
64819
- /** Modality values published on the document element. */
64820
- const INPUT_MODALITY = {
64821
- pointer: "pointer",
64822
- keyboard: "keyboard"
64823
- };
64824
- /** Attribute carrying whether focus navigation last owned focus. */
64825
- const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
64826
- const FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
64827
- "Tab",
64828
- "Home",
64829
- "End",
64830
- "PageUp",
64831
- "PageDown"
64832
- ]);
64833
- let pointer = false;
64834
- let pointerOwnsFocus = false;
64835
- let keyFocusOrigin;
64836
- function publish() {
64837
- document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
64838
- }
64839
- /**
64840
- * Whether the last input came from a pointer, independently of ring visibility.
64841
- * @returns True after pointer input; false after any key.
64842
- */
64843
- function pointerModality() {
64844
- return pointer;
64845
- }
64846
- if (typeof window !== "undefined") {
64847
- window.addEventListener("pointerdown", () => {
64848
- pointer = true;
64849
- pointerOwnsFocus = true;
64850
- keyFocusOrigin = void 0;
64851
- publish();
64852
- }, true);
64853
- window.addEventListener("keydown", (event) => {
64854
- pointer = false;
64855
- if (event.isComposing) {
64856
- keyFocusOrigin = void 0;
64857
- return;
64858
- }
64859
- keyFocusOrigin = event.composedPath()[0];
64860
- if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
64861
- pointerOwnsFocus = false;
64862
- publish();
64863
- }, true);
64864
- window.addEventListener("focusin", (event) => {
64865
- if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
64866
- keyFocusOrigin = void 0;
64867
- if (!pointerOwnsFocus) return;
64868
- pointerOwnsFocus = false;
64869
- publish();
64870
- }, true);
64871
- window.addEventListener("blur", () => {
64872
- keyFocusOrigin = void 0;
64873
- });
64874
- }
64875
- /** Anchor-preserving tooltips; an optional body portal escapes clipping containers and stacking contexts that cap the bubble's z-index. */
64876
- /**
64877
- * Suppression channel for enclosing tooltip and hover-card anchors: a visible
64878
- * tooltip within an anchor withdraws the enclosing preview while its bubble is shown.
64879
- */
64880
- const TooltipSuppression = (0, import_react.createContext)(null);
64881
- /**
64882
- * Attach a hover/focus tooltip to an anchor element.
64883
- * @param props.label - bubble text, or a resolver evaluated only while visible; an empty string shows only shortcut keys.
64884
- * @param props.shortcutKeys - effective key labels rendered as platform-formatted keycaps after optional text.
64885
- * @param props.side - placement relative to the anchor (default 'right').
64886
- * @param props.align - horizontal anchor-edge alignment for 'bottom'/'top' bubbles: 'end' pins
64887
- * the bubble's right edge to the anchor's (for anchors beside other hover surfaces the centered
64888
- * bubble would overlap); default 'center'. Ignored for side 'right'.
64889
- * @param props.portal - render the bubble under document.body, so an ancestor's clipping or its
64890
- * stacking context (which confines the bubble's z-index to that context) cannot hide it.
64891
- * @param props.delayMs - hover delay in milliseconds (default 0).
64892
- * @param props.focusDelayMs - keyboard focus delay in milliseconds (default 0); blur, click,
64893
- * mouse leave, disabling, and unmount cancel a pending show.
64894
- * @param props.gap - anchor-to-bubble distance in pixels for 'bottom'/'top' bubbles (default 8);
64895
- * ignored for side 'right'.
64896
- * @param props.disabled - suppress the bubble while true; the anchor renders identically so
64897
- * toggling never remounts it (which would cut its CSS transitions).
64898
- * @param props.maxWidth - bubble width cap in pixels, for labels long enough that the default
64899
- * half-viewport cap would render a slab wider than the surface the anchor sits on.
64900
- * @param props.openOnClick - clicking also pins the bubble for reading; another click, Escape,
64901
- * Tab, or an outside pointerdown dismisses it. Defaults to false for ordinary action tooltips.
64902
- * @param props.children - a single anchor element; its own ref (callback or object) is forwarded alongside the tooltip's.
64903
- * @returns the cloned anchor plus a fixed-position bubble, optionally portaled to the body.
64904
- * The bubble stays hidden until ResizeObserver supplies its size for viewport fitting; clicking the
64905
- * anchor dismisses the bubble unless openOnClick is enabled, and focus arriving after a pointer
64906
- * interaction (a closing menu refocusing its trigger) never raises it.
64907
- */
64908
- function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
64909
- const id = (0, import_react.useId)();
64910
- const [pinned, setPinned] = (0, import_react.useState)(false);
64911
- const anchor = (0, import_react.useRef)(null);
64912
- const childRef = children.ref;
64913
- const mergedRef = (0, import_react.useCallback)((el) => {
64914
- anchor.current = el;
64915
- if (typeof childRef === "function") childRef(el);
64916
- else if (childRef != null) childRef.current = el;
64917
- }, [childRef]);
64918
- const [pos, setPos] = (0, import_react.useState)(null);
64919
- const bubble = (0, import_react.useRef)(null);
64920
- const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
64921
- const y = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
64922
- const showTimer = (0, import_react.useRef)(null);
64923
- const triggers = (0, import_react.useRef)({
64924
- hover: false,
64925
- focus: false
64926
- });
64927
- const suppressAncestors = (0, import_react.useContext)(TooltipSuppression);
64928
- const [suppressed, setSuppressed] = (0, import_react.useState)(false);
64929
- const announce = (0, import_react.useCallback)((active) => {
64930
- suppressAncestors?.(active);
64931
- }, [suppressAncestors]);
64932
- const visible = pos !== null && !disabled;
64933
- (0, import_react.useEffect)(() => {
64934
- const el = bubble.current;
64935
- if (pos === null || !visible || suppressed || el === null) return;
64936
- const edgeMargin = 12;
64937
- let size;
64938
- let placement = side;
64939
- const fit = () => {
64940
- if (size === void 0) return;
64941
- const { inlineSize: width, blockSize: height } = size;
64942
- const offset = side === "right" ? 0 : align === "end" ? width : width / 2;
64943
- const left = Math.max(edgeMargin, Math.min(pos.x - offset, window.innerWidth - edgeMargin - width));
64944
- const fitsBelow = pos.bottom + gap + height <= window.innerHeight - edgeMargin;
64945
- const fitsAbove = pos.top - gap - height >= edgeMargin;
64946
- if (placement === "bottom" && !fitsBelow && fitsAbove) placement = "top";
64947
- else if (placement === "top" && !fitsAbove && fitsBelow) placement = "bottom";
64948
- el.style.left = `${left + offset}px`;
64949
- el.style.top = `${placement === "right" ? (pos.top + pos.bottom) / 2 : placement === "top" ? pos.top - gap : pos.bottom + gap}px`;
64950
- el.dataset.side = placement;
64951
- el.style.visibility = "visible";
64952
- };
64953
- const observer = new ResizeObserver((entries) => {
64954
- size = entries[0]?.borderBoxSize[0];
64955
- fit();
64956
- });
64957
- observer.observe(el, { box: "border-box" });
64958
- window.addEventListener("resize", fit);
64959
- return () => {
64960
- observer.disconnect();
64961
- window.removeEventListener("resize", fit);
64962
- };
64963
- }, [
64964
- align,
64965
- gap,
64966
- pos,
64967
- side,
64968
- suppressed,
64969
- visible
64970
- ]);
64971
- (0, import_react.useEffect)(() => {
64972
- announce(visible);
64973
- return () => {
64974
- announce(false);
64975
- };
64976
- }, [announce, visible]);
64977
- const cancelShow = (0, import_react.useCallback)(() => {
64978
- if (showTimer.current === null) return;
64979
- clearTimeout(showTimer.current);
64980
- showTimer.current = null;
64981
- }, []);
64982
- (0, import_react.useEffect)(() => {
64983
- if (pinned && (disabled || !openOnClick)) setPinned(false);
64984
- if (disabled) {
64985
- cancelShow();
64986
- triggers.current = {
64987
- hover: false,
64988
- focus: false
64989
- };
64990
- setPos(null);
64991
- }
64992
- return cancelShow;
64993
- }, [
64994
- cancelShow,
64995
- disabled,
64996
- openOnClick,
64997
- pinned
64998
- ]);
64999
- const show = () => {
65000
- if (disabled) return;
65001
- const el = anchor.current;
65002
- /* v8 ignore next -- the ref is attached by event time: events fire on the cloned anchor. */
65003
- if (el === null) return;
65004
- const r = el.getBoundingClientRect();
65005
- setPos({
65006
- x: side === "right" ? r.right + 10 : align === "end" ? r.right : r.left + r.width / 2,
65007
- top: r.top,
65008
- bottom: r.bottom
65009
- });
65010
- announce(true);
65011
- };
65012
- const showAfterDelay = (delay) => {
65013
- cancelShow();
65014
- if (delay <= 0) {
65015
- show();
65016
- return;
65017
- }
65018
- showTimer.current = setTimeout(() => {
65019
- showTimer.current = null;
65020
- show();
65021
- }, delay);
65022
- };
65023
- const withdraw = (0, import_react.useCallback)(() => {
65024
- setPinned(false);
65025
- setPos(null);
65026
- announce(false);
65027
- }, [announce]);
65028
- const hide = () => {
65029
- cancelShow();
65030
- if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
65031
- };
65032
- const dismiss = (0, import_react.useCallback)(() => {
65033
- cancelShow();
65034
- triggers.current = {
65035
- hover: false,
65036
- focus: false
65037
- };
65038
- withdraw();
65039
- }, [cancelShow, withdraw]);
65040
- useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
65041
- (0, import_react.useEffect)(() => {
65042
- if (!openOnClick || !visible) return;
65043
- const onKeyDown = (event) => {
65044
- if (event.key !== "Escape" && event.key !== "Tab") return;
65045
- if (event.key === "Escape") {
65046
- event.preventDefault();
65047
- event.stopPropagation();
65048
- }
65049
- dismiss();
65050
- };
65051
- document.addEventListener("keydown", onKeyDown, true);
65052
- return () => {
65053
- document.removeEventListener("keydown", onKeyDown, true);
65054
- };
65055
- }, [
65056
- dismiss,
65057
- openOnClick,
65058
- visible
65059
- ]);
65060
- const content = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
65061
- ref: bubble,
65062
- id: openOnClick ? id : void 0,
65063
- className: Tooltip_module_default.bubble,
65064
- "data-side": side,
65065
- "data-portal": portal || void 0,
65066
- "data-pinned": pinned || void 0,
65067
- "data-align": align,
65068
- "data-has-shortcut": shortcutKeys?.length ? true : void 0,
65069
- style: {
65070
- left: pos.x,
65071
- top: y,
65072
- visibility: "hidden",
65073
- ...maxWidth === void 0 ? {} : { maxWidth }
65074
- },
65075
- role: "tooltip",
65076
- "aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
65077
- children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
65078
- className: Tooltip_module_default.label,
65079
- children: resolvedLabel
65080
- }), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
65081
- keys: shortcutKeys,
65082
- variant: "tooltip"
65083
- })]
65084
- });
65085
- return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
65086
- value: setSuppressed,
65087
- children: [(0, import_react.cloneElement)(children, {
65088
- ref: mergedRef,
65089
- "aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
65090
- onMouseEnter: (e) => {
65091
- children.props.onMouseEnter?.(e);
65092
- triggers.current.hover = true;
65093
- showAfterDelay(delayMs);
65094
- },
65095
- onMouseLeave: (e) => {
65096
- children.props.onMouseLeave?.(e);
65097
- triggers.current.hover = false;
65098
- cancelShow();
65099
- if (!pinned) withdraw();
65100
- },
65101
- onClick: (e) => {
65102
- children.props.onClick?.(e);
65103
- triggers.current.focus = false;
65104
- cancelShow();
65105
- if (openOnClick && !disabled && !pinned) {
65106
- setPinned(true);
65107
- show();
65108
- } else withdraw();
65109
- },
65110
- onFocus: (e) => {
65111
- children.props.onFocus?.(e);
65112
- if (pointerModality()) return;
65113
- triggers.current.focus = true;
65114
- showAfterDelay(focusDelayMs);
65115
- },
65116
- onBlur: (e) => {
65117
- children.props.onBlur?.(e);
65118
- triggers.current.focus = false;
65119
- hide();
65120
- }
65121
- }), portal ? content !== false && (0, import_react_dom.createPortal)(content, document.body) : content]
65122
- });
65123
- }
65494
+ /** Private coordination shared only by opted-in HoverCards inside one mounted group. */
65495
+ const HoverCardGroupContext = (0, import_react.createContext)(null);
65124
65496
  /** Preview opacity transition and retained lifetime during dismissal. */
65125
65497
  const PREVIEW_FADE_MS = 100;
65126
65498
  const PREVIEW_MAX_HEIGHT = 420;
@@ -65129,7 +65501,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65129
65501
  const ANCHOR_GAP = 8;
65130
65502
  const VIEWPORT_MARGIN = 8;
65131
65503
  /**
65132
- * Render an anchor with a hover-triggered preview card, hidden while a tooltip within the anchor is visible.
65504
+ * Render an anchor with a hover-triggered preview card independently of nested tooltips.
65133
65505
  * @param props.anchor - the hover target (rendered in place inside a wrapper span).
65134
65506
  * @param props.content - card content; the pointer may rest on it, so it is
65135
65507
  * readable and selectable, but it carries no dismissal affordance of its own.
@@ -65139,13 +65511,15 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65139
65511
  * @param props.widthAnchorRef - optional element whose width and horizontal position size the preview.
65140
65512
  * @param props.inline - keep the anchor in prose; show a contained preview on hover or keyboard focus.
65141
65513
  * @param props.disabled - suppress opening; turning true dismisses an open card.
65514
+ * @param props.grouped - share first-display dwell across the surrounding list and active portal.
65515
+ * Group replacement removes the previous card immediately, including a fading preview.
65142
65516
  * @param props.copyText - optional primary value copied by activation and
65143
65517
  * included in the card's accessible name.
65144
65518
  * @param props.copyLabel - localized accessible activation-label prefix.
65145
65519
  * @param props.copiedLabel - localized visible success label.
65146
65520
  * @returns anchor wrapper with the conditional portaled card.
65147
65521
  */
65148
- function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
65522
+ function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, grouped = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
65149
65523
  const rootRef = (0, import_react.useRef)(null);
65150
65524
  const cardRef = (0, import_react.useRef)(null);
65151
65525
  const timerRef = (0, import_react.useRef)(null);
@@ -65160,7 +65534,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65160
65534
  const [pos, setPos] = (0, import_react.useState)(null);
65161
65535
  const positioned = pos !== null;
65162
65536
  const [copied, setCopied] = (0, import_react.useState)(false);
65163
- const [suppressed, setSuppressed] = (0, import_react.useState)(false);
65537
+ const parentGroup = (0, import_react.useContext)(HoverCardGroupContext);
65538
+ const group = grouped ? parentGroup : null;
65539
+ const [groupOwner] = (0, import_react.useState)(() => Symbol("hover-card"));
65164
65540
  const clearCopied = (0, import_react.useCallback)(() => {
65165
65541
  if (copyTimerRef.current !== null) {
65166
65542
  clearTimeout(copyTimerRef.current);
@@ -65175,12 +65551,36 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65175
65551
  setPhase((current) => variant === "preview" && current !== "closed" ? "closing" : "closed");
65176
65552
  }, [clearCopied, variant]);
65177
65553
  const { arm: armClose, cancel: cancelClose } = usePointerGrace(close);
65178
- const clearTimer = () => {
65554
+ const clearTimer = (0, import_react.useCallback)(() => {
65179
65555
  if (timerRef.current !== null) {
65180
65556
  clearTimeout(timerRef.current);
65181
65557
  timerRef.current = null;
65182
65558
  }
65183
- };
65559
+ }, []);
65560
+ const dismissImmediately = (0, import_react.useCallback)(() => {
65561
+ clearTimer();
65562
+ cancelClose();
65563
+ copyEpochRef.current += 1;
65564
+ clearCopied();
65565
+ setPhase("closed");
65566
+ }, [
65567
+ clearTimer,
65568
+ cancelClose,
65569
+ clearCopied
65570
+ ]);
65571
+ const groupVisible = open && positioned;
65572
+ (0, import_react.useLayoutEffect)(() => {
65573
+ if (!groupVisible || group === null) return;
65574
+ group.shown(groupOwner, dismissImmediately, cardRef.current);
65575
+ return () => {
65576
+ group.release(groupOwner);
65577
+ };
65578
+ }, [
65579
+ group,
65580
+ groupOwner,
65581
+ groupVisible,
65582
+ dismissImmediately
65583
+ ]);
65184
65584
  (0, import_react.useEffect)(() => {
65185
65585
  if (!closing) return;
65186
65586
  const timer = setTimeout(() => {
@@ -65305,7 +65705,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65305
65705
  inline
65306
65706
  ]);
65307
65707
  (0, import_react.useLayoutEffect)(() => {
65308
- if (!open || pos === null || variant === "preview" || inline || suppressed) return;
65708
+ if (!open || pos === null || variant === "preview" || inline) return;
65309
65709
  /* v8 ignore next -- the card is mounted whenever pos is set, so the ref is attached here. */
65310
65710
  const h = cardRef.current?.offsetHeight ?? 0;
65311
65711
  if (pos.top + h > window.innerHeight - VIEWPORT_MARGIN) setPos({
@@ -65316,8 +65716,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65316
65716
  open,
65317
65717
  pos,
65318
65718
  variant,
65319
- inline,
65320
- suppressed
65719
+ inline
65321
65720
  ]);
65322
65721
  const copy = async (text) => {
65323
65722
  if (copied || copyingRef.current) return;
@@ -65339,7 +65738,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65339
65738
  cancelClose();
65340
65739
  close();
65341
65740
  };
65342
- const card = open && pos !== null && !suppressed && (0, import_jsx_runtime.jsx)("div", {
65741
+ const card = open && pos !== null && (0, import_jsx_runtime.jsx)("div", {
65343
65742
  ref: cardRef,
65344
65743
  className: clsx(HoverCard_module_default.card, variant === "preview" && HoverCard_module_default.preview, inline && HoverCard_module_default.media, copyable && HoverCard_module_default.copyable, copied && HoverCard_module_default.feedback),
65345
65744
  "data-closing": closing || void 0,
@@ -65393,7 +65792,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65393
65792
  return;
65394
65793
  }
65395
65794
  clearTimer();
65396
- timerRef.current = setTimeout(() => {
65795
+ if (group?.isWarm()) setPhase("open");
65796
+ else timerRef.current = setTimeout(() => {
65397
65797
  setPhase("open");
65398
65798
  }, openDelayMs);
65399
65799
  },
@@ -65404,11 +65804,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
65404
65804
  onPointerDownCapture: dismissFromAnchor,
65405
65805
  onClickCapture: dismissFromAnchor,
65406
65806
  children: [
65407
- (0, import_jsx_runtime.jsx)(TooltipSuppression.Provider, {
65408
- value: setSuppressed,
65409
- children: anchor
65410
- }),
65411
- open && !suppressed && copyable && (0, import_jsx_runtime.jsx)("span", {
65807
+ anchor,
65808
+ open && copyable && (0, import_jsx_runtime.jsx)("span", {
65412
65809
  className: HoverCard_module_default.status,
65413
65810
  role: "status",
65414
65811
  children: copied ? copiedLabel : ""
@@ -66113,6 +66510,317 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
66113
66510
  });
66114
66511
  }
66115
66512
  /**
66513
+ * Document-wide input tracking shared by tooltips and focus-ring styles.
66514
+ * Tooltips follow the last input; rings follow navigation or a key followed by
66515
+ * focus on a different control. Modifiers and refocusing alone keep rings silent.
66516
+ * Module-level listeners live for the document lifetime; Node imports are inert.
66517
+ */
66518
+ /** Modality values published on the document element. */
66519
+ const INPUT_MODALITY = {
66520
+ pointer: "pointer",
66521
+ keyboard: "keyboard"
66522
+ };
66523
+ /** Attribute carrying whether focus navigation last owned focus. */
66524
+ const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
66525
+ const FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
66526
+ "Tab",
66527
+ "Home",
66528
+ "End",
66529
+ "PageUp",
66530
+ "PageDown"
66531
+ ]);
66532
+ let pointer = false;
66533
+ let pointerOwnsFocus = false;
66534
+ let keyFocusOrigin;
66535
+ function publish() {
66536
+ document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
66537
+ }
66538
+ /**
66539
+ * Whether the last input came from a pointer, independently of ring visibility.
66540
+ * @returns True after pointer input; false after any key.
66541
+ */
66542
+ function pointerModality() {
66543
+ return pointer;
66544
+ }
66545
+ if (typeof window !== "undefined") {
66546
+ window.addEventListener("pointerdown", () => {
66547
+ pointer = true;
66548
+ pointerOwnsFocus = true;
66549
+ keyFocusOrigin = void 0;
66550
+ publish();
66551
+ }, true);
66552
+ window.addEventListener("keydown", (event) => {
66553
+ pointer = false;
66554
+ if (event.isComposing) {
66555
+ keyFocusOrigin = void 0;
66556
+ return;
66557
+ }
66558
+ keyFocusOrigin = event.composedPath()[0];
66559
+ if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
66560
+ pointerOwnsFocus = false;
66561
+ publish();
66562
+ }, true);
66563
+ window.addEventListener("focusin", (event) => {
66564
+ if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
66565
+ keyFocusOrigin = void 0;
66566
+ if (!pointerOwnsFocus) return;
66567
+ pointerOwnsFocus = false;
66568
+ publish();
66569
+ }, true);
66570
+ window.addEventListener("blur", () => {
66571
+ keyFocusOrigin = void 0;
66572
+ });
66573
+ }
66574
+ /** Anchor-preserving tooltips; an optional body portal escapes clipping containers and stacking contexts that cap the bubble's z-index. */
66575
+ /**
66576
+ * Suppression channel for nested tooltips: a visible descendant tooltip
66577
+ * withdraws the enclosing tooltip while its bubble is shown.
66578
+ */
66579
+ const TooltipSuppression = (0, import_react.createContext)(null);
66580
+ /**
66581
+ * Attach a hover/focus tooltip to an anchor element.
66582
+ * @param props.label - bubble text, or a resolver evaluated only while visible; an empty string shows only shortcut keys.
66583
+ * @param props.shortcutKeys - effective key labels rendered as platform-formatted keycaps after optional text.
66584
+ * @param props.side - placement relative to the anchor (default 'right').
66585
+ * @param props.align - horizontal anchor-edge alignment for 'bottom'/'top' bubbles: 'end' pins
66586
+ * the bubble's right edge to the anchor's (for anchors beside other hover surfaces the centered
66587
+ * bubble would overlap); default 'center'. Ignored for side 'right'.
66588
+ * @param props.portal - render the bubble under document.body, so an ancestor's clipping or its
66589
+ * stacking context (which confines the bubble's z-index to that context) cannot hide it.
66590
+ * @param props.delayMs - hover delay in milliseconds (default 0).
66591
+ * @param props.focusDelayMs - keyboard focus delay in milliseconds (default 0); blur, click,
66592
+ * mouse leave, disabling, and unmount cancel a pending show.
66593
+ * @param props.gap - anchor-to-bubble distance in pixels for 'bottom'/'top' bubbles (default 8);
66594
+ * ignored for side 'right'.
66595
+ * @param props.disabled - suppress the bubble while true; the anchor renders identically so
66596
+ * toggling never remounts it (which would cut its CSS transitions).
66597
+ * @param props.maxWidth - bubble width cap in pixels, for labels long enough that the default
66598
+ * half-viewport cap would render a slab wider than the surface the anchor sits on.
66599
+ * @param props.openOnClick - clicking also pins the bubble for reading; another click, Escape,
66600
+ * Tab, or an outside pointerdown dismisses it. Defaults to false for ordinary action tooltips.
66601
+ * @param props.children - a single anchor element; its own ref (callback or object) is forwarded alongside the tooltip's.
66602
+ * @returns the cloned anchor plus a fixed-position bubble, optionally portaled to the body.
66603
+ * The bubble stays hidden until ResizeObserver supplies its size for viewport fitting; clicking the
66604
+ * anchor dismisses the bubble unless openOnClick is enabled, and focus arriving after a pointer
66605
+ * interaction (a closing menu refocusing its trigger) never raises it.
66606
+ */
66607
+ function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
66608
+ const id = (0, import_react.useId)();
66609
+ const [pinned, setPinned] = (0, import_react.useState)(false);
66610
+ const anchor = (0, import_react.useRef)(null);
66611
+ const childRef = children.ref;
66612
+ const mergedRef = (0, import_react.useCallback)((el) => {
66613
+ anchor.current = el;
66614
+ if (typeof childRef === "function") childRef(el);
66615
+ else if (childRef != null) childRef.current = el;
66616
+ }, [childRef]);
66617
+ const [pos, setPos] = (0, import_react.useState)(null);
66618
+ const bubble = (0, import_react.useRef)(null);
66619
+ const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
66620
+ const y = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
66621
+ const showTimer = (0, import_react.useRef)(null);
66622
+ const triggers = (0, import_react.useRef)({
66623
+ hover: false,
66624
+ focus: false
66625
+ });
66626
+ const suppressAncestors = (0, import_react.useContext)(TooltipSuppression);
66627
+ const [suppressed, setSuppressed] = (0, import_react.useState)(false);
66628
+ const announce = (0, import_react.useCallback)((active) => {
66629
+ suppressAncestors?.(active);
66630
+ }, [suppressAncestors]);
66631
+ const visible = pos !== null && !disabled;
66632
+ (0, import_react.useEffect)(() => {
66633
+ const el = bubble.current;
66634
+ if (pos === null || !visible || suppressed || el === null) return;
66635
+ const edgeMargin = 12;
66636
+ let size;
66637
+ let placement = side;
66638
+ const fit = () => {
66639
+ if (size === void 0) return;
66640
+ const { inlineSize: width, blockSize: height } = size;
66641
+ const offset = side === "right" ? 0 : align === "end" ? width : width / 2;
66642
+ const left = Math.max(edgeMargin, Math.min(pos.x - offset, window.innerWidth - edgeMargin - width));
66643
+ const fitsBelow = pos.bottom + gap + height <= window.innerHeight - edgeMargin;
66644
+ const fitsAbove = pos.top - gap - height >= edgeMargin;
66645
+ if (placement === "bottom" && !fitsBelow && fitsAbove) placement = "top";
66646
+ else if (placement === "top" && !fitsAbove && fitsBelow) placement = "bottom";
66647
+ el.style.left = `${left + offset}px`;
66648
+ el.style.top = `${placement === "right" ? (pos.top + pos.bottom) / 2 : placement === "top" ? pos.top - gap : pos.bottom + gap}px`;
66649
+ el.dataset.side = placement;
66650
+ el.style.visibility = "visible";
66651
+ };
66652
+ const observer = new ResizeObserver((entries) => {
66653
+ size = entries[0]?.borderBoxSize[0];
66654
+ fit();
66655
+ });
66656
+ observer.observe(el, { box: "border-box" });
66657
+ window.addEventListener("resize", fit);
66658
+ return () => {
66659
+ observer.disconnect();
66660
+ window.removeEventListener("resize", fit);
66661
+ };
66662
+ }, [
66663
+ align,
66664
+ gap,
66665
+ pos,
66666
+ side,
66667
+ suppressed,
66668
+ visible
66669
+ ]);
66670
+ (0, import_react.useEffect)(() => {
66671
+ announce(visible);
66672
+ return () => {
66673
+ announce(false);
66674
+ };
66675
+ }, [announce, visible]);
66676
+ const cancelShow = (0, import_react.useCallback)(() => {
66677
+ if (showTimer.current === null) return;
66678
+ clearTimeout(showTimer.current);
66679
+ showTimer.current = null;
66680
+ }, []);
66681
+ (0, import_react.useEffect)(() => {
66682
+ if (pinned && (disabled || !openOnClick)) setPinned(false);
66683
+ if (disabled) {
66684
+ cancelShow();
66685
+ triggers.current = {
66686
+ hover: false,
66687
+ focus: false
66688
+ };
66689
+ setPos(null);
66690
+ }
66691
+ return cancelShow;
66692
+ }, [
66693
+ cancelShow,
66694
+ disabled,
66695
+ openOnClick,
66696
+ pinned
66697
+ ]);
66698
+ const show = () => {
66699
+ if (disabled) return;
66700
+ const el = anchor.current;
66701
+ /* v8 ignore next -- the ref is attached by event time: events fire on the cloned anchor. */
66702
+ if (el === null) return;
66703
+ const r = el.getBoundingClientRect();
66704
+ setPos({
66705
+ x: side === "right" ? r.right + 10 : align === "end" ? r.right : r.left + r.width / 2,
66706
+ top: r.top,
66707
+ bottom: r.bottom
66708
+ });
66709
+ announce(true);
66710
+ };
66711
+ const showAfterDelay = (delay) => {
66712
+ cancelShow();
66713
+ if (delay <= 0) {
66714
+ show();
66715
+ return;
66716
+ }
66717
+ showTimer.current = setTimeout(() => {
66718
+ showTimer.current = null;
66719
+ show();
66720
+ }, delay);
66721
+ };
66722
+ const withdraw = (0, import_react.useCallback)(() => {
66723
+ setPinned(false);
66724
+ setPos(null);
66725
+ announce(false);
66726
+ }, [announce]);
66727
+ const hide = () => {
66728
+ cancelShow();
66729
+ if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
66730
+ };
66731
+ const dismiss = (0, import_react.useCallback)(() => {
66732
+ cancelShow();
66733
+ triggers.current = {
66734
+ hover: false,
66735
+ focus: false
66736
+ };
66737
+ withdraw();
66738
+ }, [cancelShow, withdraw]);
66739
+ useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
66740
+ (0, import_react.useEffect)(() => {
66741
+ if (!openOnClick || !visible) return;
66742
+ const onKeyDown = (event) => {
66743
+ if (event.key !== "Escape" && event.key !== "Tab") return;
66744
+ if (event.key === "Escape") {
66745
+ event.preventDefault();
66746
+ event.stopPropagation();
66747
+ }
66748
+ dismiss();
66749
+ };
66750
+ document.addEventListener("keydown", onKeyDown, true);
66751
+ return () => {
66752
+ document.removeEventListener("keydown", onKeyDown, true);
66753
+ };
66754
+ }, [
66755
+ dismiss,
66756
+ openOnClick,
66757
+ visible
66758
+ ]);
66759
+ const content = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
66760
+ ref: bubble,
66761
+ id: openOnClick ? id : void 0,
66762
+ className: Tooltip_module_default.bubble,
66763
+ "data-side": side,
66764
+ "data-portal": portal || void 0,
66765
+ "data-pinned": pinned || void 0,
66766
+ "data-align": align,
66767
+ "data-has-shortcut": shortcutKeys?.length ? true : void 0,
66768
+ style: {
66769
+ left: pos.x,
66770
+ top: y,
66771
+ visibility: "hidden",
66772
+ ...maxWidth === void 0 ? {} : { maxWidth }
66773
+ },
66774
+ role: "tooltip",
66775
+ "aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
66776
+ children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
66777
+ className: Tooltip_module_default.label,
66778
+ children: resolvedLabel
66779
+ }), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
66780
+ keys: shortcutKeys,
66781
+ variant: "tooltip"
66782
+ })]
66783
+ });
66784
+ return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
66785
+ value: setSuppressed,
66786
+ children: [(0, import_react.cloneElement)(children, {
66787
+ ref: mergedRef,
66788
+ "aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
66789
+ onMouseEnter: (e) => {
66790
+ children.props.onMouseEnter?.(e);
66791
+ triggers.current.hover = true;
66792
+ showAfterDelay(delayMs);
66793
+ },
66794
+ onMouseLeave: (e) => {
66795
+ children.props.onMouseLeave?.(e);
66796
+ triggers.current.hover = false;
66797
+ cancelShow();
66798
+ if (!pinned) withdraw();
66799
+ },
66800
+ onClick: (e) => {
66801
+ children.props.onClick?.(e);
66802
+ triggers.current.focus = false;
66803
+ cancelShow();
66804
+ if (openOnClick && !disabled && !pinned) {
66805
+ setPinned(true);
66806
+ show();
66807
+ } else withdraw();
66808
+ },
66809
+ onFocus: (e) => {
66810
+ children.props.onFocus?.(e);
66811
+ if (pointerModality()) return;
66812
+ triggers.current.focus = true;
66813
+ showAfterDelay(focusDelayMs);
66814
+ },
66815
+ onBlur: (e) => {
66816
+ children.props.onBlur?.(e);
66817
+ triggers.current.focus = false;
66818
+ hide();
66819
+ }
66820
+ }), portal ? content !== false && (0, import_react_dom.createPortal)(content, document.body) : content]
66821
+ });
66822
+ }
66823
+ /**
66116
66824
  * The client's ONE syntax highlighter: a synchronous fine-grained shiki core
66117
66825
  * (JavaScript regex engine — no oniguruma WASM, bundle-friendly) with an
66118
66826
  * explicit grammar allowlist and a CSS-variables theme. Colors live in the