@jingyi0605/codingns4dsh 0.2.1-beta.3 → 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 (758) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +95 -8
  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 +24898 -2803
  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/terminalAuth.d.ts.map +1 -1
  258. package/data/build/dist/client/locales/terminalAuth.js +80 -0
  259. package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
  260. package/data/build/dist/client/locales/voiceModels.d.ts +45 -0
  261. package/data/build/dist/client/locales/voiceModels.d.ts.map +1 -0
  262. package/data/build/dist/client/locales/voiceModels.js +85 -0
  263. package/data/build/dist/client/locales/voiceModels.js.map +1 -0
  264. package/data/build/dist/client/mobile-rightbar-tabs-dom.d.ts +29 -0
  265. package/data/build/dist/client/mobile-rightbar-tabs-dom.d.ts.map +1 -0
  266. package/data/build/dist/client/mobile-rightbar-tabs-dom.js +93 -0
  267. package/data/build/dist/client/mobile-rightbar-tabs-dom.js.map +1 -0
  268. package/data/build/dist/client/mobile-rightbar-visibility.d.ts +32 -0
  269. package/data/build/dist/client/mobile-rightbar-visibility.d.ts.map +1 -0
  270. package/data/build/dist/client/mobile-rightbar-visibility.js +188 -0
  271. package/data/build/dist/client/mobile-rightbar-visibility.js.map +1 -0
  272. package/data/build/dist/client/mobile-session-interaction.d.ts +9 -19
  273. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
  274. package/data/build/dist/client/mobile-session-interaction.js +25 -169
  275. package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
  276. package/data/build/dist/client/mobile-sidebar-gestures.d.ts +4 -0
  277. package/data/build/dist/client/mobile-sidebar-gestures.d.ts.map +1 -1
  278. package/data/build/dist/client/mobile-sidebar-gestures.js +17 -9
  279. package/data/build/dist/client/mobile-sidebar-gestures.js.map +1 -1
  280. package/data/build/dist/client/model-catalog-cache.d.ts +4 -4
  281. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  282. package/data/build/dist/client/model-catalog-cache.js +57 -32
  283. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  284. package/data/build/dist/client/moss-voice-output.d.ts +39 -0
  285. package/data/build/dist/client/moss-voice-output.d.ts.map +1 -0
  286. package/data/build/dist/client/moss-voice-output.js +241 -0
  287. package/data/build/dist/client/moss-voice-output.js.map +1 -0
  288. package/data/build/dist/client/settings-bridge.d.ts +1 -0
  289. package/data/build/dist/client/settings-bridge.d.ts.map +1 -1
  290. package/data/build/dist/client/settings-bridge.js +9 -1
  291. package/data/build/dist/client/settings-bridge.js.map +1 -1
  292. package/data/build/dist/client/sherpa-voice-adapter.d.ts +23 -2
  293. package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -1
  294. package/data/build/dist/client/sherpa-voice-adapter.js +384 -91
  295. package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -1
  296. package/data/build/dist/client/streaming-sentence-queue.d.ts +20 -0
  297. package/data/build/dist/client/streaming-sentence-queue.d.ts.map +1 -0
  298. package/data/build/dist/client/streaming-sentence-queue.js +130 -0
  299. package/data/build/dist/client/streaming-sentence-queue.js.map +1 -0
  300. package/data/build/dist/client/terminal/log-preview.d.ts +14 -0
  301. package/data/build/dist/client/terminal/log-preview.d.ts.map +1 -0
  302. package/data/build/dist/client/terminal/log-preview.js +23 -0
  303. package/data/build/dist/client/terminal/log-preview.js.map +1 -0
  304. package/data/build/dist/client/terminal/model.d.ts +38 -7
  305. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  306. package/data/build/dist/client/terminal/model.js +188 -32
  307. package/data/build/dist/client/terminal/model.js.map +1 -1
  308. package/data/build/dist/client/terminal/recovery.d.ts +7 -3
  309. package/data/build/dist/client/terminal/recovery.d.ts.map +1 -1
  310. package/data/build/dist/client/terminal/recovery.js +45 -41
  311. package/data/build/dist/client/terminal/recovery.js.map +1 -1
  312. package/data/build/dist/client/terminal/selection-actions.d.ts +63 -0
  313. package/data/build/dist/client/terminal/selection-actions.d.ts.map +1 -0
  314. package/data/build/dist/client/terminal/selection-actions.js +132 -0
  315. package/data/build/dist/client/terminal/selection-actions.js.map +1 -0
  316. package/data/build/dist/client/terminal/share-menu.d.ts +17 -0
  317. package/data/build/dist/client/terminal/share-menu.d.ts.map +1 -0
  318. package/data/build/dist/client/terminal/share-menu.js +131 -0
  319. package/data/build/dist/client/terminal/share-menu.js.map +1 -0
  320. package/data/build/dist/client/terminal/sharing.d.ts +42 -0
  321. package/data/build/dist/client/terminal/sharing.d.ts.map +1 -0
  322. package/data/build/dist/client/terminal/sharing.js +144 -0
  323. package/data/build/dist/client/terminal/sharing.js.map +1 -0
  324. package/data/build/dist/client/terminal/snapshot.d.ts +32 -0
  325. package/data/build/dist/client/terminal/snapshot.d.ts.map +1 -0
  326. package/data/build/dist/client/terminal/snapshot.js +108 -0
  327. package/data/build/dist/client/terminal/snapshot.js.map +1 -0
  328. package/data/build/dist/client/terminal/styles.d.ts +14 -0
  329. package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
  330. package/data/build/dist/client/terminal/styles.js +39 -1
  331. package/data/build/dist/client/terminal/styles.js.map +1 -1
  332. package/data/build/dist/client/terminal/surface-cache.d.ts +10 -0
  333. package/data/build/dist/client/terminal/surface-cache.d.ts.map +1 -0
  334. package/data/build/dist/client/terminal/surface-cache.js +19 -0
  335. package/data/build/dist/client/terminal/surface-cache.js.map +1 -0
  336. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  337. package/data/build/dist/client/terminal/ui.js +78 -21
  338. package/data/build/dist/client/terminal/ui.js.map +1 -1
  339. package/data/build/dist/client/terminal/xterm-view.d.ts +5 -2
  340. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  341. package/data/build/dist/client/terminal/xterm-view.js +429 -397
  342. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  343. package/data/build/dist/client/touch-input-focus.d.ts +30 -0
  344. package/data/build/dist/client/touch-input-focus.d.ts.map +1 -0
  345. package/data/build/dist/client/touch-input-focus.js +190 -0
  346. package/data/build/dist/client/touch-input-focus.js.map +1 -0
  347. package/data/build/dist/client/voice-capture.d.ts +9 -0
  348. package/data/build/dist/client/voice-capture.d.ts.map +1 -1
  349. package/data/build/dist/client/voice-capture.js +35 -1
  350. package/data/build/dist/client/voice-capture.js.map +1 -1
  351. package/data/build/dist/client/voice-chat-updates.d.ts +12 -0
  352. package/data/build/dist/client/voice-chat-updates.d.ts.map +1 -0
  353. package/data/build/dist/client/voice-chat-updates.js +39 -0
  354. package/data/build/dist/client/voice-chat-updates.js.map +1 -0
  355. package/data/build/dist/client/voice-diagnostics.d.ts +19 -0
  356. package/data/build/dist/client/voice-diagnostics.d.ts.map +1 -0
  357. package/data/build/dist/client/voice-diagnostics.js +73 -0
  358. package/data/build/dist/client/voice-diagnostics.js.map +1 -0
  359. package/data/build/dist/client/voice-model-setup-progress.d.ts +8 -0
  360. package/data/build/dist/client/voice-model-setup-progress.d.ts.map +1 -0
  361. package/data/build/dist/client/voice-model-setup-progress.js +27 -0
  362. package/data/build/dist/client/voice-model-setup-progress.js.map +1 -0
  363. package/data/build/dist/client/voice-stream-uploader.d.ts +41 -0
  364. package/data/build/dist/client/voice-stream-uploader.d.ts.map +1 -0
  365. package/data/build/dist/client/voice-stream-uploader.js +154 -0
  366. package/data/build/dist/client/voice-stream-uploader.js.map +1 -0
  367. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts +4 -0
  368. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts.map +1 -1
  369. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js +9 -0
  370. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js.map +1 -1
  371. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +5 -1
  372. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  373. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +25 -0
  374. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  375. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.d.ts +33 -0
  376. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.d.ts.map +1 -0
  377. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.js +187 -0
  378. package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.js.map +1 -0
  379. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.d.ts +55 -0
  380. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.d.ts.map +1 -0
  381. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.js +264 -0
  382. package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.js.map +1 -0
  383. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.d.ts +16 -0
  384. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.d.ts.map +1 -0
  385. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.js +69 -0
  386. package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.js.map +1 -0
  387. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.d.ts +36 -0
  388. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.d.ts.map +1 -0
  389. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.js +112 -0
  390. package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.js.map +1 -0
  391. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.d.ts +4 -0
  392. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.d.ts.map +1 -0
  393. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.js +41 -0
  394. package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.js.map +1 -0
  395. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  396. package/data/build/dist/dsh-capabilities/matrix.js +3 -0
  397. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  398. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  399. package/data/build/dist/dsh-capabilities/routes.js +18 -0
  400. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  401. package/data/build/dist/dsh-capabilities/settings-store.d.ts +2 -0
  402. package/data/build/dist/dsh-capabilities/settings-store.d.ts.map +1 -1
  403. package/data/build/dist/dsh-capabilities/settings-store.js.map +1 -1
  404. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  405. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  406. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  407. package/data/build/dist/host/avatar/catalog.d.ts +21 -0
  408. package/data/build/dist/host/avatar/catalog.d.ts.map +1 -0
  409. package/data/build/dist/host/avatar/catalog.js +123 -0
  410. package/data/build/dist/host/avatar/catalog.js.map +1 -0
  411. package/data/build/dist/host/avatar/engine.d.ts +42 -0
  412. package/data/build/dist/host/avatar/engine.d.ts.map +1 -0
  413. package/data/build/dist/host/avatar/engine.js +167 -0
  414. package/data/build/dist/host/avatar/engine.js.map +1 -0
  415. package/data/build/dist/host/avatar/materials.d.ts +28 -0
  416. package/data/build/dist/host/avatar/materials.d.ts.map +1 -0
  417. package/data/build/dist/host/avatar/materials.js +183 -0
  418. package/data/build/dist/host/avatar/materials.js.map +1 -0
  419. package/data/build/dist/host/avatar/packages.d.ts +34 -0
  420. package/data/build/dist/host/avatar/packages.d.ts.map +1 -0
  421. package/data/build/dist/host/avatar/packages.js +200 -0
  422. package/data/build/dist/host/avatar/packages.js.map +1 -0
  423. package/data/build/dist/host/avatar/registry.d.ts +12 -0
  424. package/data/build/dist/host/avatar/registry.d.ts.map +1 -0
  425. package/data/build/dist/host/avatar/registry.js +22 -0
  426. package/data/build/dist/host/avatar/registry.js.map +1 -0
  427. package/data/build/dist/host/avatar/remote.d.ts +18 -0
  428. package/data/build/dist/host/avatar/remote.d.ts.map +1 -0
  429. package/data/build/dist/host/avatar/remote.js +103 -0
  430. package/data/build/dist/host/avatar/remote.js.map +1 -0
  431. package/data/build/dist/host/avatar/sources.d.ts +11 -0
  432. package/data/build/dist/host/avatar/sources.d.ts.map +1 -0
  433. package/data/build/dist/host/avatar/sources.js +78 -0
  434. package/data/build/dist/host/avatar/sources.js.map +1 -0
  435. package/data/build/dist/host/avatar/temporary-previews.d.ts +26 -0
  436. package/data/build/dist/host/avatar/temporary-previews.d.ts.map +1 -0
  437. package/data/build/dist/host/avatar/temporary-previews.js +139 -0
  438. package/data/build/dist/host/avatar/temporary-previews.js.map +1 -0
  439. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  440. package/data/build/dist/host/cli-adapters/codex-driver.js +10 -3
  441. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  442. package/data/build/dist/host/desktop-assistant/controller.d.ts +44 -0
  443. package/data/build/dist/host/desktop-assistant/controller.d.ts.map +1 -0
  444. package/data/build/dist/host/desktop-assistant/controller.js +150 -0
  445. package/data/build/dist/host/desktop-assistant/controller.js.map +1 -0
  446. package/data/build/dist/host/desktop-assistant/feature.d.ts +9 -0
  447. package/data/build/dist/host/desktop-assistant/feature.d.ts.map +1 -0
  448. package/data/build/dist/host/desktop-assistant/feature.js +102 -0
  449. package/data/build/dist/host/desktop-assistant/feature.js.map +1 -0
  450. package/data/build/dist/host/desktop-assistant/launcher.d.ts +5 -0
  451. package/data/build/dist/host/desktop-assistant/launcher.d.ts.map +1 -0
  452. package/data/build/dist/host/desktop-assistant/launcher.js +84 -0
  453. package/data/build/dist/host/desktop-assistant/launcher.js.map +1 -0
  454. package/data/build/dist/host/desktop-assistant/mac-agent.d.ts +5 -0
  455. package/data/build/dist/host/desktop-assistant/mac-agent.d.ts.map +1 -0
  456. package/data/build/dist/host/desktop-assistant/mac-agent.js +122 -0
  457. package/data/build/dist/host/desktop-assistant/mac-agent.js.map +1 -0
  458. package/data/build/dist/host/desktop-assistant/process.d.ts +4 -0
  459. package/data/build/dist/host/desktop-assistant/process.d.ts.map +1 -0
  460. package/data/build/dist/host/desktop-assistant/process.js +25 -0
  461. package/data/build/dist/host/desktop-assistant/process.js.map +1 -0
  462. package/data/build/dist/host/desktop-assistant/server.d.ts +12 -0
  463. package/data/build/dist/host/desktop-assistant/server.d.ts.map +1 -0
  464. package/data/build/dist/host/desktop-assistant/server.js +74 -0
  465. package/data/build/dist/host/desktop-assistant/server.js.map +1 -0
  466. package/data/build/dist/host/desktop-assistant/win-agent.d.ts +2 -0
  467. package/data/build/dist/host/desktop-assistant/win-agent.d.ts.map +1 -0
  468. package/data/build/dist/host/desktop-assistant/win-agent.js +197 -0
  469. package/data/build/dist/host/desktop-assistant/win-agent.js.map +1 -0
  470. package/data/build/dist/host/features/assistant-avatar-assets.d.ts +3 -0
  471. package/data/build/dist/host/features/assistant-avatar-assets.d.ts.map +1 -0
  472. package/data/build/dist/host/features/assistant-avatar-assets.js +3 -0
  473. package/data/build/dist/host/features/assistant-avatar-assets.js.map +1 -0
  474. package/data/build/dist/host/features/assistant-avatar-basics.d.ts +3 -0
  475. package/data/build/dist/host/features/assistant-avatar-basics.d.ts.map +1 -0
  476. package/data/build/dist/host/features/assistant-avatar-basics.js +34 -0
  477. package/data/build/dist/host/features/assistant-avatar-basics.js.map +1 -0
  478. package/data/build/dist/host/features/assistant-avatar-legacy-assets.d.ts +6 -0
  479. package/data/build/dist/host/features/assistant-avatar-legacy-assets.d.ts.map +1 -0
  480. package/data/build/dist/host/features/assistant-avatar-legacy-assets.js +146 -0
  481. package/data/build/dist/host/features/assistant-avatar-legacy-assets.js.map +1 -0
  482. package/data/build/dist/host/features/assistant-avatar-runtime.d.ts +20 -0
  483. package/data/build/dist/host/features/assistant-avatar-runtime.d.ts.map +1 -0
  484. package/data/build/dist/host/features/assistant-avatar-runtime.js +235 -0
  485. package/data/build/dist/host/features/assistant-avatar-runtime.js.map +1 -0
  486. package/data/build/dist/host/features/assistant-conversation-storage.d.ts +8 -0
  487. package/data/build/dist/host/features/assistant-conversation-storage.d.ts.map +1 -0
  488. package/data/build/dist/host/features/assistant-conversation-storage.js +38 -0
  489. package/data/build/dist/host/features/assistant-conversation-storage.js.map +1 -0
  490. package/data/build/dist/host/features/assistant-conversation.d.ts +57 -0
  491. package/data/build/dist/host/features/assistant-conversation.d.ts.map +1 -0
  492. package/data/build/dist/host/features/assistant-conversation.js +364 -0
  493. package/data/build/dist/host/features/assistant-conversation.js.map +1 -0
  494. package/data/build/dist/host/features/assistant-dispatch.d.ts +2 -2
  495. package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -1
  496. package/data/build/dist/host/features/assistant-dispatch.js +4 -3
  497. package/data/build/dist/host/features/assistant-dispatch.js.map +1 -1
  498. package/data/build/dist/host/features/assistant-index-analysis.d.ts +49 -0
  499. package/data/build/dist/host/features/assistant-index-analysis.d.ts.map +1 -0
  500. package/data/build/dist/host/features/assistant-index-analysis.js +255 -0
  501. package/data/build/dist/host/features/assistant-index-analysis.js.map +1 -0
  502. package/data/build/dist/host/features/assistant-index-journal.d.ts +20 -0
  503. package/data/build/dist/host/features/assistant-index-journal.d.ts.map +1 -0
  504. package/data/build/dist/host/features/assistant-index-journal.js +40 -0
  505. package/data/build/dist/host/features/assistant-index-journal.js.map +1 -0
  506. package/data/build/dist/host/features/assistant-index-retry.d.ts +12 -0
  507. package/data/build/dist/host/features/assistant-index-retry.d.ts.map +1 -0
  508. package/data/build/dist/host/features/assistant-index-retry.js +54 -0
  509. package/data/build/dist/host/features/assistant-index-retry.js.map +1 -0
  510. package/data/build/dist/host/features/assistant-index-updates.d.ts +40 -0
  511. package/data/build/dist/host/features/assistant-index-updates.d.ts.map +1 -0
  512. package/data/build/dist/host/features/assistant-index-updates.js +183 -0
  513. package/data/build/dist/host/features/assistant-index-updates.js.map +1 -0
  514. package/data/build/dist/host/features/assistant-lifecycle-settings.d.ts +5 -0
  515. package/data/build/dist/host/features/assistant-lifecycle-settings.d.ts.map +1 -0
  516. package/data/build/dist/host/features/assistant-lifecycle-settings.js +72 -0
  517. package/data/build/dist/host/features/assistant-lifecycle-settings.js.map +1 -0
  518. package/data/build/dist/host/features/assistant-management-tools.d.ts +34 -0
  519. package/data/build/dist/host/features/assistant-management-tools.d.ts.map +1 -0
  520. package/data/build/dist/host/features/assistant-management-tools.js +69 -0
  521. package/data/build/dist/host/features/assistant-management-tools.js.map +1 -0
  522. package/data/build/dist/host/features/assistant-prompts.d.ts +6 -0
  523. package/data/build/dist/host/features/assistant-prompts.d.ts.map +1 -0
  524. package/data/build/dist/host/features/assistant-prompts.js +62 -0
  525. package/data/build/dist/host/features/assistant-prompts.js.map +1 -0
  526. package/data/build/dist/host/features/assistant-session-index.d.ts +6 -1
  527. package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -1
  528. package/data/build/dist/host/features/assistant-session-index.js +11 -12
  529. package/data/build/dist/host/features/assistant-session-index.js.map +1 -1
  530. package/data/build/dist/host/features/assistant-structured-index.d.ts +21 -0
  531. package/data/build/dist/host/features/assistant-structured-index.d.ts.map +1 -0
  532. package/data/build/dist/host/features/assistant-structured-index.js +138 -0
  533. package/data/build/dist/host/features/assistant-structured-index.js.map +1 -0
  534. package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -1
  535. package/data/build/dist/host/features/assistant-summary.js +7 -1
  536. package/data/build/dist/host/features/assistant-summary.js.map +1 -1
  537. package/data/build/dist/host/features/assistant-text-chat.d.ts +29 -0
  538. package/data/build/dist/host/features/assistant-text-chat.d.ts.map +1 -0
  539. package/data/build/dist/host/features/assistant-text-chat.js +195 -0
  540. package/data/build/dist/host/features/assistant-text-chat.js.map +1 -0
  541. package/data/build/dist/host/features/assistant-tts-service.d.ts +47 -0
  542. package/data/build/dist/host/features/assistant-tts-service.d.ts.map +1 -0
  543. package/data/build/dist/host/features/assistant-tts-service.js +507 -0
  544. package/data/build/dist/host/features/assistant-tts-service.js.map +1 -0
  545. package/data/build/dist/host/features/assistant-voice-chat.d.ts +35 -0
  546. package/data/build/dist/host/features/assistant-voice-chat.d.ts.map +1 -0
  547. package/data/build/dist/host/features/assistant-voice-chat.js +133 -0
  548. package/data/build/dist/host/features/assistant-voice-chat.js.map +1 -0
  549. package/data/build/dist/host/features/assistant-voice-hotwords.d.ts +33 -0
  550. package/data/build/dist/host/features/assistant-voice-hotwords.d.ts.map +1 -0
  551. package/data/build/dist/host/features/assistant-voice-hotwords.js +114 -0
  552. package/data/build/dist/host/features/assistant-voice-hotwords.js.map +1 -0
  553. package/data/build/dist/host/features/assistant-voice-initialization.d.ts +26 -0
  554. package/data/build/dist/host/features/assistant-voice-initialization.d.ts.map +1 -0
  555. package/data/build/dist/host/features/assistant-voice-initialization.js +68 -0
  556. package/data/build/dist/host/features/assistant-voice-initialization.js.map +1 -0
  557. package/data/build/dist/host/features/assistant-voice-sources.d.ts +13 -0
  558. package/data/build/dist/host/features/assistant-voice-sources.d.ts.map +1 -0
  559. package/data/build/dist/host/features/assistant-voice-sources.js +72 -0
  560. package/data/build/dist/host/features/assistant-voice-sources.js.map +1 -0
  561. package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
  562. package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -1
  563. package/data/build/dist/host/features/assistant-voice-stream.js +208 -5
  564. package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -1
  565. package/data/build/dist/host/features/global-voice-rpc.d.ts +8 -1
  566. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
  567. package/data/build/dist/host/features/global-voice-rpc.js +1055 -153
  568. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
  569. package/data/build/dist/host/features/index.d.ts.map +1 -1
  570. package/data/build/dist/host/features/index.js +4 -0
  571. package/data/build/dist/host/features/index.js.map +1 -1
  572. package/data/build/dist/host/features/moss-tts-worker.d.ts +32 -0
  573. package/data/build/dist/host/features/moss-tts-worker.d.ts.map +1 -0
  574. package/data/build/dist/host/features/moss-tts-worker.js +216 -0
  575. package/data/build/dist/host/features/moss-tts-worker.js.map +1 -0
  576. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  577. package/data/build/dist/host/features/peer-host.js +15 -7
  578. package/data/build/dist/host/features/peer-host.js.map +1 -1
  579. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +11 -0
  580. package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -1
  581. package/data/build/dist/host/features/sherpa-voice-runtime.js +72 -17
  582. package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -1
  583. package/data/build/dist/host/features/types.d.ts +9 -1
  584. package/data/build/dist/host/features/types.d.ts.map +1 -1
  585. package/data/build/dist/host/features/voice-model-management.d.ts +22 -0
  586. package/data/build/dist/host/features/voice-model-management.d.ts.map +1 -0
  587. package/data/build/dist/host/features/voice-model-management.js +178 -0
  588. package/data/build/dist/host/features/voice-model-management.js.map +1 -0
  589. package/data/build/dist/host/features/voice-model-probe.d.ts +8 -0
  590. package/data/build/dist/host/features/voice-model-probe.d.ts.map +1 -0
  591. package/data/build/dist/host/features/voice-model-probe.js +76 -0
  592. package/data/build/dist/host/features/voice-model-probe.js.map +1 -0
  593. package/data/build/dist/host/features/voice-model-setup.d.ts +5 -2
  594. package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -1
  595. package/data/build/dist/host/features/voice-model-setup.js +40 -13
  596. package/data/build/dist/host/features/voice-model-setup.js.map +1 -1
  597. package/data/build/dist/host/features/voice-process-environment.d.ts +3 -0
  598. package/data/build/dist/host/features/voice-process-environment.d.ts.map +1 -0
  599. package/data/build/dist/host/features/voice-process-environment.js +16 -0
  600. package/data/build/dist/host/features/voice-process-environment.js.map +1 -0
  601. package/data/build/dist/host/features/voice-python-runtime.d.ts +21 -0
  602. package/data/build/dist/host/features/voice-python-runtime.d.ts.map +1 -0
  603. package/data/build/dist/host/features/voice-python-runtime.js +189 -0
  604. package/data/build/dist/host/features/voice-python-runtime.js.map +1 -0
  605. package/data/build/dist/host/index-injection.d.ts.map +1 -1
  606. package/data/build/dist/host/index-injection.js +5 -1
  607. package/data/build/dist/host/index-injection.js.map +1 -1
  608. package/data/build/dist/host/index.d.ts +5 -0
  609. package/data/build/dist/host/index.d.ts.map +1 -1
  610. package/data/build/dist/host/index.js +30 -12
  611. package/data/build/dist/host/index.js.map +1 -1
  612. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  613. package/data/build/dist/host/lan-access-dsh.js +2 -1
  614. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  615. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +1 -0
  616. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -1
  617. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +1 -0
  618. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -1
  619. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +12 -0
  620. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  621. package/data/build/dist/host/rpc.d.ts.map +1 -1
  622. package/data/build/dist/host/rpc.js +45 -4
  623. package/data/build/dist/host/rpc.js.map +1 -1
  624. package/data/build/dist/host/settings.d.ts +2 -1
  625. package/data/build/dist/host/settings.d.ts.map +1 -1
  626. package/data/build/dist/host/settings.js +77 -13
  627. package/data/build/dist/host/settings.js.map +1 -1
  628. package/data/build/dist/host/stage0-dev-hmr.d.ts +6 -0
  629. package/data/build/dist/host/stage0-dev-hmr.d.ts.map +1 -0
  630. package/data/build/dist/host/stage0-dev-hmr.js +20 -0
  631. package/data/build/dist/host/stage0-dev-hmr.js.map +1 -0
  632. package/data/build/dist/host/tar-archive.d.ts +8 -0
  633. package/data/build/dist/host/tar-archive.d.ts.map +1 -0
  634. package/data/build/dist/host/tar-archive.js +17 -0
  635. package/data/build/dist/host/tar-archive.js.map +1 -0
  636. package/data/build/dist/host/voice-diagnostics.d.ts +34 -0
  637. package/data/build/dist/host/voice-diagnostics.d.ts.map +1 -0
  638. package/data/build/dist/host/voice-diagnostics.js +124 -0
  639. package/data/build/dist/host/voice-diagnostics.js.map +1 -0
  640. package/data/build/dist/shared/assistant-attachments.d.ts +27 -0
  641. package/data/build/dist/shared/assistant-attachments.d.ts.map +1 -0
  642. package/data/build/dist/shared/assistant-attachments.js +45 -0
  643. package/data/build/dist/shared/assistant-attachments.js.map +1 -0
  644. package/data/build/dist/shared/assistant-avatar-adapters.d.ts +18 -0
  645. package/data/build/dist/shared/assistant-avatar-adapters.d.ts.map +1 -0
  646. package/data/build/dist/shared/assistant-avatar-adapters.js +119 -0
  647. package/data/build/dist/shared/assistant-avatar-adapters.js.map +1 -0
  648. package/data/build/dist/shared/assistant-avatar-catalog.d.ts +37 -0
  649. package/data/build/dist/shared/assistant-avatar-catalog.d.ts.map +1 -0
  650. package/data/build/dist/shared/assistant-avatar-catalog.js +21 -0
  651. package/data/build/dist/shared/assistant-avatar-catalog.js.map +1 -0
  652. package/data/build/dist/shared/assistant-avatar-engine.d.ts +31 -0
  653. package/data/build/dist/shared/assistant-avatar-engine.d.ts.map +1 -0
  654. package/data/build/dist/shared/assistant-avatar-engine.js +28 -0
  655. package/data/build/dist/shared/assistant-avatar-engine.js.map +1 -0
  656. package/data/build/dist/shared/assistant-avatar-installation.d.ts +17 -0
  657. package/data/build/dist/shared/assistant-avatar-installation.d.ts.map +1 -0
  658. package/data/build/dist/shared/assistant-avatar-installation.js +7 -0
  659. package/data/build/dist/shared/assistant-avatar-installation.js.map +1 -0
  660. package/data/build/dist/shared/assistant-avatar-legacy-resources.d.ts +6 -0
  661. package/data/build/dist/shared/assistant-avatar-legacy-resources.d.ts.map +1 -0
  662. package/data/build/dist/shared/assistant-avatar-legacy-resources.js +20 -0
  663. package/data/build/dist/shared/assistant-avatar-legacy-resources.js.map +1 -0
  664. package/data/build/dist/shared/assistant-avatar-legacy.d.ts +15 -0
  665. package/data/build/dist/shared/assistant-avatar-legacy.d.ts.map +1 -0
  666. package/data/build/dist/shared/assistant-avatar-legacy.js +34 -0
  667. package/data/build/dist/shared/assistant-avatar-legacy.js.map +1 -0
  668. package/data/build/dist/shared/assistant-avatar-presets.d.ts +3 -0
  669. package/data/build/dist/shared/assistant-avatar-presets.d.ts.map +1 -0
  670. package/data/build/dist/shared/assistant-avatar-presets.js +3 -0
  671. package/data/build/dist/shared/assistant-avatar-presets.js.map +1 -0
  672. package/data/build/dist/shared/assistant-avatar-registration.d.ts +16 -0
  673. package/data/build/dist/shared/assistant-avatar-registration.d.ts.map +1 -0
  674. package/data/build/dist/shared/assistant-avatar-registration.js +33 -0
  675. package/data/build/dist/shared/assistant-avatar-registration.js.map +1 -0
  676. package/data/build/dist/shared/assistant-avatar-resources.d.ts +26 -0
  677. package/data/build/dist/shared/assistant-avatar-resources.d.ts.map +1 -0
  678. package/data/build/dist/shared/assistant-avatar-resources.js +4 -0
  679. package/data/build/dist/shared/assistant-avatar-resources.js.map +1 -0
  680. package/data/build/dist/shared/assistant-avatar.d.ts +103 -0
  681. package/data/build/dist/shared/assistant-avatar.d.ts.map +1 -0
  682. package/data/build/dist/shared/assistant-avatar.js +240 -0
  683. package/data/build/dist/shared/assistant-avatar.js.map +1 -0
  684. package/data/build/dist/shared/assistant-commands.d.ts +3 -0
  685. package/data/build/dist/shared/assistant-commands.d.ts.map +1 -0
  686. package/data/build/dist/shared/assistant-commands.js +3 -0
  687. package/data/build/dist/shared/assistant-commands.js.map +1 -0
  688. package/data/build/dist/shared/assistant-lifecycle.d.ts +17 -0
  689. package/data/build/dist/shared/assistant-lifecycle.d.ts.map +1 -0
  690. package/data/build/dist/shared/assistant-lifecycle.js +45 -0
  691. package/data/build/dist/shared/assistant-lifecycle.js.map +1 -0
  692. package/data/build/dist/shared/assistant-message-timeline.d.ts +13 -0
  693. package/data/build/dist/shared/assistant-message-timeline.d.ts.map +1 -0
  694. package/data/build/dist/shared/assistant-message-timeline.js +22 -0
  695. package/data/build/dist/shared/assistant-message-timeline.js.map +1 -0
  696. package/data/build/dist/shared/assistant-prompts.d.ts +12 -0
  697. package/data/build/dist/shared/assistant-prompts.d.ts.map +1 -0
  698. package/data/build/dist/shared/assistant-prompts.js +32 -0
  699. package/data/build/dist/shared/assistant-prompts.js.map +1 -0
  700. package/data/build/dist/shared/assistant-tts.d.ts +93 -0
  701. package/data/build/dist/shared/assistant-tts.d.ts.map +1 -0
  702. package/data/build/dist/shared/assistant-tts.js +80 -0
  703. package/data/build/dist/shared/assistant-tts.js.map +1 -0
  704. package/data/build/dist/shared/assistant-voice-sessions.d.ts +13 -0
  705. package/data/build/dist/shared/assistant-voice-sessions.d.ts.map +1 -0
  706. package/data/build/dist/shared/assistant-voice-sessions.js +16 -0
  707. package/data/build/dist/shared/assistant-voice-sessions.js.map +1 -0
  708. package/data/build/dist/shared/contracts/assistant.d.ts +206 -0
  709. package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -1
  710. package/data/build/dist/shared/contracts/config.d.ts +23 -0
  711. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  712. package/data/build/dist/shared/contracts/config.js +2 -0
  713. package/data/build/dist/shared/contracts/config.js.map +1 -1
  714. package/data/build/dist/shared/contracts/peer-host.d.ts +2 -0
  715. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
  716. package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
  717. package/data/build/dist/shared/contracts/terminal-share.d.ts +27 -0
  718. package/data/build/dist/shared/contracts/terminal-share.d.ts.map +1 -0
  719. package/data/build/dist/shared/contracts/terminal-share.js +2 -0
  720. package/data/build/dist/shared/contracts/terminal-share.js.map +1 -0
  721. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  722. package/data/build/dist/shared/contracts/version.js +1 -1
  723. package/data/build/dist/shared/contracts/voice-runtime.d.ts +15 -1
  724. package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -1
  725. package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -1
  726. package/data/build/dist/shared/desktop-assistant.d.ts +35 -0
  727. package/data/build/dist/shared/desktop-assistant.d.ts.map +1 -0
  728. package/data/build/dist/shared/desktop-assistant.js +27 -0
  729. package/data/build/dist/shared/desktop-assistant.js.map +1 -0
  730. package/data/build/dist/shared/index.d.ts +16 -2
  731. package/data/build/dist/shared/index.d.ts.map +1 -1
  732. package/data/build/dist/shared/index.js +10 -0
  733. package/data/build/dist/shared/index.js.map +1 -1
  734. package/data/build/dist/shared/runtime-environment.d.ts +5 -0
  735. package/data/build/dist/shared/runtime-environment.d.ts.map +1 -0
  736. package/data/build/dist/shared/runtime-environment.js +7 -0
  737. package/data/build/dist/shared/runtime-environment.js.map +1 -0
  738. package/data/build/dist/shared/voice-diagnostics.d.ts +18 -0
  739. package/data/build/dist/shared/voice-diagnostics.d.ts.map +1 -0
  740. package/data/build/dist/shared/voice-diagnostics.js +57 -0
  741. package/data/build/dist/shared/voice-diagnostics.js.map +1 -0
  742. package/data/build/dist/shared/voice-initialization.d.ts +22 -0
  743. package/data/build/dist/shared/voice-initialization.d.ts.map +1 -0
  744. package/data/build/dist/shared/voice-initialization.js +4 -0
  745. package/data/build/dist/shared/voice-initialization.js.map +1 -0
  746. package/data/build/dist/shared/voice-models.d.ts +43 -0
  747. package/data/build/dist/shared/voice-models.d.ts.map +1 -1
  748. package/data/build/dist/shared/voice-models.js +23 -8
  749. package/data/build/dist/shared/voice-models.js.map +1 -1
  750. package/data/build/dist/shared/voice-stream.d.ts +12 -1
  751. package/data/build/dist/shared/voice-stream.d.ts.map +1 -1
  752. package/data/build/dist/shared/voice-stream.js +8 -1
  753. package/data/build/dist/shared/voice-stream.js.map +1 -1
  754. package/package.json +19 -3
  755. package/profile/README.md +2 -2
  756. package/profile/package.json +2 -2
  757. package/profile/version.json +1 -1
  758. package/version.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-diagnostics.d.ts","sourceRoot":"","sources":["../../../../src/client/voice-diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,qBAAqB,EAA8B,MAAM,gCAAgC,CAAA;AACtI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,wCAAwC;AACxC,qBAAa,sBAAsB;IASrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAA0B,OAAO,CAAC,QAAQ,CAAC,KAAK;IARrF,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,YAAY,CAAoB;gBAEX,QAAQ,EAAE,sBAAsB,EAAmB,KAAK,EAAE,qBAAqB;IAmB5G,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,qBAA0B,GAAG,IAAI;IAOzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,OAAO,IAAI,IAAI;CAChB"}
@@ -0,0 +1,73 @@
1
+ import { CODINGNS_RPC_CHANNEL } from '../shared/contracts/transport.js';
2
+ import { sanitizeVoiceDiagnosticFields } from '../shared/voice-diagnostics.js';
3
+ /** 浏览器指标走现有 RPC 批量落盘;一个请求在途时不再提交第二个。 */
4
+ export class ClientVoiceDiagnostics {
5
+ services;
6
+ scope;
7
+ records = [];
8
+ dropped = 0;
9
+ sending = false;
10
+ closed = false;
11
+ timer;
12
+ observer;
13
+ previousTime = performance.now();
14
+ constructor(services, scope) {
15
+ this.services = services;
16
+ this.scope = scope;
17
+ this.timer = setInterval(() => {
18
+ const now = performance.now();
19
+ // 后台标签的定时器降频要与主线程卡顿区分开。
20
+ this.record('client.health', { intervalMs: now - this.previousTime, state: globalThis.document?.visibilityState ?? 'unknown' });
21
+ this.previousTime = now;
22
+ void this.flush();
23
+ }, 2000);
24
+ this.timer.unref?.();
25
+ try {
26
+ if (typeof PerformanceObserver === 'function' && PerformanceObserver.supportedEntryTypes.includes('longtask')) {
27
+ this.observer = new PerformanceObserver((list) => {
28
+ for (const entry of list.getEntries())
29
+ this.record('client.longtask', { durationMs: entry.duration });
30
+ });
31
+ this.observer.observe({ entryTypes: ['longtask'] });
32
+ }
33
+ }
34
+ catch { /* 浏览器未实现 Long Tasks API 时保留定时器延迟指标 */ }
35
+ }
36
+ record(event, fields = {}) {
37
+ if (this.closed)
38
+ return;
39
+ if (this.records.length >= 256) {
40
+ this.dropped++;
41
+ return;
42
+ }
43
+ this.records.push({ timestamp: Date.now(), event, fields: sanitizeVoiceDiagnosticFields({ ...this.scope, ...fields }) });
44
+ if (this.records.length === 64 && !this.sending)
45
+ void this.flush();
46
+ }
47
+ async flush() {
48
+ if (this.sending || this.records.length === 0)
49
+ return;
50
+ const records = this.records.splice(0, 64);
51
+ const dropped = this.dropped;
52
+ this.dropped = 0;
53
+ this.sending = true;
54
+ const abort = new AbortController();
55
+ const timeout = setTimeout(() => abort.abort(), 5000);
56
+ try {
57
+ const result = await this.services.rpc.call(CODINGNS_RPC_CHANNEL, 'assistant/voice/diagnostics', { ...this.scope, records, dropped }, abort.signal);
58
+ if (!result.ok)
59
+ this.dropped += records.length + dropped;
60
+ }
61
+ catch {
62
+ this.dropped += records.length + dropped;
63
+ }
64
+ finally {
65
+ clearTimeout(timeout);
66
+ this.sending = false;
67
+ if ((this.closed || this.records.length >= 64) && this.records.length > 0)
68
+ void this.flush();
69
+ }
70
+ }
71
+ dispose() { this.closed = true; clearInterval(this.timer); this.observer?.disconnect(); void this.flush(); }
72
+ }
73
+ //# sourceMappingURL=voice-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-diagnostics.js","sourceRoot":"","sources":["../../../../src/client/voice-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { AssistantVoiceModelProgress } from '../shared/voice-models.js';
2
+ import type { CodingNsRpcClient } from './features/types.js';
3
+ /** 复用页面 RPC 查询下载状态;每次查询返回后再安排下一次,避免请求积压。 */
4
+ export declare function watchVoiceModelSetupProgress(rpc: CodingNsRpcClient, request: {
5
+ readonly modelId: string;
6
+ readonly requestId: string;
7
+ }, onProgress: (progress: AssistantVoiceModelProgress) => void): () => void;
8
+ //# sourceMappingURL=voice-model-setup-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-model-setup-progress.d.ts","sourceRoot":"","sources":["../../../../src/client/voice-model-setup-progress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,4CAA4C;AAC5C,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACjE,UAAU,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,IAAI,GAC1D,MAAM,IAAI,CAoBZ"}
@@ -0,0 +1,27 @@
1
+ import { CODINGNS_RPC_CHANNEL } from '../shared/contracts/transport.js';
2
+ /** 复用页面 RPC 查询下载状态;每次查询返回后再安排下一次,避免请求积压。 */
3
+ export function watchVoiceModelSetupProgress(rpc, request, onProgress) {
4
+ let active = true;
5
+ let timer;
6
+ const controller = new AbortController();
7
+ const poll = async () => {
8
+ try {
9
+ const result = await rpc.call(CODINGNS_RPC_CHANNEL, 'assistant/voice/setup-progress', request, controller.signal);
10
+ const progress = result.ok ? result.value : null;
11
+ if (active && progress != null && progress.modelId === request.modelId)
12
+ onProgress(progress);
13
+ }
14
+ catch {
15
+ // 查询暂时失败时保留最后的进度;初始化请求本身负责报告最终错误。
16
+ }
17
+ if (active)
18
+ timer = setTimeout(() => void poll(), 300);
19
+ };
20
+ void poll();
21
+ return () => {
22
+ active = false;
23
+ clearTimeout(timer);
24
+ controller.abort();
25
+ };
26
+ }
27
+ //# sourceMappingURL=voice-model-setup-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-model-setup-progress.js","sourceRoot":"","sources":["../../../../src/client/voice-model-setup-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAIvE,4CAA4C;AAC5C,MAAM,UAAU,4BAA4B,CAC1C,GAAsB,EACtB,OAAiE,EACjE,UAA2D;IAE3D,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,KAAgD,CAAA;IACpD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YACjH,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAA2C,CAAC,CAAC,CAAC,IAAI,CAAA;YACtF,IAAI,MAAM,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;gBAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QACD,IAAI,MAAM;YAAE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IACxD,CAAC,CAAA;IACD,KAAK,IAAI,EAAE,CAAA;IACX,OAAO,GAAG,EAAE;QACV,MAAM,GAAG,KAAK,CAAA;QACd,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,UAAU,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { VoicePcmFrame } from '../shared/contracts/voice-runtime.js';
2
+ import { type VoiceDiagnosticTrace } from '../shared/voice-diagnostics.js';
3
+ interface VoiceStreamUploaderOptions {
4
+ readonly url: string;
5
+ readonly ownerId: string;
6
+ readonly clientId: string;
7
+ readonly onError: (error: Error) => void;
8
+ readonly trace?: VoiceDiagnosticTrace;
9
+ }
10
+ /**
11
+ * 持续采集的 PCM 用有限长度的二进制 POST 顺序发送。
12
+ * 不依赖浏览器的请求流上传,也不等待用户说完一句话才交给识别器。
13
+ */
14
+ export declare class VoiceStreamUploader {
15
+ private readonly options;
16
+ private readonly abort;
17
+ private pending;
18
+ private pendingBytes;
19
+ private pendingAudioMs;
20
+ private timer;
21
+ private sending;
22
+ private closed;
23
+ private pendingAt;
24
+ private lastPressureAt;
25
+ private inFlight;
26
+ constructor(options: VoiceStreamUploaderOptions);
27
+ enqueue(frame: VoicePcmFrame, epoch: number): void;
28
+ /** 打断后清掉尚未发出的旧 epoch;已经在途的帧由 Host 丢弃。 */
29
+ clearPending(): void;
30
+ close(): void;
31
+ private schedule;
32
+ private flush;
33
+ /** 同代次、同采样率的连续 PCM 合并到约 40 ms,保留全部样本与顺序。 */
34
+ private encodePendingFrames;
35
+ private pressureFields;
36
+ private fail;
37
+ }
38
+ /** 保留 Host 的结构化错误;空正文的外层 400 仍显示原始状态码。 */
39
+ export declare function createVoiceHttpError(response: Response, message: string): Promise<Error>;
40
+ export {};
41
+ //# sourceMappingURL=voice-stream-uploader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-stream-uploader.d.ts","sourceRoot":"","sources":["../../../../src/client/voice-stream-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAEzE,OAAO,EAA2C,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAEnH,UAAU,0BAA0B;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAWD;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,QAAQ,CAAyD;gBAE7D,OAAO,EAAE,0BAA0B;IAE/C,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmBlD,yCAAyC;IACzC,YAAY,IAAI,IAAI;IAEpB,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,QAAQ;YAOF,KAAK;IAmCnB,4CAA4C;IAC5C,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;CAMb;AAED,0CAA0C;AAC1C,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAM9F"}
@@ -0,0 +1,154 @@
1
+ import { encodeVoiceStreamMessage, encodeVoiceStreamOpen } from '../shared/voice-stream.js';
2
+ import { voiceDiagnosticId, voiceDiagnosticError } from '../shared/voice-diagnostics.js';
3
+ const UPLOAD_INTERVAL_MS = 60;
4
+ const MAX_PENDING_AUDIO_MS = 5000;
5
+ const MAX_PENDING_PCM_BYTES = 16_000 * 2 * MAX_PENDING_AUDIO_MS / 1000;
6
+ /**
7
+ * 持续采集的 PCM 用有限长度的二进制 POST 顺序发送。
8
+ * 不依赖浏览器的请求流上传,也不等待用户说完一句话才交给识别器。
9
+ */
10
+ export class VoiceStreamUploader {
11
+ options;
12
+ abort = new AbortController();
13
+ pending = [];
14
+ pendingBytes = 0;
15
+ pendingAudioMs = 0;
16
+ timer;
17
+ sending = false;
18
+ closed = false;
19
+ pendingAt = 0;
20
+ lastPressureAt = 0;
21
+ inFlight;
22
+ constructor(options) { this.options = options; }
23
+ enqueue(frame, epoch) {
24
+ if (this.closed || frame.bytes.length === 0)
25
+ return;
26
+ if (this.pending.length === 0)
27
+ this.pendingAt = performance.now();
28
+ const audioMs = frame.bytes.length / 2 / frame.sampleRate * 1000;
29
+ // 用真实 PCM 时长限制积压;JSON 小帧首部不能占用音频的容错预算。
30
+ if (this.pendingBytes + frame.bytes.length > MAX_PENDING_PCM_BYTES || this.pendingAudioMs + audioMs > MAX_PENDING_AUDIO_MS) {
31
+ this.fail(new Error('语音音频积压超过 5 秒,Host 或连接处理过慢,请稍后重新开始实时对话'), 'upload_backlog');
32
+ return;
33
+ }
34
+ this.pending.push({ frame: { ...frame, bytes: frame.bytes.slice() }, epoch });
35
+ this.pendingBytes += frame.bytes.length;
36
+ this.pendingAudioMs += audioMs;
37
+ const now = performance.now();
38
+ if (this.pendingAudioMs >= 1000 && now - this.lastPressureAt >= 1000) {
39
+ this.lastPressureAt = now;
40
+ this.options.trace?.('client.upload.pressure', this.pressureFields());
41
+ }
42
+ this.schedule();
43
+ }
44
+ /** 打断后清掉尚未发出的旧 epoch;已经在途的帧由 Host 丢弃。 */
45
+ clearPending() { this.pending = []; this.pendingBytes = 0; this.pendingAudioMs = 0; }
46
+ close() {
47
+ this.closed = true;
48
+ if (this.timer !== undefined)
49
+ clearTimeout(this.timer);
50
+ this.timer = undefined;
51
+ this.clearPending();
52
+ this.abort.abort();
53
+ }
54
+ schedule() {
55
+ if (this.closed || this.sending || this.timer !== undefined || this.pending.length === 0)
56
+ return;
57
+ // 在途请求结束时,已经等待够 60 ms 的音频立即发送,不再多等一轮。
58
+ const delay = Math.max(0, UPLOAD_INTERVAL_MS - (performance.now() - this.pendingAt));
59
+ this.timer = setTimeout(() => { this.timer = undefined; void this.flush(); }, delay);
60
+ }
61
+ async flush() {
62
+ if (this.closed || this.sending || this.pending.length === 0)
63
+ return;
64
+ const open = encodeVoiceStreamOpen({ ownerId: this.options.ownerId, clientId: this.options.clientId, sampleRate: 16_000, channels: 1, encoding: 'pcm16le' });
65
+ const parts = this.encodePendingFrames();
66
+ const headerBytes = parts.reduce((size, part) => size + part.length, 0) - this.pendingBytes;
67
+ const body = new Uint8Array(open.length + this.pendingBytes + headerBytes);
68
+ const started = performance.now();
69
+ const diagnosticId = voiceDiagnosticId();
70
+ const fields = { diagnosticId, clientId: this.options.clientId, epoch: this.pending[0].epoch, firstSequence: this.pending[0].frame.sequence, lastSequence: this.pending.at(-1).frame.sequence, frames: parts.length / 2, count: this.pending.length, bytes: body.length, pcmBytes: this.pendingBytes, headerBytes, audioMs: this.pendingAudioMs, waitMs: started - this.pendingAt };
71
+ if (body.length > 256 * 1024) {
72
+ this.fail(new Error('语音上传批次超过 Host 限制,请重新开始实时对话'), 'upload_batch_limit');
73
+ return;
74
+ }
75
+ body.set(open);
76
+ let offset = open.length;
77
+ for (const bytes of parts) {
78
+ body.set(bytes, offset);
79
+ offset += bytes.length;
80
+ }
81
+ this.clearPending();
82
+ this.sending = true;
83
+ this.inFlight = { diagnosticId, startedAt: started };
84
+ this.options.trace?.('client.upload.start', fields);
85
+ const timeout = setTimeout(() => this.fail(new Error('语音上传超过 5 秒未返回,Host 或连接没有及时响应,请稍后重新开始实时对话'), 'upload_timeout'), 5_000);
86
+ try {
87
+ const response = await globalThis.fetch(this.options.url, {
88
+ method: 'POST', body, signal: this.abort.signal, credentials: 'same-origin',
89
+ headers: { 'content-type': 'application/octet-stream', 'x-codingns-voice-diagnostic-id': diagnosticId },
90
+ });
91
+ this.options.trace?.('client.upload.batch', { ...fields, status: response.status, durationMs: performance.now() - started, pendingBytes: this.pendingBytes });
92
+ if (!response.ok)
93
+ throw await createVoiceHttpError(response, '语音上传失败');
94
+ }
95
+ catch (error) {
96
+ if (!this.closed)
97
+ this.fail(error instanceof Error ? error : new Error(String(error)), 'upload_transport_error');
98
+ }
99
+ finally {
100
+ clearTimeout(timeout);
101
+ this.sending = false;
102
+ this.inFlight = undefined;
103
+ this.schedule();
104
+ }
105
+ }
106
+ /** 同代次、同采样率的连续 PCM 合并到约 40 ms,保留全部样本与顺序。 */
107
+ encodePendingFrames() {
108
+ const parts = [];
109
+ let index = 0;
110
+ while (index < this.pending.length) {
111
+ const first = this.pending[index];
112
+ const grouped = [first.frame.bytes];
113
+ let bytes = first.frame.bytes.length;
114
+ let sequence = first.frame.sequence;
115
+ index++;
116
+ while (index < this.pending.length) {
117
+ const next = this.pending[index];
118
+ if (next.epoch !== first.epoch || next.frame.sampleRate !== first.frame.sampleRate || next.frame.sequence !== sequence + 1 || bytes + next.frame.bytes.length > first.frame.sampleRate * 2 * 0.04)
119
+ break;
120
+ grouped.push(next.frame.bytes);
121
+ bytes += next.frame.bytes.length;
122
+ sequence = next.frame.sequence;
123
+ index++;
124
+ }
125
+ const pcm = new Uint8Array(bytes);
126
+ let offset = 0;
127
+ for (const chunk of grouped) {
128
+ pcm.set(chunk, offset);
129
+ offset += chunk.length;
130
+ }
131
+ parts.push(encodeVoiceStreamMessage({ type: 'pcm', sequence, sampleRate: first.frame.sampleRate, channels: 1, epoch: first.epoch, byteLength: pcm.length }), pcm);
132
+ }
133
+ return parts;
134
+ }
135
+ pressureFields() {
136
+ return { clientId: this.options.clientId, pendingBytes: this.pendingBytes, pendingAudioMs: this.pendingAudioMs, pending: this.pending.length, diagnosticId: this.inFlight?.diagnosticId, inFlightMs: this.inFlight === undefined ? 0 : performance.now() - this.inFlight.startedAt };
137
+ }
138
+ fail(error, code) {
139
+ if (this.closed)
140
+ return;
141
+ this.options.trace?.('client.upload.error', { ...this.pressureFields(), code, errorName: voiceDiagnosticError(error) });
142
+ this.close();
143
+ this.options.onError(error);
144
+ }
145
+ }
146
+ /** 保留 Host 的结构化错误;空正文的外层 400 仍显示原始状态码。 */
147
+ export async function createVoiceHttpError(response, message) {
148
+ const value = await response.json().catch(() => undefined);
149
+ const detail = typeof value === 'object' && value !== null && 'error' in value && typeof value.error === 'string'
150
+ ? value.error.slice(0, 500)
151
+ : '';
152
+ return new Error(`${message}(HTTP ${response.status})${detail === '' ? '' : `:${detail}`}`);
153
+ }
154
+ //# sourceMappingURL=voice-stream-uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-stream-uploader.js","sourceRoot":"","sources":["../../../../src/client/voice-stream-uploader.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,10 @@ export interface DshConfigFormUnfencedWriter {
44
44
  export interface DshConfigFormSettingsOptions {
45
45
  /** DSH 0.1.7 后台可能持续更新同一 entry 的 Host-only 索引时使用。 */
46
46
  readonly writeUnfenced?: DshConfigFormUnfencedWriter;
47
+ /** 清单等基于快照计算的写入必须保留调用方的版本校验。 */
48
+ readonly writeFenced?: (operations: Parameters<DshConfigFormUnfencedWriter>[0], expectedRevision: number) => ReturnType<DshConfigFormUnfencedWriter>;
49
+ /** 冲突或业务 RPC 更新后,绕过原生镜像缓存读取 Host 权威快照。 */
50
+ readonly readLatest?: () => ReturnType<DshConfigFormUnfencedWriter>;
47
51
  }
48
52
  /**
49
53
  * 解析 Host 真正下发的 ConfigForm namespace。
@@ -1 +1 @@
1
- {"version":3,"file":"config-forms-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/config-forms-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAkC,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAGjG,wCAAwC;AACxC,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,WAAW,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,CAAA;KAAE,CAAA;IAC/J,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,MAAM,CAAC,UAAU,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAA;IAC/K,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAA;IAC3D,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACvD,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM;QACf,WAAW,EAAE,MAAM;YACjB,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAAE,QAAQ,CAAC,UAAU,EAAE,SAAS;oBAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;iBAAE,EAAE,CAAA;aAAE,CAAA;SAC5E,CAAA;KACF,CAAA;CACF;AAED,mEAAmE;AACnE,MAAM,WAAW,2BAA2B;IAC1C,CAAC,UAAU,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC;QAC7H,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;QAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAC1B,CAAC,CAAA;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,oDAAoD;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAA;CACrD;AAeD;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,oBAAoB,GAAG,SAAS,EACvC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,MAAM,GAAG,SAAS,CAUpB;AAED,qCAAqC;AACrC,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,4BAAiC,GACzC,qBAAqB,CAAC,gBAAgB,CAAC,CAkFzC"}
1
+ {"version":3,"file":"config-forms-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/config-forms-adapter.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,9 @@ export function createConfigFormSettingsStore(forms, namespace, options = {}) {
105
105
  getSnapshot: () => snapshot,
106
106
  subscribe: (listener) => { listeners.add(listener); return () => listeners.delete(listener); },
107
107
  mutate: async (operations, revision) => {
108
+ if (revision !== undefined && options.writeFenced !== undefined) {
109
+ return publishWrite(await options.writeFenced(operations, revision));
110
+ }
108
111
  return write(operations, () => form.mutate(operations, revision));
109
112
  },
110
113
  set: async (field, value) => {
@@ -113,6 +116,12 @@ export function createConfigFormSettingsStore(forms, namespace, options = {}) {
113
116
  unset: async (field) => {
114
117
  return write([{ op: 'unset', path: [field] }], () => form.unset(field), () => form.unset(field));
115
118
  },
119
+ reload: async () => {
120
+ if (options.readLatest !== undefined)
121
+ publishWrite(await options.readLatest());
122
+ else
123
+ refresh();
124
+ },
116
125
  dispose: () => {
117
126
  unsubscribeForm();
118
127
  listeners.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"config-forms-adapter.js","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/config-forms-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-forms-adapter.js","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/config-forms-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { type ComponentType } from 'react';
2
+ /** 富文本菜单沿用宿主的键盘导航、焦点归还和外部点击关闭行为。 */
3
+ export { Menu as DshMenu } from '@deepseek-ai/dsh-client-ui-primitives';
2
4
  type IconComponent = ComponentType<{
3
5
  readonly size?: number;
4
6
  readonly className?: string;
@@ -6,6 +8,9 @@ type IconComponent = ComponentType<{
6
8
  type ShortcutKeysComponent = ComponentType<{
7
9
  readonly keys: readonly string[];
8
10
  }>;
11
+ export type AssistantControlIcon = 'add' | 'phone' | 'settings' | 'close' | 'send' | 'stop' | 'chat' | 'clear';
12
+ /** 助理控件优先共用宿主图标,缺少的电话与普通对话采用相同 16px 画布和细描边。 */
13
+ export declare function resolveAssistantControlIcon(name: AssistantControlIcon): IconComponent;
9
14
  /**
10
15
  * 图标导出兼容层。0.1.7 可能改名为 Regular/Medium,运行时优先使用新导出,
11
16
  * 旧导出仍作为回退;业务组件不再直接判断 DSH 版本。
@@ -30,5 +35,4 @@ export declare function resolveDataIcon(): IconComponent;
30
35
  * data 图标,保证旧版 DSH 仍能渲染出一行可识别的委派入口。
31
36
  */
32
37
  export declare function resolveDelegateIcon(): IconComponent;
33
- export {};
34
38
  //# sourceMappingURL=primitives-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitives-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/primitives-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAEzD,KAAK,aAAa,GAAG,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAC3F,KAAK,qBAAqB,GAAG,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAA;AAiChF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAG/C;AAED,wBAAgB,sBAAsB,IAAI,aAAa,CAGtD;AAED,sBAAsB;AACtB,wBAAgB,kBAAkB,IAAI,aAAa,CAGlD;AAED,wBAAwB;AACxB,wBAAgB,eAAe,IAAI,aAAa,CAO/C;AAED,mBAAmB;AACnB,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAMnG;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,IAAI,qBAAqB,CAG3D;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAG/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAOnD"}
1
+ {"version":3,"file":"primitives-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/primitives-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAA;AAEzD,oCAAoC;AACpC,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAA;AAEvE,KAAK,aAAa,GAAG,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAC3F,KAAK,qBAAqB,GAAG,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAA;AAyChF,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAC9G,+CAA+C;AAC/C,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAYrF;AAcD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAG/C;AAED,wBAAgB,sBAAsB,IAAI,aAAa,CAGtD;AAED,sBAAsB;AACtB,wBAAgB,kBAAkB,IAAI,aAAa,CAGlD;AAED,wBAAwB;AACxB,wBAAgB,eAAe,IAAI,aAAa,CAO/C;AAED,mBAAmB;AACnB,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAMnG;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,IAAI,qBAAqB,CAG3D;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAG/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAOnD"}
@@ -1,7 +1,32 @@
1
1
  import * as primitives from '@deepseek-ai/dsh-client-ui-primitives';
2
2
  import { createElement } from 'react';
3
+ /** 富文本菜单沿用宿主的键盘导航、焦点归还和外部点击关闭行为。 */
4
+ export { Menu as DshMenu } from '@deepseek-ai/dsh-client-ui-primitives';
3
5
  const unavailableIcon = () => null;
4
6
  const fallbackShortcutKeys = ({ keys }) => createElement('span', undefined, keys.join(' + '));
7
+ /** 助理控件优先共用宿主图标,缺少的电话与普通对话采用相同 16px 画布和细描边。 */
8
+ export function resolveAssistantControlIcon(name) {
9
+ const value = primitives;
10
+ switch (name) {
11
+ case 'add': return resolvePlusIcon();
12
+ case 'clear': return resolveRefreshIcon();
13
+ case 'settings': return value.IconSettingsOutlineRegular ?? value.IconSettingsOutlineMedium ?? resolveToolIcon();
14
+ case 'close': return value.IconCloseOutlineRegular ?? value.IconCloseOutlineMedium ?? unavailableIcon;
15
+ case 'chat': return value.IconChatOutlineRegular ?? value.IconChatOutlineMedium ?? AssistantChatIcon;
16
+ case 'send': return value.IconSendOutlineRegular ?? value.IconSendOutlineMedium ?? unavailableIcon;
17
+ case 'stop': return value.IconStopFillRegular ?? value.IconStopFillMedium ?? unavailableIcon;
18
+ case 'phone': return value.IconPhoneOutlineRegular ?? value.IconPhoneOutlineMedium ?? AssistantPhoneIcon;
19
+ }
20
+ }
21
+ /** 沿用 DSH 新对话的气泡轮廓,内部使用三点表示进入已有对话。 */
22
+ function AssistantChatIcon({ size = 20, className }) {
23
+ return createElement('svg', { width: size, height: size, className, viewBox: '0 0 16 16', fill: 'none', 'aria-hidden': true, focusable: false,
24
+ stroke: 'currentColor', strokeWidth: 1, strokeLinecap: 'round', strokeLinejoin: 'round' }, createElement('path', { d: 'M2.37091 11.2501C1.58745 9.89288 1.32067 8.29835 1.61969 6.76006C1.91872 5.22177 2.76342 3.8433 3.99826 2.87846C5.2331 1.91362 6.77494 1.42737 8.33988 1.50925C9.90482 1.59113 11.3875 2.23562 12.5149 3.32406C13.6425 4.41269 14.3387 5.87206 14.4754 7.4334C14.612 8.99474 14.18 10.5529 13.2587 11.8209C12.3375 13.0888 10.9891 13.9813 9.46194 14.3337C8.18691 14.628 6.85895 14.5294 5.64989 14.0605C5.1712 13.8748 4.76962 13.4932 4.26534 13.3967C3.67413 13.2835 2.95257 13.5598 2.03794 14.3337' }), ...[5.25, 8, 10.75].map((cx) => createElement('circle', { key: cx, cx, cy: 8, r: 0.65, fill: 'currentColor', stroke: 'none' })));
25
+ }
26
+ function AssistantPhoneIcon({ size = 20, className }) {
27
+ return createElement('svg', { width: size, height: size, className, viewBox: '0 0 16 16', fill: 'none', 'aria-hidden': true,
28
+ stroke: 'currentColor', strokeWidth: 1, strokeLinecap: 'round', strokeLinejoin: 'round' }, createElement('path', { d: 'M3.1 1.8h2l1.1 3.1-1.4 1.4a10.5 10.5 0 0 0 4.9 4.9l1.4-1.4 3.1 1.1v2a1.4 1.4 0 0 1-1.6 1.4A13 13 0 0 1 1.7 3.4a1.4 1.4 0 0 1 1.4-1.6Z' }));
29
+ }
5
30
  /**
6
31
  * 图标导出兼容层。0.1.7 可能改名为 Regular/Medium,运行时优先使用新导出,
7
32
  * 旧导出仍作为回退;业务组件不再直接判断 DSH 版本。
@@ -1 +1 @@
1
- {"version":3,"file":"primitives-adapter.js","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/primitives-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAsB,MAAM,OAAO,CAAA;AAiCzD,MAAM,eAAe,GAAkB,GAAG,EAAE,CAAC,IAAI,CAAA;AACjD,MAAM,oBAAoB,GAA0B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;AAEpH;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,OAAO,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,iBAAiB,IAAI,eAAe,CAAA;AAClH,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,OAAO,KAAK,CAAC,6BAA6B,IAAI,KAAK,CAAC,4BAA4B,IAAI,KAAK,CAAC,wBAAwB,IAAI,eAAe,CAAA;AACvI,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,OAAO,KAAK,CAAC,yBAAyB,IAAI,KAAK,CAAC,wBAAwB,IAAI,eAAe,CAAA;AAC7F,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,OAAO,KAAK,CAAC,4BAA4B;WACpC,KAAK,CAAC,2BAA2B;WACjC,KAAK,CAAC,0BAA0B;WAChC,KAAK,CAAC,yBAAyB;WAC/B,eAAe,CAAA;AACtB,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,wBAAwB,CAAC,SAA2C;IAClF,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,2BAA2B,IAAI,KAAK,CAAC,0BAA0B,IAAI,eAAe,CAAA;IACvH,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,6BAA6B,IAAI,KAAK,CAAC,4BAA4B,IAAI,eAAe,CAAA;IAC7H,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,6BAA6B,IAAI,KAAK,CAAC,4BAA4B,IAAI,eAAe,CAAA;IAC7H,OAAO,KAAK,CAAC,8BAA8B,IAAI,KAAK,CAAC,6BAA6B,IAAI,eAAe,CAAA;AACvG,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,OAAO,KAAK,CAAC,YAAY,IAAI,oBAAoB,CAAA;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,OAAO,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,iBAAiB,IAAI,eAAe,CAAA;AAClH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,UAA8B,CAAA;IAC5C,OAAO,KAAK,CAAC,uBAAuB;WAC/B,KAAK,CAAC,sBAAsB;WAC5B,KAAK,CAAC,sBAAsB;WAC5B,KAAK,CAAC,qBAAqB;WAC3B,eAAe,EAAE,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"primitives-adapter.js","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/primitives-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { TerminalShareTarget } from '../../shared/contracts/terminal-share.js';
2
+ export interface TerminalDraftReference {
3
+ readonly source: string;
4
+ readonly ref: string;
5
+ readonly label: string;
6
+ readonly appearance?: 'file';
7
+ readonly clipboardText: string;
8
+ }
9
+ export interface TerminalReferenceCodec {
10
+ clipboardText(ref: string): string;
11
+ serialize(ref: string, signal: AbortSignal): Promise<string>;
12
+ }
13
+ export interface TerminalSharingBridge {
14
+ targets(signal?: AbortSignal, query?: {
15
+ readonly sessionId: string;
16
+ readonly limit: number;
17
+ }): Promise<readonly TerminalShareTarget[]>;
18
+ source(sessionId: string): {
19
+ readonly hostId: string;
20
+ readonly workspaceId: string;
21
+ };
22
+ registerReferences(name: string, codec: TerminalReferenceCodec, openReference: (ref: string) => boolean): (() => void) | undefined;
23
+ createTarget(sourceSessionId: string): Promise<string>;
24
+ insert(sessionId: string, text: string, reference?: TerminalDraftReference): Promise<void>;
25
+ }
26
+ /** DSH 版本差异只在本适配器探测,终端业务不读取宿主私有编辑器。 */
27
+ export declare function supportsTerminalSharing(context: unknown): boolean;
28
+ export declare function createTerminalSharingBridge(context: unknown): TerminalSharingBridge;
29
+ /** 原生工作区快照同时包含 PeerHost 投影和归档集合。 */
30
+ export declare function readTerminalShareTargets(rows: readonly unknown[], snapshot: unknown): readonly TerminalShareTarget[];
31
+ /** 新建入口由菜单单独提供;已有会话只按更新时间排序,初始最多五项。 */
32
+ export declare function selectRecentTerminalShareTargets(targets: readonly TerminalShareTarget[], snapshot: unknown, sessionId: string, limit?: number): readonly TerminalShareTarget[];
33
+ //# sourceMappingURL=terminal-sharing-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-sharing-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-capabilities/client/terminal-sharing-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAKnF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAsBD,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7D;AAYD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAA;IACtI,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;IACpF,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAClI,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACtD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3F;AAED,uCAAuC;AACvC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAIjE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,CAiGnF;AAED,oCAAoC;AACpC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,mBAAmB,EAAE,CAoBpH;AAED,uCAAuC;AACvC,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,SAAS,mBAAmB,EAAE,CASzK"}