@jingyi0605/codingns4dsh 0.2.1-beta.6 → 0.2.1-beta.8
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 +4 -4
- package/README.md +21 -5
- package/THIRD_PARTY_NOTICES +5 -0
- package/assets/provider-icons/r4.svg +4 -0
- package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
- package/data/build/dist/bootstrap/index.d.ts +1 -1
- package/data/build/dist/client/assistant-settings-styles.d.ts.map +1 -1
- package/data/build/dist/client/assistant-settings-styles.js +3 -2
- package/data/build/dist/client/assistant-settings-styles.js.map +1 -1
- package/data/build/dist/client/avatar/catalog-panel.d.ts.map +1 -1
- package/data/build/dist/client/avatar/catalog-panel.js +7 -5
- package/data/build/dist/client/avatar/catalog-panel.js.map +1 -1
- package/data/build/dist/client/avatar/catalog-picker.d.ts.map +1 -1
- package/data/build/dist/client/avatar/catalog-picker.js +2 -1
- package/data/build/dist/client/avatar/catalog-picker.js.map +1 -1
- package/data/build/dist/client/avatar/desktop-bridge.d.ts +7 -3
- package/data/build/dist/client/avatar/desktop-bridge.d.ts.map +1 -1
- package/data/build/dist/client/avatar/desktop-bridge.js +64 -5
- package/data/build/dist/client/avatar/desktop-bridge.js.map +1 -1
- package/data/build/dist/client/avatar/desktop-view.d.ts +6 -0
- package/data/build/dist/client/avatar/desktop-view.d.ts.map +1 -1
- package/data/build/dist/client/avatar/desktop-view.js +98 -5
- package/data/build/dist/client/avatar/desktop-view.js.map +1 -1
- package/data/build/dist/client/avatar/engine.d.ts.map +1 -1
- package/data/build/dist/client/avatar/engine.js +3 -2
- package/data/build/dist/client/avatar/engine.js.map +1 -1
- package/data/build/dist/client/avatar/floating.d.ts +8 -3
- package/data/build/dist/client/avatar/floating.d.ts.map +1 -1
- package/data/build/dist/client/avatar/floating.js +22 -4
- package/data/build/dist/client/avatar/floating.js.map +1 -1
- package/data/build/dist/client/avatar/image.d.ts +1 -1
- package/data/build/dist/client/avatar/image.d.ts.map +1 -1
- package/data/build/dist/client/avatar/image.js +2 -2
- package/data/build/dist/client/avatar/image.js.map +1 -1
- package/data/build/dist/client/avatar/live2d.d.ts +14 -3
- package/data/build/dist/client/avatar/live2d.d.ts.map +1 -1
- package/data/build/dist/client/avatar/live2d.js +62 -9
- package/data/build/dist/client/avatar/live2d.js.map +1 -1
- package/data/build/dist/client/avatar/loading.d.ts.map +1 -1
- package/data/build/dist/client/avatar/loading.js +3 -2
- package/data/build/dist/client/avatar/loading.js.map +1 -1
- package/data/build/dist/client/avatar/notification-bubble.d.ts +39 -0
- package/data/build/dist/client/avatar/notification-bubble.d.ts.map +1 -0
- package/data/build/dist/client/avatar/notification-bubble.js +353 -0
- package/data/build/dist/client/avatar/notification-bubble.js.map +1 -0
- package/data/build/dist/client/avatar/notification-surface.d.ts +16 -0
- package/data/build/dist/client/avatar/notification-surface.d.ts.map +1 -0
- package/data/build/dist/client/avatar/notification-surface.js +54 -0
- package/data/build/dist/client/avatar/notification-surface.js.map +1 -0
- package/data/build/dist/client/avatar/reaction-badge.d.ts +7 -0
- package/data/build/dist/client/avatar/reaction-badge.d.ts.map +1 -0
- package/data/build/dist/client/avatar/reaction-badge.js +20 -0
- package/data/build/dist/client/avatar/reaction-badge.js.map +1 -0
- package/data/build/dist/client/avatar/registry.d.ts +2 -1
- package/data/build/dist/client/avatar/registry.d.ts.map +1 -1
- package/data/build/dist/client/avatar/registry.js.map +1 -1
- package/data/build/dist/client/avatar/settings-panel.d.ts.map +1 -1
- package/data/build/dist/client/avatar/settings-panel.js +7 -5
- package/data/build/dist/client/avatar/settings-panel.js.map +1 -1
- package/data/build/dist/client/avatar/slot.d.ts +2 -1
- package/data/build/dist/client/avatar/slot.d.ts.map +1 -1
- package/data/build/dist/client/avatar/slot.js +5 -4
- package/data/build/dist/client/avatar/slot.js.map +1 -1
- package/data/build/dist/client/avatar/spritesheet.d.ts +4 -2
- package/data/build/dist/client/avatar/spritesheet.d.ts.map +1 -1
- package/data/build/dist/client/avatar/spritesheet.js +18 -9
- package/data/build/dist/client/avatar/spritesheet.js.map +1 -1
- package/data/build/dist/client/bundle.js +6881 -1776
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/cli-catalog.d.ts +1 -1
- package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
- package/data/build/dist/client/cli-catalog.js +2 -0
- package/data/build/dist/client/cli-catalog.js.map +1 -1
- package/data/build/dist/client/cli-session-config-cache.d.ts +17 -0
- package/data/build/dist/client/cli-session-config-cache.d.ts.map +1 -0
- package/data/build/dist/client/cli-session-config-cache.js +56 -0
- package/data/build/dist/client/cli-session-config-cache.js.map +1 -0
- package/data/build/dist/client/cli-settings-rpc.d.ts +5 -0
- package/data/build/dist/client/cli-settings-rpc.d.ts.map +1 -0
- package/data/build/dist/client/cli-settings-rpc.js +60 -0
- package/data/build/dist/client/cli-settings-rpc.js.map +1 -0
- package/data/build/dist/client/cli-slots.d.ts.map +1 -1
- package/data/build/dist/client/cli-slots.js +24 -40
- package/data/build/dist/client/cli-slots.js.map +1 -1
- package/data/build/dist/client/client.assistant-configuration-view.js +264 -55
- package/data/build/dist/client/client.assistant-configuration-view.js.map +1 -1
- package/data/build/dist/client/client.assistant-debug-workbench.js +4 -4
- package/data/build/dist/client/client.assistant-debug-workbench.js.map +1 -1
- package/data/build/dist/client/{client.assistant-prompts.js → client.assistant-notifications.js} +63 -2
- package/data/build/dist/client/client.assistant-notifications.js.map +1 -0
- package/data/build/dist/client/client.assistant-prompt-editor.js +4 -4
- package/data/build/dist/client/client.assistant-prompt-editor.js.map +1 -1
- package/data/build/dist/client/client.assistant-workbench.js +287 -161
- package/data/build/dist/client/client.assistant-workbench.js.map +1 -1
- package/data/build/dist/client/client.delegate-command.js +12 -25
- package/data/build/dist/client/client.delegate-command.js.map +1 -1
- package/data/build/dist/client/client.manager.js +201 -25
- package/data/build/dist/client/client.manager.js.map +1 -1
- package/data/build/dist/client/client.model-catalog-cache.js +2 -1
- package/data/build/dist/client/client.model-catalog-cache.js.map +1 -1
- package/data/build/dist/client/client.native-workspace-store.js +42 -11
- package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
- package/data/build/dist/client/client.primitives-adapter.js.map +1 -1
- package/data/build/dist/client/client.react-dom.js +250 -0
- package/data/build/dist/client/client.react-dom.js.map +1 -1
- package/data/build/dist/client/client.theme.js +58 -12
- package/data/build/dist/client/client.theme.js.map +1 -1
- package/data/build/dist/client/client.transport.js +342 -46
- package/data/build/dist/client/client.transport.js.map +1 -1
- package/data/build/dist/client/debug/ui.d.ts.map +1 -1
- package/data/build/dist/client/debug/ui.js +30 -29
- package/data/build/dist/client/debug/ui.js.map +1 -1
- package/data/build/dist/client/delegate-command.d.ts.map +1 -1
- package/data/build/dist/client/delegate-command.js +12 -21
- package/data/build/dist/client/delegate-command.js.map +1 -1
- package/data/build/dist/client/desktop-assistant.js +61859 -158
- package/data/build/dist/client/external-tool-stream.d.ts.map +1 -1
- package/data/build/dist/client/external-tool-stream.js +2 -1
- package/data/build/dist/client/external-tool-stream.js.map +1 -1
- package/data/build/dist/client/features/assistant-configuration-session.js +3 -3
- package/data/build/dist/client/features/assistant-configuration-session.js.map +1 -1
- package/data/build/dist/client/features/assistant-configuration-tabs.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-configuration-tabs.js +2 -1
- package/data/build/dist/client/features/assistant-configuration-tabs.js.map +1 -1
- package/data/build/dist/client/features/assistant-configuration-view.d.ts +8 -0
- package/data/build/dist/client/features/assistant-configuration-view.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-configuration-view.js +99 -3
- package/data/build/dist/client/features/assistant-configuration-view.js.map +1 -1
- package/data/build/dist/client/features/assistant-conversation-message.d.ts +2 -1
- package/data/build/dist/client/features/assistant-conversation-message.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-conversation-message.js +64 -28
- package/data/build/dist/client/features/assistant-conversation-message.js.map +1 -1
- package/data/build/dist/client/features/assistant-debug-workbench.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-debug-workbench.js +3 -2
- package/data/build/dist/client/features/assistant-debug-workbench.js.map +1 -1
- package/data/build/dist/client/features/assistant-floating-call.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-floating-call.js +4 -3
- package/data/build/dist/client/features/assistant-floating-call.js.map +1 -1
- package/data/build/dist/client/features/assistant-notification-store.d.ts +72 -0
- package/data/build/dist/client/features/assistant-notification-store.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-notification-store.js +439 -0
- package/data/build/dist/client/features/assistant-notification-store.js.map +1 -0
- package/data/build/dist/client/features/assistant-realtime-call.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-realtime-call.js +13 -12
- package/data/build/dist/client/features/assistant-realtime-call.js.map +1 -1
- package/data/build/dist/client/features/assistant-record-style.js +11 -4
- package/data/build/dist/client/features/assistant-record-style.js.map +1 -1
- package/data/build/dist/client/features/assistant-voice-initialization.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-voice-initialization.js +4 -2
- package/data/build/dist/client/features/assistant-voice-initialization.js.map +1 -1
- package/data/build/dist/client/features/assistant-voice-settings-group.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-voice-settings-group.js +2 -1
- package/data/build/dist/client/features/assistant-voice-settings-group.js.map +1 -1
- package/data/build/dist/client/features/assistant-voice-settings.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-voice-settings.js +4 -3
- package/data/build/dist/client/features/assistant-voice-settings.js.map +1 -1
- package/data/build/dist/client/features/assistant-workbench-controls.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-workbench-controls.js +6 -5
- package/data/build/dist/client/features/assistant-workbench-controls.js.map +1 -1
- package/data/build/dist/client/features/assistant-workbench.d.ts +4 -0
- package/data/build/dist/client/features/assistant-workbench.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-workbench.js +37 -9
- package/data/build/dist/client/features/assistant-workbench.js.map +1 -1
- package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
- package/data/build/dist/client/features/cli-adapters.js +140 -35
- package/data/build/dist/client/features/cli-adapters.js.map +1 -1
- package/data/build/dist/client/features/file-management-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/file-management-panel.js +3 -10
- package/data/build/dist/client/features/file-management-panel.js.map +1 -1
- package/data/build/dist/client/features/global-voice-assistant.d.ts +6 -0
- package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -1
- package/data/build/dist/client/features/global-voice-assistant.js +117 -3
- package/data/build/dist/client/features/global-voice-assistant.js.map +1 -1
- package/data/build/dist/client/features/index.d.ts +1 -0
- package/data/build/dist/client/features/index.d.ts.map +1 -1
- package/data/build/dist/client/features/index.js +3 -0
- package/data/build/dist/client/features/index.js.map +1 -1
- package/data/build/dist/client/features/lan-access-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/lan-access-panel.js +6 -4
- package/data/build/dist/client/features/lan-access-panel.js.map +1 -1
- package/data/build/dist/client/features/login-protection-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/login-protection-panel.js +7 -2
- package/data/build/dist/client/features/login-protection-panel.js.map +1 -1
- package/data/build/dist/client/features/mobile-access-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/mobile-access-panel.js +19 -13
- package/data/build/dist/client/features/mobile-access-panel.js.map +1 -1
- package/data/build/dist/client/features/peer-host.d.ts +3 -0
- package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/client/features/peer-host.js +445 -28
- package/data/build/dist/client/features/peer-host.js.map +1 -1
- package/data/build/dist/client/features/reverse-proxy-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/reverse-proxy-panel.js +5 -4
- package/data/build/dist/client/features/reverse-proxy-panel.js.map +1 -1
- package/data/build/dist/client/features/subagent-collapsed-lineage.d.ts +9 -0
- package/data/build/dist/client/features/subagent-collapsed-lineage.d.ts.map +1 -0
- package/data/build/dist/client/features/subagent-collapsed-lineage.js +28 -0
- package/data/build/dist/client/features/subagent-collapsed-lineage.js.map +1 -0
- package/data/build/dist/client/features/subscription-usage-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/subscription-usage-panel.js +4 -3
- package/data/build/dist/client/features/subscription-usage-panel.js.map +1 -1
- package/data/build/dist/client/features/terminal-enhancement-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/terminal-enhancement-panel.js +6 -4
- package/data/build/dist/client/features/terminal-enhancement-panel.js.map +1 -1
- package/data/build/dist/client/features/types.d.ts +8 -0
- package/data/build/dist/client/features/types.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-conversation-dialog.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-conversation-dialog.js +7 -6
- package/data/build/dist/client/features/voice-conversation-dialog.js.map +1 -1
- package/data/build/dist/client/features/voice-initialization-dialog.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-initialization-dialog.js +7 -6
- package/data/build/dist/client/features/voice-initialization-dialog.js.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement-panel.js +44 -96
- package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
- package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
- package/data/build/dist/client/file-management-dom.js +42 -28
- package/data/build/dist/client/file-management-dom.js.map +1 -1
- package/data/build/dist/client/font-scale.d.ts +37 -0
- package/data/build/dist/client/font-scale.d.ts.map +1 -0
- package/data/build/dist/client/font-scale.js +56 -0
- package/data/build/dist/client/font-scale.js.map +1 -0
- package/data/build/dist/client/git-management.d.ts.map +1 -1
- package/data/build/dist/client/git-management.js +80 -37
- package/data/build/dist/client/git-management.js.map +1 -1
- package/data/build/dist/client/index.d.ts +1 -1
- package/data/build/dist/client/index.d.ts.map +1 -1
- package/data/build/dist/client/index.js +43 -1
- 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 +27 -2
- package/data/build/dist/client/locale.js.map +1 -1
- package/data/build/dist/client/locales/assistantWorkbench.d.ts +45 -0
- package/data/build/dist/client/locales/assistantWorkbench.d.ts.map +1 -1
- package/data/build/dist/client/locales/assistantWorkbench.js +30 -6
- package/data/build/dist/client/locales/assistantWorkbench.js.map +1 -1
- package/data/build/dist/client/locales/peerHost.d.ts.map +1 -1
- package/data/build/dist/client/locales/peerHost.js +10 -0
- package/data/build/dist/client/locales/peerHost.js.map +1 -1
- package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -1
- package/data/build/dist/client/locales/peerHostWorkspace.js +16 -0
- package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -1
- package/data/build/dist/client/locales/subagentCollapsed.d.ts +53 -0
- package/data/build/dist/client/locales/subagentCollapsed.d.ts.map +1 -0
- package/data/build/dist/client/locales/subagentCollapsed.js +95 -0
- package/data/build/dist/client/locales/subagentCollapsed.js.map +1 -0
- package/data/build/dist/client/locales/terminalAuth.js +2 -2
- 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 +48 -0
- package/data/build/dist/client/locales/usage.js.map +1 -1
- package/data/build/dist/client/native-workspace-store.d.ts +10 -0
- package/data/build/dist/client/native-workspace-store.d.ts.map +1 -1
- package/data/build/dist/client/native-workspace-store.js +22 -1
- package/data/build/dist/client/native-workspace-store.js.map +1 -1
- package/data/build/dist/client/peer-host-color.d.ts +3 -0
- package/data/build/dist/client/peer-host-color.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-color.js +16 -0
- package/data/build/dist/client/peer-host-color.js.map +1 -1
- package/data/build/dist/client/peer-host-file-links.d.ts +8 -0
- package/data/build/dist/client/peer-host-file-links.d.ts.map +1 -0
- package/data/build/dist/client/peer-host-file-links.js +43 -0
- package/data/build/dist/client/peer-host-file-links.js.map +1 -0
- package/data/build/dist/client/peer-host-management-api.d.ts +2 -1
- package/data/build/dist/client/peer-host-management-api.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-management-api.js +2 -1
- package/data/build/dist/client/peer-host-management-api.js.map +1 -1
- package/data/build/dist/client/peer-host-native-projection.d.ts +20 -8
- package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-native-projection.js +127 -15
- package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
- package/data/build/dist/client/peer-host-native-store-projection.d.ts +2 -0
- package/data/build/dist/client/peer-host-native-store-projection.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-native-store-projection.js +52 -13
- package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -1
- package/data/build/dist/client/peer-host-reference-source.d.ts +18 -0
- package/data/build/dist/client/peer-host-reference-source.d.ts.map +1 -0
- package/data/build/dist/client/peer-host-reference-source.js +174 -0
- package/data/build/dist/client/peer-host-reference-source.js.map +1 -0
- package/data/build/dist/client/peer-host-remote-events.d.ts +48 -0
- package/data/build/dist/client/peer-host-remote-events.d.ts.map +1 -0
- package/data/build/dist/client/peer-host-remote-events.js +328 -0
- package/data/build/dist/client/peer-host-remote-events.js.map +1 -0
- package/data/build/dist/client/peer-host-scoped-client.d.ts +3 -0
- package/data/build/dist/client/peer-host-scoped-client.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-scoped-client.js +5 -2
- package/data/build/dist/client/peer-host-scoped-client.js.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tab.d.ts +2 -0
- package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tab.js +62 -29
- package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tag.d.ts +5 -0
- package/data/build/dist/client/peer-host-workspace-tag.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tag.js +57 -14
- package/data/build/dist/client/peer-host-workspace-tag.js.map +1 -1
- package/data/build/dist/client/provider-icons.d.ts.map +1 -1
- package/data/build/dist/client/provider-icons.js +2 -1
- package/data/build/dist/client/provider-icons.js.map +1 -1
- package/data/build/dist/client/quick-phrase-slot.d.ts.map +1 -1
- package/data/build/dist/client/quick-phrase-slot.js +12 -11
- package/data/build/dist/client/quick-phrase-slot.js.map +1 -1
- package/data/build/dist/client/serial-polling.d.ts +1 -0
- package/data/build/dist/client/serial-polling.d.ts.map +1 -1
- package/data/build/dist/client/serial-polling.js +4 -2
- package/data/build/dist/client/serial-polling.js.map +1 -1
- package/data/build/dist/client/session-adapter-cache.d.ts +2 -0
- package/data/build/dist/client/session-adapter-cache.d.ts.map +1 -1
- package/data/build/dist/client/session-adapter-cache.js +11 -0
- package/data/build/dist/client/session-adapter-cache.js.map +1 -1
- package/data/build/dist/client/session-changed-files-view.d.ts +15 -0
- package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
- package/data/build/dist/client/session-changed-files-view.js +73 -29
- package/data/build/dist/client/session-changed-files-view.js.map +1 -1
- package/data/build/dist/client/settings-controls.d.ts +29 -0
- package/data/build/dist/client/settings-controls.d.ts.map +1 -0
- package/data/build/dist/client/settings-controls.js +80 -0
- package/data/build/dist/client/settings-controls.js.map +1 -0
- package/data/build/dist/client/settings-section.d.ts.map +1 -1
- package/data/build/dist/client/settings-section.js +7 -11
- package/data/build/dist/client/settings-section.js.map +1 -1
- package/data/build/dist/client/skill-command.d.ts.map +1 -1
- package/data/build/dist/client/skill-command.js +2 -1
- package/data/build/dist/client/skill-command.js.map +1 -1
- package/data/build/dist/client/style.css +2561 -0
- package/data/build/dist/client/subagent-collapsed-lineage.d.ts +103 -0
- package/data/build/dist/client/subagent-collapsed-lineage.d.ts.map +1 -0
- package/data/build/dist/client/subagent-collapsed-lineage.js +664 -0
- package/data/build/dist/client/subagent-collapsed-lineage.js.map +1 -0
- package/data/build/dist/client/subscription-slot.d.ts +8 -2
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +55 -34
- package/data/build/dist/client/subscription-slot.js.map +1 -1
- package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
- package/data/build/dist/client/terminal/ui.js +26 -8
- package/data/build/dist/client/terminal/ui.js.map +1 -1
- package/data/build/dist/client/theme.d.ts +2 -0
- package/data/build/dist/client/theme.d.ts.map +1 -1
- package/data/build/dist/client/theme.js +20 -12
- package/data/build/dist/client/theme.js.map +1 -1
- package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
- package/data/build/dist/client/workspace-session-visibility-dom.js +22 -10
- package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.d.ts +15 -0
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.js +86 -0
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.d.ts +10 -0
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.js +199 -0
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts +1 -1
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js +8 -2
- package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js.map +1 -1
- package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/matrix.js +13 -3
- package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.js +37 -3
- package/data/build/dist/dsh-capabilities/routes.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/materials.d.ts.map +1 -1
- package/data/build/dist/host/avatar/materials.js +3 -1
- package/data/build/dist/host/avatar/materials.js.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +13 -0
- 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 +136 -11
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +1 -1
- 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 +65 -31
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts +1 -0
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +36 -9
- package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-file-citations.d.ts +13 -0
- package/data/build/dist/host/cli-adapters/codex-file-citations.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/codex-file-citations.js +271 -0
- package/data/build/dist/host/cli-adapters/codex-file-citations.js.map +1 -0
- 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 +136 -16
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts +4 -3
- package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/delegate-dispatch.js +7 -6
- package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -1
- package/data/build/dist/host/cli-adapters/doubao-app.d.ts +32 -11
- package/data/build/dist/host/cli-adapters/doubao-app.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/doubao-app.js +195 -24
- package/data/build/dist/host/cli-adapters/doubao-app.js.map +1 -1
- package/data/build/dist/host/cli-adapters/doubao-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/doubao-driver.js +3 -1
- package/data/build/dist/host/cli-adapters/doubao-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-config.d.ts +16 -0
- package/data/build/dist/host/cli-adapters/dsh-config.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/dsh-config.js +153 -0
- package/data/build/dist/host/cli-adapters/dsh-config.js.map +1 -0
- package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts +2 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js +16 -5
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-tool-history.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-tool-history.js +23 -3
- package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +72 -28
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts +1 -0
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/model-catalog.js +22 -0
- package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +24 -2
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +113 -4
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +63 -18
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.js +35 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
- package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/new-api-subscription.js +2 -45
- package/data/build/dist/host/cli-adapters/new-api-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +6 -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 +10 -3
- 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.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +334 -62
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.js +134 -14
- package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +3 -0
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.js +13 -45
- package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/r4-subscription.d.ts +13 -0
- package/data/build/dist/host/cli-adapters/r4-subscription.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/r4-subscription.js +111 -0
- package/data/build/dist/host/cli-adapters/r4-subscription.js.map +1 -0
- package/data/build/dist/host/cli-adapters/registry.d.ts +2 -0
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +14 -3
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/stream-normalizer.js +7 -0
- package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool.js +28 -7
- package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts +1 -0
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
- package/data/build/dist/host/cli-bridge/command-code-mod.d.ts +24 -1
- package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/command-code-mod.js +121 -23
- package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.js +26 -6
- package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.d.ts +45 -4
- package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.js +129 -14
- package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +20 -5
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/controller.d.ts +27 -2
- package/data/build/dist/host/desktop-assistant/controller.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/controller.js +197 -7
- package/data/build/dist/host/desktop-assistant/controller.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/feature.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/feature.js +41 -4
- package/data/build/dist/host/desktop-assistant/feature.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/launcher.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/launcher.js +3 -1
- package/data/build/dist/host/desktop-assistant/launcher.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/mac-agent.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/mac-agent.js +41 -10
- package/data/build/dist/host/desktop-assistant/mac-agent.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/notifications.d.ts +16 -0
- package/data/build/dist/host/desktop-assistant/notifications.d.ts.map +1 -0
- package/data/build/dist/host/desktop-assistant/notifications.js +45 -0
- package/data/build/dist/host/desktop-assistant/notifications.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/win-agent.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/win-agent.js +95 -8
- package/data/build/dist/host/desktop-assistant/win-agent.js.map +1 -1
- package/data/build/dist/host/features/assistant-lifecycle-settings.js +1 -1
- package/data/build/dist/host/features/assistant-lifecycle-settings.js.map +1 -1
- package/data/build/dist/host/features/assistant-management-tools.d.ts +2 -1
- package/data/build/dist/host/features/assistant-management-tools.d.ts.map +1 -1
- package/data/build/dist/host/features/assistant-management-tools.js +10 -3
- package/data/build/dist/host/features/assistant-management-tools.js.map +1 -1
- package/data/build/dist/host/features/assistant-notification-events.d.ts +77 -0
- package/data/build/dist/host/features/assistant-notification-events.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-notification-events.js +574 -0
- package/data/build/dist/host/features/assistant-notification-events.js.map +1 -0
- package/data/build/dist/host/features/assistant-notification-source.d.ts +32 -0
- package/data/build/dist/host/features/assistant-notification-source.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-notification-source.js +101 -0
- package/data/build/dist/host/features/assistant-notification-source.js.map +1 -0
- package/data/build/dist/host/features/assistant-notification-stream.d.ts +26 -0
- package/data/build/dist/host/features/assistant-notification-stream.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-notification-stream.js +179 -0
- package/data/build/dist/host/features/assistant-notification-stream.js.map +1 -0
- package/data/build/dist/host/features/assistant-notifications.d.ts +78 -0
- package/data/build/dist/host/features/assistant-notifications.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-notifications.js +436 -0
- package/data/build/dist/host/features/assistant-notifications.js.map +1 -0
- package/data/build/dist/host/features/assistant-peer-notifications.d.ts +53 -0
- package/data/build/dist/host/features/assistant-peer-notifications.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-peer-notifications.js +197 -0
- package/data/build/dist/host/features/assistant-peer-notifications.js.map +1 -0
- package/data/build/dist/host/features/assistant-tts-service.d.ts.map +1 -1
- package/data/build/dist/host/features/assistant-tts-service.js +2 -2
- package/data/build/dist/host/features/assistant-tts-service.js.map +1 -1
- package/data/build/dist/host/features/assistant-voice-initialization.js +1 -1
- package/data/build/dist/host/features/assistant-voice-initialization.js.map +1 -1
- package/data/build/dist/host/features/git-management.js +2 -1
- package/data/build/dist/host/features/git-management.js.map +1 -1
- package/data/build/dist/host/features/global-voice-rpc.d.ts +2 -2
- package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
- package/data/build/dist/host/features/global-voice-rpc.js +179 -4
- package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
- package/data/build/dist/host/features/index.d.ts +1 -0
- package/data/build/dist/host/features/index.d.ts.map +1 -1
- package/data/build/dist/host/features/index.js +3 -0
- package/data/build/dist/host/features/index.js.map +1 -1
- package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/host/features/peer-host.js +193 -75
- package/data/build/dist/host/features/peer-host.js.map +1 -1
- package/data/build/dist/host/features/session-title-optimization.d.ts +5 -0
- package/data/build/dist/host/features/session-title-optimization.d.ts.map +1 -0
- package/data/build/dist/host/features/session-title-optimization.js +26 -0
- package/data/build/dist/host/features/session-title-optimization.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/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +23 -1
- 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 +9 -1
- package/data/build/dist/host/lan-access-dsh.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/aggregated-host-transport.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/aggregated-host-transport.js +8 -2
- package/data/build/dist/host/modules/peer-host/aggregated-host-transport.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +5 -1
- 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 +72 -23
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/host-ws-proxy-service.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/host-ws-proxy-service.js +7 -5
- package/data/build/dist/host/modules/peer-host/host-ws-proxy-service.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +6 -1
- 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 +7 -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-handshake.d.ts +2 -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 +11 -10
- 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-native-dispatch.d.ts +7 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +63 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +6 -3
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +92 -5
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-streams.d.ts +15 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-streams.d.ts.map +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js +101 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js.map +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js +44 -11
- package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +75 -20
- 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-request-errors.d.ts +31 -0
- package/data/build/dist/host/modules/peer-host/peer-host-request-errors.d.ts.map +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-request-errors.js +60 -0
- package/data/build/dist/host/modules/peer-host/peer-host-request-errors.js.map +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts +12 -4
- 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 +28 -18
- package/data/build/dist/host/modules/peer-host/peer-host-session.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js +15 -4
- package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-workspace-cache.d.ts +22 -0
- package/data/build/dist/host/modules/peer-host/peer-host-workspace-cache.d.ts.map +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-workspace-cache.js +133 -0
- package/data/build/dist/host/modules/peer-host/peer-host-workspace-cache.js.map +1 -0
- package/data/build/dist/host/native-session-bridge.d.ts +2 -0
- package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
- package/data/build/dist/host/native-session-bridge.js +89 -9
- package/data/build/dist/host/native-session-bridge.js.map +1 -1
- package/data/build/dist/host/rpc.d.ts.map +1 -1
- package/data/build/dist/host/rpc.js +11 -2
- package/data/build/dist/host/rpc.js.map +1 -1
- package/data/build/dist/host/settings.d.ts.map +1 -1
- package/data/build/dist/host/settings.js +14 -3
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/host/terminal/controller-factory.d.ts +1 -0
- package/data/build/dist/host/terminal/controller-factory.d.ts.map +1 -1
- package/data/build/dist/host/terminal/controller-factory.js +3 -0
- package/data/build/dist/host/terminal/controller-factory.js.map +1 -1
- package/data/build/dist/host/terminal/startup.d.ts +3 -0
- package/data/build/dist/host/terminal/startup.d.ts.map +1 -1
- package/data/build/dist/host/terminal/startup.js +1 -0
- package/data/build/dist/host/terminal/startup.js.map +1 -1
- package/data/build/dist/host/terminal/terminal-controller.d.ts +8 -0
- package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
- package/data/build/dist/host/terminal/terminal-controller.js +2 -1
- package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
- package/data/build/dist/shared/assistant-avatar-adapters.d.ts.map +1 -1
- package/data/build/dist/shared/assistant-avatar-adapters.js +3 -0
- package/data/build/dist/shared/assistant-avatar-adapters.js.map +1 -1
- package/data/build/dist/shared/assistant-avatar.d.ts +11 -1
- package/data/build/dist/shared/assistant-avatar.d.ts.map +1 -1
- package/data/build/dist/shared/assistant-avatar.js +31 -1
- package/data/build/dist/shared/assistant-avatar.js.map +1 -1
- package/data/build/dist/shared/assistant-message-timeline.d.ts +11 -0
- package/data/build/dist/shared/assistant-message-timeline.d.ts.map +1 -1
- package/data/build/dist/shared/assistant-message-timeline.js +19 -0
- package/data/build/dist/shared/assistant-message-timeline.js.map +1 -1
- package/data/build/dist/shared/assistant-notification-feed.d.ts +44 -0
- package/data/build/dist/shared/assistant-notification-feed.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-notification-feed.js +88 -0
- package/data/build/dist/shared/assistant-notification-feed.js.map +1 -0
- package/data/build/dist/shared/assistant-notifications.d.ts +141 -0
- package/data/build/dist/shared/assistant-notifications.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-notifications.js +32 -0
- package/data/build/dist/shared/assistant-notifications.js.map +1 -0
- package/data/build/dist/shared/assistant-session-messages.d.ts +13 -0
- package/data/build/dist/shared/assistant-session-messages.d.ts.map +1 -0
- package/data/build/dist/shared/assistant-session-messages.js +155 -0
- package/data/build/dist/shared/assistant-session-messages.js.map +1 -0
- package/data/build/dist/shared/assistant-tts.js +1 -1
- package/data/build/dist/shared/contracts/assistant.d.ts +13 -0
- package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/cli-adapter.d.ts +5 -1
- package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.d.ts +5 -0
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +3 -0
- package/data/build/dist/shared/contracts/config.js.map +1 -1
- package/data/build/dist/shared/contracts/errors.d.ts +2 -2
- package/data/build/dist/shared/contracts/peer-host.d.ts +15 -0
- package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
- package/data/build/dist/shared/contracts/subscription.d.ts +31 -0
- package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/subscription.js.map +1 -1
- package/data/build/dist/shared/contracts/version.d.ts +12 -8
- package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.js +11 -7
- package/data/build/dist/shared/contracts/version.js.map +1 -1
- package/data/build/dist/shared/desktop-assistant.d.ts +74 -1
- package/data/build/dist/shared/desktop-assistant.d.ts.map +1 -1
- package/data/build/dist/shared/desktop-assistant.js +201 -2
- package/data/build/dist/shared/desktop-assistant.js.map +1 -1
- package/data/build/dist/shared/index.d.ts +2 -2
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js.map +1 -1
- package/data/build/dist/shared/peer-host-file-location.d.ts +11 -0
- package/data/build/dist/shared/peer-host-file-location.d.ts.map +1 -0
- package/data/build/dist/shared/peer-host-file-location.js +20 -0
- package/data/build/dist/shared/peer-host-file-location.js.map +1 -0
- package/data/build/dist/shared/peer-host-http-routes.d.ts +10 -0
- package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -1
- package/data/build/dist/shared/peer-host-http-routes.js +7 -1
- package/data/build/dist/shared/peer-host-http-routes.js.map +1 -1
- package/data/build/dist/shared/provider-icon-resources.d.ts.map +1 -1
- package/data/build/dist/shared/provider-icon-resources.js +1 -0
- package/data/build/dist/shared/provider-icon-resources.js.map +1 -1
- package/data/build/dist/shared/session-reference.d.ts +11 -0
- package/data/build/dist/shared/session-reference.d.ts.map +1 -0
- package/data/build/dist/shared/session-reference.js +29 -0
- package/data/build/dist/shared/session-reference.js.map +1 -0
- package/data/build/dist/shared/session-title.d.ts +12 -0
- package/data/build/dist/shared/session-title.d.ts.map +1 -0
- package/data/build/dist/shared/session-title.js +65 -0
- package/data/build/dist/shared/session-title.js.map +1 -0
- package/data/build/dist/shared/voice-initialization.d.ts +1 -1
- package/data/build/dist/shared/voice-initialization.d.ts.map +1 -1
- package/data/build/dist/shared/voice-initialization.js +1 -1
- package/data/build/dist/shared/voice-initialization.js.map +1 -1
- package/data/build/dist/shared/voice-models.d.ts +2 -2
- package/data/build/dist/shared/voice-models.d.ts.map +1 -1
- package/data/build/dist/shared/voice-models.js +9 -9
- package/data/build/dist/shared/voice-models.js.map +1 -1
- package/data/build/dist/typert.host.d.ts +18 -1
- package/data/build/dist/typert.host.d.ts.map +1 -1
- package/data/build/dist/typert.host.js +28 -3
- package/data/build/dist/typert.host.js.map +1 -1
- package/data/build/dist/typert.notifications-client.d.ts +5 -0
- package/data/build/dist/typert.notifications-client.d.ts.map +1 -0
- package/data/build/dist/typert.notifications-client.js +7 -0
- package/data/build/dist/typert.notifications-client.js.map +1 -0
- package/data/build/dist/typert.remote-client.js +1 -1
- package/data/build/dist/typert.remote-client.js.map +1 -1
- package/package.json +41 -33
- package/profile/README.md +2 -2
- package/profile/package.json +3 -3
- package/profile/version.json +3 -3
- package/version.json +3 -3
- package/data/build/dist/client/client.assistant-prompts.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { desktopAssistantNotificationHeight, desktopAssistantLayout, desktopAssistantNotice, readDesktopAssistantLayout } from '../../shared/desktop-assistant.js';
|
|
1
2
|
/** 只有这个控制器拥有进程与端口;Client 的迟到请求不能复活已关闭的 generation。 */
|
|
2
3
|
export class DesktopAssistantController {
|
|
3
4
|
options;
|
|
@@ -14,6 +15,17 @@ export class DesktopAssistantController {
|
|
|
14
15
|
ready = false;
|
|
15
16
|
error;
|
|
16
17
|
openSequence = 0;
|
|
18
|
+
noticeSequence = 0;
|
|
19
|
+
noticeFrameSequence = 0;
|
|
20
|
+
noticeFrameKey = '';
|
|
21
|
+
noticeEvents = [];
|
|
22
|
+
noticeError;
|
|
23
|
+
noticeFeedbackError;
|
|
24
|
+
presentedNotice = '';
|
|
25
|
+
notificationExpanded = false;
|
|
26
|
+
layout;
|
|
27
|
+
/** 原生上报的 DSH 主窗口前台状态;未知时按后台处理。 */
|
|
28
|
+
appActive = false;
|
|
17
29
|
disposed = false;
|
|
18
30
|
settle;
|
|
19
31
|
constructor(options) {
|
|
@@ -27,19 +39,34 @@ export class DesktopAssistantController {
|
|
|
27
39
|
this.owner = owner;
|
|
28
40
|
this.sequence = -1;
|
|
29
41
|
this.error = undefined;
|
|
42
|
+
this.noticeEvents = [];
|
|
43
|
+
this.noticeError = undefined;
|
|
44
|
+
this.noticeFeedbackError = undefined;
|
|
45
|
+
this.noticeFrameSequence = 0;
|
|
46
|
+
this.noticeFrameKey = '';
|
|
47
|
+
this.presentedNotice = '';
|
|
48
|
+
this.notificationExpanded = false;
|
|
30
49
|
}
|
|
31
50
|
return this.status(owner);
|
|
32
51
|
}
|
|
33
|
-
async update(owner, sequence, presentation) {
|
|
52
|
+
async update(owner, sequence, presentation, ack, feedback) {
|
|
34
53
|
if (this.disposed || this.owner !== owner || sequence <= this.sequence)
|
|
35
54
|
return this.status(owner);
|
|
36
55
|
this.sequence = sequence;
|
|
56
|
+
// 先核对还在队列中的动作,再移除已消费事件;旧所有者/旧代次不能给新通知注入反馈。
|
|
57
|
+
const event = feedback === undefined || feedback.generation !== this.generation ? undefined : this.noticeEvents.find((item) => item.sequence === feedback.sequence && item.noticeId === feedback.noticeId && item.noticeGeneration === feedback.noticeGeneration);
|
|
58
|
+
if (event && feedback)
|
|
59
|
+
this.noticeFeedbackError = { event, message: feedback.message };
|
|
60
|
+
if (ack && ack.generation === this.generation && Number.isSafeInteger(ack.sequence) && ack.sequence >= 0 && ack.sequence <= this.noticeSequence) {
|
|
61
|
+
this.noticeEvents = this.noticeEvents.filter((event) => event.sequence > ack.sequence);
|
|
62
|
+
this.noticeError = undefined;
|
|
63
|
+
}
|
|
37
64
|
this.presentation = presentation;
|
|
38
65
|
await this.refresh();
|
|
39
66
|
return this.status(owner);
|
|
40
67
|
}
|
|
41
68
|
async refresh() {
|
|
42
|
-
this.
|
|
69
|
+
this.refreshFrame();
|
|
43
70
|
if (!this.options.supported || this.disposed || !this.owner || !this.frame) {
|
|
44
71
|
this.error = undefined;
|
|
45
72
|
await this.stop();
|
|
@@ -61,19 +88,21 @@ export class DesktopAssistantController {
|
|
|
61
88
|
await this.starting;
|
|
62
89
|
}
|
|
63
90
|
if (this.ready && this.frame?.visible)
|
|
64
|
-
this.agent?.send(
|
|
91
|
+
this.agent?.send(this.showCommand('show'));
|
|
65
92
|
}
|
|
66
93
|
status(owner) {
|
|
67
94
|
// 能否使用原生形象与窗口是否已经显示是两回事,启动握手期间不能误判为不可用。
|
|
68
95
|
// 当前形象不支持原生渲染时明确放行页面回退,避免一直停留在原生等待状态。
|
|
69
|
-
return { available: this.options.supported && !this.disposed && this.options.readFrame(this.
|
|
96
|
+
return { available: this.options.supported && !this.disposed && this.options.readFrame(this.frameInput()) !== undefined,
|
|
70
97
|
owned: this.owner === owner, attached: this.owner !== undefined,
|
|
71
|
-
visible: this.visible && this.owner === owner, openSequence: this.openSequence, error: this.error
|
|
98
|
+
visible: this.visible && this.owner === owner, openSequence: this.openSequence, error: this.error,
|
|
99
|
+
generation: this.generation, ...(this.owner !== owner ? {} : { noticeEvents: [...this.noticeEvents], ...(this.noticeError === undefined ? {} : { noticeError: this.noticeError }) }) };
|
|
72
100
|
}
|
|
73
101
|
async detach(owner) {
|
|
74
102
|
if (this.owner !== owner)
|
|
75
103
|
return;
|
|
76
104
|
this.owner = undefined;
|
|
105
|
+
this.noticeEvents = [];
|
|
77
106
|
await this.stop();
|
|
78
107
|
}
|
|
79
108
|
async dispose() { this.disposed = true; this.owner = undefined; await this.stop(); await this.starting; }
|
|
@@ -103,7 +132,8 @@ export class DesktopAssistantController {
|
|
|
103
132
|
return;
|
|
104
133
|
}
|
|
105
134
|
this.agent = agent;
|
|
106
|
-
|
|
135
|
+
this.refreshFrame();
|
|
136
|
+
agent.send({ ...this.showCommand('load'), url: page.url });
|
|
107
137
|
await ready;
|
|
108
138
|
if (generation !== this.generation)
|
|
109
139
|
return;
|
|
@@ -118,14 +148,167 @@ export class DesktopAssistantController {
|
|
|
118
148
|
return;
|
|
119
149
|
if (event.ev === 'loaded')
|
|
120
150
|
this.settle?.();
|
|
121
|
-
if (event.ev === 'shown')
|
|
151
|
+
if (event.ev === 'shown') {
|
|
122
152
|
this.visible = this.frame?.visible === true;
|
|
153
|
+
this.refreshFrame();
|
|
154
|
+
}
|
|
155
|
+
if (event.ev === 'app-state') {
|
|
156
|
+
const active = event.active === true;
|
|
157
|
+
if (active !== this.appActive) {
|
|
158
|
+
this.appActive = active;
|
|
159
|
+
this.refreshFrame();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (event.ev === 'layout') {
|
|
163
|
+
const next = readDesktopAssistantLayout(event.layout);
|
|
164
|
+
if (next) {
|
|
165
|
+
this.layout = next;
|
|
166
|
+
this.refreshFrame();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
123
169
|
// 打开 Desktop 或助理工作台只发送交互事件,不改变原生形象的常驻状态。
|
|
124
170
|
if (event.ev === 'open')
|
|
125
171
|
this.openSequence++;
|
|
172
|
+
if (event.ev === 'notice-presented' || event.ev === 'notice-action')
|
|
173
|
+
this.noticeEvent(event);
|
|
174
|
+
if (event.ev === 'notice-page')
|
|
175
|
+
this.noticePage(event);
|
|
176
|
+
if (event.ev === 'notice-expansion') {
|
|
177
|
+
const identity = this.frame?.identity;
|
|
178
|
+
if (identity && this.frame?.notificationSnapshot && event.ownerId === this.owner && event.generation === identity.generation
|
|
179
|
+
&& event.sequence === identity.sequence && typeof event.expanded === 'boolean' && event.expanded !== this.notificationExpanded) {
|
|
180
|
+
this.notificationExpanded = event.expanded;
|
|
181
|
+
void this.refresh().catch(() => undefined);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
126
184
|
if (event.ev === 'error')
|
|
127
185
|
this.failed(generation, typeof event.message === 'string' ? event.message.slice(0, 500) : '原生悬浮窗口不可用');
|
|
128
186
|
}
|
|
187
|
+
/** 读帧输入是页面推送的 presentation 加上原生上报的前台状态。 */
|
|
188
|
+
frameInput() { return this.appActive ? { ...this.presentation, appActive: true } : this.presentation; }
|
|
189
|
+
refreshFrame() {
|
|
190
|
+
const frame = this.options.readFrame(this.frameInput());
|
|
191
|
+
// 同一 noticeId 的完成提醒可以升级为错误;呈现版本必须取最终 Host 快照,不能只取主页面请求序号。
|
|
192
|
+
const snapshot = frame?.notificationSnapshot;
|
|
193
|
+
const primary = desktopAssistantNotice(frame);
|
|
194
|
+
const key = JSON.stringify([this.owner, this.generation, frame?.notification, snapshot === undefined ? undefined
|
|
195
|
+
: [snapshot.generation, snapshot.primary, snapshot.items, snapshot.cursor, snapshot.unreadCount, snapshot.pendingCount, snapshot.capabilities]]);
|
|
196
|
+
if (key !== this.noticeFrameKey) {
|
|
197
|
+
this.noticeFrameKey = key;
|
|
198
|
+
this.noticeFrameSequence++;
|
|
199
|
+
// 未送达主页面的旧首展确认不能确认已经升级的新提醒;用户动作仍保留原有顺序。
|
|
200
|
+
this.noticeEvents = this.noticeEvents.filter((event) => event.type !== 'notice-presented'
|
|
201
|
+
|| (event.noticeId === primary?.noticeId && event.noticeGeneration === primary.generation && event.noticeKind === primary.kind));
|
|
202
|
+
}
|
|
203
|
+
this.frame = frame === undefined ? undefined : { ...frame, nativeVisible: this.visible,
|
|
204
|
+
...(this.matchesNoticeFeedback(frame) ? { noticeError: this.noticeFeedbackError.message } : {}),
|
|
205
|
+
...(this.layout === undefined ? {} : { layout: this.layout }),
|
|
206
|
+
...(this.owner === undefined ? {} : { identity: { ownerId: this.owner, generation: this.generation, sequence: this.noticeFrameSequence } }) };
|
|
207
|
+
if (!this.matchesNoticeFeedback(frame))
|
|
208
|
+
this.noticeFeedbackError = undefined;
|
|
209
|
+
}
|
|
210
|
+
matchesNoticeFeedback(frame) {
|
|
211
|
+
const event = this.noticeFeedbackError?.event, notice = desktopAssistantNotice(frame, event?.noticeId);
|
|
212
|
+
return event !== undefined && notice !== undefined && event.ownerId === this.owner && event.generation === this.generation
|
|
213
|
+
&& event.noticeId === notice.noticeId && event.noticeGeneration === notice.generation && event.noticeKind === notice.kind
|
|
214
|
+
&& event.connectionGeneration === notice.connectionGeneration;
|
|
215
|
+
}
|
|
216
|
+
showCommand(cmd) {
|
|
217
|
+
const frame = this.frame;
|
|
218
|
+
const notificationHeight = desktopAssistantNotificationHeight(frame, this.notificationExpanded, Boolean(this.noticeError || frame.noticeError));
|
|
219
|
+
const layout = desktopAssistantLayout({ x: 0, y: 280 }, frame.size, notificationHeight, Boolean(frame.caption), [{ x: 0, y: 0, width: 1024, height: 768 }]);
|
|
220
|
+
return { cmd, width: layout.bounds.width, height: layout.bounds.height, avatarSize: frame.size, notification: notificationHeight > 0, notificationHeight, caption: Boolean(frame.caption) };
|
|
221
|
+
}
|
|
222
|
+
noticeEvent(event) {
|
|
223
|
+
const identity = this.frame?.identity;
|
|
224
|
+
// 一键清理没有单条目标:只按点击帧的代次清空气泡,不要求匹配快照中的具体通知。
|
|
225
|
+
if (event.ev === 'notice-action' && event.action === 'dismiss-all') {
|
|
226
|
+
this.clearAllNoticeEvent(event, identity);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const notice = desktopAssistantNotice(this.frame, event.ev === 'notice-presented' ? undefined : String(event.noticeId));
|
|
230
|
+
if (!notice || !identity || !this.frame?.visible || !this.owner || event.ownerId !== this.owner
|
|
231
|
+
|| event.generation !== identity.generation || event.sequence !== identity.sequence || event.noticeId !== notice.noticeId
|
|
232
|
+
|| event.noticeKind !== undefined && event.noticeKind !== notice.kind
|
|
233
|
+
|| event.connectionGeneration !== undefined && (!Number.isSafeInteger(event.connectionGeneration) || Number(event.connectionGeneration) < 0)
|
|
234
|
+
|| notice.connectionGeneration !== undefined && event.connectionGeneration !== notice.connectionGeneration
|
|
235
|
+
|| event.noticeGeneration !== notice.generation || (event.ev === 'notice-action' && !['open', 'dismiss'].includes(String(event.action))))
|
|
236
|
+
return;
|
|
237
|
+
const presentedKey = JSON.stringify([this.owner, notice.generation, notice.noticeId, notice.kind]);
|
|
238
|
+
if (event.ev === 'notice-presented' && (!this.visible || this.presentedNotice === presentedKey))
|
|
239
|
+
return;
|
|
240
|
+
if (this.noticeEvents.length >= 32) {
|
|
241
|
+
this.noticeError = '通知操作队列已满,请稍后重试';
|
|
242
|
+
this.agent?.send({ cmd: 'notice-result', accepted: false, message: this.noticeError });
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const item = { sequence: ++this.noticeSequence, ownerId: this.owner, generation: this.generation,
|
|
246
|
+
noticeId: notice.noticeId, noticeGeneration: notice.generation, noticeKind: notice.kind, type: event.ev,
|
|
247
|
+
...(event.connectionGeneration === undefined ? {} : { connectionGeneration: event.connectionGeneration }),
|
|
248
|
+
...(event.ev === 'notice-action' ? { action: event.action } : {}) };
|
|
249
|
+
if (item.type === 'notice-presented') {
|
|
250
|
+
try {
|
|
251
|
+
this.options.onNoticePresented?.(item);
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
// 中心换代或销毁期间没有确认成功时允许伴随页重试,不能伪报已经呈现。
|
|
255
|
+
this.noticeError = '通知呈现确认失败,请稍后重试';
|
|
256
|
+
this.agent?.send({ cmd: 'notice-result', accepted: false, message: this.noticeError });
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
this.presentedNotice = presentedKey;
|
|
260
|
+
}
|
|
261
|
+
this.noticeEvents.push(item);
|
|
262
|
+
this.noticeError = undefined;
|
|
263
|
+
if (item.type === 'notice-action') {
|
|
264
|
+
this.noticeFeedbackError = undefined;
|
|
265
|
+
this.refreshFrame();
|
|
266
|
+
}
|
|
267
|
+
// 先通过身份和容量校验,再允许平台恢复主窗口;dismiss/presented 都不改变焦点。
|
|
268
|
+
this.agent?.send({ cmd: 'notice-result', accepted: true });
|
|
269
|
+
if (event.ev === 'notice-action' && event.action === 'open')
|
|
270
|
+
this.agent?.send({ cmd: 'notice-open' });
|
|
271
|
+
}
|
|
272
|
+
/** 批量动作只校验窗口身份与点击帧代次;清理范围由主页面按 Host 快照重新确定。 */
|
|
273
|
+
clearAllNoticeEvent(event, identity) {
|
|
274
|
+
const snapshot = this.frame?.notificationSnapshot;
|
|
275
|
+
if (!identity || !snapshot || !this.frame?.visible || !this.owner || event.ownerId !== this.owner
|
|
276
|
+
|| event.generation !== identity.generation || event.sequence !== identity.sequence
|
|
277
|
+
|| event.noticeGeneration !== snapshot.generation)
|
|
278
|
+
return;
|
|
279
|
+
if (this.noticeEvents.length >= 32) {
|
|
280
|
+
this.noticeError = '通知操作队列已满,请稍后重试';
|
|
281
|
+
this.agent?.send({ cmd: 'notice-result', accepted: false, message: this.noticeError });
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const item = { sequence: ++this.noticeSequence, ownerId: this.owner, generation: this.generation,
|
|
285
|
+
noticeId: '', noticeGeneration: snapshot.generation, type: 'notice-action', action: 'dismiss-all' };
|
|
286
|
+
this.noticeEvents.push(item);
|
|
287
|
+
this.noticeError = undefined;
|
|
288
|
+
this.noticeFeedbackError = undefined;
|
|
289
|
+
this.refreshFrame();
|
|
290
|
+
// 与单条动作一致:先通过身份与容量校验,再允许伴随页消费这次点击。
|
|
291
|
+
this.agent?.send({ cmd: 'notice-result', accepted: true });
|
|
292
|
+
}
|
|
293
|
+
noticePage(event) {
|
|
294
|
+
const identity = this.frame?.identity;
|
|
295
|
+
const cursor = event.cursor === null ? undefined : event.cursor;
|
|
296
|
+
if (!identity || !this.frame?.visible || !this.owner || event.ownerId !== this.owner || event.generation !== identity.generation
|
|
297
|
+
|| event.sequence !== identity.sequence || !this.frame.notificationSnapshot || !this.options.onNoticePage
|
|
298
|
+
|| cursor !== undefined && (typeof cursor !== 'string' || cursor.length > 2048))
|
|
299
|
+
return;
|
|
300
|
+
const failed = () => {
|
|
301
|
+
this.noticeError = '通知列表暂不可用,请重试';
|
|
302
|
+
this.agent?.send({ cmd: 'notice-result', accepted: false, message: this.noticeError });
|
|
303
|
+
};
|
|
304
|
+
try {
|
|
305
|
+
this.options.onNoticePage(cursor);
|
|
306
|
+
void this.refresh().catch(failed);
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
failed();
|
|
310
|
+
}
|
|
311
|
+
}
|
|
129
312
|
failed(generation, message) {
|
|
130
313
|
if (generation !== this.generation)
|
|
131
314
|
return;
|
|
@@ -136,6 +319,13 @@ export class DesktopAssistantController {
|
|
|
136
319
|
this.generation++;
|
|
137
320
|
this.visible = false;
|
|
138
321
|
this.ready = false;
|
|
322
|
+
this.noticeEvents = [];
|
|
323
|
+
this.noticeError = undefined;
|
|
324
|
+
this.noticeFeedbackError = undefined;
|
|
325
|
+
this.layout = undefined;
|
|
326
|
+
this.presentedNotice = '';
|
|
327
|
+
this.noticeFrameKey = '';
|
|
328
|
+
this.notificationExpanded = false;
|
|
139
329
|
this.settle?.('悬浮窗口已关闭');
|
|
140
330
|
const agent = this.agent, page = this.page;
|
|
141
331
|
this.agent = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAGhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAGhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAK5D,mDAAmD;AACnD,wBAAgB,6BAA6B,IAAI,aAAa,CAAC,oBAAoB,CAAC,CA0DnF;AAED,qDAAqD;AACrD,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EACpG,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,KAAK,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC/H"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { isDesktopAssistantHost, readDesktopAssistantPresentation, DESKTOP_ASSISTANT_CHANNEL } from '../../shared/desktop-assistant.js';
|
|
1
|
+
import { isDesktopAssistantHost, readDesktopAssistantNoticeFeedback, readDesktopAssistantPresentation, DESKTOP_ASSISTANT_CHANNEL } from '../../shared/desktop-assistant.js';
|
|
2
2
|
import { normalizeAssistantAppearance, selectedAssistantAvatar, resolveAssistantAvatarAsset } from '../../shared/assistant-avatar.js';
|
|
3
3
|
import { getAssistantAvatarPackages } from '../avatar/registry.js';
|
|
4
4
|
import { createAssistantAvatarRouteHandler } from '../features/assistant-avatar-runtime.js';
|
|
5
5
|
import { DesktopAssistantController } from './controller.js';
|
|
6
6
|
import { openDesktopAssistantPage } from './server.js';
|
|
7
7
|
import { launchDesktopAssistant } from './launcher.js';
|
|
8
|
+
import { confirmDesktopAssistantNotification, desktopAssistantNotificationPresentation, getDesktopAssistantNotifications } from './notifications.js';
|
|
8
9
|
/** 原生窗口能力只在官方 Desktop Host 中启用,不依据客户端宣称的平台启动进程。 */
|
|
9
10
|
export function createDesktopAssistantFeature() {
|
|
10
11
|
return {
|
|
@@ -15,8 +16,18 @@ export function createDesktopAssistantFeature() {
|
|
|
15
16
|
if (!supported || !ctx)
|
|
16
17
|
return;
|
|
17
18
|
const assets = createAssistantAvatarRouteHandler(getAssistantAvatarPackages(context.services), true);
|
|
19
|
+
let notificationCursor;
|
|
18
20
|
const controller = new DesktopAssistantController({ supported, launch: launchDesktopAssistant,
|
|
19
21
|
openPage: (frame) => openDesktopAssistantPage({ frame, assets }),
|
|
22
|
+
onNoticePresented: (event) => confirmDesktopAssistantNotification(context.services, event),
|
|
23
|
+
onNoticePage: (cursor) => {
|
|
24
|
+
const source = getDesktopAssistantNotifications(context.services);
|
|
25
|
+
if (!source)
|
|
26
|
+
throw new Error('通知中心尚未连接');
|
|
27
|
+
// 先校验游标,再替换当前页;无效游标不能破坏后续原生刷新链。
|
|
28
|
+
source.read({ ...(cursor === undefined ? {} : { cursor }), limit: 20 });
|
|
29
|
+
notificationCursor = cursor;
|
|
30
|
+
},
|
|
20
31
|
readFrame: (presentation) => {
|
|
21
32
|
const settings = context.services.settings?.get();
|
|
22
33
|
if (!settings?.modules.globalVoiceAssistant || settings.assistant.profile?.initialized !== true)
|
|
@@ -28,7 +39,14 @@ export function createDesktopAssistantFeature() {
|
|
|
28
39
|
// 第三方自定义渲染器在主 Client 注册,无法假设它已存在于独立页面。
|
|
29
40
|
if (!['builtin', 'image', 'spritesheet', 'live2d'].includes(resolveAssistantAvatarAsset(model, 'floating').renderer))
|
|
30
41
|
return undefined;
|
|
31
|
-
|
|
42
|
+
if (settings.assistant.notifications?.enabled === false) {
|
|
43
|
+
const { notification, notificationSnapshot, reaction, ...base } = presentation;
|
|
44
|
+
return { ...base, model, size: appearance.floatingSize };
|
|
45
|
+
}
|
|
46
|
+
const next = desktopAssistantNotificationPresentation(context.services, presentation, { ...(notificationCursor === undefined ? {} : { cursor: notificationCursor }), limit: 20 });
|
|
47
|
+
if (next.notificationSnapshot?.reset)
|
|
48
|
+
notificationCursor = undefined;
|
|
49
|
+
return { ...next, model, size: appearance.floatingSize };
|
|
32
50
|
},
|
|
33
51
|
});
|
|
34
52
|
const webServer = ctx.get('webServer');
|
|
@@ -38,6 +56,21 @@ export function createDesktopAssistantFeature() {
|
|
|
38
56
|
const unwatch = context.services.settings?.watch(() => { void controller.refresh().catch(() => undefined); });
|
|
39
57
|
if (unwatch)
|
|
40
58
|
context.resources.add(unwatch);
|
|
59
|
+
// 独立 Host 时钟不会被隐藏主页面的浏览器计时限流;仅修订变化时更新窗口。
|
|
60
|
+
let notificationKey = '';
|
|
61
|
+
const notificationTimer = setInterval(() => {
|
|
62
|
+
try {
|
|
63
|
+
const source = getDesktopAssistantNotifications(context.services);
|
|
64
|
+
const snapshot = source?.read();
|
|
65
|
+
const key = snapshot === undefined ? '' : `${snapshot.generation}:${snapshot.revision}`;
|
|
66
|
+
if (key === notificationKey)
|
|
67
|
+
return;
|
|
68
|
+
notificationKey = key;
|
|
69
|
+
void controller.refresh().catch(() => undefined);
|
|
70
|
+
}
|
|
71
|
+
catch { /* 中心销毁/换代期间的迟到时钟不影响原生进程和 Host。 */ }
|
|
72
|
+
}, 250);
|
|
73
|
+
context.resources.add(() => clearInterval(notificationTimer));
|
|
41
74
|
context.resources.add(() => controller.dispose());
|
|
42
75
|
},
|
|
43
76
|
};
|
|
@@ -64,7 +97,7 @@ export async function handleDesktopAssistantRequest(request, response, rejection
|
|
|
64
97
|
for await (const chunk of request) {
|
|
65
98
|
const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
66
99
|
length += bytes.length;
|
|
67
|
-
if (length >
|
|
100
|
+
if (length > 320000)
|
|
68
101
|
throw new Error('悬浮请求过大');
|
|
69
102
|
chunks.push(bytes);
|
|
70
103
|
}
|
|
@@ -88,7 +121,11 @@ export async function handleDesktopAssistantRequest(request, response, rejection
|
|
|
88
121
|
else {
|
|
89
122
|
if (!Number.isSafeInteger(input.sequence) || Number(input.sequence) < 0)
|
|
90
123
|
throw new Error('悬浮更新序号无效');
|
|
91
|
-
|
|
124
|
+
const ack = input.noticeAck;
|
|
125
|
+
if (ack !== undefined && (!ack || !Number.isSafeInteger(ack.generation) || !Number.isSafeInteger(ack.sequence)
|
|
126
|
+
|| Number(ack.generation) < 0 || Number(ack.sequence) < 0))
|
|
127
|
+
throw new Error('通知确认序号无效');
|
|
128
|
+
value = await controller.update(input.ownerId, Number(input.sequence), readDesktopAssistantPresentation(input.presentation), ack === undefined ? undefined : { generation: Number(ack.generation), sequence: Number(ack.sequence) }, input.noticeFeedback === undefined ? undefined : readDesktopAssistantNoticeFeedback(input.noticeFeedback));
|
|
92
129
|
}
|
|
93
130
|
response.setHeader('Content-Type', 'application/json');
|
|
94
131
|
response.end(JSON.stringify({ type: 'server-response', rpcId, result: { ok: true, value } }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/feature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/feature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC3K,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAGrI,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAA;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,mCAAmC,EAAE,wCAAwC,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AAEpJ,mDAAmD;AACnD,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,UAAU,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QACrH,KAAK,CAAC,OAAO;YACX,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC9I,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAA;YACvC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG;gBAAE,OAAM;YAC9B,MAAM,MAAM,GAAG,iCAAiC,CAAC,0BAA0B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;YACpG,IAAI,kBAAsC,CAAA;YAC1C,MAAM,UAAU,GAAG,IAAI,0BAA0B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB;gBAC3F,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAChE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAmC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;gBAC1F,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;oBACvB,MAAM,MAAM,GAAG,gCAAgC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;oBACjE,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;oBACxC,gCAAgC;oBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;oBACvE,kBAAkB,GAAG,MAAM,CAAA;gBAC7B,CAAC;gBACD,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;oBAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;oBACjD,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI;wBAAE,OAAO,SAAS,CAAA;oBACjH,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;oBAC9E,IAAI,CAAC,UAAU,CAAC,eAAe;wBAAE,OAAO,SAAS,CAAA;oBACjD,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAA;oBACjD,uCAAuC;oBACvC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC;wBAAE,OAAO,SAAS,CAAA;oBACtI,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;wBACxD,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAA;wBAC9E,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,CAAA;oBAC1D,CAAC;oBACD,MAAM,IAAI,GAAG,wCAAwC,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;oBACjL,IAAI,IAAI,CAAC,oBAAoB,EAAE,KAAK;wBAAE,kBAAkB,GAAG,SAAS,CAAA;oBACpE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,CAAA;gBAC1D,CAAC;aACF,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAiK,CAAA;YACtM,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB;gBACxF,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,6BAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC;aACtI,CAAC,CAAC,CAAA;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YAC5G,IAAI,OAAO;gBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC3C,yCAAyC;YACzC,IAAI,eAAe,GAAG,EAAE,CAAA;YACxB,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,gCAAgC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;oBACjE,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC/B,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBACvF,IAAI,GAAG,KAAK,eAAe;wBAAE,OAAM;oBACnC,eAAe,GAAG,GAAG,CAAA;oBACrB,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBAClD,CAAC;gBAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;YAChD,CAAC,EAAE,GAAG,CAAC,CAAA;YACP,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAC7D,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC;KACF,CAAA;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,OAAwB,EAAE,QAAwB,EACpG,SAAsE,EAAE,UAAsC;IAC9G,0DAA0D;IAC1D,MAAM,SAAS,GAAG,gDAAgD,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACnG,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAA;IACrI,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;WACrF,CAAC,SAAS,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;WAC/D,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAAC,OAAM;IAAC,CAAC;IACxF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAAC,OAAM;IAAC,CAAC;IACjJ,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,CAAC;QACH,MAAM,MAAM,GAAa,EAAE,CAAC;QAAC,IAAI,MAAM,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACjE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YAAC,IAAI,MAAM,GAAG,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;YACtE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA4B,CAAA;QAC9F,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC9B,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,yBAAyB,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1K,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAkC,CAAA;QACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7H,IAAI,KAAK,CAAA;QACT,IAAI,MAAM,KAAK,QAAQ;YAAE,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;aAC5D,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAAC,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAAC,CAAC;aAC7G,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;YACpG,MAAM,GAAG,GAAG,KAAK,CAAC,SAAqE,CAAA;YACvF,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;mBACzG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;YACzF,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,gCAAgC,CAAC,KAAK,CAAC,YAAY,CAAC,EACzH,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EACtG,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;QAC9G,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;IACvJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK;YAClH,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC7J,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/launcher.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE5D,yCAAyC;AACzC,wBAAgB,yBAAyB,IAAI,MAAM,CAAuE;AAE1H,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/launcher.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE5D,yCAAyC;AACzC,wBAAgB,yBAAyB,IAAI,MAAM,CAAuE;AAE1H,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsDlJ"}
|
|
@@ -49,7 +49,9 @@ export async function launchDesktopAssistant(onEvent, onExit) {
|
|
|
49
49
|
try {
|
|
50
50
|
const event = JSON.parse(line);
|
|
51
51
|
if (event.ev === 'moved' && ['x', 'y', 'width', 'height'].every((key) => typeof event[key] === 'number' && Number.isFinite(event[key]))) {
|
|
52
|
-
const value = JSON.stringify({ x: event.x, y: event.y, width: event.width, height: event.height
|
|
52
|
+
const value = JSON.stringify({ x: event.x, y: event.y, width: event.width, height: event.height,
|
|
53
|
+
...(typeof event.avatarX === 'number' && Number.isFinite(event.avatarX) ? { avatarX: event.avatarX } : {}),
|
|
54
|
+
...(typeof event.avatarY === 'number' && Number.isFinite(event.avatarY) ? { avatarY: event.avatarY } : {}) });
|
|
53
55
|
// 只保存完成拖动的位置;串行原子替换,退出等待最后一笔。
|
|
54
56
|
saving = saving.then(async () => { await writeFile(join(temporary, 'position.json'), value); await rename(join(temporary, 'position.json'), join(directory, 'position.json')); }).catch(() => undefined);
|
|
55
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/launcher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mac-agent.d.ts","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/mac-agent.ts"],"names":[],"mappings":"AAEA,qDAAqD;AACrD,wBAAgB,0BAA0B,IAAI,MAAM,CAuBnD;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"mac-agent.d.ts","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/mac-agent.ts"],"names":[],"mappings":"AAEA,qDAAqD;AACrD,wBAAgB,0BAA0B,IAAI,MAAM,CAuBnD;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,IAAI,MAAM,CA4HhD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { clampDesktopAssistantBounds } from '../../shared/desktop-assistant.js';
|
|
1
|
+
import { clampDesktopAssistantBounds, desktopAssistantLayout } from '../../shared/desktop-assistant.js';
|
|
2
2
|
/** 交给 Desktop 的 open-url 入口恢复主窗口;单纯激活进程不会取消窗口最小化。 */
|
|
3
3
|
export function buildMacDesktopFocusScript() {
|
|
4
4
|
return String.raw `
|
|
5
5
|
var focusingDesktop=false
|
|
6
|
-
function focusDesktop(){
|
|
6
|
+
function focusDesktop(notice){
|
|
7
7
|
if(focusingDesktop)return
|
|
8
8
|
var desktop=$.NSRunningApplication.runningApplicationWithProcessIdentifier(parentPid)
|
|
9
9
|
if(parentPid<=0||desktop.isNil()||desktop.terminated||desktop.bundleURL.isNil())throw new Error('Desktop application is unavailable')
|
|
@@ -18,7 +18,7 @@ function focusDesktop(){
|
|
|
18
18
|
$([$.NSURL.URLWithString('dsh://open')]),desktop.bundleURL,configuration,safe(function(application,error){
|
|
19
19
|
focusingDesktop=false
|
|
20
20
|
if(!error.isNil()){emit({ev:'error',message:'Desktop restore: '+ObjC.unwrap(error.localizedDescription)});return}
|
|
21
|
-
emit({ev:'open'})
|
|
21
|
+
if(!notice)emit({ev:'open'})
|
|
22
22
|
}))
|
|
23
23
|
}catch(error){focusingDesktop=false;throw error}
|
|
24
24
|
}
|
|
@@ -40,7 +40,8 @@ win.setLevel(3);win.setCollectionBehavior(1|16|256);win.setHidesOnDeactivate(fal
|
|
|
40
40
|
var visible=false,drag=false,lastMouse=null,parentPid=0,origin='',positioned=false
|
|
41
41
|
${buildMacDesktopFocusScript()}
|
|
42
42
|
var clampBounds=${clampDesktopAssistantBounds.toString()}
|
|
43
|
-
|
|
43
|
+
var layoutBounds=${desktopAssistantLayout.toString()},layout=null,lastBounds=null
|
|
44
|
+
function moved(){var f=win.frame;emit({ev:'moved',x:f.origin.x,y:f.origin.y,width:f.size.width,height:f.size.height,avatarX:layout?layout.avatar.x:0,avatarY:layout?layout.avatar.y:0})}
|
|
44
45
|
function clamp(){
|
|
45
46
|
var f=win.frame,screens=$.NSScreen.screens,areas=[]
|
|
46
47
|
for(var i=0;i<screens.count;i++){var a=screens.objectAtIndex(i).visibleFrame;areas.push({x:a.origin.x,y:a.origin.y,width:a.size.width,height:a.size.height})}
|
|
@@ -48,13 +49,20 @@ function clamp(){
|
|
|
48
49
|
win.setFrameDisplay($.NSMakeRect(next.x,next.y,next.width,next.height),true)
|
|
49
50
|
}
|
|
50
51
|
function bounds(m){
|
|
51
|
-
|
|
52
|
+
lastBounds=m
|
|
53
|
+
var f=win.frame,size=Number(m.avatarSize)||Number(m.width)||144,screens=$.NSScreen.screens,areas=[]
|
|
54
|
+
for(var i=0;i<screens.count;i++){var a=screens.objectAtIndex(i).visibleFrame;areas.push({x:a.origin.x,y:-a.origin.y-a.size.height,width:a.size.width,height:a.size.height})}
|
|
52
55
|
var area=$.NSScreen.mainScreen.visibleFrame
|
|
53
|
-
var x=positioned?f.origin.x:area.origin.x+area.size.width-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
var x=positioned?f.origin.x+(layout?layout.avatar.x:0):area.origin.x+area.size.width-size-24
|
|
57
|
+
var y=positioned?-f.origin.y-f.size.height+(layout?layout.avatar.y:0):-area.origin.y-size*208/192-24
|
|
58
|
+
if(!positioned&&m.bounds&&Number.isFinite(m.bounds.x)&&Number.isFinite(m.bounds.y)){
|
|
59
|
+
x=m.bounds.x+(Number(m.bounds.avatarX)||0);y=-m.bounds.y-(Number(m.bounds.height)||size*208/192)+(Number(m.bounds.avatarY)||0)
|
|
60
|
+
}
|
|
61
|
+
layout=layoutBounds({x:x,y:y},size,Number.isFinite(m.notificationHeight)?m.notificationHeight:m.notification===true,m.caption===true,areas)
|
|
62
|
+
var b=layout.bounds;win.setFrameDisplay($.NSMakeRect(b.x,-b.y-b.height,b.width,b.height),true);positioned=true
|
|
63
|
+
emit({ev:'layout',layout:layout})
|
|
56
64
|
}
|
|
57
|
-
function endDrag(){if(!drag)return;drag=false;clamp();moved()}
|
|
65
|
+
function endDrag(){if(!drag)return;drag=false;if(lastBounds)bounds(lastBounds);else clamp();moved()}
|
|
58
66
|
var config=$.WKWebViewConfiguration.alloc.init,controller=$.WKUserContentController.alloc.init
|
|
59
67
|
// JXA 注册类不返回类对象;WebKit 协议元数据也并非所有系统都可见。
|
|
60
68
|
// 显式声明代理方法签名,注册后通过 $ 查找类,由 WebKit 按选择器调用。
|
|
@@ -66,6 +74,9 @@ ObjC.registerSubclass({name:'CodingNsAssistantBridge',methods:{'userContentContr
|
|
|
66
74
|
else if(msg.type==='drag-start'){drag=true;lastMouse=$.NSEvent.mouseLocation}
|
|
67
75
|
else if(msg.type==='drag-end')endDrag()
|
|
68
76
|
else if(msg.type==='open')focusDesktop()
|
|
77
|
+
else if(msg.type==='notice-presented'||msg.type==='notice-action')emit({ev:msg.type,ownerId:msg.ownerId,generation:msg.generation,sequence:msg.sequence,noticeId:msg.noticeId,noticeGeneration:msg.noticeGeneration,noticeKind:msg.noticeKind,connectionGeneration:msg.connectionGeneration,action:msg.action})
|
|
78
|
+
else if(msg.type==='notice-page')emit({ev:msg.type,ownerId:msg.ownerId,generation:msg.generation,sequence:msg.sequence,cursor:msg.cursor})
|
|
79
|
+
else if(msg.type==='notice-expansion')emit({ev:msg.type,ownerId:msg.ownerId,generation:msg.generation,sequence:msg.sequence,expanded:msg.expanded})
|
|
69
80
|
})}}})
|
|
70
81
|
var bridgeHandler=$.CodingNsAssistantBridge.alloc.init
|
|
71
82
|
controller.addScriptMessageHandlerName(bridgeHandler,$('assistant'));config.setUserContentController(controller)
|
|
@@ -88,14 +99,34 @@ ObjC.registerSubclass({name:'CodingNsAssistantNavigation',methods:{
|
|
|
88
99
|
'webViewWebContentProcessDidTerminate:':{types:['void',['id']],implementation:safe(function(w){emit({ev:'error',message:'webview process terminated'})})}
|
|
89
100
|
}})
|
|
90
101
|
var navigation=$.CodingNsAssistantNavigation.alloc.init;web.setNavigationDelegate(navigation)
|
|
102
|
+
var lastAppActive=null
|
|
103
|
+
function checkAppActive(){
|
|
104
|
+
if(parentPid<=0)return
|
|
105
|
+
try{
|
|
106
|
+
var front=$.NSWorkspace.sharedWorkspace.frontmostApplication,active=!front.isNil()&&front.processIdentifier===parentPid
|
|
107
|
+
if(active!==lastAppActive){lastAppActive=active;emit({ev:'app-state',active:active})}
|
|
108
|
+
}catch(e){}
|
|
109
|
+
}
|
|
110
|
+
$.NSTimer.scheduledTimerWithTimeIntervalRepeatsBlock(1.5,true,safe(checkAppActive))
|
|
91
111
|
$.NSTimer.scheduledTimerWithTimeIntervalRepeatsBlock(1/60,true,safe(function(){
|
|
112
|
+
// 透明留白透传到其他应用,通知收起后仅保留形象与独立字幕的点击区。
|
|
113
|
+
if(visible&&layout&&!drag){var p=$.NSEvent.mouseLocation,f=win.frame,x=p.x-f.origin.x,y=f.origin.y+f.size.height-p.y
|
|
114
|
+
var regions=[layout.avatar,layout.notification,layout.caption],inside=regions.some(function(r){return r&&x>=r.x&&x<r.x+r.width&&y>=r.y&&y<r.y+r.height})
|
|
115
|
+
win.setIgnoresMouseEvents(!inside)
|
|
116
|
+
}
|
|
92
117
|
if(!drag)return;if(($.NSEvent.pressedMouseButtons&1)===0||!visible){endDrag();return}
|
|
93
118
|
var p=$.NSEvent.mouseLocation,f=win.frame;win.setFrameOrigin($.NSMakePoint(f.origin.x+p.x-lastMouse.x,f.origin.y+p.y-lastMouse.y));lastMouse=p
|
|
94
119
|
}))
|
|
95
|
-
$.NSNotificationCenter.defaultCenter.addObserverForNameObjectQueueUsingBlock($.NSApplicationDidChangeScreenParametersNotification,$(),$.NSOperationQueue.mainQueue,safe(function(){clamp();moved()}))
|
|
120
|
+
$.NSNotificationCenter.defaultCenter.addObserverForNameObjectQueueUsingBlock($.NSApplicationDidChangeScreenParametersNotification,$(),$.NSOperationQueue.mainQueue,safe(function(){if(lastBounds)bounds(lastBounds);else clamp();moved()}))
|
|
96
121
|
function handle(m){
|
|
97
122
|
if(m.cmd==='quit'){app.terminate($());return}
|
|
98
123
|
if(m.cmd==='hide'){endDrag();win.orderOut($());visible=false;return}
|
|
124
|
+
if(m.cmd==='notice-open'){focusDesktop(true);return}
|
|
125
|
+
if(m.cmd==='notice-result'){
|
|
126
|
+
var detail=JSON.stringify({accepted:m.accepted===true,message:m.message||''})
|
|
127
|
+
// WKWebView 会异步调用完成回调;传 nil 会在回调阶段把异常抛回 JXA,直接终止原生进程。
|
|
128
|
+
web.evaluateJavaScriptCompletionHandler($("window.dispatchEvent(new CustomEvent('codingns-notice-result',{detail:"+detail+"}))"),safe(function(result,error){}));return
|
|
129
|
+
}
|
|
99
130
|
if(m.cmd==='load'){
|
|
100
131
|
parentPid=Number(m.parentPid)||0;bounds(m)
|
|
101
132
|
var url=$.NSURL.URLWithString($(String(m.url)));origin=String(m.url).split('/').slice(0,3).join('/')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mac-agent.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/mac-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"mac-agent.js","sourceRoot":"","sources":["../../../../../src/host/desktop-assistant/mac-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAEvG,qDAAqD;AACrD,MAAM,UAAU,0BAA0B;IACxC,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;CAqBlB,CAAC,IAAI,EAAE,CAAA;AACR,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;EAYjB,0BAA0B,EAAE;kBACZ,2BAA2B,CAAC,QAAQ,EAAE;mBACrC,sBAAsB,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GnD,CAAC,IAAI,EAAE,CAAA;AACR,CAAC"}
|