@jingyi0605/codingns4dsh 0.2.1-beta.3 → 0.2.1-beta.5
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.
- package/README.en.md +30 -6
- package/README.md +121 -10
- package/THIRD_PARTY_NOTICES +141 -0
- package/assets/assistant-basics/female-v1.png +0 -0
- package/assets/assistant-basics/male-v1.png +0 -0
- package/assets/desktop-assistant/20261008-WebView2/345/210/206/345/217/221/350/257/264/346/230/216.md +14 -0
- package/assets/desktop-assistant/webview2/LICENSE.txt +27 -0
- package/assets/desktop-assistant/webview2/Microsoft.Web.WebView2.Core.dll +0 -0
- package/assets/desktop-assistant/webview2/Microsoft.Web.WebView2.Wpf.dll +0 -0
- package/assets/desktop-assistant/webview2/NOTICE.txt +85 -0
- package/assets/desktop-assistant/webview2/arm64/WebView2Loader.dll +0 -0
- package/assets/desktop-assistant/webview2/x64/WebView2Loader.dll +0 -0
- package/assets/desktop-assistant/webview2/x86/WebView2Loader.dll +0 -0
- package/assets/moss/LICENSE +201 -0
- package/assets/moss/ort_cpu_runtime.py +839 -0
- package/assets/moss/worker.py +278 -0
- package/assets/voice/bilingual-zh-en-bpe.vocab +500 -0
- package/avatar-packages/catalog.json +259 -0
- package/avatar-packages/manifests/bubu-codebrew-bear.avatar.json +13 -0
- package/avatar-packages/manifests/ds-whale-live2d.avatar.json +27 -0
- package/avatar-packages/manifests/ds-whale-sprite.avatar.json +13 -0
- package/avatar-packages/manifests/live2d-haru.avatar.json +13 -0
- package/avatar-packages/manifests/live2d-hiyori.avatar.json +13 -0
- package/avatar-packages/manifests/live2d-mao.avatar.json +13 -0
- package/avatar-packages/manifests/live2d-mark.avatar.json +13 -0
- package/avatar-packages/manifests/live2d-rice.avatar.json +13 -0
- package/avatar-packages/manifests/live2d-wanko.avatar.json +13 -0
- package/avatar-packages/manifests/nastya.avatar.json +13 -0
- package/avatar-packages/manifests/scout-corgi.avatar.json +13 -0
- package/avatar-packages/manifests/xiaoman.avatar.json +13 -0
- package/data/build/dist/client/account-bar.d.ts +1 -1
- package/data/build/dist/client/account-bar.d.ts.map +1 -1
- package/data/build/dist/client/account-bar.js +22 -14
- package/data/build/dist/client/account-bar.js.map +1 -1
- package/data/build/dist/client/adapter-catalog-watch.d.ts +8 -0
- package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -0
- package/data/build/dist/client/adapter-catalog-watch.js +79 -0
- package/data/build/dist/client/adapter-catalog-watch.js.map +1 -0
- package/data/build/dist/client/assistant-settings-styles.d.ts +7 -0
- package/data/build/dist/client/assistant-settings-styles.d.ts.map +1 -0
- package/data/build/dist/client/assistant-settings-styles.js +6 -0
- package/data/build/dist/client/assistant-settings-styles.js.map +1 -0
- package/data/build/dist/client/avatar/builtin.d.ts +5 -0
- package/data/build/dist/client/avatar/builtin.d.ts.map +1 -0
- package/data/build/dist/client/avatar/builtin.js +9 -0
- package/data/build/dist/client/avatar/builtin.js.map +1 -0
- package/data/build/dist/client/avatar/cache-status.d.ts +4 -0
- package/data/build/dist/client/avatar/cache-status.d.ts.map +1 -0
- package/data/build/dist/client/avatar/cache-status.js +40 -0
- package/data/build/dist/client/avatar/cache-status.js.map +1 -0
- package/data/build/dist/client/avatar/catalog-panel.d.ts +49 -0
- package/data/build/dist/client/avatar/catalog-panel.d.ts.map +1 -0
- package/data/build/dist/client/avatar/catalog-panel.js +245 -0
- package/data/build/dist/client/avatar/catalog-panel.js.map +1 -0
- package/data/build/dist/client/avatar/catalog-picker.d.ts +38 -0
- package/data/build/dist/client/avatar/catalog-picker.d.ts.map +1 -0
- package/data/build/dist/client/avatar/catalog-picker.js +65 -0
- package/data/build/dist/client/avatar/catalog-picker.js.map +1 -0
- package/data/build/dist/client/avatar/desktop-bridge.d.ts +21 -0
- package/data/build/dist/client/avatar/desktop-bridge.d.ts.map +1 -0
- package/data/build/dist/client/avatar/desktop-bridge.js +109 -0
- package/data/build/dist/client/avatar/desktop-bridge.js.map +1 -0
- package/data/build/dist/client/avatar/desktop-entry.d.ts +2 -0
- package/data/build/dist/client/avatar/desktop-entry.d.ts.map +1 -0
- package/data/build/dist/client/avatar/desktop-entry.js +34 -0
- package/data/build/dist/client/avatar/desktop-entry.js.map +1 -0
- package/data/build/dist/client/avatar/desktop-view.d.ts +23 -0
- package/data/build/dist/client/avatar/desktop-view.d.ts.map +1 -0
- package/data/build/dist/client/avatar/desktop-view.js +72 -0
- package/data/build/dist/client/avatar/desktop-view.js.map +1 -0
- package/data/build/dist/client/avatar/engine.d.ts +45 -0
- package/data/build/dist/client/avatar/engine.d.ts.map +1 -0
- package/data/build/dist/client/avatar/engine.js +165 -0
- package/data/build/dist/client/avatar/engine.js.map +1 -0
- package/data/build/dist/client/avatar/floating.d.ts +20 -0
- package/data/build/dist/client/avatar/floating.d.ts.map +1 -0
- package/data/build/dist/client/avatar/floating.js +99 -0
- package/data/build/dist/client/avatar/floating.js.map +1 -0
- package/data/build/dist/client/avatar/image.d.ts +5 -0
- package/data/build/dist/client/avatar/image.d.ts.map +1 -0
- package/data/build/dist/client/avatar/image.js +22 -0
- package/data/build/dist/client/avatar/image.js.map +1 -0
- package/data/build/dist/client/avatar/live2d.d.ts +67 -0
- package/data/build/dist/client/avatar/live2d.d.ts.map +1 -0
- package/data/build/dist/client/avatar/live2d.js +288 -0
- package/data/build/dist/client/avatar/live2d.js.map +1 -0
- package/data/build/dist/client/avatar/loading.d.ts +27 -0
- package/data/build/dist/client/avatar/loading.d.ts.map +1 -0
- package/data/build/dist/client/avatar/loading.js +74 -0
- package/data/build/dist/client/avatar/loading.js.map +1 -0
- package/data/build/dist/client/avatar/manager.d.ts +71 -0
- package/data/build/dist/client/avatar/manager.d.ts.map +1 -0
- package/data/build/dist/client/avatar/manager.js +323 -0
- package/data/build/dist/client/avatar/manager.js.map +1 -0
- package/data/build/dist/client/avatar/portrait-capture.d.ts +30 -0
- package/data/build/dist/client/avatar/portrait-capture.d.ts.map +1 -0
- package/data/build/dist/client/avatar/portrait-capture.js +233 -0
- package/data/build/dist/client/avatar/portrait-capture.js.map +1 -0
- package/data/build/dist/client/avatar/portrait-editor.d.ts +14 -0
- package/data/build/dist/client/avatar/portrait-editor.d.ts.map +1 -0
- package/data/build/dist/client/avatar/portrait-editor.js +105 -0
- package/data/build/dist/client/avatar/portrait-editor.js.map +1 -0
- package/data/build/dist/client/avatar/portrait-service.d.ts +51 -0
- package/data/build/dist/client/avatar/portrait-service.d.ts.map +1 -0
- package/data/build/dist/client/avatar/portrait-service.js +244 -0
- package/data/build/dist/client/avatar/portrait-service.js.map +1 -0
- package/data/build/dist/client/avatar/portrait.d.ts +28 -0
- package/data/build/dist/client/avatar/portrait.d.ts.map +1 -0
- package/data/build/dist/client/avatar/portrait.js +56 -0
- package/data/build/dist/client/avatar/portrait.js.map +1 -0
- package/data/build/dist/client/avatar/preview-capture.d.ts +4 -0
- package/data/build/dist/client/avatar/preview-capture.d.ts.map +1 -0
- package/data/build/dist/client/avatar/preview-capture.js +100 -0
- package/data/build/dist/client/avatar/preview-capture.js.map +1 -0
- package/data/build/dist/client/avatar/preview-store.d.ts +41 -0
- package/data/build/dist/client/avatar/preview-store.d.ts.map +1 -0
- package/data/build/dist/client/avatar/preview-store.js +171 -0
- package/data/build/dist/client/avatar/preview-store.js.map +1 -0
- package/data/build/dist/client/avatar/preview.d.ts +14 -0
- package/data/build/dist/client/avatar/preview.d.ts.map +1 -0
- package/data/build/dist/client/avatar/preview.js +56 -0
- package/data/build/dist/client/avatar/preview.js.map +1 -0
- package/data/build/dist/client/avatar/registration.d.ts +2 -0
- package/data/build/dist/client/avatar/registration.d.ts.map +1 -0
- package/data/build/dist/client/avatar/registration.js +2 -0
- package/data/build/dist/client/avatar/registration.js.map +1 -0
- package/data/build/dist/client/avatar/registry.d.ts +45 -0
- package/data/build/dist/client/avatar/registry.d.ts.map +1 -0
- package/data/build/dist/client/avatar/registry.js +34 -0
- package/data/build/dist/client/avatar/registry.js.map +1 -0
- package/data/build/dist/client/avatar/settings-panel.d.ts +21 -0
- package/data/build/dist/client/avatar/settings-panel.d.ts.map +1 -0
- package/data/build/dist/client/avatar/settings-panel.js +169 -0
- package/data/build/dist/client/avatar/settings-panel.js.map +1 -0
- package/data/build/dist/client/avatar/slot.d.ts +17 -0
- package/data/build/dist/client/avatar/slot.d.ts.map +1 -0
- package/data/build/dist/client/avatar/slot.js +70 -0
- package/data/build/dist/client/avatar/slot.js.map +1 -0
- package/data/build/dist/client/avatar/spritesheet.d.ts +19 -0
- package/data/build/dist/client/avatar/spritesheet.d.ts.map +1 -0
- package/data/build/dist/client/avatar/spritesheet.js +91 -0
- package/data/build/dist/client/avatar/spritesheet.js.map +1 -0
- package/data/build/dist/client/avatar/temporary-preview.d.ts +25 -0
- package/data/build/dist/client/avatar/temporary-preview.d.ts.map +1 -0
- package/data/build/dist/client/avatar/temporary-preview.js +61 -0
- package/data/build/dist/client/avatar/temporary-preview.js.map +1 -0
- package/data/build/dist/client/bundle.js +25603 -3080
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/cli-catalog.d.ts +3 -0
- package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
- package/data/build/dist/client/cli-catalog.js +7 -0
- package/data/build/dist/client/cli-catalog.js.map +1 -1
- package/data/build/dist/client/cli-slots.d.ts.map +1 -1
- package/data/build/dist/client/cli-slots.js +14 -52
- package/data/build/dist/client/cli-slots.js.map +1 -1
- package/data/build/dist/client/debug/ui.d.ts.map +1 -1
- package/data/build/dist/client/debug/ui.js +14 -5
- package/data/build/dist/client/debug/ui.js.map +1 -1
- package/data/build/dist/client/desktop-assistant.js +8599 -0
- package/data/build/dist/client/features/assistant-composer-input.d.ts +10 -0
- package/data/build/dist/client/features/assistant-composer-input.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-composer-input.js +40 -0
- package/data/build/dist/client/features/assistant-composer-input.js.map +1 -0
- package/data/build/dist/client/features/assistant-configuration-session.d.ts +45 -0
- package/data/build/dist/client/features/assistant-configuration-session.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-configuration-session.js +252 -0
- package/data/build/dist/client/features/assistant-configuration-session.js.map +1 -0
- package/data/build/dist/client/features/assistant-configuration-tabs.d.ts +34 -0
- package/data/build/dist/client/features/assistant-configuration-tabs.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-configuration-tabs.js +48 -0
- package/data/build/dist/client/features/assistant-configuration-tabs.js.map +1 -0
- package/data/build/dist/client/features/assistant-conversation-message.d.ts +27 -0
- package/data/build/dist/client/features/assistant-conversation-message.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-conversation-message.js +55 -0
- package/data/build/dist/client/features/assistant-conversation-message.js.map +1 -0
- package/data/build/dist/client/features/assistant-debug-dialog.d.ts +3 -0
- package/data/build/dist/client/features/assistant-debug-dialog.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-debug-dialog.js +3 -0
- package/data/build/dist/client/features/assistant-debug-dialog.js.map +1 -0
- package/data/build/dist/client/features/assistant-debug-workbench.d.ts +48 -0
- package/data/build/dist/client/features/assistant-debug-workbench.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-debug-workbench.js +376 -0
- package/data/build/dist/client/features/assistant-debug-workbench.js.map +1 -0
- package/data/build/dist/client/features/assistant-floating-call.d.ts +33 -0
- package/data/build/dist/client/features/assistant-floating-call.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-floating-call.js +67 -0
- package/data/build/dist/client/features/assistant-floating-call.js.map +1 -0
- package/data/build/dist/client/features/assistant-panel.d.ts +2 -2
- package/data/build/dist/client/features/assistant-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-panel.js +10 -123
- package/data/build/dist/client/features/assistant-panel.js.map +1 -1
- package/data/build/dist/client/features/assistant-realtime-call.d.ts +57 -0
- package/data/build/dist/client/features/assistant-realtime-call.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-realtime-call.js +131 -0
- package/data/build/dist/client/features/assistant-realtime-call.js.map +1 -0
- package/data/build/dist/client/features/assistant-record-style.d.ts +5 -0
- package/data/build/dist/client/features/assistant-record-style.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-record-style.js +25 -0
- package/data/build/dist/client/features/assistant-record-style.js.map +1 -0
- package/data/build/dist/client/features/assistant-voice-initialization.d.ts +26 -0
- package/data/build/dist/client/features/assistant-voice-initialization.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-voice-initialization.js +138 -0
- package/data/build/dist/client/features/assistant-voice-initialization.js.map +1 -0
- package/data/build/dist/client/features/assistant-voice-settings-group.d.ts +19 -0
- package/data/build/dist/client/features/assistant-voice-settings-group.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-voice-settings-group.js +34 -0
- package/data/build/dist/client/features/assistant-voice-settings-group.js.map +1 -0
- package/data/build/dist/client/features/assistant-voice-settings.d.ts +13 -0
- package/data/build/dist/client/features/assistant-voice-settings.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-voice-settings.js +184 -0
- package/data/build/dist/client/features/assistant-voice-settings.js.map +1 -0
- package/data/build/dist/client/features/assistant-workbench-controls.d.ts +72 -0
- package/data/build/dist/client/features/assistant-workbench-controls.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-workbench-controls.js +145 -0
- package/data/build/dist/client/features/assistant-workbench-controls.js.map +1 -0
- package/data/build/dist/client/features/assistant-workbench-entry.d.ts +4 -0
- package/data/build/dist/client/features/assistant-workbench-entry.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-workbench-entry.js +7 -0
- package/data/build/dist/client/features/assistant-workbench-entry.js.map +1 -0
- package/data/build/dist/client/features/assistant-workbench.d.ts +109 -0
- package/data/build/dist/client/features/assistant-workbench.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-workbench.js +568 -0
- package/data/build/dist/client/features/assistant-workbench.js.map +1 -0
- package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
- package/data/build/dist/client/features/cli-adapters.js +48 -13
- package/data/build/dist/client/features/cli-adapters.js.map +1 -1
- package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -1
- package/data/build/dist/client/features/global-voice-assistant.js +100 -39
- package/data/build/dist/client/features/global-voice-assistant.js.map +1 -1
- package/data/build/dist/client/features/lan-access.js +2 -2
- package/data/build/dist/client/features/lan-access.js.map +1 -1
- package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
- package/data/build/dist/client/features/mobile-access.js +9 -0
- package/data/build/dist/client/features/mobile-access.js.map +1 -1
- package/data/build/dist/client/features/peer-host.d.ts +4 -1
- package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/client/features/peer-host.js +176 -106
- package/data/build/dist/client/features/peer-host.js.map +1 -1
- package/data/build/dist/client/features/types.d.ts +4 -0
- package/data/build/dist/client/features/types.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-conversation-dialog.d.ts +9 -2
- package/data/build/dist/client/features/voice-conversation-dialog.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-conversation-dialog.js +29 -7
- package/data/build/dist/client/features/voice-conversation-dialog.js.map +1 -1
- package/data/build/dist/client/features/voice-initialization-dialog.d.ts +42 -2
- package/data/build/dist/client/features/voice-initialization-dialog.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-initialization-dialog.js +181 -67
- package/data/build/dist/client/features/voice-initialization-dialog.js.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement.js +37 -10
- package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
- package/data/build/dist/client/git-management.d.ts +1 -1
- package/data/build/dist/client/git-management.d.ts.map +1 -1
- package/data/build/dist/client/git-management.js +46 -27
- package/data/build/dist/client/git-management.js.map +1 -1
- package/data/build/dist/client/global-voice-runtime-registry.d.ts +4 -0
- package/data/build/dist/client/global-voice-runtime-registry.d.ts.map +1 -1
- package/data/build/dist/client/global-voice-runtime-registry.js.map +1 -1
- package/data/build/dist/client/index.d.ts +11 -0
- package/data/build/dist/client/index.d.ts.map +1 -1
- package/data/build/dist/client/index.js +10 -0
- package/data/build/dist/client/index.js.map +1 -1
- package/data/build/dist/client/locale.d.ts.map +1 -1
- package/data/build/dist/client/locale.js +61 -14
- package/data/build/dist/client/locale.js.map +1 -1
- package/data/build/dist/client/locales/assistantAvatar.d.ts +138 -0
- package/data/build/dist/client/locales/assistantAvatar.d.ts.map +1 -0
- package/data/build/dist/client/locales/assistantAvatar.js +273 -0
- package/data/build/dist/client/locales/assistantAvatar.js.map +1 -0
- package/data/build/dist/client/locales/assistantDebug.d.ts +4 -0
- package/data/build/dist/client/locales/assistantDebug.d.ts.map +1 -0
- package/data/build/dist/client/locales/assistantDebug.js +362 -0
- package/data/build/dist/client/locales/assistantDebug.js.map +1 -0
- package/data/build/dist/client/locales/assistantTts.d.ts +80 -0
- package/data/build/dist/client/locales/assistantTts.d.ts.map +1 -0
- package/data/build/dist/client/locales/assistantTts.js +76 -0
- package/data/build/dist/client/locales/assistantTts.js.map +1 -0
- package/data/build/dist/client/locales/assistantWorkbench.d.ts +126 -0
- package/data/build/dist/client/locales/assistantWorkbench.d.ts.map +1 -0
- package/data/build/dist/client/locales/assistantWorkbench.js +96 -0
- package/data/build/dist/client/locales/assistantWorkbench.js.map +1 -0
- package/data/build/dist/client/locales/peerHost.d.ts.map +1 -1
- package/data/build/dist/client/locales/peerHost.js +4 -0
- package/data/build/dist/client/locales/peerHost.js.map +1 -1
- package/data/build/dist/client/locales/peerHostWorkspace.js +2 -2
- package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -1
- package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
- package/data/build/dist/client/locales/terminalAuth.js +80 -0
- package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
- package/data/build/dist/client/locales/usage.d.ts.map +1 -1
- package/data/build/dist/client/locales/usage.js +4 -0
- package/data/build/dist/client/locales/usage.js.map +1 -1
- package/data/build/dist/client/locales/voiceModels.d.ts +45 -0
- package/data/build/dist/client/locales/voiceModels.d.ts.map +1 -0
- package/data/build/dist/client/locales/voiceModels.js +85 -0
- package/data/build/dist/client/locales/voiceModels.js.map +1 -0
- package/data/build/dist/client/mobile-rightbar-tabs-dom.d.ts +29 -0
- package/data/build/dist/client/mobile-rightbar-tabs-dom.d.ts.map +1 -0
- package/data/build/dist/client/mobile-rightbar-tabs-dom.js +93 -0
- package/data/build/dist/client/mobile-rightbar-tabs-dom.js.map +1 -0
- package/data/build/dist/client/mobile-rightbar-visibility.d.ts +32 -0
- package/data/build/dist/client/mobile-rightbar-visibility.d.ts.map +1 -0
- package/data/build/dist/client/mobile-rightbar-visibility.js +188 -0
- package/data/build/dist/client/mobile-rightbar-visibility.js.map +1 -0
- package/data/build/dist/client/mobile-session-interaction.d.ts +9 -19
- package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
- package/data/build/dist/client/mobile-session-interaction.js +25 -169
- package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
- package/data/build/dist/client/mobile-sidebar-gestures.d.ts +4 -0
- package/data/build/dist/client/mobile-sidebar-gestures.d.ts.map +1 -1
- package/data/build/dist/client/mobile-sidebar-gestures.js +17 -9
- package/data/build/dist/client/mobile-sidebar-gestures.js.map +1 -1
- package/data/build/dist/client/model-catalog-cache.d.ts +4 -4
- package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
- package/data/build/dist/client/model-catalog-cache.js +66 -34
- package/data/build/dist/client/model-catalog-cache.js.map +1 -1
- package/data/build/dist/client/moss-voice-output.d.ts +39 -0
- package/data/build/dist/client/moss-voice-output.d.ts.map +1 -0
- package/data/build/dist/client/moss-voice-output.js +241 -0
- package/data/build/dist/client/moss-voice-output.js.map +1 -0
- package/data/build/dist/client/rpc-call.d.ts +4 -0
- package/data/build/dist/client/rpc-call.d.ts.map +1 -0
- package/data/build/dist/client/rpc-call.js +23 -0
- package/data/build/dist/client/rpc-call.js.map +1 -0
- package/data/build/dist/client/serial-polling.d.ts +13 -0
- package/data/build/dist/client/serial-polling.d.ts.map +1 -0
- package/data/build/dist/client/serial-polling.js +41 -0
- package/data/build/dist/client/serial-polling.js.map +1 -0
- package/data/build/dist/client/session-adapter-cache.d.ts.map +1 -1
- package/data/build/dist/client/session-adapter-cache.js +11 -1
- package/data/build/dist/client/session-adapter-cache.js.map +1 -1
- package/data/build/dist/client/settings-bridge.d.ts +1 -0
- package/data/build/dist/client/settings-bridge.d.ts.map +1 -1
- package/data/build/dist/client/settings-bridge.js +9 -1
- package/data/build/dist/client/settings-bridge.js.map +1 -1
- package/data/build/dist/client/sherpa-voice-adapter.d.ts +23 -2
- package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -1
- package/data/build/dist/client/sherpa-voice-adapter.js +386 -93
- package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -1
- package/data/build/dist/client/streaming-sentence-queue.d.ts +20 -0
- package/data/build/dist/client/streaming-sentence-queue.d.ts.map +1 -0
- package/data/build/dist/client/streaming-sentence-queue.js +130 -0
- package/data/build/dist/client/streaming-sentence-queue.js.map +1 -0
- package/data/build/dist/client/subscription-slot.d.ts +11 -0
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +42 -15
- package/data/build/dist/client/subscription-slot.js.map +1 -1
- package/data/build/dist/client/terminal/log-preview.d.ts +14 -0
- package/data/build/dist/client/terminal/log-preview.d.ts.map +1 -0
- package/data/build/dist/client/terminal/log-preview.js +23 -0
- package/data/build/dist/client/terminal/log-preview.js.map +1 -0
- package/data/build/dist/client/terminal/model.d.ts +38 -7
- package/data/build/dist/client/terminal/model.d.ts.map +1 -1
- package/data/build/dist/client/terminal/model.js +188 -32
- package/data/build/dist/client/terminal/model.js.map +1 -1
- package/data/build/dist/client/terminal/recovery.d.ts +7 -3
- package/data/build/dist/client/terminal/recovery.d.ts.map +1 -1
- package/data/build/dist/client/terminal/recovery.js +45 -41
- package/data/build/dist/client/terminal/recovery.js.map +1 -1
- package/data/build/dist/client/terminal/selection-actions.d.ts +63 -0
- package/data/build/dist/client/terminal/selection-actions.d.ts.map +1 -0
- package/data/build/dist/client/terminal/selection-actions.js +132 -0
- package/data/build/dist/client/terminal/selection-actions.js.map +1 -0
- package/data/build/dist/client/terminal/share-menu.d.ts +17 -0
- package/data/build/dist/client/terminal/share-menu.d.ts.map +1 -0
- package/data/build/dist/client/terminal/share-menu.js +131 -0
- package/data/build/dist/client/terminal/share-menu.js.map +1 -0
- package/data/build/dist/client/terminal/sharing.d.ts +42 -0
- package/data/build/dist/client/terminal/sharing.d.ts.map +1 -0
- package/data/build/dist/client/terminal/sharing.js +144 -0
- package/data/build/dist/client/terminal/sharing.js.map +1 -0
- package/data/build/dist/client/terminal/snapshot.d.ts +32 -0
- package/data/build/dist/client/terminal/snapshot.d.ts.map +1 -0
- package/data/build/dist/client/terminal/snapshot.js +108 -0
- package/data/build/dist/client/terminal/snapshot.js.map +1 -0
- package/data/build/dist/client/terminal/styles.d.ts +14 -0
- package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
- package/data/build/dist/client/terminal/styles.js +39 -1
- package/data/build/dist/client/terminal/styles.js.map +1 -1
- package/data/build/dist/client/terminal/surface-cache.d.ts +10 -0
- package/data/build/dist/client/terminal/surface-cache.d.ts.map +1 -0
- package/data/build/dist/client/terminal/surface-cache.js +19 -0
- package/data/build/dist/client/terminal/surface-cache.js.map +1 -0
- package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
- package/data/build/dist/client/terminal/ui.js +78 -21
- package/data/build/dist/client/terminal/ui.js.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.d.ts +5 -2
- package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.js +429 -397
- package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
- package/data/build/dist/client/touch-input-focus.d.ts +30 -0
- package/data/build/dist/client/touch-input-focus.d.ts.map +1 -0
- package/data/build/dist/client/touch-input-focus.js +190 -0
- package/data/build/dist/client/touch-input-focus.js.map +1 -0
- package/data/build/dist/client/voice-capture.d.ts +9 -0
- package/data/build/dist/client/voice-capture.d.ts.map +1 -1
- package/data/build/dist/client/voice-capture.js +35 -1
- package/data/build/dist/client/voice-capture.js.map +1 -1
- package/data/build/dist/client/voice-chat-updates.d.ts +12 -0
- package/data/build/dist/client/voice-chat-updates.d.ts.map +1 -0
- package/data/build/dist/client/voice-chat-updates.js +39 -0
- package/data/build/dist/client/voice-chat-updates.js.map +1 -0
- package/data/build/dist/client/voice-diagnostics.d.ts +19 -0
- package/data/build/dist/client/voice-diagnostics.d.ts.map +1 -0
- package/data/build/dist/client/voice-diagnostics.js +73 -0
- package/data/build/dist/client/voice-diagnostics.js.map +1 -0
- package/data/build/dist/client/voice-model-setup-progress.d.ts +8 -0
- package/data/build/dist/client/voice-model-setup-progress.d.ts.map +1 -0
- package/data/build/dist/client/voice-model-setup-progress.js +27 -0
- package/data/build/dist/client/voice-model-setup-progress.js.map +1 -0
- package/data/build/dist/client/voice-stream-uploader.d.ts +41 -0
- package/data/build/dist/client/voice-stream-uploader.d.ts.map +1 -0
- package/data/build/dist/client/voice-stream-uploader.js +154 -0
- package/data/build/dist/client/voice-stream-uploader.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts +4 -0
- package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js +9 -0
- package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +5 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +25 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.d.ts +33 -0
- package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.js +187 -0
- package/data/build/dist/dsh-capabilities/client/terminal-sharing-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.d.ts +55 -0
- package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.js +264 -0
- package/data/build/dist/dsh-capabilities/host/assistant-agent-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.d.ts +16 -0
- package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.js +69 -0
- package/data/build/dist/dsh-capabilities/host/assistant-attachment-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.d.ts +36 -0
- package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.js +112 -0
- package/data/build/dist/dsh-capabilities/host/assistant-llm-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.d.ts +4 -0
- package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.js +41 -0
- package/data/build/dist/dsh-capabilities/host/assistant-web-search-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/matrix.js +3 -0
- package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.js +18 -0
- package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
- package/data/build/dist/dsh-capabilities/settings-store.d.ts +2 -0
- package/data/build/dist/dsh-capabilities/settings-store.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/settings-store.js.map +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/types.js.map +1 -1
- package/data/build/dist/host/avatar/catalog.d.ts +21 -0
- package/data/build/dist/host/avatar/catalog.d.ts.map +1 -0
- package/data/build/dist/host/avatar/catalog.js +123 -0
- package/data/build/dist/host/avatar/catalog.js.map +1 -0
- package/data/build/dist/host/avatar/engine.d.ts +42 -0
- package/data/build/dist/host/avatar/engine.d.ts.map +1 -0
- package/data/build/dist/host/avatar/engine.js +167 -0
- package/data/build/dist/host/avatar/engine.js.map +1 -0
- package/data/build/dist/host/avatar/materials.d.ts +28 -0
- package/data/build/dist/host/avatar/materials.d.ts.map +1 -0
- package/data/build/dist/host/avatar/materials.js +183 -0
- package/data/build/dist/host/avatar/materials.js.map +1 -0
- package/data/build/dist/host/avatar/packages.d.ts +34 -0
- package/data/build/dist/host/avatar/packages.d.ts.map +1 -0
- package/data/build/dist/host/avatar/packages.js +200 -0
- package/data/build/dist/host/avatar/packages.js.map +1 -0
- package/data/build/dist/host/avatar/registry.d.ts +12 -0
- package/data/build/dist/host/avatar/registry.d.ts.map +1 -0
- package/data/build/dist/host/avatar/registry.js +22 -0
- package/data/build/dist/host/avatar/registry.js.map +1 -0
- package/data/build/dist/host/avatar/remote.d.ts +18 -0
- package/data/build/dist/host/avatar/remote.d.ts.map +1 -0
- package/data/build/dist/host/avatar/remote.js +103 -0
- package/data/build/dist/host/avatar/remote.js.map +1 -0
- package/data/build/dist/host/avatar/sources.d.ts +11 -0
- package/data/build/dist/host/avatar/sources.d.ts.map +1 -0
- package/data/build/dist/host/avatar/sources.js +78 -0
- package/data/build/dist/host/avatar/sources.js.map +1 -0
- package/data/build/dist/host/avatar/temporary-previews.d.ts +26 -0
- package/data/build/dist/host/avatar/temporary-previews.d.ts.map +1 -0
- package/data/build/dist/host/avatar/temporary-previews.js +139 -0
- package/data/build/dist/host/avatar/temporary-previews.js.map +1 -0
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js +3 -10
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-subscription.js +10 -10
- package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +7 -5
- package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js +8 -7
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +10 -3
- package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.js +9 -8
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.js +4 -3
- package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/delegate-dispatch.js +1 -1
- package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -1
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts +2 -0
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +5 -0
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +2 -4
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -1
- package/data/build/dist/host/cli-adapters/driver.d.ts +1 -1
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +28 -36
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js +2 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.js +4 -3
- package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts +2 -0
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +10 -0
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
- package/data/build/dist/host/cli-adapters/log-files.d.ts +3 -0
- package/data/build/dist/host/cli-adapters/log-files.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/log-files.js +32 -0
- package/data/build/dist/host/cli-adapters/log-files.js.map +1 -0
- package/data/build/dist/host/cli-adapters/native-team-subagent.js +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +10 -0
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.js +128 -26
- package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts +29 -0
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +471 -0
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js.map +1 -0
- package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.js +2 -1
- package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.d.ts +8 -2
- package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.js +90 -9
- package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.js +55 -72
- package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts +6 -1
- package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-subscription.js +37 -10
- package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.d.ts +13 -21
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +71 -127
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +1 -0
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +6 -6
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/session-store.d.ts +5 -1
- package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/session-store.js +68 -11
- package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js +4 -3
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.js +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
- package/data/build/dist/host/debug.d.ts.map +1 -1
- package/data/build/dist/host/debug.js +5 -4
- package/data/build/dist/host/debug.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/controller.d.ts +44 -0
- package/data/build/dist/host/desktop-assistant/controller.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/controller.js +150 -0
- package/data/build/dist/host/desktop-assistant/controller.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/feature.d.ts +9 -0
- package/data/build/dist/host/desktop-assistant/feature.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/feature.js +102 -0
- package/data/build/dist/host/desktop-assistant/feature.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/launcher.d.ts +5 -0
- package/data/build/dist/host/desktop-assistant/launcher.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/launcher.js +84 -0
- package/data/build/dist/host/desktop-assistant/launcher.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/mac-agent.d.ts +5 -0
- package/data/build/dist/host/desktop-assistant/mac-agent.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/mac-agent.js +122 -0
- package/data/build/dist/host/desktop-assistant/mac-agent.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/process.d.ts +4 -0
- package/data/build/dist/host/desktop-assistant/process.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/process.js +25 -0
- package/data/build/dist/host/desktop-assistant/process.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/server.d.ts +12 -0
- package/data/build/dist/host/desktop-assistant/server.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/server.js +74 -0
- package/data/build/dist/host/desktop-assistant/server.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/win-agent.d.ts +2 -0
- package/data/build/dist/host/desktop-assistant/win-agent.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/win-agent.js +197 -0
- package/data/build/dist/host/desktop-assistant/win-agent.js.map +1 -0
- package/data/build/dist/host/dsh-runtime-version.d.ts +1 -1
- package/data/build/dist/host/dsh-runtime-version.d.ts.map +1 -1
- package/data/build/dist/host/dsh-runtime-version.js +22 -17
- package/data/build/dist/host/dsh-runtime-version.js.map +1 -1
- package/data/build/dist/host/features/assistant-avatar-assets.d.ts +3 -0
- package/data/build/dist/host/features/assistant-avatar-assets.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-avatar-assets.js +3 -0
- package/data/build/dist/host/features/assistant-avatar-assets.js.map +1 -0
- package/data/build/dist/host/features/assistant-avatar-basics.d.ts +3 -0
- package/data/build/dist/host/features/assistant-avatar-basics.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-avatar-basics.js +34 -0
- package/data/build/dist/host/features/assistant-avatar-basics.js.map +1 -0
- package/data/build/dist/host/features/assistant-avatar-legacy-assets.d.ts +6 -0
- package/data/build/dist/host/features/assistant-avatar-legacy-assets.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-avatar-legacy-assets.js +146 -0
- package/data/build/dist/host/features/assistant-avatar-legacy-assets.js.map +1 -0
- package/data/build/dist/host/features/assistant-avatar-runtime.d.ts +20 -0
- package/data/build/dist/host/features/assistant-avatar-runtime.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-avatar-runtime.js +250 -0
- package/data/build/dist/host/features/assistant-avatar-runtime.js.map +1 -0
- package/data/build/dist/host/features/assistant-conversation-storage.d.ts +8 -0
- package/data/build/dist/host/features/assistant-conversation-storage.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-conversation-storage.js +38 -0
- package/data/build/dist/host/features/assistant-conversation-storage.js.map +1 -0
- package/data/build/dist/host/features/assistant-conversation.d.ts +57 -0
- package/data/build/dist/host/features/assistant-conversation.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-conversation.js +364 -0
- package/data/build/dist/host/features/assistant-conversation.js.map +1 -0
- package/data/build/dist/host/features/assistant-dispatch.d.ts +2 -2
- package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -1
- package/data/build/dist/host/features/assistant-dispatch.js +4 -3
- package/data/build/dist/host/features/assistant-dispatch.js.map +1 -1
- package/data/build/dist/host/features/assistant-index-analysis.d.ts +49 -0
- package/data/build/dist/host/features/assistant-index-analysis.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-index-analysis.js +255 -0
- package/data/build/dist/host/features/assistant-index-analysis.js.map +1 -0
- package/data/build/dist/host/features/assistant-index-journal.d.ts +20 -0
- package/data/build/dist/host/features/assistant-index-journal.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-index-journal.js +40 -0
- package/data/build/dist/host/features/assistant-index-journal.js.map +1 -0
- package/data/build/dist/host/features/assistant-index-retry.d.ts +12 -0
- package/data/build/dist/host/features/assistant-index-retry.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-index-retry.js +54 -0
- package/data/build/dist/host/features/assistant-index-retry.js.map +1 -0
- package/data/build/dist/host/features/assistant-index-updates.d.ts +40 -0
- package/data/build/dist/host/features/assistant-index-updates.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-index-updates.js +183 -0
- package/data/build/dist/host/features/assistant-index-updates.js.map +1 -0
- package/data/build/dist/host/features/assistant-lifecycle-settings.d.ts +5 -0
- package/data/build/dist/host/features/assistant-lifecycle-settings.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-lifecycle-settings.js +72 -0
- package/data/build/dist/host/features/assistant-lifecycle-settings.js.map +1 -0
- package/data/build/dist/host/features/assistant-management-tools.d.ts +34 -0
- package/data/build/dist/host/features/assistant-management-tools.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-management-tools.js +69 -0
- package/data/build/dist/host/features/assistant-management-tools.js.map +1 -0
- package/data/build/dist/host/features/assistant-prompts.d.ts +6 -0
- package/data/build/dist/host/features/assistant-prompts.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-prompts.js +62 -0
- package/data/build/dist/host/features/assistant-prompts.js.map +1 -0
- package/data/build/dist/host/features/assistant-session-index.d.ts +6 -1
- package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -1
- package/data/build/dist/host/features/assistant-session-index.js +11 -12
- package/data/build/dist/host/features/assistant-session-index.js.map +1 -1
- package/data/build/dist/host/features/assistant-source-cache.d.ts +12 -0
- package/data/build/dist/host/features/assistant-source-cache.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-source-cache.js +56 -0
- package/data/build/dist/host/features/assistant-source-cache.js.map +1 -0
- package/data/build/dist/host/features/assistant-structured-index.d.ts +21 -0
- package/data/build/dist/host/features/assistant-structured-index.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-structured-index.js +138 -0
- package/data/build/dist/host/features/assistant-structured-index.js.map +1 -0
- package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -1
- package/data/build/dist/host/features/assistant-summary.js +7 -1
- package/data/build/dist/host/features/assistant-summary.js.map +1 -1
- package/data/build/dist/host/features/assistant-text-chat.d.ts +29 -0
- package/data/build/dist/host/features/assistant-text-chat.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-text-chat.js +195 -0
- package/data/build/dist/host/features/assistant-text-chat.js.map +1 -0
- package/data/build/dist/host/features/assistant-tts-service.d.ts +47 -0
- package/data/build/dist/host/features/assistant-tts-service.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-tts-service.js +507 -0
- package/data/build/dist/host/features/assistant-tts-service.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-chat.d.ts +35 -0
- package/data/build/dist/host/features/assistant-voice-chat.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-chat.js +133 -0
- package/data/build/dist/host/features/assistant-voice-chat.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-hotwords.d.ts +33 -0
- package/data/build/dist/host/features/assistant-voice-hotwords.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-hotwords.js +114 -0
- package/data/build/dist/host/features/assistant-voice-hotwords.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-initialization.d.ts +26 -0
- package/data/build/dist/host/features/assistant-voice-initialization.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-initialization.js +68 -0
- package/data/build/dist/host/features/assistant-voice-initialization.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-sources.d.ts +13 -0
- package/data/build/dist/host/features/assistant-voice-sources.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-sources.js +72 -0
- package/data/build/dist/host/features/assistant-voice-sources.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
- package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -1
- package/data/build/dist/host/features/assistant-voice-stream.js +208 -5
- package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -1
- package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -1
- package/data/build/dist/host/features/global-voice-coordinator.js +15 -10
- package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -1
- package/data/build/dist/host/features/global-voice-rpc.d.ts +8 -1
- package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
- package/data/build/dist/host/features/global-voice-rpc.js +1076 -159
- package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
- package/data/build/dist/host/features/index.d.ts.map +1 -1
- package/data/build/dist/host/features/index.js +4 -0
- package/data/build/dist/host/features/index.js.map +1 -1
- package/data/build/dist/host/features/moss-tts-worker.d.ts +32 -0
- package/data/build/dist/host/features/moss-tts-worker.d.ts.map +1 -0
- package/data/build/dist/host/features/moss-tts-worker.js +216 -0
- package/data/build/dist/host/features/moss-tts-worker.js.map +1 -0
- package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/host/features/peer-host.js +15 -7
- package/data/build/dist/host/features/peer-host.js.map +1 -1
- package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +11 -0
- package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -1
- package/data/build/dist/host/features/sherpa-voice-runtime.js +72 -17
- package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -1
- package/data/build/dist/host/features/sherpa-voice-worker.d.ts +18 -0
- package/data/build/dist/host/features/sherpa-voice-worker.d.ts.map +1 -0
- package/data/build/dist/host/features/sherpa-voice-worker.js +40 -0
- package/data/build/dist/host/features/sherpa-voice-worker.js.map +1 -0
- package/data/build/dist/host/features/sherpa-worker-runtime.d.ts +41 -0
- package/data/build/dist/host/features/sherpa-worker-runtime.d.ts.map +1 -0
- package/data/build/dist/host/features/sherpa-worker-runtime.js +200 -0
- package/data/build/dist/host/features/sherpa-worker-runtime.js.map +1 -0
- package/data/build/dist/host/features/types.d.ts +9 -1
- package/data/build/dist/host/features/types.d.ts.map +1 -1
- package/data/build/dist/host/features/voice-model-management.d.ts +22 -0
- package/data/build/dist/host/features/voice-model-management.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-model-management.js +178 -0
- package/data/build/dist/host/features/voice-model-management.js.map +1 -0
- package/data/build/dist/host/features/voice-model-probe.d.ts +8 -0
- package/data/build/dist/host/features/voice-model-probe.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-model-probe.js +76 -0
- package/data/build/dist/host/features/voice-model-probe.js.map +1 -0
- package/data/build/dist/host/features/voice-model-setup.d.ts +5 -2
- package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -1
- package/data/build/dist/host/features/voice-model-setup.js +40 -13
- package/data/build/dist/host/features/voice-model-setup.js.map +1 -1
- package/data/build/dist/host/features/voice-process-environment.d.ts +3 -0
- package/data/build/dist/host/features/voice-process-environment.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-process-environment.js +16 -0
- package/data/build/dist/host/features/voice-process-environment.js.map +1 -0
- package/data/build/dist/host/features/voice-python-runtime.d.ts +21 -0
- package/data/build/dist/host/features/voice-python-runtime.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-python-runtime.js +189 -0
- package/data/build/dist/host/features/voice-python-runtime.js.map +1 -0
- package/data/build/dist/host/index-injection.d.ts.map +1 -1
- package/data/build/dist/host/index-injection.js +5 -1
- package/data/build/dist/host/index-injection.js.map +1 -1
- package/data/build/dist/host/index.d.ts +6 -1
- package/data/build/dist/host/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +32 -14
- package/data/build/dist/host/index.js.map +1 -1
- package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
- package/data/build/dist/host/lan-access-dsh.js +7 -23
- package/data/build/dist/host/lan-access-dsh.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +6 -46
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +48 -28
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-handshake.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-handshake.js +4 -1
- package/data/build/dist/host/modules/peer-host/peer-host-handshake.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +12 -0
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts +7 -1
- package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-session.js +40 -13
- package/data/build/dist/host/modules/peer-host/peer-host-session.js.map +1 -1
- package/data/build/dist/host/rpc.d.ts.map +1 -1
- package/data/build/dist/host/rpc.js +46 -5
- package/data/build/dist/host/rpc.js.map +1 -1
- package/data/build/dist/host/settings.d.ts +2 -1
- package/data/build/dist/host/settings.d.ts.map +1 -1
- package/data/build/dist/host/settings.js +77 -13
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/host/stage0-dev-hmr.d.ts +6 -0
- package/data/build/dist/host/stage0-dev-hmr.d.ts.map +1 -0
- package/data/build/dist/host/stage0-dev-hmr.js +20 -0
- package/data/build/dist/host/stage0-dev-hmr.js.map +1 -0
- package/data/build/dist/host/tar-archive.d.ts +8 -0
- package/data/build/dist/host/tar-archive.d.ts.map +1 -0
- package/data/build/dist/host/tar-archive.js +17 -0
- package/data/build/dist/host/tar-archive.js.map +1 -0
- package/data/build/dist/host/terminal/backends/tmux-backend.d.ts +1 -1
- package/data/build/dist/host/terminal/backends/tmux-backend.d.ts.map +1 -1
- package/data/build/dist/host/terminal/backends/tmux-backend.js +15 -14
- package/data/build/dist/host/terminal/backends/tmux-backend.js.map +1 -1
- package/data/build/dist/host/voice-diagnostics.d.ts +34 -0
- package/data/build/dist/host/voice-diagnostics.d.ts.map +1 -0
- package/data/build/dist/host/voice-diagnostics.js +124 -0
- package/data/build/dist/host/voice-diagnostics.js.map +1 -0
- package/data/build/dist/shared/assistant-attachments.d.ts +27 -0
- package/data/build/dist/shared/assistant-attachments.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-attachments.js +45 -0
- package/data/build/dist/shared/assistant-attachments.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-adapters.d.ts +18 -0
- package/data/build/dist/shared/assistant-avatar-adapters.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-adapters.js +119 -0
- package/data/build/dist/shared/assistant-avatar-adapters.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-catalog.d.ts +37 -0
- package/data/build/dist/shared/assistant-avatar-catalog.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-catalog.js +21 -0
- package/data/build/dist/shared/assistant-avatar-catalog.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-engine.d.ts +34 -0
- package/data/build/dist/shared/assistant-avatar-engine.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-engine.js +32 -0
- package/data/build/dist/shared/assistant-avatar-engine.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-installation.d.ts +17 -0
- package/data/build/dist/shared/assistant-avatar-installation.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-installation.js +7 -0
- package/data/build/dist/shared/assistant-avatar-installation.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-legacy-resources.d.ts +6 -0
- package/data/build/dist/shared/assistant-avatar-legacy-resources.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-legacy-resources.js +20 -0
- package/data/build/dist/shared/assistant-avatar-legacy-resources.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-legacy.d.ts +15 -0
- package/data/build/dist/shared/assistant-avatar-legacy.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-legacy.js +34 -0
- package/data/build/dist/shared/assistant-avatar-legacy.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-presets.d.ts +3 -0
- package/data/build/dist/shared/assistant-avatar-presets.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-presets.js +3 -0
- package/data/build/dist/shared/assistant-avatar-presets.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-registration.d.ts +16 -0
- package/data/build/dist/shared/assistant-avatar-registration.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-registration.js +33 -0
- package/data/build/dist/shared/assistant-avatar-registration.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar-resources.d.ts +26 -0
- package/data/build/dist/shared/assistant-avatar-resources.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar-resources.js +4 -0
- package/data/build/dist/shared/assistant-avatar-resources.js.map +1 -0
- package/data/build/dist/shared/assistant-avatar.d.ts +103 -0
- package/data/build/dist/shared/assistant-avatar.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-avatar.js +240 -0
- package/data/build/dist/shared/assistant-avatar.js.map +1 -0
- package/data/build/dist/shared/assistant-commands.d.ts +3 -0
- package/data/build/dist/shared/assistant-commands.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-commands.js +3 -0
- package/data/build/dist/shared/assistant-commands.js.map +1 -0
- package/data/build/dist/shared/assistant-lifecycle.d.ts +17 -0
- package/data/build/dist/shared/assistant-lifecycle.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-lifecycle.js +45 -0
- package/data/build/dist/shared/assistant-lifecycle.js.map +1 -0
- package/data/build/dist/shared/assistant-message-timeline.d.ts +13 -0
- package/data/build/dist/shared/assistant-message-timeline.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-message-timeline.js +22 -0
- package/data/build/dist/shared/assistant-message-timeline.js.map +1 -0
- package/data/build/dist/shared/assistant-prompts.d.ts +12 -0
- package/data/build/dist/shared/assistant-prompts.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-prompts.js +32 -0
- package/data/build/dist/shared/assistant-prompts.js.map +1 -0
- package/data/build/dist/shared/assistant-tts.d.ts +93 -0
- package/data/build/dist/shared/assistant-tts.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-tts.js +80 -0
- package/data/build/dist/shared/assistant-tts.js.map +1 -0
- package/data/build/dist/shared/assistant-voice-sessions.d.ts +13 -0
- package/data/build/dist/shared/assistant-voice-sessions.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-voice-sessions.js +16 -0
- package/data/build/dist/shared/assistant-voice-sessions.js.map +1 -0
- package/data/build/dist/shared/contracts/assistant.d.ts +206 -0
- package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/cli-adapter.d.ts +3 -0
- package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.d.ts +23 -0
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +2 -0
- package/data/build/dist/shared/contracts/config.js.map +1 -1
- package/data/build/dist/shared/contracts/errors.d.ts +1 -0
- package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/errors.js +1 -0
- package/data/build/dist/shared/contracts/errors.js.map +1 -1
- package/data/build/dist/shared/contracts/peer-host.d.ts +3 -0
- package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/peer-host.js +1 -0
- package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
- package/data/build/dist/shared/contracts/terminal-share.d.ts +27 -0
- package/data/build/dist/shared/contracts/terminal-share.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/terminal-share.js +2 -0
- package/data/build/dist/shared/contracts/terminal-share.js.map +1 -0
- package/data/build/dist/shared/contracts/version.d.ts +3 -1
- package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.js +20 -7
- package/data/build/dist/shared/contracts/version.js.map +1 -1
- package/data/build/dist/shared/contracts/voice-runtime.d.ts +15 -1
- package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -1
- package/data/build/dist/shared/desktop-assistant.d.ts +35 -0
- package/data/build/dist/shared/desktop-assistant.d.ts.map +1 -0
- package/data/build/dist/shared/desktop-assistant.js +27 -0
- package/data/build/dist/shared/desktop-assistant.js.map +1 -0
- package/data/build/dist/shared/index.d.ts +16 -2
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js +10 -0
- package/data/build/dist/shared/index.js.map +1 -1
- package/data/build/dist/shared/peer-host-http-routes.d.ts +62 -0
- package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -0
- package/data/build/dist/shared/peer-host-http-routes.js +31 -0
- package/data/build/dist/shared/peer-host-http-routes.js.map +1 -0
- package/data/build/dist/shared/runtime-environment.d.ts +5 -0
- package/data/build/dist/shared/runtime-environment.d.ts.map +1 -0
- package/data/build/dist/shared/runtime-environment.js +7 -0
- package/data/build/dist/shared/runtime-environment.js.map +1 -0
- package/data/build/dist/shared/voice-diagnostics.d.ts +18 -0
- package/data/build/dist/shared/voice-diagnostics.d.ts.map +1 -0
- package/data/build/dist/shared/voice-diagnostics.js +57 -0
- package/data/build/dist/shared/voice-diagnostics.js.map +1 -0
- package/data/build/dist/shared/voice-initialization.d.ts +22 -0
- package/data/build/dist/shared/voice-initialization.d.ts.map +1 -0
- package/data/build/dist/shared/voice-initialization.js +4 -0
- package/data/build/dist/shared/voice-initialization.js.map +1 -0
- package/data/build/dist/shared/voice-models.d.ts +43 -0
- package/data/build/dist/shared/voice-models.d.ts.map +1 -1
- package/data/build/dist/shared/voice-models.js +23 -8
- package/data/build/dist/shared/voice-models.js.map +1 -1
- package/data/build/dist/shared/voice-stream.d.ts +12 -1
- package/data/build/dist/shared/voice-stream.d.ts.map +1 -1
- package/data/build/dist/shared/voice-stream.js +8 -1
- package/data/build/dist/shared/voice-stream.js.map +1 -1
- package/package.json +19 -3
- package/profile/README.md +2 -2
- package/profile/package.json +2 -2
- package/profile/version.json +1 -1
- package/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-session-index.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-session-index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GAGxB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"assistant-session-index.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-session-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** 同一 Host 的并发元数据读取共享任务;完成后释放,不缓存活动状态。 */
|
|
2
|
+
export declare class AssistantSourceCache {
|
|
3
|
+
private readonly loads;
|
|
4
|
+
private readonly titles;
|
|
5
|
+
private titleReads;
|
|
6
|
+
private readonly titleQueue;
|
|
7
|
+
share<T>(key: string, read: () => Promise<T>): Promise<T>;
|
|
8
|
+
invalidateTitle(sessionId: string): void;
|
|
9
|
+
title(sessionId: string, signature: string, versioned: boolean, read: () => Promise<string | null>): Promise<string | null>;
|
|
10
|
+
}
|
|
11
|
+
export declare function assistantSourceCache(host: object): AssistantSourceCache;
|
|
12
|
+
//# sourceMappingURL=assistant-source-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-source-cache.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-source-cache.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6F;IACpH,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IAEnD,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQzD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAExC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAkB5H;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAIvE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** 同一 Host 的并发元数据读取共享任务;完成后释放,不缓存活动状态。 */
|
|
2
|
+
export class AssistantSourceCache {
|
|
3
|
+
loads = new Map();
|
|
4
|
+
titles = new Map();
|
|
5
|
+
titleReads = 0;
|
|
6
|
+
titleQueue = [];
|
|
7
|
+
share(key, read) {
|
|
8
|
+
const pending = this.loads.get(key);
|
|
9
|
+
if (pending !== undefined)
|
|
10
|
+
return pending;
|
|
11
|
+
const operation = Promise.resolve().then(read).finally(() => { if (this.loads.get(key) === operation)
|
|
12
|
+
this.loads.delete(key); });
|
|
13
|
+
this.loads.set(key, operation);
|
|
14
|
+
return operation;
|
|
15
|
+
}
|
|
16
|
+
invalidateTitle(sessionId) { this.titles.delete(sessionId); }
|
|
17
|
+
title(sessionId, signature, versioned, read) {
|
|
18
|
+
const previous = this.titles.get(sessionId);
|
|
19
|
+
if (previous?.signature === signature && previous.expiresAt > Date.now())
|
|
20
|
+
return previous.value;
|
|
21
|
+
// 标题可能来自磁盘;只允许四个并发读取,避免大量历史会话同时排满 IO 队列。
|
|
22
|
+
const value = (async () => {
|
|
23
|
+
await new Promise((resolve) => {
|
|
24
|
+
const enter = () => { this.titleReads += 1; resolve(); };
|
|
25
|
+
if (this.titleReads < 4)
|
|
26
|
+
enter();
|
|
27
|
+
else
|
|
28
|
+
this.titleQueue.push(enter);
|
|
29
|
+
});
|
|
30
|
+
try {
|
|
31
|
+
return await read();
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
this.titleReads -= 1;
|
|
35
|
+
this.titleQueue.shift()?.();
|
|
36
|
+
}
|
|
37
|
+
})();
|
|
38
|
+
this.titles.set(sessionId, { signature, expiresAt: versioned ? Infinity : Date.now() + 60_000, value });
|
|
39
|
+
// 已被删除或不再管理的会话不能无限占用缓存。
|
|
40
|
+
if (this.titles.size > 2_000)
|
|
41
|
+
this.titles.delete(this.titles.keys().next().value);
|
|
42
|
+
void value.catch(() => { if (this.titles.get(sessionId)?.value === value)
|
|
43
|
+
this.titles.delete(sessionId); });
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const caches = new WeakMap();
|
|
48
|
+
export function assistantSourceCache(host) {
|
|
49
|
+
let cache = caches.get(host);
|
|
50
|
+
if (cache === undefined) {
|
|
51
|
+
cache = new AssistantSourceCache();
|
|
52
|
+
caches.set(host, cache);
|
|
53
|
+
}
|
|
54
|
+
return cache;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=assistant-source-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-source-cache.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-source-cache.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,MAAM,OAAO,oBAAoB;IACd,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAA;IAC3C,MAAM,GAAG,IAAI,GAAG,EAAmF,CAAA;IAC5G,UAAU,GAAG,CAAC,CAAA;IACL,UAAU,GAAsB,EAAE,CAAA;IAEnD,KAAK,CAAI,GAAW,EAAE,IAAsB;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAqB,CAAA;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC/H,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAC9B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,eAAe,CAAC,SAAiB,IAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC;IAE1E,KAAK,CAAC,SAAiB,EAAE,SAAiB,EAAE,SAAkB,EAAE,IAAkC;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3C,IAAI,QAAQ,EAAE,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAA;QAC/F,yCAAyC;QACzC,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA;gBAC7D,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;oBAAE,KAAK,EAAE,CAAC;;oBAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpE,CAAC,CAAC,CAAA;YACF,IAAI,CAAC;gBAAC,OAAO,MAAM,IAAI,EAAE,CAAA;YAAC,CAAC;oBACnB,CAAC;gBAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;gBAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,CAAA;YAAC,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACvG,wBAAwB;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QAClF,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC1G,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,OAAO,EAAgC,CAAA;AAC1D,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAAC,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;IACxF,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AssistantIndexSnapshot, AssistantStructuredIndex } from '../../shared/contracts/assistant.js';
|
|
2
|
+
/** 格式是 Host 协议,不允许可编辑前置提示词把内部索引改成播报稿。 */
|
|
3
|
+
export declare const ASSISTANT_INDEX_FORMAT: string;
|
|
4
|
+
/** 保留校验位置与有限原文片段,供下一次请求纠正;校验本身不自动修补模型输出。 */
|
|
5
|
+
export declare class AssistantIndexValidationError extends Error {
|
|
6
|
+
readonly reason: string;
|
|
7
|
+
readonly path: string;
|
|
8
|
+
readonly evidence?: {
|
|
9
|
+
readonly quote: string;
|
|
10
|
+
readonly sourceExcerpt: string;
|
|
11
|
+
} | undefined;
|
|
12
|
+
constructor(reason: string, path: string, evidence?: {
|
|
13
|
+
readonly quote: string;
|
|
14
|
+
readonly sourceExcerpt: string;
|
|
15
|
+
} | undefined);
|
|
16
|
+
}
|
|
17
|
+
/** 不猜测修补非法 JSON。错误结果保留在调试运行里,不能进入问答上下文。 */
|
|
18
|
+
export declare function parseAssistantStructuredIndex(text: string, index: AssistantIndexSnapshot): AssistantStructuredIndex;
|
|
19
|
+
/** 播报从已校验字段生成,绝不朗读内部 JSON 或未校验的模型输出。 */
|
|
20
|
+
export declare function speakAssistantStructuredIndex(result: AssistantStructuredIndex): string;
|
|
21
|
+
//# sourceMappingURL=assistant-structured-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-structured-index.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-structured-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8C,sBAAsB,EAAiD,wBAAwB,EAAqB,MAAM,qCAAqC,CAAA;AAGzN,yCAAyC;AACzC,eAAO,MAAM,sBAAsB,QAevB,CAAA;AAEZ,4CAA4C;AAC5C,qBAAa,6BAA8B,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE;gBAArH,MAAM,EAAE,MAAM,EAAW,IAAI,EAAE,MAAM,EAAW,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE,YAAA;CAI3I;AAED,2CAA2C;AAC3C,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,wBAAwB,CA+BnH;AAsDD,wCAAwC;AACxC,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAQtF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { redactSensitiveValues } from './assistant-summary.js';
|
|
2
|
+
/** 格式是 Host 协议,不允许可编辑前置提示词把内部索引改成播报稿。 */
|
|
3
|
+
export const ASSISTANT_INDEX_FORMAT = [
|
|
4
|
+
'你正在生成供助理检索的结构化索引,不是给用户的最终回复。只输出一个合法 JSON 对象,不要代码围栏、前后说明或播报段落。',
|
|
5
|
+
'固定格式优先于前置提示词中关于整段播报、句数或不使用列表的要求。各 text/action/reason 字段仍须使用简短中文口语。',
|
|
6
|
+
'严格使用以下字段,不能添加、删除或改名:',
|
|
7
|
+
'{"schemaVersion":1,"sessions":[{"hostId":"原值","sessionId":"原值","objective":null,"progress":[],"blockers":[],"pendingTasks":[],"nextActions":[],"openQuestions":[]}]}',
|
|
8
|
+
'sessions 必须覆盖索引里的每个会话一次,不能合并不同会话或包含范围外会话。hostId/sessionId 逐字复制;不要生成工作区、时间或运行状态,Host 自行填入。',
|
|
9
|
+
'objective 是用户本次工作的目标,使用事实对象或 null;不要把最新一次日志分析误当成整个项目目标。',
|
|
10
|
+
'progress 是已有动作和验证结果,不等于项目已完成。blockers 是记录中确实出现的阻碍。pendingTasks 是已提出但摘录没有完成证据的任务,不能把建议填成已有待办。',
|
|
11
|
+
'事实对象格式 {"text":"一句具体事实","evidence":[{"source":"summary","quote":"同一会话摘录中的连续原文"}]}。每项至少一条证据,最多三条。source 只能是 title 或 summary,quote 为对应字段里的连续原文,不能改写或引用别的会话。',
|
|
12
|
+
'复制 quote 时必须保留原文片段内部的 Markdown 标记、空格和标点,包括 **、反引号和换行;不要把渲染后的纯文字当成原文。可以选择更短的连续片段,JSON 转义只做一次。',
|
|
13
|
+
'只有 objective 可引用 title,其他事实与行动必须引用 summary。会话助理的推测或自述要写成“会话助理认为/报告”,不能升级为已验证结论;工具名不能证明工具成功。',
|
|
14
|
+
'nextActions 是具体可做的下一步,每项格式 {"action":"具体动作","kind":"suggested","priority":"normal","reason":"为何现在要做","evidence":[{"source":"summary","quote":"连续原文"}]}。',
|
|
15
|
+
'kind 只能为 recorded(原文中已明确提出的任务)或 suggested(模型新建议,未安排、未执行)。priority 只能为 high/normal/low,按阻塞、用户等待和任务依赖排序;没有证据支持就用 normal,不虚构负责人、截止时间或依赖。',
|
|
16
|
+
'openQuestions 是回答进展或安排下一步仍缺少的信息,每项写一个具体问题。无证据的字段用 null/[],不要用“已完成”“正常”填空;目标无法确定或没有正文时至少写一个信息缺口。',
|
|
17
|
+
'每个文字字段最多 300 字符,每段引用 2 至 160 字符,每个事实/行动数组最多五项,信息缺口最多八项。优先保留最重要的可操作信息。原始摘录有限,不声称已检查完整历史。',
|
|
18
|
+
].join('\n');
|
|
19
|
+
/** 保留校验位置与有限原文片段,供下一次请求纠正;校验本身不自动修补模型输出。 */
|
|
20
|
+
export class AssistantIndexValidationError extends Error {
|
|
21
|
+
reason;
|
|
22
|
+
path;
|
|
23
|
+
evidence;
|
|
24
|
+
constructor(reason, path, evidence) {
|
|
25
|
+
super(`LLM 索引格式校验失败:${reason}(${path})。请重新执行索引`);
|
|
26
|
+
this.reason = reason;
|
|
27
|
+
this.path = path;
|
|
28
|
+
this.evidence = evidence;
|
|
29
|
+
this.name = 'AssistantIndexValidationError';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** 不猜测修补非法 JSON。错误结果保留在调试运行里,不能进入问答上下文。 */
|
|
33
|
+
export function parseAssistantStructuredIndex(text, index) {
|
|
34
|
+
if (text.length > 120_000)
|
|
35
|
+
fail('结果过长,请缩小索引范围');
|
|
36
|
+
let raw;
|
|
37
|
+
try {
|
|
38
|
+
raw = JSON.parse(text);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
fail('必须返回 JSON 对象,不能返回普通段落或代码围栏');
|
|
42
|
+
}
|
|
43
|
+
const root = record(raw, ['schemaVersion', 'sessions'], '$');
|
|
44
|
+
if (root.schemaVersion !== 1 || !Array.isArray(root.sessions) || root.sessions.length !== index.entries.length)
|
|
45
|
+
fail('版本或会话数量与当前索引不一致');
|
|
46
|
+
const sources = new Map(index.entries.map((entry) => [key(entry.hostId, entry.sessionId), entry]));
|
|
47
|
+
const parsed = new Map();
|
|
48
|
+
for (const [number, item] of root.sessions.entries()) {
|
|
49
|
+
const path = `$.sessions[${number}]`;
|
|
50
|
+
const row = record(item, ['hostId', 'sessionId', 'objective', 'progress', 'blockers', 'pendingTasks', 'nextActions', 'openQuestions'], path);
|
|
51
|
+
const identity = key(string(row.hostId, 300, `${path}.hostId`), string(row.sessionId, 300, `${path}.sessionId`));
|
|
52
|
+
const source = sources.get(identity);
|
|
53
|
+
if (source === undefined || parsed.has(identity))
|
|
54
|
+
fail('存在范围外或重复会话', path);
|
|
55
|
+
const objective = row.objective === null ? null : fact(row.objective, source, `${path}.objective`, true);
|
|
56
|
+
const facts = (field) => array(row[field], 5, `${path}.${field}`).map((value, index) => fact(value, source, `${path}.${field}[${index}]`));
|
|
57
|
+
const progress = facts('progress');
|
|
58
|
+
const blockers = facts('blockers');
|
|
59
|
+
const pendingTasks = facts('pendingTasks');
|
|
60
|
+
const priority = { high: 0, normal: 1, low: 2 };
|
|
61
|
+
const nextActions = array(row.nextActions, 5, `${path}.nextActions`).map((value, index) => action(value, source, `${path}.nextActions[${index}]`)).sort((left, right) => priority[left.priority] - priority[right.priority]);
|
|
62
|
+
const openQuestions = array(row.openQuestions, 8, `${path}.openQuestions`).map((value, index) => string(value, 300, `${path}.openQuestions[${index}]`));
|
|
63
|
+
if ((objective === null || !source.summary) && openQuestions.length === 0)
|
|
64
|
+
fail('目标或正文缺失时必须说明具体信息缺口', `${path}.openQuestions`);
|
|
65
|
+
parsed.set(identity, {
|
|
66
|
+
hostId: source.hostId, sessionId: source.sessionId, workspaceId: source.workspaceId, workspaceName: source.workspaceName,
|
|
67
|
+
title: source.title, sourceStatus: source.status ?? 'unknown', updatedAt: source.updatedAt, material: source.summary ? 'excerpt' : 'unavailable',
|
|
68
|
+
objective, progress, blockers, pendingTasks, nextActions, openQuestions,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// 身份与顺序来自当前快照,模型无法覆盖真实状态或把会话移到另一个项目。
|
|
72
|
+
return { schemaVersion: 1, generation: index.generation, sessions: index.entries.map((entry) => parsed.get(key(entry.hostId, entry.sessionId))) };
|
|
73
|
+
}
|
|
74
|
+
function fact(value, entry, path, allowTitle = false) {
|
|
75
|
+
const item = record(value, ['text', 'evidence'], path);
|
|
76
|
+
return { text: string(item.text, 300, `${path}.text`), evidence: evidence(item.evidence, entry, `${path}.evidence`, allowTitle) };
|
|
77
|
+
}
|
|
78
|
+
function action(value, entry, path) {
|
|
79
|
+
const item = record(value, ['action', 'kind', 'priority', 'reason', 'evidence'], path);
|
|
80
|
+
if (item.kind !== 'recorded' && item.kind !== 'suggested')
|
|
81
|
+
fail('行动类型必须是已有任务或建议', `${path}.kind`);
|
|
82
|
+
if (item.priority !== 'high' && item.priority !== 'normal' && item.priority !== 'low')
|
|
83
|
+
fail('行动优先级无效', `${path}.priority`);
|
|
84
|
+
return { action: string(item.action, 300, `${path}.action`), kind: item.kind, priority: item.priority, reason: string(item.reason, 300, `${path}.reason`), evidence: evidence(item.evidence, entry, `${path}.evidence`, false) };
|
|
85
|
+
}
|
|
86
|
+
function evidence(value, entry, path, allowTitle) {
|
|
87
|
+
const items = array(value, 3, path);
|
|
88
|
+
if (items.length === 0)
|
|
89
|
+
fail('事实和行动必须附来源证据', path);
|
|
90
|
+
return items.map((value, number) => {
|
|
91
|
+
const position = `${path}[${number}]`;
|
|
92
|
+
const item = record(value, ['source', 'quote'], position);
|
|
93
|
+
if (item.source !== 'summary' && !(allowTitle && item.source === 'title'))
|
|
94
|
+
fail('此字段必须引用同一会话的正文摘录', `${position}.source`);
|
|
95
|
+
const quote = string(item.quote, 160, `${position}.quote`);
|
|
96
|
+
const source = item.source === 'title' ? entry.title : entry.summary;
|
|
97
|
+
const original = redactSensitiveValues(source ?? '');
|
|
98
|
+
if (quote.length < 2 || !original.includes(quote)) {
|
|
99
|
+
// 只截取用于纠正的原文,不做模糊匹配或自动接受被改写的引用。
|
|
100
|
+
const found = original.indexOf(quote.slice(0, 12));
|
|
101
|
+
const start = Math.max(0, (found < 0 ? original.indexOf(quote.slice(0, 6)) : found) - 24);
|
|
102
|
+
throw new AssistantIndexValidationError('证据引用不在该会话的来源原文中', `${position}.quote`, { quote, sourceExcerpt: original.slice(start, start + 240) });
|
|
103
|
+
}
|
|
104
|
+
return { source: item.source, quote };
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function record(value, keys, path) {
|
|
108
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
109
|
+
fail('字段必须为对象', path);
|
|
110
|
+
const item = value;
|
|
111
|
+
if (Object.keys(item).length !== keys.length || keys.some((key) => !Object.hasOwn(item, key)))
|
|
112
|
+
fail(`对象字段必须为 ${keys.join('/')}`, path);
|
|
113
|
+
return item;
|
|
114
|
+
}
|
|
115
|
+
function string(value, max, path) {
|
|
116
|
+
if (typeof value !== 'string' || !value.trim() || value.length > max)
|
|
117
|
+
fail(`文字字段必须为 1 至 ${max} 字符`, path);
|
|
118
|
+
return redactSensitiveValues(value.trim());
|
|
119
|
+
}
|
|
120
|
+
function array(value, max, path) {
|
|
121
|
+
if (!Array.isArray(value) || value.length > max)
|
|
122
|
+
fail(`数组必须为最多 ${max} 项`, path);
|
|
123
|
+
return value;
|
|
124
|
+
}
|
|
125
|
+
function key(hostId, sessionId) { return JSON.stringify([hostId, sessionId]); }
|
|
126
|
+
function fail(reason, path = '$') { throw new AssistantIndexValidationError(reason, path); }
|
|
127
|
+
/** 播报从已校验字段生成,绝不朗读内部 JSON 或未校验的模型输出。 */
|
|
128
|
+
export function speakAssistantStructuredIndex(result) {
|
|
129
|
+
const lines = result.sessions.slice(0, 3).map((session) => {
|
|
130
|
+
const progress = session.progress.at(-1)?.text ?? '暂无可确认的进展';
|
|
131
|
+
const next = session.nextActions[0];
|
|
132
|
+
return `${session.workspaceName}的${session.title ?? '未命名会话'}:${progress}。${next === undefined ? '' : `${next.kind === 'suggested' ? '建议' : '待办是'}${next.action}。`}`;
|
|
133
|
+
});
|
|
134
|
+
if (result.sessions.length > 3)
|
|
135
|
+
lines.push(`当前共索引 ${result.sessions.length} 个会话,可以继续询问其他会话的进展。`);
|
|
136
|
+
return lines.join('');
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=assistant-structured-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-structured-index.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-structured-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-summary.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,qCAAqC,CAAA;AAE5C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,YAAY,EAAE,wBAAwB,EAAE,CAAA;AAExC;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"assistant-summary.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,qCAAqC,CAAA;AAE5C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,YAAY,EAAE,wBAAwB,EAAE,CAAA;AAExC;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,gBAAgB,CA2B1F;AAED,qBAAqB;AACrB,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,EACtC,UAAU,SAAI,EACd,eAAe,SAAI,EACnB,QAAQ,SAAQ,GACf,gBAAgB,CAQlB;AAED,kCAAkC;AAClC,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,OAAO,GAAE,uBAA4B,GACpC,wBAAwB,CAiB1B;AAED,eAAO,MAAM,qBAAqB,mCAA6B,CAAA;AAE/D,eAAO,MAAM,mBAAmB,2BAAqB,CAAA;AAErD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI3D;AA8CD,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASxD"}
|
|
@@ -24,6 +24,7 @@ export function summarizeAssistantIndex(snapshot) {
|
|
|
24
24
|
renderGroup('出错', groups.error, '当前没有出错会话。'),
|
|
25
25
|
renderGroup('运行中', groups.running, '当前没有运行中的会话。'),
|
|
26
26
|
renderGroup('已完成', groups.completed, '当前没有刚完成的会话。'),
|
|
27
|
+
renderUnknownNotice(snapshot.entries),
|
|
27
28
|
unreadableNotice,
|
|
28
29
|
].filter((text) => text !== '').join(' '),
|
|
29
30
|
};
|
|
@@ -51,7 +52,7 @@ export function summarizeAssistantSessions(entries, options = {}) {
|
|
|
51
52
|
text: renderGroup(categoryLabel(category), base.groups[category].slice(0, options.maxItemsPerCategory), emptyText(category)),
|
|
52
53
|
}));
|
|
53
54
|
const unreadableNotice = renderUnreadableNotice(unreadableCount);
|
|
54
|
-
const speechText = limitSpeechText(sections.map((section) => section.text).join(' '), options.maxChars, unreadableNotice);
|
|
55
|
+
const speechText = limitSpeechText([...sections.map((section) => section.text), renderUnknownNotice(entries, options.maxItemsPerCategory)].filter(Boolean).join(' '), options.maxChars, unreadableNotice);
|
|
55
56
|
return { generation: options.generation ?? 0, total: entries.length, unreadableCount, sections, speechText };
|
|
56
57
|
}
|
|
57
58
|
export const buildAssistantSummary = summarizeAssistantSessions;
|
|
@@ -82,6 +83,11 @@ function groupEntries(entries) {
|
|
|
82
83
|
}
|
|
83
84
|
return { waiting, error, running, completed };
|
|
84
85
|
}
|
|
86
|
+
/** 未知状态不进入四个业务组,但所有汇总入口都必须保留这条诊断。 */
|
|
87
|
+
function renderUnknownNotice(entries, maxItems) {
|
|
88
|
+
const unknown = entries.filter((entry) => entry.waiting === null && entry.error !== true && !entry.running && !entry.completed);
|
|
89
|
+
return unknown.length === 0 ? '' : `有${unknown.length}个会话状态未知,不能据此判断没有进展。${renderGroup('状态未知', unknown.slice(0, maxItems), '')}`;
|
|
90
|
+
}
|
|
85
91
|
function renderGroup(label, entries, emptyText) {
|
|
86
92
|
if (entries.length === 0)
|
|
87
93
|
return `${label}:${emptyText}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-summary.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-summary.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"assistant-summary.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { AssistantChatCatalog, AssistantChatRun, AssistantIndexSnapshot } from '../../shared/contracts/assistant.js';
|
|
2
|
+
import type { AssistantLlmAdapter } from '../../dsh-capabilities/host/assistant-llm-adapter.js';
|
|
3
|
+
export { createAssistantChatSystem } from './assistant-prompts.js';
|
|
4
|
+
/** 有界的 LLM 轮次;后台生成,累计快照可推送及读取,关闭窗口可以主动取消。 */
|
|
5
|
+
export declare class AssistantTextChat {
|
|
6
|
+
private readonly adapter;
|
|
7
|
+
private readonly label;
|
|
8
|
+
private readonly runs;
|
|
9
|
+
private catalogCache;
|
|
10
|
+
private disposed;
|
|
11
|
+
private cancellationRevision;
|
|
12
|
+
private readonly revoked;
|
|
13
|
+
private readonly listeners;
|
|
14
|
+
constructor(adapter: AssistantLlmAdapter | undefined, label?: string);
|
|
15
|
+
/** 推送累计快照;旧 RPC 读取和等待结算接口继续保留。 */
|
|
16
|
+
subscribe(listener: (run: AssistantChatRun) => void): () => void;
|
|
17
|
+
private publish;
|
|
18
|
+
catalog(): Promise<AssistantChatCatalog>;
|
|
19
|
+
start(payload: unknown, index: AssistantIndexSnapshot, isCurrent?: () => boolean, createSystem?: (index: AssistantIndexSnapshot) => string, allowEmptyScope?: boolean, admittedAttachments?: boolean): Promise<AssistantChatRun>;
|
|
20
|
+
read(requestId: string): AssistantChatRun;
|
|
21
|
+
/** 等待结算供语音提交多轮历史;取消立即结算,不依赖上游是否响应 Abort。 */
|
|
22
|
+
wait(requestId: string): Promise<AssistantChatRun>;
|
|
23
|
+
cancel(requestId: string): AssistantChatRun;
|
|
24
|
+
cancelActive(): void;
|
|
25
|
+
/** 关闭请求可以先于启动到达;显式撤销标记覆盖模型目录尚未返回的阶段。 */
|
|
26
|
+
revoke(requestId: string): AssistantChatRun | null;
|
|
27
|
+
dispose(): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=assistant-text-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-text-chat.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-text-chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAwB,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAC/I,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAA;AAK/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAUlE,6CAA6C;AAC7C,qBAAa,iBAAiB;IAQhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAmC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAP7F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IACpD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;gBAE1C,OAAO,EAAE,mBAAmB,GAAG,SAAS,EAAmB,KAAK,SAAW;IAExG,kCAAkC;IAClC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAKhE,OAAO,CAAC,OAAO;IAIT,OAAO,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAOxC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,GAAE,MAAM,OAAoB,EAAE,YAAY,GAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,MAAkC,EAAE,eAAe,UAAQ,EAAE,mBAAmB,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmEzQ,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAMzC,4CAA4C;IAC5C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMlD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAc3C,YAAY,IAAI,IAAI;IAKpB,wCAAwC;IACxC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAMlD,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { sanitizeSpeechText } from './assistant-summary.js';
|
|
2
|
+
import { createAssistantChatSystem } from './assistant-prompts.js';
|
|
3
|
+
import { readAssistantAttachments } from '../../shared/assistant-attachments.js';
|
|
4
|
+
import { traceVoice } from '../../shared/voice-diagnostics.js';
|
|
5
|
+
export { createAssistantChatSystem } from './assistant-prompts.js';
|
|
6
|
+
/** 有界的 LLM 轮次;后台生成,累计快照可推送及读取,关闭窗口可以主动取消。 */
|
|
7
|
+
export class AssistantTextChat {
|
|
8
|
+
adapter;
|
|
9
|
+
label;
|
|
10
|
+
runs = new Map();
|
|
11
|
+
catalogCache;
|
|
12
|
+
disposed = false;
|
|
13
|
+
cancellationRevision = 0;
|
|
14
|
+
revoked = new Set();
|
|
15
|
+
listeners = new Set();
|
|
16
|
+
constructor(adapter, label = 'LLM 对话') {
|
|
17
|
+
this.adapter = adapter;
|
|
18
|
+
this.label = label;
|
|
19
|
+
}
|
|
20
|
+
/** 推送累计快照;旧 RPC 读取和等待结算接口继续保留。 */
|
|
21
|
+
subscribe(listener) {
|
|
22
|
+
this.listeners.add(listener);
|
|
23
|
+
return () => this.listeners.delete(listener);
|
|
24
|
+
}
|
|
25
|
+
publish(run) {
|
|
26
|
+
for (const listener of this.listeners) {
|
|
27
|
+
try {
|
|
28
|
+
listener(run);
|
|
29
|
+
}
|
|
30
|
+
catch { /* 下行订阅异常不能中断模型生成 */ }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async catalog() {
|
|
34
|
+
this.catalogCache = this.adapter === undefined
|
|
35
|
+
? { models: [], default: null, errors: ['当前 Host 没有可用的 DSH 原生 LLM 服务'] }
|
|
36
|
+
: await this.adapter.catalog();
|
|
37
|
+
return this.catalogCache;
|
|
38
|
+
}
|
|
39
|
+
async start(payload, index, isCurrent = () => true, createSystem = createAssistantChatSystem, allowEmptyScope = false, admittedAttachments = false) {
|
|
40
|
+
const request = readChatRequest(payload, admittedAttachments);
|
|
41
|
+
const revision = this.cancellationRevision;
|
|
42
|
+
if (this.revoked.has(request.requestId))
|
|
43
|
+
throw new Error('助理对话已取消');
|
|
44
|
+
if (request.generation !== index.generation || !allowEmptyScope && index.scope.status === 'empty')
|
|
45
|
+
throw new Error('索引范围或版本已变化,请先执行索引再发送消息');
|
|
46
|
+
if (this.adapter === undefined)
|
|
47
|
+
throw new Error('当前 Host 没有可用的 DSH 原生 LLM 服务');
|
|
48
|
+
const existing = this.runs.get(request.requestId);
|
|
49
|
+
if (existing !== undefined)
|
|
50
|
+
return existing.run;
|
|
51
|
+
const catalog = this.catalogCache ?? await this.catalog();
|
|
52
|
+
// 模型目录可能需要异步读取;真正发起模型请求前必须再核对生命周期与范围。
|
|
53
|
+
if (this.disposed || revision !== this.cancellationRevision || this.revoked.has(request.requestId) || !isCurrent())
|
|
54
|
+
throw new Error('对话已取消或索引范围或版本已变化,请重新发送');
|
|
55
|
+
const concurrent = this.runs.get(request.requestId);
|
|
56
|
+
if (concurrent !== undefined)
|
|
57
|
+
return concurrent.run;
|
|
58
|
+
const model = catalog.models.find((item) => item.provider === request.provider && item.model === request.model);
|
|
59
|
+
if (model === undefined)
|
|
60
|
+
throw new Error('所选模型不在 DSH 当前模型目录中,请刷新模型列表');
|
|
61
|
+
// 超出容量时只移除已结束轮次,不能丢掉仍在运行的请求与取消句柄。
|
|
62
|
+
for (const [id, entry] of this.runs)
|
|
63
|
+
if (this.runs.size >= 30 && entry.run.state !== 'running')
|
|
64
|
+
this.runs.delete(id);
|
|
65
|
+
if (this.runs.size >= 30)
|
|
66
|
+
throw new Error('正在运行的调试请求过多,请先停止已有请求');
|
|
67
|
+
const system = createSystem(index);
|
|
68
|
+
const abort = new AbortController();
|
|
69
|
+
const run = { requestId: request.requestId, provider: model.provider, model: model.model, generation: index.generation, state: 'running', text: '', error: null, startedAt: Date.now(), finishedAt: null };
|
|
70
|
+
let settle;
|
|
71
|
+
const completion = new Promise((resolve) => { settle = resolve; });
|
|
72
|
+
const entry = { run, abort, timer: undefined, completion, settle };
|
|
73
|
+
this.runs.set(request.requestId, entry);
|
|
74
|
+
const started = performance.now();
|
|
75
|
+
const diagnosticFields = { requestId: request.requestId, provider: model.provider, model: model.model };
|
|
76
|
+
let firstText = false;
|
|
77
|
+
traceVoice('host.llm.start', { ...diagnosticFields, messageCount: request.messages.length, systemLength: system.length });
|
|
78
|
+
entry.timer = setTimeout(() => {
|
|
79
|
+
const reason = `${this.label}超过 90 秒,请检查模型服务`;
|
|
80
|
+
entry.run = { ...entry.run, state: 'cancelled', error: reason, finishedAt: Date.now() };
|
|
81
|
+
abort.abort(new Error(reason));
|
|
82
|
+
traceVoice('host.llm.timeout', { ...diagnosticFields, durationMs: performance.now() - started });
|
|
83
|
+
this.publish(entry.run);
|
|
84
|
+
entry.settle(entry.run);
|
|
85
|
+
}, 90_000);
|
|
86
|
+
void this.adapter.reply(model, system, request.messages, abort.signal, (text) => {
|
|
87
|
+
if (!firstText && text.trim() !== '') {
|
|
88
|
+
firstText = true;
|
|
89
|
+
traceVoice('host.llm.first_text', { ...diagnosticFields, firstTextMs: performance.now() - started });
|
|
90
|
+
}
|
|
91
|
+
if (!abort.signal.aborted && text !== entry.run.text) {
|
|
92
|
+
entry.run = { ...entry.run, text };
|
|
93
|
+
this.publish(entry.run);
|
|
94
|
+
}
|
|
95
|
+
}, undefined, (call) => {
|
|
96
|
+
traceVoice('host.llm.tool', { ...diagnosticFields, action: call.name, state: call.state });
|
|
97
|
+
if (abort.signal.aborted)
|
|
98
|
+
return;
|
|
99
|
+
// 记录首次执行的正文位置;并行调用按开始顺序显示,完成事件不能把卡片移动到回复底部。
|
|
100
|
+
const calls = new Map((entry.run.toolCalls ?? []).map((item) => [item.id, item]));
|
|
101
|
+
calls.set(call.id, { ...call, textOffset: calls.get(call.id)?.textOffset ?? entry.run.text.length });
|
|
102
|
+
entry.run = { ...entry.run, toolCalls: [...calls.values()].slice(-24) };
|
|
103
|
+
this.publish(entry.run);
|
|
104
|
+
})
|
|
105
|
+
.then((text) => {
|
|
106
|
+
if (abort.signal.aborted)
|
|
107
|
+
return;
|
|
108
|
+
// 原生适配器结束时会 trim 正文;同步校正开头空白,保持流式和归档中的工具位置一致。
|
|
109
|
+
const trimmedPrefix = entry.run.text.trim() === text.trim()
|
|
110
|
+
? (entry.run.text.length - entry.run.text.trimStart().length) - (text.length - text.trimStart().length) : 0;
|
|
111
|
+
const toolCalls = entry.run.toolCalls?.map((call) => ({ ...call, textOffset: Math.max(0, (call.textOffset ?? 0) - trimmedPrefix) }));
|
|
112
|
+
entry.run = { ...entry.run, text, state: 'completed', finishedAt: Date.now(), ...(toolCalls === undefined ? {} : { toolCalls }) };
|
|
113
|
+
})
|
|
114
|
+
.catch((error) => { if (!abort.signal.aborted)
|
|
115
|
+
entry.run = { ...entry.run, state: 'failed', error: sanitizeSpeechText(error instanceof Error ? error.message : String(error)).slice(0, 500), finishedAt: Date.now() }; })
|
|
116
|
+
.finally(() => {
|
|
117
|
+
traceVoice('host.llm.finished', { ...diagnosticFields, state: entry.run.state, durationMs: performance.now() - started, textLength: entry.run.text.length, toolCount: entry.run.toolCalls?.length ?? 0 });
|
|
118
|
+
this.publish(entry.run);
|
|
119
|
+
clearTimeout(entry.timer);
|
|
120
|
+
entry.timer = undefined;
|
|
121
|
+
entry.settle(entry.run);
|
|
122
|
+
});
|
|
123
|
+
return run;
|
|
124
|
+
}
|
|
125
|
+
read(requestId) {
|
|
126
|
+
const entry = this.runs.get(requestId);
|
|
127
|
+
if (entry === undefined)
|
|
128
|
+
throw new Error('找不到该文本调试请求,请重新发送');
|
|
129
|
+
return entry.run;
|
|
130
|
+
}
|
|
131
|
+
/** 等待结算供语音提交多轮历史;取消立即结算,不依赖上游是否响应 Abort。 */
|
|
132
|
+
wait(requestId) {
|
|
133
|
+
const entry = this.runs.get(requestId);
|
|
134
|
+
if (entry === undefined)
|
|
135
|
+
throw new Error('找不到该文本调试请求');
|
|
136
|
+
return entry.completion;
|
|
137
|
+
}
|
|
138
|
+
cancel(requestId) {
|
|
139
|
+
const entry = this.runs.get(requestId);
|
|
140
|
+
if (entry === undefined)
|
|
141
|
+
throw new Error('找不到该文本调试请求');
|
|
142
|
+
if (entry.run.state === 'running') {
|
|
143
|
+
clearTimeout(entry.timer);
|
|
144
|
+
entry.timer = undefined;
|
|
145
|
+
entry.abort.abort(new Error(`${this.label}已停止`));
|
|
146
|
+
traceVoice('host.llm.cancel', { requestId, durationMs: Date.now() - entry.run.startedAt });
|
|
147
|
+
entry.run = { ...entry.run, state: 'cancelled', finishedAt: Date.now(), error: `${this.label}已停止` };
|
|
148
|
+
this.publish(entry.run);
|
|
149
|
+
entry.settle(entry.run);
|
|
150
|
+
}
|
|
151
|
+
return entry.run;
|
|
152
|
+
}
|
|
153
|
+
cancelActive() {
|
|
154
|
+
this.cancellationRevision++;
|
|
155
|
+
for (const [id, entry] of this.runs)
|
|
156
|
+
if (entry.run.state === 'running')
|
|
157
|
+
this.cancel(id);
|
|
158
|
+
}
|
|
159
|
+
/** 关闭请求可以先于启动到达;显式撤销标记覆盖模型目录尚未返回的阶段。 */
|
|
160
|
+
revoke(requestId) {
|
|
161
|
+
this.revoked.add(requestId);
|
|
162
|
+
if (this.revoked.size > 1000)
|
|
163
|
+
this.revoked.delete(this.revoked.values().next().value);
|
|
164
|
+
return this.runs.has(requestId) ? this.cancel(requestId) : null;
|
|
165
|
+
}
|
|
166
|
+
dispose() {
|
|
167
|
+
this.disposed = true;
|
|
168
|
+
this.cancelActive();
|
|
169
|
+
this.listeners.clear();
|
|
170
|
+
this.runs.clear();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function readChatRequest(value, admittedAttachments) {
|
|
174
|
+
const request = value;
|
|
175
|
+
if (request === null || typeof request !== 'object')
|
|
176
|
+
throw new Error('文本调试请求无效');
|
|
177
|
+
for (const key of ['requestId', 'provider', 'model'])
|
|
178
|
+
if (typeof request[key] !== 'string' || !request[key].trim() || request[key].length > 200)
|
|
179
|
+
throw new Error('文本调试缺少请求标识或模型');
|
|
180
|
+
if (!Number.isSafeInteger(request.generation) || !Array.isArray(request.messages) || request.messages.length === 0 || request.messages.length > 20)
|
|
181
|
+
throw new Error('文本调试索引版本或消息数量无效');
|
|
182
|
+
const messages = request.messages.map((item, index) => {
|
|
183
|
+
if (item?.role !== (index % 2 === 0 ? 'user' : 'assistant') || typeof item.text !== 'string' || !item.text.trim() || item.text.length > 8000)
|
|
184
|
+
throw new Error('文本调试消息必须由用户与助理交替组成,每条不超过 8000 字符');
|
|
185
|
+
// 调试 RPC 不得引用浏览器没有上传的附件;仅正式对话传入的已接收记录可携带引用。
|
|
186
|
+
if (!admittedAttachments && item.attachments !== undefined)
|
|
187
|
+
throw new Error('调试对话不接受附件引用');
|
|
188
|
+
const attachments = readAssistantAttachments(item.attachments);
|
|
189
|
+
return { role: item.role, text: item.text.trim(), ...(attachments.length === 0 ? {} : { attachments }) };
|
|
190
|
+
});
|
|
191
|
+
if (messages.at(-1)?.role !== 'user')
|
|
192
|
+
throw new Error('文本调试最后一条必须是用户消息');
|
|
193
|
+
return { requestId: request.requestId, provider: request.provider, model: request.model, generation: request.generation, messages };
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=assistant-text-chat.js.map
|