@jingyi0605/codingns4dsh 0.2.1-beta.2 → 0.2.1-beta.4

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 (888) hide show
  1. package/README.en.md +8 -8
  2. package/README.md +103 -14
  3. package/THIRD_PARTY_NOTICES +141 -0
  4. package/assets/assistant-basics/female-v1.png +0 -0
  5. package/assets/assistant-basics/male-v1.png +0 -0
  6. package/assets/desktop-assistant/20261008-WebView2/345/210/206/345/217/221/350/257/264/346/230/216.md +14 -0
  7. package/assets/desktop-assistant/webview2/LICENSE.txt +27 -0
  8. package/assets/desktop-assistant/webview2/Microsoft.Web.WebView2.Core.dll +0 -0
  9. package/assets/desktop-assistant/webview2/Microsoft.Web.WebView2.Wpf.dll +0 -0
  10. package/assets/desktop-assistant/webview2/NOTICE.txt +85 -0
  11. package/assets/desktop-assistant/webview2/arm64/WebView2Loader.dll +0 -0
  12. package/assets/desktop-assistant/webview2/x64/WebView2Loader.dll +0 -0
  13. package/assets/desktop-assistant/webview2/x86/WebView2Loader.dll +0 -0
  14. package/assets/moss/LICENSE +201 -0
  15. package/assets/moss/ort_cpu_runtime.py +839 -0
  16. package/assets/moss/worker.py +278 -0
  17. package/assets/voice/bilingual-zh-en-bpe.vocab +500 -0
  18. package/avatar-packages/catalog.json +259 -0
  19. package/avatar-packages/manifests/bubu-codebrew-bear.avatar.json +13 -0
  20. package/avatar-packages/manifests/ds-whale-live2d.avatar.json +27 -0
  21. package/avatar-packages/manifests/ds-whale-sprite.avatar.json +13 -0
  22. package/avatar-packages/manifests/live2d-haru.avatar.json +13 -0
  23. package/avatar-packages/manifests/live2d-hiyori.avatar.json +13 -0
  24. package/avatar-packages/manifests/live2d-mao.avatar.json +13 -0
  25. package/avatar-packages/manifests/live2d-mark.avatar.json +13 -0
  26. package/avatar-packages/manifests/live2d-rice.avatar.json +13 -0
  27. package/avatar-packages/manifests/live2d-wanko.avatar.json +13 -0
  28. package/avatar-packages/manifests/nastya.avatar.json +13 -0
  29. package/avatar-packages/manifests/scout-corgi.avatar.json +13 -0
  30. package/avatar-packages/manifests/xiaoman.avatar.json +13 -0
  31. package/data/build/dist/client/assistant-settings-styles.d.ts +7 -0
  32. package/data/build/dist/client/assistant-settings-styles.d.ts.map +1 -0
  33. package/data/build/dist/client/assistant-settings-styles.js +6 -0
  34. package/data/build/dist/client/assistant-settings-styles.js.map +1 -0
  35. package/data/build/dist/client/avatar/builtin.d.ts +5 -0
  36. package/data/build/dist/client/avatar/builtin.d.ts.map +1 -0
  37. package/data/build/dist/client/avatar/builtin.js +9 -0
  38. package/data/build/dist/client/avatar/builtin.js.map +1 -0
  39. package/data/build/dist/client/avatar/cache-status.d.ts +4 -0
  40. package/data/build/dist/client/avatar/cache-status.d.ts.map +1 -0
  41. package/data/build/dist/client/avatar/cache-status.js +40 -0
  42. package/data/build/dist/client/avatar/cache-status.js.map +1 -0
  43. package/data/build/dist/client/avatar/catalog-panel.d.ts +49 -0
  44. package/data/build/dist/client/avatar/catalog-panel.d.ts.map +1 -0
  45. package/data/build/dist/client/avatar/catalog-panel.js +245 -0
  46. package/data/build/dist/client/avatar/catalog-panel.js.map +1 -0
  47. package/data/build/dist/client/avatar/catalog-picker.d.ts +38 -0
  48. package/data/build/dist/client/avatar/catalog-picker.d.ts.map +1 -0
  49. package/data/build/dist/client/avatar/catalog-picker.js +65 -0
  50. package/data/build/dist/client/avatar/catalog-picker.js.map +1 -0
  51. package/data/build/dist/client/avatar/desktop-bridge.d.ts +21 -0
  52. package/data/build/dist/client/avatar/desktop-bridge.d.ts.map +1 -0
  53. package/data/build/dist/client/avatar/desktop-bridge.js +109 -0
  54. package/data/build/dist/client/avatar/desktop-bridge.js.map +1 -0
  55. package/data/build/dist/client/avatar/desktop-entry.d.ts +2 -0
  56. package/data/build/dist/client/avatar/desktop-entry.d.ts.map +1 -0
  57. package/data/build/dist/client/avatar/desktop-entry.js +34 -0
  58. package/data/build/dist/client/avatar/desktop-entry.js.map +1 -0
  59. package/data/build/dist/client/avatar/desktop-view.d.ts +23 -0
  60. package/data/build/dist/client/avatar/desktop-view.d.ts.map +1 -0
  61. package/data/build/dist/client/avatar/desktop-view.js +72 -0
  62. package/data/build/dist/client/avatar/desktop-view.js.map +1 -0
  63. package/data/build/dist/client/avatar/engine.d.ts +45 -0
  64. package/data/build/dist/client/avatar/engine.d.ts.map +1 -0
  65. package/data/build/dist/client/avatar/engine.js +165 -0
  66. package/data/build/dist/client/avatar/engine.js.map +1 -0
  67. package/data/build/dist/client/avatar/floating.d.ts +20 -0
  68. package/data/build/dist/client/avatar/floating.d.ts.map +1 -0
  69. package/data/build/dist/client/avatar/floating.js +99 -0
  70. package/data/build/dist/client/avatar/floating.js.map +1 -0
  71. package/data/build/dist/client/avatar/image.d.ts +5 -0
  72. package/data/build/dist/client/avatar/image.d.ts.map +1 -0
  73. package/data/build/dist/client/avatar/image.js +22 -0
  74. package/data/build/dist/client/avatar/image.js.map +1 -0
  75. package/data/build/dist/client/avatar/live2d.d.ts +65 -0
  76. package/data/build/dist/client/avatar/live2d.d.ts.map +1 -0
  77. package/data/build/dist/client/avatar/live2d.js +278 -0
  78. package/data/build/dist/client/avatar/live2d.js.map +1 -0
  79. package/data/build/dist/client/avatar/loading.d.ts +27 -0
  80. package/data/build/dist/client/avatar/loading.d.ts.map +1 -0
  81. package/data/build/dist/client/avatar/loading.js +74 -0
  82. package/data/build/dist/client/avatar/loading.js.map +1 -0
  83. package/data/build/dist/client/avatar/manager.d.ts +71 -0
  84. package/data/build/dist/client/avatar/manager.d.ts.map +1 -0
  85. package/data/build/dist/client/avatar/manager.js +321 -0
  86. package/data/build/dist/client/avatar/manager.js.map +1 -0
  87. package/data/build/dist/client/avatar/portrait-capture.d.ts +30 -0
  88. package/data/build/dist/client/avatar/portrait-capture.d.ts.map +1 -0
  89. package/data/build/dist/client/avatar/portrait-capture.js +233 -0
  90. package/data/build/dist/client/avatar/portrait-capture.js.map +1 -0
  91. package/data/build/dist/client/avatar/portrait-editor.d.ts +14 -0
  92. package/data/build/dist/client/avatar/portrait-editor.d.ts.map +1 -0
  93. package/data/build/dist/client/avatar/portrait-editor.js +105 -0
  94. package/data/build/dist/client/avatar/portrait-editor.js.map +1 -0
  95. package/data/build/dist/client/avatar/portrait-service.d.ts +51 -0
  96. package/data/build/dist/client/avatar/portrait-service.d.ts.map +1 -0
  97. package/data/build/dist/client/avatar/portrait-service.js +244 -0
  98. package/data/build/dist/client/avatar/portrait-service.js.map +1 -0
  99. package/data/build/dist/client/avatar/portrait.d.ts +28 -0
  100. package/data/build/dist/client/avatar/portrait.d.ts.map +1 -0
  101. package/data/build/dist/client/avatar/portrait.js +56 -0
  102. package/data/build/dist/client/avatar/portrait.js.map +1 -0
  103. package/data/build/dist/client/avatar/preview-capture.d.ts +4 -0
  104. package/data/build/dist/client/avatar/preview-capture.d.ts.map +1 -0
  105. package/data/build/dist/client/avatar/preview-capture.js +100 -0
  106. package/data/build/dist/client/avatar/preview-capture.js.map +1 -0
  107. package/data/build/dist/client/avatar/preview-store.d.ts +41 -0
  108. package/data/build/dist/client/avatar/preview-store.d.ts.map +1 -0
  109. package/data/build/dist/client/avatar/preview-store.js +171 -0
  110. package/data/build/dist/client/avatar/preview-store.js.map +1 -0
  111. package/data/build/dist/client/avatar/preview.d.ts +14 -0
  112. package/data/build/dist/client/avatar/preview.d.ts.map +1 -0
  113. package/data/build/dist/client/avatar/preview.js +56 -0
  114. package/data/build/dist/client/avatar/preview.js.map +1 -0
  115. package/data/build/dist/client/avatar/registration.d.ts +2 -0
  116. package/data/build/dist/client/avatar/registration.d.ts.map +1 -0
  117. package/data/build/dist/client/avatar/registration.js +2 -0
  118. package/data/build/dist/client/avatar/registration.js.map +1 -0
  119. package/data/build/dist/client/avatar/registry.d.ts +45 -0
  120. package/data/build/dist/client/avatar/registry.d.ts.map +1 -0
  121. package/data/build/dist/client/avatar/registry.js +34 -0
  122. package/data/build/dist/client/avatar/registry.js.map +1 -0
  123. package/data/build/dist/client/avatar/settings-panel.d.ts +21 -0
  124. package/data/build/dist/client/avatar/settings-panel.d.ts.map +1 -0
  125. package/data/build/dist/client/avatar/settings-panel.js +169 -0
  126. package/data/build/dist/client/avatar/settings-panel.js.map +1 -0
  127. package/data/build/dist/client/avatar/slot.d.ts +17 -0
  128. package/data/build/dist/client/avatar/slot.d.ts.map +1 -0
  129. package/data/build/dist/client/avatar/slot.js +70 -0
  130. package/data/build/dist/client/avatar/slot.js.map +1 -0
  131. package/data/build/dist/client/avatar/spritesheet.d.ts +19 -0
  132. package/data/build/dist/client/avatar/spritesheet.d.ts.map +1 -0
  133. package/data/build/dist/client/avatar/spritesheet.js +91 -0
  134. package/data/build/dist/client/avatar/spritesheet.js.map +1 -0
  135. package/data/build/dist/client/avatar/temporary-preview.d.ts +25 -0
  136. package/data/build/dist/client/avatar/temporary-preview.d.ts.map +1 -0
  137. package/data/build/dist/client/avatar/temporary-preview.js +61 -0
  138. package/data/build/dist/client/avatar/temporary-preview.js.map +1 -0
  139. package/data/build/dist/client/bundle.js +25066 -2837
  140. package/data/build/dist/client/bundle.js.map +1 -1
  141. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  142. package/data/build/dist/client/cli-slots.js +9 -9
  143. package/data/build/dist/client/cli-slots.js.map +1 -1
  144. package/data/build/dist/client/desktop-assistant.js +8585 -0
  145. package/data/build/dist/client/features/assistant-composer-input.d.ts +10 -0
  146. package/data/build/dist/client/features/assistant-composer-input.d.ts.map +1 -0
  147. package/data/build/dist/client/features/assistant-composer-input.js +40 -0
  148. package/data/build/dist/client/features/assistant-composer-input.js.map +1 -0
  149. package/data/build/dist/client/features/assistant-configuration-session.d.ts +45 -0
  150. package/data/build/dist/client/features/assistant-configuration-session.d.ts.map +1 -0
  151. package/data/build/dist/client/features/assistant-configuration-session.js +252 -0
  152. package/data/build/dist/client/features/assistant-configuration-session.js.map +1 -0
  153. package/data/build/dist/client/features/assistant-configuration-tabs.d.ts +34 -0
  154. package/data/build/dist/client/features/assistant-configuration-tabs.d.ts.map +1 -0
  155. package/data/build/dist/client/features/assistant-configuration-tabs.js +48 -0
  156. package/data/build/dist/client/features/assistant-configuration-tabs.js.map +1 -0
  157. package/data/build/dist/client/features/assistant-conversation-message.d.ts +27 -0
  158. package/data/build/dist/client/features/assistant-conversation-message.d.ts.map +1 -0
  159. package/data/build/dist/client/features/assistant-conversation-message.js +55 -0
  160. package/data/build/dist/client/features/assistant-conversation-message.js.map +1 -0
  161. package/data/build/dist/client/features/assistant-debug-dialog.d.ts +3 -0
  162. package/data/build/dist/client/features/assistant-debug-dialog.d.ts.map +1 -0
  163. package/data/build/dist/client/features/assistant-debug-dialog.js +3 -0
  164. package/data/build/dist/client/features/assistant-debug-dialog.js.map +1 -0
  165. package/data/build/dist/client/features/assistant-debug-workbench.d.ts +48 -0
  166. package/data/build/dist/client/features/assistant-debug-workbench.d.ts.map +1 -0
  167. package/data/build/dist/client/features/assistant-debug-workbench.js +376 -0
  168. package/data/build/dist/client/features/assistant-debug-workbench.js.map +1 -0
  169. package/data/build/dist/client/features/assistant-floating-call.d.ts +33 -0
  170. package/data/build/dist/client/features/assistant-floating-call.d.ts.map +1 -0
  171. package/data/build/dist/client/features/assistant-floating-call.js +67 -0
  172. package/data/build/dist/client/features/assistant-floating-call.js.map +1 -0
  173. package/data/build/dist/client/features/assistant-panel.d.ts +2 -2
  174. package/data/build/dist/client/features/assistant-panel.d.ts.map +1 -1
  175. package/data/build/dist/client/features/assistant-panel.js +10 -123
  176. package/data/build/dist/client/features/assistant-panel.js.map +1 -1
  177. package/data/build/dist/client/features/assistant-realtime-call.d.ts +57 -0
  178. package/data/build/dist/client/features/assistant-realtime-call.d.ts.map +1 -0
  179. package/data/build/dist/client/features/assistant-realtime-call.js +131 -0
  180. package/data/build/dist/client/features/assistant-realtime-call.js.map +1 -0
  181. package/data/build/dist/client/features/assistant-record-style.d.ts +5 -0
  182. package/data/build/dist/client/features/assistant-record-style.d.ts.map +1 -0
  183. package/data/build/dist/client/features/assistant-record-style.js +25 -0
  184. package/data/build/dist/client/features/assistant-record-style.js.map +1 -0
  185. package/data/build/dist/client/features/assistant-voice-initialization.d.ts +26 -0
  186. package/data/build/dist/client/features/assistant-voice-initialization.d.ts.map +1 -0
  187. package/data/build/dist/client/features/assistant-voice-initialization.js +138 -0
  188. package/data/build/dist/client/features/assistant-voice-initialization.js.map +1 -0
  189. package/data/build/dist/client/features/assistant-voice-settings-group.d.ts +19 -0
  190. package/data/build/dist/client/features/assistant-voice-settings-group.d.ts.map +1 -0
  191. package/data/build/dist/client/features/assistant-voice-settings-group.js +34 -0
  192. package/data/build/dist/client/features/assistant-voice-settings-group.js.map +1 -0
  193. package/data/build/dist/client/features/assistant-voice-settings.d.ts +13 -0
  194. package/data/build/dist/client/features/assistant-voice-settings.d.ts.map +1 -0
  195. package/data/build/dist/client/features/assistant-voice-settings.js +184 -0
  196. package/data/build/dist/client/features/assistant-voice-settings.js.map +1 -0
  197. package/data/build/dist/client/features/assistant-workbench-controls.d.ts +72 -0
  198. package/data/build/dist/client/features/assistant-workbench-controls.d.ts.map +1 -0
  199. package/data/build/dist/client/features/assistant-workbench-controls.js +145 -0
  200. package/data/build/dist/client/features/assistant-workbench-controls.js.map +1 -0
  201. package/data/build/dist/client/features/assistant-workbench-entry.d.ts +4 -0
  202. package/data/build/dist/client/features/assistant-workbench-entry.d.ts.map +1 -0
  203. package/data/build/dist/client/features/assistant-workbench-entry.js +7 -0
  204. package/data/build/dist/client/features/assistant-workbench-entry.js.map +1 -0
  205. package/data/build/dist/client/features/assistant-workbench.d.ts +109 -0
  206. package/data/build/dist/client/features/assistant-workbench.d.ts.map +1 -0
  207. package/data/build/dist/client/features/assistant-workbench.js +568 -0
  208. package/data/build/dist/client/features/assistant-workbench.js.map +1 -0
  209. package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -1
  210. package/data/build/dist/client/features/global-voice-assistant.js +88 -32
  211. package/data/build/dist/client/features/global-voice-assistant.js.map +1 -1
  212. package/data/build/dist/client/features/lan-access.js +2 -2
  213. package/data/build/dist/client/features/lan-access.js.map +1 -1
  214. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  215. package/data/build/dist/client/features/mobile-access.js +9 -0
  216. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  217. package/data/build/dist/client/features/peer-host.d.ts +2 -0
  218. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  219. package/data/build/dist/client/features/peer-host.js +66 -73
  220. package/data/build/dist/client/features/peer-host.js.map +1 -1
  221. package/data/build/dist/client/features/types.d.ts +4 -0
  222. package/data/build/dist/client/features/types.d.ts.map +1 -1
  223. package/data/build/dist/client/features/voice-conversation-dialog.d.ts +9 -2
  224. package/data/build/dist/client/features/voice-conversation-dialog.d.ts.map +1 -1
  225. package/data/build/dist/client/features/voice-conversation-dialog.js +29 -7
  226. package/data/build/dist/client/features/voice-conversation-dialog.js.map +1 -1
  227. package/data/build/dist/client/features/voice-initialization-dialog.d.ts +42 -2
  228. package/data/build/dist/client/features/voice-initialization-dialog.d.ts.map +1 -1
  229. package/data/build/dist/client/features/voice-initialization-dialog.js +181 -67
  230. package/data/build/dist/client/features/voice-initialization-dialog.js.map +1 -1
  231. package/data/build/dist/client/global-voice-runtime-registry.d.ts +4 -0
  232. package/data/build/dist/client/global-voice-runtime-registry.d.ts.map +1 -1
  233. package/data/build/dist/client/global-voice-runtime-registry.js.map +1 -1
  234. package/data/build/dist/client/index.d.ts +11 -0
  235. package/data/build/dist/client/index.d.ts.map +1 -1
  236. package/data/build/dist/client/index.js +10 -0
  237. package/data/build/dist/client/index.js.map +1 -1
  238. package/data/build/dist/client/locale.d.ts.map +1 -1
  239. package/data/build/dist/client/locale.js +51 -14
  240. package/data/build/dist/client/locale.js.map +1 -1
  241. package/data/build/dist/client/locales/assistantAvatar.d.ts +138 -0
  242. package/data/build/dist/client/locales/assistantAvatar.d.ts.map +1 -0
  243. package/data/build/dist/client/locales/assistantAvatar.js +273 -0
  244. package/data/build/dist/client/locales/assistantAvatar.js.map +1 -0
  245. package/data/build/dist/client/locales/assistantDebug.d.ts +4 -0
  246. package/data/build/dist/client/locales/assistantDebug.d.ts.map +1 -0
  247. package/data/build/dist/client/locales/assistantDebug.js +362 -0
  248. package/data/build/dist/client/locales/assistantDebug.js.map +1 -0
  249. package/data/build/dist/client/locales/assistantTts.d.ts +80 -0
  250. package/data/build/dist/client/locales/assistantTts.d.ts.map +1 -0
  251. package/data/build/dist/client/locales/assistantTts.js +76 -0
  252. package/data/build/dist/client/locales/assistantTts.js.map +1 -0
  253. package/data/build/dist/client/locales/assistantWorkbench.d.ts +126 -0
  254. package/data/build/dist/client/locales/assistantWorkbench.d.ts.map +1 -0
  255. package/data/build/dist/client/locales/assistantWorkbench.js +96 -0
  256. package/data/build/dist/client/locales/assistantWorkbench.js.map +1 -0
  257. package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -1
  258. package/data/build/dist/client/locales/peerHostWorkspace.js +16 -2
  259. package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -1
  260. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
  261. package/data/build/dist/client/locales/terminalAuth.js +80 -0
  262. package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
  263. package/data/build/dist/client/locales/voiceModels.d.ts +45 -0
  264. package/data/build/dist/client/locales/voiceModels.d.ts.map +1 -0
  265. package/data/build/dist/client/locales/voiceModels.js +85 -0
  266. package/data/build/dist/client/locales/voiceModels.js.map +1 -0
  267. package/data/build/dist/client/mobile-rightbar-tabs-dom.d.ts +29 -0
  268. package/data/build/dist/client/mobile-rightbar-tabs-dom.d.ts.map +1 -0
  269. package/data/build/dist/client/mobile-rightbar-tabs-dom.js +93 -0
  270. package/data/build/dist/client/mobile-rightbar-tabs-dom.js.map +1 -0
  271. package/data/build/dist/client/mobile-rightbar-visibility.d.ts +32 -0
  272. package/data/build/dist/client/mobile-rightbar-visibility.d.ts.map +1 -0
  273. package/data/build/dist/client/mobile-rightbar-visibility.js +188 -0
  274. package/data/build/dist/client/mobile-rightbar-visibility.js.map +1 -0
  275. package/data/build/dist/client/mobile-session-interaction.d.ts +9 -19
  276. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
  277. package/data/build/dist/client/mobile-session-interaction.js +25 -169
  278. package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
  279. package/data/build/dist/client/mobile-sidebar-gestures.d.ts +4 -0
  280. package/data/build/dist/client/mobile-sidebar-gestures.d.ts.map +1 -1
  281. package/data/build/dist/client/mobile-sidebar-gestures.js +17 -9
  282. package/data/build/dist/client/mobile-sidebar-gestures.js.map +1 -1
  283. package/data/build/dist/client/model-catalog-cache.d.ts +4 -4
  284. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  285. package/data/build/dist/client/model-catalog-cache.js +57 -32
  286. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  287. package/data/build/dist/client/moss-voice-output.d.ts +39 -0
  288. package/data/build/dist/client/moss-voice-output.d.ts.map +1 -0
  289. package/data/build/dist/client/moss-voice-output.js +241 -0
  290. package/data/build/dist/client/moss-voice-output.js.map +1 -0
  291. package/data/build/dist/client/peer-host-native-projection.d.ts +4 -3
  292. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
  293. package/data/build/dist/client/peer-host-native-projection.js +7 -6
  294. package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
  295. package/data/build/dist/client/peer-host-native-store-projection.js +9 -21
  296. package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -1
  297. package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
  298. package/data/build/dist/client/peer-host-workspace-tab.js +139 -10
  299. package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
  300. package/data/build/dist/client/settings-bridge.d.ts +1 -0
  301. package/data/build/dist/client/settings-bridge.d.ts.map +1 -1
  302. package/data/build/dist/client/settings-bridge.js +9 -1
  303. package/data/build/dist/client/settings-bridge.js.map +1 -1
  304. package/data/build/dist/client/sherpa-voice-adapter.d.ts +23 -2
  305. package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -1
  306. package/data/build/dist/client/sherpa-voice-adapter.js +384 -91
  307. package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -1
  308. package/data/build/dist/client/skill-command.d.ts +1 -1
  309. package/data/build/dist/client/skill-command.d.ts.map +1 -1
  310. package/data/build/dist/client/skill-command.js +25 -2
  311. package/data/build/dist/client/skill-command.js.map +1 -1
  312. package/data/build/dist/client/skill-reference-dom.js +1 -1
  313. package/data/build/dist/client/skill-reference-dom.js.map +1 -1
  314. package/data/build/dist/client/streaming-sentence-queue.d.ts +20 -0
  315. package/data/build/dist/client/streaming-sentence-queue.d.ts.map +1 -0
  316. package/data/build/dist/client/streaming-sentence-queue.js +130 -0
  317. package/data/build/dist/client/streaming-sentence-queue.js.map +1 -0
  318. package/data/build/dist/client/terminal/log-preview.d.ts +14 -0
  319. package/data/build/dist/client/terminal/log-preview.d.ts.map +1 -0
  320. package/data/build/dist/client/terminal/log-preview.js +23 -0
  321. package/data/build/dist/client/terminal/log-preview.js.map +1 -0
  322. package/data/build/dist/client/terminal/model.d.ts +38 -7
  323. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  324. package/data/build/dist/client/terminal/model.js +188 -32
  325. package/data/build/dist/client/terminal/model.js.map +1 -1
  326. package/data/build/dist/client/terminal/recovery.d.ts +7 -3
  327. package/data/build/dist/client/terminal/recovery.d.ts.map +1 -1
  328. package/data/build/dist/client/terminal/recovery.js +45 -41
  329. package/data/build/dist/client/terminal/recovery.js.map +1 -1
  330. package/data/build/dist/client/terminal/selection-actions.d.ts +63 -0
  331. package/data/build/dist/client/terminal/selection-actions.d.ts.map +1 -0
  332. package/data/build/dist/client/terminal/selection-actions.js +132 -0
  333. package/data/build/dist/client/terminal/selection-actions.js.map +1 -0
  334. package/data/build/dist/client/terminal/share-menu.d.ts +17 -0
  335. package/data/build/dist/client/terminal/share-menu.d.ts.map +1 -0
  336. package/data/build/dist/client/terminal/share-menu.js +131 -0
  337. package/data/build/dist/client/terminal/share-menu.js.map +1 -0
  338. package/data/build/dist/client/terminal/sharing.d.ts +42 -0
  339. package/data/build/dist/client/terminal/sharing.d.ts.map +1 -0
  340. package/data/build/dist/client/terminal/sharing.js +144 -0
  341. package/data/build/dist/client/terminal/sharing.js.map +1 -0
  342. package/data/build/dist/client/terminal/snapshot.d.ts +32 -0
  343. package/data/build/dist/client/terminal/snapshot.d.ts.map +1 -0
  344. package/data/build/dist/client/terminal/snapshot.js +108 -0
  345. package/data/build/dist/client/terminal/snapshot.js.map +1 -0
  346. package/data/build/dist/client/terminal/styles.d.ts +14 -0
  347. package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
  348. package/data/build/dist/client/terminal/styles.js +41 -3
  349. package/data/build/dist/client/terminal/styles.js.map +1 -1
  350. package/data/build/dist/client/terminal/surface-cache.d.ts +10 -0
  351. package/data/build/dist/client/terminal/surface-cache.d.ts.map +1 -0
  352. package/data/build/dist/client/terminal/surface-cache.js +19 -0
  353. package/data/build/dist/client/terminal/surface-cache.js.map +1 -0
  354. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  355. package/data/build/dist/client/terminal/ui.js +78 -21
  356. package/data/build/dist/client/terminal/ui.js.map +1 -1
  357. package/data/build/dist/client/terminal/xterm-view.d.ts +5 -2
  358. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  359. package/data/build/dist/client/terminal/xterm-view.js +429 -397
  360. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  361. package/data/build/dist/client/touch-input-focus.d.ts +30 -0
  362. package/data/build/dist/client/touch-input-focus.d.ts.map +1 -0
  363. package/data/build/dist/client/touch-input-focus.js +190 -0
  364. package/data/build/dist/client/touch-input-focus.js.map +1 -0
  365. package/data/build/dist/client/voice-capture.d.ts +9 -0
  366. package/data/build/dist/client/voice-capture.d.ts.map +1 -1
  367. package/data/build/dist/client/voice-capture.js +35 -1
  368. package/data/build/dist/client/voice-capture.js.map +1 -1
  369. package/data/build/dist/client/voice-chat-updates.d.ts +12 -0
  370. package/data/build/dist/client/voice-chat-updates.d.ts.map +1 -0
  371. package/data/build/dist/client/voice-chat-updates.js +39 -0
  372. package/data/build/dist/client/voice-chat-updates.js.map +1 -0
  373. package/data/build/dist/client/voice-diagnostics.d.ts +19 -0
  374. package/data/build/dist/client/voice-diagnostics.d.ts.map +1 -0
  375. package/data/build/dist/client/voice-diagnostics.js +73 -0
  376. package/data/build/dist/client/voice-diagnostics.js.map +1 -0
  377. package/data/build/dist/client/voice-model-setup-progress.d.ts +8 -0
  378. package/data/build/dist/client/voice-model-setup-progress.d.ts.map +1 -0
  379. package/data/build/dist/client/voice-model-setup-progress.js +27 -0
  380. package/data/build/dist/client/voice-model-setup-progress.js.map +1 -0
  381. package/data/build/dist/client/voice-stream-uploader.d.ts +41 -0
  382. package/data/build/dist/client/voice-stream-uploader.d.ts.map +1 -0
  383. package/data/build/dist/client/voice-stream-uploader.js +154 -0
  384. package/data/build/dist/client/voice-stream-uploader.js.map +1 -0
  385. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts +4 -0
  386. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts.map +1 -1
  387. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js +9 -0
  388. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js.map +1 -1
  389. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +5 -1
  390. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  391. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +25 -0
  392. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  393. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.d.ts +33 -0
  394. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.d.ts.map +1 -0
  395. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.js +187 -0
  396. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.js.map +1 -0
  397. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.d.ts +55 -0
  398. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.d.ts.map +1 -0
  399. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.js +264 -0
  400. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.js.map +1 -0
  401. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.d.ts +16 -0
  402. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.d.ts.map +1 -0
  403. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.js +69 -0
  404. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.js.map +1 -0
  405. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.d.ts +36 -0
  406. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.d.ts.map +1 -0
  407. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.js +112 -0
  408. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.js.map +1 -0
  409. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.d.ts +4 -0
  410. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.d.ts.map +1 -0
  411. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.js +41 -0
  412. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.js.map +1 -0
  413. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts +28 -0
  414. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts.map +1 -0
  415. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js +109 -0
  416. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js.map +1 -0
  417. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  418. package/data/build/dist/dsh-capabilities/matrix.js +3 -0
  419. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  420. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  421. package/data/build/dist/dsh-capabilities/routes.js +18 -0
  422. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  423. package/data/build/dist/dsh-capabilities/settings-store.d.ts +2 -0
  424. package/data/build/dist/dsh-capabilities/settings-store.d.ts.map +1 -1
  425. package/data/build/dist/dsh-capabilities/settings-store.js.map +1 -1
  426. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  427. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  428. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  429. package/data/build/dist/host/avatar/catalog.d.ts +21 -0
  430. package/data/build/dist/host/avatar/catalog.d.ts.map +1 -0
  431. package/data/build/dist/host/avatar/catalog.js +123 -0
  432. package/data/build/dist/host/avatar/catalog.js.map +1 -0
  433. package/data/build/dist/host/avatar/engine.d.ts +42 -0
  434. package/data/build/dist/host/avatar/engine.d.ts.map +1 -0
  435. package/data/build/dist/host/avatar/engine.js +167 -0
  436. package/data/build/dist/host/avatar/engine.js.map +1 -0
  437. package/data/build/dist/host/avatar/materials.d.ts +28 -0
  438. package/data/build/dist/host/avatar/materials.d.ts.map +1 -0
  439. package/data/build/dist/host/avatar/materials.js +183 -0
  440. package/data/build/dist/host/avatar/materials.js.map +1 -0
  441. package/data/build/dist/host/avatar/packages.d.ts +34 -0
  442. package/data/build/dist/host/avatar/packages.d.ts.map +1 -0
  443. package/data/build/dist/host/avatar/packages.js +200 -0
  444. package/data/build/dist/host/avatar/packages.js.map +1 -0
  445. package/data/build/dist/host/avatar/registry.d.ts +12 -0
  446. package/data/build/dist/host/avatar/registry.d.ts.map +1 -0
  447. package/data/build/dist/host/avatar/registry.js +22 -0
  448. package/data/build/dist/host/avatar/registry.js.map +1 -0
  449. package/data/build/dist/host/avatar/remote.d.ts +18 -0
  450. package/data/build/dist/host/avatar/remote.d.ts.map +1 -0
  451. package/data/build/dist/host/avatar/remote.js +103 -0
  452. package/data/build/dist/host/avatar/remote.js.map +1 -0
  453. package/data/build/dist/host/avatar/sources.d.ts +11 -0
  454. package/data/build/dist/host/avatar/sources.d.ts.map +1 -0
  455. package/data/build/dist/host/avatar/sources.js +78 -0
  456. package/data/build/dist/host/avatar/sources.js.map +1 -0
  457. package/data/build/dist/host/avatar/temporary-previews.d.ts +26 -0
  458. package/data/build/dist/host/avatar/temporary-previews.d.ts.map +1 -0
  459. package/data/build/dist/host/avatar/temporary-previews.js +139 -0
  460. package/data/build/dist/host/avatar/temporary-previews.js.map +1 -0
  461. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +18 -1
  462. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  463. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +26 -8
  464. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  465. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +16 -5
  466. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -1
  467. package/data/build/dist/host/cli-adapters/attachment-utils.js +152 -42
  468. package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -1
  469. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +14 -8
  470. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  471. package/data/build/dist/host/cli-adapters/claude-driver.js +101 -76
  472. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  473. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  474. package/data/build/dist/host/cli-adapters/codex-driver.js +84 -9
  475. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  476. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts +23 -0
  477. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -0
  478. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +39 -0
  479. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -0
  480. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +17 -6
  481. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  482. package/data/build/dist/host/cli-adapters/command-code-driver.js +430 -20
  483. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  484. package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts +1 -1
  485. package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts.map +1 -1
  486. package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
  487. package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
  488. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  489. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +28 -0
  490. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  491. package/data/build/dist/host/cli-adapters/dsh-tool-history.d.ts.map +1 -1
  492. package/data/build/dist/host/cli-adapters/dsh-tool-history.js +23 -1
  493. package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -1
  494. package/data/build/dist/host/cli-adapters/feature.js +1 -1
  495. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  496. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +4 -2
  497. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  498. package/data/build/dist/host/cli-adapters/grok-driver.js +208 -9
  499. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  500. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts +2 -0
  501. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  502. package/data/build/dist/host/cli-adapters/json-rpc-process.js +8 -3
  503. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  504. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts +4 -0
  505. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  506. package/data/build/dist/host/cli-adapters/kimi-driver.js +11 -4
  507. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  508. package/data/build/dist/host/cli-adapters/mcode-driver.js +2 -2
  509. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  510. package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts.map +1 -1
  511. package/data/build/dist/host/cli-adapters/new-api-subscription.js +11 -58
  512. package/data/build/dist/host/cli-adapters/new-api-subscription.js.map +1 -1
  513. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +5 -2
  514. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  515. package/data/build/dist/host/cli-adapters/opencode-driver.js +136 -18
  516. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  517. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  518. package/data/build/dist/host/cli-adapters/pi-driver.js +2 -1
  519. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  520. package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -0
  521. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  522. package/data/build/dist/host/cli-adapters/process-utils.js +20 -0
  523. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  524. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +3 -0
  525. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  526. package/data/build/dist/host/cli-adapters/provider-subscription.js +42 -8
  527. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  528. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  529. package/data/build/dist/host/cli-adapters/registry.js +5 -3
  530. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  531. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  532. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +2 -9
  533. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  534. package/data/build/dist/host/cli-adapters/skill-filesystem.d.ts +25 -0
  535. package/data/build/dist/host/cli-adapters/skill-filesystem.d.ts.map +1 -0
  536. package/data/build/dist/host/cli-adapters/skill-filesystem.js +161 -0
  537. package/data/build/dist/host/cli-adapters/skill-filesystem.js.map +1 -0
  538. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +1 -0
  539. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  540. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +4 -0
  541. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  542. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts +8 -2
  543. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -1
  544. package/data/build/dist/host/cli-adapters/zcode-driver.js +166 -55
  545. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -1
  546. package/data/build/dist/host/cli-adapters/zcode-interactions.d.ts +18 -0
  547. package/data/build/dist/host/cli-adapters/zcode-interactions.d.ts.map +1 -0
  548. package/data/build/dist/host/cli-adapters/zcode-interactions.js +90 -0
  549. package/data/build/dist/host/cli-adapters/zcode-interactions.js.map +1 -0
  550. package/data/build/dist/host/cli-adapters/zcode-provider-config.d.ts +26 -0
  551. package/data/build/dist/host/cli-adapters/zcode-provider-config.d.ts.map +1 -0
  552. package/data/build/dist/host/cli-adapters/zcode-provider-config.js +102 -0
  553. package/data/build/dist/host/cli-adapters/zcode-provider-config.js.map +1 -0
  554. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts +2 -7
  555. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts.map +1 -1
  556. package/data/build/dist/host/cli-adapters/zcode-subscription.js.map +1 -1
  557. package/data/build/dist/host/cli-adapters/zcode-telemetry.d.ts +17 -0
  558. package/data/build/dist/host/cli-adapters/zcode-telemetry.d.ts.map +1 -0
  559. package/data/build/dist/host/cli-adapters/zcode-telemetry.js +124 -0
  560. package/data/build/dist/host/cli-adapters/zcode-telemetry.js.map +1 -0
  561. package/data/build/dist/host/cli-bridge/injections.d.ts +2 -9
  562. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  563. package/data/build/dist/host/cli-bridge/injections.js +7 -17
  564. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  565. package/data/build/dist/host/desktop-assistant/controller.d.ts +44 -0
  566. package/data/build/dist/host/desktop-assistant/controller.d.ts.map +1 -0
  567. package/data/build/dist/host/desktop-assistant/controller.js +150 -0
  568. package/data/build/dist/host/desktop-assistant/controller.js.map +1 -0
  569. package/data/build/dist/host/desktop-assistant/feature.d.ts +9 -0
  570. package/data/build/dist/host/desktop-assistant/feature.d.ts.map +1 -0
  571. package/data/build/dist/host/desktop-assistant/feature.js +102 -0
  572. package/data/build/dist/host/desktop-assistant/feature.js.map +1 -0
  573. package/data/build/dist/host/desktop-assistant/launcher.d.ts +5 -0
  574. package/data/build/dist/host/desktop-assistant/launcher.d.ts.map +1 -0
  575. package/data/build/dist/host/desktop-assistant/launcher.js +84 -0
  576. package/data/build/dist/host/desktop-assistant/launcher.js.map +1 -0
  577. package/data/build/dist/host/desktop-assistant/mac-agent.d.ts +5 -0
  578. package/data/build/dist/host/desktop-assistant/mac-agent.d.ts.map +1 -0
  579. package/data/build/dist/host/desktop-assistant/mac-agent.js +122 -0
  580. package/data/build/dist/host/desktop-assistant/mac-agent.js.map +1 -0
  581. package/data/build/dist/host/desktop-assistant/process.d.ts +4 -0
  582. package/data/build/dist/host/desktop-assistant/process.d.ts.map +1 -0
  583. package/data/build/dist/host/desktop-assistant/process.js +25 -0
  584. package/data/build/dist/host/desktop-assistant/process.js.map +1 -0
  585. package/data/build/dist/host/desktop-assistant/server.d.ts +12 -0
  586. package/data/build/dist/host/desktop-assistant/server.d.ts.map +1 -0
  587. package/data/build/dist/host/desktop-assistant/server.js +74 -0
  588. package/data/build/dist/host/desktop-assistant/server.js.map +1 -0
  589. package/data/build/dist/host/desktop-assistant/win-agent.d.ts +2 -0
  590. package/data/build/dist/host/desktop-assistant/win-agent.d.ts.map +1 -0
  591. package/data/build/dist/host/desktop-assistant/win-agent.js +197 -0
  592. package/data/build/dist/host/desktop-assistant/win-agent.js.map +1 -0
  593. package/data/build/dist/host/features/assistant-avatar-assets.d.ts +3 -0
  594. package/data/build/dist/host/features/assistant-avatar-assets.d.ts.map +1 -0
  595. package/data/build/dist/host/features/assistant-avatar-assets.js +3 -0
  596. package/data/build/dist/host/features/assistant-avatar-assets.js.map +1 -0
  597. package/data/build/dist/host/features/assistant-avatar-basics.d.ts +3 -0
  598. package/data/build/dist/host/features/assistant-avatar-basics.d.ts.map +1 -0
  599. package/data/build/dist/host/features/assistant-avatar-basics.js +34 -0
  600. package/data/build/dist/host/features/assistant-avatar-basics.js.map +1 -0
  601. package/data/build/dist/host/features/assistant-avatar-legacy-assets.d.ts +6 -0
  602. package/data/build/dist/host/features/assistant-avatar-legacy-assets.d.ts.map +1 -0
  603. package/data/build/dist/host/features/assistant-avatar-legacy-assets.js +146 -0
  604. package/data/build/dist/host/features/assistant-avatar-legacy-assets.js.map +1 -0
  605. package/data/build/dist/host/features/assistant-avatar-runtime.d.ts +20 -0
  606. package/data/build/dist/host/features/assistant-avatar-runtime.d.ts.map +1 -0
  607. package/data/build/dist/host/features/assistant-avatar-runtime.js +235 -0
  608. package/data/build/dist/host/features/assistant-avatar-runtime.js.map +1 -0
  609. package/data/build/dist/host/features/assistant-conversation-storage.d.ts +8 -0
  610. package/data/build/dist/host/features/assistant-conversation-storage.d.ts.map +1 -0
  611. package/data/build/dist/host/features/assistant-conversation-storage.js +38 -0
  612. package/data/build/dist/host/features/assistant-conversation-storage.js.map +1 -0
  613. package/data/build/dist/host/features/assistant-conversation.d.ts +57 -0
  614. package/data/build/dist/host/features/assistant-conversation.d.ts.map +1 -0
  615. package/data/build/dist/host/features/assistant-conversation.js +364 -0
  616. package/data/build/dist/host/features/assistant-conversation.js.map +1 -0
  617. package/data/build/dist/host/features/assistant-dispatch.d.ts +2 -2
  618. package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -1
  619. package/data/build/dist/host/features/assistant-dispatch.js +4 -3
  620. package/data/build/dist/host/features/assistant-dispatch.js.map +1 -1
  621. package/data/build/dist/host/features/assistant-index-analysis.d.ts +49 -0
  622. package/data/build/dist/host/features/assistant-index-analysis.d.ts.map +1 -0
  623. package/data/build/dist/host/features/assistant-index-analysis.js +255 -0
  624. package/data/build/dist/host/features/assistant-index-analysis.js.map +1 -0
  625. package/data/build/dist/host/features/assistant-index-journal.d.ts +20 -0
  626. package/data/build/dist/host/features/assistant-index-journal.d.ts.map +1 -0
  627. package/data/build/dist/host/features/assistant-index-journal.js +40 -0
  628. package/data/build/dist/host/features/assistant-index-journal.js.map +1 -0
  629. package/data/build/dist/host/features/assistant-index-retry.d.ts +12 -0
  630. package/data/build/dist/host/features/assistant-index-retry.d.ts.map +1 -0
  631. package/data/build/dist/host/features/assistant-index-retry.js +54 -0
  632. package/data/build/dist/host/features/assistant-index-retry.js.map +1 -0
  633. package/data/build/dist/host/features/assistant-index-updates.d.ts +40 -0
  634. package/data/build/dist/host/features/assistant-index-updates.d.ts.map +1 -0
  635. package/data/build/dist/host/features/assistant-index-updates.js +183 -0
  636. package/data/build/dist/host/features/assistant-index-updates.js.map +1 -0
  637. package/data/build/dist/host/features/assistant-lifecycle-settings.d.ts +5 -0
  638. package/data/build/dist/host/features/assistant-lifecycle-settings.d.ts.map +1 -0
  639. package/data/build/dist/host/features/assistant-lifecycle-settings.js +72 -0
  640. package/data/build/dist/host/features/assistant-lifecycle-settings.js.map +1 -0
  641. package/data/build/dist/host/features/assistant-management-tools.d.ts +34 -0
  642. package/data/build/dist/host/features/assistant-management-tools.d.ts.map +1 -0
  643. package/data/build/dist/host/features/assistant-management-tools.js +69 -0
  644. package/data/build/dist/host/features/assistant-management-tools.js.map +1 -0
  645. package/data/build/dist/host/features/assistant-prompts.d.ts +6 -0
  646. package/data/build/dist/host/features/assistant-prompts.d.ts.map +1 -0
  647. package/data/build/dist/host/features/assistant-prompts.js +62 -0
  648. package/data/build/dist/host/features/assistant-prompts.js.map +1 -0
  649. package/data/build/dist/host/features/assistant-session-index.d.ts +6 -1
  650. package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -1
  651. package/data/build/dist/host/features/assistant-session-index.js +11 -12
  652. package/data/build/dist/host/features/assistant-session-index.js.map +1 -1
  653. package/data/build/dist/host/features/assistant-structured-index.d.ts +21 -0
  654. package/data/build/dist/host/features/assistant-structured-index.d.ts.map +1 -0
  655. package/data/build/dist/host/features/assistant-structured-index.js +138 -0
  656. package/data/build/dist/host/features/assistant-structured-index.js.map +1 -0
  657. package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -1
  658. package/data/build/dist/host/features/assistant-summary.js +7 -1
  659. package/data/build/dist/host/features/assistant-summary.js.map +1 -1
  660. package/data/build/dist/host/features/assistant-text-chat.d.ts +29 -0
  661. package/data/build/dist/host/features/assistant-text-chat.d.ts.map +1 -0
  662. package/data/build/dist/host/features/assistant-text-chat.js +195 -0
  663. package/data/build/dist/host/features/assistant-text-chat.js.map +1 -0
  664. package/data/build/dist/host/features/assistant-tts-service.d.ts +47 -0
  665. package/data/build/dist/host/features/assistant-tts-service.d.ts.map +1 -0
  666. package/data/build/dist/host/features/assistant-tts-service.js +507 -0
  667. package/data/build/dist/host/features/assistant-tts-service.js.map +1 -0
  668. package/data/build/dist/host/features/assistant-voice-chat.d.ts +35 -0
  669. package/data/build/dist/host/features/assistant-voice-chat.d.ts.map +1 -0
  670. package/data/build/dist/host/features/assistant-voice-chat.js +133 -0
  671. package/data/build/dist/host/features/assistant-voice-chat.js.map +1 -0
  672. package/data/build/dist/host/features/assistant-voice-hotwords.d.ts +33 -0
  673. package/data/build/dist/host/features/assistant-voice-hotwords.d.ts.map +1 -0
  674. package/data/build/dist/host/features/assistant-voice-hotwords.js +114 -0
  675. package/data/build/dist/host/features/assistant-voice-hotwords.js.map +1 -0
  676. package/data/build/dist/host/features/assistant-voice-initialization.d.ts +26 -0
  677. package/data/build/dist/host/features/assistant-voice-initialization.d.ts.map +1 -0
  678. package/data/build/dist/host/features/assistant-voice-initialization.js +68 -0
  679. package/data/build/dist/host/features/assistant-voice-initialization.js.map +1 -0
  680. package/data/build/dist/host/features/assistant-voice-sources.d.ts +13 -0
  681. package/data/build/dist/host/features/assistant-voice-sources.d.ts.map +1 -0
  682. package/data/build/dist/host/features/assistant-voice-sources.js +72 -0
  683. package/data/build/dist/host/features/assistant-voice-sources.js.map +1 -0
  684. package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
  685. package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -1
  686. package/data/build/dist/host/features/assistant-voice-stream.js +208 -5
  687. package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -1
  688. package/data/build/dist/host/features/global-voice-rpc.d.ts +8 -1
  689. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
  690. package/data/build/dist/host/features/global-voice-rpc.js +1055 -153
  691. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
  692. package/data/build/dist/host/features/index.d.ts.map +1 -1
  693. package/data/build/dist/host/features/index.js +4 -0
  694. package/data/build/dist/host/features/index.js.map +1 -1
  695. package/data/build/dist/host/features/moss-tts-worker.d.ts +32 -0
  696. package/data/build/dist/host/features/moss-tts-worker.d.ts.map +1 -0
  697. package/data/build/dist/host/features/moss-tts-worker.js +216 -0
  698. package/data/build/dist/host/features/moss-tts-worker.js.map +1 -0
  699. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  700. package/data/build/dist/host/features/peer-host.js +38 -7
  701. package/data/build/dist/host/features/peer-host.js.map +1 -1
  702. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +11 -0
  703. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -1
  704. package/data/build/dist/host/features/sherpa-voice-runtime.js +72 -17
  705. package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -1
  706. package/data/build/dist/host/features/types.d.ts +9 -1
  707. package/data/build/dist/host/features/types.d.ts.map +1 -1
  708. package/data/build/dist/host/features/voice-model-management.d.ts +22 -0
  709. package/data/build/dist/host/features/voice-model-management.d.ts.map +1 -0
  710. package/data/build/dist/host/features/voice-model-management.js +178 -0
  711. package/data/build/dist/host/features/voice-model-management.js.map +1 -0
  712. package/data/build/dist/host/features/voice-model-probe.d.ts +8 -0
  713. package/data/build/dist/host/features/voice-model-probe.d.ts.map +1 -0
  714. package/data/build/dist/host/features/voice-model-probe.js +76 -0
  715. package/data/build/dist/host/features/voice-model-probe.js.map +1 -0
  716. package/data/build/dist/host/features/voice-model-setup.d.ts +5 -2
  717. package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -1
  718. package/data/build/dist/host/features/voice-model-setup.js +40 -13
  719. package/data/build/dist/host/features/voice-model-setup.js.map +1 -1
  720. package/data/build/dist/host/features/voice-process-environment.d.ts +3 -0
  721. package/data/build/dist/host/features/voice-process-environment.d.ts.map +1 -0
  722. package/data/build/dist/host/features/voice-process-environment.js +16 -0
  723. package/data/build/dist/host/features/voice-process-environment.js.map +1 -0
  724. package/data/build/dist/host/features/voice-python-runtime.d.ts +21 -0
  725. package/data/build/dist/host/features/voice-python-runtime.d.ts.map +1 -0
  726. package/data/build/dist/host/features/voice-python-runtime.js +189 -0
  727. package/data/build/dist/host/features/voice-python-runtime.js.map +1 -0
  728. package/data/build/dist/host/index-injection.d.ts.map +1 -1
  729. package/data/build/dist/host/index-injection.js +5 -1
  730. package/data/build/dist/host/index-injection.js.map +1 -1
  731. package/data/build/dist/host/index.d.ts +5 -0
  732. package/data/build/dist/host/index.d.ts.map +1 -1
  733. package/data/build/dist/host/index.js +33 -12
  734. package/data/build/dist/host/index.js.map +1 -1
  735. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  736. package/data/build/dist/host/lan-access-dsh.js +2 -1
  737. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  738. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +1 -0
  739. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -1
  740. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +1 -0
  741. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -1
  742. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +2 -0
  743. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
  744. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +5 -0
  745. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
  746. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
  747. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +15 -1
  748. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  749. package/data/build/dist/host/rpc.d.ts.map +1 -1
  750. package/data/build/dist/host/rpc.js +50 -4
  751. package/data/build/dist/host/rpc.js.map +1 -1
  752. package/data/build/dist/host/settings.d.ts +2 -1
  753. package/data/build/dist/host/settings.d.ts.map +1 -1
  754. package/data/build/dist/host/settings.js +77 -13
  755. package/data/build/dist/host/settings.js.map +1 -1
  756. package/data/build/dist/host/stage0-dev-hmr.d.ts +6 -0
  757. package/data/build/dist/host/stage0-dev-hmr.d.ts.map +1 -0
  758. package/data/build/dist/host/stage0-dev-hmr.js +20 -0
  759. package/data/build/dist/host/stage0-dev-hmr.js.map +1 -0
  760. package/data/build/dist/host/tar-archive.d.ts +8 -0
  761. package/data/build/dist/host/tar-archive.d.ts.map +1 -0
  762. package/data/build/dist/host/tar-archive.js +17 -0
  763. package/data/build/dist/host/tar-archive.js.map +1 -0
  764. package/data/build/dist/host/voice-diagnostics.d.ts +34 -0
  765. package/data/build/dist/host/voice-diagnostics.d.ts.map +1 -0
  766. package/data/build/dist/host/voice-diagnostics.js +124 -0
  767. package/data/build/dist/host/voice-diagnostics.js.map +1 -0
  768. package/data/build/dist/shared/assistant-attachments.d.ts +27 -0
  769. package/data/build/dist/shared/assistant-attachments.d.ts.map +1 -0
  770. package/data/build/dist/shared/assistant-attachments.js +45 -0
  771. package/data/build/dist/shared/assistant-attachments.js.map +1 -0
  772. package/data/build/dist/shared/assistant-avatar-adapters.d.ts +18 -0
  773. package/data/build/dist/shared/assistant-avatar-adapters.d.ts.map +1 -0
  774. package/data/build/dist/shared/assistant-avatar-adapters.js +119 -0
  775. package/data/build/dist/shared/assistant-avatar-adapters.js.map +1 -0
  776. package/data/build/dist/shared/assistant-avatar-catalog.d.ts +37 -0
  777. package/data/build/dist/shared/assistant-avatar-catalog.d.ts.map +1 -0
  778. package/data/build/dist/shared/assistant-avatar-catalog.js +21 -0
  779. package/data/build/dist/shared/assistant-avatar-catalog.js.map +1 -0
  780. package/data/build/dist/shared/assistant-avatar-engine.d.ts +31 -0
  781. package/data/build/dist/shared/assistant-avatar-engine.d.ts.map +1 -0
  782. package/data/build/dist/shared/assistant-avatar-engine.js +28 -0
  783. package/data/build/dist/shared/assistant-avatar-engine.js.map +1 -0
  784. package/data/build/dist/shared/assistant-avatar-installation.d.ts +17 -0
  785. package/data/build/dist/shared/assistant-avatar-installation.d.ts.map +1 -0
  786. package/data/build/dist/shared/assistant-avatar-installation.js +7 -0
  787. package/data/build/dist/shared/assistant-avatar-installation.js.map +1 -0
  788. package/data/build/dist/shared/assistant-avatar-legacy-resources.d.ts +6 -0
  789. package/data/build/dist/shared/assistant-avatar-legacy-resources.d.ts.map +1 -0
  790. package/data/build/dist/shared/assistant-avatar-legacy-resources.js +20 -0
  791. package/data/build/dist/shared/assistant-avatar-legacy-resources.js.map +1 -0
  792. package/data/build/dist/shared/assistant-avatar-legacy.d.ts +15 -0
  793. package/data/build/dist/shared/assistant-avatar-legacy.d.ts.map +1 -0
  794. package/data/build/dist/shared/assistant-avatar-legacy.js +34 -0
  795. package/data/build/dist/shared/assistant-avatar-legacy.js.map +1 -0
  796. package/data/build/dist/shared/assistant-avatar-presets.d.ts +3 -0
  797. package/data/build/dist/shared/assistant-avatar-presets.d.ts.map +1 -0
  798. package/data/build/dist/shared/assistant-avatar-presets.js +3 -0
  799. package/data/build/dist/shared/assistant-avatar-presets.js.map +1 -0
  800. package/data/build/dist/shared/assistant-avatar-registration.d.ts +16 -0
  801. package/data/build/dist/shared/assistant-avatar-registration.d.ts.map +1 -0
  802. package/data/build/dist/shared/assistant-avatar-registration.js +33 -0
  803. package/data/build/dist/shared/assistant-avatar-registration.js.map +1 -0
  804. package/data/build/dist/shared/assistant-avatar-resources.d.ts +26 -0
  805. package/data/build/dist/shared/assistant-avatar-resources.d.ts.map +1 -0
  806. package/data/build/dist/shared/assistant-avatar-resources.js +4 -0
  807. package/data/build/dist/shared/assistant-avatar-resources.js.map +1 -0
  808. package/data/build/dist/shared/assistant-avatar.d.ts +103 -0
  809. package/data/build/dist/shared/assistant-avatar.d.ts.map +1 -0
  810. package/data/build/dist/shared/assistant-avatar.js +240 -0
  811. package/data/build/dist/shared/assistant-avatar.js.map +1 -0
  812. package/data/build/dist/shared/assistant-commands.d.ts +3 -0
  813. package/data/build/dist/shared/assistant-commands.d.ts.map +1 -0
  814. package/data/build/dist/shared/assistant-commands.js +3 -0
  815. package/data/build/dist/shared/assistant-commands.js.map +1 -0
  816. package/data/build/dist/shared/assistant-lifecycle.d.ts +17 -0
  817. package/data/build/dist/shared/assistant-lifecycle.d.ts.map +1 -0
  818. package/data/build/dist/shared/assistant-lifecycle.js +45 -0
  819. package/data/build/dist/shared/assistant-lifecycle.js.map +1 -0
  820. package/data/build/dist/shared/assistant-message-timeline.d.ts +13 -0
  821. package/data/build/dist/shared/assistant-message-timeline.d.ts.map +1 -0
  822. package/data/build/dist/shared/assistant-message-timeline.js +22 -0
  823. package/data/build/dist/shared/assistant-message-timeline.js.map +1 -0
  824. package/data/build/dist/shared/assistant-prompts.d.ts +12 -0
  825. package/data/build/dist/shared/assistant-prompts.d.ts.map +1 -0
  826. package/data/build/dist/shared/assistant-prompts.js +32 -0
  827. package/data/build/dist/shared/assistant-prompts.js.map +1 -0
  828. package/data/build/dist/shared/assistant-tts.d.ts +93 -0
  829. package/data/build/dist/shared/assistant-tts.d.ts.map +1 -0
  830. package/data/build/dist/shared/assistant-tts.js +80 -0
  831. package/data/build/dist/shared/assistant-tts.js.map +1 -0
  832. package/data/build/dist/shared/assistant-voice-sessions.d.ts +13 -0
  833. package/data/build/dist/shared/assistant-voice-sessions.d.ts.map +1 -0
  834. package/data/build/dist/shared/assistant-voice-sessions.js +16 -0
  835. package/data/build/dist/shared/assistant-voice-sessions.js.map +1 -0
  836. package/data/build/dist/shared/contracts/assistant.d.ts +206 -0
  837. package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -1
  838. package/data/build/dist/shared/contracts/cli-adapter.d.ts +4 -0
  839. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  840. package/data/build/dist/shared/contracts/config.d.ts +23 -0
  841. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  842. package/data/build/dist/shared/contracts/config.js +2 -0
  843. package/data/build/dist/shared/contracts/config.js.map +1 -1
  844. package/data/build/dist/shared/contracts/peer-host.d.ts +2 -0
  845. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
  846. package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
  847. package/data/build/dist/shared/contracts/terminal-share.d.ts +27 -0
  848. package/data/build/dist/shared/contracts/terminal-share.d.ts.map +1 -0
  849. package/data/build/dist/shared/contracts/terminal-share.js +2 -0
  850. package/data/build/dist/shared/contracts/terminal-share.js.map +1 -0
  851. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  852. package/data/build/dist/shared/contracts/version.js +1 -1
  853. package/data/build/dist/shared/contracts/voice-runtime.d.ts +15 -1
  854. package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -1
  855. package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -1
  856. package/data/build/dist/shared/desktop-assistant.d.ts +35 -0
  857. package/data/build/dist/shared/desktop-assistant.d.ts.map +1 -0
  858. package/data/build/dist/shared/desktop-assistant.js +27 -0
  859. package/data/build/dist/shared/desktop-assistant.js.map +1 -0
  860. package/data/build/dist/shared/index.d.ts +16 -2
  861. package/data/build/dist/shared/index.d.ts.map +1 -1
  862. package/data/build/dist/shared/index.js +10 -0
  863. package/data/build/dist/shared/index.js.map +1 -1
  864. package/data/build/dist/shared/runtime-environment.d.ts +5 -0
  865. package/data/build/dist/shared/runtime-environment.d.ts.map +1 -0
  866. package/data/build/dist/shared/runtime-environment.js +7 -0
  867. package/data/build/dist/shared/runtime-environment.js.map +1 -0
  868. package/data/build/dist/shared/voice-diagnostics.d.ts +18 -0
  869. package/data/build/dist/shared/voice-diagnostics.d.ts.map +1 -0
  870. package/data/build/dist/shared/voice-diagnostics.js +57 -0
  871. package/data/build/dist/shared/voice-diagnostics.js.map +1 -0
  872. package/data/build/dist/shared/voice-initialization.d.ts +22 -0
  873. package/data/build/dist/shared/voice-initialization.d.ts.map +1 -0
  874. package/data/build/dist/shared/voice-initialization.js +4 -0
  875. package/data/build/dist/shared/voice-initialization.js.map +1 -0
  876. package/data/build/dist/shared/voice-models.d.ts +43 -0
  877. package/data/build/dist/shared/voice-models.d.ts.map +1 -1
  878. package/data/build/dist/shared/voice-models.js +23 -8
  879. package/data/build/dist/shared/voice-models.js.map +1 -1
  880. package/data/build/dist/shared/voice-stream.d.ts +12 -1
  881. package/data/build/dist/shared/voice-stream.d.ts.map +1 -1
  882. package/data/build/dist/shared/voice-stream.js +8 -1
  883. package/data/build/dist/shared/voice-stream.js.map +1 -1
  884. package/package.json +21 -3
  885. package/profile/README.md +2 -2
  886. package/profile/package.json +2 -2
  887. package/profile/version.json +1 -1
  888. package/version.json +1 -1
@@ -0,0 +1,10 @@
1
+ import { type AssistantAttachmentUpload } from '../../shared/assistant-attachments.js';
2
+ /** 只匹配完整指令,避免把路径、带参数文本或普通问题误当成破坏性操作。 */
3
+ export declare function readAssistantComposerCommand(text: string): 'clear' | undefined;
4
+ export declare function isAssistantClearCommandSuggestion(text: string): boolean;
5
+ /** 先归零再测量,删除内容也能缩回单行;超过视口上限后仅内部滚动。 */
6
+ export declare function resizeAssistantComposerTextarea(input: HTMLTextAreaElement): void;
7
+ export declare function validateAssistantFiles(files: readonly File[]): void;
8
+ /** 附件在点击发送时才编码;选择、删除或取消草稿不会在 Host 留下文件。 */
9
+ export declare function encodeAssistantFiles(files: readonly File[]): Promise<readonly AssistantAttachmentUpload[]>;
10
+ //# sourceMappingURL=assistant-composer-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-composer-input.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/assistant-composer-input.ts"],"names":[],"mappings":"AAAA,OAAO,EACwB,KAAK,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAG5G,wCAAwC;AACxC,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE9E;AACD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvE;AAED,sCAAsC;AACtC,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAQhF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,CAInE;AACD,2CAA2C;AAC3C,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC,CAQhH"}
@@ -0,0 +1,40 @@
1
+ import { ASSISTANT_ATTACHMENT_MAX_FILES, ASSISTANT_ATTACHMENT_MAX_BYTES, ASSISTANT_ATTACHMENT_MAX_TOTAL_BYTES, ASSISTANT_IMAGE_MEDIA_TYPES } from '../../shared/assistant-attachments.js';
2
+ import { ASSISTANT_CLEAR_COMMANDS } from '../../shared/assistant-commands.js';
3
+ /** 只匹配完整指令,避免把路径、带参数文本或普通问题误当成破坏性操作。 */
4
+ export function readAssistantComposerCommand(text) {
5
+ return ASSISTANT_CLEAR_COMMANDS.includes(text.trim().toLowerCase()) ? 'clear' : undefined;
6
+ }
7
+ export function isAssistantClearCommandSuggestion(text) {
8
+ const prefix = text.trim().toLowerCase();
9
+ return prefix.startsWith('/') && ASSISTANT_CLEAR_COMMANDS.some((command) => command.startsWith(prefix));
10
+ }
11
+ /** 先归零再测量,删除内容也能缩回单行;超过视口上限后仅内部滚动。 */
12
+ export function resizeAssistantComposerTextarea(input) {
13
+ const style = input.ownerDocument.defaultView?.getComputedStyle(input);
14
+ const minimum = Number.parseFloat(style?.minHeight ?? '') || 38;
15
+ const maximum = Number.parseFloat(style?.maxHeight ?? '') || 120;
16
+ input.style.height = '0px';
17
+ const height = input.scrollHeight;
18
+ input.style.height = `${Math.min(maximum, Math.max(minimum, height))}px`;
19
+ input.style.overflowY = height > maximum ? 'auto' : 'hidden';
20
+ }
21
+ export function validateAssistantFiles(files) {
22
+ if (files.length > ASSISTANT_ATTACHMENT_MAX_FILES)
23
+ throw new Error('awb.attachments.countError');
24
+ if (files.some((file) => file.size > ASSISTANT_ATTACHMENT_MAX_BYTES) || files.reduce((sum, file) => sum + file.size, 0) > ASSISTANT_ATTACHMENT_MAX_TOTAL_BYTES)
25
+ throw new Error('awb.attachments.sizeError');
26
+ if (files.some((file) => file.type.startsWith('image/') && !ASSISTANT_IMAGE_MEDIA_TYPES.some((type) => type === file.type)))
27
+ throw new Error('awb.attachments.typeError');
28
+ }
29
+ /** 附件在点击发送时才编码;选择、删除或取消草稿不会在 Host 留下文件。 */
30
+ export async function encodeAssistantFiles(files) {
31
+ validateAssistantFiles(files);
32
+ return await Promise.all(files.map(async (file) => {
33
+ const bytes = new Uint8Array(await file.arrayBuffer());
34
+ let binary = '';
35
+ for (let offset = 0; offset < bytes.length; offset += 8192)
36
+ binary += String.fromCharCode(...bytes.subarray(offset, offset + 8192));
37
+ return { name: file.name, mediaType: file.type, data: btoa(binary) };
38
+ }));
39
+ }
40
+ //# sourceMappingURL=assistant-composer-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-composer-input.js","sourceRoot":"","sources":["../../../../../src/client/features/assistant-composer-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,oCAAoC,EAC3G,2BAA2B,EAAkC,MAAM,uCAAuC,CAAA;AAC5G,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,wCAAwC;AACxC,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3F,CAAC;AACD,MAAM,UAAU,iCAAiC,CAAC,IAAY;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACxC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AACzG,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,+BAA+B,CAAC,KAA0B;IACxE,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,IAAI,GAAG,CAAA;IAChE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAA;IAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAA;IACjC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;IACxE,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAsB;IAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,8BAA8B;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAChG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,oCAAoC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC5M,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAC3K,CAAC;AACD,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAsB;IAC/D,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACtD,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;QACnI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IACtE,CAAC,CAAC,CAAC,CAAA;AACL,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { CodingNsSettings } from '../../shared/contracts/config.js';
2
+ import type { CodingNsSettingsOperation, CodingNsSettingsSnapshot, CodingNsSettingsStore } from '../../dsh-capabilities/settings-store.js';
3
+ import type { CodingNsClientServices } from './types.js';
4
+ type ConfigurationSnapshot = CodingNsSettingsSnapshot<CodingNsSettings> & {
5
+ readonly preparing: boolean;
6
+ };
7
+ /** 配置窗口的唯一草稿存储;普通写入只修改内存,正式运行仍读原服务。 */
8
+ export declare class AssistantConfigurationSession implements CodingNsSettingsStore<CodingNsSettings> {
9
+ private readonly original;
10
+ readonly services: CodingNsClientServices;
11
+ private snapshot;
12
+ private readonly listeners;
13
+ private readonly changes;
14
+ private readonly portraits;
15
+ private readonly portraitValues;
16
+ private readonly removedPortraits;
17
+ private readonly removals;
18
+ private readonly devices;
19
+ private releaseAdapter;
20
+ private preparationSupport;
21
+ private preparations;
22
+ private lifetime;
23
+ private localRevision;
24
+ constructor(original: CodingNsClientServices);
25
+ readonly getSnapshot: () => ConfigurationSnapshot;
26
+ readonly subscribe: (listener: () => void) => (() => void);
27
+ /** 权威快照变化仅更新未编辑字段,后台状态刷新不能抹掉模型等草稿。 */
28
+ sync(): void;
29
+ reset(): void;
30
+ mutate(operations: readonly CodingNsSettingsOperation[], expectedRevision?: number): Promise<boolean>;
31
+ set(field: string, value: unknown): Promise<boolean>;
32
+ unset(field: string): Promise<boolean>;
33
+ load(): Promise<void>;
34
+ reload(): Promise<void>;
35
+ /** 身份字段由生命周期接口校验,其余字段同一请求合并保存。 */
36
+ configurationPatch(): readonly CodingNsSettingsOperation[];
37
+ commitLocal(signal: AbortSignal): Promise<void>;
38
+ dispose(): void;
39
+ private requireWritable;
40
+ private publish;
41
+ private call;
42
+ private dispatch;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=assistant-configuration-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-configuration-session.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/assistant-configuration-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AAI1I,OAAO,KAAK,EAAE,sBAAsB,EAAqB,MAAM,YAAY,CAAA;AAa3E,KAAK,qBAAqB,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAA;AAGzG,uCAAuC;AACvC,qBAAa,6BAA8B,YAAW,qBAAqB,CAAC,gBAAgB,CAAC;IAgB/E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAfrC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqI;IAC/J,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAC3E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4D;IACrF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,aAAa,CAAI;gBAEI,QAAQ,EAAE,sBAAsB;IA0B7D,QAAQ,CAAC,WAAW,QAAO,qBAAqB,CAAiB;IACjE,QAAQ,CAAC,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAAkF;IAC3I,sCAAsC;IACtC,IAAI,IAAI,IAAI;IAMZ,KAAK,IAAI,IAAI;IAMP,MAAM,CAAC,UAAU,EAAE,SAAS,yBAAyB,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBrG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACpD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAC7B,kCAAkC;IAClC,kBAAkB,IAAI,SAAS,yBAAyB,EAAE;IAIpD,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD,OAAO,IAAI,IAAI;IACf,OAAO,CAAC,eAAe;IAGvB,OAAO,CAAC,OAAO;YAKD,IAAI;YASJ,QAAQ;CA4DvB"}
@@ -0,0 +1,252 @@
1
+ import { sameSettingsValue } from '../../dsh-capabilities/settings-store.js';
2
+ import { readAssistantTtsSettings, MOSS_BUILTIN_VOICES, validateAssistantTtsParameters } from '../../shared/assistant-tts.js';
3
+ import { getGlobalVoiceAdapter, registerGlobalVoiceAdapter } from '../global-voice-runtime-registry.js';
4
+ import { getAssistantAvatarRegistry, bindAssistantAvatarRegistry } from '../avatar/registry.js';
5
+ import { getAssistantAvatarManager, bindAssistantAvatarManager, AssistantAvatarManager } from '../avatar/manager.js';
6
+ import { AssistantAvatarPortraitService, assistantAvatarPortraitOverrideStore, bindAssistantAvatarPortraitService, getAssistantAvatarPortraitService } from '../avatar/portrait-service.js';
7
+ import { CODINGNS_RPC_CHANNEL } from '../../shared/contracts/transport.js';
8
+ import { hasAssistantAvatarConsent } from '../../shared/assistant-avatar-catalog.js';
9
+ import { findAssistantVoiceModel } from '../../shared/voice-models.js';
10
+ import { codingNsTranslator } from '../locale.js';
11
+ const resourceActions = new Set(['assistant/tts/setup', 'assistant/tts/import', 'assistant/voice/setup', 'assistant/voice/initialize', 'avatar/install', 'avatar/installCatalog']);
12
+ /** 配置窗口的唯一草稿存储;普通写入只修改内存,正式运行仍读原服务。 */
13
+ export class AssistantConfigurationSession {
14
+ original;
15
+ services;
16
+ snapshot;
17
+ listeners = new Set();
18
+ changes = new Map();
19
+ portraits = new Map();
20
+ portraitValues = new Map();
21
+ removedPortraits = new Set();
22
+ removals = new Map();
23
+ devices = new Map();
24
+ releaseAdapter;
25
+ preparationSupport;
26
+ preparations = 0;
27
+ lifetime = new AbortController();
28
+ localRevision = 0;
29
+ constructor(original) {
30
+ this.original = original;
31
+ this.snapshot = { ...original.settings.getSnapshot(), value: structuredClone(original.settings.getSnapshot().value), revision: this.localRevision, preparing: false };
32
+ this.services = { ...original, configurationDraft: true, settings: this, rpc: { call: (channel, endpoint, payload, signal) => this.call(channel, endpoint, payload, signal) } };
33
+ bindAssistantAvatarRegistry(this.services, getAssistantAvatarRegistry(original));
34
+ const overrides = {
35
+ read: async (key, signal) => this.portraitValues.get(key) ?? await assistantAvatarPortraitOverrideStore.read(key, signal),
36
+ write: async (key, id, _surface, preview, signal) => {
37
+ signal?.throwIfAborted();
38
+ const model = getAssistantAvatarManager(this.services).list().find((item) => item.id === id);
39
+ if (model === undefined)
40
+ return false;
41
+ this.portraitValues.set(key, preview);
42
+ this.portraits.set(key, { model, renderer: getAssistantAvatarRegistry(this.services).get(model.surfaces?.dialog?.renderer ?? model.renderer), preview });
43
+ return true;
44
+ },
45
+ removeModel: async (id) => { this.removedPortraits.add(id); for (const [key, item] of this.portraits)
46
+ if (item.model.id === id) {
47
+ this.portraits.delete(key);
48
+ this.portraitValues.delete(key);
49
+ } },
50
+ };
51
+ bindAssistantAvatarPortraitService(this.services, new AssistantAvatarPortraitService(undefined, undefined, undefined, undefined, undefined, overrides));
52
+ bindAssistantAvatarManager(this.services, new AssistantAvatarManager(this, getAssistantAvatarManager(original).adapters, undefined, undefined, this.services.rpc, (id) => { this.removedPortraits.add(id); }));
53
+ const adapter = getGlobalVoiceAdapter(original);
54
+ if (adapter !== undefined)
55
+ this.releaseAdapter = registerGlobalVoiceAdapter(this.services, new Proxy(adapter, { get: (target, key) => {
56
+ if (key === 'selectInputDevice' || key === 'selectOutputDevice')
57
+ return async (id) => { this.requireWritable(); this.devices.set(key === 'selectInputDevice' ? 'input' : 'output', id); };
58
+ if (key === 'inputDeviceId' || key === 'outputDeviceId')
59
+ return this.devices.get(key === 'inputDeviceId' ? 'input' : 'output') ?? Reflect.get(target, key);
60
+ const value = Reflect.get(target, key);
61
+ return typeof value === 'function' ? value.bind(target) : value;
62
+ } }));
63
+ }
64
+ getSnapshot = () => this.snapshot;
65
+ subscribe = (listener) => { this.listeners.add(listener); return () => this.listeners.delete(listener); };
66
+ /** 权威快照变化仅更新未编辑字段,后台状态刷新不能抹掉模型等草稿。 */
67
+ sync() {
68
+ const fresh = this.original.settings.getSnapshot();
69
+ let value = structuredClone(fresh.value);
70
+ if (value !== undefined)
71
+ for (const operation of this.changes.values())
72
+ value = apply(value, operation);
73
+ this.publish({ ...fresh, value, revision: this.localRevision });
74
+ }
75
+ reset() {
76
+ this.lifetime.abort();
77
+ this.lifetime = new AbortController();
78
+ this.preparationSupport = undefined;
79
+ this.changes.clear();
80
+ this.portraits.clear();
81
+ this.portraitValues.clear();
82
+ this.removedPortraits.clear();
83
+ this.removals.clear();
84
+ this.devices.clear();
85
+ getAssistantAvatarPortraitService(this.services).dispose();
86
+ this.localRevision++;
87
+ this.sync();
88
+ }
89
+ async mutate(operations, expectedRevision) {
90
+ this.requireWritable();
91
+ if (expectedRevision !== undefined && expectedRevision !== this.localRevision)
92
+ throw new Error('settings namespace "assistant-draft" changed since it was read (expected revision)');
93
+ for (const operation of operations) {
94
+ if (operation.path[0] !== 'assistant' || operation.path.length < 2 || operation.path.length > 4
95
+ || operation.path.some((key) => !/^[A-Za-z][A-Za-z0-9_-]*$/u.test(key) || ['constructor', 'prototype'].includes(key)))
96
+ throw new Error('配置草稿只允许修改助理字段');
97
+ }
98
+ let value = this.snapshot.value;
99
+ for (const operation of operations) {
100
+ value = apply(value, operation);
101
+ const path = operation.path.join('.');
102
+ // 父字段替换覆盖更早的子字段;重新编辑的字段排到末尾,刷新时按真实顺序重放。
103
+ for (const key of this.changes.keys())
104
+ if (key === path || key.startsWith(path + '.'))
105
+ this.changes.delete(key);
106
+ this.changes.set(path, structuredClone(operation));
107
+ }
108
+ this.localRevision++;
109
+ this.publish({ ...this.snapshot, value, revision: this.localRevision });
110
+ return true;
111
+ }
112
+ async set(field, value) { return this.mutate([{ op: 'set', path: field.split('.'), value }]); }
113
+ async unset(field) { return this.mutate([{ op: 'unset', path: field.split('.') }]); }
114
+ async load() { this.sync(); }
115
+ async reload() { await this.original.settings.reload?.(); this.sync(); }
116
+ /** 身份字段由生命周期接口校验,其余字段同一请求合并保存。 */
117
+ configurationPatch() {
118
+ return [...this.changes.values()].filter((operation) => ['appearance', 'voice', 'tts', 'prompts'].includes(operation.path[1]))
119
+ .map((operation) => ({ ...operation, path: operation.path.slice(1) }));
120
+ }
121
+ async commitLocal(signal) {
122
+ for (const item of this.portraits.values())
123
+ await getAssistantAvatarPortraitService(this.original).setPortrait(item.model, item.renderer, item.preview, signal);
124
+ const adapter = getGlobalVoiceAdapter(this.original);
125
+ for (const [direction, id] of this.devices) {
126
+ signal.throwIfAborted();
127
+ await (direction === 'input' ? adapter?.selectInputDevice(id) : adapter?.selectOutputDevice(id));
128
+ }
129
+ for (const id of this.removedPortraits)
130
+ getAssistantAvatarPortraitService(this.original).removeModel(id);
131
+ for (const { endpoint, payload } of this.removals.values()) {
132
+ const result = await this.original.rpc.call(CODINGNS_RPC_CHANNEL, endpoint, payload, signal);
133
+ if (!result.ok)
134
+ throw new Error(result.error.message);
135
+ }
136
+ }
137
+ dispose() { this.lifetime.abort(); this.releaseAdapter?.(); getAssistantAvatarPortraitService(this.services).dispose(); this.listeners.clear(); }
138
+ requireWritable() {
139
+ if (!this.original.settings.getSnapshot().writable || !this.snapshot.writable || this.snapshot.status !== 'ready' || this.snapshot.value === undefined)
140
+ throw new Error('当前助理配置不可写');
141
+ }
142
+ publish(next) {
143
+ const snapshot = { ...next, preparing: this.preparations > 0 };
144
+ if (sameSettingsValue(this.snapshot, snapshot))
145
+ return;
146
+ this.snapshot = snapshot;
147
+ for (const listener of this.listeners)
148
+ listener();
149
+ }
150
+ async call(channel, endpoint, payload, signal) {
151
+ // 关闭后的租约释放仍必须发送,不能被草稿取消信号挡住。
152
+ if (endpoint === 'avatar/releasePreview')
153
+ return this.original.rpc.call(channel, endpoint, payload, signal);
154
+ const ownedSignal = AbortSignal.any([this.lifetime.signal, ...(signal === undefined ? [] : [signal])]);
155
+ const preparing = resourceActions.has(endpoint);
156
+ if (preparing) {
157
+ this.preparations++;
158
+ this.publish(this.snapshot);
159
+ }
160
+ try {
161
+ return await this.dispatch(channel, endpoint, payload, ownedSignal);
162
+ }
163
+ finally {
164
+ if (preparing) {
165
+ this.preparations--;
166
+ this.publish(this.snapshot);
167
+ }
168
+ }
169
+ }
170
+ async dispatch(channel, endpoint, payload, signal) {
171
+ signal?.throwIfAborted();
172
+ const value = payload;
173
+ // 调试窗口的模型选择只用于显式测试,不提前改变正式索引的模型。
174
+ if (endpoint === 'assistant/index/configure')
175
+ return { ok: true, value: { configured: true } };
176
+ // 第三方目录的权限记录也属于配置,首次开启先统一保存再读取目录。
177
+ if (endpoint === 'avatar/catalog' && !hasAssistantAvatarConsent(this.original.settings.getSnapshot().value?.assistant.appearance?.thirdPartyConsent))
178
+ return { ok: true, value: [] };
179
+ if (endpoint === 'avatar/remove') {
180
+ this.requireWritable();
181
+ this.removals.set(endpoint + ':' + String(value?.id), { endpoint, payload });
182
+ return { ok: true, value: undefined };
183
+ }
184
+ if (['assistant/tts/select', 'assistant/tts/configure', 'assistant/tts/remove'].includes(endpoint)) {
185
+ const tts = readAssistantTtsSettings(this.snapshot.value.assistant.tts);
186
+ const next = endpoint.endsWith('/configure') ? { ...tts, parameters: validateAssistantTtsParameters(value?.parameters, tts.parameters) }
187
+ : endpoint.endsWith('/remove') ? { ...tts, voices: tts.voices.filter((voice) => voice.id !== value?.id), selectedId: tts.selectedId === value?.id ? 'moss:Junhao' : tts.selectedId }
188
+ : { ...tts, selectedId: value?.id ?? tts.selectedId, backend: value?.backend === 'browser' ? 'browser' : 'moss-onnx' };
189
+ await this.set('assistant.tts', next);
190
+ return this.call(channel, 'assistant/tts/catalog', {}, signal);
191
+ }
192
+ const preparing = ['assistant/tts/setup', 'assistant/tts/import', 'assistant/voice/setup', 'assistant/voice/initialize'].includes(endpoint);
193
+ if (preparing) {
194
+ this.requireWritable();
195
+ // 旧 Host 可能忽略 prepareOnly,先确认能力,不能静默退回立即启用。
196
+ this.preparationSupport ??= this.original.rpc.call(channel, 'assistant/configuration/capabilities', {}, signal)
197
+ .then((response) => response.ok && response.value?.prepareOnly === true);
198
+ if (!await this.preparationSupport) {
199
+ const t = codingNsTranslator(this.original.locale);
200
+ return { ok: false, error: { code: 'UNSUPPORTED', message: t('awb.preparationUnsupported') } };
201
+ }
202
+ signal?.throwIfAborted();
203
+ }
204
+ const preparedModelId = endpoint === 'assistant/voice/initialize' ? findAssistantVoiceModel(this.snapshot.value.assistant.voice.modelId ?? '')?.id : undefined;
205
+ const result = await this.original.rpc.call(channel, endpoint, preparing ? { ...value, ...(preparedModelId === undefined ? {} : { modelId: preparedModelId }), prepareOnly: true } : payload, signal);
206
+ signal.throwIfAborted();
207
+ if (!result.ok)
208
+ return result;
209
+ if (preparing) {
210
+ const prepared = result.value;
211
+ if (endpoint === 'assistant/voice/setup' && prepared.voice !== undefined)
212
+ await this.set('assistant.voice', prepared.voice);
213
+ if (endpoint === 'assistant/voice/initialize') {
214
+ if (prepared.voice !== undefined)
215
+ await this.set('assistant.voice', prepared.voice);
216
+ await this.set('assistant.tts', { ...readAssistantTtsSettings(this.snapshot.value.assistant.tts), backend: 'moss-onnx' });
217
+ }
218
+ if (endpoint === 'assistant/tts/setup')
219
+ await this.set('assistant.tts', { ...readAssistantTtsSettings(this.snapshot.value.assistant.tts), backend: 'moss-onnx' });
220
+ if (endpoint === 'assistant/tts/import') {
221
+ const current = readAssistantTtsSettings(this.snapshot.value.assistant.tts), incoming = prepared.settings;
222
+ const voices = new Map([...current.voices, ...incoming.voices].map((voice) => [voice.id, voice]));
223
+ await this.set('assistant.tts', { ...current, ...incoming, voices: [...voices.values()] });
224
+ }
225
+ }
226
+ if (endpoint.startsWith('assistant/tts/') && result.value?.settings !== undefined) {
227
+ const raw = this.snapshot.value.assistant.tts;
228
+ const settings = { ...readAssistantTtsSettings(raw), ...(raw?.parameters === undefined ? {} : { parameters: raw.parameters }) };
229
+ return { ok: true, value: { ...result.value, settings, voices: [...MOSS_BUILTIN_VOICES, ...settings.voices] } };
230
+ }
231
+ if (endpoint === 'assistant/voice/initialization' || endpoint === 'assistant/voice/initialize') {
232
+ const snapshot = result.value, settings = readAssistantTtsSettings(this.snapshot.value.assistant.tts), voice = this.snapshot.value.assistant.voice;
233
+ const model = findAssistantVoiceModel(voice.modelId ?? '');
234
+ return { ok: true, value: { ...snapshot, modelId: voice.modelId || snapshot.modelId, modelLabel: model?.label ?? snapshot.modelLabel,
235
+ ready: voice.initialized && snapshot.tts.status.ready && settings.backend === 'moss-onnx',
236
+ tts: { ...snapshot.tts, settings, voices: [...MOSS_BUILTIN_VOICES, ...settings.voices] } } };
237
+ }
238
+ return result;
239
+ }
240
+ }
241
+ function apply(value, operation) {
242
+ const next = structuredClone(value), path = operation.path, root = next;
243
+ let target = root;
244
+ for (const key of path.slice(0, -1))
245
+ target = target[key] ??= {};
246
+ if (operation.op === 'unset')
247
+ delete target[path.at(-1)];
248
+ else
249
+ target[path.at(-1)] = structuredClone(operation.value);
250
+ return next;
251
+ }
252
+ //# sourceMappingURL=assistant-configuration-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-configuration-session.js","sourceRoot":"","sources":["../../../../../src/client/features/assistant-configuration-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ import type { CodingNsTranslator } from '../locale.js';
3
+ declare const tabs: readonly [{
4
+ readonly id: "basic";
5
+ readonly label: "awb.tab.basic";
6
+ }, {
7
+ readonly id: "appearance";
8
+ readonly label: "awb.tab.appearance";
9
+ }, {
10
+ readonly id: "voice";
11
+ readonly label: "awb.tab.voice";
12
+ }, {
13
+ readonly id: "more";
14
+ readonly label: "awb.more";
15
+ }];
16
+ export type AssistantConfigurationTab = typeof tabs[number]['id'];
17
+ /** 延迟挂载尚未访问的页,访问后保留实例,避免切换丢失资源表单或中断安装。 */
18
+ export declare function AssistantConfigurationTabs({ active, visited, panels, preview, t, onChange }: {
19
+ readonly active: AssistantConfigurationTab;
20
+ readonly visited: readonly AssistantConfigurationTab[];
21
+ readonly panels: Readonly<Record<AssistantConfigurationTab, ReactNode>>;
22
+ readonly preview: ReactNode;
23
+ readonly t: CodingNsTranslator;
24
+ readonly onChange: (tab: AssistantConfigurationTab) => void;
25
+ }): ReactElement;
26
+ /** 标签可用方向键、Home 和 End 切换,只有当前标签进入顺序焦点。 */
27
+ export declare function AssistantConfigurationTabBar({ id, active, t, onChange }: {
28
+ readonly id: string;
29
+ readonly active: AssistantConfigurationTab;
30
+ readonly t: CodingNsTranslator;
31
+ readonly onChange: (tab: AssistantConfigurationTab) => void;
32
+ }): ReactElement;
33
+ export {};
34
+ //# sourceMappingURL=assistant-configuration-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-configuration-tabs.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/assistant-configuration-tabs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAGtD,QAAA,MAAM,IAAI;;;;;;;;;;;;EAGA,CAAA;AACV,MAAM,MAAM,yBAAyB,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAEjE,0CAA0C;AAC1C,wBAAgB,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;IAC5F,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAA;IACtD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC,CAAA;IACvE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,IAAI,CAAA;CAC5D,GAAG,YAAY,CAcf;AAED,0CAA0C;AAC1C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;IACxE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;IAC/F,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,IAAI,CAAA;CAC5D,GAAG,YAAY,CAwBf"}
@@ -0,0 +1,48 @@
1
+ import { createElement, useId } from 'react';
2
+ import { dshThemeColor } from '../theme.js';
3
+ const tabs = [
4
+ { id: 'basic', label: 'awb.tab.basic' }, { id: 'appearance', label: 'awb.tab.appearance' },
5
+ { id: 'voice', label: 'awb.tab.voice' }, { id: 'more', label: 'awb.more' },
6
+ ];
7
+ /** 延迟挂载尚未访问的页,访问后保留实例,避免切换丢失资源表单或中断安装。 */
8
+ export function AssistantConfigurationTabs({ active, visited, panels, preview, t, onChange }) {
9
+ const id = useId();
10
+ return createElement('div', { 'data-codingns-configuration-tabs': true, style: { display: 'grid', gap: 11, minWidth: 0 } }, createElement(AssistantConfigurationTabBar, { id, active, t, onChange }), createElement('div', { style: { display: 'flex', flexWrap: 'wrap', alignItems: 'stretch', gap: 22, minWidth: 0 } }, createElement('div', { style: { flex: '1 1 330px', minWidth: 0 } }, ...tabs.map((tab) => createElement('section', {
11
+ key: tab.id, id: `${id}-panel-${tab.id}`, role: 'tabpanel', 'aria-labelledby': `${id}-tab-${tab.id}`,
12
+ hidden: tab.id !== active, tabIndex: 0, 'data-codingns-configuration-page': tab.id,
13
+ style: { display: tab.id === active ? 'grid' : 'none', gap: 11, minWidth: 0 },
14
+ }, tab.id === active || visited.includes(tab.id) ? panels[tab.id] : null))),
15
+ // 更多设置使用全宽;预览实例保留,来回切换不重新加载所选形象。
16
+ createElement('div', { hidden: active === 'more', 'data-codingns-configuration-preview': true,
17
+ style: { display: active === 'more' ? 'none' : 'flex', flex: '1 1 290px', minWidth: 0 } }, preview)));
18
+ }
19
+ /** 标签可用方向键、Home 和 End 切换,只有当前标签进入顺序焦点。 */
20
+ export function AssistantConfigurationTabBar({ id, active, t, onChange }) {
21
+ const navigate = (event, index) => {
22
+ let next;
23
+ if (event.key === 'ArrowRight')
24
+ next = (index + 1) % tabs.length;
25
+ else if (event.key === 'ArrowLeft')
26
+ next = (index + tabs.length - 1) % tabs.length;
27
+ else if (event.key === 'Home')
28
+ next = 0;
29
+ else if (event.key === 'End')
30
+ next = tabs.length - 1;
31
+ else
32
+ return;
33
+ event.preventDefault();
34
+ onChange(tabs[next].id);
35
+ event.currentTarget.parentElement?.querySelectorAll('[role="tab"]')[next]?.focus();
36
+ };
37
+ return createElement('div', { role: 'tablist', 'aria-label': t('awb.configure'),
38
+ style: { position: 'sticky', top: 0, zIndex: 2, display: 'flex', gap: 4, padding: 4, borderRadius: 12,
39
+ background: dshThemeColor.cardBackground, border: `1px solid ${dshThemeColor.border}`, overflowX: 'auto', minWidth: 0 } }, ...tabs.map((tab, index) => createElement('button', { key: tab.id, type: 'button', role: 'tab', id: `${id}-tab-${tab.id}`,
40
+ 'aria-controls': `${id}-panel-${tab.id}`, 'aria-selected': active === tab.id, tabIndex: active === tab.id ? 0 : -1,
41
+ onClick: () => onChange(tab.id), onKeyDown: (event) => navigate(event, index),
42
+ style: { flex: '1 0 auto', minHeight: 36, border: 0, borderRadius: 8, padding: '7px 12px', whiteSpace: 'nowrap', cursor: 'pointer',
43
+ font: 'inherit', fontSize: 13, fontWeight: active === tab.id ? 600 : 400,
44
+ color: active === tab.id ? dshThemeColor.labelPrimary : dshThemeColor.labelSecondary,
45
+ background: active === tab.id ? dshThemeColor.pageBackground : 'transparent',
46
+ boxShadow: active === tab.id ? dshThemeColor.subtleShadow : 'none' }, }, t(tab.label))));
47
+ }
48
+ //# sourceMappingURL=assistant-configuration-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-configuration-tabs.js","sourceRoot":"","sources":["../../../../../src/client/features/assistant-configuration-tabs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { AssistantConversationMessage, AssistantToolCall } from '../../shared/contracts/assistant.js';
3
+ import type { AssistantAvatarModel } from '../../shared/assistant-avatar.js';
4
+ import type { CodingNsTranslator } from '../locale.js';
5
+ import type { CodingNsClientServices } from './types.js';
6
+ /** 聊天和语音详情共用消息样式与静态头像,方向只由所在视图指定。 */
7
+ export declare function AssistantConversationMessageView({ message, name, t, services, model, side, streaming }: {
8
+ readonly message: Pick<AssistantConversationMessage, 'role' | 'text' | 'attachments' | 'interrupted' | 'toolCalls'>;
9
+ readonly name: string;
10
+ readonly t: CodingNsTranslator;
11
+ readonly services?: CodingNsClientServices | undefined;
12
+ readonly model?: AssistantAvatarModel | undefined;
13
+ readonly side?: 'left' | 'right';
14
+ readonly streaming?: boolean;
15
+ }): ReactElement;
16
+ /** 文字聊天、实时字幕与通话历史共用同一时间线,不额外生成工具汇总区。 */
17
+ export declare function AssistantMessageContentView({ text, calls, t }: {
18
+ readonly text: string;
19
+ readonly calls?: readonly AssistantToolCall[] | undefined;
20
+ readonly t: CodingNsTranslator;
21
+ }): ReactElement;
22
+ /** 工具信息单独展示,不拼入消息正文,字幕与语音合成都只使用原始 text。 */
23
+ export declare function AssistantToolCallsView({ calls, t }: {
24
+ readonly calls?: readonly AssistantToolCall[] | undefined;
25
+ readonly t: CodingNsTranslator;
26
+ }): ReactElement | null;
27
+ //# sourceMappingURL=assistant-conversation-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-conversation-message.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/assistant-conversation-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC1G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAIxD,qCAAqC;AACrC,wBAAgB,gCAAgC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAiB,EAAE,EAAE;IAC/G,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC,CAAA;IACnH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAA;IACzG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/D,GAAG,YAAY,CAcf;AAED,wCAAwC;AACxC,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;CACjH,GAAG,YAAY,CAKf;AAED,2CAA2C;AAC3C,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAAG,YAAY,GAAG,IAAI,CAKvK"}
@@ -0,0 +1,55 @@
1
+ import { createElement, Fragment } from 'react';
2
+ import { AssistantAvatarPortrait } from '../avatar/portrait.js';
3
+ import { dshThemeColor } from '../theme.js';
4
+ import { assistantMessageTimeline } from '../../shared/assistant-message-timeline.js';
5
+ import { AssistantRecordChevron, AssistantRecordStyle } from './assistant-record-style.js';
6
+ /** 聊天和语音详情共用消息样式与静态头像,方向只由所在视图指定。 */
7
+ export function AssistantConversationMessageView({ message, name, t, services, model, side, streaming = false }) {
8
+ return createElement('article', { 'data-codingns-assistant-message': message.role,
9
+ ...(side === undefined ? {} : { 'data-codingns-message-side': side }), ...(streaming ? { role: 'status' } : {}),
10
+ style: { padding: '11px 14px', borderRadius: 10, background: message.role === 'user' ? dshThemeColor.surfaceSubtle : 'transparent',
11
+ justifySelf: side === 'left' ? 'start' : side === 'right' || message.role === 'user' ? 'end' : 'stretch',
12
+ maxWidth: side === undefined ? '100%' : '88%', minWidth: 0, boxSizing: 'border-box', fontSize: 14, lineHeight: 1.65, whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' } }, createElement('div', { style: { display: 'flex', alignItems: 'center', justifyContent: side === 'right' ? 'flex-end' : 'flex-start', gap: 7, marginBottom: 5 } }, message.role !== 'assistant' || services === undefined || model === undefined ? null : createElement(AssistantAvatarPortrait, { services, model }), createElement('small', { style: { color: dshThemeColor.labelSecondary } }, message.role === 'user' ? t('voice.dialog.user') : name, message.interrupted ? ' · ' + t('awb.call.interrupted') : '')), createElement(AssistantMessageContentView, { text: message.text, calls: message.role === 'assistant' ? message.toolCalls : undefined, t }), message.attachments?.length ? createElement('div', { 'data-codingns-assistant-message-attachments': true, style: { display: 'flex', flexWrap: 'wrap', gap: 6, marginTop: 8 } }, ...message.attachments.map((item) => createElement('span', { key: item.attachment.attachmentId, title: item.attachment.name,
13
+ style: { fontSize: 12, padding: '3px 8px', borderRadius: 8, border: `1px solid ${dshThemeColor.border}` } }, item.attachment.name || t('awb.attachments.unnamed')))) : null);
14
+ }
15
+ /** 文字聊天、实时字幕与通话历史共用同一时间线,不额外生成工具汇总区。 */
16
+ export function AssistantMessageContentView({ text, calls, t }) {
17
+ return createElement(Fragment, null, ...assistantMessageTimeline(text, calls).map((part) => part.kind === 'tool'
18
+ ? createElement(AssistantToolCallsView, { key: part.key, calls: [part.call], t })
19
+ : createElement('div', { key: part.key, 'data-codingns-assistant-text': true,
20
+ style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' } }, part.text)));
21
+ }
22
+ /** 工具信息单独展示,不拼入消息正文,字幕与语音合成都只使用原始 text。 */
23
+ export function AssistantToolCallsView({ calls, t }) {
24
+ if (!calls?.length)
25
+ return null;
26
+ return createElement('div', { 'data-codingns-assistant-tools': true,
27
+ style: { display: 'grid', gap: 6, marginBlock: 6, textAlign: 'left', whiteSpace: 'normal', minWidth: 0 } }, createElement(AssistantRecordStyle), ...calls.map((call) => createElement(AssistantToolCallView, { key: call.id, call, t })));
28
+ }
29
+ /** 整个标题栏就是展开入口;实时状态更新不替换 details,保留用户的展开状态。 */
30
+ function AssistantToolCallView({ call, t }) {
31
+ const label = t(call.kind === 'web-search' ? 'awb.call.webSearch' : call.kind === 'attachment' ? 'awb.call.attachment' : 'awb.call.workspace');
32
+ const status = t(`awb.call.tool.${call.state}`);
33
+ const color = call.state === 'failed' ? dshThemeColor.error : call.state === 'completed' ? dshThemeColor.success
34
+ : call.state === 'running' ? dshThemeColor.accent : dshThemeColor.labelSecondary;
35
+ const startedAt = new Date(call.startedAt);
36
+ return createElement('article', { 'data-codingns-assistant-tool': call.name, 'data-state': call.state,
37
+ style: { borderRadius: 10, border: `1px solid ${dshThemeColor.border}`, background: dshThemeColor.surfaceSubtle,
38
+ color: dshThemeColor.labelPrimary, fontSize: 12, lineHeight: 1.4, minWidth: 0 } }, createElement('details', { className: 'codingns-assistant-tool-details' }, createElement('summary', { className: 'codingns-assistant-tool-summary', title: t('awb.call.toolDetails'),
39
+ 'aria-label': `${label} · ${call.name} · ${status} · ${t('awb.call.toolDetails')}`,
40
+ style: { display: 'flex', alignItems: 'center', gap: 8, padding: '8px 10px', minWidth: 0 } }, createElement('span', { style: { display: 'grid', placeItems: 'center', flexShrink: 0, width: 28, height: 28, borderRadius: 8,
41
+ color, background: `color-mix(in srgb, ${color} 9%, transparent)` } }, createElement(AssistantToolIcon, { kind: call.kind })), createElement('span', { style: { flex: '1 1 auto', minWidth: 0, display: 'grid', gap: 1 } }, createElement('strong', { style: { fontSize: 12, fontWeight: 600 } }, label), createElement('span', { className: 'codingns-assistant-tool-name', title: call.name, style: { color: dshThemeColor.labelSecondary, fontFamily: dshThemeColor.codeFont,
42
+ fontSize: 11, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' } }, call.name)), createElement('span', { style: { display: 'grid', justifyItems: 'end', gap: 3, flexShrink: 0 } }, createElement('span', { role: 'status', style: { display: 'inline-flex', alignItems: 'center', gap: 4, color,
43
+ padding: '1px 6px', borderRadius: 5, background: `color-mix(in srgb, ${color} 9%, transparent)`, fontSize: 11, whiteSpace: 'nowrap' } }, createElement('span', { 'aria-hidden': true, style: { width: 4, height: 4, borderRadius: '50%', background: 'currentColor' } }), status), createElement('time', { dateTime: Number.isNaN(startedAt.valueOf()) ? undefined : startedAt.toISOString(), title: startedAt.toLocaleString(),
44
+ style: { color: dshThemeColor.labelTertiary, fontSize: 10, fontVariantNumeric: 'tabular-nums', whiteSpace: 'nowrap' } }, startedAt.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false }))), createElement(AssistantRecordChevron)), createElement('div', { style: { display: 'grid', gap: 8, padding: '9px 10px 10px', borderTop: `1px solid ${dshThemeColor.border}`, minWidth: 0 } }, ...[[t('awb.call.arguments'), call.arguments], [t('awb.call.result'), call.result]].map(([heading, value]) => createElement('div', { key: heading, style: { minWidth: 0 } }, createElement('small', { style: { color: dshThemeColor.labelSecondary, fontSize: 11, fontWeight: 500 } }, heading), createElement('pre', { tabIndex: 0, 'aria-label': heading, style: { margin: '4px 0 0', padding: '6px 8px', borderRadius: 6,
45
+ background: dshThemeColor.cardBackground, maxHeight: 160, overflowY: 'auto', overscrollBehavior: 'contain', scrollbarWidth: 'thin',
46
+ whiteSpace: 'pre-wrap', overflowWrap: 'anywhere', fontFamily: dshThemeColor.codeFont, fontSize: 11, lineHeight: 1.5 } }, value || '—'))))));
47
+ }
48
+ function AssistantToolIcon({ kind }) {
49
+ const path = kind === 'web-search' ? 'M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0ZM3 12h18M12 3a17 17 0 0 1 0 18 17 17 0 0 1 0-18Z'
50
+ : kind === 'attachment' ? 'M14 3H6v18h12V7l-4-4Zm0 0v5h4M9 12h6m-6 4h6'
51
+ : 'M3 6h7l2 2h9v12H3V6Zm0 4h18';
52
+ return createElement('svg', { width: 16, height: 16, viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: 1.7,
53
+ strokeLinecap: 'round', strokeLinejoin: 'round', 'aria-hidden': true }, createElement('path', { d: path }));
54
+ }
55
+ //# sourceMappingURL=assistant-conversation-message.js.map