@composy/chat-core 0.0.1 → 0.0.2
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 +187 -123
- package/dist/index.js +2018 -1035
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1370 -1644
- package/dist/index.min.js.map +1 -0
- package/es/.dts-output-manifest.json +1 -0
- package/es/.dts.tsbuildinfo +1 -0
- package/es/constants/dom.d.ts +3 -19
- package/es/constants/dom.js +4 -4
- package/es/constants/dom.js.map +1 -1
- package/es/core/chat-manager.d.ts +33 -22
- package/es/core/chat-manager.js +174 -50
- package/es/core/chat-manager.js.map +1 -1
- package/es/core/event-emitter.d.ts +0 -1
- package/es/core/event-emitter.js +14 -7
- package/es/core/event-emitter.js.map +1 -1
- package/es/core/mention-engine.d.ts +1 -2
- package/es/core/mention-engine.js +9 -9
- package/es/core/mention-engine.js.map +1 -1
- package/es/core/message-schema.d.ts +19 -0
- package/es/core/message-schema.js +197 -0
- package/es/core/message-schema.js.map +1 -0
- package/es/core/outbox.d.ts +63 -0
- package/es/core/outbox.js +160 -0
- package/es/core/outbox.js.map +1 -0
- package/es/core/transport.d.ts +79 -0
- package/es/core/transport.js +102 -0
- package/es/core/transport.js.map +1 -0
- package/es/index.d.ts +12 -7
- package/es/index.js +167 -36
- package/es/index.js.map +1 -1
- package/es/renderer/dom-renderer.d.ts +16 -4
- package/es/renderer/dom-renderer.js +316 -61
- package/es/renderer/dom-renderer.js.map +1 -1
- package/es/renderer/style-manager.d.ts +14 -38
- package/es/renderer/style-manager.js +92 -63
- package/es/renderer/style-manager.js.map +1 -1
- package/es/theme/theme-manager.d.ts +4 -3
- package/es/theme/theme-manager.js +19 -9
- package/es/theme/theme-manager.js.map +1 -1
- package/es/theme/tokens.d.ts +0 -1
- package/es/theme/tokens.js +92 -92
- package/es/theme/tokens.js.map +1 -1
- package/es/types/index.d.ts +104 -24
- package/es/types/index.js +8 -3
- package/es/types/index.js.map +1 -0
- package/esm/constants/dom.d.ts +3 -19
- package/esm/constants/dom.js +4 -4
- package/esm/constants/dom.js.map +1 -1
- package/esm/core/chat-manager.d.ts +33 -22
- package/esm/core/chat-manager.js +174 -50
- package/esm/core/chat-manager.js.map +1 -1
- package/esm/core/event-emitter.d.ts +0 -1
- package/esm/core/event-emitter.js +14 -7
- package/esm/core/event-emitter.js.map +1 -1
- package/esm/core/mention-engine.d.ts +1 -2
- package/esm/core/mention-engine.js +9 -9
- package/esm/core/mention-engine.js.map +1 -1
- package/esm/core/message-schema.d.ts +19 -0
- package/esm/core/message-schema.js +197 -0
- package/esm/core/message-schema.js.map +1 -0
- package/esm/core/outbox.d.ts +63 -0
- package/esm/core/outbox.js +160 -0
- package/esm/core/outbox.js.map +1 -0
- package/esm/core/transport.d.ts +79 -0
- package/esm/core/transport.js +102 -0
- package/esm/core/transport.js.map +1 -0
- package/esm/index.d.ts +12 -7
- package/esm/index.js +169 -38
- package/esm/index.js.map +1 -1
- package/esm/renderer/dom-renderer.d.ts +16 -4
- package/esm/renderer/dom-renderer.js +316 -61
- package/esm/renderer/dom-renderer.js.map +1 -1
- package/esm/renderer/style-manager.d.ts +14 -38
- package/esm/renderer/style-manager.js +92 -63
- package/esm/renderer/style-manager.js.map +1 -1
- package/esm/theme/theme-manager.d.ts +4 -3
- package/esm/theme/theme-manager.js +19 -9
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/theme/tokens.d.ts +0 -1
- package/esm/theme/tokens.js +92 -92
- package/esm/theme/tokens.js.map +1 -1
- package/esm/types/index.d.ts +104 -24
- package/esm/types/index.js +8 -3
- package/esm/types/index.js.map +1 -0
- package/lib/constants/dom.cjs +4 -4
- package/lib/constants/dom.cjs.map +1 -1
- package/lib/constants/dom.d.cts +25 -0
- package/lib/constants/dom.d.ts +3 -19
- package/lib/core/chat-manager.cjs +174 -50
- package/lib/core/chat-manager.cjs.map +1 -1
- package/lib/core/chat-manager.d.cts +45 -0
- package/lib/core/chat-manager.d.ts +33 -22
- package/lib/core/event-emitter.cjs +14 -7
- package/lib/core/event-emitter.cjs.map +1 -1
- package/lib/core/event-emitter.d.cts +47 -0
- package/lib/core/event-emitter.d.ts +0 -1
- package/lib/core/mention-engine.cjs +9 -9
- package/lib/core/mention-engine.cjs.map +1 -1
- package/lib/core/mention-engine.d.cts +40 -0
- package/lib/core/mention-engine.d.ts +1 -2
- package/lib/core/message-schema.cjs +202 -0
- package/lib/core/message-schema.cjs.map +1 -0
- package/lib/core/message-schema.d.cts +19 -0
- package/lib/core/message-schema.d.ts +19 -0
- package/lib/core/outbox.cjs +162 -0
- package/lib/core/outbox.cjs.map +1 -0
- package/lib/core/outbox.d.cts +63 -0
- package/lib/core/outbox.d.ts +63 -0
- package/lib/core/transport.cjs +103 -0
- package/lib/core/transport.cjs.map +1 -0
- package/lib/core/transport.d.cts +79 -0
- package/lib/core/transport.d.ts +79 -0
- package/lib/index.cjs +175 -35
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +33 -0
- package/lib/index.d.ts +12 -7
- package/lib/renderer/dom-renderer.cjs +316 -61
- package/lib/renderer/dom-renderer.cjs.map +1 -1
- package/lib/renderer/dom-renderer.d.cts +91 -0
- package/lib/renderer/dom-renderer.d.ts +16 -4
- package/lib/renderer/style-manager.cjs +92 -62
- package/lib/renderer/style-manager.cjs.map +1 -1
- package/lib/renderer/style-manager.d.cts +34 -0
- package/lib/renderer/style-manager.d.ts +14 -38
- package/lib/theme/theme-manager.cjs +19 -9
- package/lib/theme/theme-manager.cjs.map +1 -1
- package/lib/theme/theme-manager.d.cts +34 -0
- package/lib/theme/theme-manager.d.ts +4 -3
- package/lib/theme/tokens.cjs +92 -92
- package/lib/theme/tokens.cjs.map +1 -1
- package/lib/theme/tokens.d.cts +56 -0
- package/lib/theme/tokens.d.ts +0 -1
- package/lib/types/index.cjs +8 -3
- package/lib/types/index.cjs.map +1 -0
- package/lib/types/index.d.cts +284 -0
- package/lib/types/index.d.ts +104 -24
- package/package.json +16 -13
- package/es/constants/dom.d.ts.map +0 -1
- package/es/core/chat-manager.d.ts.map +0 -1
- package/es/core/event-emitter.d.ts.map +0 -1
- package/es/core/mention-engine.d.ts.map +0 -1
- package/es/index.d.ts.map +0 -1
- package/es/renderer/dom-renderer.d.ts.map +0 -1
- package/es/renderer/style-manager.d.ts.map +0 -1
- package/es/theme/theme-manager.d.ts.map +0 -1
- package/es/theme/tokens.d.ts.map +0 -1
- package/es/types/index.d.ts.map +0 -1
- package/esm/constants/dom.d.ts.map +0 -1
- package/esm/core/chat-manager.d.ts.map +0 -1
- package/esm/core/event-emitter.d.ts.map +0 -1
- package/esm/core/mention-engine.d.ts.map +0 -1
- package/esm/index.d.ts.map +0 -1
- package/esm/renderer/dom-renderer.d.ts.map +0 -1
- package/esm/renderer/style-manager.d.ts.map +0 -1
- package/esm/theme/theme-manager.d.ts.map +0 -1
- package/esm/theme/tokens.d.ts.map +0 -1
- package/esm/types/index.d.ts.map +0 -1
- package/lib/constants/dom.d.ts.map +0 -1
- package/lib/core/chat-manager.d.ts.map +0 -1
- package/lib/core/event-emitter.d.ts.map +0 -1
- package/lib/core/mention-engine.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/renderer/dom-renderer.d.ts.map +0 -1
- package/lib/renderer/style-manager.d.ts.map +0 -1
- package/lib/theme/theme-manager.d.ts.map +0 -1
- package/lib/theme/tokens.d.ts.map +0 -1
- package/lib/types/index.d.ts.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 主题管理器
|
|
3
3
|
*/
|
|
4
|
+
import type { EventEmitter } from '../core/event-emitter';
|
|
4
5
|
import type { ThemeMode } from '../types';
|
|
5
6
|
import type { ThemeTokens } from './tokens';
|
|
6
|
-
import { EventEmitter } from '../core/event-emitter';
|
|
7
7
|
/**
|
|
8
8
|
* ThemeManager - Theme Manager class
|
|
9
9
|
*/
|
|
@@ -12,7 +12,9 @@ export declare class ThemeManager {
|
|
|
12
12
|
private emitter;
|
|
13
13
|
private mediaQuery;
|
|
14
14
|
private mediaHandler;
|
|
15
|
-
|
|
15
|
+
private view;
|
|
16
|
+
private destroyed;
|
|
17
|
+
constructor(emitter: EventEmitter, mode?: ThemeMode, view?: Window | null);
|
|
16
18
|
/** 获取当前模式 */
|
|
17
19
|
getMode(): ThemeMode;
|
|
18
20
|
/** 获取当前实际主题(auto 时解析为 light/dark) */
|
|
@@ -30,4 +32,3 @@ export declare class ThemeManager {
|
|
|
30
32
|
/** 销毁 */
|
|
31
33
|
destroy(): void;
|
|
32
34
|
}
|
|
33
|
-
//# sourceMappingURL=theme-manager.d.ts.map
|
package/lib/theme/tokens.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* ***********************************
|
|
3
|
-
* @composy/chat-core v0.0.
|
|
3
|
+
* @composy/chat-core v0.0.2 *
|
|
4
4
|
* Built with rollup *
|
|
5
|
-
* Build time: 2024-
|
|
5
|
+
* Build time: 2024-10-12 21:52:18 *
|
|
6
6
|
* Build mode: production *
|
|
7
7
|
* Minified: No *
|
|
8
8
|
* ***********************************
|
|
@@ -10,98 +10,98 @@
|
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
11
11
|
//#region src/theme/tokens.ts
|
|
12
12
|
const lightTokens = {
|
|
13
|
-
bgPrimary: "var(--
|
|
14
|
-
bgSecondary: "var(--
|
|
15
|
-
bgBubbleOutgoing: "var(--
|
|
16
|
-
bgBubbleIncoming: "var(--
|
|
17
|
-
bgInput: "var(--
|
|
18
|
-
bgMention: "var(--
|
|
19
|
-
bgMentionHover: "var(--
|
|
20
|
-
bgMentionActive: "var(--
|
|
21
|
-
bgLoadMore: "var(--
|
|
22
|
-
bgSystemMessage: "var(--
|
|
23
|
-
bgDropOverlay: "color-mix(in srgb, var(--
|
|
24
|
-
bgDangerSoft: "color-mix(in srgb, var(--
|
|
25
|
-
textPrimary: "var(--
|
|
26
|
-
textSecondary: "var(--
|
|
27
|
-
textBubbleOutgoing: "var(--
|
|
28
|
-
textBubbleIncoming: "var(--
|
|
29
|
-
textMention: "var(--
|
|
30
|
-
textMentionTag: "var(--
|
|
31
|
-
textTimestamp: "var(--
|
|
32
|
-
textSystem: "var(--
|
|
33
|
-
textPlaceholder: "var(--
|
|
34
|
-
borderPrimary: "var(--
|
|
35
|
-
borderInput: "var(--
|
|
36
|
-
borderInputFocus: "var(--
|
|
37
|
-
borderMention: "var(--
|
|
38
|
-
colorSending: "var(--
|
|
39
|
-
colorSent: "var(--
|
|
40
|
-
colorDelivered: "var(--
|
|
41
|
-
colorRead: "var(--
|
|
42
|
-
colorFailed: "var(--
|
|
43
|
-
colorLink: "var(--
|
|
44
|
-
shadowPanel: "
|
|
45
|
-
shadowMention: "
|
|
46
|
-
avatarBg: "var(--
|
|
47
|
-
avatarText: "var(--
|
|
48
|
-
btnPrimaryBg: "var(--
|
|
49
|
-
btnPrimaryText: "var(--
|
|
50
|
-
btnPrimaryHover: "var(--
|
|
51
|
-
scrollbarThumb: "var(--
|
|
52
|
-
scrollbarTrack: "var(--
|
|
53
|
-
bgToolbar: "var(--
|
|
54
|
-
borderToolbar: "var(--
|
|
55
|
-
toolbarIconColor: "var(--
|
|
56
|
-
toolbarIconHover: "var(--
|
|
57
|
-
toolbarVoiceActive: "var(--
|
|
13
|
+
bgPrimary: "var(--ld-bg-surface)",
|
|
14
|
+
bgSecondary: "var(--ld-bg-surface-soft)",
|
|
15
|
+
bgBubbleOutgoing: "var(--ld-primary-default)",
|
|
16
|
+
bgBubbleIncoming: "var(--ld-bg-surface-soft)",
|
|
17
|
+
bgInput: "var(--ld-bg-surface)",
|
|
18
|
+
bgMention: "var(--ld-bg-surface)",
|
|
19
|
+
bgMentionHover: "var(--ld-primary-50)",
|
|
20
|
+
bgMentionActive: "var(--ld-primary-100)",
|
|
21
|
+
bgLoadMore: "var(--ld-bg-surface-soft)",
|
|
22
|
+
bgSystemMessage: "var(--ld-bg-surface-soft)",
|
|
23
|
+
bgDropOverlay: "color-mix(in srgb, var(--ld-primary-default) 10%, var(--ld-bg-surface))",
|
|
24
|
+
bgDangerSoft: "color-mix(in srgb, var(--ld-danger-default) 12%, var(--ld-bg-surface))",
|
|
25
|
+
textPrimary: "var(--ld-text-primary)",
|
|
26
|
+
textSecondary: "var(--ld-text-secondary)",
|
|
27
|
+
textBubbleOutgoing: "var(--ld-gray-50)",
|
|
28
|
+
textBubbleIncoming: "var(--ld-text-primary)",
|
|
29
|
+
textMention: "var(--ld-text-primary)",
|
|
30
|
+
textMentionTag: "var(--ld-primary-default)",
|
|
31
|
+
textTimestamp: "var(--ld-text-muted)",
|
|
32
|
+
textSystem: "var(--ld-text-secondary)",
|
|
33
|
+
textPlaceholder: "var(--ld-text-muted)",
|
|
34
|
+
borderPrimary: "var(--ld-border)",
|
|
35
|
+
borderInput: "var(--ld-gray-300)",
|
|
36
|
+
borderInputFocus: "var(--ld-primary-default)",
|
|
37
|
+
borderMention: "var(--ld-border)",
|
|
38
|
+
colorSending: "var(--ld-gray-400)",
|
|
39
|
+
colorSent: "var(--ld-gray-500)",
|
|
40
|
+
colorDelivered: "var(--ld-primary-default)",
|
|
41
|
+
colorRead: "var(--ld-success-default)",
|
|
42
|
+
colorFailed: "var(--ld-danger-default)",
|
|
43
|
+
colorLink: "var(--ld-primary-default)",
|
|
44
|
+
shadowPanel: "none",
|
|
45
|
+
shadowMention: "none",
|
|
46
|
+
avatarBg: "var(--ld-primary-default)",
|
|
47
|
+
avatarText: "var(--ld-gray-50)",
|
|
48
|
+
btnPrimaryBg: "var(--ld-primary-default)",
|
|
49
|
+
btnPrimaryText: "var(--ld-gray-50)",
|
|
50
|
+
btnPrimaryHover: "var(--ld-primary-hover)",
|
|
51
|
+
scrollbarThumb: "var(--ld-gray-300)",
|
|
52
|
+
scrollbarTrack: "var(--ld-gray-100)",
|
|
53
|
+
bgToolbar: "var(--ld-bg-surface-soft)",
|
|
54
|
+
borderToolbar: "var(--ld-border)",
|
|
55
|
+
toolbarIconColor: "var(--ld-text-secondary)",
|
|
56
|
+
toolbarIconHover: "var(--ld-primary-default)",
|
|
57
|
+
toolbarVoiceActive: "var(--ld-danger-default)"
|
|
58
58
|
};
|
|
59
59
|
const darkTokens = {
|
|
60
|
-
bgPrimary: "var(--
|
|
61
|
-
bgSecondary: "var(--
|
|
62
|
-
bgBubbleOutgoing: "var(--
|
|
63
|
-
bgBubbleIncoming: "var(--
|
|
64
|
-
bgInput: "var(--
|
|
65
|
-
bgMention: "var(--
|
|
66
|
-
bgMentionHover: "var(--
|
|
67
|
-
bgMentionActive: "var(--
|
|
68
|
-
bgLoadMore: "var(--
|
|
69
|
-
bgSystemMessage: "var(--
|
|
70
|
-
bgDropOverlay: "color-mix(in srgb, var(--
|
|
71
|
-
bgDangerSoft: "color-mix(in srgb, var(--
|
|
72
|
-
textPrimary: "var(--
|
|
73
|
-
textSecondary: "var(--
|
|
74
|
-
textBubbleOutgoing: "var(--
|
|
75
|
-
textBubbleIncoming: "var(--
|
|
76
|
-
textMention: "var(--
|
|
77
|
-
textMentionTag: "var(--
|
|
78
|
-
textTimestamp: "var(--
|
|
79
|
-
textSystem: "var(--
|
|
80
|
-
textPlaceholder: "var(--
|
|
81
|
-
borderPrimary: "var(--
|
|
82
|
-
borderInput: "var(--
|
|
83
|
-
borderInputFocus: "var(--
|
|
84
|
-
borderMention: "var(--
|
|
85
|
-
colorSending: "var(--
|
|
86
|
-
colorSent: "var(--
|
|
87
|
-
colorDelivered: "var(--
|
|
88
|
-
colorRead: "var(--
|
|
89
|
-
colorFailed: "var(--
|
|
90
|
-
colorLink: "var(--
|
|
91
|
-
shadowPanel: "
|
|
92
|
-
shadowMention: "
|
|
93
|
-
avatarBg: "var(--
|
|
94
|
-
avatarText: "var(--
|
|
95
|
-
btnPrimaryBg: "var(--
|
|
96
|
-
btnPrimaryText: "var(--
|
|
97
|
-
btnPrimaryHover: "var(--
|
|
98
|
-
scrollbarThumb: "var(--
|
|
99
|
-
scrollbarTrack: "var(--
|
|
100
|
-
bgToolbar: "var(--
|
|
101
|
-
borderToolbar: "var(--
|
|
102
|
-
toolbarIconColor: "var(--
|
|
103
|
-
toolbarIconHover: "var(--
|
|
104
|
-
toolbarVoiceActive: "var(--
|
|
60
|
+
bgPrimary: "var(--ld-gray-900)",
|
|
61
|
+
bgSecondary: "var(--ld-gray-800)",
|
|
62
|
+
bgBubbleOutgoing: "var(--ld-primary-default)",
|
|
63
|
+
bgBubbleIncoming: "var(--ld-gray-800)",
|
|
64
|
+
bgInput: "var(--ld-gray-900)",
|
|
65
|
+
bgMention: "var(--ld-gray-900)",
|
|
66
|
+
bgMentionHover: "var(--ld-gray-800)",
|
|
67
|
+
bgMentionActive: "var(--ld-primary-900)",
|
|
68
|
+
bgLoadMore: "var(--ld-gray-800)",
|
|
69
|
+
bgSystemMessage: "var(--ld-gray-800)",
|
|
70
|
+
bgDropOverlay: "color-mix(in srgb, var(--ld-primary-default) 16%, var(--ld-gray-900))",
|
|
71
|
+
bgDangerSoft: "color-mix(in srgb, var(--ld-danger-default) 18%, var(--ld-gray-900))",
|
|
72
|
+
textPrimary: "var(--ld-gray-50)",
|
|
73
|
+
textSecondary: "var(--ld-gray-300)",
|
|
74
|
+
textBubbleOutgoing: "var(--ld-gray-50)",
|
|
75
|
+
textBubbleIncoming: "var(--ld-gray-50)",
|
|
76
|
+
textMention: "var(--ld-gray-50)",
|
|
77
|
+
textMentionTag: "var(--ld-primary-300)",
|
|
78
|
+
textTimestamp: "var(--ld-gray-400)",
|
|
79
|
+
textSystem: "var(--ld-gray-300)",
|
|
80
|
+
textPlaceholder: "var(--ld-gray-500)",
|
|
81
|
+
borderPrimary: "var(--ld-gray-700)",
|
|
82
|
+
borderInput: "var(--ld-gray-700)",
|
|
83
|
+
borderInputFocus: "var(--ld-primary-default)",
|
|
84
|
+
borderMention: "var(--ld-gray-700)",
|
|
85
|
+
colorSending: "var(--ld-gray-500)",
|
|
86
|
+
colorSent: "var(--ld-gray-400)",
|
|
87
|
+
colorDelivered: "var(--ld-primary-300)",
|
|
88
|
+
colorRead: "var(--ld-success-default)",
|
|
89
|
+
colorFailed: "var(--ld-danger-default)",
|
|
90
|
+
colorLink: "var(--ld-primary-300)",
|
|
91
|
+
shadowPanel: "none",
|
|
92
|
+
shadowMention: "none",
|
|
93
|
+
avatarBg: "var(--ld-primary-default)",
|
|
94
|
+
avatarText: "var(--ld-gray-50)",
|
|
95
|
+
btnPrimaryBg: "var(--ld-primary-default)",
|
|
96
|
+
btnPrimaryText: "var(--ld-gray-50)",
|
|
97
|
+
btnPrimaryHover: "var(--ld-primary-hover)",
|
|
98
|
+
scrollbarThumb: "var(--ld-gray-700)",
|
|
99
|
+
scrollbarTrack: "var(--ld-gray-800)",
|
|
100
|
+
bgToolbar: "var(--ld-gray-800)",
|
|
101
|
+
borderToolbar: "var(--ld-gray-700)",
|
|
102
|
+
toolbarIconColor: "var(--ld-gray-300)",
|
|
103
|
+
toolbarIconHover: "var(--ld-primary-300)",
|
|
104
|
+
toolbarVoiceActive: "var(--ld-danger-default)"
|
|
105
105
|
};
|
|
106
106
|
//#endregion
|
|
107
107
|
exports.darkTokens = darkTokens;
|
package/lib/theme/tokens.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.cjs","names":[],"sources":["../../src/theme/tokens.ts"],"sourcesContent":["/**\n * @file tokens.ts\n * @description tokens 模块\n */\n\n/**\n * ThemeTokens interface\n */\nexport interface ThemeTokens {\n bgPrimary: string
|
|
1
|
+
{"version":3,"file":"tokens.cjs","names":[],"sources":["../../src/theme/tokens.ts"],"sourcesContent":["/**\r\n * @file tokens.ts\r\n * @description tokens 模块\r\n */\r\n\r\n/**\r\n * ThemeTokens interface\r\n */\r\nexport interface ThemeTokens {\r\n bgPrimary: string\r\n bgSecondary: string\r\n bgBubbleOutgoing: string\r\n bgBubbleIncoming: string\r\n bgInput: string\r\n bgMention: string\r\n bgMentionHover: string\r\n bgMentionActive: string\r\n bgLoadMore: string\r\n bgSystemMessage: string\r\n bgDropOverlay: string\r\n bgDangerSoft: string\r\n\r\n textPrimary: string\r\n textSecondary: string\r\n textBubbleOutgoing: string\r\n textBubbleIncoming: string\r\n textMention: string\r\n textMentionTag: string\r\n textTimestamp: string\r\n textSystem: string\r\n textPlaceholder: string\r\n\r\n borderPrimary: string\r\n borderInput: string\r\n borderInputFocus: string\r\n borderMention: string\r\n\r\n colorSending: string\r\n colorSent: string\r\n colorDelivered: string\r\n colorRead: string\r\n colorFailed: string\r\n colorLink: string\r\n\r\n shadowPanel: string\r\n shadowMention: string\r\n\r\n avatarBg: string\r\n avatarText: string\r\n\r\n btnPrimaryBg: string\r\n btnPrimaryText: string\r\n btnPrimaryHover: string\r\n\r\n scrollbarThumb: string\r\n scrollbarTrack: string\r\n\r\n bgToolbar: string\r\n borderToolbar: string\r\n toolbarIconColor: string\r\n toolbarIconHover: string\r\n toolbarVoiceActive: string\r\n}\r\n\r\nexport const lightTokens: ThemeTokens = {\r\n bgPrimary: 'var(--ld-bg-surface)',\r\n bgSecondary: 'var(--ld-bg-surface-soft)',\r\n bgBubbleOutgoing: 'var(--ld-primary-default)',\r\n bgBubbleIncoming: 'var(--ld-bg-surface-soft)',\r\n bgInput: 'var(--ld-bg-surface)',\r\n bgMention: 'var(--ld-bg-surface)',\r\n bgMentionHover: 'var(--ld-primary-50)',\r\n bgMentionActive: 'var(--ld-primary-100)',\r\n bgLoadMore: 'var(--ld-bg-surface-soft)',\r\n bgSystemMessage: 'var(--ld-bg-surface-soft)',\r\n bgDropOverlay:\r\n 'color-mix(in srgb, var(--ld-primary-default) 10%, var(--ld-bg-surface))',\r\n bgDangerSoft:\r\n 'color-mix(in srgb, var(--ld-danger-default) 12%, var(--ld-bg-surface))',\r\n\r\n textPrimary: 'var(--ld-text-primary)',\r\n textSecondary: 'var(--ld-text-secondary)',\r\n textBubbleOutgoing: 'var(--ld-gray-50)',\r\n textBubbleIncoming: 'var(--ld-text-primary)',\r\n textMention: 'var(--ld-text-primary)',\r\n textMentionTag: 'var(--ld-primary-default)',\r\n textTimestamp: 'var(--ld-text-muted)',\r\n textSystem: 'var(--ld-text-secondary)',\r\n textPlaceholder: 'var(--ld-text-muted)',\r\n\r\n borderPrimary: 'var(--ld-border)',\r\n borderInput: 'var(--ld-gray-300)',\r\n borderInputFocus: 'var(--ld-primary-default)',\r\n borderMention: 'var(--ld-border)',\r\n\r\n colorSending: 'var(--ld-gray-400)',\r\n colorSent: 'var(--ld-gray-500)',\r\n colorDelivered: 'var(--ld-primary-default)',\r\n colorRead: 'var(--ld-success-default)',\r\n colorFailed: 'var(--ld-danger-default)',\r\n colorLink: 'var(--ld-primary-default)',\r\n\r\n shadowPanel: 'none',\r\n shadowMention: 'none',\r\n\r\n avatarBg: 'var(--ld-primary-default)',\r\n avatarText: 'var(--ld-gray-50)',\r\n\r\n btnPrimaryBg: 'var(--ld-primary-default)',\r\n btnPrimaryText: 'var(--ld-gray-50)',\r\n btnPrimaryHover: 'var(--ld-primary-hover)',\r\n\r\n scrollbarThumb: 'var(--ld-gray-300)',\r\n scrollbarTrack: 'var(--ld-gray-100)',\r\n\r\n bgToolbar: 'var(--ld-bg-surface-soft)',\r\n borderToolbar: 'var(--ld-border)',\r\n toolbarIconColor: 'var(--ld-text-secondary)',\r\n toolbarIconHover: 'var(--ld-primary-default)',\r\n toolbarVoiceActive: 'var(--ld-danger-default)',\r\n}\r\n\r\nexport const darkTokens: ThemeTokens = {\r\n bgPrimary: 'var(--ld-gray-900)',\r\n bgSecondary: 'var(--ld-gray-800)',\r\n bgBubbleOutgoing: 'var(--ld-primary-default)',\r\n bgBubbleIncoming: 'var(--ld-gray-800)',\r\n bgInput: 'var(--ld-gray-900)',\r\n bgMention: 'var(--ld-gray-900)',\r\n bgMentionHover: 'var(--ld-gray-800)',\r\n bgMentionActive: 'var(--ld-primary-900)',\r\n bgLoadMore: 'var(--ld-gray-800)',\r\n bgSystemMessage: 'var(--ld-gray-800)',\r\n bgDropOverlay:\r\n 'color-mix(in srgb, var(--ld-primary-default) 16%, var(--ld-gray-900))',\r\n bgDangerSoft:\r\n 'color-mix(in srgb, var(--ld-danger-default) 18%, var(--ld-gray-900))',\r\n\r\n textPrimary: 'var(--ld-gray-50)',\r\n textSecondary: 'var(--ld-gray-300)',\r\n textBubbleOutgoing: 'var(--ld-gray-50)',\r\n textBubbleIncoming: 'var(--ld-gray-50)',\r\n textMention: 'var(--ld-gray-50)',\r\n textMentionTag: 'var(--ld-primary-300)',\r\n textTimestamp: 'var(--ld-gray-400)',\r\n textSystem: 'var(--ld-gray-300)',\r\n textPlaceholder: 'var(--ld-gray-500)',\r\n\r\n borderPrimary: 'var(--ld-gray-700)',\r\n borderInput: 'var(--ld-gray-700)',\r\n borderInputFocus: 'var(--ld-primary-default)',\r\n borderMention: 'var(--ld-gray-700)',\r\n\r\n colorSending: 'var(--ld-gray-500)',\r\n colorSent: 'var(--ld-gray-400)',\r\n colorDelivered: 'var(--ld-primary-300)',\r\n colorRead: 'var(--ld-success-default)',\r\n colorFailed: 'var(--ld-danger-default)',\r\n colorLink: 'var(--ld-primary-300)',\r\n\r\n shadowPanel: 'none',\r\n shadowMention: 'none',\r\n\r\n avatarBg: 'var(--ld-primary-default)',\r\n avatarText: 'var(--ld-gray-50)',\r\n\r\n btnPrimaryBg: 'var(--ld-primary-default)',\r\n btnPrimaryText: 'var(--ld-gray-50)',\r\n btnPrimaryHover: 'var(--ld-primary-hover)',\r\n\r\n scrollbarThumb: 'var(--ld-gray-700)',\r\n scrollbarTrack: 'var(--ld-gray-800)',\r\n\r\n bgToolbar: 'var(--ld-gray-800)',\r\n borderToolbar: 'var(--ld-gray-700)',\r\n toolbarIconColor: 'var(--ld-gray-300)',\r\n toolbarIconHover: 'var(--ld-primary-300)',\r\n toolbarVoiceActive: 'var(--ld-danger-default)',\r\n}\r\n"],"mappings":";;;;;;;;;;;AAgEO,MAAM,cAA2B;CACtC,WAAW;CACX,aAAa;CACb,kBAAkB;CAClB,kBAAkB;CAClB,SAAS;CACT,WAAW;CACX,gBAAgB;CAChB,iBAAiB;CACjB,YAAY;CACZ,iBAAiB;CACjB,eACE;CACF,cACE;CAEF,aAAa;CACb,eAAe;CACf,oBAAoB;CACpB,oBAAoB;CACpB,aAAa;CACb,gBAAgB;CAChB,eAAe;CACf,YAAY;CACZ,iBAAiB;CAEjB,eAAe;CACf,aAAa;CACb,kBAAkB;CAClB,eAAe;CAEf,cAAc;CACd,WAAW;CACX,gBAAgB;CAChB,WAAW;CACX,aAAa;CACb,WAAW;CAEX,aAAa;CACb,eAAe;CAEf,UAAU;CACV,YAAY;CAEZ,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CAEjB,gBAAgB;CAChB,gBAAgB;CAEhB,WAAW;CACX,eAAe;CACf,kBAAkB;CAClB,kBAAkB;CAClB,oBAAoB;AACtB;AAEO,MAAM,aAA0B;CACrC,WAAW;CACX,aAAa;CACb,kBAAkB;CAClB,kBAAkB;CAClB,SAAS;CACT,WAAW;CACX,gBAAgB;CAChB,iBAAiB;CACjB,YAAY;CACZ,iBAAiB;CACjB,eACE;CACF,cACE;CAEF,aAAa;CACb,eAAe;CACf,oBAAoB;CACpB,oBAAoB;CACpB,aAAa;CACb,gBAAgB;CAChB,eAAe;CACf,YAAY;CACZ,iBAAiB;CAEjB,eAAe;CACf,aAAa;CACb,kBAAkB;CAClB,eAAe;CAEf,cAAc;CACd,WAAW;CACX,gBAAgB;CAChB,WAAW;CACX,aAAa;CACb,WAAW;CAEX,aAAa;CACb,eAAe;CAEf,UAAU;CACV,YAAY;CAEZ,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CAEjB,gBAAgB;CAChB,gBAAgB;CAEhB,WAAW;CACX,eAAe;CACf,kBAAkB;CAClB,kBAAkB;CAClB,oBAAoB;AACtB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file tokens.ts
|
|
3
|
+
* @description tokens 模块
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* ThemeTokens interface
|
|
7
|
+
*/
|
|
8
|
+
export interface ThemeTokens {
|
|
9
|
+
bgPrimary: string;
|
|
10
|
+
bgSecondary: string;
|
|
11
|
+
bgBubbleOutgoing: string;
|
|
12
|
+
bgBubbleIncoming: string;
|
|
13
|
+
bgInput: string;
|
|
14
|
+
bgMention: string;
|
|
15
|
+
bgMentionHover: string;
|
|
16
|
+
bgMentionActive: string;
|
|
17
|
+
bgLoadMore: string;
|
|
18
|
+
bgSystemMessage: string;
|
|
19
|
+
bgDropOverlay: string;
|
|
20
|
+
bgDangerSoft: string;
|
|
21
|
+
textPrimary: string;
|
|
22
|
+
textSecondary: string;
|
|
23
|
+
textBubbleOutgoing: string;
|
|
24
|
+
textBubbleIncoming: string;
|
|
25
|
+
textMention: string;
|
|
26
|
+
textMentionTag: string;
|
|
27
|
+
textTimestamp: string;
|
|
28
|
+
textSystem: string;
|
|
29
|
+
textPlaceholder: string;
|
|
30
|
+
borderPrimary: string;
|
|
31
|
+
borderInput: string;
|
|
32
|
+
borderInputFocus: string;
|
|
33
|
+
borderMention: string;
|
|
34
|
+
colorSending: string;
|
|
35
|
+
colorSent: string;
|
|
36
|
+
colorDelivered: string;
|
|
37
|
+
colorRead: string;
|
|
38
|
+
colorFailed: string;
|
|
39
|
+
colorLink: string;
|
|
40
|
+
shadowPanel: string;
|
|
41
|
+
shadowMention: string;
|
|
42
|
+
avatarBg: string;
|
|
43
|
+
avatarText: string;
|
|
44
|
+
btnPrimaryBg: string;
|
|
45
|
+
btnPrimaryText: string;
|
|
46
|
+
btnPrimaryHover: string;
|
|
47
|
+
scrollbarThumb: string;
|
|
48
|
+
scrollbarTrack: string;
|
|
49
|
+
bgToolbar: string;
|
|
50
|
+
borderToolbar: string;
|
|
51
|
+
toolbarIconColor: string;
|
|
52
|
+
toolbarIconHover: string;
|
|
53
|
+
toolbarVoiceActive: string;
|
|
54
|
+
}
|
|
55
|
+
export declare const lightTokens: ThemeTokens;
|
|
56
|
+
export declare const darkTokens: ThemeTokens;
|
package/lib/theme/tokens.d.ts
CHANGED
package/lib/types/index.cjs
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* ***********************************
|
|
3
|
-
* @composy/chat-core v0.0.
|
|
3
|
+
* @composy/chat-core v0.0.2 *
|
|
4
4
|
* Built with rollup *
|
|
5
|
-
* Build time: 2024-
|
|
5
|
+
* Build time: 2024-10-12 21:52:18 *
|
|
6
6
|
* Build mode: production *
|
|
7
7
|
* Minified: No *
|
|
8
8
|
* ***********************************
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
11
|
-
|
|
11
|
+
//#region src/types/index.ts
|
|
12
|
+
const CHAT_MESSAGE_SCHEMA_VERSION = 1;
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.CHAT_MESSAGE_SCHEMA_VERSION = CHAT_MESSAGE_SCHEMA_VERSION;
|
|
15
|
+
/*! End of @composy/chat-core | Powered by @composy/builder */
|
|
16
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":["/**\r\n * @composy/chat-core types\r\n */\r\n\r\n// ==================== 消息相关 ====================\r\n\r\n/** 消息类型 */\r\nexport type MessageType = 'text' | 'image' | 'file' | 'system' | 'custom'\r\n\r\n/** 工具栏按钮类型 */\r\nexport type ToolbarAction = 'image' | 'file' | 'voice'\r\n\r\n/** 消息发送状态 */\r\nexport type MessageStatus = 'sending' | 'sent' | 'delivered' | 'read' | 'failed'\r\n\r\n/** 消息方向 */\r\nexport type MessageDirection = 'incoming' | 'outgoing'\r\n\r\n/** 用户信息 */\r\nexport interface ChatUser {\r\n /** 用户 ID */\r\n id: string\r\n /** 昵称 */\r\n nickname: string\r\n /** 头像 URL */\r\n avatar?: string\r\n}\r\n\r\n/** @提及项 */\r\nexport interface MentionItem {\r\n /** 用户 ID */\r\n id: string\r\n /** 显示名称 */\r\n name: string\r\n /** 头像 */\r\n avatar?: string\r\n}\r\n\r\n/** 文件附件 */\r\nexport interface FileAttachment {\r\n /** 文件名 */\r\n name: string\r\n /** 文件大小(字节) */\r\n size: number\r\n /** 文件 URL */\r\n url: string\r\n /** MIME 类型 */\r\n mimeType?: string\r\n}\r\n\r\n/** 图片附件 */\r\nexport interface ImageAttachment {\r\n /** 图片 URL */\r\n url: string\r\n /** 缩略图 URL */\r\n thumbUrl?: string\r\n /** 宽度 */\r\n width?: number\r\n /** 高度 */\r\n height?: number\r\n}\r\n\r\n/** 结构化消息内容块。未知块应在上游归一化时降级,不得直接执行 HTML。 */\r\nexport type ChatContentBlock =\r\n | { type: 'text'; text: string }\r\n | { type: 'mention'; id: string; label: string }\r\n | { type: 'link'; url: string; label?: string }\r\n | { type: 'code'; code: string; language?: string }\r\n | {\r\n type: 'image'\r\n src: string\r\n alt?: string\r\n width?: number\r\n height?: number\r\n }\r\n | {\r\n type: 'file'\r\n url: string\r\n name: string\r\n size?: number\r\n mimeType?: string\r\n }\r\n | { type: 'break' }\r\n | {\r\n type: 'custom'\r\n kind: string\r\n data: Record<string, unknown>\r\n fallback?: string\r\n }\r\n\r\n/** 当前消息 schema 版本。 */\r\nexport const CHAT_MESSAGE_SCHEMA_VERSION = 1\r\n\r\n/** 聊天消息 */\r\nexport interface ChatMessage {\r\n /** 消息唯一 ID */\r\n id: string\r\n /** 消息类型 */\r\n type: MessageType\r\n /** 消息方向 */\r\n direction: MessageDirection\r\n /** 发送者信息 */\r\n sender: ChatUser\r\n /** 文本内容(text 类型) */\r\n content?: string\r\n /** 图片附件(image 类型) */\r\n image?: ImageAttachment\r\n /** 文件附件(file 类型) */\r\n file?: FileAttachment\r\n /** 自定义数据(custom 类型) */\r\n customData?: Record<string, unknown>\r\n /** 自定义 HTML(custom 类型);渲染时会过滤脚本、事件属性、样式和不安全 URL,仅保留受支持的基础标签 */\r\n customHtml?: string\r\n /** 提及列表 */\r\n mentions?: MentionItem[]\r\n /** 发送状态 */\r\n status?: MessageStatus\r\n /** 消息时间戳(毫秒) */\r\n timestamp: number\r\n /** 是否已撤回 */\r\n revoked?: boolean\r\n /** 是否正在流式输出(AI 风格) */\r\n streaming?: boolean\r\n /** 规范化内容块;未提供时使用 content/image/file 等兼容字段。 */\r\n contentBlocks?: ChatContentBlock[]\r\n /** 消息 schema 版本,便于跨 transport 与持久化迁移。 */\r\n schemaVersion?: number\r\n /** 会话标识,用于多会话 transport 复用。 */\r\n conversationId?: string\r\n /** 客户端幂等标识,服务端 ack 与离线 outbox 使用。 */\r\n clientMessageId?: string\r\n /** 服务端单调序号,用于乱序与重复消息过滤。 */\r\n sequence?: number\r\n /** 服务端同步游标。 */\r\n cursor?: string\r\n}\r\n\r\n// ==================== 主题相关 ====================\r\n\r\n/** 主题模式 */\r\nexport type ThemeMode = 'light' | 'dark' | 'auto'\r\n\r\n// ==================== 工具栏配置 ====================\r\n\r\n/** 工具栏配置 */\r\nexport interface ToolbarConfig {\r\n /** 启用图片上传按钮 */\r\n image?: boolean\r\n /** 启用文件上传按钮 */\r\n file?: boolean\r\n /** 启用语音输入按钮 */\r\n voice?: boolean\r\n}\r\n\r\n// ==================== 配置相关 ====================\r\n\r\n/** 聊天组件配置 */\r\nexport interface ChatConfig {\r\n /** 挂载容器 */\r\n container: HTMLElement | string\r\n /** 当前用户 ID(用于判断消息方向) */\r\n currentUserId: string\r\n /** 初始消息列表 */\r\n messages?: ChatMessage[]\r\n /** 主题模式 */\r\n theme?: ThemeMode\r\n /** 是否显示头像 */\r\n showAvatar?: boolean\r\n /** 是否显示昵称 */\r\n showNickname?: boolean\r\n /** 是否显示时间 */\r\n showTimestamp?: boolean\r\n /** 时间分组间隔(毫秒),默认 300000 (5分钟) */\r\n timeGroupInterval?: number\r\n /** 是否显示消息状态 */\r\n showStatus?: boolean\r\n /** 是否显示输入框 */\r\n showInput?: boolean\r\n /** 输入框占位文本 */\r\n inputPlaceholder?: string\r\n /** 是否启用 @提及 */\r\n enableMention?: boolean\r\n /** @提及候选人列表 */\r\n mentionMembers?: MentionItem[]\r\n /** 是否支持加载更多 */\r\n enableLoadMore?: boolean\r\n /** 加载更多文本 */\r\n loadMoreText?: string\r\n /** CSS class 前缀 */\r\n classPrefix?: string\r\n enterToSend?: boolean\r\n clearInputOnSend?: boolean\r\n maxInputLength?: number\r\n voiceLang?: string\r\n /** 日期格式化函数 */\r\n formatTime?: (timestamp: number) => string\r\n /** 是否启用工具栏 */\r\n enableToolbar?: boolean\r\n /** 工具栏配置 */\r\n toolbarConfig?: ToolbarConfig\r\n /** 可选消息 transport;不配置时 Core 仍保持纯本地模式。 */\r\n transport?: import('../core/transport').ChatTransport\r\n /** transport 使用的会话标识。 */\r\n conversationId?: string\r\n /** 创建实例后自动连接 transport。 */\r\n autoConnect?: boolean\r\n /** transport 初始同步游标。 */\r\n transportCursor?: string\r\n /** 可选离线 outbox,用于保存发送中的消息并在连接恢复后重试。 */\r\n outbox?: import('../core/outbox').ChatOutbox\r\n\r\n // 回调\r\n /** 发送消息回调 */\r\n onSend?: (content: string, mentions: MentionItem[]) => void\r\n /** 加载更多回调 */\r\n onLoadMore?: () => void | Promise<void>\r\n /** 消息点击回调 */\r\n onMessageClick?: (message: ChatMessage) => void\r\n /** @提及选择回调 */\r\n onMentionSelect?: (member: MentionItem) => void\r\n /** 图片上传回调(接收 File 列表) */\r\n onImageUpload?: (files: File[]) => void\r\n /** 文件上传回调(接收 File 列表) */\r\n onFileUpload?: (files: File[]) => void\r\n /** 粘贴回调(接收文件列表) */\r\n onPaste?: (files: File[]) => void\r\n /** 拖放回调(接收文件列表) */\r\n onDrop?: (files: File[]) => void\r\n /** 语音开始回调 */\r\n onVoiceStart?: () => void\r\n /** 语音结束回调(接收识别文本) */\r\n onVoiceEnd?: (transcript: string) => void\r\n onVoiceUnsupported?: () => void\r\n onVoiceError?: (error: unknown) => void\r\n onInputChange?: (content: string) => void\r\n}\r\n\r\n/** 聊天实例 */\r\nexport interface ChatInstance {\r\n /** 添加消息 */\r\n addMessage: (message: ChatMessage) => void\r\n /** 批量添加消息(在列表顶部插入,用于加载更多) */\r\n prependMessages: (messages: ChatMessage[]) => void\r\n /** 更新消息 */\r\n updateMessage: (id: string, updates: Partial<ChatMessage>) => void\r\n /** 删除消息 */\r\n removeMessage: (id: string) => void\r\n /** 设置完整消息列表 */\r\n setMessages: (messages: ChatMessage[]) => void\r\n /** 清空所有消息 */\r\n clearMessages: () => void\r\n /** 滚动到底部 */\r\n scrollToBottom: (smooth?: boolean) => void\r\n /** 设置主题 */\r\n setTheme: (theme: ThemeMode) => void\r\n /** 更新 @提及候选人 */\r\n setMentionMembers: (members: MentionItem[]) => void\r\n /** 设置加载更多状态 */\r\n setLoadingMore: (loading: boolean) => void\r\n /** 聚焦输入框 */\r\n focusInput: () => void\r\n /** 设置输入框内容 */\r\n setInputContent: (content: string) => void\r\n /** 获取输入框内容 */\r\n getInputContent: () => string\r\n clearInput: () => void\r\n isAtBottom: (threshold?: number) => boolean\r\n /** 监听事件 */\r\n on: (event: string, handler: (...args: unknown[]) => void) => () => void\r\n /** 获取所有消息 */\r\n getMessages: () => ChatMessage[]\r\n /** 追加流式消息内容(AI 模式);可用 generation/sequence 防止旧 chunk 覆盖新流。 */\r\n appendMessageContent: (\r\n id: string,\r\n chunk: string,\r\n options?: { generation?: string; sequence?: number }\r\n ) => boolean\r\n /** 完成流式消息 */\r\n finishStreaming: (id: string, generation?: string) => boolean\r\n /** 开始一个新的流式 generation,旧 generation 的 chunk 会被丢弃。 */\r\n beginStreaming: (id: string, generation?: string) => string | null\r\n /** 取消当前流式 generation。 */\r\n cancelStreaming: (id: string, generation?: string) => boolean\r\n /** 合并远端消息,按消息 ID/clientMessageId 去重并按 sequence 忽略旧版本。 */\r\n mergeMessage: (\r\n message: ChatMessage,\r\n sequence?: number\r\n ) => 'added' | 'updated' | 'ignored'\r\n /** 连接 transport。 */\r\n connectTransport: (signal?: AbortSignal) => Promise<void>\r\n /** 断开 transport。 */\r\n disconnectTransport: () => Promise<void>\r\n /** 获取当前 transport 状态。 */\r\n getTransportStatus: () => import('../core/transport').ChatTransportStatus\r\n /** 通过 transport 发送消息,失败时保留 failed 状态并交给 outbox 重试。 */\r\n sendMessage: (\r\n message: ChatMessage,\r\n options?: { signal?: AbortSignal }\r\n ) => Promise<import('../core/transport').ChatTransportAck | void>\r\n /** 刷新离线 outbox。 */\r\n flushOutbox: (\r\n options?: import('../core/outbox').ChatOutboxFlushOptions\r\n ) => Promise<import('../core/outbox').ChatOutboxFlushResult>\r\n getMessage: (id: string) => ChatMessage | undefined\r\n /** 销毁实例 */\r\n destroy: () => void\r\n}\r\n"],"mappings":";;;;;;;;;;;AA2FO,MAAM,8BAA8B"}
|