omnix-chat 0.1.0
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/CHANGELOG.md +34 -0
- package/LICENSE +21 -0
- package/README.md +360 -0
- package/dist/es-BoccmK_s.js +457 -0
- package/dist/es-BoccmK_s.js.map +1 -0
- package/dist/favicon.svg +1 -0
- package/dist/logo.svg +1 -0
- package/dist/omnix-chat.es.js +3197 -0
- package/dist/omnix-chat.es.js.map +1 -0
- package/dist/omnix-chat.umd.js +4 -0
- package/dist/omnix-chat.umd.js.map +1 -0
- package/dist/react.es.js +26062 -0
- package/dist/react.es.js.map +1 -0
- package/dist/react.umd.js +593 -0
- package/dist/react.umd.js.map +1 -0
- package/dist/src/chat/ChatRoot.d.ts +9 -0
- package/dist/src/chat/ChatRoot.d.ts.map +1 -0
- package/dist/src/chat/bridge/index.d.ts +2 -0
- package/dist/src/chat/bridge/index.d.ts.map +1 -0
- package/dist/src/chat/bridge/messageBridge.d.ts +8 -0
- package/dist/src/chat/bridge/messageBridge.d.ts.map +1 -0
- package/dist/src/chat/components/AIAssistantBubble.d.ts +13 -0
- package/dist/src/chat/components/AIAssistantBubble.d.ts.map +1 -0
- package/dist/src/chat/components/ErrorBoundary.d.ts +25 -0
- package/dist/src/chat/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/src/chat/components/LauncherSlot.d.ts +8 -0
- package/dist/src/chat/components/LauncherSlot.d.ts.map +1 -0
- package/dist/src/chat/components/LoginForm.d.ts +7 -0
- package/dist/src/chat/components/LoginForm.d.ts.map +1 -0
- package/dist/src/chat/components/PanelHeaderTitle.d.ts +7 -0
- package/dist/src/chat/components/PanelHeaderTitle.d.ts.map +1 -0
- package/dist/src/chat/components/message/BlockExportActions.d.ts +7 -0
- package/dist/src/chat/components/message/BlockExportActions.d.ts.map +1 -0
- package/dist/src/chat/components/message/MessageBlockRenderer.d.ts +6 -0
- package/dist/src/chat/components/message/MessageBlockRenderer.d.ts.map +1 -0
- package/dist/src/chat/components/message/SafeMarkdownHtml.d.ts +11 -0
- package/dist/src/chat/components/message/SafeMarkdownHtml.d.ts.map +1 -0
- package/dist/src/chat/components/message/blockExport.d.ts +5 -0
- package/dist/src/chat/components/message/blockExport.d.ts.map +1 -0
- package/dist/src/chat/components/message/chartBlockUtils.d.ts +10 -0
- package/dist/src/chat/components/message/chartBlockUtils.d.ts.map +1 -0
- package/dist/src/chat/components/message/index.d.ts +4 -0
- package/dist/src/chat/components/message/index.d.ts.map +1 -0
- package/dist/src/chat/components/message/parseMessageBlocks.d.ts +15 -0
- package/dist/src/chat/components/message/parseMessageBlocks.d.ts.map +1 -0
- package/dist/src/chat/components/message/types.d.ts +89 -0
- package/dist/src/chat/components/message/types.d.ts.map +1 -0
- package/dist/src/chat/components/panel/AIAssistantPanel.d.ts +4 -0
- package/dist/src/chat/components/panel/AIAssistantPanel.d.ts.map +1 -0
- package/dist/src/chat/components/panel/AgentSkillBar.d.ts +17 -0
- package/dist/src/chat/components/panel/AgentSkillBar.d.ts.map +1 -0
- package/dist/src/chat/components/panel/BubbleAvatars.d.ts +7 -0
- package/dist/src/chat/components/panel/BubbleAvatars.d.ts.map +1 -0
- package/dist/src/chat/components/panel/ConversationSidebar.d.ts +23 -0
- package/dist/src/chat/components/panel/ConversationSidebar.d.ts.map +1 -0
- package/dist/src/chat/components/panel/DownFeedbackModal.d.ts +18 -0
- package/dist/src/chat/components/panel/DownFeedbackModal.d.ts.map +1 -0
- package/dist/src/chat/components/panel/MessageBody.d.ts +16 -0
- package/dist/src/chat/components/panel/MessageBody.d.ts.map +1 -0
- package/dist/src/chat/components/panel/MessageFeedbackFooter.d.ts +10 -0
- package/dist/src/chat/components/panel/MessageFeedbackFooter.d.ts.map +1 -0
- package/dist/src/chat/components/panel/MessageList.d.ts +13 -0
- package/dist/src/chat/components/panel/MessageList.d.ts.map +1 -0
- package/dist/src/chat/components/panel/PanelModals.d.ts +13 -0
- package/dist/src/chat/components/panel/PanelModals.d.ts.map +1 -0
- package/dist/src/chat/components/panel/PromptsSection.d.ts +11 -0
- package/dist/src/chat/components/panel/PromptsSection.d.ts.map +1 -0
- package/dist/src/chat/components/panel/constants.d.ts +83 -0
- package/dist/src/chat/components/panel/constants.d.ts.map +1 -0
- package/dist/src/chat/components/panel/index.d.ts +3 -0
- package/dist/src/chat/components/panel/index.d.ts.map +1 -0
- package/dist/src/chat/components/panel/types.d.ts +60 -0
- package/dist/src/chat/components/panel/types.d.ts.map +1 -0
- package/dist/src/chat/components/panel/useBubbleItems.d.ts +15 -0
- package/dist/src/chat/components/panel/useBubbleItems.d.ts.map +1 -0
- package/dist/src/chat/components/panel/useBubbleScroll.d.ts +21 -0
- package/dist/src/chat/components/panel/useBubbleScroll.d.ts.map +1 -0
- package/dist/src/chat/components/panel/useConversationSidebarScroll.d.ts +10 -0
- package/dist/src/chat/components/panel/useConversationSidebarScroll.d.ts.map +1 -0
- package/dist/src/chat/components/panel/utils.d.ts +25 -0
- package/dist/src/chat/components/panel/utils.d.ts.map +1 -0
- package/dist/src/chat/config/assistantPrompts.d.ts +9 -0
- package/dist/src/chat/config/assistantPrompts.d.ts.map +1 -0
- package/dist/src/chat/config/globalInteractionCopy.d.ts +19 -0
- package/dist/src/chat/config/globalInteractionCopy.d.ts.map +1 -0
- package/dist/src/chat/config/index.d.ts +2 -0
- package/dist/src/chat/config/index.d.ts.map +1 -0
- package/dist/src/chat/hooks/index.d.ts +4 -0
- package/dist/src/chat/hooks/index.d.ts.map +1 -0
- package/dist/src/chat/hooks/useClientState.d.ts +15 -0
- package/dist/src/chat/hooks/useClientState.d.ts.map +1 -0
- package/dist/src/chat/hooks/useDebouncedSessionPrepare.d.ts +9 -0
- package/dist/src/chat/hooks/useDebouncedSessionPrepare.d.ts.map +1 -0
- package/dist/src/chat/hooks/useLauncherPosition.d.ts +11 -0
- package/dist/src/chat/hooks/useLauncherPosition.d.ts.map +1 -0
- package/dist/src/chat/i18n.d.ts +11 -0
- package/dist/src/chat/i18n.d.ts.map +1 -0
- package/dist/src/chat/styles/host-styles.d.ts +10 -0
- package/dist/src/chat/styles/host-styles.d.ts.map +1 -0
- package/dist/src/chat/styles/inject.d.ts +4 -0
- package/dist/src/chat/styles/inject.d.ts.map +1 -0
- package/dist/src/chat/types.d.ts +56 -0
- package/dist/src/chat/types.d.ts.map +1 -0
- package/dist/src/chat/utils.d.ts +3 -0
- package/dist/src/chat/utils.d.ts.map +1 -0
- package/dist/src/core/api-envelope.d.ts +6 -0
- package/dist/src/core/api-envelope.d.ts.map +1 -0
- package/dist/src/core/auth-headers.d.ts +19 -0
- package/dist/src/core/auth-headers.d.ts.map +1 -0
- package/dist/src/core/auth-response.d.ts +9 -0
- package/dist/src/core/auth-response.d.ts.map +1 -0
- package/dist/src/core/auth-store.d.ts +23 -0
- package/dist/src/core/auth-store.d.ts.map +1 -0
- package/dist/src/core/auth-types.d.ts +26 -0
- package/dist/src/core/auth-types.d.ts.map +1 -0
- package/dist/src/core/auth.d.ts +25 -0
- package/dist/src/core/auth.d.ts.map +1 -0
- package/dist/src/core/chat-response.d.ts +66 -0
- package/dist/src/core/chat-response.d.ts.map +1 -0
- package/dist/src/core/chat-sse.d.ts +66 -0
- package/dist/src/core/chat-sse.d.ts.map +1 -0
- package/dist/src/core/errors.d.ts +16 -0
- package/dist/src/core/errors.d.ts.map +1 -0
- package/dist/src/core/events.d.ts +19 -0
- package/dist/src/core/events.d.ts.map +1 -0
- package/dist/src/core/feedback-utils.d.ts +9 -0
- package/dist/src/core/feedback-utils.d.ts.map +1 -0
- package/dist/src/core/http/client.d.ts +3 -0
- package/dist/src/core/http/client.d.ts.map +1 -0
- package/dist/src/core/http/errors.d.ts +6 -0
- package/dist/src/core/http/errors.d.ts.map +1 -0
- package/dist/src/core/http/index.d.ts +3 -0
- package/dist/src/core/http/index.d.ts.map +1 -0
- package/dist/src/core/http/sse.d.ts +5 -0
- package/dist/src/core/http/sse.d.ts.map +1 -0
- package/dist/src/core/http/types.d.ts +30 -0
- package/dist/src/core/http/types.d.ts.map +1 -0
- package/dist/src/core/instance.d.ts +135 -0
- package/dist/src/core/instance.d.ts.map +1 -0
- package/dist/src/core/message-blocks.d.ts +25 -0
- package/dist/src/core/message-blocks.d.ts.map +1 -0
- package/dist/src/core/resolve.d.ts +5 -0
- package/dist/src/core/resolve.d.ts.map +1 -0
- package/dist/src/core/services/agent.service.d.ts +18 -0
- package/dist/src/core/services/agent.service.d.ts.map +1 -0
- package/dist/src/core/services/auth.service.d.ts +14 -0
- package/dist/src/core/services/auth.service.d.ts.map +1 -0
- package/dist/src/core/services/chat.service.d.ts +28 -0
- package/dist/src/core/services/chat.service.d.ts.map +1 -0
- package/dist/src/core/services/feedback.service.d.ts +15 -0
- package/dist/src/core/services/feedback.service.d.ts.map +1 -0
- package/dist/src/core/services/index.d.ts +5 -0
- package/dist/src/core/services/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/react/AgentChat.d.ts +25 -0
- package/dist/src/react/AgentChat.d.ts.map +1 -0
- package/dist/src/react/AgentChatEmbedded.d.ts +12 -0
- package/dist/src/react/AgentChatEmbedded.d.ts.map +1 -0
- package/dist/src/react/AgentChatProvider.d.ts +15 -0
- package/dist/src/react/AgentChatProvider.d.ts.map +1 -0
- package/dist/src/react/context.d.ts +4 -0
- package/dist/src/react/context.d.ts.map +1 -0
- package/dist/src/react/index.d.ts +11 -0
- package/dist/src/react/index.d.ts.map +1 -0
- package/dist/src/react/useAgentChat.d.ts +36 -0
- package/dist/src/react/useAgentChat.d.ts.map +1 -0
- package/dist/src/types.d.ts +337 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/utils/id.d.ts +7 -0
- package/dist/src/utils/id.d.ts.map +1 -0
- package/dist/src/utils/sdk-version.d.ts +9 -0
- package/dist/src/utils/sdk-version.d.ts.map +1 -0
- package/dist/xlsx-CXTDRHcz.js +12389 -0
- package/dist/xlsx-CXTDRHcz.js.map +1 -0
- package/package.json +115 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/chat/components/panel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { ConversationItemType } from '@ant-design/x';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { AgentsEmptyReason, ChatAgentSummary, ChatSkillSummary, MessageFeedbackDownReasonTag, WriteConfirmationState } from '../../../types';
|
|
4
|
+
import { AIAssistantMessage } from '../../types';
|
|
5
|
+
export interface AIAssistantPanelProps {
|
|
6
|
+
open: boolean;
|
|
7
|
+
sending: boolean;
|
|
8
|
+
sessionsLoading: boolean;
|
|
9
|
+
sessionsHasMore: boolean;
|
|
10
|
+
sessionsLoadingMore: boolean;
|
|
11
|
+
sessionMessagesLoading: boolean;
|
|
12
|
+
sessionMessagesHasMore: boolean;
|
|
13
|
+
sessionMessagesLoadingMore: boolean;
|
|
14
|
+
errorMessage: string | null;
|
|
15
|
+
messages: AIAssistantMessage[];
|
|
16
|
+
activeConversationId: string;
|
|
17
|
+
conversationItems: ConversationItemType[];
|
|
18
|
+
onClose: () => void;
|
|
19
|
+
onStopGenerating: () => void;
|
|
20
|
+
onSend: (message: string) => Promise<void>;
|
|
21
|
+
onRetryFailedMessage: (messageId: string) => void;
|
|
22
|
+
onRateMessageUp?: (messageId: string) => Promise<void>;
|
|
23
|
+
onSubmitDownFeedback?: (input: {
|
|
24
|
+
messageId: string;
|
|
25
|
+
reasonTags: string[];
|
|
26
|
+
comment: string;
|
|
27
|
+
}) => Promise<void>;
|
|
28
|
+
onRemoveMessageFeedback?: (messageId: string) => Promise<void>;
|
|
29
|
+
onLoadDownReasonTags?: () => Promise<MessageFeedbackDownReasonTag[]>;
|
|
30
|
+
onLoadMoreSessionMessages: () => Promise<void>;
|
|
31
|
+
onLoadMoreSessions: () => Promise<void>;
|
|
32
|
+
onSelectConversation: (key: string) => void;
|
|
33
|
+
onCreateConversation: () => void;
|
|
34
|
+
onRemoveConversation: (key: string) => Promise<void> | void;
|
|
35
|
+
onPrepareSession?: (sessionId: string, signal: AbortSignal) => void | Promise<void>;
|
|
36
|
+
drawerGetContainer?: false | HTMLElement | (() => HTMLElement);
|
|
37
|
+
getPopupContainer?: () => HTMLElement;
|
|
38
|
+
title?: string;
|
|
39
|
+
projectName?: string;
|
|
40
|
+
projectLogo?: string;
|
|
41
|
+
locale?: string;
|
|
42
|
+
loginSlot?: ReactNode;
|
|
43
|
+
showPrompts?: boolean;
|
|
44
|
+
showConversationMenu?: boolean;
|
|
45
|
+
conversationGroupLabel?: (group: string) => ReactNode;
|
|
46
|
+
writeConfirmation?: WriteConfirmationState | null;
|
|
47
|
+
onConfirmWrite?: () => void | Promise<void>;
|
|
48
|
+
onCancelWrite?: () => void | Promise<void>;
|
|
49
|
+
agents?: ChatAgentSummary[];
|
|
50
|
+
skills?: ChatSkillSummary[];
|
|
51
|
+
selectedAgentId?: string | null;
|
|
52
|
+
selectedSkillId?: string | null;
|
|
53
|
+
agentsLoading?: boolean;
|
|
54
|
+
skillsLoading?: boolean;
|
|
55
|
+
agentsEmptyReason?: AgentsEmptyReason;
|
|
56
|
+
showAgentSkillBar?: boolean;
|
|
57
|
+
onAgentChange?: (agentId: string) => void | Promise<void>;
|
|
58
|
+
onSkillChange?: (skillId: string) => void;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chat/components/panel/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BubbleItemType } from '@ant-design/x';
|
|
2
|
+
import { AIAssistantMessage } from '../../types';
|
|
3
|
+
export declare function useBubbleItems(messages: AIAssistantMessage[], options: {
|
|
4
|
+
sessionMessagesLoadingMore: boolean;
|
|
5
|
+
showStreamCaret: string | null;
|
|
6
|
+
onRetryFailedMessage: (messageId: string) => void;
|
|
7
|
+
onRateMessageUp?: (messageId: string) => Promise<void>;
|
|
8
|
+
onRateMessageDown?: (messageId: string) => void;
|
|
9
|
+
onRemoveMessageFeedback?: (messageId: string) => Promise<void>;
|
|
10
|
+
assistantLogo?: string;
|
|
11
|
+
assistantName?: string;
|
|
12
|
+
locale?: string;
|
|
13
|
+
}): BubbleItemType[];
|
|
14
|
+
export declare function findStreamingAssistantId(messages: AIAssistantMessage[]): string | null;
|
|
15
|
+
//# sourceMappingURL=useBubbleItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBubbleItems.d.ts","sourceRoot":"","sources":["../../../../../src/chat/components/panel/useBubbleItems.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAmB3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,OAAO,EAAE;IACP,0BAA0B,EAAE,OAAO,CAAC;IACpC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,cAAc,EAAE,CA0KlB;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,MAAM,GAAG,IAAI,CAMf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AIAssistantMessage } from '../../types';
|
|
2
|
+
export interface UseBubbleScrollOptions {
|
|
3
|
+
open: boolean;
|
|
4
|
+
activeConversationId: string;
|
|
5
|
+
sessionMessagesLoading: boolean;
|
|
6
|
+
sessionMessagesHasMore: boolean;
|
|
7
|
+
sessionMessagesLoadingMore: boolean;
|
|
8
|
+
messages: AIAssistantMessage[];
|
|
9
|
+
lastMessage: AIAssistantMessage | undefined;
|
|
10
|
+
streamingAssistantId: string | null;
|
|
11
|
+
thinkOnlyStreaming: boolean;
|
|
12
|
+
sending: boolean;
|
|
13
|
+
onLoadMoreSessionMessages: () => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare function useBubbleScroll({ open, activeConversationId, sessionMessagesLoading, sessionMessagesHasMore, sessionMessagesLoadingMore, messages, lastMessage, streamingAssistantId, thinkOnlyStreaming, sending, onLoadMoreSessionMessages, }: UseBubbleScrollOptions): {
|
|
16
|
+
messagesColRef: import('react').RefObject<HTMLDivElement | null>;
|
|
17
|
+
showScrollToBottom: boolean;
|
|
18
|
+
scrollToBottom: () => void;
|
|
19
|
+
prepareScrollAfterSend: () => void;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useBubbleScroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBubbleScroll.d.ts","sourceRoot":"","sources":["../../../../../src/chat/components/panel/useBubbleScroll.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;IAChC,sBAAsB,EAAE,OAAO,CAAC;IAChC,0BAA0B,EAAE,OAAO,CAAC;IACpC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,OAAO,EACP,yBAAyB,GAC1B,EAAE,sBAAsB;;;;;EAwPxB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface UseConversationSidebarScrollOptions {
|
|
2
|
+
enabled: boolean;
|
|
3
|
+
sessionsHasMore: boolean;
|
|
4
|
+
sessionsLoading: boolean;
|
|
5
|
+
sessionsLoadingMore: boolean;
|
|
6
|
+
conversationCount: number;
|
|
7
|
+
onLoadMoreSessions: () => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare function useConversationSidebarScroll({ enabled, sessionsHasMore, sessionsLoading, sessionsLoadingMore, conversationCount, onLoadMoreSessions, }: UseConversationSidebarScrollOptions): import('react').RefObject<HTMLDivElement | null>;
|
|
10
|
+
//# sourceMappingURL=useConversationSidebarScroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversationSidebarScroll.d.ts","sourceRoot":"","sources":["../../../../../src/chat/components/panel/useConversationSidebarScroll.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,OAAO,EACP,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,mCAAmC,oDA+CrC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AIAssistantMessage } from '../../types';
|
|
2
|
+
import { bubbleStylesAssistant, bubbleStylesUser } from './constants';
|
|
3
|
+
export declare function assistantMessageHasBody(msg: AIAssistantMessage): boolean;
|
|
4
|
+
export declare function formatMessageTime(createdAt: number): string;
|
|
5
|
+
export declare function mergeBubbleStyles(bubble: typeof bubbleStylesUser | typeof bubbleStylesAssistant): {
|
|
6
|
+
content: {
|
|
7
|
+
readonly background: "#1677ff";
|
|
8
|
+
readonly color: "#fff";
|
|
9
|
+
readonly border: "none";
|
|
10
|
+
};
|
|
11
|
+
root: {
|
|
12
|
+
readonly alignItems: "flex-start";
|
|
13
|
+
};
|
|
14
|
+
} | {
|
|
15
|
+
content: {
|
|
16
|
+
readonly background: "#fff";
|
|
17
|
+
readonly color: "rgba(0, 0, 0, 0.88)";
|
|
18
|
+
readonly border: "1px solid var(--border, #e8e8e8)";
|
|
19
|
+
readonly boxShadow: "0 1px 2px rgba(15, 23, 42, 0.06)";
|
|
20
|
+
};
|
|
21
|
+
root: {
|
|
22
|
+
readonly alignItems: "flex-start";
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/chat/components/panel/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAKxE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS3D;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,gBAAgB,GAAG,OAAO,qBAAqB;;;;;;;;;;;;;;;;;;;EAG/D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PromptsItemType } from '@ant-design/x';
|
|
2
|
+
export type AssistantPromptEntry = PromptsItemType & {
|
|
3
|
+
/** 点击后直接作为用户消息发送 */
|
|
4
|
+
sendText: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const ASSISTANT_PROMPTS: AssistantPromptEntry[];
|
|
7
|
+
export declare function assistantPromptItemsForList(): PromptsItemType[];
|
|
8
|
+
export declare function getAssistantPromptSendText(key: string): string | undefined;
|
|
9
|
+
//# sourceMappingURL=assistantPrompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistantPrompts.d.ts","sourceRoot":"","sources":["../../../../src/chat/config/assistantPrompts.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG;IACnD,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,oBAAoB,EAwBnD,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,eAAe,EAAE,CAW/D;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 全局悬浮投小助:入口可访问性文案、首条引导气泡与会话默认标题等。
|
|
3
|
+
* 产品侧文案集中在此,避免散落在组件与 Hook 中。
|
|
4
|
+
*/
|
|
5
|
+
export declare const AI_ASSISTANT_GLOBAL_COPY: {
|
|
6
|
+
/** 悬浮机器人按钮可访问性名称 */
|
|
7
|
+
readonly launcherAriaLabelOpen: "打开投小助";
|
|
8
|
+
/** 抽屉关闭时,悬浮入口旁的轻提示 */
|
|
9
|
+
readonly launcherHintMessage: "有问题想问我吗?点我开始对话";
|
|
10
|
+
/**
|
|
11
|
+
* 新会话首条助手消息(打开面板后可见,用于引导用户提问)
|
|
12
|
+
*/
|
|
13
|
+
readonly welcomeAssistantMessage: "您好,我是投小助,可查询订单与库存分析数据。支持订单量、ROI、渠道分布/趋势、环比同比、归因明细,以及站点/类目/SKU库存、缺货率、销量和周转等指标。你可以直接问:最近一周各渠道订单占比、A站点库存缺货率、某SKU近7天销量与周转天数。";
|
|
14
|
+
/** 尚无用户消息时的会话列表展示标题 */
|
|
15
|
+
readonly conversationDefaultTitle: "新对话";
|
|
16
|
+
/** 请求失败且接口未返回明确信息时的兜底提示 */
|
|
17
|
+
readonly serviceUnavailableFallback: "投小助暂时不可用,请稍后重试";
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=globalInteractionCopy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalInteractionCopy.d.ts","sourceRoot":"","sources":["../../../../src/chat/config/globalInteractionCopy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,wBAAwB;IACnC,oBAAoB;;IAEpB,sBAAsB;;IAEtB;;OAEG;;IAGH,uBAAuB;;IAEvB,2BAA2B;;CAEnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AgentChatClient } from '../../core/instance';
|
|
2
|
+
import { AgentChatState } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Tiny React adapter on top of the imperative client. Subscribes via the
|
|
5
|
+
* client's internal change bus and snapshots `getState()` for React.
|
|
6
|
+
*
|
|
7
|
+
* `client.getState()` itself is responsible for caching the snapshot —
|
|
8
|
+
* `useSyncExternalStore` requires `getSnapshot` to return the *same*
|
|
9
|
+
* reference until the store actually mutates. Without that contract,
|
|
10
|
+
* concurrent rendering interprets the store as torn and remounts the
|
|
11
|
+
* subtree, producing visible flashes (the launcher disappearing on first
|
|
12
|
+
* paint is a symptom of exactly this anti-pattern).
|
|
13
|
+
*/
|
|
14
|
+
export declare function useClientState(client: AgentChatClient): AgentChatState;
|
|
15
|
+
//# sourceMappingURL=useClientState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClientState.d.ts","sourceRoot":"","sources":["../../../../src/chat/hooks/useClientState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,CAOtE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debounced session warm-up while the user types in the composer.
|
|
3
|
+
* Fires {@link onPrepare} after {@link debounceMs} of no input changes.
|
|
4
|
+
*/
|
|
5
|
+
export declare function useDebouncedSessionPrepare(sessionId: string, input: string, onPrepare: ((sessionId: string, signal: AbortSignal) => void | Promise<void>) | undefined, options?: {
|
|
6
|
+
debounceMs?: number;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
}): void;
|
|
9
|
+
//# sourceMappingURL=useDebouncedSessionPrepare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebouncedSessionPrepare.d.ts","sourceRoot":"","sources":["../../../../src/chat/hooks/useDebouncedSessionPrepare.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,EACzF,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACnD,IAAI,CAkBN"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MouseEvent as ReactMouseEvent, TouchEvent as ReactTouchEvent } from 'react';
|
|
2
|
+
import { AIAssistantPosition } from '../types';
|
|
3
|
+
export declare function useLauncherPosition(widgetPosition?: string): {
|
|
4
|
+
position: AIAssistantPosition;
|
|
5
|
+
bubbleBindings: {
|
|
6
|
+
onMouseDown: (event: ReactMouseEvent<HTMLElement>) => void;
|
|
7
|
+
onTouchStart: (event: ReactTouchEvent<HTMLElement>) => void;
|
|
8
|
+
onClick: (event: ReactMouseEvent<HTMLElement>) => void;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=useLauncherPosition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLauncherPosition.d.ts","sourceRoot":"","sources":["../../../../src/chat/hooks/useLauncherPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,UAAU,IAAI,eAAe,EACnC,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAkCpD,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM;;;6BAkEhC,eAAe,CAAC,WAAW,CAAC;8BAI3B,eAAe,CAAC,WAAW,CAAC;yBAIjC,eAAe,CAAC,WAAW,CAAC;;EAWlD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Locale as AntdLocale } from 'antd/es/locale';
|
|
2
|
+
import { Locale as XLocale } from '@ant-design/x/locale';
|
|
3
|
+
export type LocaleKey = 'en' | 'zh-CN';
|
|
4
|
+
export type TranslationKey = 'launcher.openLabel' | 'launcher.closeLabel' | 'header.title' | 'header.closeLabel' | 'composer.placeholder' | 'composer.send' | 'message.failed' | 'message.retry' | 'banner.newMessages' | 'state.empty' | 'state.greeting' | 'state.loading' | 'state.error' | 'auth.loginTitle' | 'auth.loginDescription' | 'auth.emailPlaceholder' | 'auth.passwordPlaceholder' | 'auth.loginButton' | 'auth.loginFailed' | 'sessions.title' | 'sessions.empty' | 'sessions.newChat' | 'sessions.groupToday' | 'sessions.groupYesterday' | 'sessions.groupEarlier' | 'sessions.deleteSuccess' | 'sessions.loadingMore' | 'toolbar.agent' | 'toolbar.skill' | 'toolbar.agentPlaceholder' | 'toolbar.skillPlaceholder' | 'toolbar.agentSkill' | 'toolbar.agentsEmpty' | 'toolbar.agentsEmptyPermission' | 'toolbar.agentsEmptyNotConfigured' | 'toolbar.skillEmpty' | 'toolbar.skillWriteConfirm' | 'toolbar.skillWriteConfirmShort' | 'toolbar.skillNone' | 'toolbar.skillNoneHint' | 'toolbar.loading' | 'stream.thinking' | 'stream.result' | 'feedback.groupLabel' | 'feedback.up' | 'feedback.down' | 'feedback.downTitle' | 'feedback.downHint' | 'feedback.commentPlaceholder' | 'feedback.submit' | 'feedback.cancel' | 'feedback.reasonRequired' | 'feedback.otherRequired' | 'feedback.submitSuccess' | 'feedback.submitFailed' | 'feedback.tagsLoadFailed' | 'blockExport.excel' | 'blockExport.png' | 'blockExport.success' | 'blockExport.failed';
|
|
5
|
+
export declare function resolveLocale(input: string | undefined): LocaleKey;
|
|
6
|
+
/** antd-only locale (legacy). */
|
|
7
|
+
export declare function pickAntdLocale(localeKey: LocaleKey): AntdLocale;
|
|
8
|
+
/** Merged antd + @ant-design/x locale for XProvider. */
|
|
9
|
+
export declare function pickXLocale(localeKey: LocaleKey): XLocale;
|
|
10
|
+
export declare function t(key: TranslationKey, locale: string | undefined): string;
|
|
11
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/chat/i18n.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;AAEvC,MAAM,MAAM,cAAc,GACtB,oBAAoB,GACpB,qBAAqB,GACrB,cAAc,GACd,mBAAmB,GACnB,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,oBAAoB,GACpB,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,uBAAuB,GACvB,uBAAuB,GACvB,0BAA0B,GAC1B,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,yBAAyB,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,0BAA0B,GAC1B,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,+BAA+B,GAC/B,kCAAkC,GAClC,oBAAoB,GACpB,2BAA2B,GAC3B,gCAAgC,GAChC,mBAAmB,GACnB,uBAAuB,GACvB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,qBAAqB,GACrB,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,mBAAmB,GACnB,6BAA6B,GAC7B,iBAAiB,GACjB,iBAAiB,GACjB,yBAAyB,GACzB,wBAAwB,GACxB,wBAAwB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,mBAAmB,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,oBAAoB,CAAC;AAoIzB,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKlE;AAED,iCAAiC;AACjC,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAE/D;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAIzD;AAED,wBAAgB,CAAC,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGzE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout-only CSS inside the Shadow Root.
|
|
3
|
+
* Colors / components come from antd + @ant-design/x via StyleProvider → shadowRoot.
|
|
4
|
+
*/
|
|
5
|
+
/** Design tokens for widget UI (light panel is the default). */
|
|
6
|
+
export declare const SHADOW_UI_TOKENS = "\n:host,\n.ac-shadow-mount {\n --surface: #ffffff;\n --border: #e8e8e8;\n --color-text-secondary: rgba(0, 0, 0, 0.45);\n --ac-text-primary: rgba(0, 0, 0, 0.88);\n --ac-text-secondary: rgba(0, 0, 0, 0.45);\n --ac-text-placeholder: rgba(0, 0, 0, 0.35);\n --ac-text-on-primary: #ffffff;\n color: var(--ac-text-primary);\n box-sizing: border-box;\n}\n\n:host([data-theme='dark']),\n:host([data-theme='dark']) .ac-shadow-mount {\n --surface: #141414;\n --border: rgba(255, 255, 255, 0.12);\n --color-text-secondary: rgba(255, 255, 255, 0.45);\n --ac-text-primary: rgba(255, 255, 255, 0.88);\n --ac-text-secondary: rgba(255, 255, 255, 0.45);\n --ac-text-placeholder: rgba(255, 255, 255, 0.35);\n --ac-text-on-primary: #ffffff;\n color: var(--ac-text-primary);\n}\n\n.ac-shadow-mount *,\n.ac-shadow-mount *::before,\n.ac-shadow-mount *::after {\n box-sizing: border-box;\n}\n";
|
|
7
|
+
/** Drawer inline in shadow — layout details live in ai-assistant-layout-fix.css */
|
|
8
|
+
export declare const DRAWER_SHELL_STYLES = "\n.ac-shadow-mount .ai-assistant-drawer .ant-drawer-mask {\n position: absolute !important;\n inset: 0 !important;\n}\n\n.ac-shadow-mount .ai-assistant-drawer .ant-drawer-header {\n flex-shrink: 0;\n}\n";
|
|
9
|
+
export declare const HOST_STYLES = "\n:host {\n --agent-chat-z: 2147483600;\n position: fixed;\n bottom: 24px;\n right: 24px;\n z-index: var(--agent-chat-z);\n font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;\n font-size: 14px;\n line-height: 1.5;\n color: rgba(0, 0, 0, 0.88);\n}\n\n:host([data-open='true']) {\n inset: 0;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n max-width: none;\n max-height: none;\n}\n\n:host([data-position='bottom-left']) {\n right: auto;\n left: 24px;\n}\n\n:host([data-position='top-right']) {\n bottom: auto;\n top: 24px;\n}\n\n:host([data-position='top-left']) {\n bottom: auto;\n top: 24px;\n right: auto;\n left: 24px;\n}\n\n.ac-shadow-mount {\n display: block;\n}\n\n/* Popups portaled here sit above the drawer and escape overflow:hidden ancestors. */\n.ac-popup-layer {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n z-index: 10050;\n overflow: visible;\n}\n\n.ac-anchor {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: 12px;\n pointer-events: none;\n}\n\n:host([data-open='true']) .ac-shadow-mount {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n}\n\n:host([data-position='bottom-left']) .ac-anchor,\n:host([data-position='top-left']) .ac-anchor {\n align-items: flex-start;\n}\n\n.ac-anchor > * {\n pointer-events: auto;\n}\n\n.ac-panel-shell {\n width: min(420px, calc(100vw - 48px));\n height: min(640px, calc(100vh - 96px));\n max-width: 100vw;\n max-height: 100vh;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n}\n\n.ac-panel-card {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n}\n\n.ac-launcher {\n flex-shrink: 0;\n}\n\n.ac-session-sidebar {\n display: flex;\n flex-direction: column;\n min-height: 0;\n width: 260px;\n min-width: 260px;\n flex-shrink: 0;\n border-right: 1px solid var(--agent-chat-border, #f0f0f0);\n background: var(--agent-chat-sidebar-bg, rgba(0, 0, 0, 0.02));\n}\n\n.ac-session-sidebar__header {\n flex-shrink: 0;\n padding: 12px 12px 8px;\n border-bottom: 1px solid var(--agent-chat-border, #f0f0f0);\n}\n\n.ac-session-sidebar__empty {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n\n.ac-conversations {\n flex: 1;\n min-height: 0;\n overflow: auto;\n padding: 4px 6px 8px;\n margin: 0;\n list-style: none;\n}\n\n.ac-conversations .ant-conversations-item {\n border-radius: 8px;\n}\n\n.ac-conversations .ant-conversations-label {\n flex: 1;\n min-width: 0;\n}\n\n:host([data-theme='dark']) .ac-session-sidebar {\n --agent-chat-border: rgba(255, 255, 255, 0.12);\n --agent-chat-sidebar-bg: rgba(255, 255, 255, 0.04);\n}\n\n:host([data-theme='light']) .ac-session-sidebar {\n --agent-chat-border: #f0f0f0;\n --agent-chat-sidebar-bg: rgba(0, 0, 0, 0.02);\n}\n\n/** Panel typography (scoped \u2014 do not override user bubble white text). */\n:host([data-theme='light']) .ac-shadow-mount .ai-assistant-drawer,\n.ac-shadow-mount .ai-assistant-drawer {\n color-scheme: light;\n}\n\n:host([data-theme='dark']) .ac-shadow-mount .ai-assistant-drawer {\n color-scheme: dark;\n}\n\n.ac-shadow-mount .ai-assistant-panel-body {\n color: var(--ac-text-primary);\n background: var(--surface);\n}\n\n.ac-shadow-mount .ai-assistant-conversations-header-title,\n.ac-shadow-mount .ai-assistant-conversations .ant-conversations-label,\n.ac-shadow-mount .ai-assistant-conversation-item-title {\n color: var(--ac-text-primary);\n}\n\n.ac-shadow-mount .ai-assistant-conversation-item-time {\n color: var(--ac-text-secondary);\n}\n\n.ac-shadow-mount .ai-assistant-sender-wrap .ant-input,\n.ac-shadow-mount .ai-assistant-sender-wrap textarea,\n.ac-shadow-mount .ai-assistant-sender-wrap .ant-input-affix-wrapper > input.ant-input {\n color: var(--ac-text-primary);\n -webkit-text-fill-color: var(--ac-text-primary);\n}\n\n.ac-shadow-mount .ai-assistant-sender-wrap .ant-input::placeholder,\n.ac-shadow-mount .ai-assistant-sender-wrap textarea::placeholder {\n color: var(--ac-text-placeholder);\n}\n\n.ac-shadow-mount .ai-assistant-bubble-list .ant-bubble-start .ai-assistant-bubble-copyable,\n.ac-shadow-mount .ai-assistant-bubble-list .ant-bubble-start .ant-typography,\n.ac-shadow-mount .ai-assistant-bubble-list .ant-bubble-start .ai-assistant-markdown-block,\n.ac-shadow-mount .ai-assistant-bubble-list .ant-bubble-start .ai-assistant-richtext-block {\n color: var(--ac-text-primary);\n}\n\n.ac-shadow-mount .ai-assistant-bubble-list .ant-bubble-end .ant-bubble-content,\n.ac-shadow-mount .ai-assistant-bubble-list .ant-bubble-end .ai-assistant-bubble-copyable,\n.ac-shadow-mount .ai-assistant-bubble-list .ant-bubble-end .ant-typography {\n color: var(--ac-text-on-primary);\n}\n\n.ac-shadow-mount .ai-assistant-think-text,\n.ac-embedded-mount .ai-assistant-think-text {\n color: var(--ac-text-secondary);\n}\n\n/* Modal / Dropdown overlays above drawer (shadow + embedded React mode) */\n.ac-popup-layer .ant-modal-root,\n.ac-popup-layer .ant-modal-wrap,\n.ac-popup-layer .ant-dropdown,\n.ac-shadow-mount .ant-modal-root,\n.ac-shadow-mount .ant-modal-wrap,\n.ac-shadow-mount .ant-dropdown,\n.ac-embedded-mount .ant-modal-root,\n.ac-embedded-mount .ant-modal-wrap,\n.ac-embedded-mount .ant-dropdown {\n z-index: 10050 !important;\n}\n\n.ac-popup-layer .ant-modal-mask,\n.ac-shadow-mount .ant-modal-mask,\n.ac-embedded-mount .ant-modal-mask {\n z-index: 10050 !important;\n}\n";
|
|
10
|
+
//# sourceMappingURL=host-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-styles.d.ts","sourceRoot":"","sources":["../../../../src/chat/styles/host-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,23BA+B5B,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,kNAS/B,CAAC;AAEF,eAAO,MAAM,WAAW,y8KAsOvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../src/chat/styles/inject.ts"],"names":[],"mappings":"AAgIA,wBAAgB,uBAAuB,IAAI,MAAM,CAMhD;AAED,kEAAkE;AAClE,wBAAgB,0BAA0B,IAAI,IAAI,CAajD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { MessageBlock } from './components/message/types';
|
|
2
|
+
import { MessageFeedbackView } from '../types';
|
|
3
|
+
export type AIAssistantRole = "user" | "assistant";
|
|
4
|
+
/** 用户消息发送失败后可点「重试」再次走发送管线 */
|
|
5
|
+
export type AIAssistantMessageDeliveryStatus = "failed";
|
|
6
|
+
export interface AIAssistantMessage {
|
|
7
|
+
id: string;
|
|
8
|
+
role: AIAssistantRole;
|
|
9
|
+
content: string | MessageBlock[];
|
|
10
|
+
createdAt: number;
|
|
11
|
+
/** 等待接口响应时的占位气泡,不参与发送历史 */
|
|
12
|
+
pending?: boolean;
|
|
13
|
+
/** 用户消息:全部重试失败后 */
|
|
14
|
+
deliveryStatus?: AIAssistantMessageDeliveryStatus;
|
|
15
|
+
/** 用户消息已成功 POST 到会话;重试时跳过重复落库,仅重拉 SSE 等 */
|
|
16
|
+
userMessageSynced?: boolean;
|
|
17
|
+
/** SSE 思考过程(合并为一段文本,挂在助手气泡 footer) */
|
|
18
|
+
thinkContent?: string;
|
|
19
|
+
/** 思考流式输出中 */
|
|
20
|
+
thinkLoading?: boolean;
|
|
21
|
+
/** 当前轮助手回复流式进行中(占位气泡) */
|
|
22
|
+
streaming?: boolean;
|
|
23
|
+
/** 当前用户对该助手消息的赞踩状态 */
|
|
24
|
+
feedback?: MessageFeedbackView | null;
|
|
25
|
+
}
|
|
26
|
+
/** 一条本地会话(多窗口历史;标题由首条用户消息推导展示) */
|
|
27
|
+
export interface AIAssistantConversation {
|
|
28
|
+
id: string;
|
|
29
|
+
messages: AIAssistantMessage[];
|
|
30
|
+
updatedAt: number;
|
|
31
|
+
/** 后端 POST /ads/ai/sessions 返回的 sessionId,用于消息持久化与 SSE */
|
|
32
|
+
backendSessionId?: string;
|
|
33
|
+
/** 自 GET /ads/ai/sessions 同步的标题,展示时优先于本地首句推导 */
|
|
34
|
+
serverListTitle?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface AIAssistantPosition {
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
}
|
|
40
|
+
export interface AIAssistantContext {
|
|
41
|
+
page: string;
|
|
42
|
+
routePath?: string;
|
|
43
|
+
flowId?: number;
|
|
44
|
+
programName?: string;
|
|
45
|
+
}
|
|
46
|
+
export type AIAssistantIntent = "GENERAL" | "STATISTICS" | "SUMMARY";
|
|
47
|
+
export interface AIAssistantChatRequest {
|
|
48
|
+
message: string;
|
|
49
|
+
intent: AIAssistantIntent;
|
|
50
|
+
history: AIAssistantMessage[];
|
|
51
|
+
context?: AIAssistantContext;
|
|
52
|
+
}
|
|
53
|
+
export interface AIAssistantChatResponse {
|
|
54
|
+
reply: string;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chat/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AAEnD,6BAA6B;AAC7B,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB;IACnB,cAAc,CAAC,EAAE,gCAAgC,CAAC;IAClD,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACvC;AAED,kCAAkC;AAClC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chat/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,CAAC,GACF,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-envelope.d.ts","sourceRoot":"","sources":["../../../src/core/api-envelope.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAqBpD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HttpClient } from './http';
|
|
2
|
+
/** Sent on the first `/app-client/auth` call when an account token already exists. */
|
|
3
|
+
export declare const ACCOUNT_TOKEN_HEADER = "x-account-token";
|
|
4
|
+
export declare const AUTHORIZATION_HEADER = "Authorization";
|
|
5
|
+
/** C-end client API DSN header (`AppClientDsnGuard`). */
|
|
6
|
+
export declare const CLIENT_DSN_HEADER = "X-App-Dsn";
|
|
7
|
+
/** Headers for `POST /app-client/auth` — `x-app-dsn` (+ optional `x-account-token`). */
|
|
8
|
+
export declare function buildAppClientAuthHeaders(dsn: string, accountToken?: string | null): Record<string, string>;
|
|
9
|
+
export declare function normalizeAccessToken(accessToken: string): string;
|
|
10
|
+
export declare function formatBearerToken(accessToken: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Attach the access token returned by `/app-client/auth` for all subsequent API
|
|
13
|
+
* calls (`/chat`, messages, etc.).
|
|
14
|
+
*/
|
|
15
|
+
export declare function applyAccessTokenHeader(http: HttpClient, accessToken: string): void;
|
|
16
|
+
export declare function clearAccessTokenHeader(http: HttpClient): void;
|
|
17
|
+
/** Headers for `/agent/*` client APIs (`X-App-Dsn` only; Bearer comes from defaults). */
|
|
18
|
+
export declare function buildAgentClientHeaders(dsn: string): Record<string, string>;
|
|
19
|
+
//# sourceMappingURL=auth-headers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-headers.d.ts","sourceRoot":"","sources":["../../../src/core/auth-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGzC,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAEpD,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,wFAAwF;AACxF,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAElF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAE7D;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AppClientAuthData } from './auth-types';
|
|
2
|
+
/**
|
|
3
|
+
* Unwrap `{ data: T }` envelopes from the backend. Falls back to the root
|
|
4
|
+
* object when no `data` key is present.
|
|
5
|
+
*/
|
|
6
|
+
export declare function unwrapApiData<T extends Record<string, unknown>>(body: unknown): T | null;
|
|
7
|
+
/** Parse `/app-client/auth` or `/user/login` JSON into a normalized auth payload. */
|
|
8
|
+
export declare function parseAuthResponse(body: unknown): AppClientAuthData | null;
|
|
9
|
+
//# sourceMappingURL=auth-response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-response.d.ts","sourceRoot":"","sources":["../../../src/core/auth-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMtD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,GAAG,IAAI,CAIxF;AAsCD,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAezE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AppClientAuthData, AppClientInfo, AuthUser } from './auth-types';
|
|
2
|
+
export interface AuthStoreState {
|
|
3
|
+
dsn: string | null;
|
|
4
|
+
accessToken: string | null;
|
|
5
|
+
user: AuthUser | null;
|
|
6
|
+
appClient: AppClientInfo | null;
|
|
7
|
+
accountTokenBound: boolean | null;
|
|
8
|
+
setAuth: (dsn: string, data: AppClientAuthData) => void;
|
|
9
|
+
clearAuth: () => void;
|
|
10
|
+
getAccessTokenForDsn: (dsn: string) => string | null;
|
|
11
|
+
}
|
|
12
|
+
export declare const useAuthStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<AuthStoreState>, "persist"> & {
|
|
13
|
+
persist: {
|
|
14
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<AuthStoreState, AuthStoreState>>) => void;
|
|
15
|
+
clearStorage: () => void;
|
|
16
|
+
rehydrate: () => Promise<void> | void;
|
|
17
|
+
hasHydrated: () => boolean;
|
|
18
|
+
onHydrate: (fn: (state: AuthStoreState) => void) => () => void;
|
|
19
|
+
onFinishHydration: (fn: (state: AuthStoreState) => void) => () => void;
|
|
20
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<AuthStoreState, AuthStoreState>>;
|
|
21
|
+
};
|
|
22
|
+
}>;
|
|
23
|
+
//# sourceMappingURL=auth-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../../../src/core/auth-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE/E,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACtD;AAUD,eAAO,MAAM,YAAY;;;;;;;;;;EAwBxB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** App client record returned by `/app-client/auth`. */
|
|
2
|
+
export interface AppClientInfo {
|
|
3
|
+
id: number;
|
|
4
|
+
dsn: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
7
|
+
/** Authenticated user returned by `/app-client/auth` or `/user/login`. */
|
|
8
|
+
export interface AuthUser {
|
|
9
|
+
id: number;
|
|
10
|
+
employeeId?: string;
|
|
11
|
+
email: string;
|
|
12
|
+
username: string;
|
|
13
|
+
userType: string;
|
|
14
|
+
userRole: string;
|
|
15
|
+
mustChangePassword?: boolean;
|
|
16
|
+
createdAt?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Payload inside the API `data` field on successful auth. */
|
|
19
|
+
export interface AppClientAuthData {
|
|
20
|
+
ok: boolean;
|
|
21
|
+
appClient?: AppClientInfo;
|
|
22
|
+
accessToken?: string;
|
|
23
|
+
user?: AuthUser;
|
|
24
|
+
accountTokenBound?: boolean;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=auth-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../../../src/core/auth-types.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0EAA0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SessionInfo, UserContext, AgentMessage } from '../types';
|
|
2
|
+
export interface SessionContext {
|
|
3
|
+
sdkVersion: string;
|
|
4
|
+
origin: string;
|
|
5
|
+
locale: string;
|
|
6
|
+
user?: UserContext;
|
|
7
|
+
}
|
|
8
|
+
export interface SessionManagerOptions {
|
|
9
|
+
context: SessionContext;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Lightweight in-memory holder for active chat session metadata.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SessionManager {
|
|
15
|
+
private context;
|
|
16
|
+
private sessionId;
|
|
17
|
+
private initialMessages;
|
|
18
|
+
constructor(options: SessionManagerOptions);
|
|
19
|
+
updateContext(partial: Partial<SessionContext>): void;
|
|
20
|
+
getSession(): SessionInfo | null;
|
|
21
|
+
getInitialMessages(): AgentMessage[];
|
|
22
|
+
setSession(sessionId: string, initialMessages?: AgentMessage[]): void;
|
|
23
|
+
reset(): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/core/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,eAAe,CAAsB;gBAEjC,OAAO,EAAE,qBAAqB;IAI1C,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAIrD,UAAU,IAAI,WAAW,GAAG,IAAI;IAKhC,kBAAkB,IAAI,YAAY,EAAE;IAIpC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAE,YAAY,EAAO,GAAG,IAAI;IAKzE,KAAK,IAAI,IAAI;CAId"}
|