@jingyi0605/codingns4dsh 0.2.0-rc3 → 0.2.1-beta.1
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 +6 -6
- package/README.md +42 -29
- package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
- package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -1
- package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +2 -2
- package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -1
- package/data/build/dist/bootstrap/index.d.ts +1 -1
- package/data/build/dist/bootstrap/index.d.ts.map +1 -1
- package/data/build/dist/client/bundle.js +3164 -181
- 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 +3 -3
- package/data/build/dist/client/cli-catalog.js.map +1 -1
- package/data/build/dist/client/cli-slots.d.ts +4 -0
- package/data/build/dist/client/cli-slots.d.ts.map +1 -1
- package/data/build/dist/client/cli-slots.js +70 -9
- package/data/build/dist/client/cli-slots.js.map +1 -1
- package/data/build/dist/client/context-breakdown-dom.d.ts +1 -1
- package/data/build/dist/client/context-breakdown-dom.d.ts.map +1 -1
- package/data/build/dist/client/context-breakdown-dom.js +1 -1
- package/data/build/dist/client/context-breakdown-dom.js.map +1 -1
- package/data/build/dist/client/features/assistant-panel.d.ts +5 -0
- package/data/build/dist/client/features/assistant-panel.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-panel.js +127 -0
- package/data/build/dist/client/features/assistant-panel.js.map +1 -0
- package/data/build/dist/client/features/global-voice-assistant.d.ts +10 -0
- package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -0
- package/data/build/dist/client/features/global-voice-assistant.js +330 -0
- package/data/build/dist/client/features/global-voice-assistant.js.map +1 -0
- package/data/build/dist/client/features/index.d.ts +2 -0
- package/data/build/dist/client/features/index.d.ts.map +1 -1
- package/data/build/dist/client/features/index.js +4 -0
- package/data/build/dist/client/features/index.js.map +1 -1
- package/data/build/dist/client/features/lan-access.d.ts.map +1 -1
- package/data/build/dist/client/features/lan-access.js +3 -1
- package/data/build/dist/client/features/lan-access.js.map +1 -1
- package/data/build/dist/client/features/types.d.ts +4 -1
- package/data/build/dist/client/features/types.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-conversation-dialog.d.ts +20 -0
- package/data/build/dist/client/features/voice-conversation-dialog.d.ts.map +1 -0
- package/data/build/dist/client/features/voice-conversation-dialog.js +59 -0
- package/data/build/dist/client/features/voice-conversation-dialog.js.map +1 -0
- package/data/build/dist/client/features/voice-initialization-dialog.d.ts +10 -0
- package/data/build/dist/client/features/voice-initialization-dialog.d.ts.map +1 -0
- package/data/build/dist/client/features/voice-initialization-dialog.js +90 -0
- package/data/build/dist/client/features/voice-initialization-dialog.js.map +1 -0
- 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 +57 -2
- package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement.js +27 -0
- package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
- package/data/build/dist/client/global-voice-runtime-registry.d.ts +27 -0
- package/data/build/dist/client/global-voice-runtime-registry.d.ts.map +1 -0
- package/data/build/dist/client/global-voice-runtime-registry.js +12 -0
- package/data/build/dist/client/global-voice-runtime-registry.js.map +1 -0
- 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/locale.d.ts.map +1 -1
- package/data/build/dist/client/locale.js +185 -1
- package/data/build/dist/client/locale.js.map +1 -1
- package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
- package/data/build/dist/client/locales/terminalAuth.js +2 -0
- package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
- package/data/build/dist/client/locales/usage.d.ts.map +1 -1
- package/data/build/dist/client/locales/usage.js +4 -0
- package/data/build/dist/client/locales/usage.js.map +1 -1
- package/data/build/dist/client/mobile-session-interaction.d.ts +9 -0
- package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
- package/data/build/dist/client/mobile-session-interaction.js +63 -0
- package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
- package/data/build/dist/client/model-catalog-cache.d.ts +23 -0
- package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
- package/data/build/dist/client/model-catalog-cache.js +81 -9
- package/data/build/dist/client/model-catalog-cache.js.map +1 -1
- package/data/build/dist/client/service-tier.d.ts +11 -0
- package/data/build/dist/client/service-tier.d.ts.map +1 -1
- package/data/build/dist/client/service-tier.js +15 -0
- package/data/build/dist/client/service-tier.js.map +1 -1
- package/data/build/dist/client/sherpa-voice-adapter.d.ts +46 -0
- package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -0
- package/data/build/dist/client/sherpa-voice-adapter.js +252 -0
- package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -0
- package/data/build/dist/client/skill-command.d.ts +10 -0
- package/data/build/dist/client/skill-command.d.ts.map +1 -0
- package/data/build/dist/client/skill-command.js +258 -0
- package/data/build/dist/client/skill-command.js.map +1 -0
- package/data/build/dist/client/skill-reference-dom.d.ts +38 -0
- package/data/build/dist/client/skill-reference-dom.d.ts.map +1 -0
- package/data/build/dist/client/skill-reference-dom.js +187 -0
- package/data/build/dist/client/skill-reference-dom.js.map +1 -0
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +51 -3
- package/data/build/dist/client/subscription-slot.js.map +1 -1
- package/data/build/dist/client/terminal/model.d.ts +40 -2
- package/data/build/dist/client/terminal/model.d.ts.map +1 -1
- package/data/build/dist/client/terminal/model.js +151 -24
- package/data/build/dist/client/terminal/model.js.map +1 -1
- package/data/build/dist/client/terminal/styles.d.ts +8 -0
- package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
- package/data/build/dist/client/terminal/styles.js +23 -2
- package/data/build/dist/client/terminal/styles.js.map +1 -1
- package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
- package/data/build/dist/client/terminal/ui.js +161 -26
- package/data/build/dist/client/terminal/ui.js.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.js +218 -42
- package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
- package/data/build/dist/client/voice-capture.d.ts +32 -0
- package/data/build/dist/client/voice-capture.d.ts.map +1 -0
- package/data/build/dist/client/voice-capture.js +158 -0
- package/data/build/dist/client/voice-capture.js.map +1 -0
- package/data/build/dist/client/voice-device-manager.d.ts +24 -0
- package/data/build/dist/client/voice-device-manager.d.ts.map +1 -0
- package/data/build/dist/client/voice-device-manager.js +197 -0
- package/data/build/dist/client/voice-device-manager.js.map +1 -0
- package/data/build/dist/client/voice-output.d.ts +14 -0
- package/data/build/dist/client/voice-output.d.ts.map +1 -0
- package/data/build/dist/client/voice-output.js +32 -0
- package/data/build/dist/client/voice-output.js.map +1 -0
- package/data/build/dist/client/voice-security.d.ts +8 -0
- package/data/build/dist/client/voice-security.d.ts.map +1 -0
- package/data/build/dist/client/voice-security.js +26 -0
- package/data/build/dist/client/voice-security.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +12 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +32 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +15 -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 +39 -9
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +39 -2
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.js +198 -10
- package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts +121 -0
- package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/antigravity-subscription.js +504 -0
- package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -0
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts +21 -0
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +173 -7
- 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 +4 -0
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts +28 -2
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +234 -5
- package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
- package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +9 -0
- package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.js +72 -2
- package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/driver.d.ts +21 -1
- package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -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 +15 -3
- package/data/build/dist/host/cli-adapters/dsh-message-projector.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 +18 -1
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.js +4 -0
- package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js +4 -0
- package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.js +6 -6
- package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.js +2 -0
- package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts +49 -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 +126 -0
- package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +11 -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 +92 -8
- package/data/build/dist/host/cli-adapters/opencode-driver.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 +4 -0
- package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -3
- package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +4 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.js +8 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +15 -0
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.js +171 -3
- package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-subscription.js +3 -1
- package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/reasoning-content.d.ts +11 -0
- package/data/build/dist/host/cli-adapters/reasoning-content.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/reasoning-content.js +79 -0
- package/data/build/dist/host/cli-adapters/reasoning-content.js.map +1 -0
- package/data/build/dist/host/cli-adapters/registry.d.ts +24 -1
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +109 -4
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +3 -2
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +8 -2
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +3 -2
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js +14 -2
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.d.ts +10 -1
- package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.js +28 -8
- package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
- package/data/build/dist/host/features/assistant-dispatch.d.ts +45 -0
- package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-dispatch.js +49 -0
- package/data/build/dist/host/features/assistant-dispatch.js.map +1 -0
- package/data/build/dist/host/features/assistant-intent.d.ts +46 -0
- package/data/build/dist/host/features/assistant-intent.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-intent.js +149 -0
- package/data/build/dist/host/features/assistant-intent.js.map +1 -0
- package/data/build/dist/host/features/assistant-scope-settings.d.ts +25 -0
- package/data/build/dist/host/features/assistant-scope-settings.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-scope-settings.js +33 -0
- package/data/build/dist/host/features/assistant-scope-settings.js.map +1 -0
- package/data/build/dist/host/features/assistant-scope.d.ts +79 -0
- package/data/build/dist/host/features/assistant-scope.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-scope.js +107 -0
- package/data/build/dist/host/features/assistant-scope.js.map +1 -0
- package/data/build/dist/host/features/assistant-session-index.d.ts +44 -0
- package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-session-index.js +109 -0
- package/data/build/dist/host/features/assistant-session-index.js.map +1 -0
- package/data/build/dist/host/features/assistant-summary.d.ts +28 -0
- package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-summary.js +166 -0
- package/data/build/dist/host/features/assistant-summary.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
- package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-stream.js +106 -0
- package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-turn.d.ts +27 -0
- package/data/build/dist/host/features/assistant-voice-turn.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-turn.js +54 -0
- package/data/build/dist/host/features/assistant-voice-turn.js.map +1 -0
- package/data/build/dist/host/features/assistant-waiting-state.d.ts +14 -0
- package/data/build/dist/host/features/assistant-waiting-state.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-waiting-state.js +17 -0
- package/data/build/dist/host/features/assistant-waiting-state.js.map +1 -0
- package/data/build/dist/host/features/global-voice-coordinator.d.ts +55 -0
- package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -0
- package/data/build/dist/host/features/global-voice-coordinator.js +221 -0
- package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -0
- package/data/build/dist/host/features/global-voice-rpc.d.ts +25 -0
- package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -0
- package/data/build/dist/host/features/global-voice-rpc.js +862 -0
- package/data/build/dist/host/features/global-voice-rpc.js.map +1 -0
- package/data/build/dist/host/features/index.d.ts +10 -0
- package/data/build/dist/host/features/index.d.ts.map +1 -1
- package/data/build/dist/host/features/index.js +10 -0
- package/data/build/dist/host/features/index.js.map +1 -1
- package/data/build/dist/host/features/peer-host.d.ts +5 -0
- package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/host/features/peer-host.js +232 -2
- package/data/build/dist/host/features/peer-host.js.map +1 -1
- package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +42 -0
- package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -0
- package/data/build/dist/host/features/sherpa-voice-runtime.js +193 -0
- package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -0
- package/data/build/dist/host/features/types.d.ts +26 -0
- package/data/build/dist/host/features/types.d.ts.map +1 -1
- package/data/build/dist/host/features/voice-agent-actions.d.ts +26 -0
- package/data/build/dist/host/features/voice-agent-actions.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-agent-actions.js +128 -0
- package/data/build/dist/host/features/voice-agent-actions.js.map +1 -0
- package/data/build/dist/host/features/voice-agent-service.d.ts +117 -0
- package/data/build/dist/host/features/voice-agent-service.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-agent-service.js +243 -0
- package/data/build/dist/host/features/voice-agent-service.js.map +1 -0
- package/data/build/dist/host/features/voice-model-setup.d.ts +20 -0
- package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-model-setup.js +89 -0
- package/data/build/dist/host/features/voice-model-setup.js.map +1 -0
- package/data/build/dist/host/index.d.ts +2 -2
- package/data/build/dist/host/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +7 -1
- package/data/build/dist/host/index.js.map +1 -1
- package/data/build/dist/host/lan-access-dsh.js.map +1 -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 +53 -2
- 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-remote-summary-source.js +15 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
- 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 +1 -0
- 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 +9 -4
- 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 +19 -1
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/host/terminal/backends/conpty-backend.js.map +1 -1
- package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
- package/data/build/dist/host/terminal/terminal-controller.js +4 -0
- package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
- package/data/build/dist/host/terminal/terminal-service.d.ts +21 -1
- package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
- package/data/build/dist/host/terminal/terminal-service.js +118 -7
- package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
- package/data/build/dist/index.d.ts +2 -2
- package/data/build/dist/index.d.ts.map +1 -1
- package/data/build/dist/index.js +1 -1
- package/data/build/dist/index.js.map +1 -1
- package/data/build/dist/shared/contracts/assistant.d.ts +70 -0
- package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/assistant.js +2 -0
- package/data/build/dist/shared/contracts/assistant.js.map +1 -0
- package/data/build/dist/shared/contracts/cli-adapter.d.ts +33 -1
- package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.d.ts +30 -0
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +20 -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/errors.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/subscription.d.ts +30 -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/terminal.d.ts +2 -0
- package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.d.ts +12 -5
- package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.js +11 -4
- package/data/build/dist/shared/contracts/version.js.map +1 -1
- package/data/build/dist/shared/contracts/voice-runtime.d.ts +90 -0
- package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/voice-runtime.js +16 -0
- package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -0
- package/data/build/dist/shared/index.d.ts +8 -2
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js +5 -1
- package/data/build/dist/shared/index.js.map +1 -1
- package/data/build/dist/shared/voice-models.d.ts +21 -0
- package/data/build/dist/shared/voice-models.d.ts.map +1 -0
- package/data/build/dist/shared/voice-models.js +27 -0
- package/data/build/dist/shared/voice-models.js.map +1 -0
- package/data/build/dist/shared/voice-stream.d.ts +42 -0
- package/data/build/dist/shared/voice-stream.d.ts.map +1 -0
- package/data/build/dist/shared/voice-stream.js +99 -0
- package/data/build/dist/shared/voice-stream.js.map +1 -0
- package/data/build/dist/shared/voice-text.d.ts +3 -0
- package/data/build/dist/shared/voice-text.d.ts.map +1 -0
- package/data/build/dist/shared/voice-text.js +14 -0
- package/data/build/dist/shared/voice-text.js.map +1 -0
- package/data/build/dist/typert.host.d.ts.map +1 -1
- package/data/build/dist/typert.host.js +1 -0
- package/data/build/dist/typert.host.js.map +1 -1
- package/package.json +56 -26
- package/profile/README.md +8 -5
- package/profile/package.json +5 -3
- package/profile/version.json +3 -3
- package/version.json +3 -3
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { callCliRpc } from './cli-catalog.js';
|
|
2
|
+
import { cliSessionSelectionRevision, waitForCliSessionSelection } from './cli-slots.js';
|
|
3
|
+
import { debugInfo, debugWarn } from '../shared/debug.js';
|
|
4
|
+
import { publishSkillCatalog } from './skill-reference-dom.js';
|
|
5
|
+
const SKILL_COMMAND_NAME = 'skills';
|
|
6
|
+
const SKILL_INPUT_SOURCE = 'codingns-skills';
|
|
7
|
+
const SKILL_CATALOG_CACHE_TTL_MS = 30_000;
|
|
8
|
+
const skillCatalogCache = new Map();
|
|
9
|
+
/** 把 Codex 原生 Skill 目录接入 DSH `/` 菜单。 */
|
|
10
|
+
export function registerSkillCommand(ctx, options) {
|
|
11
|
+
const state = { catalogReady: false, disposeFallback: undefined };
|
|
12
|
+
const markCatalogReady = (catalog) => {
|
|
13
|
+
if (!catalog.some((skill) => skill.enabled) || state.catalogReady)
|
|
14
|
+
return;
|
|
15
|
+
state.catalogReady = true;
|
|
16
|
+
state.disposeFallback?.();
|
|
17
|
+
state.disposeFallback = undefined;
|
|
18
|
+
};
|
|
19
|
+
// 原生 inputTriggers 是首选入口;旧版/裁剪版 DSH 没有该服务时,保留可用的
|
|
20
|
+
// commandUi 入口,避免 Skill 能力完全消失。两个服务的装配顺序不固定,原生
|
|
21
|
+
// source 只有在目录成功返回后才主动撤销这个兜底入口。
|
|
22
|
+
const commandFiber = ctx.inject(['commandUi'], (scope) => {
|
|
23
|
+
if (state.catalogReady)
|
|
24
|
+
return;
|
|
25
|
+
const dispose = registerSkillCommandFallback(scope, options, markCatalogReady);
|
|
26
|
+
state.disposeFallback = dispose;
|
|
27
|
+
});
|
|
28
|
+
const triggerFiber = ctx.inject(['inputTriggers'], (scope) => {
|
|
29
|
+
registerSkillInputTriggerSource(scope, options, markCatalogReady);
|
|
30
|
+
});
|
|
31
|
+
return () => {
|
|
32
|
+
state.disposeFallback?.();
|
|
33
|
+
void commandFiber.dispose();
|
|
34
|
+
void triggerFiber.dispose();
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** 在没有原生 inputTriggers 时保留旧版 DSH 的可用 Skill 菜单。 */
|
|
38
|
+
function registerSkillCommandFallback(ctx, options, onCatalogReady) {
|
|
39
|
+
const commandUi = readCommandUi(ctx);
|
|
40
|
+
if (commandUi === undefined) {
|
|
41
|
+
debugWarn('codingns4dsh: /skills 未注册,当前 DSH 未提供 commandUi 服务');
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
const t = options.locale.bind('codingns');
|
|
45
|
+
try {
|
|
46
|
+
return ctx.effect(() => commandUi.register({
|
|
47
|
+
name: SKILL_COMMAND_NAME,
|
|
48
|
+
label: () => t('skills.label'),
|
|
49
|
+
description: () => t('skills.description'),
|
|
50
|
+
available: () => true,
|
|
51
|
+
ui: {
|
|
52
|
+
kind: 'popupSelect',
|
|
53
|
+
searchMode: 'fuzzy-label',
|
|
54
|
+
searchLabels: () => ({
|
|
55
|
+
placeholder: t('skills.searchPlaceholder'),
|
|
56
|
+
empty: t('skills.searchEmpty'),
|
|
57
|
+
noResults: t('skills.searchNoResults'),
|
|
58
|
+
}),
|
|
59
|
+
async options(session, signal) {
|
|
60
|
+
await waitForCliSessionSelection(session.sessionId);
|
|
61
|
+
const catalog = await loadSkillCatalog(options.rpc, session.sessionId, signal, true);
|
|
62
|
+
onCatalogReady(catalog);
|
|
63
|
+
return catalog
|
|
64
|
+
.filter((skill) => skill.enabled)
|
|
65
|
+
.map((skill) => ({
|
|
66
|
+
id: skill.name,
|
|
67
|
+
label: skill.displayName ?? skill.name,
|
|
68
|
+
...(skill.description.trim() === '' ? {} : { detail: skill.description }),
|
|
69
|
+
}));
|
|
70
|
+
},
|
|
71
|
+
onSelect(option, session) {
|
|
72
|
+
const input = readSessionInput(ctx, session.sessionId);
|
|
73
|
+
if (input === undefined || (input.setDraft === undefined && input.insertReference === undefined)) {
|
|
74
|
+
input?.notify('error', t('skills.draftUnsupported'));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const snapshot = input.state.getSnapshot();
|
|
78
|
+
const draft = snapshot.draft ?? '';
|
|
79
|
+
const selection = input.caretSpan?.();
|
|
80
|
+
const span = skillCommandSpan(draft, snapshot.draftRev ?? selection?.draftRev ?? 0, selection);
|
|
81
|
+
const token = `/${option.id} `;
|
|
82
|
+
const reference = {
|
|
83
|
+
source: SKILL_INPUT_SOURCE,
|
|
84
|
+
ref: option.id,
|
|
85
|
+
label: option.label,
|
|
86
|
+
appearance: 'session',
|
|
87
|
+
clipboardText: `/${option.id}`,
|
|
88
|
+
};
|
|
89
|
+
if (span !== undefined && input.insertReference?.(reference, span) === true)
|
|
90
|
+
return;
|
|
91
|
+
if (input.setDraft === undefined) {
|
|
92
|
+
input.notify('error', t('skills.draftUnsupported'));
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (span !== undefined) {
|
|
96
|
+
input.setDraft(`${draft.slice(0, span.start)}${token}${draft.slice(span.end)}`);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const caret = selection?.end ?? draft.length;
|
|
100
|
+
input.setDraft(`${draft.slice(0, caret)}${token}${draft.slice(caret)}`);
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
}), 'codingns4dsh: skills command');
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
debugWarn('codingns4dsh: /skills 命令注册失败', { error: error instanceof Error ? error.message : String(error) });
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** 注册直接的 `/` Skill 搜索源。 */
|
|
111
|
+
function registerSkillInputTriggerSource(ctx, options, onCatalogReady) {
|
|
112
|
+
const inputTriggers = readService(ctx, 'inputTriggers');
|
|
113
|
+
if (inputTriggers === undefined || typeof inputTriggers.registerSource !== 'function') {
|
|
114
|
+
debugWarn('codingns4dsh: Skill `/` 搜索源未注册,当前 DSH 未提供 inputTriggers 服务');
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
const source = {
|
|
118
|
+
trigger: '/',
|
|
119
|
+
name: SKILL_INPUT_SOURCE,
|
|
120
|
+
order: 2,
|
|
121
|
+
// Skill 行直接进入同一个 `/` 菜单,不再增加“技能”二级标题。
|
|
122
|
+
showGroupTitle: false,
|
|
123
|
+
async candidates(session, request) {
|
|
124
|
+
try {
|
|
125
|
+
await waitForCliSessionSelection(session.sessionId);
|
|
126
|
+
const query = request.query.trim().toLocaleLowerCase();
|
|
127
|
+
// 空查询表示用户刚打开 `/` 菜单,每次重新读取一次目录;继续输入时
|
|
128
|
+
// 只在当前选择版本的短期缓存上过滤,避免每个字符都拉起 app-server RPC。
|
|
129
|
+
const catalog = await loadSkillCatalog(options.rpc, session.sessionId, request.signal, query === '');
|
|
130
|
+
onCatalogReady(catalog);
|
|
131
|
+
return catalog
|
|
132
|
+
.filter((skill) => skill.enabled)
|
|
133
|
+
.filter((skill) => query === '' || [skill.name, skill.displayName, skill.description]
|
|
134
|
+
.some((value) => value?.toLocaleLowerCase().includes(query) === true))
|
|
135
|
+
.map((skill) => ({
|
|
136
|
+
name: skill.name,
|
|
137
|
+
label: skill.displayName ?? skill.name,
|
|
138
|
+
value: skill.name,
|
|
139
|
+
...(skill.description.trim() === '' ? {} : { description: skill.description }),
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
debugWarn('codingns4dsh: 读取 Skill `/` 搜索目录失败', { error: error instanceof Error ? error.message : String(error) });
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
warm(session) {
|
|
148
|
+
const controller = new AbortController();
|
|
149
|
+
void waitForCliSessionSelection(session.sessionId)
|
|
150
|
+
.then(() => loadSkillCatalog(options.rpc, session.sessionId, controller.signal, true))
|
|
151
|
+
.then((catalog) => { onCatalogReady(catalog); })
|
|
152
|
+
.catch((error) => {
|
|
153
|
+
debugWarn('codingns4dsh: 预热 Skill `/` 搜索目录失败', { error: error instanceof Error ? error.message : String(error) });
|
|
154
|
+
});
|
|
155
|
+
},
|
|
156
|
+
lexicon(session) {
|
|
157
|
+
const catalog = skillCatalogCache.get(session.sessionId)?.catalog;
|
|
158
|
+
return catalog?.filter((skill) => skill.enabled).map((skill) => skill.name);
|
|
159
|
+
},
|
|
160
|
+
onPick(pick) {
|
|
161
|
+
const name = pick.candidate.value?.trim() || pick.candidate.name.trim();
|
|
162
|
+
if (name === '')
|
|
163
|
+
return { text: '' };
|
|
164
|
+
return {
|
|
165
|
+
insert: {
|
|
166
|
+
source: SKILL_INPUT_SOURCE,
|
|
167
|
+
ref: name,
|
|
168
|
+
label: pick.candidate.label?.trim() || name,
|
|
169
|
+
appearance: 'session',
|
|
170
|
+
clipboardText: `/${name}`,
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
},
|
|
174
|
+
codec: {
|
|
175
|
+
clipboardText(ref) {
|
|
176
|
+
return `/${ref}`;
|
|
177
|
+
},
|
|
178
|
+
async serialize(ref) {
|
|
179
|
+
return `/${ref}`;
|
|
180
|
+
},
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
try {
|
|
184
|
+
ctx.effect(() => inputTriggers.registerSource(source), 'codingns4dsh: skill slash source');
|
|
185
|
+
debugInfo('codingns4dsh: Skill `/` 搜索源已注册');
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
debugWarn('codingns4dsh: Skill `/` 搜索源注册失败', { error: error instanceof Error ? error.message : String(error) });
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/** 按会话与 Agent 选择版本缓存目录,避免输入每个字符都请求 Codex。 */
|
|
194
|
+
async function loadSkillCatalog(rpc, sessionId, signal, forceReload) {
|
|
195
|
+
const selectionRevision = cliSessionSelectionRevision(sessionId);
|
|
196
|
+
const cached = skillCatalogCache.get(sessionId);
|
|
197
|
+
if (!forceReload && cached !== undefined
|
|
198
|
+
&& cached.selectionRevision === selectionRevision
|
|
199
|
+
&& Date.now() - cached.loadedAt < SKILL_CATALOG_CACHE_TTL_MS) {
|
|
200
|
+
return cached.catalog;
|
|
201
|
+
}
|
|
202
|
+
const catalog = await callCliRpc(rpc, 'skills', {
|
|
203
|
+
sessionId,
|
|
204
|
+
forceReload: true,
|
|
205
|
+
}, signal);
|
|
206
|
+
skillCatalogCache.set(sessionId, { selectionRevision, loadedAt: Date.now(), catalog });
|
|
207
|
+
publishSkillCatalog(sessionId, catalog);
|
|
208
|
+
return catalog;
|
|
209
|
+
}
|
|
210
|
+
function skillCommandSpan(draft, draftRev, selection) {
|
|
211
|
+
const caret = selection?.end ?? draft.length;
|
|
212
|
+
const token = /\/(?:skills|技能)(?=\s|$)/gu;
|
|
213
|
+
let match;
|
|
214
|
+
while ((match = token.exec(draft)) !== null) {
|
|
215
|
+
const start = match.index;
|
|
216
|
+
const end = start + match[0].length;
|
|
217
|
+
const before = draft[start - 1];
|
|
218
|
+
if (start > 0 && before !== undefined && !/\s/u.test(before))
|
|
219
|
+
continue;
|
|
220
|
+
if (caret >= start && caret <= end + 1)
|
|
221
|
+
return { start, end, draftRev };
|
|
222
|
+
if (caret > end && draft.slice(end, caret).trim() === '')
|
|
223
|
+
return { start, end, draftRev };
|
|
224
|
+
}
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
function readSessionInput(ctx, sessionId) {
|
|
228
|
+
try {
|
|
229
|
+
const actx = readSessions(ctx)?.scope(sessionId);
|
|
230
|
+
if (actx === undefined)
|
|
231
|
+
return undefined;
|
|
232
|
+
return readConversation(ctx)?.input.for(actx);
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function readCommandUi(ctx) {
|
|
239
|
+
const service = readService(ctx, 'commandUi');
|
|
240
|
+
return service !== undefined && typeof service.register === 'function' ? service : undefined;
|
|
241
|
+
}
|
|
242
|
+
function readSessions(ctx) {
|
|
243
|
+
const service = readService(ctx, 'sessions');
|
|
244
|
+
return service !== undefined && typeof service.scope === 'function' ? service : undefined;
|
|
245
|
+
}
|
|
246
|
+
function readConversation(ctx) {
|
|
247
|
+
const service = readService(ctx, 'conversation');
|
|
248
|
+
return service !== undefined && typeof service.input?.for === 'function' ? service : undefined;
|
|
249
|
+
}
|
|
250
|
+
function readService(ctx, name) {
|
|
251
|
+
try {
|
|
252
|
+
return ctx.get(name);
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
return undefined;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=skill-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-command.js","sourceRoot":"","sources":["../../../../src/client/skill-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AACxF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,kBAAkB,GAAG,QAAQ,CAAA;AACnC,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAC5C,MAAM,0BAA0B,GAAG,MAAM,CAAA;AAkGzC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6B,CAAA;AAY9D,wCAAwC;AACxC,MAAM,UAAU,oBAAoB,CAAC,GAAY,EAAE,OAAoC;IACrF,MAAM,KAAK,GAA2B,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,CAAA;IACzF,MAAM,gBAAgB,GAAG,CAAC,OAA8C,EAAQ,EAAE;QAChF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,YAAY;YAAE,OAAM;QACzE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;QACzB,KAAK,CAAC,eAAe,EAAE,EAAE,CAAA;QACzB,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;IACnC,CAAC,CAAA;IACD,iDAAiD;IACjD,+CAA+C;IAC/C,gCAAgC;IAChC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,YAAY;YAAE,OAAM;QAC9B,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAC9E,KAAK,CAAC,eAAe,GAAG,OAAO,CAAA;IACjC,CAAC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3D,+BAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,EAAE;QACV,KAAK,CAAC,eAAe,EAAE,EAAE,CAAA;QACzB,KAAK,YAAY,CAAC,OAAO,EAAE,CAAA;QAC3B,KAAK,YAAY,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC,CAAA;AACH,CAAC;AAED,kDAAkD;AAClD,SAAS,4BAA4B,CACnC,GAAY,EACZ,OAAoC,EACpC,cAAwE;IAExE,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,CAAC,mDAAmD,CAAC,CAAA;QAC9D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC;YACzC,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;YAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI;YACrB,EAAE,EAAE;gBACF,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,aAAa;gBACzB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnB,WAAW,EAAE,CAAC,CAAC,0BAA0B,CAAC;oBAC1C,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC;oBAC9B,SAAS,EAAE,CAAC,CAAC,wBAAwB,CAAC;iBACvC,CAAC;gBACF,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;oBAC3B,MAAM,0BAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;oBACnD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;oBACpF,cAAc,CAAC,OAAO,CAAC,CAAA;oBACvB,OAAO,OAAO;yBACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;yBAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACf,EAAE,EAAE,KAAK,CAAC,IAAI;wBACd,KAAK,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI;wBACtC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;qBAC1E,CAAC,CAAC,CAAA;gBACP,CAAC;gBACD,QAAQ,CAAC,MAAM,EAAE,OAAO;oBACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;oBACtD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,EAAE,CAAC;wBACjG,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAA;wBACpD,OAAM;oBACR,CAAC;oBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;oBAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAA;oBAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,CAAA;oBACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS,EAAE,QAAQ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;oBAC9F,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,CAAA;oBAC9B,MAAM,SAAS,GAAoB;wBACjC,MAAM,EAAE,kBAAkB;wBAC1B,GAAG,EAAE,MAAM,CAAC,EAAE;wBACd,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,UAAU,EAAE,SAAS;wBACrB,aAAa,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE;qBAC/B,CAAA;oBACD,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI;wBAAE,OAAM;oBACnF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACjC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAA;wBACnD,OAAM;oBACR,CAAC;oBACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;wBAC/E,OAAM;oBACR,CAAC;oBACD,MAAM,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,CAAA;oBAC5C,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACzE,CAAC;aACF;SACF,CAAC,EAAE,8BAA8B,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC5G,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,SAAS,+BAA+B,CACtC,GAAY,EACZ,OAAoC,EACpC,cAAwE;IAExE,MAAM,aAAa,GAAG,WAAW,CAAuB,GAAG,EAAE,eAAe,CAAC,CAAA;IAC7E,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACtF,SAAS,CAAC,4DAA4D,CAAC,CAAA;QACvE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,CAAC;QACR,sCAAsC;QACtC,cAAc,EAAE,KAAK;QACrB,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO;YAC/B,IAAI,CAAC;gBACH,MAAM,0BAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAA;gBACtD,qCAAqC;gBACrC,6CAA6C;gBAC7C,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE,CAAC,CAAA;gBACpG,cAAc,CAAC,OAAO,CAAC,CAAA;gBACvB,OAAO,OAAO;qBACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;qBAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;qBAClF,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;qBACvE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI;oBACtC,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;iBAC/E,CAAC,CAAC,CAAA;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACjH,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO;YACV,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,KAAK,0BAA0B,CAAC,OAAO,CAAC,SAAS,CAAC;iBAC/C,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iBACrF,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;iBAC9C,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxB,SAAS,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnH,CAAC,CAAC,CAAA;QACN,CAAC;QACD,OAAO,CAAC,OAAO;YACb,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;YACjE,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7E,CAAC;QACD,MAAM,CAAC,IAAI;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YACvE,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;YACpC,OAAO;gBACL,MAAM,EAAE;oBACN,MAAM,EAAE,kBAAkB;oBAC1B,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI;oBAC3C,UAAU,EAAE,SAAS;oBACrB,aAAa,EAAE,IAAI,IAAI,EAAE;iBAC1B;aACF,CAAA;QACH,CAAC;QACD,KAAK,EAAE;YACL,aAAa,CAAC,GAAG;gBACf,OAAO,IAAI,GAAG,EAAE,CAAA;YAClB,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,GAAG;gBACjB,OAAO,IAAI,GAAG,EAAE,CAAA;YAClB,CAAC;SACF;KACF,CAAA;IACD,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,kCAAkC,CAAC,CAAA;QAC1F,SAAS,CAAC,gCAAgC,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/G,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,KAAK,UAAU,gBAAgB,CAC7B,GAAsB,EACtB,SAAiB,EACjB,MAAmB,EACnB,WAAoB;IAEpB,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC/C,IAAI,CAAC,WAAW,IAAI,MAAM,KAAK,SAAS;WACnC,MAAM,CAAC,iBAAiB,KAAK,iBAAiB;WAC9C,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,0BAA0B,EAAE,CAAC;QAC/D,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAwC,GAAG,EAAE,QAAQ,EAAE;QACrF,SAAS;QACT,WAAW,EAAE,IAAI;KAClB,EAAE,MAAM,CAAC,CAAA;IACV,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACtF,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACvC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAa,EACb,QAAgB,EAChB,SAA4D;IAE5D,MAAM,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,CAAA;IAC5C,MAAM,KAAK,GAAG,2BAA2B,CAAA;IACzC,IAAI,KAA6B,CAAA;IACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAC/B,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,SAAQ;QACtE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA;QACvE,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA;IAC3F,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY,EAAE,SAAiB;IACvD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACxC,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,MAAM,OAAO,GAAG,WAAW,CAAmB,GAAG,EAAE,WAAW,CAAC,CAAA;IAC/D,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9F,CAAC;AAED,SAAS,YAAY,CAAC,GAAY;IAChC,MAAM,OAAO,GAAG,WAAW,CAAkB,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7D,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3F,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,MAAM,OAAO,GAAG,WAAW,CAAsB,GAAG,EAAE,cAAc,CAAC,CAAA;IACrE,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAChG,CAAC;AAED,SAAS,WAAW,CAAI,GAAY,EAAE,IAAY;IAChD,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAkB,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill 引用的视觉投影。
|
|
3
|
+
*
|
|
4
|
+
* 输入框使用 DSH 原生 ReferenceChip;已经提交到时间线的用户消息仍然是普通文本,
|
|
5
|
+
* 这里把其中有效的 `/skill-name` 投影成同一套原子元素。只扫描用户气泡和提交回显,
|
|
6
|
+
* 不改写助手正文、代码块或普通页面文本。
|
|
7
|
+
*/
|
|
8
|
+
export declare const SKILL_REFERENCE_ATTRIBUTE = "data-codingns-skill-reference";
|
|
9
|
+
export declare const SKILL_REFERENCE_RAW_ATTRIBUTE = "data-codingns-skill-reference-raw";
|
|
10
|
+
export declare const SKILL_REFERENCE_STYLE_ID = "codingns4dsh-skill-reference-style";
|
|
11
|
+
/** 把一个会话最新的 Skill 目录发布给时间线投影和输入框预热使用。 */
|
|
12
|
+
export declare function publishSkillCatalog(sessionId: string, catalog: readonly {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly enabled: boolean;
|
|
15
|
+
}[]): void;
|
|
16
|
+
/** 返回所有已加载会话的 Skill 名称并集;名称本身区分大小写,匹配时另行兼容大小写。 */
|
|
17
|
+
export declare function getSkillNames(): ReadonlySet<string>;
|
|
18
|
+
export declare function subscribeSkillCatalog(listener: () => void): () => void;
|
|
19
|
+
export interface SkillReferenceDomController {
|
|
20
|
+
refresh(): void;
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
export interface SkillReferenceDomOptions {
|
|
24
|
+
readonly document?: Document;
|
|
25
|
+
readonly MutationObserver?: typeof MutationObserver;
|
|
26
|
+
readonly getSkillNames?: () => ReadonlySet<string>;
|
|
27
|
+
}
|
|
28
|
+
export interface SkillReferenceMention {
|
|
29
|
+
readonly raw: string;
|
|
30
|
+
readonly name: string;
|
|
31
|
+
readonly start: number;
|
|
32
|
+
readonly end: number;
|
|
33
|
+
}
|
|
34
|
+
/** 从用户消息中提取有效 Skill 指令;URL、路径中间片段和未索引名称都会被忽略。 */
|
|
35
|
+
export declare function findSkillReferenceMentions(value: string, names: ReadonlySet<string>): readonly SkillReferenceMention[];
|
|
36
|
+
/** 安装 Skill chip 的消息列表投影与统一样式。 */
|
|
37
|
+
export declare function startSkillReferenceDom(options?: SkillReferenceDomOptions): SkillReferenceDomController;
|
|
38
|
+
//# sourceMappingURL=skill-reference-dom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-reference-dom.d.ts","sourceRoot":"","sources":["../../../../src/client/skill-reference-dom.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,yBAAyB,kCAAkC,CAAA;AACxE,eAAO,MAAM,6BAA6B,sCAAsC,CAAA;AAChF,eAAO,MAAM,wBAAwB,uCAAuC,CAAA;AAK5E,yCAAyC;AACzC,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,IAAI,CAGrI;AAED,kDAAkD;AAClD,wBAAgB,aAAa,IAAI,WAAW,CAAC,MAAM,CAAC,CAMnD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAGtE;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,IAAI,IAAI,CAAA;IACf,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAA;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,iDAAiD;AACjD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,qBAAqB,EAAE,CAatH;AAED,kCAAkC;AAClC,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,wBAA6B,GAAG,2BAA2B,CAgD1G"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill 引用的视觉投影。
|
|
3
|
+
*
|
|
4
|
+
* 输入框使用 DSH 原生 ReferenceChip;已经提交到时间线的用户消息仍然是普通文本,
|
|
5
|
+
* 这里把其中有效的 `/skill-name` 投影成同一套原子元素。只扫描用户气泡和提交回显,
|
|
6
|
+
* 不改写助手正文、代码块或普通页面文本。
|
|
7
|
+
*/
|
|
8
|
+
export const SKILL_REFERENCE_ATTRIBUTE = 'data-codingns-skill-reference';
|
|
9
|
+
export const SKILL_REFERENCE_RAW_ATTRIBUTE = 'data-codingns-skill-reference-raw';
|
|
10
|
+
export const SKILL_REFERENCE_STYLE_ID = 'codingns4dsh-skill-reference-style';
|
|
11
|
+
const sessionSkillNames = new Map();
|
|
12
|
+
const catalogListeners = new Set();
|
|
13
|
+
/** 把一个会话最新的 Skill 目录发布给时间线投影和输入框预热使用。 */
|
|
14
|
+
export function publishSkillCatalog(sessionId, catalog) {
|
|
15
|
+
sessionSkillNames.set(sessionId, new Set(catalog.filter((skill) => skill.enabled).map((skill) => skill.name)));
|
|
16
|
+
for (const listener of [...catalogListeners])
|
|
17
|
+
listener();
|
|
18
|
+
}
|
|
19
|
+
/** 返回所有已加载会话的 Skill 名称并集;名称本身区分大小写,匹配时另行兼容大小写。 */
|
|
20
|
+
export function getSkillNames() {
|
|
21
|
+
const names = new Set();
|
|
22
|
+
for (const sessionNames of sessionSkillNames.values()) {
|
|
23
|
+
for (const name of sessionNames)
|
|
24
|
+
names.add(name);
|
|
25
|
+
}
|
|
26
|
+
return names;
|
|
27
|
+
}
|
|
28
|
+
export function subscribeSkillCatalog(listener) {
|
|
29
|
+
catalogListeners.add(listener);
|
|
30
|
+
return () => catalogListeners.delete(listener);
|
|
31
|
+
}
|
|
32
|
+
/** 从用户消息中提取有效 Skill 指令;URL、路径中间片段和未索引名称都会被忽略。 */
|
|
33
|
+
export function findSkillReferenceMentions(value, names) {
|
|
34
|
+
const byLowerName = new Map([...names].map((name) => [name.toLocaleLowerCase(), name]));
|
|
35
|
+
const matches = [];
|
|
36
|
+
const tokenPattern = /\/[A-Za-z0-9][A-Za-z0-9._-]*(?=\s|$)/gu;
|
|
37
|
+
for (const match of value.matchAll(tokenPattern)) {
|
|
38
|
+
const token = match[0] ?? '';
|
|
39
|
+
const start = match.index ?? -1;
|
|
40
|
+
const before = start > 0 ? value[start - 1] : undefined;
|
|
41
|
+
const name = byLowerName.get(token.slice(1).toLocaleLowerCase());
|
|
42
|
+
if (start < 0 || name === undefined || (before !== undefined && !/\s/u.test(before)))
|
|
43
|
+
continue;
|
|
44
|
+
matches.push({ raw: token, name, start, end: start + token.length });
|
|
45
|
+
}
|
|
46
|
+
return matches;
|
|
47
|
+
}
|
|
48
|
+
/** 安装 Skill chip 的消息列表投影与统一样式。 */
|
|
49
|
+
export function startSkillReferenceDom(options = {}) {
|
|
50
|
+
const dom = options.document ?? (typeof document === 'undefined' ? undefined : document);
|
|
51
|
+
const Observer = options.MutationObserver
|
|
52
|
+
?? (typeof MutationObserver === 'undefined' ? undefined : MutationObserver);
|
|
53
|
+
const getNames = options.getSkillNames ?? getSkillNames;
|
|
54
|
+
let disposed = false;
|
|
55
|
+
let scanQueued = false;
|
|
56
|
+
let observer;
|
|
57
|
+
const observe = () => {
|
|
58
|
+
if (disposed || dom === undefined || observer === undefined)
|
|
59
|
+
return;
|
|
60
|
+
observer.observe(dom.documentElement, { childList: true, subtree: true });
|
|
61
|
+
};
|
|
62
|
+
const scan = () => {
|
|
63
|
+
if (disposed || dom === undefined)
|
|
64
|
+
return;
|
|
65
|
+
observer?.disconnect();
|
|
66
|
+
try {
|
|
67
|
+
decorateTimelineMessages(dom, getNames());
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
observe();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const scheduleScan = () => {
|
|
74
|
+
if (disposed || scanQueued)
|
|
75
|
+
return;
|
|
76
|
+
scanQueued = true;
|
|
77
|
+
queueMicrotask(() => {
|
|
78
|
+
scanQueued = false;
|
|
79
|
+
scan();
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
if (dom !== undefined)
|
|
83
|
+
installSkillReferenceStyles(dom);
|
|
84
|
+
observer = dom === undefined || Observer === undefined ? undefined : new Observer(scheduleScan);
|
|
85
|
+
observe();
|
|
86
|
+
const unsubscribeCatalog = subscribeSkillCatalog(scheduleScan);
|
|
87
|
+
scan();
|
|
88
|
+
return {
|
|
89
|
+
refresh: scheduleScan,
|
|
90
|
+
dispose() {
|
|
91
|
+
if (disposed)
|
|
92
|
+
return;
|
|
93
|
+
disposed = true;
|
|
94
|
+
observer?.disconnect();
|
|
95
|
+
unsubscribeCatalog();
|
|
96
|
+
if (dom !== undefined)
|
|
97
|
+
removeSkillReferenceNodes(dom);
|
|
98
|
+
dom?.querySelector(`style[data-plugin-css="${SKILL_REFERENCE_STYLE_ID}"]`)?.remove();
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function decorateTimelineMessages(dom, names) {
|
|
103
|
+
const rows = [...dom.querySelectorAll('[class*="userRow"]')];
|
|
104
|
+
for (const row of dom.querySelectorAll('[data-submission-echo]')) {
|
|
105
|
+
if (!rows.includes(row))
|
|
106
|
+
rows.push(row);
|
|
107
|
+
}
|
|
108
|
+
const byLowerName = new Map([...names].map((name) => [name.toLocaleLowerCase(), name]));
|
|
109
|
+
if (byLowerName.size === 0)
|
|
110
|
+
return;
|
|
111
|
+
for (const row of rows) {
|
|
112
|
+
const bubble = row.querySelector('[class*="bubble"]') ?? row.querySelector('[class*="preview"]');
|
|
113
|
+
if (bubble !== null)
|
|
114
|
+
decorateTimelineNode(bubble, dom, byLowerName);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function decorateTimelineNode(node, dom, names) {
|
|
118
|
+
if (node.nodeType === 3) {
|
|
119
|
+
replaceSkillTextNode(node, dom, names);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (node.nodeType !== 1
|
|
123
|
+
|| node.hasAttribute(SKILL_REFERENCE_ATTRIBUTE)
|
|
124
|
+
|| node.closest('code,pre,[contenteditable="true"]') !== null)
|
|
125
|
+
return;
|
|
126
|
+
for (const child of [...node.childNodes])
|
|
127
|
+
decorateTimelineNode(child, dom, names);
|
|
128
|
+
}
|
|
129
|
+
function replaceSkillTextNode(node, dom, names) {
|
|
130
|
+
const value = node.nodeValue ?? '';
|
|
131
|
+
if (value === '' || node.parentElement?.closest('code,pre,[contenteditable="true"]') !== null)
|
|
132
|
+
return;
|
|
133
|
+
const matches = findSkillReferenceMentions(value, new Set(names.values()));
|
|
134
|
+
if (matches.length === 0 || node.parentNode === null)
|
|
135
|
+
return;
|
|
136
|
+
const fragment = dom.createDocumentFragment();
|
|
137
|
+
let cursor = 0;
|
|
138
|
+
for (const match of matches) {
|
|
139
|
+
if (match.start < cursor)
|
|
140
|
+
continue;
|
|
141
|
+
if (match.start > cursor)
|
|
142
|
+
fragment.append(dom.createTextNode(value.slice(cursor, match.start)));
|
|
143
|
+
fragment.append(buildSkillChip(dom, value.slice(match.start, match.end), match.name));
|
|
144
|
+
cursor = match.end;
|
|
145
|
+
}
|
|
146
|
+
if (cursor < value.length)
|
|
147
|
+
fragment.append(dom.createTextNode(value.slice(cursor)));
|
|
148
|
+
node.parentNode.replaceChild(fragment, node);
|
|
149
|
+
}
|
|
150
|
+
function buildSkillChip(dom, raw, name) {
|
|
151
|
+
const chip = dom.createElement('span');
|
|
152
|
+
chip.setAttribute(SKILL_REFERENCE_ATTRIBUTE, name);
|
|
153
|
+
chip.setAttribute(SKILL_REFERENCE_RAW_ATTRIBUTE, raw);
|
|
154
|
+
chip.setAttribute('title', `/${name}`);
|
|
155
|
+
chip.setAttribute('aria-label', `/${name}`);
|
|
156
|
+
const icon = dom.createElement('span');
|
|
157
|
+
icon.setAttribute('aria-hidden', 'true');
|
|
158
|
+
icon.textContent = '✦';
|
|
159
|
+
const label = dom.createElement('span');
|
|
160
|
+
label.textContent = raw;
|
|
161
|
+
chip.append(icon, label);
|
|
162
|
+
return chip;
|
|
163
|
+
}
|
|
164
|
+
function removeSkillReferenceNodes(dom) {
|
|
165
|
+
for (const chip of dom.querySelectorAll(`[${SKILL_REFERENCE_ATTRIBUTE}]`)) {
|
|
166
|
+
const raw = chip.getAttribute(SKILL_REFERENCE_RAW_ATTRIBUTE);
|
|
167
|
+
const parent = chip.parentNode;
|
|
168
|
+
if (raw !== null && parent !== null)
|
|
169
|
+
parent.replaceChild(dom.createTextNode(raw), chip);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function installSkillReferenceStyles(dom) {
|
|
173
|
+
if (dom.querySelector(`style[data-plugin-css="${SKILL_REFERENCE_STYLE_ID}"]`) !== null)
|
|
174
|
+
return;
|
|
175
|
+
const style = dom.createElement('style');
|
|
176
|
+
style.setAttribute('data-plugin', 'codingns4dsh');
|
|
177
|
+
style.setAttribute('data-plugin-css', SKILL_REFERENCE_STYLE_ID);
|
|
178
|
+
style.textContent = [
|
|
179
|
+
`[${SKILL_REFERENCE_ATTRIBUTE}], [data-composer-chip="codingns-skills"]{display:inline-flex;align-items:center;vertical-align:baseline;gap:4px;padding:1px 7px;border:1px solid var(--dsw-alias-border-l2,rgba(127,127,127,.22));border-radius:999px;background:var(--dsw-alias-interactive-bg-hover,rgba(127,127,127,.12));color:var(--dsw-alias-label-primary);white-space:nowrap;font-size:.94em;line-height:1.45;user-select:all}`,
|
|
180
|
+
`[${SKILL_REFERENCE_ATTRIBUTE}], [data-composer-chip="codingns-skills"]{border-color:color-mix(in srgb,var(--dsw-alias-label-primary,#888) 18%,transparent);background:color-mix(in srgb,var(--dsw-alias-interactive-bg-hover,rgba(127,127,127,.12)) 82%,transparent)}`,
|
|
181
|
+
`[${SKILL_REFERENCE_ATTRIBUTE}]>span:first-child{color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary));font-size:.8em}`,
|
|
182
|
+
`[${SKILL_REFERENCE_ATTRIBUTE}]{cursor:default}`,
|
|
183
|
+
`[data-composer-chip="codingns-skills"]>svg{color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary))}`,
|
|
184
|
+
].join('');
|
|
185
|
+
dom.head.appendChild(style);
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=skill-reference-dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-reference-dom.js","sourceRoot":"","sources":["../../../../src/client/skill-reference-dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-slot.d.ts","sourceRoot":"","sources":["../../../../src/client/subscription-slot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAK9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAAoD,KAAK,cAAc,EAA2B,MAAM,aAAa,CAAA;AAK5H,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,oBAAoB;QAC5B,SAAS,EAAE,MAAM,CAAA;KAClB;CACF;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,QAAQ,KAAK,QAAQ,CAAA;AAE7F,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC,oCAAoC;IACpC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,MAAM,CAAA;IAC9C,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAkCD,sCAAsC;AACtC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,EAAE,MAAM,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,IAAI,CAehK;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"subscription-slot.d.ts","sourceRoot":"","sources":["../../../../src/client/subscription-slot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAK9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAAoD,KAAK,cAAc,EAA2B,MAAM,aAAa,CAAA;AAK5H,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,oBAAoB;QAC5B,SAAS,EAAE,MAAM,CAAA;KAClB;CACF;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,QAAQ,KAAK,QAAQ,CAAA;AAE7F,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC,oCAAoC;IACpC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,MAAM,CAAA;IAC9C,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAkCD,sCAAsC;AACtC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,EAAE,MAAM,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,IAAI,CAehK;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAuPtF;AA+sBD,OAAO,EAAE,2BAA2B,EAAE,CAAA;AACtC,eAAO,MAAM,mCAAmC,iCAA2B,CAAA"}
|