@lemoncat7/dsh-partner 2.11.6 → 2.21.11
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.md +3 -0
- package/docs/THIRD_PARTY_LICENSES.md +1 -1
- package/docs/character-cards-and-renewal.md +1 -1
- package/docs/qq-attention.md +51 -0
- package/docs/qq-channel.md +80 -0
- package/docs/releases/2.11.7.md +9 -0
- package/docs/releases/2.12.0.md +14 -0
- package/docs/releases/2.13.0.md +9 -0
- package/docs/releases/2.14.0.md +9 -0
- package/docs/releases/2.15.0.md +9 -0
- package/docs/releases/2.15.1.md +9 -0
- package/docs/releases/2.16.0.md +18 -0
- package/docs/releases/2.17.0.md +23 -0
- package/docs/releases/2.17.1.md +9 -0
- package/docs/releases/2.18.0.md +9 -0
- package/docs/releases/2.18.1.md +5 -0
- package/docs/releases/2.19.0.md +14 -0
- package/docs/releases/2.19.1.md +7 -0
- package/docs/releases/2.19.2.md +9 -0
- package/docs/releases/2.19.3.md +5 -0
- package/docs/releases/2.20.0.md +10 -0
- package/docs/releases/2.20.1.md +8 -0
- package/docs/releases/2.21.0.md +7 -0
- package/docs/releases/2.21.1.md +8 -0
- package/docs/releases/2.21.10.md +5 -0
- package/docs/releases/2.21.11.md +7 -0
- package/docs/releases/2.21.2.md +10 -0
- package/docs/releases/2.21.3.md +7 -0
- package/docs/releases/2.21.4.md +8 -0
- package/docs/releases/2.21.5.md +15 -0
- package/docs/releases/2.21.6.md +6 -0
- package/docs/releases/2.21.7.md +11 -0
- package/docs/releases/2.21.8.md +9 -0
- package/docs/releases/2.21.9.md +6 -0
- package/docs/tool-entry-compatibility.md +11 -0
- package/lib/agent-runtime.d.ts +25 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +364 -62
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api.d.ts +1 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +94 -27
- package/lib/api.js.map +1 -1
- package/lib/channel-message.d.ts +14 -0
- package/lib/channel-message.d.ts.map +1 -1
- package/lib/channel-message.js.map +1 -1
- package/lib/channels/delivery-policy.js +1 -1
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/dispatcher.d.ts +2 -2
- package/lib/channels/direct/dispatcher.d.ts.map +1 -1
- package/lib/channels/direct/dispatcher.js +13 -4
- package/lib/channels/direct/dispatcher.js.map +1 -1
- package/lib/channels/direct/login.d.ts.map +1 -1
- package/lib/channels/direct/login.js +4 -0
- package/lib/channels/direct/login.js.map +1 -1
- package/lib/channels/direct/media.d.ts +2 -0
- package/lib/channels/direct/media.d.ts.map +1 -1
- package/lib/channels/direct/media.js +27 -23
- package/lib/channels/direct/media.js.map +1 -1
- package/lib/channels/direct/transport.d.ts +26 -3
- package/lib/channels/direct/transport.d.ts.map +1 -1
- package/lib/channels/direct/transport.js +31 -5
- package/lib/channels/direct/transport.js.map +1 -1
- package/lib/channels/manager.d.ts +26 -0
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +538 -148
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/notification-delivery.d.ts +4 -0
- package/lib/channels/notification-delivery.d.ts.map +1 -1
- package/lib/channels/notification-delivery.js +15 -5
- package/lib/channels/notification-delivery.js.map +1 -1
- package/lib/channels/notification-route.d.ts.map +1 -1
- package/lib/channels/notification-route.js +10 -4
- package/lib/channels/notification-route.js.map +1 -1
- package/lib/channels/notification-timeout.d.ts.map +1 -1
- package/lib/channels/notification-timeout.js +2 -0
- package/lib/channels/notification-timeout.js.map +1 -1
- package/lib/channels/outbound-media.d.ts.map +1 -1
- package/lib/channels/outbound-media.js +2 -0
- package/lib/channels/outbound-media.js.map +1 -1
- package/lib/channels/qq/action-catalog.d.ts +38 -0
- package/lib/channels/qq/action-catalog.d.ts.map +1 -0
- package/lib/channels/qq/action-catalog.js +2731 -0
- package/lib/channels/qq/action-catalog.js.map +1 -0
- package/lib/channels/qq/actions.d.ts +21 -0
- package/lib/channels/qq/actions.d.ts.map +1 -0
- package/lib/channels/qq/actions.js +226 -0
- package/lib/channels/qq/actions.js.map +1 -0
- package/lib/channels/qq/affection-adapter.d.ts +3 -0
- package/lib/channels/qq/affection-adapter.d.ts.map +1 -0
- package/lib/channels/qq/affection-adapter.js +16 -0
- package/lib/channels/qq/affection-adapter.js.map +1 -0
- package/lib/channels/qq/attention-classifier.d.ts +10 -0
- package/lib/channels/qq/attention-classifier.d.ts.map +1 -0
- package/lib/channels/qq/attention-classifier.js +62 -0
- package/lib/channels/qq/attention-classifier.js.map +1 -0
- package/lib/channels/qq/authority.d.ts +11 -0
- package/lib/channels/qq/authority.d.ts.map +1 -0
- package/lib/channels/qq/authority.js +50 -0
- package/lib/channels/qq/authority.js.map +1 -0
- package/lib/channels/qq/autonomy.d.ts +30 -0
- package/lib/channels/qq/autonomy.d.ts.map +1 -0
- package/lib/channels/qq/autonomy.js +88 -0
- package/lib/channels/qq/autonomy.js.map +1 -0
- package/lib/channels/qq/catalog.d.ts +14 -0
- package/lib/channels/qq/catalog.d.ts.map +1 -0
- package/lib/channels/qq/catalog.js +34 -0
- package/lib/channels/qq/catalog.js.map +1 -0
- package/lib/channels/qq/connection.d.ts +28 -0
- package/lib/channels/qq/connection.d.ts.map +1 -0
- package/lib/channels/qq/connection.js +200 -0
- package/lib/channels/qq/connection.js.map +1 -0
- package/lib/channels/qq/identity-binding.d.ts +14 -0
- package/lib/channels/qq/identity-binding.d.ts.map +1 -0
- package/lib/channels/qq/identity-binding.js +60 -0
- package/lib/channels/qq/identity-binding.js.map +1 -0
- package/lib/channels/qq/latency.d.ts +22 -0
- package/lib/channels/qq/latency.d.ts.map +1 -0
- package/lib/channels/qq/latency.js +21 -0
- package/lib/channels/qq/latency.js.map +1 -0
- package/lib/channels/qq/message.d.ts +6 -0
- package/lib/channels/qq/message.d.ts.map +1 -0
- package/lib/channels/qq/message.js +49 -0
- package/lib/channels/qq/message.js.map +1 -0
- package/lib/channels/qq/reply-rules.d.ts +30 -0
- package/lib/channels/qq/reply-rules.d.ts.map +1 -0
- package/lib/channels/qq/reply-rules.js +72 -0
- package/lib/channels/qq/reply-rules.js.map +1 -0
- package/lib/channels/qq/reply-tool.d.ts +6 -0
- package/lib/channels/qq/reply-tool.d.ts.map +1 -0
- package/lib/channels/qq/reply-tool.js +124 -0
- package/lib/channels/qq/reply-tool.js.map +1 -0
- package/lib/channels/qq/settings.d.ts +42 -0
- package/lib/channels/qq/settings.d.ts.map +1 -0
- package/lib/channels/qq/settings.js +68 -0
- package/lib/channels/qq/settings.js.map +1 -0
- package/lib/channels/qq/sticker-adapter.d.ts +5 -0
- package/lib/channels/qq/sticker-adapter.d.ts.map +1 -0
- package/lib/channels/qq/sticker-adapter.js +43 -0
- package/lib/channels/qq/sticker-adapter.js.map +1 -0
- package/lib/channels/qq/transport.d.ts +29 -0
- package/lib/channels/qq/transport.d.ts.map +1 -0
- package/lib/channels/qq/transport.js +187 -0
- package/lib/channels/qq/transport.js.map +1 -0
- package/lib/channels/reply-access.d.ts +25 -0
- package/lib/channels/reply-access.d.ts.map +1 -0
- package/lib/channels/reply-access.js +29 -0
- package/lib/channels/reply-access.js.map +1 -0
- package/lib/channels/weixin/connect.d.ts +3 -1
- package/lib/channels/weixin/connect.d.ts.map +1 -1
- package/lib/character/activity-tool.d.ts +7 -0
- package/lib/character/activity-tool.d.ts.map +1 -0
- package/lib/character/activity-tool.js +38 -0
- package/lib/character/activity-tool.js.map +1 -0
- package/lib/character/affection-adapter.d.ts +13 -0
- package/lib/character/affection-adapter.d.ts.map +1 -0
- package/lib/character/affection-adapter.js +13 -0
- package/lib/character/affection-adapter.js.map +1 -0
- package/lib/character/affection-context.d.ts +7 -0
- package/lib/character/affection-context.d.ts.map +1 -0
- package/lib/character/affection-context.js +33 -0
- package/lib/character/affection-context.js.map +1 -0
- package/lib/character/affection.d.ts +47 -0
- package/lib/character/affection.d.ts.map +1 -0
- package/lib/character/affection.js +41 -0
- package/lib/character/affection.js.map +1 -0
- package/lib/character/conversation-behavior.d.ts +4 -4
- package/lib/character/conversation-behavior.d.ts.map +1 -1
- package/lib/character/conversation-behavior.js +26 -23
- package/lib/character/conversation-behavior.js.map +1 -1
- package/lib/character/domain.d.ts +5 -0
- package/lib/character/domain.d.ts.map +1 -1
- package/lib/character/domain.js +21 -4
- package/lib/character/domain.js.map +1 -1
- package/lib/character/fatigue.d.ts +15 -0
- package/lib/character/fatigue.d.ts.map +1 -0
- package/lib/character/fatigue.js +37 -0
- package/lib/character/fatigue.js.map +1 -0
- package/lib/character/identity-guide.d.ts +41 -0
- package/lib/character/identity-guide.d.ts.map +1 -0
- package/lib/character/identity-guide.js +20 -0
- package/lib/character/identity-guide.js.map +1 -0
- package/lib/character/idle-contact.d.ts +12 -5
- package/lib/character/idle-contact.d.ts.map +1 -1
- package/lib/character/idle-contact.js +61 -21
- package/lib/character/idle-contact.js.map +1 -1
- package/lib/character/persona-templates.d.ts +23 -0
- package/lib/character/persona-templates.d.ts.map +1 -0
- package/lib/character/persona-templates.js +33 -0
- package/lib/character/persona-templates.js.map +1 -0
- package/lib/character/post-reply.d.ts +19 -0
- package/lib/character/post-reply.d.ts.map +1 -0
- package/lib/character/post-reply.js +33 -0
- package/lib/character/post-reply.js.map +1 -0
- package/lib/character/preview.d.ts.map +1 -1
- package/lib/character/preview.js +9 -1
- package/lib/character/preview.js.map +1 -1
- package/lib/character/relationship-adapter.d.ts +18 -0
- package/lib/character/relationship-adapter.d.ts.map +1 -0
- package/lib/character/relationship-adapter.js +18 -0
- package/lib/character/relationship-adapter.js.map +1 -0
- package/lib/character/role-reference-data.d.ts.map +1 -0
- package/lib/character/role-reference-data.js.map +1 -0
- package/lib/character/sleep-service.d.ts +44 -0
- package/lib/character/sleep-service.d.ts.map +1 -0
- package/lib/character/sleep-service.js +359 -0
- package/lib/character/sleep-service.js.map +1 -0
- package/lib/character/sleep.d.ts +65 -0
- package/lib/character/sleep.d.ts.map +1 -0
- package/lib/character/sleep.js +45 -0
- package/lib/character/sleep.js.map +1 -0
- package/lib/character/state-policy.d.ts +4 -0
- package/lib/character/state-policy.d.ts.map +1 -0
- package/lib/character/state-policy.js +14 -0
- package/lib/character/state-policy.js.map +1 -0
- package/lib/character/store.d.ts.map +1 -1
- package/lib/character/store.js +3 -3
- package/lib/character/store.js.map +1 -1
- package/lib/chat/conversation.js +1 -1
- package/lib/chat/conversation.js.map +1 -1
- package/lib/chat/protocol.d.ts +8 -0
- package/lib/chat/protocol.d.ts.map +1 -1
- package/lib/chat/protocol.js +24 -5
- package/lib/chat/protocol.js.map +1 -1
- package/lib/chat/sticker-adapter.d.ts +34 -0
- package/lib/chat/sticker-adapter.d.ts.map +1 -0
- package/lib/chat/sticker-adapter.js +30 -0
- package/lib/chat/sticker-adapter.js.map +1 -0
- package/lib/chat/tools.d.ts +2 -1
- package/lib/chat/tools.d.ts.map +1 -1
- package/lib/chat/tools.js +59 -13
- package/lib/chat/tools.js.map +1 -1
- package/lib/client-api.d.ts +21 -1
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +7007 -3166
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts +2 -0
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +32 -10
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/tool-discovery.d.ts +12 -0
- package/lib/collaboration/tool-discovery.d.ts.map +1 -0
- package/lib/collaboration/tool-discovery.js +149 -0
- package/lib/collaboration/tool-discovery.js.map +1 -0
- package/lib/companions/identity-tool.d.ts +176 -0
- package/lib/companions/identity-tool.d.ts.map +1 -0
- package/lib/companions/identity-tool.js +69 -0
- package/lib/companions/identity-tool.js.map +1 -0
- package/lib/companions/identity.d.ts +24 -0
- package/lib/companions/identity.d.ts.map +1 -0
- package/lib/companions/identity.js +49 -0
- package/lib/companions/identity.js.map +1 -0
- package/lib/companions/management-tool.d.ts +1 -1
- package/lib/companions/management-tool.d.ts.map +1 -1
- package/lib/companions/management-tool.js +6 -3
- package/lib/companions/management-tool.js.map +1 -1
- package/lib/companions/management.d.ts +49 -10
- package/lib/companions/management.d.ts.map +1 -1
- package/lib/companions/management.js +21 -6
- package/lib/companions/management.js.map +1 -1
- package/lib/companions/service.js +1 -0
- package/lib/companions/service.js.map +1 -1
- package/lib/companions/session-configuration.js +2 -2
- package/lib/companions/session-configuration.js.map +1 -1
- package/lib/domain.d.ts +37 -1
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js +6 -0
- package/lib/domain.js.map +1 -1
- package/lib/execution/agent-support.d.ts +1 -1
- package/lib/execution/agent-support.d.ts.map +1 -1
- package/lib/execution/agent-support.js +7 -2
- package/lib/execution/agent-support.js.map +1 -1
- package/lib/execution/operation-tool-access.d.ts +13 -0
- package/lib/execution/operation-tool-access.d.ts.map +1 -0
- package/lib/execution/operation-tool-access.js +49 -0
- package/lib/execution/operation-tool-access.js.map +1 -0
- package/lib/execution/service.d.ts.map +1 -1
- package/lib/execution/service.js +2 -10
- package/lib/execution/service.js.map +1 -1
- package/lib/execution/tool-access-adapter.d.ts +26 -0
- package/lib/execution/tool-access-adapter.d.ts.map +1 -0
- package/lib/execution/tool-access-adapter.js +25 -0
- package/lib/execution/tool-access-adapter.js.map +1 -0
- package/lib/heartbeat.js +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +31 -2
- package/lib/index.js.map +1 -1
- package/lib/memory-domain.d.ts +1 -0
- package/lib/memory-domain.d.ts.map +1 -1
- package/lib/memory-prompt-context.js +1 -0
- package/lib/memory-prompt-context.js.map +1 -1
- package/lib/memory-reflection.d.ts.map +1 -1
- package/lib/memory-reflection.js +16 -5
- package/lib/memory-reflection.js.map +1 -1
- package/lib/memory-scope.d.ts +2 -1
- package/lib/memory-scope.d.ts.map +1 -1
- package/lib/memory-scope.js +3 -1
- package/lib/memory-scope.js.map +1 -1
- package/lib/memory-store.d.ts +1 -1
- package/lib/observation-knowledge-entry.d.ts +2 -0
- package/lib/observation-knowledge-entry.d.ts.map +1 -0
- package/lib/observation-knowledge-entry.js +13 -0
- package/lib/observation-knowledge-entry.js.map +1 -0
- package/lib/observation-loop.d.ts.map +1 -1
- package/lib/observation-loop.js +3 -0
- package/lib/observation-loop.js.map +1 -1
- package/lib/storage/split-state.d.ts +1 -0
- package/lib/storage/split-state.d.ts.map +1 -1
- package/lib/storage/split-state.js +9 -2
- package/lib/storage/split-state.js.map +1 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +7 -0
- package/lib/store.js.map +1 -1
- package/lib/ui/affection-panel.d.ts +10 -0
- package/lib/ui/affection-panel.d.ts.map +1 -0
- package/lib/ui/affection-panel.js +44 -0
- package/lib/ui/affection-panel.js.map +1 -0
- package/lib/ui/capability-editor.d.ts.map +1 -1
- package/lib/ui/capability-editor.js +1 -1
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/channels-panel.d.ts.map +1 -1
- package/lib/ui/channels-panel.js +14 -9
- package/lib/ui/channels-panel.js.map +1 -1
- package/lib/ui/character-editor.d.ts +3 -1
- package/lib/ui/character-editor.d.ts.map +1 -1
- package/lib/ui/character-editor.js +18 -17
- package/lib/ui/character-editor.js.map +1 -1
- package/lib/ui/character-memory-editor.d.ts +6 -1
- package/lib/ui/character-memory-editor.d.ts.map +1 -1
- package/lib/ui/character-memory-editor.js +17 -11
- package/lib/ui/character-memory-editor.js.map +1 -1
- package/lib/ui/companion-deletion.js +1 -1
- package/lib/ui/companion-deletion.js.map +1 -1
- package/lib/ui/companion-draft.d.ts +3 -0
- package/lib/ui/companion-draft.d.ts.map +1 -1
- package/lib/ui/companion-draft.js +1 -1
- package/lib/ui/companion-draft.js.map +1 -1
- package/lib/ui/companion-vitals.d.ts +6 -0
- package/lib/ui/companion-vitals.d.ts.map +1 -0
- package/lib/ui/companion-vitals.js +44 -0
- package/lib/ui/companion-vitals.js.map +1 -0
- package/lib/ui/identity-editor.d.ts.map +1 -1
- package/lib/ui/identity-editor.js +13 -6
- package/lib/ui/identity-editor.js.map +1 -1
- package/lib/ui/idle-contact-editor.d.ts.map +1 -1
- package/lib/ui/idle-contact-editor.js +3 -2
- package/lib/ui/idle-contact-editor.js.map +1 -1
- package/lib/ui/memory/memory-panel.d.ts.map +1 -1
- package/lib/ui/memory/memory-panel.js +5 -3
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/persona-template.d.ts +5 -0
- package/lib/ui/persona-template.d.ts.map +1 -0
- package/lib/ui/persona-template.js +7 -0
- package/lib/ui/persona-template.js.map +1 -0
- package/lib/ui/push-draft.d.ts +8 -8
- package/lib/ui/qq-capability-settings.d.ts +9 -0
- package/lib/ui/qq-capability-settings.d.ts.map +1 -0
- package/lib/ui/qq-capability-settings.js +24 -0
- package/lib/ui/qq-capability-settings.js.map +1 -0
- package/lib/ui/qq-channel-settings.d.ts +13 -0
- package/lib/ui/qq-channel-settings.d.ts.map +1 -0
- package/lib/ui/qq-channel-settings.js +52 -0
- package/lib/ui/qq-channel-settings.js.map +1 -0
- package/lib/ui/qq-connection-guide.d.ts +2 -0
- package/lib/ui/qq-connection-guide.d.ts.map +1 -0
- package/lib/ui/qq-connection-guide.js +5 -0
- package/lib/ui/qq-connection-guide.js.map +1 -0
- package/lib/ui/qq-identity-binding.d.ts +9 -0
- package/lib/ui/qq-identity-binding.d.ts.map +1 -0
- package/lib/ui/qq-identity-binding.js +6 -0
- package/lib/ui/qq-identity-binding.js.map +1 -0
- package/lib/ui/qq-voice-reply-settings.d.ts +9 -0
- package/lib/ui/qq-voice-reply-settings.d.ts.map +1 -0
- package/lib/ui/qq-voice-reply-settings.js +23 -0
- package/lib/ui/qq-voice-reply-settings.js.map +1 -0
- package/lib/ui/role-reference.d.ts.map +1 -1
- package/lib/ui/role-reference.js +3 -2
- package/lib/ui/role-reference.js.map +1 -1
- package/lib/ui/sleep-editor.d.ts +10 -0
- package/lib/ui/sleep-editor.d.ts.map +1 -0
- package/lib/ui/sleep-editor.js +55 -0
- package/lib/ui/sleep-editor.js.map +1 -0
- package/package.json +39 -5
- package/lib/ui/role-reference-data.d.ts.map +0 -1
- package/lib/ui/role-reference-data.js.map +0 -1
- /package/lib/{ui → character}/role-reference-data.d.ts +0 -0
- /package/lib/{ui → character}/role-reference-data.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-capability-settings.js","sourceRoot":"","sources":["../../src/ui/qq-capability-settings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type MutableRefObject } from 'react';
|
|
2
|
+
import { type ChannelView, type PairingView } from '../client-api.js';
|
|
3
|
+
export declare function QqChannelSettings({ channel, pairings, onChanged, onDeleted, editState }: {
|
|
4
|
+
editState: MutableRefObject<{
|
|
5
|
+
dirty: boolean;
|
|
6
|
+
busy: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
channel: ChannelView;
|
|
9
|
+
pairings: PairingView[];
|
|
10
|
+
onChanged(): Promise<void>;
|
|
11
|
+
onDeleted(): void;
|
|
12
|
+
}): JSX.Element;
|
|
13
|
+
//# sourceMappingURL=qq-channel-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-channel-settings.d.ts","sourceRoot":"","sources":["../../src/ui/qq-channel-settings.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,gBAAgB,EAAiB,MAAM,OAAO,CAAA;AAChF,OAAO,EAAK,KAAK,WAAW,EAAC,KAAK,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAQtE,wBAAgB,iBAAiB,CAAC,EAAC,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,EAAC;IAAC,SAAS,EAAC,gBAAgB,CAAC;QAAC,KAAK,EAAC,OAAO,CAAC;QAAA,IAAI,EAAC,OAAO,CAAA;KAAC,CAAC,CAAC;IAAA,OAAO,EAAC,WAAW,CAAC;IAAA,QAAQ,EAAC,WAAW,EAAE,CAAC;IAAA,SAAS,IAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAA,SAAS,IAAG,IAAI,CAAA;CAAC,GAAE,GAAG,CAAC,OAAO,CA6D/O"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { QqConnectionGuide } from './qq-connection-guide.js';
|
|
3
|
+
import { QqVoiceReplySettings } from './qq-voice-reply-settings.js';
|
|
4
|
+
import { QqIdentityBindingEditor } from './qq-identity-binding.js';
|
|
5
|
+
import { QqCapabilitySettings } from './qq-capability-settings.js';
|
|
6
|
+
import { useState, useEffect } from 'react';
|
|
7
|
+
import { api } from '../client-api.js';
|
|
8
|
+
import { qqSettings, qqGroupPeer } from '../channels/qq/settings.js';
|
|
9
|
+
import { ChannelStatus } from './partner-components.js';
|
|
10
|
+
import { errorMessage } from './workspace-components.js';
|
|
11
|
+
const titles = { voice: '语音回复', capabilities: '私有能力', home: 'QQ 设置', connection: '连接与账号', private: '私聊回复', group: '群聊回复', groups: '选择群组', autonomy: '自主回复白名单', sessions: '会话与记忆', media: '表情与图片', access: '访问权限', send: '发送消息' };
|
|
12
|
+
export function QqChannelSettings({ channel, pairings, onChanged, onDeleted, editState }) {
|
|
13
|
+
const [page, setPage] = useState('home'), [policy, setPolicy] = useState(() => qqSettings(channel.qq)), [busy, setBusy] = useState(false), [feedback, setFeedback] = useState(''), [failed, setFailed] = useState(false);
|
|
14
|
+
const [url, setUrl] = useState(channel.direct?.baseUrl ?? ''), [token, setToken] = useState(''), [confirmDelete, setConfirmDelete] = useState(false);
|
|
15
|
+
const [groups, setGroups] = useState([]), [groupsLoaded, setGroupsLoaded] = useState(false), [search, setSearch] = useState('');
|
|
16
|
+
const [friends, setFriends] = useState([]), [sessionKind, setSessionKind] = useState('private');
|
|
17
|
+
const [category, setCategory] = useState(''), [faceLimit, setFaceLimit] = useState(80);
|
|
18
|
+
const [faces, setFaces] = useState([]), [userId, setUserId] = useState(''), [mode, setMode] = useState('text'), [text, setText] = useState(''), [face, setFace] = useState();
|
|
19
|
+
const filteredFaces = faces.filter(f => (!category || f.category === category) && (f.name + f.id + f.category).includes(search));
|
|
20
|
+
const dirty = JSON.stringify(policy) !== JSON.stringify(qqSettings(channel.qq));
|
|
21
|
+
useEffect(() => { editState.current = { dirty: dirty || url !== (channel.direct?.baseUrl ?? '') || !!token, busy }; return () => { editState.current = { dirty: false, busy: false }; }; }, [dirty, url, token, busy, channel.direct?.baseUrl, editState]);
|
|
22
|
+
const owned = pairings.filter(p => p.channelId === channel.id), approved = owned.filter(p => p.status === 'approved');
|
|
23
|
+
const groupWhite = (userId) => { const peer = qqGroupPeer(userId); return !!peer && policy.groupReplies && policy.groupIds.includes(peer.groupId) && policy.autonomousGroupIds.includes(peer.groupId); };
|
|
24
|
+
const change = (patch) => setPolicy(current => ({ ...current, ...patch }));
|
|
25
|
+
const go = (next) => { setPage(next); setFeedback(''); setConfirmDelete(false); setSearch(''); };
|
|
26
|
+
const run = async (fn, message = '') => { if (busy)
|
|
27
|
+
return; setBusy(true); setFeedback(''); setFailed(false); try {
|
|
28
|
+
await fn();
|
|
29
|
+
if (message)
|
|
30
|
+
setFeedback(message);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
setFailed(true);
|
|
34
|
+
setFeedback(errorMessage(e));
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
setBusy(false);
|
|
38
|
+
} };
|
|
39
|
+
const post = (path, body) => api(`/channels/${channel.id}/qq/${path}`, { method: 'POST', body: JSON.stringify(body) });
|
|
40
|
+
const save = () => run(async () => { await post('settings', { settings: policy, expectedUpdatedAt: channel.updatedAt }); await onChanged(); }, '设置已保存并生效');
|
|
41
|
+
const loadGroups = () => run(async () => { const data = await api(`/channels/${channel.id}/qq/groups`); setGroups(data.groups); setGroupsLoaded(true); });
|
|
42
|
+
const loadPeers = () => run(async () => { const [g, f] = await Promise.all([api(`/channels/${channel.id}/qq/groups`), api(`/channels/${channel.id}/qq/friends`)]); setGroups(g.groups); setGroupsLoaded(true); setFriends(f.friends); });
|
|
43
|
+
const loadFaces = () => run(async () => { const data = await api(`/channels/${channel.id}/qq/faces`); setFaces(data.faces); });
|
|
44
|
+
const entry = (next, detail, note) => _jsxs("button", { type: "button", className: "dsh-partner-qq-entry", disabled: busy, onClick: () => go(next), children: [_jsx("span", { className: "dsh-partner-qq-glyph", "aria-hidden": "true", children: _jsx(Glyph, { name: next }) }), _jsxs("span", { children: [_jsx("strong", { children: titles[next] }), _jsx("small", { children: detail })] }), note && _jsx("em", { children: note }), _jsx("span", { "aria-hidden": "true", children: "\u203A" })] });
|
|
45
|
+
return _jsxs("div", { className: "dsh-partner-qq-settings", "aria-busy": busy, children: [page !== 'home' && _jsxs("nav", { className: "dsh-partner-qq-breadcrumb", "aria-label": "QQ \u8BBE\u7F6E\u5BFC\u822A", children: [_jsxs("button", { type: "button", disabled: busy, onClick: () => go((page === 'groups' || page === 'autonomy') ? 'group' : 'home'), children: ["\u2039 ", (page === 'groups' || page === 'autonomy') ? '群聊回复' : 'QQ 设置'] }), _jsx("span", { "aria-hidden": "true", children: "/" }), _jsx("strong", { children: titles[page] })] }), page === 'home' ? _jsxs(_Fragment, { children: [_jsxs("div", { className: "dsh-partner-qq-account", children: [_jsxs("div", { children: [_jsx("small", { children: "QQ \u8D26\u53F7" }), _jsx("strong", { children: channel.accountId }), _jsx("span", { children: "SnowLuma \u00B7 \u6B63\u5411 WebSocket" })] }), _jsx(ChannelStatus, { channel: channel })] }), _jsx(QqConnectionGuide, {}), _jsx("div", { className: "dsh-partner-qq-section-label", children: "\u8FDE\u63A5" }), entry('connection', '管理服务器、凭据与连接状态'), _jsx("div", { className: "dsh-partner-qq-section-label", children: "\u804A\u5929\u56DE\u590D \u00B7 \u7FA4\u767D\u540D\u5355\u4E0E\u8D26\u53F7\u5BA1\u6279" }), entry('private', '好友私聊与配对授权', policy.privateReplies ? '开启' : '关闭'), entry('group', '选择群组,设置何时回复', policy.groupReplies ? `${policy.groupIds.length} 个群` : '关闭'), entry('sessions', '独立聊天,按需接入主会话', `${policy.mainSessionPeers.length} 个共用`), entry('media', 'QQ 原生表情、收藏与默认库'), entry('voice', '仅向当前聊天对象发送语音', policy.replyVoiceEnabled ? '开启' : '关闭'), _jsx("div", { className: "dsh-partner-qq-section-label", children: "\u79C1\u6709\u80FD\u529B \u00B7 \u5F52\u5C5E\u8D26\u53F7\u4E0E\u7CFB\u7EDF\u81EA\u4E3B\u6267\u884C" }), entry('capabilities', 'QQ 空间、资料、群管理与文件操作', policy.autonomousActions ? `${policy.enabledActions.length} 项开启` : '关闭'), _jsx("div", { className: "dsh-partner-qq-section-label", children: "\u7BA1\u7406\u4E0E\u64CD\u4F5C" }), entry('access', '归属账号、关系与能力范围', `${owned.filter(p => p.status === 'pending').length} 待批准`), entry('send', '选择已授权接收人,发送文字或表情')] }) : page === 'voice' ? _jsx(QqVoiceReplySettings, { channel: channel, policy: policy, change: change, busy: busy }) : page === 'capabilities' ? _jsx(QqCapabilitySettings, { channel: channel, policy: policy, change: change, busy: busy }) : page === 'connection' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx(QqConnectionGuide, {}), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u4FEE\u6539\u8FDE\u63A5\u65F6\u4F1A\u6838\u5BF9 QQ \u8D26\u53F7\uFF0C\u4FDD\u7559\u5DF2\u6709\u6388\u6743\u3002" }), _jsx(Field, { label: "\u6B63\u5411 WebSocket \u5730\u5740", children: _jsx("input", { value: url, onChange: e => setUrl(e.target.value), disabled: busy, placeholder: "ws://snowluma:3001" }) }), _jsx(Field, { label: "WS Access Token", hint: "\u7559\u7A7A\u4FDD\u7559\u5DF2\u4FDD\u5B58\u4EE4\u724C\uFF1B\u4E0D\u4F1A\u663E\u793A\u539F\u4EE4\u724C\u3002", children: _jsx("input", { type: "password", autoComplete: "new-password", value: token, onChange: e => setToken(e.target.value), disabled: busy }) }), _jsxs("div", { className: "dsh-partner-qq-actions", children: [_jsx("button", { disabled: busy || !url, onClick: () => void run(async () => { await post('connection', { baseUrl: url, botToken: token, testOnly: true, expectedUpdatedAt: channel.updatedAt }); }, '连接测试通过'), children: "\u6D4B\u8BD5\u8FDE\u63A5" }), _jsx("button", { className: "is-primary", disabled: busy || !url, onClick: () => void run(async () => { await post('connection', { baseUrl: url, botToken: token, testOnly: false, expectedUpdatedAt: channel.updatedAt }); setToken(''); await onChanged(); }, '连接已保存'), children: "\u4FDD\u5B58\u8FDE\u63A5" })] }), _jsx("div", { className: "dsh-partner-qq-divider" }), _jsxs("div", { className: "dsh-partner-qq-actions", children: [_jsx("button", { disabled: busy, onClick: () => void run(async () => { await api(`/channels/${channel.id}/enabled`, { method: 'POST', body: JSON.stringify({ enabled: !channel.enabled }) }); await onChanged(); }), children: channel.enabled ? '停用渠道' : '启用渠道' }), channel.enabled && _jsx("button", { disabled: busy, onClick: () => void run(async () => { await api(`/channels/${channel.id}/enabled`, { method: 'POST', body: JSON.stringify({ enabled: true }) }); await onChanged(); }), children: "\u91CD\u65B0\u8FDE\u63A5" })] }), _jsxs("details", { className: "dsh-partner-qq-advanced", children: [_jsx("summary", { children: "\u79FB\u9664\u6E20\u9053" }), _jsx("p", { children: "\u79FB\u9664\u8FDE\u63A5\u3001\u51ED\u636E\u548C\u8054\u7CFB\u4EBA\u6388\u6743\u3002" }), _jsx("button", { disabled: busy, onClick: () => confirmDelete ? void run(async () => { await api(`/channels/${channel.id}`, { method: 'DELETE' }); await onChanged(); onDeleted(); }) : setConfirmDelete(true), children: confirmDelete ? '确认移除 QQ 渠道' : '移除渠道' })] })] }) : page === 'private' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx(Toggle, { title: "\u79C1\u804A\u56DE\u590D", detail: "\u5141\u8BB8\u56DE\u590D\u5DF2\u6279\u51C6\u7684\u597D\u53CB\u79C1\u804A\uFF0C\u4E5F\u7528\u4E8E\u79C1\u804A\u901A\u77E5\u3002", value: policy.privateReplies, disabled: busy, onChange: v => change({ privateReplies: v }) }), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u8BBF\u95EE\u8BB8\u53EF\u53EA\u5141\u8BB8\u804A\u5929\uFF0C\u4E0D\u4EE3\u8868\u6388\u4E88\u79C1\u6709\u80FD\u529B\u3002\u65B0\u597D\u53CB\u53D1\u6D88\u606F\u540E\u4F1A\u751F\u6210\u914D\u5BF9\u8BF7\u6C42\u3002\u8BF7\u5728\u300C\u8BBF\u95EE\u6743\u9650\u300D\u6838\u5BF9\u914D\u5BF9\u7801\u540E\u6279\u51C6\uFF1B\u7FA4\u4E34\u65F6\u4F1A\u8BDD\u4E0D\u4F5C\u4E3A\u597D\u53CB\u79C1\u804A\u5904\u7406\u3002" }), entry('access', '查看并管理已批准联系人')] }) : page === 'group' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx(Toggle, { title: "\u7FA4\u804A\u56DE\u590D", detail: "\u4EC5\u63A5\u5165\u9009\u4E2D\u7684\u7FA4\u3002\u767D\u540D\u5355\u7FA4\u653E\u884C\u6240\u6709\u6210\u5458\uFF1B\u5176\u4ED6\u7FA4\u9700\u8981\u5BA1\u6279\u53D1\u8A00\u8D26\u53F7\u3002\u79C1\u804A\u59CB\u7EC8\u5355\u72EC\u5BA1\u6279\u3002", value: policy.groupReplies, disabled: busy, onChange: v => change({ groupReplies: v }) }), policy.groupReplies && _jsxs(_Fragment, { children: [entry('groups', '从机器人已加入的群中选择', `${policy.groupIds.length} 个群`), entry('autonomy', '不必 @,由伙伴判断是否接话', `${policy.autonomousGroupIds.length} 个群`), _jsx(Field, { label: "\u5176\u4ED6\u7FA4\u4F55\u65F6\u56DE\u590D", children: _jsxs("select", { disabled: busy, value: policy.groupTrigger, onChange: e => change({ groupTrigger: e.target.value }), children: [_jsx("option", { value: "mention", children: "\u4EC5\u88AB @ \u65F6\u56DE\u590D\uFF08\u63A8\u8350\uFF09" }), _jsx("option", { value: "all", children: "\u56DE\u590D\u7FA4\u5185\u6BCF\u6761\u6D88\u606F" })] }) }), _jsx(Toggle, { title: "\u56DE\u590D\u65F6 @ \u53D1\u8A00\u4EBA", detail: "\u591A\u4EBA\u540C\u65F6\u804A\u5929\u65F6\uFF0C\u6807\u660E\u8FD9\u6761\u56DE\u590D\u5BF9\u5E94\u7684\u6210\u5458\u3002", value: policy.mentionSender, disabled: busy, onChange: v => change({ mentionSender: v }) })] }), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u9ED8\u8BA4\u6BCF\u4E2A\u7FA4\u3001\u6BCF\u4F4D\u79C1\u804A\u7528\u6237\u5404\u7528\u4E00\u4E2A\u4F1A\u8BDD\uFF1B\u5728\u300C\u4F1A\u8BDD\u4E0E\u8BB0\u5FC6\u300D\u9009\u62E9\u4F7F\u7528\u4E3B\u4F1A\u8BDD\u7684\u5BF9\u8C61\u3002\u957F\u671F\u8BB0\u5FC6\u6CBF\u7528\u8BE5\u4F19\u4F34\u3002\u767D\u540D\u5355\u7FA4\u65E0\u9700\u9010\u4EBA\u5BA1\u6279\uFF1B\u5176\u4ED6\u5DF2\u63A5\u5165\u7FA4\u6309\u53D1\u8A00\u8D26\u53F7\u5BA1\u6279\u3002\u7FA4\u5185\u8BB8\u53EF\u4E0D\u5F00\u653E\u79C1\u804A\uFF0C\u81EA\u4E3B\u63A5\u8BDD\u4E0D\u4F1A\u589E\u52A0\u5DE5\u5177\u6743\u9650\u3002" })] }) : page === 'sessions' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx("p", { className: "dsh-partner-qq-hint", children: "\u9ED8\u8BA4\u6BCF\u4E2A\u7FA4\u3001\u6BCF\u4F4D\u79C1\u804A\u7528\u6237\u5404\u6709\u72EC\u7ACB\u4F1A\u8BDD\uFF0C\u540D\u79F0\u4F7F\u7528\u7FA4\u540D\u6216\u8054\u7CFB\u4EBA\u540D\u3002\u52FE\u9009\u7684\u5BF9\u8C61\u4F1A\u4E0E\u672C\u5730\u804A\u5929\u5171\u7528\u4E3B\u4F1A\u8BDD\uFF0C\u4E92\u76F8\u53EF\u89C1\u8BE5\u4F1A\u8BDD\u7684\u4E0A\u4E0B\u6587\u3002" }), _jsxs("div", { className: "dsh-partner-qq-actions", children: [_jsxs("span", { children: ["\u4F7F\u7528\u4E3B\u4F1A\u8BDD\uFF1A", policy.mainSessionPeers.length, " \u4E2A\u5BF9\u8C61"] }), _jsx("button", { disabled: busy, onClick: () => void loadPeers(), children: "\u8BFB\u53D6\u597D\u53CB\u4E0E\u7FA4" })] }), _jsxs("div", { className: "dsh-partner-qq-segments", role: "group", "aria-label": "\u4E3B\u4F1A\u8BDD\u5BF9\u8C61\u7C7B\u578B", children: [_jsx("button", { "aria-pressed": sessionKind === 'private', onClick: () => { setSessionKind('private'); setSearch(''); }, children: "\u79C1\u804A\u7528\u6237" }), _jsx("button", { "aria-pressed": sessionKind === 'group', onClick: () => { setSessionKind('group'); setSearch(''); }, children: "\u7FA4\u804A" })] }), _jsx(Field, { label: "\u641C\u7D22\u540D\u79F0\u6216\u53F7\u7801", children: _jsx("input", { value: search, onChange: e => setSearch(e.target.value) }) }), _jsx("div", { className: "dsh-partner-qq-options", children: [...new Map([...(sessionKind === 'group' ? groups : friends), ...(sessionKind === 'group' ? policy.groupIds.map(id => ({ id, name: '群 ' + id })) : owned.filter(p => !p.userId.startsWith('group:')).map(p => ({ id: p.userId, name: p.displayName }))), ...policy.mainSessionPeers.filter(p => p.startsWith(sessionKind + ':')).map(p => ({ id: p.split(':')[1], name: p.split(':')[1] }))].reverse().map(p => [p.id, p])).values()].filter(p => (p.name + p.id).includes(search)).map(p => { const key = `${sessionKind}:${p.id}`; return _jsxs("label", { children: [_jsx("input", { type: "checkbox", checked: policy.mainSessionPeers.includes(key), disabled: busy, onChange: e => change({ mainSessionPeers: e.target.checked ? [...policy.mainSessionPeers, key] : policy.mainSessionPeers.filter(k => k !== key) }) }), _jsxs("span", { children: [_jsx("strong", { children: p.name }), _jsxs("small", { children: [p.id, " \u00B7 ", policy.mainSessionPeers.includes(key) ? '使用主会话' : '独立会话'] })] })] }, key); }) }), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u6CA1\u6709\u627E\u5230\u5BF9\u8C61\u65F6\uFF0C\u70B9\u51FB\u300C\u8BFB\u53D6\u597D\u53CB\u4E0E\u7FA4\u300D\u3002\u4F1A\u8BDD\u9009\u62E9\u4E0D\u6388\u4E88\u56DE\u590D\u6743\u9650\uFF1B\u7FA4\u804A\u9700\u8981\u5DF2\u63A5\u5165\uFF0C\u5E76\u6EE1\u8DB3\u7FA4\u767D\u540D\u5355\u6216\u6210\u5458\u5BA1\u6279\uFF1B\u79C1\u804A\u9700\u8981\u5355\u72EC\u5F00\u542F\u5E76\u6279\u51C6\u8054\u7CFB\u4EBA\u3002" }), _jsx("div", { className: "dsh-partner-qq-divider" }), _jsx("strong", { children: "\u957F\u671F\u8BB0\u5FC6\u5171\u7528" }), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u542F\u7528\u8BB0\u5FC6\u65F6\uFF0C\u72EC\u7ACB\u4F1A\u8BDD\u4E5F\u80FD\u56DE\u5FC6\u8FD9\u4E2A\u4F19\u4F34\u5DF2\u6574\u7406\u7684\u957F\u671F\u8BB0\u5FC6\uFF0C\u5F7C\u6B64\u4E0D\u4F1A\u62FC\u63A5\u804A\u5929\u539F\u6587\u3002\u9700\u8981\u5B8C\u5168\u9694\u79BB\u8D44\u6599\u65F6\uFF0C\u8BF7\u4F7F\u7528\u4E0D\u540C\u4F19\u4F34\u3002" }), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u4FDD\u5B58\u540E\u4ECE\u540E\u7EED\u6D88\u606F\u5F00\u59CB\u5207\u6362\uFF0C\u5386\u53F2\u8BB0\u5F55\u4FDD\u7559\u3002\u53D6\u6D88\u52FE\u9009\u4F1A\u63A5\u56DE\u539F\u72EC\u7ACB\u4F1A\u8BDD\uFF1B\u9996\u6B21\u4F7F\u7528\u624D\u4F1A\u65B0\u5EFA\u3002" })] }) : page === 'autonomy' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx("p", { className: "dsh-partner-qq-hint", children: "\u767D\u540D\u5355\u4E2D\u7684\u7FA4\u4F1A\u63A5\u6536\u666E\u901A\u7FA4\u6D88\u606F\uFF0C\u4E0D\u7528 @\u3002\u7ED3\u5408\u5BF9\u8BDD\u5BF9\u8C61\u548C\u8FD1\u671F\u4EA4\u6D41\u63A5\u8BDD\uFF1B\u4E0D\u660E\u786E\u7684\u65B0\u6D88\u606F\u7531\u672C\u5730\u8BED\u4E49\u8F85\u52A9\u5224\u65AD\uFF0C\u6B63\u5E38\u804A\u5929\u4E0D\u4F1A\u9010\u6761\u62BD\u7B7E\u3002" }), _jsx("div", { className: "dsh-partner-qq-options", children: policy.groupIds.map(id => _jsxs("label", { children: [_jsx("input", { type: "checkbox", checked: policy.autonomousGroupIds.includes(id), disabled: busy, onChange: e => change({ autonomousGroupIds: e.target.checked ? [...policy.autonomousGroupIds, id] : policy.autonomousGroupIds.filter(g => g !== id) }) }), _jsxs("span", { children: [_jsx("strong", { children: groups.find(g => g.id === id)?.name ?? '群 ' + id }), _jsx("small", { children: id })] })] }, id)) }), !policy.groupIds.length && entry('groups', '先选择允许接入的群'), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u767D\u540D\u5355\u7FA4\u5185\u6240\u6709\u6210\u5458\u7684\u6D88\u606F\u90FD\u4F1A\u8FDB\u5165\u63A5\u8BDD\u5224\u65AD\uFF0C\u65E0\u9700\u9010\u4EBA\u914D\u5BF9\u3002\u4F19\u4F34\u51B3\u5B9A\u662F\u5426\u63A5\u8BDD\uFF0C\u4E0D\u4FDD\u8BC1\u6BCF\u6761\u5FC5\u56DE\uFF1B\u660E\u786E\u5C4F\u853D\u7684\u6210\u5458\u9664\u5916\u3002\u7FA4\u5185\u8BB8\u53EF\u4E0D\u5F00\u653E\u79C1\u804A\uFF0C\u4E5F\u4E0D\u6388\u4E88\u79C1\u6709\u5DE5\u5177\u6743\u9650\u3002" })] }) : page === 'groups' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsxs("div", { className: "dsh-partner-qq-actions", children: [_jsxs("span", { children: ["\u5DF2\u9009\u62E9 ", policy.groupIds.length, " \u4E2A\u7FA4"] }), _jsx("button", { disabled: busy, onClick: () => void loadGroups(), children: groupsLoaded ? '刷新群列表' : '读取已加入的群' })] }), _jsx(Field, { label: "\u641C\u7D22\u7FA4\u540D\u79F0\u6216\u7FA4\u53F7", children: _jsx("input", { value: search, onChange: e => setSearch(e.target.value) }) }), _jsxs("div", { className: "dsh-partner-qq-options", children: [groups.filter(g => (g.name + g.id).includes(search)).map(g => _jsxs("label", { children: [_jsx("input", { type: "checkbox", disabled: busy, checked: policy.groupIds.includes(g.id), onChange: e => change({ groupIds: e.target.checked ? [...policy.groupIds, g.id] : policy.groupIds.filter(id => id !== g.id), autonomousGroupIds: e.target.checked ? policy.autonomousGroupIds : policy.autonomousGroupIds.filter(id => id !== g.id), replyVoiceGroupId: !e.target.checked && policy.replyVoiceGroupId === g.id ? '' : (policy.replyVoiceGroupId ?? '') }) }), _jsxs("span", { children: [_jsx("strong", { children: g.name }), _jsx("small", { children: g.id })] })] }, g.id)), policy.groupIds.filter(id => !groups.some(g => g.id === id)).map(id => _jsxs("label", { children: [_jsx("input", { type: "checkbox", checked: true, disabled: busy, onChange: () => change({ groupIds: policy.groupIds.filter(g => g !== id), autonomousGroupIds: policy.autonomousGroupIds.filter(g => g !== id), replyVoiceGroupId: policy.replyVoiceGroupId === id ? '' : (policy.replyVoiceGroupId ?? '') }) }), _jsxs("span", { children: [_jsx("strong", { children: "\u5DF2\u9009\u62E9\u7684\u7FA4" }), _jsx("small", { children: id })] })] }, id))] }), groupsLoaded && !groups.length && _jsx("p", { children: "\u5F53\u524D\u8D26\u53F7\u6CA1\u6709\u53EF\u9009\u62E9\u7684\u7FA4\u3002" })] }) : page === 'media' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx(Field, { label: "\u804A\u5929\u8868\u60C5\u6765\u6E90", hint: "\u9ED8\u8BA4\u5E93\u9002\u7528\u4E8E\u6240\u6709\u6E20\u9053\uFF1BQQ \u53EF\u7528\u81EA\u5DF1\u7684\u539F\u751F\u8868\u60C5\u5B9E\u73B0\uFF0C\u672A\u5339\u914D\u5230\u65F6\u56DE\u9000\u9ED8\u8BA4\u5E93\u3002", children: _jsxs("select", { value: policy.stickerSource, disabled: busy, onChange: e => change({ stickerSource: e.target.value }), children: [_jsx("option", { value: "channel", children: "QQ \u8868\u60C5\u4F18\u5148\uFF08\u63A8\u8350\uFF09" }), _jsx("option", { value: "default", children: "\u4F7F\u7528\u4F19\u4F34\u9ED8\u8BA4\u8868\u60C5\u5E93" })] }) }), _jsx(Toggle, { title: "QQ \u7CFB\u7EDF\u8868\u60C5", detail: "\u5141\u8BB8\u4F19\u4F34\u8C03\u7528 QQ \u539F\u751F\u8868\u60C5\uFF0C\u4E5F\u53EF\u5728\u300C\u53D1\u9001\u6D88\u606F\u300D\u4E2D\u6D4F\u89C8\u548C\u9009\u62E9\u3002", value: policy.facesEnabled, disabled: busy, onChange: v => change({ facesEnabled: v }) }), _jsx(Toggle, { title: "\u56FE\u7247\u4E0E\u8868\u60C5\u5305", detail: "\u5141\u8BB8\u53D1\u9001\u4F19\u4F34\u751F\u6210\u7684\u56FE\u7247\u548C\u4EBA\u683C\u914D\u7F6E\u4E2D\u7684\u8868\u60C5\u5305\u3002", value: policy.imagesEnabled, disabled: busy, onChange: v => change({ imagesEnabled: v }) }), entry('send', '预览并选择系统表情,再发送给指定接收人'), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u8868\u60C5\u5C5E\u4E8E\u804A\u5929\u56DE\u590D\u80FD\u529B\uFF0C\u672A\u5F52\u5C5E\u8D26\u53F7\u4E5F\u53EF\u4F7F\u7528\u3002\u5206\u6BB5\u548C\u8868\u60C5\u4F7F\u7528\u4E60\u60EF\u5728\u300C\u8EAB\u4EFD \u2192 \u89D2\u8272\u804A\u5929 \u2192 \u804A\u5929\u65B9\u5F0F\u300D\u8BBE\u7F6E\u3002\u8FD9\u91CC\u63A7\u5236 QQ \u6E20\u9053\u80FD\u5426\u53D1\u9001\uFF0C\u4E0D\u5F3A\u5236\u6BCF\u6B21\u56DE\u590D\u9644\u5E26\u8868\u60C5\u3002" })] }) : page === 'access' ? _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx(QqIdentityBindingEditor, { value: policy.identityBinding, disabled: busy, pairings: owned, onChange: identityBinding => change({ identityBinding }) }), _jsx("div", { className: "dsh-partner-qq-divider" }), _jsx("strong", { children: "\u8054\u7CFB\u4EBA\u6388\u6743" }), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u79C1\u804A\u59CB\u7EC8\u9700\u8981\u8D26\u53F7\u5BA1\u6279\uFF1B\u767D\u540D\u5355\u7FA4\u653E\u884C\u6240\u6709\u6210\u5458\uFF0C\u5176\u4ED6\u5DF2\u63A5\u5165\u7FA4\u9700\u8981\u5BA1\u6279\u53D1\u8A00\u8D26\u53F7\u3002\u79C1\u804A\u4E0E\u5404\u7FA4\u7684\u8D26\u53F7\u5BA1\u6279\u5206\u522B\u8BB0\u5F55\uFF0C\u4E0D\u4E92\u76F8\u7EE7\u627F\uFF1B\u660E\u786E\u5C4F\u853D\u7684\u8D26\u53F7\u4ECD\u4E0D\u56DE\u590D\u3002\u5F52\u5C5E\u8D26\u53F7\u51B3\u5B9A\u5173\u7CFB\u4E0E\u79C1\u6709\u80FD\u529B\uFF0C\u4E0D\u66FF\u4EE3\u804A\u5929\u8BB8\u53EF\u3002" }), !owned.length && _jsx("p", { children: "\u6682\u65E0\u5BA1\u6279\u8BF7\u6C42\u3002\u79C1\u804A\u6216\u975E\u767D\u540D\u5355\u7684\u5DF2\u63A5\u5165\u7FA4\u9996\u6B21\u89E6\u53D1\u65F6\u4F1A\u751F\u6210\u8BF7\u6C42\uFF1B\u767D\u540D\u5355\u7FA4\u65E0\u9700\u9010\u4EBA\u5BA1\u6279\u3002" }), _jsx("div", { className: "dsh-partner-qq-options", children: owned.map(p => _jsxs("div", { className: "dsh-partner-qq-person", children: [_jsxs("span", { children: [_jsx("strong", { children: p.displayName }), _jsx("small", { children: qqGroupPeer(p.userId) ? (p.status === 'blocked' ? '群内已屏蔽' : groupWhite(p.userId) ? '群白名单已放行' : p.status === 'approved' ? '群内账号已批准' : '群内账号待批准') : p.status === 'approved' ? '私聊已批准' : p.status === 'pending' ? '私聊待批准' : '私聊已阻止' }), !groupWhite(p.userId) && p.status === 'pending' && p.pairingCode && _jsx("code", { children: p.pairingCode })] }), _jsx("button", { disabled: busy, onClick: () => void run(async () => { await api(`/pairings/${p.id}/status`, { method: 'POST', body: JSON.stringify({ status: (groupWhite(p.userId) ? p.status !== 'blocked' : p.status === 'approved') ? 'blocked' : 'approved' }) }); await onChanged(); }), children: groupWhite(p.userId) ? (p.status === 'blocked' ? '解除屏蔽' : '屏蔽') : (p.status === 'approved' ? '撤销' : '批准') })] }, p.id)) })] }) : _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx(Field, { label: "\u63A5\u6536\u4EBA", hint: "\u53EA\u5217\u51FA\u5DF2\u6388\u6743\u7684\u79C1\u804A\u597D\u53CB\u548C\u7FA4\u6210\u5458\uFF1B\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u5E94\u7684\u7FA4\u3002", children: _jsxs("select", { value: userId, disabled: busy, onChange: e => setUserId(e.target.value), children: [_jsx("option", { value: "", children: "\u8BF7\u9009\u62E9\u63A5\u6536\u4EBA" }), approved.map(p => _jsx("option", { value: p.userId, children: p.displayName }, p.id))] }) }), _jsxs("div", { className: "dsh-partner-qq-segments", role: "group", "aria-label": "\u53D1\u9001\u5185\u5BB9\u7C7B\u578B", children: [_jsx("button", { disabled: busy, "aria-pressed": mode === 'text', onClick: () => setMode('text'), children: "\u6587\u5B57" }), _jsx("button", { disabled: busy, "aria-pressed": mode === 'face', onClick: () => { setMode('face'); if (!faces.length)
|
|
46
|
+
void loadFaces(); }, children: "QQ \u8868\u60C5" })] }), mode === 'text' ? _jsx(Field, { label: "\u6D88\u606F\u5185\u5BB9", children: _jsx("textarea", { rows: 4, maxLength: 3000, value: text, disabled: busy, onChange: e => setText(e.target.value), placeholder: "\u8F93\u5165\u8981\u53D1\u9001\u7684\u6587\u5B57\u2026" }) }) : _jsxs(_Fragment, { children: [_jsx(Field, { label: "\u8868\u60C5\u5206\u7C7B", children: _jsxs("select", { value: category, onChange: e => { setCategory(e.target.value); setFaceLimit(80); }, children: [_jsx("option", { value: "", children: "\u5168\u90E8\u5206\u7C7B" }), [...new Set(faces.map(f => f.category))].map(c => _jsx("option", { value: c, children: c }, c))] }) }), _jsx(Field, { label: "\u641C\u7D22\u8868\u60C5\u540D\u79F0\u6216\u7F16\u53F7", children: _jsx("input", { value: search, onChange: e => setSearch(e.target.value) }) }), _jsx("div", { className: "dsh-partner-qq-faces", "aria-label": "QQ \u8868\u60C5\u76EE\u5F55", children: filteredFaces.slice(0, faceLimit).map(f => _jsxs("button", { type: "button", "aria-pressed": face?.id === f.id, onClick: () => setFace(f), title: `${f.name} · ${f.id}`, children: [_jsxs("span", { className: "dsh-partner-qq-face-preview", children: [f.image && _jsx("img", { src: f.image, alt: "", loading: "lazy", referrerPolicy: "no-referrer", onError: e => { e.currentTarget.hidden = true; } }), _jsx("span", { className: "dsh-partner-qq-face-number", children: f.id })] }), _jsx("span", { children: f.name })] }, f.id + '-' + f.category)) }), _jsxs("div", { className: "dsh-partner-qq-catalog-info", children: [_jsxs("span", { children: [filteredFaces.length, " \u4E2A\u8868\u60C5"] }), filteredFaces.length > faceLimit && _jsx("button", { onClick: () => setFaceLimit(n => n + 80), children: "\u663E\u793A\u66F4\u591A" })] }), !faces.length && _jsx("button", { disabled: busy, onClick: () => void loadFaces(), children: "\u8BFB\u53D6 QQ \u8868\u60C5\u76EE\u5F55" }), face && _jsxs("p", { children: ["\u5DF2\u9009\u62E9\uFF1A", face.name, " \u00B7 ", face.id] })] }), _jsx("div", { className: "dsh-partner-qq-actions", children: _jsx("button", { className: "is-primary", disabled: busy || !userId || (mode === 'text' ? !text.trim() : !face) || !channel.enabled || (mode === 'face' && (face?.kind === 'custom' ? channel.qq?.imagesEnabled === false : channel.qq?.facesEnabled === false)), onClick: () => void run(async () => { await post('send', { userId, ...(mode === 'text' ? { text } : face.kind === 'custom' ? { customFaceId: face.nativeId } : { faceId: face.id }) }); if (mode === 'text')
|
|
47
|
+
setText(''); }, '消息已确认发送'), children: busy ? '处理中…' : '发送到所选接收人' }) })] }), channel.lastError && page === 'home' && _jsx("p", { role: "alert", className: "dsh-partner-qq-feedback", children: channel.lastError }), feedback && _jsx("p", { role: failed ? 'alert' : 'status', className: "dsh-partner-qq-feedback", children: feedback }), dirty && _jsxs("footer", { className: "dsh-partner-qq-save", children: [_jsx("span", { children: "\u8BBE\u7F6E\u5C1A\u672A\u4FDD\u5B58" }), _jsx("button", { disabled: busy, onClick: () => setPolicy(qqSettings(channel.qq)), children: "\u8FD8\u539F" }), _jsx("button", { className: "is-primary", disabled: busy, onClick: () => void save(), children: "\u4FDD\u5B58\u8BBE\u7F6E" })] })] });
|
|
48
|
+
}
|
|
49
|
+
function Field({ label, hint, children }) { return _jsxs("label", { className: "dsh-partner-qq-field", children: [_jsx("span", { children: label }), children, hint && _jsx("small", { children: hint })] }); }
|
|
50
|
+
function Toggle({ title, detail, value, disabled, onChange }) { return _jsxs("div", { className: "dsh-partner-qq-toggle", children: [_jsxs("span", { children: [_jsx("strong", { children: title }), _jsx("small", { children: detail })] }), _jsxs("div", { children: [_jsx("button", { type: "button", role: "switch", className: "dsh-partner-switch", "aria-label": title, "aria-checked": value, "data-on": value, disabled: disabled, onClick: () => onChange(!value), children: _jsx("i", {}) }), _jsx("small", { children: value ? '已开启' : '已关闭' })] })] }); }
|
|
51
|
+
function Glyph({ name }) { const paths = { voice: 'M9 4a3 3 0 0 1 6 0v7a3 3 0 0 1-6 0z M5 10v1a7 7 0 0 0 14 0v-1 M12 18v3 M8 21h8', capabilities: 'M12 3v18 M3 12h18 M5 5l14 14 M5 19L19 5', sessions: 'M4 4h16v7H4z M4 15h7v5H4z M15 15h5v5h-5z M8 11v4 M17 11v4', autonomy: 'M4 4h16v12H9l-5 4z M8 10h8', connection: 'M8 8h8v8H8z M12 3v5 M12 16v5 M3 12h5 M16 12h5', private: 'M4 4h16v12H9l-5 4z', group: 'M3 4h12v10H7l-4 3z M15 8h6v12l-4-3h-6v-3', groups: 'M4 5h16v14H4z M4 10h16 M9 5v14', media: 'M8 9h.01 M16 9h.01 M8 14q4 5 8 0 M12 3a9 9 0 1 0 0 18a9 9 0 1 0 0-18', access: 'M12 3l8 3v6q0 6-8 9q-8-3-8-9V6z M8 12l3 3l5-6', send: 'M3 3l18 9-18 9l4-9z M7 12h14' }; return _jsx("svg", { viewBox: "0 0 24 24", width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: paths[name] }) }); }
|
|
52
|
+
//# sourceMappingURL=qq-channel-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-channel-settings.js","sourceRoot":"","sources":["../../src/ui/qq-channel-settings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-connection-guide.d.ts","sourceRoot":"","sources":["../../src/ui/qq-connection-guide.tsx"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,OAAO,CAO/C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export function QqConnectionGuide() {
|
|
3
|
+
return _jsxs("aside", { className: "dsh-partner-qq-guide", "aria-label": "QQ \u63A5\u5165\u8BF4\u660E", children: [_jsx("strong", { children: "\u5148\u90E8\u7F72 SnowLuma\uFF0C\u518D\u8FDE\u63A5 QQ" }), _jsxs("p", { children: ["\u6309", _jsx("a", { href: "https://snowluma.github.io/zh/docs/guide/deploy", target: "_blank", rel: "noopener noreferrer", children: "\u90E8\u7F72\u6587\u6863" }), "\u5B89\u88C5 SnowLuma \u5E76\u767B\u5F55 QQ\uFF0C\u7136\u540E\u586B\u5199\u6B63\u5411 WebSocket\uFF08Universal\uFF09\u5730\u5740\u548C WS Access Token\u3002"] }), _jsx("p", { children: "\u6B63\u5411 WS \u540C\u65F6\u6536\u53D1\u6D88\u606F\uFF0C\u65E0\u9700\u586B\u5199 HTTP API\u3002" }), _jsx("p", { children: "\u4E5F\u53EF\u4EE5\u8BA9 AI \u53C2\u7167\u6587\u6863\uFF0C\u534F\u52A9\u90E8\u7F72 SnowLuma \u5E76\u914D\u7F6E QQ \u6E20\u9053\u3002" })] });
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=qq-connection-guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-connection-guide.js","sourceRoot":"","sources":["../../src/ui/qq-connection-guide.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,iBAAiB;IAC/B,OAAO,iBAAO,SAAS,EAAC,sBAAsB,gBAAY,6BAAS,aACjE,sFAAoC,EACpC,kCAAI,YAAG,IAAI,EAAC,iDAAiD,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,yCAAS,oKAAsE,EACtL,4HAAkC,EAClC,+JAA4C,IACtC,CAAA;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PairingView } from '../client-api.js';
|
|
2
|
+
import { type QqSettings } from '../channels/qq/settings.js';
|
|
3
|
+
export declare function QqIdentityBindingEditor({ value, disabled, onChange }: {
|
|
4
|
+
value: QqSettings['identityBinding'];
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
pairings: PairingView[];
|
|
7
|
+
onChange(value: QqSettings['identityBinding']): void;
|
|
8
|
+
}): JSX.Element;
|
|
9
|
+
//# sourceMappingURL=qq-identity-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-identity-binding.d.ts","sourceRoot":"","sources":["../../src/ui/qq-identity-binding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAa,KAAK,UAAU,EAAC,MAAM,4BAA4B,CAAA;AAEtE,wBAAgB,uBAAuB,CAAC,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAC,EAAE;IACjE,KAAK,EAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAAC,QAAQ,EAAC,OAAO,CAAC;IAAC,QAAQ,EAAC,WAAW,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAC,UAAU,CAAC,iBAAiB,CAAC,GAAE,IAAI,CAAA;CAClI,GAAG,GAAG,CAAC,OAAO,CAKd"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { boundQqIds } from '../channels/qq/settings.js';
|
|
3
|
+
export function QqIdentityBindingEditor({ value, disabled, onChange }) {
|
|
4
|
+
return _jsxs("section", { className: "dsh-partner-qq-identity-binding", "aria-label": "\u5F52\u5C5E\u8D26\u53F7", children: [_jsxs("label", { className: "dsh-partner-qq-field", children: [_jsx("span", { children: "\u5F52\u5C5E QQ \u53F7" }), _jsx("textarea", { value: (value.qqIds ?? boundQqIds(value)).join('\n'), rows: 4, autoComplete: "off", disabled: disabled, placeholder: "\u6BCF\u884C\u4E00\u4E2A QQ \u53F7\uFF0C\u4E5F\u53EF\u7528\u9017\u53F7\u5206\u9694", onChange: e => { const qqIds = e.target.value.split(/[\n,,]/); onChange({ enabled: qqIds.some(id => id.trim()), qqIds }); } }), _jsx("small", { children: "\u53EF\u4EE5\u6DFB\u52A0\u591A\u4E2A\u8D26\u53F7\uFF0C\u540C\u4E00\u8D26\u53F7\u5728\u79C1\u804A\u548C\u7FA4\u804A\u4E2D\u5747\u9002\u7528\u3002\u53EA\u6709\u8FD9\u4E9B\u8D26\u53F7\u52A0\u8F7D\u8EAB\u4EFD\u91CC\u7684\u5173\u7CFB\u8BBE\u5B9A\uFF0C\u5E76\u53EF\u5728\u5DF2\u914D\u7F6E\u6743\u9650\u8303\u56F4\u5185\u4F7F\u7528\u5DE5\u5177\u4E0E\u81EA\u4E3B\u80FD\u529B\u3002" })] }), _jsx("p", { className: "dsh-partner-qq-hint", children: "\u5176\u4ED6\u8D26\u53F7\u53EF\u4F7F\u7528\u5DF2\u5F00\u542F\u7684\u6587\u5B57\u3001\u8868\u60C5\u5305\u548C\u5F53\u524D\u4F1A\u8BDD\u8BED\u97F3\u56DE\u590D\uFF0C\u4E0D\u80FD\u4FEE\u6539\u4EBA\u8BBE\u3001\u8BBF\u95EE\u79C1\u6709\u8D44\u6599\u3001\u64CD\u4F5C\u7A7A\u95F4\u6216\u53D1\u8D77\u4EFB\u52A1\u3002\u7559\u7A7A\u65F6\u6240\u6709 QQ \u7528\u6237\u5747\u53EA\u6709\u804A\u5929\u56DE\u590D\u80FD\u529B\u3002\u7CFB\u7EDF\u53D1\u8D77\u7684\u81EA\u4E3B\u4EFB\u52A1\u4ECD\u9075\u5B88\u80FD\u529B\u5F00\u5173\u4E0E\u539F\u6709\u6388\u6743\uFF1B\u767D\u540D\u5355\u7FA4\u653E\u884C\u6240\u6709\u6210\u5458\uFF1B\u5176\u4ED6\u7FA4\u4E0E\u79C1\u804A\u5206\u522B\u5BA1\u6279\u8D26\u53F7\u3002\u586B\u5199\u5F52\u5C5E\u8D26\u53F7\u4E0D\u4F1A\u81EA\u52A8\u901A\u8FC7\u5BA1\u6279\u6216\u5F00\u653E\u79C1\u804A\u3002" })] });
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=qq-identity-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-identity-binding.js","sourceRoot":"","sources":["../../src/ui/qq-identity-binding.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,UAAU,EAAkB,MAAM,4BAA4B,CAAA;AAEtE,MAAM,UAAU,uBAAuB,CAAC,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAE/D;IACC,OAAO,mBAAS,SAAS,EAAC,iCAAiC,gBAAY,0BAAM,aAC3E,iBAAO,SAAS,EAAC,sBAAsB,aAAC,oDAAoB,EAAA,mBAAU,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,EAAC,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,oFAAmB,EAAC,QAAQ,EAAE,CAAC,CAAA,EAAE,GAAC,MAAM,KAAK,GAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA,QAAQ,CAAC,EAAC,OAAO,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAA,EAAE,CAAA,EAAE,CAAC,IAAI,EAAE,CAAC,EAAC,KAAK,EAAC,CAAC,CAAA,CAAA,CAAC,GAAG,EAAA,mZAA6E,IAAQ,EACjZ,YAAG,SAAS,EAAC,qBAAqB,yzBAA+I,IACzK,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ChannelView } from '../client-api.js';
|
|
2
|
+
import type { QqSettings } from '../channels/qq/settings.js';
|
|
3
|
+
export declare function QqVoiceReplySettings({ channel, policy, change, busy }: {
|
|
4
|
+
channel: ChannelView;
|
|
5
|
+
policy: QqSettings;
|
|
6
|
+
change(patch: Partial<QqSettings>): void;
|
|
7
|
+
busy: boolean;
|
|
8
|
+
}): JSX.Element;
|
|
9
|
+
//# sourceMappingURL=qq-voice-reply-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-voice-reply-settings.d.ts","sourceRoot":"","sources":["../../src/ui/qq-voice-reply-settings.tsx"],"names":[],"mappings":"AACA,OAAO,EAAK,KAAK,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAA;AAE1D,wBAAgB,oBAAoB,CAAC,EAAC,OAAO,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,EAAC;IAAC,OAAO,EAAC,WAAW,CAAC;IAAA,MAAM,EAAC,UAAU,CAAC;IAAA,MAAM,CAAC,KAAK,EAAC,OAAO,CAAC,UAAU,CAAC,GAAE,IAAI,CAAC;IAAA,IAAI,EAAC,OAAO,CAAA;CAAC,GAAE,GAAG,CAAC,OAAO,CAezK"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { api } from '../client-api.js';
|
|
4
|
+
export function QqVoiceReplySettings({ channel, policy, change, busy }) {
|
|
5
|
+
const [voices, setVoices] = useState([]), [loading, setLoading] = useState(false), [error, setError] = useState('');
|
|
6
|
+
const group = policy.replyVoiceGroupId || policy.groupIds[0] || '';
|
|
7
|
+
const load = async () => {
|
|
8
|
+
setLoading(true);
|
|
9
|
+
setError('');
|
|
10
|
+
try {
|
|
11
|
+
const rows = await api(`/channels/${channel.id}/qq/voices?groupId=${encodeURIComponent(group)}`);
|
|
12
|
+
setVoices(rows.flatMap(r => Array.isArray(r.characters) ? r.characters.map((v) => ({ id: v.character_id, name: v.character_name })) : []));
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
setError('音色读取失败,请确认渠道在线,并先保存所选群。');
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
setLoading(false);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return _jsxs("div", { className: "dsh-partner-qq-pane", children: [_jsx("p", { className: "dsh-partner-qq-hint", children: "\u804A\u5929\u56DE\u590D \u00B7 \u767D\u540D\u5355\u7FA4\u5185\u6240\u6709\u6210\u5458\u5747\u53EF\u4F7F\u7528\uFF1B\u5176\u4ED6\u5DF2\u63A5\u5165\u7FA4\u9700\u8981\u6210\u5458\u5BA1\u6279\uFF0C\u79C1\u804A\u9700\u8981\u5355\u72EC\u5BA1\u6279\u3002\u672A\u5F52\u5C5E\u8D26\u53F7\u4E5F\u53EF\u7528\u3002\u4EC5\u56DE\u590D\u5F53\u524D\u79C1\u804A\u6216\u5F53\u524D\u7FA4\uFF0C\u4E0D\u5F00\u653E\u6587\u4EF6\u8BFB\u53D6\u3001\u8F6C\u53D1\u4E0E\u7BA1\u7406\u64CD\u4F5C\u3002" }), _jsxs("div", { className: "dsh-partner-qq-toggle", children: [_jsxs("span", { children: [_jsx("strong", { children: "\u5141\u8BB8\u8BED\u97F3\u56DE\u590D" }), _jsx("small", { children: "\u4F19\u4F34\u6309\u8BED\u5883\u9009\u62E9\u6587\u5B57\u6216\u8BED\u97F3\uFF0C\u4E0D\u5F3A\u5236\u6BCF\u6B21\u4F7F\u7528\u3002\u6B64\u5F00\u5173\u72EC\u7ACB\u4E8E\u79C1\u6709\u80FD\u529B\u3002" })] }), _jsxs("div", { children: [_jsx("button", { type: "button", role: "switch", className: "dsh-partner-switch", "aria-label": "\u5141\u8BB8\u8BED\u97F3\u56DE\u590D", "aria-checked": policy.replyVoiceEnabled === true, "data-on": policy.replyVoiceEnabled === true, disabled: busy, onClick: () => change({ replyVoiceEnabled: !policy.replyVoiceEnabled }), children: _jsx("i", {}) }), _jsx("small", { children: policy.replyVoiceEnabled ? '已开启' : '已关闭' })] })] }), _jsxs("label", { className: "dsh-partner-qq-field", children: [_jsx("span", { children: "\u79C1\u804A\u8BED\u97F3\u7684\u97F3\u8272\u6765\u6E90\u7FA4" }), _jsxs("select", { disabled: busy || loading, value: group, onChange: e => { change({ replyVoiceGroupId: e.target.value }); setVoices([]); }, children: [_jsx("option", { value: "", children: "\u8BF7\u9009\u62E9\u5DF2\u63A5\u5165\u7684\u7FA4" }), policy.groupIds.map(id => _jsx("option", { value: id, children: id }, id))] }), _jsx("small", { children: "QQ \u97F3\u8272\u9700\u8981\u901A\u8FC7\u7FA4\u83B7\u53D6\u3002\u79C1\u804A\u53EA\u501F\u7528\u97F3\u8272\u5408\u6210\uFF0C\u8BED\u97F3\u4ECD\u53D1\u7ED9\u5F53\u524D\u79C1\u804A\u7528\u6237\uFF1B\u7FA4\u804A\u4F7F\u7528\u5F53\u524D\u7FA4\u7684\u97F3\u8272\u3002" })] }), _jsx("div", { className: "dsh-partner-qq-actions", children: _jsx("button", { type: "button", disabled: busy || loading || !group, onClick: () => void load(), children: loading ? '读取中…' : '读取可用音色' }) }), _jsxs("label", { className: "dsh-partner-qq-field", children: [_jsx("span", { children: "\u9ED8\u8BA4\u97F3\u8272" }), _jsxs("select", { disabled: busy, value: policy.voiceCharacter, onChange: e => change({ voiceCharacter: e.target.value }), children: [_jsx("option", { value: "", children: "\u4F7F\u7528\u53EF\u7528\u97F3\u8272" }), policy.voiceCharacter && !voices.some(v => v.id === policy.voiceCharacter) && _jsxs("option", { value: policy.voiceCharacter, children: ["\u5DF2\u4FDD\u5B58\u97F3\u8272 \u00B7 ", policy.voiceCharacter] }), voices.map(v => _jsx("option", { value: v.id, children: v.name }, v.id))] }), _jsx("small", { children: "\u53EF\u5728\u804A\u5929\u65F6\u6307\u5B9A\u5176\u4ED6\u53EF\u7528\u97F3\u8272\u3002\u5408\u6210\u5931\u8D25\u65F6\u6539\u7528\u6587\u5B57\uFF0C\u4E0D\u4F1A\u5047\u79F0\u5DF2\u53D1\u9001\u3002" })] }), error && _jsx("p", { role: "alert", children: error })] });
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=qq-voice-reply-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qq-voice-reply-settings.js","sourceRoot":"","sources":["../../src/ui/qq-voice-reply-settings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-reference.d.ts","sourceRoot":"","sources":["../../src/ui/role-reference.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"role-reference.d.ts","sourceRoot":"","sources":["../../src/ui/role-reference.tsx"],"names":[],"mappings":"AAKA,+FAA+F;AAC/F,wBAAgB,aAAa,IAAI,GAAG,CAAC,OAAO,CAkB3C"}
|
package/lib/ui/role-reference.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { PersonaTemplate } from './persona-template.js';
|
|
2
3
|
import { useState } from 'react';
|
|
3
4
|
import { WorkspaceDialog } from './workspace-components.js';
|
|
4
|
-
import { ROLE_REFERENCE_SOURCE, ROLE_REFERENCE_TEXT } from '
|
|
5
|
+
import { ROLE_REFERENCE_SOURCE, ROLE_REFERENCE_TEXT } from '../character/role-reference-data.js';
|
|
5
6
|
/** Read-only reference, deliberately separate from the active character and generic wizard. */
|
|
6
7
|
export function RoleReference() {
|
|
7
8
|
const [open, setOpen] = useState(false);
|
|
8
|
-
return _jsxs(_Fragment, { children: [_jsxs("div", { className: "dsh-partner-role-reference-entry", children: [_jsx("span", { children: "\u5148\u5199\u89D2\u8272\u81EA\u5DF1\u7684\u53CD\u5E94\uFF0C\u518D\u8865\u5177\u4F53\u8BF4\u8BDD\u4E60\u60EF\u548C\u6B63\u53CD\u4F8B\u3002" }), _jsx("button", { type: "button", onClick: () => setOpen(true), "aria-haspopup": "dialog", children: "\u67E5\u770B\u5927\u80A5\u9C7C\u53C2\u8003" })] }), open && _jsxs(WorkspaceDialog, { title: "\u5927\u80A5\u9C7C\u7684\u89D2\u8272\u5199\u6CD5", eyebrow: "QQ-BRIDGE REFERENCE", detail: "qq-bridge \u4E2D\u7684\u539F\u540D\u662F\u201C\u5C0F\u9CB8\u9C7C\u201D\u3002\
|
|
9
|
+
return _jsxs(_Fragment, { children: [_jsx(PersonaTemplate, { section: "character" }), _jsxs("div", { className: "dsh-partner-role-reference-entry", children: [_jsx("span", { children: "\u5148\u5199\u89D2\u8272\u81EA\u5DF1\u7684\u53CD\u5E94\uFF0C\u518D\u8865\u5177\u4F53\u8BF4\u8BDD\u4E60\u60EF\u548C\u6B63\u53CD\u4F8B\u3002" }), _jsx("button", { type: "button", onClick: () => setOpen(true), "aria-haspopup": "dialog", children: "\u67E5\u770B\u5927\u80A5\u9C7C\u53C2\u8003" })] }), open && _jsxs(WorkspaceDialog, { title: "\u5927\u80A5\u9C7C\u7684\u89D2\u8272\u5199\u6CD5", eyebrow: "QQ-BRIDGE REFERENCE", detail: "qq-bridge \u4E2D\u7684\u539F\u540D\u662F\u201C\u5C0F\u9CB8\u9C7C\u201D\u3002\u9875\u9762\u4E0E AI \u751F\u6210\u4EBA\u683C\u65F6\u4F7F\u7528\u540C\u4E00\u4EFD\u53C2\u8003\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u8986\u76D6\u5F53\u524D\u4F19\u4F34\u3002", close: () => setOpen(false), width: "wide", className: "dsh-partner-character-dialog", children: [_jsxs("div", { className: "dsh-partner-role-reference-guide", children: [_jsx("h4", { children: "\u5148\u6709\u89D2\u8272\uFF0C\u518D\u6709\u8BF4\u8BDD\u65B9\u5F0F" }), _jsx("p", { children: "\u539F\u7248\u6309\u201C\u4F60\u662F\u8C01 \u2192 \u8BF4\u8BDD\u89C4\u5219 \u2192 \u8282\u594F\u4E60\u60EF \u2192 \u4E2A\u6027\u4E0E\u6897 \u2192 \u907F\u514D\u7684\u8868\u8FBE \u2192 \u6B63\u53CD\u4F8B \u2192 \u80CC\u666F\u5F62\u8C61\u201D\u7EC4\u7EC7\u3002\u6709\u6548\u7684\u90E8\u5206\u662F\u5177\u4F53\u53CD\u5E94\u548C\u505C\u6B62\u65F6\u673A\uFF0C\u4E0D\u662F\u628A\u6BCF\u6B21\u56DE\u590D\u5199\u6210\u540C\u4E00\u5957\u5634\u786C\u3001\u5173\u5FC3\u7684\u6D41\u7A0B\u3002" }), _jsx("h4", { children: "\u4E00\u53E5\u591F\u4E86\u5C31\u7ED3\u675F" }), _jsx("p", { children: "\u539F\u7248\u4E5F\u5199\u7740\u201C\u80FD\u4E00\u53E5\u7B54\u5B8C\u5C31\u522B\u52A0\u620F\u201D\u3002\u5206\u6BB5\u53EA\u7528\u4E8E\u786E\u5B9E\u60F3\u8865\u5145\u7684\u5185\u5BB9\uFF1B\u8868\u60C5\u4E5F\u662F\u53EF\u9009\u7684\u53CD\u5E94\uFF0C\u4E0D\u662F\u6BCF\u8F6E\u7684\u88C5\u9970\u3002" }), _jsx("h4", { children: "\u653E\u5230\u4F19\u4F34\u91CC\u600E\u4E48\u7528" }), _jsx("p", { children: "\u89D2\u8272\u8BBE\u5B9A\u4FDD\u7559\u81EA\u8EAB\u8EAB\u4EFD\u3001\u5174\u8DA3\u4E0E\u5177\u4F53\u4E60\u60EF\uFF1B\u4E0E\u7528\u6237\u7684\u5173\u7CFB\u548C\u4E13\u5C5E\u79F0\u547C\u5355\u72EC\u5199\u5728\u201C\u5173\u7CFB\u8BBE\u5B9A\u201D\u3002\u4F19\u4F34\u7EE7\u7EED\u4F7F\u7528\u5168\u90E8\u5DF2\u6388\u6743\u5DE5\u5177\uFF1B\u539F\u7248\u7684\u7FA4\u804A\u6F5C\u6C34\u3001\u6545\u610F\u7B49\u5F85\u548C\u62D2\u7EDD\u529E\u4E8B\u89C4\u5219\u4E0D\u81EA\u52A8\u5E94\u7528\u3002" })] }), _jsxs("details", { className: "dsh-partner-role-reference-original", children: [_jsx("summary", { children: "\u5C55\u5F00\u539F\u7248\u89D2\u8272\u5361 \u00B7 \u53EA\u8BFB" }), _jsx("pre", { children: ROLE_REFERENCE_TEXT })] }), _jsx("a", { href: ROLE_REFERENCE_SOURCE, target: "_blank", rel: "noreferrer", children: "\u5728 GitHub \u67E5\u770B\u5BF9\u5E94\u7248\u672C" })] })] });
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=role-reference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-reference.js","sourceRoot":"","sources":["../../src/ui/role-reference.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"role-reference.js","sourceRoot":"","sources":["../../src/ui/role-reference.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAEhG,+FAA+F;AAC/F,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,OAAO,8BACL,KAAC,eAAe,IAAC,OAAO,EAAC,WAAW,GAAG,EACvC,eAAK,SAAS,EAAC,kCAAkC,aAAC,wKAAoC,EAAA,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAgB,QAAQ,2DAAiB,IAAM,EACtL,IAAI,IAAI,MAAC,eAAe,IAAC,KAAK,EAAC,kDAAU,EAAC,OAAO,EAAC,qBAAqB,EAAC,MAAM,EAAC,oPAAsD,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,SAAS,EAAC,8BAA8B,aACvN,eAAK,SAAS,EAAC,kCAAkC,aAC/C,8FAAoB,EACpB,2fAAiG,EACjG,sEAAgB,EAChB,iUAAwD,EACxD,4EAAiB,EACjB,2fAAuF,IACnF,EACN,mBAAS,SAAS,EAAC,qCAAqC,aAAC,+FAA+B,EAAA,wBAAM,mBAAmB,GAAO,IAAU,EAClI,YAAG,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,mEAAoB,IACpE,IACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CompanionView } from '../client-api.js';
|
|
2
|
+
import { type SleepPolicy } from '../character/sleep.js';
|
|
3
|
+
export declare function SleepEditor({ companion, value, disabled, active, onChange }: {
|
|
4
|
+
companion: CompanionView;
|
|
5
|
+
value: SleepPolicy;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
active: boolean;
|
|
8
|
+
onChange(value: SleepPolicy): void;
|
|
9
|
+
}): JSX.Element;
|
|
10
|
+
//# sourceMappingURL=sleep-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep-editor.d.ts","sourceRoot":"","sources":["../../src/ui/sleep-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAE1D,OAAO,EAA2B,KAAK,WAAW,EAAmB,MAAM,uBAAuB,CAAA;AAGlG,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAmCnN"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { api } from '../client-api.js';
|
|
4
|
+
import { fatigueLabel, fatigueValue } from '../character/fatigue.js';
|
|
5
|
+
import { isSleeping, sleepPolicy } from '../character/sleep.js';
|
|
6
|
+
import { errorMessage } from './workspace-components.js';
|
|
7
|
+
export function SleepEditor({ companion, value, disabled, active, onChange }) {
|
|
8
|
+
const [state, setState] = useState(companion.sleepState ?? {});
|
|
9
|
+
const [error, setError] = useState(), [waking, setWaking] = useState(false);
|
|
10
|
+
const [now, setNow] = useState(Date.now());
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!active)
|
|
13
|
+
return;
|
|
14
|
+
let alive = true, running = false;
|
|
15
|
+
setState(companion.sleepState ?? {});
|
|
16
|
+
setError(undefined);
|
|
17
|
+
setNow(Date.now());
|
|
18
|
+
const refresh = async () => { if (running || document.hidden)
|
|
19
|
+
return; running = true; try {
|
|
20
|
+
const data = await api(`/companions/${encodeURIComponent(companion.id)}/sleep`);
|
|
21
|
+
if (alive) {
|
|
22
|
+
setState(data.state);
|
|
23
|
+
setNow(data.serverNow ?? Date.now());
|
|
24
|
+
setError(undefined);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
if (alive)
|
|
29
|
+
setError(errorMessage(e));
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
running = false;
|
|
33
|
+
} };
|
|
34
|
+
void refresh();
|
|
35
|
+
const timer = setInterval(() => void refresh(), 15000);
|
|
36
|
+
return () => { alive = false; clearInterval(timer); };
|
|
37
|
+
}, [companion.id, active, companion.updatedAt]);
|
|
38
|
+
const sleeping = isSleeping({ ...companion, sleepState: state }, now), episode = state.episode;
|
|
39
|
+
const fatigue = Math.round(fatigueValue({ ...companion, sleepState: state }, now));
|
|
40
|
+
const wakingSlowly = sleeping && state.reception?.state === 'sleeping' && now - state.reception.at < 10 * 60_000;
|
|
41
|
+
const wake = async () => { setWaking(true); setError(undefined); try {
|
|
42
|
+
await api(`/companions/${encodeURIComponent(companion.id)}/sleep`, { method: 'POST', body: JSON.stringify({ action: 'wake' }) });
|
|
43
|
+
const data = await api(`/companions/${encodeURIComponent(companion.id)}/sleep`);
|
|
44
|
+
setState(data.state);
|
|
45
|
+
setNow(data.serverNow ?? Date.now());
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
setError(errorMessage(e));
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
setWaking(false);
|
|
52
|
+
} };
|
|
53
|
+
return _jsxs("section", { className: "dsh-partner-character", "aria-label": "\u7761\u7720\u4E0E\u505A\u68A6", children: [_jsxs("header", { children: [_jsxs("div", { children: [_jsxs("h3", { children: ["\u81EA\u4E3B\u7761\u7720 ", _jsx("small", { children: "\u53EF\u9009" })] }), _jsx("p", { children: "\u60F3\u4F11\u606F\u65F6\u5C31\u7761\u4E00\u4F1A\u513F\uFF0C\u4E0D\u8BBE\u56FA\u5B9A\u4F5C\u606F\u65F6\u95F4\u3002" })] }), _jsxs("div", { className: "dsh-partner-character-toggle", children: [_jsx("button", { type: "button", role: "switch", className: "dsh-partner-switch", "aria-label": "\u5F00\u542F\u81EA\u4E3B\u7761\u7720", "aria-checked": value.enabled, "data-on": value.enabled, disabled: disabled, onClick: () => onChange({ ...value, enabled: !value.enabled }), children: _jsx("i", { "aria-hidden": "true" }) }), _jsx("span", { children: value.enabled ? '已开启' : '已关闭' })] })] }), _jsx("p", { className: "dsh-partner-character-hint", children: "\u75B2\u60EB\u8D8A\u9AD8\uFF0C\u7A7A\u95F2\u65F6\u8D8A\u5BB9\u6613\u7761\u7740\u3002\u79C1\u804A\u4F1A\u5148\u6709\u8FF7\u7CCA\u56DE\u5E94\uFF0C\u8FDE\u7EED\u547C\u5524\u9010\u6E10\u53EB\u9192\uFF1B\u4E5F\u53EF\u4EE5\u7ACB\u5373\u53EB\u9192\u3002\u5F00\u5173\u4FDD\u5B58\u540E\u751F\u6548\u3002" }), value.enabled && _jsxs("div", { className: "dsh-partner-fatigue", children: [_jsxs("div", { className: "dsh-partner-fatigue-line", children: [_jsxs("span", { children: ["\u75B2\u60EB\u503C ", _jsx("strong", { children: fatigue }), _jsx("small", { children: " / 100" })] }), _jsx("span", { children: fatigueLabel(fatigue) })] }), _jsx("div", { className: "dsh-partner-fatigue-track", role: "meter", "aria-label": `${companion.name}的疲惫值`, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": fatigue, "aria-valuetext": `${fatigue} / 100,${fatigueLabel(fatigue)}`, children: _jsx("span", { style: { transform: `scaleX(${fatigue / 100})` } }) }), _jsx("p", { className: "dsh-partner-character-hint", children: "\u6E05\u9192\u65F6\u6162\u6162\u7D2F\u79EF\uFF0C\u6309\u5B9E\u9645\u7761\u7720\u65F6\u95F4\u6062\u590D\u3002\u53EB\u9192\u540E\u4ECD\u4F1A\u4FDD\u7559\u75B2\u60EB\u3002" })] }), value.enabled && _jsxs("div", { className: "dsh-partner-sleep-dream-option", children: [_jsxs("div", { children: [_jsx("h4", { children: "\u7761\u7720\u65F6\u53EF\u4EE5\u505A\u68A6" }), _jsx("p", { children: "\u53EF\u80FD\u65E0\u68A6\uFF0C\u4E5F\u53EF\u80FD\u5206\u6BB5\u505A\u68A6\u3002\u88AB\u6253\u65AD\u53EA\u4FDD\u7559\u5DF2\u5B8C\u6210\u7684\u68A6\u6BB5\uFF0C\u68A6\u5883\u72EC\u7ACB\u4FDD\u5B58\uFF0C\u4E0D\u6539\u5199\u4E8B\u5B9E\u8BB0\u5FC6\u3002" })] }), _jsxs("div", { className: "dsh-partner-character-toggle", children: [_jsx("button", { type: "button", role: "switch", className: "dsh-partner-switch", "aria-label": "\u5141\u8BB8\u505A\u68A6", "aria-checked": value.dreamsEnabled, "data-on": value.dreamsEnabled, disabled: disabled, onClick: () => onChange({ ...value, dreamsEnabled: !value.dreamsEnabled }), children: _jsx("i", { "aria-hidden": "true" }) }), _jsx("span", { children: value.dreamsEnabled ? '已开启' : '已关闭' })] })] }), value.enabled && value.dreamsEnabled && !companion.automation.memory.enabled && _jsx("p", { className: "dsh-partner-character-hint", children: "\u5F53\u524D\u6CA1\u6709\u5F00\u542F\u8BB0\u5FC6\uFF1A\u53EF\u4EE5\u4F11\u606F\uFF0C\u4F46\u4E0D\u4F1A\u8BFB\u53D6\u65E7\u8BB0\u5FC6\u6216\u751F\u6210\u68A6\u5883\u3002\u53EF\u5728\u8BB0\u5FC6\u8BBE\u7F6E\u4E2D\u5F00\u542F\u3002" }), _jsxs("div", { className: "dsh-partner-sleep-status", role: "status", children: [_jsxs("div", { children: [_jsx("small", { children: "\u5F53\u524D\u751F\u6548\u72B6\u6001" }), _jsx("h4", { children: !sleepPolicy(companion).enabled ? '自主睡眠未开启' : sleeping ? (wakingSlowly ? '迷迷糊糊' : episode?.dream === 'generating' ? '正在做梦' : '正在休息') : '清醒' }), _jsx("p", { children: sleeping ? `预计 ${new Date(episode.wakeAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })} 自然醒,也可以随时叫醒。` : episode?.wokeAt ? `最近醒来:${new Date(episode.wokeAt).toLocaleString()} · ${episode.wakeReason ?? '已醒来'}` : '空闲时会按疲惫值决定是否休息,角色也可以主动选择睡觉。' }), sleeping && _jsx("p", { children: wakingSlowly ? `已经呼唤 ${state.reception.calls} 次,正在慢慢清醒。` : episode?.reason })] }), sleeping && _jsx("button", { type: "button", disabled: disabled || waking, onClick: () => void wake(), children: waking ? '正在唤醒…' : '立即叫醒' })] }), error && _jsx("p", { role: "alert", className: "dsh-partner-inline-error", children: error }), _jsxs("div", { className: "dsh-partner-character-section", children: [_jsxs("h4", { children: ["\u6700\u8FD1\u7684\u68A6 ", _jsx("small", { children: "\u60F3\u8C61\u4E0E\u611F\u53D7 \u00B7 \u4E0D\u662F\u771F\u5B9E\u8BB0\u5FC6" })] }), !(state.dreams?.length) && _jsx("p", { className: "dsh-partner-character-hint", children: "\u8FD8\u6CA1\u6709\u7559\u4E0B\u68A6\u5883\u3002\u4E0D\u662F\u6BCF\u6B21\u7761\u7720\u90FD\u4F1A\u505A\u68A6\uFF0C\u9192\u6765\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u53D1\u6D88\u606F\u3002" }), episode?.dream === 'interrupted' && _jsx("p", { className: "dsh-partner-character-hint", children: "\u5F53\u524D\u68A6\u6BB5\u5DF2\u4E2D\u65AD\uFF0C\u4E4B\u524D\u505A\u5B8C\u7684\u7247\u6BB5\u4ECD\u4FDD\u7559\u3002" }), episode?.dream === 'failed' && _jsx("p", { className: "dsh-partner-character-hint", children: "\u8FD9\u6B21\u68A6\u5883\u6CA1\u6709\u751F\u6210\u5B8C\u6210\uFF0C\u539F\u8BB0\u5FC6\u4E0D\u53D7\u5F71\u54CD\u3002" }), [...(state.dreams ?? [])].reverse().map(d => _jsxs("details", { className: "dsh-partner-settings-advanced dsh-partner-dream", children: [_jsxs("summary", { children: [new Date(d.at).toLocaleString(), " ", _jsx("small", { children: d.segment ? `梦段 ${d.segment}` : '梦境' })] }), _jsx("p", { children: d.narrative }), d.feeling && _jsxs("p", { children: [_jsx("strong", { children: "\u9192\u540E\u7684\u611F\u53D7" }), _jsx("br", {}), d.feeling] }), d.topic && _jsxs("p", { children: [_jsx("strong", { children: "\u60F3\u5230\u7684\u8BDD\u9898" }), _jsx("br", {}), d.topic] })] }, d.id))] })] });
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sleep-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep-editor.js","sourceRoot":"","sources":["../../src/ui/sleep-editor.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-partner",
|
|
3
|
-
"version": "2.11
|
|
4
|
-
"description": "Long-lived AI companions with WeChat, Matrix and Mattermost channels for DeepSeek Harness",
|
|
3
|
+
"version": "2.21.11",
|
|
4
|
+
"description": "Long-lived AI companions with QQ, WeChat, Matrix and Mattermost channels for DeepSeek Harness",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
7
7
|
"dsh",
|
|
8
8
|
"dsh-plugin",
|
|
9
9
|
"companion",
|
|
10
10
|
"wechat",
|
|
11
|
-
"weixin"
|
|
11
|
+
"weixin",
|
|
12
|
+
"qq"
|
|
12
13
|
],
|
|
13
14
|
"license": "MIT",
|
|
14
15
|
"type": "module",
|
|
@@ -103,7 +104,39 @@
|
|
|
103
104
|
"docs/blobfox-manifest.json",
|
|
104
105
|
"docs/releases/2.11.5.md",
|
|
105
106
|
"docs/releases/2.11.6.md",
|
|
106
|
-
"docs/storage-read-performance.md"
|
|
107
|
+
"docs/storage-read-performance.md",
|
|
108
|
+
"docs/releases/2.11.7.md",
|
|
109
|
+
"docs/releases/2.12.0.md",
|
|
110
|
+
"docs/qq-channel.md",
|
|
111
|
+
"docs/releases/2.13.0.md",
|
|
112
|
+
"docs/releases/2.14.0.md",
|
|
113
|
+
"docs/releases/2.15.0.md",
|
|
114
|
+
"docs/releases/2.15.1.md",
|
|
115
|
+
"docs/releases/2.16.0.md",
|
|
116
|
+
"docs/releases/2.17.0.md",
|
|
117
|
+
"docs/releases/2.17.1.md",
|
|
118
|
+
"docs/releases/2.18.0.md",
|
|
119
|
+
"docs/releases/2.18.1.md",
|
|
120
|
+
"docs/releases/2.19.0.md",
|
|
121
|
+
"docs/releases/2.19.1.md",
|
|
122
|
+
"docs/releases/2.19.2.md",
|
|
123
|
+
"docs/releases/2.19.3.md",
|
|
124
|
+
"docs/releases/2.20.0.md",
|
|
125
|
+
"docs/releases/2.20.1.md",
|
|
126
|
+
"docs/releases/2.21.0.md",
|
|
127
|
+
"docs/releases/2.21.1.md",
|
|
128
|
+
"docs/releases/2.21.2.md",
|
|
129
|
+
"docs/qq-attention.md",
|
|
130
|
+
"docs/releases/2.21.3.md",
|
|
131
|
+
"docs/releases/2.21.4.md",
|
|
132
|
+
"docs/releases/2.21.5.md",
|
|
133
|
+
"docs/tool-entry-compatibility.md",
|
|
134
|
+
"docs/releases/2.21.6.md",
|
|
135
|
+
"docs/releases/2.21.7.md",
|
|
136
|
+
"docs/releases/2.21.8.md",
|
|
137
|
+
"docs/releases/2.21.9.md",
|
|
138
|
+
"docs/releases/2.21.10.md",
|
|
139
|
+
"docs/releases/2.21.11.md"
|
|
107
140
|
],
|
|
108
141
|
"dsh": {
|
|
109
142
|
"bundle": {
|
|
@@ -198,7 +231,8 @@
|
|
|
198
231
|
"react": "18.3.1",
|
|
199
232
|
"react-dom": "18.3.1",
|
|
200
233
|
"three": "0.185.1",
|
|
201
|
-
"typescript": "^5.9.3"
|
|
234
|
+
"typescript": "^5.9.3",
|
|
235
|
+
"ws": "^8.22.0"
|
|
202
236
|
},
|
|
203
237
|
"publishConfig": {
|
|
204
238
|
"access": "public"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"role-reference-data.d.ts","sourceRoot":"","sources":["../../src/ui/role-reference-data.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,qHAAsG,CAAA;AACxI,eAAO,MAAM,mBAAmB,y96BAAqvM,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"role-reference-data.js","sourceRoot":"","sources":["../../src/ui/role-reference-data.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,mGAAmG,CAAA;AACxI,MAAM,CAAC,MAAM,mBAAmB,GAAG,kvMAAkvM,CAAA"}
|
|
File without changes
|
|
File without changes
|