@zhin.js/agent 0.1.25 → 0.1.26
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/lib/agent-prompt/registry.js +1 -1
- package/lib/agent-prompt/registry.js.map +1 -1
- package/lib/ai-event-bus.d.ts +19 -0
- package/lib/ai-event-bus.d.ts.map +1 -0
- package/lib/ai-event-bus.js +75 -0
- package/lib/ai-event-bus.js.map +1 -0
- package/lib/ai-event-subscriber.d.ts +38 -0
- package/lib/ai-event-subscriber.d.ts.map +1 -0
- package/lib/ai-event-subscriber.js +61 -0
- package/lib/ai-event-subscriber.js.map +1 -0
- package/lib/builtin/ask-user-tool.d.ts +2 -0
- package/lib/builtin/ask-user-tool.d.ts.map +1 -1
- package/lib/builtin/ask-user-tool.js +2 -0
- package/lib/builtin/ask-user-tool.js.map +1 -1
- package/lib/builtin/bash-tool.d.ts +7 -3
- package/lib/builtin/bash-tool.d.ts.map +1 -1
- package/lib/builtin/bash-tool.js +51 -9
- package/lib/builtin/bash-tool.js.map +1 -1
- package/lib/builtin/bing-search-html.d.ts.map +1 -1
- package/lib/builtin/bing-search-html.js +14 -7
- package/lib/builtin/bing-search-html.js.map +1 -1
- package/lib/builtin/builtin-base-tool.d.ts +2 -0
- package/lib/builtin/builtin-base-tool.d.ts.map +1 -1
- package/lib/builtin/builtin-base-tool.js +5 -0
- package/lib/builtin/builtin-base-tool.js.map +1 -1
- package/lib/builtin/edit-file-tool.d.ts +1 -1
- package/lib/builtin/edit-file-tool.d.ts.map +1 -1
- package/lib/builtin/edit-file-tool.js +33 -1
- package/lib/builtin/edit-file-tool.js.map +1 -1
- package/lib/builtin/file-edit-quote-utils.d.ts +1 -3
- package/lib/builtin/file-edit-quote-utils.d.ts.map +1 -1
- package/lib/builtin/file-edit-quote-utils.js +1 -3
- package/lib/builtin/file-edit-quote-utils.js.map +1 -1
- package/lib/builtin/glob-tool.d.ts +1 -1
- package/lib/builtin/glob-tool.d.ts.map +1 -1
- package/lib/builtin/glob-tool.js +15 -3
- package/lib/builtin/glob-tool.js.map +1 -1
- package/lib/builtin/grep-tool.d.ts +1 -1
- package/lib/builtin/grep-tool.d.ts.map +1 -1
- package/lib/builtin/grep-tool.js +16 -3
- package/lib/builtin/grep-tool.js.map +1 -1
- package/lib/builtin/list-dir-tool.d.ts +1 -1
- package/lib/builtin/list-dir-tool.d.ts.map +1 -1
- package/lib/builtin/list-dir-tool.js +14 -3
- package/lib/builtin/list-dir-tool.js.map +1 -1
- package/lib/builtin/read-file-tool.d.ts +1 -1
- package/lib/builtin/read-file-tool.d.ts.map +1 -1
- package/lib/builtin/read-file-tool.js +24 -3
- package/lib/builtin/read-file-tool.js.map +1 -1
- package/lib/builtin/run-deferred-task-tool.d.ts +3 -0
- package/lib/builtin/run-deferred-task-tool.d.ts.map +1 -1
- package/lib/builtin/run-deferred-task-tool.js +2 -0
- package/lib/builtin/run-deferred-task-tool.js.map +1 -1
- package/lib/builtin/spawn-task-tool.d.ts.map +1 -1
- package/lib/builtin/spawn-task-tool.js +2 -0
- package/lib/builtin/spawn-task-tool.js.map +1 -1
- package/lib/builtin/web-fetch-tool.d.ts +2 -2
- package/lib/builtin/web-fetch-tool.d.ts.map +1 -1
- package/lib/builtin/web-fetch-tool.js +12 -18
- package/lib/builtin/web-fetch-tool.js.map +1 -1
- package/lib/builtin/write-file-tool.d.ts +1 -1
- package/lib/builtin/write-file-tool.d.ts.map +1 -1
- package/lib/builtin/write-file-tool.js +33 -1
- package/lib/builtin/write-file-tool.js.map +1 -1
- package/lib/common-adapter-tools.d.ts +8 -41
- package/lib/common-adapter-tools.d.ts.map +1 -1
- package/lib/common-adapter-tools.js +23 -182
- package/lib/common-adapter-tools.js.map +1 -1
- package/lib/deferred-worker-runner.d.ts +13 -2
- package/lib/deferred-worker-runner.d.ts.map +1 -1
- package/lib/deferred-worker-runner.js +91 -13
- package/lib/deferred-worker-runner.js.map +1 -1
- package/lib/discovery/agents.js +1 -1
- package/lib/discovery/agents.js.map +1 -1
- package/lib/discovery/skills.js +1 -1
- package/lib/discovery/skills.js.map +1 -1
- package/lib/discovery/tools.d.ts +1 -1
- package/lib/discovery/tools.d.ts.map +1 -1
- package/lib/discovery/tools.js +17 -4
- package/lib/discovery/tools.js.map +1 -1
- package/lib/discovery/utils.js +1 -1
- package/lib/discovery/utils.js.map +1 -1
- package/lib/hooks.d.ts.map +1 -1
- package/lib/hooks.js +2 -0
- package/lib/hooks.js.map +1 -1
- package/lib/index.d.ts +9 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -1
- package/lib/init/message-media.d.ts +3 -1
- package/lib/init/message-media.d.ts.map +1 -1
- package/lib/init/message-media.js +20 -0
- package/lib/init/message-media.js.map +1 -1
- package/lib/init/register-ai-service.js.map +1 -1
- package/lib/init/register-ai-trigger.d.ts.map +1 -1
- package/lib/init/register-ai-trigger.js +71 -10
- package/lib/init/register-ai-trigger.js.map +1 -1
- package/lib/init/register-builtin-tools.js +7 -7
- package/lib/init/register-builtin-tools.js.map +1 -1
- package/lib/init/register-typing-indicator.d.ts +9 -0
- package/lib/init/register-typing-indicator.d.ts.map +1 -0
- package/lib/init/register-typing-indicator.js +206 -0
- package/lib/init/register-typing-indicator.js.map +1 -0
- package/lib/init.d.ts.map +1 -1
- package/lib/init.js +2 -0
- package/lib/init.js.map +1 -1
- package/lib/mcp-client/connection.d.ts +2 -0
- package/lib/mcp-client/connection.d.ts.map +1 -1
- package/lib/mcp-client/connection.js +7 -0
- package/lib/mcp-client/connection.js.map +1 -1
- package/lib/mcp-client/index.d.ts +2 -0
- package/lib/mcp-client/index.d.ts.map +1 -1
- package/lib/mcp-client/index.js +19 -2
- package/lib/mcp-client/index.js.map +1 -1
- package/lib/monitoring/index.d.ts +79 -0
- package/lib/monitoring/index.d.ts.map +1 -0
- package/lib/monitoring/index.js +197 -0
- package/lib/monitoring/index.js.map +1 -0
- package/lib/monitoring/metrics.d.ts +240 -0
- package/lib/monitoring/metrics.d.ts.map +1 -0
- package/lib/monitoring/metrics.js +483 -0
- package/lib/monitoring/metrics.js.map +1 -0
- package/lib/orchestrator/agent-dispatcher.d.ts +170 -0
- package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -0
- package/lib/orchestrator/agent-dispatcher.js +379 -0
- package/lib/orchestrator/agent-dispatcher.js.map +1 -0
- package/lib/orchestrator/hook-registry.d.ts.map +1 -1
- package/lib/orchestrator/hook-registry.js +2 -0
- package/lib/orchestrator/hook-registry.js.map +1 -1
- package/lib/orchestrator/index.d.ts +2 -0
- package/lib/orchestrator/index.d.ts.map +1 -1
- package/lib/orchestrator/index.js +2 -0
- package/lib/orchestrator/index.js.map +1 -1
- package/lib/orchestrator/mcp-lifecycle.d.ts +1 -1
- package/lib/orchestrator/mcp-lifecycle.d.ts.map +1 -1
- package/lib/orchestrator/mcp-lifecycle.js +2 -2
- package/lib/orchestrator/mcp-lifecycle.js.map +1 -1
- package/lib/orchestrator/mcp-registry.d.ts +8 -1
- package/lib/orchestrator/mcp-registry.d.ts.map +1 -1
- package/lib/orchestrator/mcp-registry.js +28 -5
- package/lib/orchestrator/mcp-registry.js.map +1 -1
- package/lib/orchestrator/task-queue.d.ts +147 -0
- package/lib/orchestrator/task-queue.d.ts.map +1 -0
- package/lib/orchestrator/task-queue.js +337 -0
- package/lib/orchestrator/task-queue.js.map +1 -0
- package/lib/orchestrator/tool-selection.d.ts.map +1 -1
- package/lib/orchestrator/tool-selection.js +3 -0
- package/lib/orchestrator/tool-selection.js.map +1 -1
- package/lib/orchestrator/types.d.ts +8 -0
- package/lib/orchestrator/types.d.ts.map +1 -1
- package/lib/plugin-ai-hook-bus.d.ts +4 -0
- package/lib/plugin-ai-hook-bus.d.ts.map +1 -0
- package/lib/plugin-ai-hook-bus.js +24 -0
- package/lib/plugin-ai-hook-bus.js.map +1 -0
- package/lib/security/anomaly-detection.d.ts +119 -0
- package/lib/security/anomaly-detection.d.ts.map +1 -0
- package/lib/security/anomaly-detection.js +305 -0
- package/lib/security/anomaly-detection.js.map +1 -0
- package/lib/security/audit-logger.d.ts +158 -0
- package/lib/security/audit-logger.d.ts.map +1 -0
- package/lib/security/audit-logger.js +379 -0
- package/lib/security/audit-logger.js.map +1 -0
- package/lib/security/bash-tool-context.d.ts +3 -3
- package/lib/security/bash-tool-context.d.ts.map +1 -1
- package/lib/security/budget-limiter.d.ts +156 -0
- package/lib/security/budget-limiter.d.ts.map +1 -0
- package/lib/security/budget-limiter.js +363 -0
- package/lib/security/budget-limiter.js.map +1 -0
- package/lib/security/dangerous-tool-policy.d.ts +17 -0
- package/lib/security/dangerous-tool-policy.d.ts.map +1 -0
- package/lib/security/dangerous-tool-policy.js +137 -0
- package/lib/security/dangerous-tool-policy.js.map +1 -0
- package/lib/security/exec-policy.d.ts +21 -12
- package/lib/security/exec-policy.d.ts.map +1 -1
- package/lib/security/exec-policy.js +198 -25
- package/lib/security/exec-policy.js.map +1 -1
- package/lib/security/file-policy.d.ts +0 -1
- package/lib/security/file-policy.d.ts.map +1 -1
- package/lib/security/file-policy.js +112 -14
- package/lib/security/file-policy.js.map +1 -1
- package/lib/security/file-role-policy.d.ts +119 -0
- package/lib/security/file-role-policy.d.ts.map +1 -0
- package/lib/security/file-role-policy.js +268 -0
- package/lib/security/file-role-policy.js.map +1 -0
- package/lib/security/index.d.ts +59 -0
- package/lib/security/index.d.ts.map +1 -1
- package/lib/security/index.js +68 -0
- package/lib/security/index.js.map +1 -1
- package/lib/security/network-policy.d.ts +94 -0
- package/lib/security/network-policy.d.ts.map +1 -0
- package/lib/security/network-policy.js +291 -0
- package/lib/security/network-policy.js.map +1 -0
- package/lib/security/owner-approve-always-store.d.ts +2 -0
- package/lib/security/owner-approve-always-store.d.ts.map +1 -1
- package/lib/security/owner-approve-always-store.js +37 -0
- package/lib/security/owner-approve-always-store.js.map +1 -1
- package/lib/security/sandbox-enhanced.d.ts +170 -0
- package/lib/security/sandbox-enhanced.d.ts.map +1 -0
- package/lib/security/sandbox-enhanced.js +630 -0
- package/lib/security/sandbox-enhanced.js.map +1 -0
- package/lib/security/sandbox.d.ts +104 -0
- package/lib/security/sandbox.d.ts.map +1 -0
- package/lib/security/sandbox.js +373 -0
- package/lib/security/sandbox.js.map +1 -0
- package/lib/security/security-config.example.d.ts +33 -0
- package/lib/security/security-config.example.d.ts.map +1 -0
- package/lib/security/security-config.example.js +166 -0
- package/lib/security/security-config.example.js.map +1 -0
- package/lib/subagent-goal-notify.d.ts +13 -0
- package/lib/subagent-goal-notify.d.ts.map +1 -0
- package/lib/subagent-goal-notify.js +32 -0
- package/lib/subagent-goal-notify.js.map +1 -0
- package/lib/subagent.d.ts +24 -0
- package/lib/subagent.d.ts.map +1 -1
- package/lib/subagent.js +98 -16
- package/lib/subagent.js.map +1 -1
- package/lib/typing-indicator/adapter-integration.d.ts +140 -0
- package/lib/typing-indicator/adapter-integration.d.ts.map +1 -0
- package/lib/typing-indicator/adapter-integration.js +473 -0
- package/lib/typing-indicator/adapter-integration.js.map +1 -0
- package/lib/typing-indicator/index.d.ts +170 -0
- package/lib/typing-indicator/index.d.ts.map +1 -0
- package/lib/typing-indicator/index.js +311 -0
- package/lib/typing-indicator/index.js.map +1 -0
- package/lib/typing-indicator/integration.d.ts +91 -0
- package/lib/typing-indicator/integration.d.ts.map +1 -0
- package/lib/typing-indicator/integration.js +219 -0
- package/lib/typing-indicator/integration.js.map +1 -0
- package/lib/zhin-agent/config.d.ts +20 -2
- package/lib/zhin-agent/config.d.ts.map +1 -1
- package/lib/zhin-agent/config.js +27 -9
- package/lib/zhin-agent/config.js.map +1 -1
- package/lib/zhin-agent/event-emitter.d.ts +11 -0
- package/lib/zhin-agent/event-emitter.d.ts.map +1 -0
- package/lib/zhin-agent/event-emitter.js +43 -0
- package/lib/zhin-agent/event-emitter.js.map +1 -0
- package/lib/zhin-agent/index.d.ts +9 -31
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +70 -672
- package/lib/zhin-agent/index.js.map +1 -1
- package/lib/zhin-agent/llm-runner.d.ts +16 -0
- package/lib/zhin-agent/llm-runner.d.ts.map +1 -0
- package/lib/zhin-agent/llm-runner.js +85 -0
- package/lib/zhin-agent/llm-runner.js.map +1 -0
- package/lib/zhin-agent/model-resolver.d.ts +9 -0
- package/lib/zhin-agent/model-resolver.d.ts.map +1 -0
- package/lib/zhin-agent/model-resolver.js +25 -0
- package/lib/zhin-agent/model-resolver.js.map +1 -0
- package/lib/zhin-agent/phase-trace.d.ts +12 -0
- package/lib/zhin-agent/phase-trace.d.ts.map +1 -0
- package/lib/zhin-agent/phase-trace.js +24 -0
- package/lib/zhin-agent/phase-trace.js.map +1 -0
- package/lib/zhin-agent/prompt-assembly.d.ts +22 -0
- package/lib/zhin-agent/prompt-assembly.d.ts.map +1 -0
- package/lib/zhin-agent/prompt-assembly.js +66 -0
- package/lib/zhin-agent/prompt-assembly.js.map +1 -0
- package/lib/zhin-agent/prompt-builder.d.ts +200 -0
- package/lib/zhin-agent/prompt-builder.d.ts.map +1 -0
- package/lib/zhin-agent/prompt-builder.js +574 -0
- package/lib/zhin-agent/prompt-builder.js.map +1 -0
- package/lib/zhin-agent/prompt-templates.d.ts +160 -0
- package/lib/zhin-agent/prompt-templates.d.ts.map +1 -0
- package/lib/zhin-agent/prompt-templates.js +436 -0
- package/lib/zhin-agent/prompt-templates.js.map +1 -0
- package/lib/zhin-agent/prompt.d.ts +15 -0
- package/lib/zhin-agent/prompt.d.ts.map +1 -1
- package/lib/zhin-agent/prompt.js +149 -4
- package/lib/zhin-agent/prompt.js.map +1 -1
- package/lib/zhin-agent/session-io.d.ts +10 -0
- package/lib/zhin-agent/session-io.d.ts.map +1 -0
- package/lib/zhin-agent/session-io.js +14 -0
- package/lib/zhin-agent/session-io.js.map +1 -0
- package/lib/zhin-agent/task-continuation.d.ts +144 -0
- package/lib/zhin-agent/task-continuation.d.ts.map +1 -0
- package/lib/zhin-agent/task-continuation.js +346 -0
- package/lib/zhin-agent/task-continuation.js.map +1 -0
- package/lib/zhin-agent/text-sanitize.d.ts +2 -5
- package/lib/zhin-agent/text-sanitize.d.ts.map +1 -1
- package/lib/zhin-agent/text-sanitize.js +2 -25
- package/lib/zhin-agent/text-sanitize.js.map +1 -1
- package/lib/zhin-agent/tool-calls-user-format.d.ts.map +1 -1
- package/lib/zhin-agent/tool-calls-user-format.js +12 -3
- package/lib/zhin-agent/tool-calls-user-format.js.map +1 -1
- package/lib/zhin-agent/tool-orchestration.d.ts +9 -0
- package/lib/zhin-agent/tool-orchestration.d.ts.map +1 -0
- package/lib/zhin-agent/tool-orchestration.js +68 -0
- package/lib/zhin-agent/tool-orchestration.js.map +1 -0
- package/lib/zhin-agent/tool-search-orchestrator.d.ts.map +1 -1
- package/lib/zhin-agent/tool-search-orchestrator.js +5 -2
- package/lib/zhin-agent/tool-search-orchestrator.js.map +1 -1
- package/lib/zhin-agent/turn-pipeline.d.ts +5 -0
- package/lib/zhin-agent/turn-pipeline.d.ts.map +1 -0
- package/lib/zhin-agent/turn-pipeline.js +541 -0
- package/lib/zhin-agent/turn-pipeline.js.map +1 -0
- package/lib/zhin-agent/turn-tracker.d.ts +17 -0
- package/lib/zhin-agent/turn-tracker.d.ts.map +1 -0
- package/lib/zhin-agent/turn-tracker.js +54 -0
- package/lib/zhin-agent/turn-tracker.js.map +1 -0
- package/lib/zhin-agent/web-search-locale-attach.d.ts +4 -0
- package/lib/zhin-agent/web-search-locale-attach.d.ts.map +1 -0
- package/lib/zhin-agent/web-search-locale-attach.js +19 -0
- package/lib/zhin-agent/web-search-locale-attach.js.map +1 -0
- package/lib/zhin-agent/zhin-agent-private.d.ts +66 -0
- package/lib/zhin-agent/zhin-agent-private.d.ts.map +1 -0
- package/lib/zhin-agent/zhin-agent-private.js +4 -0
- package/lib/zhin-agent/zhin-agent-private.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-integration.d.ts","sourceRoot":"","sources":["../../src/typing-indicator/adapter-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 通用适配器 Typing Indicator 集成模块
|
|
3
|
+
*
|
|
4
|
+
* 为所有适配器提供统一的 Typing Indicator 集成接口,
|
|
5
|
+
* 支持自动初始化和配置管理。
|
|
6
|
+
*/
|
|
7
|
+
import { getPlugin } from '@zhin.js/core';
|
|
8
|
+
import { TypingIndicatorManager, ReactionTypingIndicatorAdapter, GenericTypingIndicatorAdapter, } from './index.js';
|
|
9
|
+
// ── 预定义平台特性 ────────────────────────────────────────────────────
|
|
10
|
+
export const PLATFORM_FEATURES = {
|
|
11
|
+
icqq: {
|
|
12
|
+
platform: 'icqq',
|
|
13
|
+
supportsReaction: true,
|
|
14
|
+
supportsEdit: false,
|
|
15
|
+
supportsDelete: true,
|
|
16
|
+
supportsTyping: false,
|
|
17
|
+
defaultType: 'reaction',
|
|
18
|
+
},
|
|
19
|
+
telegram: {
|
|
20
|
+
platform: 'telegram',
|
|
21
|
+
supportsReaction: true,
|
|
22
|
+
supportsEdit: true,
|
|
23
|
+
supportsDelete: true,
|
|
24
|
+
supportsTyping: true,
|
|
25
|
+
defaultType: 'typing',
|
|
26
|
+
},
|
|
27
|
+
discord: {
|
|
28
|
+
platform: 'discord',
|
|
29
|
+
supportsReaction: true,
|
|
30
|
+
supportsEdit: true,
|
|
31
|
+
supportsDelete: true,
|
|
32
|
+
supportsTyping: true,
|
|
33
|
+
defaultType: 'typing',
|
|
34
|
+
},
|
|
35
|
+
kook: {
|
|
36
|
+
platform: 'kook',
|
|
37
|
+
supportsReaction: false,
|
|
38
|
+
supportsEdit: true,
|
|
39
|
+
supportsDelete: true,
|
|
40
|
+
supportsTyping: true,
|
|
41
|
+
defaultType: 'typing',
|
|
42
|
+
},
|
|
43
|
+
slack: {
|
|
44
|
+
platform: 'slack',
|
|
45
|
+
supportsReaction: false,
|
|
46
|
+
supportsEdit: true,
|
|
47
|
+
supportsDelete: true,
|
|
48
|
+
supportsTyping: true,
|
|
49
|
+
defaultType: 'typing',
|
|
50
|
+
},
|
|
51
|
+
lark: {
|
|
52
|
+
platform: 'lark',
|
|
53
|
+
supportsReaction: false,
|
|
54
|
+
supportsEdit: true,
|
|
55
|
+
supportsDelete: true,
|
|
56
|
+
supportsTyping: true,
|
|
57
|
+
defaultType: 'typing',
|
|
58
|
+
},
|
|
59
|
+
dingtalk: {
|
|
60
|
+
platform: 'dingtalk',
|
|
61
|
+
supportsReaction: false,
|
|
62
|
+
supportsEdit: false,
|
|
63
|
+
supportsDelete: false,
|
|
64
|
+
supportsTyping: false,
|
|
65
|
+
defaultType: 'message',
|
|
66
|
+
},
|
|
67
|
+
qq: {
|
|
68
|
+
platform: 'qq',
|
|
69
|
+
supportsReaction: false,
|
|
70
|
+
supportsEdit: false,
|
|
71
|
+
supportsDelete: true,
|
|
72
|
+
supportsTyping: false,
|
|
73
|
+
defaultType: 'message',
|
|
74
|
+
},
|
|
75
|
+
onebot11: {
|
|
76
|
+
platform: 'onebot11',
|
|
77
|
+
supportsReaction: false,
|
|
78
|
+
supportsEdit: false,
|
|
79
|
+
supportsDelete: true,
|
|
80
|
+
supportsTyping: false,
|
|
81
|
+
defaultType: 'message',
|
|
82
|
+
},
|
|
83
|
+
onebot12: {
|
|
84
|
+
platform: 'onebot12',
|
|
85
|
+
supportsReaction: false,
|
|
86
|
+
supportsEdit: false,
|
|
87
|
+
supportsDelete: true,
|
|
88
|
+
supportsTyping: false,
|
|
89
|
+
defaultType: 'message',
|
|
90
|
+
},
|
|
91
|
+
napcat: {
|
|
92
|
+
platform: 'napcat',
|
|
93
|
+
supportsReaction: true,
|
|
94
|
+
supportsEdit: false,
|
|
95
|
+
supportsDelete: true,
|
|
96
|
+
supportsTyping: true,
|
|
97
|
+
defaultType: 'reaction',
|
|
98
|
+
},
|
|
99
|
+
github: {
|
|
100
|
+
platform: 'github',
|
|
101
|
+
supportsReaction: false,
|
|
102
|
+
supportsEdit: false,
|
|
103
|
+
supportsDelete: false,
|
|
104
|
+
supportsTyping: false,
|
|
105
|
+
defaultType: 'message',
|
|
106
|
+
},
|
|
107
|
+
satori: {
|
|
108
|
+
platform: 'satori',
|
|
109
|
+
supportsReaction: false,
|
|
110
|
+
supportsEdit: true,
|
|
111
|
+
supportsDelete: true,
|
|
112
|
+
supportsTyping: true,
|
|
113
|
+
defaultType: 'typing',
|
|
114
|
+
},
|
|
115
|
+
email: {
|
|
116
|
+
platform: 'email',
|
|
117
|
+
supportsReaction: false,
|
|
118
|
+
supportsEdit: false,
|
|
119
|
+
supportsDelete: false,
|
|
120
|
+
supportsTyping: false,
|
|
121
|
+
defaultType: 'none',
|
|
122
|
+
},
|
|
123
|
+
'wechat-mp': {
|
|
124
|
+
platform: 'wechat-mp',
|
|
125
|
+
supportsReaction: false,
|
|
126
|
+
supportsEdit: false,
|
|
127
|
+
supportsDelete: false,
|
|
128
|
+
supportsTyping: false,
|
|
129
|
+
defaultType: 'message',
|
|
130
|
+
},
|
|
131
|
+
milky: {
|
|
132
|
+
platform: 'milky',
|
|
133
|
+
supportsReaction: false,
|
|
134
|
+
supportsEdit: false,
|
|
135
|
+
supportsDelete: true,
|
|
136
|
+
supportsTyping: false,
|
|
137
|
+
defaultType: 'message',
|
|
138
|
+
},
|
|
139
|
+
sandbox: {
|
|
140
|
+
platform: 'sandbox',
|
|
141
|
+
supportsReaction: false,
|
|
142
|
+
supportsEdit: false,
|
|
143
|
+
supportsDelete: true,
|
|
144
|
+
supportsTyping: false,
|
|
145
|
+
defaultType: 'message',
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
// ── 适配器集成管理器 ──────────────────────────────────────────────────
|
|
149
|
+
export class AdapterTypingIndicatorManager {
|
|
150
|
+
managers = new Map();
|
|
151
|
+
configs = new Map();
|
|
152
|
+
/**
|
|
153
|
+
* 为 Bot 启用 Typing Indicator
|
|
154
|
+
*/
|
|
155
|
+
enableForBot(bot, platform, config) {
|
|
156
|
+
const botKey = `${platform}:${bot.$id}`;
|
|
157
|
+
// 如果已经启用,返回现有的管理器
|
|
158
|
+
if (this.managers.has(botKey)) {
|
|
159
|
+
return this.managers.get(botKey);
|
|
160
|
+
}
|
|
161
|
+
// 获取平台特性
|
|
162
|
+
const features = PLATFORM_FEATURES[platform] || {
|
|
163
|
+
platform,
|
|
164
|
+
supportsReaction: false,
|
|
165
|
+
supportsEdit: false,
|
|
166
|
+
supportsDelete: true,
|
|
167
|
+
supportsTyping: false,
|
|
168
|
+
defaultType: 'message',
|
|
169
|
+
};
|
|
170
|
+
// 合并配置
|
|
171
|
+
const mergedConfig = {
|
|
172
|
+
enabled: true,
|
|
173
|
+
defaultEmoji: '⏳',
|
|
174
|
+
autoRemove: true,
|
|
175
|
+
removeDelay: 5000,
|
|
176
|
+
...config,
|
|
177
|
+
};
|
|
178
|
+
// 根据平台特性调整配置
|
|
179
|
+
if (!features.supportsReaction) {
|
|
180
|
+
// 如果平台不支持 reaction,强制使用 message
|
|
181
|
+
if (mergedConfig.privateConfig?.type === 'reaction') {
|
|
182
|
+
mergedConfig.privateConfig.type = 'message';
|
|
183
|
+
}
|
|
184
|
+
if (mergedConfig.groupConfig?.type === 'reaction') {
|
|
185
|
+
mergedConfig.groupConfig.type = 'message';
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// 创建管理器
|
|
189
|
+
const manager = new TypingIndicatorManager({
|
|
190
|
+
type: features.defaultType,
|
|
191
|
+
emoji: mergedConfig.defaultEmoji,
|
|
192
|
+
autoRemove: mergedConfig.autoRemove,
|
|
193
|
+
removeDelay: mergedConfig.removeDelay,
|
|
194
|
+
});
|
|
195
|
+
// 注册适配器
|
|
196
|
+
this.registerAdapter(manager, bot, platform, features);
|
|
197
|
+
// 存储管理器和配置
|
|
198
|
+
this.managers.set(botKey, manager);
|
|
199
|
+
this.configs.set(botKey, mergedConfig);
|
|
200
|
+
// 将管理器附加到 Bot
|
|
201
|
+
bot.$typingIndicator = manager;
|
|
202
|
+
return manager;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* 注册平台适配器
|
|
206
|
+
*/
|
|
207
|
+
registerAdapter(manager, bot, platform, features) {
|
|
208
|
+
if (features.supportsReaction && bot.$addReaction && bot.$removeReaction) {
|
|
209
|
+
// 支持 reaction 的平台使用 ReactionTypingIndicatorAdapter
|
|
210
|
+
const adapter = new ReactionTypingIndicatorAdapter(
|
|
211
|
+
// addReaction
|
|
212
|
+
async (messageId, emoji) => {
|
|
213
|
+
try {
|
|
214
|
+
return await bot.$addReaction(messageId, emoji);
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
console.error(`[${platform}] Failed to add reaction:`, error);
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
// removeReaction
|
|
222
|
+
async (messageId, reactionId) => {
|
|
223
|
+
try {
|
|
224
|
+
await bot.$removeReaction(messageId, reactionId);
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
console.error(`[${platform}] Failed to remove reaction:`, error);
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
// sendMessage
|
|
231
|
+
async (sessionId, content) => {
|
|
232
|
+
try {
|
|
233
|
+
const [type, id] = this.parseSessionId(sessionId);
|
|
234
|
+
const rootPlugin = getPlugin()?.root;
|
|
235
|
+
const adapterInstance = rootPlugin?.inject(platform);
|
|
236
|
+
const sendOptions = {
|
|
237
|
+
type: type,
|
|
238
|
+
id,
|
|
239
|
+
context: platform,
|
|
240
|
+
bot: bot.$id,
|
|
241
|
+
content: [{ type: 'text', data: { text: content } }],
|
|
242
|
+
};
|
|
243
|
+
if (adapterInstance && typeof adapterInstance.sendMessage === 'function') {
|
|
244
|
+
return await adapterInstance.sendMessage(sendOptions);
|
|
245
|
+
}
|
|
246
|
+
return await bot.$sendMessage(sendOptions);
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
console.error(`[${platform}] Failed to send message:`, error);
|
|
250
|
+
return null;
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
// deleteMessage
|
|
254
|
+
async (messageId) => {
|
|
255
|
+
try {
|
|
256
|
+
await bot.$recallMessage(messageId);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
console.error(`[${platform}] Failed to delete message:`, error);
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
// editMessage
|
|
263
|
+
async (messageId, content) => {
|
|
264
|
+
try {
|
|
265
|
+
const editBot = bot;
|
|
266
|
+
if (typeof editBot.$editMessage === 'function') {
|
|
267
|
+
await editBot.$editMessage(messageId, content);
|
|
268
|
+
}
|
|
269
|
+
else if (typeof editBot.$updateMessage === 'function') {
|
|
270
|
+
await editBot.$updateMessage(messageId, content);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
console.error(`[${platform}] Failed to edit message:`, error);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
manager.registerAdapter(adapter);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
// 不支持 reaction 的平台使用 GenericTypingIndicatorAdapter
|
|
281
|
+
const adapter = new GenericTypingIndicatorAdapter(platform,
|
|
282
|
+
// sendMessage
|
|
283
|
+
async (sessionId, content) => {
|
|
284
|
+
try {
|
|
285
|
+
const [type, id] = this.parseSessionId(sessionId);
|
|
286
|
+
const rootPlugin = getPlugin()?.root;
|
|
287
|
+
const adapterInstance2 = rootPlugin?.inject(platform);
|
|
288
|
+
const sendOptions = {
|
|
289
|
+
type: type,
|
|
290
|
+
id,
|
|
291
|
+
context: platform,
|
|
292
|
+
bot: bot.$id,
|
|
293
|
+
content: [{ type: 'text', data: { text: content } }],
|
|
294
|
+
};
|
|
295
|
+
if (adapterInstance2 && typeof adapterInstance2.sendMessage === 'function') {
|
|
296
|
+
return await adapterInstance2.sendMessage(sendOptions);
|
|
297
|
+
}
|
|
298
|
+
return await bot.$sendMessage(sendOptions);
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
console.error(`[${platform}] Failed to send message:`, error);
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
// deleteMessage
|
|
306
|
+
async (messageId) => {
|
|
307
|
+
try {
|
|
308
|
+
await bot.$recallMessage(messageId);
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
console.error(`[${platform}] Failed to delete message:`, error);
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
// editMessage
|
|
315
|
+
async (messageId, content) => {
|
|
316
|
+
try {
|
|
317
|
+
const editBot = bot;
|
|
318
|
+
if (typeof editBot.$editMessage === 'function') {
|
|
319
|
+
await editBot.$editMessage(messageId, content);
|
|
320
|
+
}
|
|
321
|
+
else if (typeof editBot.$updateMessage === 'function') {
|
|
322
|
+
await editBot.$updateMessage(messageId, content);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
console.error(`[${platform}] Failed to edit message:`, error);
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
manager.registerAdapter(adapter);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* 解析会话 ID
|
|
334
|
+
*/
|
|
335
|
+
parseSessionId(sessionId) {
|
|
336
|
+
const parts = sessionId.split(':');
|
|
337
|
+
if (parts.length === 2) {
|
|
338
|
+
return [parts[0], parts[1]];
|
|
339
|
+
}
|
|
340
|
+
return ['private', sessionId];
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* 获取 Bot 的管理器
|
|
344
|
+
*/
|
|
345
|
+
getManager(platform, botId) {
|
|
346
|
+
return this.managers.get(`${platform}:${botId}`);
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* 获取 Bot 的配置
|
|
350
|
+
*/
|
|
351
|
+
getConfig(platform, botId) {
|
|
352
|
+
return this.configs.get(`${platform}:${botId}`);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* 停止 Bot 的所有提示
|
|
356
|
+
*/
|
|
357
|
+
async stopAll(platform, botId) {
|
|
358
|
+
const manager = this.managers.get(`${platform}:${botId}`);
|
|
359
|
+
if (manager) {
|
|
360
|
+
await manager.stopAll();
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* 停止所有 Bot 的所有提示
|
|
365
|
+
*/
|
|
366
|
+
async stopAllBots() {
|
|
367
|
+
for (const manager of this.managers.values()) {
|
|
368
|
+
await manager.stopAll();
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* 移除 Bot 的管理器
|
|
373
|
+
*/
|
|
374
|
+
removeBot(platform, botId) {
|
|
375
|
+
const botKey = `${platform}:${botId}`;
|
|
376
|
+
this.managers.delete(botKey);
|
|
377
|
+
this.configs.delete(botKey);
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* 清除所有管理器
|
|
381
|
+
*/
|
|
382
|
+
clearAll() {
|
|
383
|
+
this.managers.clear();
|
|
384
|
+
this.configs.clear();
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* 获取所有已注册的 Bot
|
|
388
|
+
*/
|
|
389
|
+
getRegisteredBots() {
|
|
390
|
+
const bots = [];
|
|
391
|
+
for (const key of this.managers.keys()) {
|
|
392
|
+
const [platform, botId] = key.split(':');
|
|
393
|
+
bots.push({ platform, botId });
|
|
394
|
+
}
|
|
395
|
+
return bots;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* 获取平台特性
|
|
399
|
+
*/
|
|
400
|
+
getPlatformFeatures(platform) {
|
|
401
|
+
return PLATFORM_FEATURES[platform];
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* 检查平台是否支持 Typing Indicator
|
|
405
|
+
*/
|
|
406
|
+
supportsTypingIndicator(platform) {
|
|
407
|
+
const features = PLATFORM_FEATURES[platform];
|
|
408
|
+
return features ? features.defaultType !== 'none' : false;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
// ── 全局实例 ──────────────────────────────────────────────────────────
|
|
412
|
+
let globalAdapterManager = null;
|
|
413
|
+
/**
|
|
414
|
+
* 获取全局适配器 Typing Indicator 管理器
|
|
415
|
+
*/
|
|
416
|
+
export function getAdapterTypingIndicatorManager() {
|
|
417
|
+
if (!globalAdapterManager) {
|
|
418
|
+
globalAdapterManager = new AdapterTypingIndicatorManager();
|
|
419
|
+
}
|
|
420
|
+
return globalAdapterManager;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* 初始化适配器 Typing Indicator 管理器
|
|
424
|
+
*/
|
|
425
|
+
export function initAdapterTypingIndicatorManager() {
|
|
426
|
+
globalAdapterManager = new AdapterTypingIndicatorManager();
|
|
427
|
+
return globalAdapterManager;
|
|
428
|
+
}
|
|
429
|
+
// ── 便捷函数 ──────────────────────────────────────────────────────────
|
|
430
|
+
function resolveTypingSceneType(options) {
|
|
431
|
+
if (options.sceneType)
|
|
432
|
+
return options.sceneType;
|
|
433
|
+
if (options.groupId)
|
|
434
|
+
return 'group';
|
|
435
|
+
const prefix = options.sessionId.split(':')[0];
|
|
436
|
+
if (prefix === 'group' || prefix === 'private' || prefix === 'channel') {
|
|
437
|
+
return prefix;
|
|
438
|
+
}
|
|
439
|
+
return 'private';
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* 为 Bot 启用 Typing Indicator
|
|
443
|
+
*/
|
|
444
|
+
export function enableTypingIndicatorForBot(bot, platform, config) {
|
|
445
|
+
return getAdapterTypingIndicatorManager().enableForBot(bot, platform, config);
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* 快速开始提示
|
|
449
|
+
*/
|
|
450
|
+
export async function startTypingForBot(bot, platform, options, config) {
|
|
451
|
+
const manager = enableTypingIndicatorForBot(bot, platform, config);
|
|
452
|
+
return await manager.start({
|
|
453
|
+
...options,
|
|
454
|
+
platform,
|
|
455
|
+
botId: bot.$id,
|
|
456
|
+
sceneType: resolveTypingSceneType(options),
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* 快速停止提示
|
|
461
|
+
*/
|
|
462
|
+
export async function stopTypingForBot(bot, platform, options) {
|
|
463
|
+
const manager = getAdapterTypingIndicatorManager().getManager(platform, bot.$id);
|
|
464
|
+
if (manager) {
|
|
465
|
+
await manager.stop({
|
|
466
|
+
...options,
|
|
467
|
+
platform,
|
|
468
|
+
botId: bot.$id,
|
|
469
|
+
sceneType: resolveTypingSceneType(options),
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
//# sourceMappingURL=adapter-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-integration.js","sourceRoot":"","sources":["../../src/typing-indicator/adapter-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 消息处理状态适配层
|
|
3
|
+
*
|
|
4
|
+
* 提供统一的接口来提示用户"AI 正在处理",
|
|
5
|
+
* 不同平台可以有不同的实现方式:
|
|
6
|
+
* - ICQQ:消息回应表情
|
|
7
|
+
* - 其他平台:发送一条消息
|
|
8
|
+
* - 支持配置和自定义
|
|
9
|
+
*/
|
|
10
|
+
export type TypingIndicatorType = 'reaction' | 'message' | 'typing' | 'none';
|
|
11
|
+
export interface TypingIndicatorConfig {
|
|
12
|
+
/** 提示类型 */
|
|
13
|
+
type: TypingIndicatorType;
|
|
14
|
+
/** 表情符号(reaction 类型) */
|
|
15
|
+
emoji?: string;
|
|
16
|
+
/** 消息内容(message 类型) */
|
|
17
|
+
message?: string;
|
|
18
|
+
/** 是否在完成后自动移除 */
|
|
19
|
+
autoRemove?: boolean;
|
|
20
|
+
/** 自动移除延迟(毫秒) */
|
|
21
|
+
removeDelay?: number;
|
|
22
|
+
/** 平台特定配置 */
|
|
23
|
+
platformConfig?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
export interface TypingIndicatorOptions {
|
|
26
|
+
/** 消息 ID */
|
|
27
|
+
messageId?: string;
|
|
28
|
+
/** 会话 ID */
|
|
29
|
+
sessionId?: string;
|
|
30
|
+
/** 用户 ID */
|
|
31
|
+
userId?: string;
|
|
32
|
+
/** 群组 ID */
|
|
33
|
+
groupId?: string;
|
|
34
|
+
/** 平台 */
|
|
35
|
+
platform: string;
|
|
36
|
+
/** Bot ID */
|
|
37
|
+
botId: string;
|
|
38
|
+
/** 场景类型 */
|
|
39
|
+
sceneType: 'private' | 'group' | 'channel';
|
|
40
|
+
}
|
|
41
|
+
export interface TypingIndicator {
|
|
42
|
+
/** 开始提示 */
|
|
43
|
+
start(): Promise<void>;
|
|
44
|
+
/** 更新提示(可选) */
|
|
45
|
+
update?(message: string): Promise<void>;
|
|
46
|
+
/** 停止提示 */
|
|
47
|
+
stop(): Promise<void>;
|
|
48
|
+
/** 是否正在显示 */
|
|
49
|
+
isActive(): boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface TypingIndicatorAdapter {
|
|
52
|
+
/** 平台名称 */
|
|
53
|
+
platform: string;
|
|
54
|
+
/** 支持的提示类型 */
|
|
55
|
+
supportedTypes: TypingIndicatorType[];
|
|
56
|
+
/** 创建提示实例 */
|
|
57
|
+
createIndicator(options: TypingIndicatorOptions, config: TypingIndicatorConfig): TypingIndicator;
|
|
58
|
+
}
|
|
59
|
+
export declare class ReactionTypingIndicator implements TypingIndicator {
|
|
60
|
+
private options;
|
|
61
|
+
private config;
|
|
62
|
+
private addReaction;
|
|
63
|
+
private removeReaction;
|
|
64
|
+
private active;
|
|
65
|
+
private reactionId;
|
|
66
|
+
constructor(options: TypingIndicatorOptions, config: TypingIndicatorConfig, addReaction: (messageId: string, emoji: string) => Promise<string | null>, removeReaction: (messageId: string, reactionId: string) => Promise<void>);
|
|
67
|
+
start(): Promise<void>;
|
|
68
|
+
stop(): Promise<void>;
|
|
69
|
+
isActive(): boolean;
|
|
70
|
+
}
|
|
71
|
+
export declare class MessageTypingIndicator implements TypingIndicator {
|
|
72
|
+
private options;
|
|
73
|
+
private config;
|
|
74
|
+
private sendMessage;
|
|
75
|
+
private deleteMessage;
|
|
76
|
+
private editMessage?;
|
|
77
|
+
private active;
|
|
78
|
+
private messageId;
|
|
79
|
+
constructor(options: TypingIndicatorOptions, config: TypingIndicatorConfig, sendMessage: (sessionId: string, content: string) => Promise<string | null>, deleteMessage: (messageId: string) => Promise<void>, editMessage?: ((messageId: string, content: string) => Promise<void>) | undefined);
|
|
80
|
+
start(): Promise<void>;
|
|
81
|
+
update(message: string): Promise<void>;
|
|
82
|
+
stop(): Promise<void>;
|
|
83
|
+
isActive(): boolean;
|
|
84
|
+
}
|
|
85
|
+
export declare class NoneTypingIndicator implements TypingIndicator {
|
|
86
|
+
start(): Promise<void>;
|
|
87
|
+
stop(): Promise<void>;
|
|
88
|
+
isActive(): boolean;
|
|
89
|
+
}
|
|
90
|
+
export declare class TypingIndicatorManager {
|
|
91
|
+
private adapters;
|
|
92
|
+
private activeIndicators;
|
|
93
|
+
private defaultConfig;
|
|
94
|
+
constructor(defaultConfig?: Partial<TypingIndicatorConfig>);
|
|
95
|
+
/**
|
|
96
|
+
* 注册平台适配器
|
|
97
|
+
*/
|
|
98
|
+
registerAdapter(adapter: TypingIndicatorAdapter): void;
|
|
99
|
+
/**
|
|
100
|
+
* 获取平台适配器
|
|
101
|
+
*/
|
|
102
|
+
getAdapter(platform: string): TypingIndicatorAdapter | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* 创建提示实例
|
|
105
|
+
*/
|
|
106
|
+
createIndicator(options: TypingIndicatorOptions, config?: Partial<TypingIndicatorConfig>): TypingIndicator;
|
|
107
|
+
/**
|
|
108
|
+
* 开始提示
|
|
109
|
+
*/
|
|
110
|
+
start(options: TypingIndicatorOptions, config?: Partial<TypingIndicatorConfig>): Promise<TypingIndicator>;
|
|
111
|
+
/**
|
|
112
|
+
* 停止提示
|
|
113
|
+
*/
|
|
114
|
+
stop(options: TypingIndicatorOptions): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* 停止所有提示
|
|
117
|
+
*/
|
|
118
|
+
stopAll(): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* 获取活跃的提示
|
|
121
|
+
*/
|
|
122
|
+
getActiveIndicator(options: TypingIndicatorOptions): TypingIndicator | undefined;
|
|
123
|
+
/**
|
|
124
|
+
* 生成指示器键
|
|
125
|
+
*/
|
|
126
|
+
private getIndicatorKey;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* ICQQ 适配器(使用消息回应)
|
|
130
|
+
*/
|
|
131
|
+
export declare class ReactionTypingIndicatorAdapter implements TypingIndicatorAdapter {
|
|
132
|
+
private addReaction;
|
|
133
|
+
private removeReaction;
|
|
134
|
+
private sendMessage;
|
|
135
|
+
private deleteMessage;
|
|
136
|
+
private editMessage?;
|
|
137
|
+
readonly platform = "icqq";
|
|
138
|
+
readonly supportedTypes: TypingIndicatorType[];
|
|
139
|
+
constructor(addReaction: (messageId: string, emoji: string) => Promise<string | null>, removeReaction: (messageId: string, reactionId: string) => Promise<void>, sendMessage: (sessionId: string, content: string) => Promise<string | null>, deleteMessage: (messageId: string) => Promise<void>, editMessage?: ((messageId: string, content: string) => Promise<void>) | undefined);
|
|
140
|
+
createIndicator(options: TypingIndicatorOptions, config: TypingIndicatorConfig): TypingIndicator;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 通用适配器(使用消息)
|
|
144
|
+
*/
|
|
145
|
+
export declare class GenericTypingIndicatorAdapter implements TypingIndicatorAdapter {
|
|
146
|
+
private sendMessage;
|
|
147
|
+
private deleteMessage;
|
|
148
|
+
private editMessage?;
|
|
149
|
+
readonly platform: string;
|
|
150
|
+
readonly supportedTypes: TypingIndicatorType[];
|
|
151
|
+
constructor(platform: string, sendMessage: (sessionId: string, content: string) => Promise<string | null>, deleteMessage: (messageId: string) => Promise<void>, editMessage?: ((messageId: string, content: string) => Promise<void>) | undefined);
|
|
152
|
+
createIndicator(options: TypingIndicatorOptions, config: TypingIndicatorConfig): TypingIndicator;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* 获取全局提示管理器
|
|
156
|
+
*/
|
|
157
|
+
export declare function getTypingIndicatorManager(): TypingIndicatorManager;
|
|
158
|
+
/**
|
|
159
|
+
* 初始化提示管理器
|
|
160
|
+
*/
|
|
161
|
+
export declare function initTypingIndicatorManager(defaultConfig?: Partial<TypingIndicatorConfig>): TypingIndicatorManager;
|
|
162
|
+
/**
|
|
163
|
+
* 快速开始提示
|
|
164
|
+
*/
|
|
165
|
+
export declare function startTypingIndicator(options: TypingIndicatorOptions, config?: Partial<TypingIndicatorConfig>): Promise<TypingIndicator>;
|
|
166
|
+
/**
|
|
167
|
+
* 快速停止提示
|
|
168
|
+
*/
|
|
169
|
+
export declare function stopTypingIndicator(options: TypingIndicatorOptions): Promise<void>;
|
|
170
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/typing-indicator/index.ts"],"names":[],"mappings":"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"}
|