@hgt-weprotalk/mira-client 0.1.8
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.dev.md +194 -0
- package/README.md +112 -0
- package/dist/components/chat-widget/AgentAvatar.d.ts +9 -0
- package/dist/components/chat-widget/AgentAvatar.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatHeader.d.ts +25 -0
- package/dist/components/chat-widget/ChatHeader.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatInput.d.ts +23 -0
- package/dist/components/chat-widget/ChatInput.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatMessage.d.ts +20 -0
- package/dist/components/chat-widget/ChatMessage.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatMessageList.d.ts +59 -0
- package/dist/components/chat-widget/ChatMessageList.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatPanel.d.ts +122 -0
- package/dist/components/chat-widget/ChatPanel.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatToast.d.ts +10 -0
- package/dist/components/chat-widget/ChatToast.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatToastContext.d.ts +15 -0
- package/dist/components/chat-widget/ChatToastContext.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatWidget.d.ts +23 -0
- package/dist/components/chat-widget/ChatWidget.d.ts.map +1 -0
- package/dist/components/chat-widget/CollectQuestionForm.d.ts +15 -0
- package/dist/components/chat-widget/CollectQuestionForm.d.ts.map +1 -0
- package/dist/components/chat-widget/ConfirmDialog.d.ts +11 -0
- package/dist/components/chat-widget/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/chat-widget/FeedbackSheet.d.ts +11 -0
- package/dist/components/chat-widget/FeedbackSheet.d.ts.map +1 -0
- package/dist/components/chat-widget/HandoffForm.d.ts +21 -0
- package/dist/components/chat-widget/HandoffForm.d.ts.map +1 -0
- package/dist/components/chat-widget/ImagePreviewContext.d.ts +17 -0
- package/dist/components/chat-widget/ImagePreviewContext.d.ts.map +1 -0
- package/dist/components/chat-widget/MessageBody.d.ts +8 -0
- package/dist/components/chat-widget/MessageBody.d.ts.map +1 -0
- package/dist/components/chat-widget/MessageFeedback.d.ts +18 -0
- package/dist/components/chat-widget/MessageFeedback.d.ts.map +1 -0
- package/dist/components/chat-widget/MiniNodeRenderer.d.ts +8 -0
- package/dist/components/chat-widget/MiniNodeRenderer.d.ts.map +1 -0
- package/dist/components/chat-widget/QuickEntryZone.d.ts +13 -0
- package/dist/components/chat-widget/QuickEntryZone.d.ts.map +1 -0
- package/dist/components/chat-widget/SessionList.d.ts +21 -0
- package/dist/components/chat-widget/SessionList.d.ts.map +1 -0
- package/dist/components/chat-widget/ThinkingStages.d.ts +8 -0
- package/dist/components/chat-widget/ThinkingStages.d.ts.map +1 -0
- package/dist/components/chat-widget/Tooltip.d.ts +10 -0
- package/dist/components/chat-widget/Tooltip.d.ts.map +1 -0
- package/dist/components/chat-widget/formatMessageTime.d.ts +3 -0
- package/dist/components/chat-widget/formatMessageTime.d.ts.map +1 -0
- package/dist/components/chat-widget/icons/Icon.d.ts +9 -0
- package/dist/components/chat-widget/icons/Icon.d.ts.map +1 -0
- package/dist/components/chat-widget/icons/LauncherIcon.d.ts +4 -0
- package/dist/components/chat-widget/icons/LauncherIcon.d.ts.map +1 -0
- package/dist/components/chat-widget/icons/icons.generated.d.ts +14 -0
- package/dist/components/chat-widget/icons/icons.generated.d.ts.map +1 -0
- package/dist/components/chat-widget/icons.d.ts +5 -0
- package/dist/components/chat-widget/icons.d.ts.map +1 -0
- package/dist/components/chat-widget/useMessageFeedback.d.ts +27 -0
- package/dist/components/chat-widget/useMessageFeedback.d.ts.map +1 -0
- package/dist/config/chat.d.ts +7 -0
- package/dist/config/chat.d.ts.map +1 -0
- package/dist/config/hostUser.d.ts +10 -0
- package/dist/config/hostUser.d.ts.map +1 -0
- package/dist/config/runtime.d.ts +22 -0
- package/dist/config/runtime.d.ts.map +1 -0
- package/dist/config/zendesk.d.ts +5 -0
- package/dist/config/zendesk.d.ts.map +1 -0
- package/dist/embed/assets/frame--s-0VxXj.js +99 -0
- package/dist/embed/assets/lib-B5x6C9n9.js +14 -0
- package/dist/embed/assets/style-L9oqpUIO.css +2 -0
- package/dist/embed/assets/zh-CN-Bb9qbg6E.js +1 -0
- package/dist/embed/chat-widget.js +133 -0
- package/dist/embed/embedDialogLayout.d.ts +10 -0
- package/dist/embed/embedDialogLayout.d.ts.map +1 -0
- package/dist/embed/embedDialogTokens.d.ts +29 -0
- package/dist/embed/embedDialogTokens.d.ts.map +1 -0
- package/dist/embed/favicon.svg +1 -0
- package/dist/embed/frame.html +13 -0
- package/dist/embed/icons.svg +24 -0
- package/dist/embed/messages.d.ts +88 -0
- package/dist/embed/messages.d.ts.map +1 -0
- package/dist/embed/mira-chat-host.js +1 -0
- package/dist/embed/sdkMethods.d.ts +18 -0
- package/dist/embed/sdkMethods.d.ts.map +1 -0
- package/dist/embed/useEmbedDialogLayout.d.ts +3 -0
- package/dist/embed/useEmbedDialogLayout.d.ts.map +1 -0
- package/dist/embed/useEmbedHostBridge.d.ts +6 -0
- package/dist/embed/useEmbedHostBridge.d.ts.map +1 -0
- package/dist/favicon.svg +1 -0
- package/dist/hooks/useChat.d.ts +48 -0
- package/dist/hooks/useChat.d.ts.map +1 -0
- package/dist/hooks/useChatWidgetWindowTabSync.d.ts +16 -0
- package/dist/hooks/useChatWidgetWindowTabSync.d.ts.map +1 -0
- package/dist/hooks/useHandoff.d.ts +67 -0
- package/dist/hooks/useHandoff.d.ts.map +1 -0
- package/dist/hooks/useMarkdownNodes.d.ts +10 -0
- package/dist/hooks/useMarkdownNodes.d.ts.map +1 -0
- package/dist/hooks/useZendesk.d.ts +43 -0
- package/dist/hooks/useZendesk.d.ts.map +1 -0
- package/dist/i18n/I18nProvider.d.ts +18 -0
- package/dist/i18n/I18nProvider.d.ts.map +1 -0
- package/dist/i18n/createTranslator.d.ts +4 -0
- package/dist/i18n/createTranslator.d.ts.map +1 -0
- package/dist/i18n/detectLocale.d.ts +9 -0
- package/dist/i18n/detectLocale.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +6 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/types.d.ts +11 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/icons.svg +24 -0
- package/dist/index.cjs.js +104 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +8336 -0
- package/dist/mira-client.css +2 -0
- package/dist/services/chat/agentAdapter.d.ts +119 -0
- package/dist/services/chat/agentAdapter.d.ts.map +1 -0
- package/dist/services/chat/agentClient.d.ts +18 -0
- package/dist/services/chat/agentClient.d.ts.map +1 -0
- package/dist/services/chat/embedMedia.d.ts +13 -0
- package/dist/services/chat/embedMedia.d.ts.map +1 -0
- package/dist/services/chat/historyMapper.d.ts +5 -0
- package/dist/services/chat/historyMapper.d.ts.map +1 -0
- package/dist/services/chat/index.d.ts +61 -0
- package/dist/services/chat/index.d.ts.map +1 -0
- package/dist/services/chat/markdownSanitize.d.ts +7 -0
- package/dist/services/chat/markdownSanitize.d.ts.map +1 -0
- package/dist/services/chat/messageClipboard.d.ts +4 -0
- package/dist/services/chat/messageClipboard.d.ts.map +1 -0
- package/dist/services/chat/messageContent.d.ts +4 -0
- package/dist/services/chat/messageContent.d.ts.map +1 -0
- package/dist/services/chat/quickEntryMapper.d.ts +4 -0
- package/dist/services/chat/quickEntryMapper.d.ts.map +1 -0
- package/dist/services/chat/sessionListLocal.d.ts +4 -0
- package/dist/services/chat/sessionListLocal.d.ts.map +1 -0
- package/dist/services/chat/sessionStatus.d.ts +17 -0
- package/dist/services/chat/sessionStatus.d.ts.map +1 -0
- package/dist/services/chat/sessionStatusDisplay.d.ts +25 -0
- package/dist/services/chat/sessionStatusDisplay.d.ts.map +1 -0
- package/dist/services/chat/streamParser.d.ts +4 -0
- package/dist/services/chat/streamParser.d.ts.map +1 -0
- package/dist/services/chat/unread.d.ts +8 -0
- package/dist/services/chat/unread.d.ts.map +1 -0
- package/dist/services/feedback/storage.d.ts +6 -0
- package/dist/services/feedback/storage.d.ts.map +1 -0
- package/dist/services/handoff/signals.d.ts +5 -0
- package/dist/services/handoff/signals.d.ts.map +1 -0
- package/dist/services/tabSync/createTabSync.d.ts +4 -0
- package/dist/services/tabSync/createTabSync.d.ts.map +1 -0
- package/dist/services/tabSync/index.d.ts +10 -0
- package/dist/services/tabSync/index.d.ts.map +1 -0
- package/dist/services/tabSync/tabId.d.ts +3 -0
- package/dist/services/tabSync/tabId.d.ts.map +1 -0
- package/dist/services/tabSync/types.d.ts +40 -0
- package/dist/services/tabSync/types.d.ts.map +1 -0
- package/dist/services/zendesk/appUser.d.ts +16 -0
- package/dist/services/zendesk/appUser.d.ts.map +1 -0
- package/dist/services/zendesk/configApi.d.ts +4 -0
- package/dist/services/zendesk/configApi.d.ts.map +1 -0
- package/dist/services/zendesk/conversationStatus.d.ts +12 -0
- package/dist/services/zendesk/conversationStatus.d.ts.map +1 -0
- package/dist/services/zendesk/initWidgetSdk.d.ts +17 -0
- package/dist/services/zendesk/initWidgetSdk.d.ts.map +1 -0
- package/dist/services/zendesk/message.d.ts +21 -0
- package/dist/services/zendesk/message.d.ts.map +1 -0
- package/dist/services/zendesk/sessionListPreview.d.ts +15 -0
- package/dist/services/zendesk/sessionListPreview.d.ts.map +1 -0
- package/dist/services/zendesk/smoochClient.d.ts +10 -0
- package/dist/services/zendesk/smoochClient.d.ts.map +1 -0
- package/dist/services/zendesk/visitor.d.ts +11 -0
- package/dist/services/zendesk/visitor.d.ts.map +1 -0
- package/dist/store/chatWidgetState.d.ts +58 -0
- package/dist/store/chatWidgetState.d.ts.map +1 -0
- package/dist/store/chatWidgetStore.d.ts +20 -0
- package/dist/store/chatWidgetStore.d.ts.map +1 -0
- package/dist/store/index.d.ts +10 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/messageHelpers.d.ts +36 -0
- package/dist/store/messageHelpers.d.ts.map +1 -0
- package/dist/store/runtime.d.ts +51 -0
- package/dist/store/runtime.d.ts.map +1 -0
- package/dist/store/slices/chatSlice.d.ts +157 -0
- package/dist/store/slices/chatSlice.d.ts.map +1 -0
- package/dist/store/slices/syncSlice.d.ts +59 -0
- package/dist/store/slices/syncSlice.d.ts.map +1 -0
- package/dist/store/syncTypes.d.ts +83 -0
- package/dist/store/syncTypes.d.ts.map +1 -0
- package/dist/store/tabSyncBridge.d.ts +29 -0
- package/dist/store/tabSyncBridge.d.ts.map +1 -0
- package/dist/types/agent.d.ts +74 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/chat.d.ts +53 -0
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/embed.d.ts +57 -0
- package/dist/types/embed.d.ts.map +1 -0
- package/dist/types/feedback.d.ts +17 -0
- package/dist/types/feedback.d.ts.map +1 -0
- package/dist/types/handoff.d.ts +18 -0
- package/dist/types/handoff.d.ts.map +1 -0
- package/dist/types/history.d.ts +44 -0
- package/dist/types/history.d.ts.map +1 -0
- package/dist/types/quickEntry.d.ts +22 -0
- package/dist/types/quickEntry.d.ts.map +1 -0
- package/dist/types/zendesk.d.ts +19 -0
- package/dist/types/zendesk.d.ts.map +1 -0
- package/dist/utils/generateId.d.ts +3 -0
- package/dist/utils/generateId.d.ts.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Locale } from "../../i18n";
|
|
2
|
+
import "./chat-widget.css";
|
|
3
|
+
interface ChatWidgetProps {
|
|
4
|
+
/** iframe 嵌入模式:样式与宿主页 iframe 窗口配合 */
|
|
5
|
+
embedMode?: boolean;
|
|
6
|
+
/** iframe 面板模式:不渲染 launcher,仅聊天面板(宿主页控制按钮) */
|
|
7
|
+
panelOnly?: boolean;
|
|
8
|
+
/** iframe 模式下宿主页 origin,用于 postMessage */
|
|
9
|
+
parentOrigin?: string;
|
|
10
|
+
/** 嵌入时可显式指定语言,如 "en-US" */
|
|
11
|
+
locale?: Locale;
|
|
12
|
+
/** Web Messenger integrationId 已改由 GET /config/byName 返回的 integrationsId 提供(不再从宿主传入) */
|
|
13
|
+
/** Agent 配置名(对应 script embed 的 data-agent-name) */
|
|
14
|
+
agentName?: string;
|
|
15
|
+
/** Agent 站点(对应 script embed 的 data-site,与 agentName 组成 config/byName 查询) */
|
|
16
|
+
site?: string;
|
|
17
|
+
/** Agent API 根路径(对应 script embed 的 data-api-base-url;默认 /prod-api) */
|
|
18
|
+
apiBaseUrl?: string;
|
|
19
|
+
}
|
|
20
|
+
/** 右下角客服挂件:config/byName → Zendesk SDK → 会话 bootstrap */
|
|
21
|
+
declare const ChatWidget: ({ embedMode, panelOnly, parentOrigin, locale, agentName, site, apiBaseUrl, }: ChatWidgetProps) => import("react").JSX.Element;
|
|
22
|
+
export default ChatWidget;
|
|
23
|
+
//# sourceMappingURL=ChatWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatWidget.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAIhE,OAAO,mBAAmB,CAAC;AAG3B,UAAU,eAAe;IACvB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqLD,yDAAyD;AACzD,QAAA,MAAM,UAAU,GAAI,8EAQjB,eAAe,gCA8MjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface CollectQuestionProfile {
|
|
2
|
+
name: string;
|
|
3
|
+
email: string;
|
|
4
|
+
question: string;
|
|
5
|
+
}
|
|
6
|
+
interface CollectQuestionFormProps {
|
|
7
|
+
/** 表单标题(来自快捷入口配置) */
|
|
8
|
+
formTitle: string;
|
|
9
|
+
/** 关闭表单 */
|
|
10
|
+
onDismiss: () => void;
|
|
11
|
+
}
|
|
12
|
+
/** 收集用户问题的快捷入口表单(暂无提交接口,仅 UI) */
|
|
13
|
+
declare const CollectQuestionForm: ({ formTitle, onDismiss }: CollectQuestionFormProps) => import("react").JSX.Element;
|
|
14
|
+
export default CollectQuestionForm;
|
|
15
|
+
//# sourceMappingURL=CollectQuestionForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectQuestionForm.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/CollectQuestionForm.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,wBAAwB;IAChC,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,iCAAiC;AACjC,QAAA,MAAM,mBAAmB,GAAI,0BAA0B,wBAAwB,gCAuF9E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type ConfirmDialogVariant = "leaveHandoff";
|
|
2
|
+
interface ConfirmDialogProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
variant: ConfirmDialogVariant;
|
|
5
|
+
onCancel: () => void;
|
|
6
|
+
onConfirm: () => void;
|
|
7
|
+
}
|
|
8
|
+
/** 转人工返回列表等二次确认弹窗 */
|
|
9
|
+
declare const ConfirmDialog: ({ isOpen, variant, onCancel, onConfirm, }: ConfirmDialogProps) => import("react").ReactPortal | null;
|
|
10
|
+
export default ConfirmDialog;
|
|
11
|
+
//# sourceMappingURL=ConfirmDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ConfirmDialog.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAeD,qBAAqB;AACrB,QAAA,MAAM,aAAa,GAAI,2CAKpB,kBAAkB,uCAiFpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type DislikeReasonKey } from "../../types/feedback";
|
|
2
|
+
interface FeedbackSheetProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
isSubmitting: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onSubmit: (reasonKey: DislikeReasonKey, otherText?: string) => void;
|
|
7
|
+
}
|
|
8
|
+
/** 点踩原因选择 Sheet(前端写死 4 项 + i18n;仅 other 可补充说明) */
|
|
9
|
+
declare const FeedbackSheet: ({ isOpen, isSubmitting, onClose, onSubmit, }: FeedbackSheetProps) => import("react").ReactPortal | null;
|
|
10
|
+
export default FeedbackSheet;
|
|
11
|
+
//# sourceMappingURL=FeedbackSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedbackSheet.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/FeedbackSheet.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE;AAED,kDAAkD;AAClD,QAAA,MAAM,aAAa,GAAI,8CAKpB,kBAAkB,uCAiIpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { HandoffProfile } from "../../types/handoff";
|
|
2
|
+
interface HandoffFormProps {
|
|
3
|
+
/** 表单初始值(本地缓存的留资信息回填) */
|
|
4
|
+
initialProfile: HandoffProfile | null;
|
|
5
|
+
/** 正在创建 Zendesk 会话(提交中) */
|
|
6
|
+
connecting: boolean;
|
|
7
|
+
/** Zendesk SDK 初始化中 */
|
|
8
|
+
sdkLoading: boolean;
|
|
9
|
+
/** Zendesk SDK 已就绪 */
|
|
10
|
+
sdkReady: boolean;
|
|
11
|
+
/** 表单错误文案(转人工失败时展示) */
|
|
12
|
+
errorMessage?: string | null;
|
|
13
|
+
/** 提交留资 */
|
|
14
|
+
onSubmit: (profile: HandoffProfile) => Promise<boolean | void>;
|
|
15
|
+
/** 取消表单 */
|
|
16
|
+
onDismiss: () => void;
|
|
17
|
+
}
|
|
18
|
+
/** 转人工留资表单:姓名 + 邮箱必填,提交后创建 Zendesk SDK 会话 */
|
|
19
|
+
declare const HandoffForm: ({ initialProfile, connecting, sdkLoading, sdkReady, errorMessage, onSubmit, onDismiss, }: HandoffFormProps) => import("react").JSX.Element;
|
|
20
|
+
export default HandoffForm;
|
|
21
|
+
//# sourceMappingURL=HandoffForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandoffForm.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/HandoffForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,UAAU,gBAAgB;IACxB,yBAAyB;IACzB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,2BAA2B;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW;IACX,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/D,WAAW;IACX,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,6CAA6C;AAC7C,QAAA,MAAM,WAAW,GAAI,0FAQlB,gBAAgB,gCAoHlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type ImagePreviewMode = "inline" | "host";
|
|
3
|
+
/** 图片预览上下文:inline 用 react-photo-view,host 由宿主页接管预览 */
|
|
4
|
+
export interface ImagePreviewContextValue {
|
|
5
|
+
mode: ImagePreviewMode;
|
|
6
|
+
openHostPreview: (src: string, alt?: string) => void;
|
|
7
|
+
}
|
|
8
|
+
interface ImagePreviewProviderProps {
|
|
9
|
+
mode: ImagePreviewMode;
|
|
10
|
+
onHostPreview: (src: string, alt?: string) => void;
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/** 提供图片预览模式与宿主页预览回调 */
|
|
14
|
+
export declare const ImagePreviewProvider: ({ mode, onHostPreview, children, }: ImagePreviewProviderProps) => import("react").JSX.Element;
|
|
15
|
+
export declare const useImagePreview: () => ImagePreviewContextValue;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=ImagePreviewContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePreviewContext.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ImagePreviewContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAOD,UAAU,yBAAyB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,uBAAuB;AACvB,eAAO,MAAM,oBAAoB,GAAI,oCAIlC,yBAAyB,gCAI3B,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,wBACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ChatMessage } from "../../types/chat";
|
|
2
|
+
interface MessageBodyProps {
|
|
3
|
+
message: Pick<ChatMessage, "role" | "source" | "isError" | "contentFormat" | "content">;
|
|
4
|
+
isStreaming?: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: import("react").MemoExoticComponent<({ message, isStreaming }: MessageBodyProps) => import("react").JSX.Element>;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=MessageBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBody.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/MessageBody.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,UAAU,gBAAgB;IACxB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC,CAAC;IACxF,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;uFAOsD,gBAAgB;AA0BvE,wBAAiC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ChatMessage as ChatMessageType } from "../../types/chat";
|
|
2
|
+
import type { DislikeReasonKey } from "../../types/feedback";
|
|
3
|
+
interface MessageFeedbackProps {
|
|
4
|
+
/** 当前消息数据(取 content / feedback / serverMessageId) */
|
|
5
|
+
message: ChatMessageType;
|
|
6
|
+
/** 是否为流式生成中(流式时不展示反馈) */
|
|
7
|
+
isStreaming?: boolean;
|
|
8
|
+
/** 点赞回调 */
|
|
9
|
+
onLike: () => Promise<boolean>;
|
|
10
|
+
/** 点踩第一步:创建反馈并返回 feedbackId */
|
|
11
|
+
onDislikeInit: () => Promise<boolean>;
|
|
12
|
+
/** 点踩第二步:补充原因(other 可带自定义文本) */
|
|
13
|
+
onDislikeReason: (reasonKey: DislikeReasonKey, otherText?: string) => Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
/** mira_ai 消息气泡下方的点赞 / 点踩操作区 */
|
|
16
|
+
declare const MessageFeedback: ({ message, isStreaming, onLike, onDislikeInit, onDislikeReason, }: MessageFeedbackProps) => import("react").JSX.Element | null;
|
|
17
|
+
export default MessageFeedback;
|
|
18
|
+
//# sourceMappingURL=MessageFeedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageFeedback.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/MessageFeedback.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO7D,UAAU,oBAAoB;IAC5B,qDAAqD;IACrD,OAAO,EAAE,eAAe,CAAC;IACzB,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW;IACX,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,+BAA+B;IAC/B,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,gCAAgC;IAChC,eAAe,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxF;AAED,gCAAgC;AAChC,QAAA,MAAM,eAAe,GAAI,mEAMtB,oBAAoB,uCA2GtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MiniNode } from "@ant-design/x-markdown-mini";
|
|
2
|
+
interface MiniNodeRendererProps {
|
|
3
|
+
nodes: MiniNode[];
|
|
4
|
+
}
|
|
5
|
+
/** 将 x-markdown-mini 的 MiniNode 树渲染为 Web DOM(Chat Widget 专用) */
|
|
6
|
+
declare const MiniNodeRenderer: ({ nodes }: MiniNodeRendererProps) => import("react").JSX.Element;
|
|
7
|
+
export default MiniNodeRenderer;
|
|
8
|
+
//# sourceMappingURL=MiniNodeRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiniNodeRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/MiniNodeRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAoO5D,UAAU,qBAAqB;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,gEAAgE;AAChE,QAAA,MAAM,gBAAgB,GAAI,WAAW,qBAAqB,gCAQzD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type QuickEntry } from "@/types/quickEntry";
|
|
2
|
+
interface QuickEntryZoneProps {
|
|
3
|
+
/** Agent 配置的快捷入口 */
|
|
4
|
+
entries: QuickEntry[];
|
|
5
|
+
/** 当前会话中用户已发送的消息条数 */
|
|
6
|
+
userMessageCount: number;
|
|
7
|
+
/** 点击 PRESET_MSG 类型入口 */
|
|
8
|
+
onSelectPresetMessage: (message: string) => void;
|
|
9
|
+
}
|
|
10
|
+
/** 输入区上方的快捷入口:按 rounds 展示,支持预设消息 / 外链 / 收集表单 */
|
|
11
|
+
declare const QuickEntryZone: ({ entries, userMessageCount, onSelectPresetMessage, }: QuickEntryZoneProps) => import("react").JSX.Element | null;
|
|
12
|
+
export default QuickEntryZone;
|
|
13
|
+
//# sourceMappingURL=QuickEntryZone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickEntryZone.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/QuickEntryZone.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAG5B,UAAU,mBAAmB;IAC3B,oBAAoB;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,sBAAsB;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,gDAAgD;AAChD,QAAA,MAAM,cAAc,GAAI,uDAIrB,mBAAmB,uCAoErB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SessionListItem } from "../../types/history";
|
|
2
|
+
interface SessionListProps {
|
|
3
|
+
/** 历史会话列表 */
|
|
4
|
+
sessions: SessionListItem[];
|
|
5
|
+
/** 列表加载中 */
|
|
6
|
+
isLoading: boolean;
|
|
7
|
+
/** Agent 头像 URL(列表项左侧展示) */
|
|
8
|
+
agentAvatar?: string;
|
|
9
|
+
/** Zendesk 各 conversationId 的未读标记(列表角标) */
|
|
10
|
+
zendeskUnreadByConversationId?: Record<string, boolean>;
|
|
11
|
+
/** 选中某个会话 */
|
|
12
|
+
onSelectSession: (session: SessionListItem) => void;
|
|
13
|
+
/** 删除某个会话 */
|
|
14
|
+
onDeleteSession: (sessionId: number) => void;
|
|
15
|
+
/** 新建对话 */
|
|
16
|
+
onStartNewChat: () => void;
|
|
17
|
+
}
|
|
18
|
+
/** 历史会话列表页 */
|
|
19
|
+
declare const SessionList: ({ sessions, isLoading, agentAvatar, zendeskUnreadByConversationId, onSelectSession, onDeleteSession, onStartNewChat, }: SessionListProps) => import("react").JSX.Element;
|
|
20
|
+
export default SessionList;
|
|
21
|
+
//# sourceMappingURL=SessionList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionList.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/SessionList.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,UAAU,gBAAgB;IACxB,aAAa;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,YAAY;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,6BAA6B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,aAAa;IACb,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,aAAa;IACb,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW;IACX,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AA4BD,cAAc;AACd,QAAA,MAAM,WAAW,GAAI,wHAQlB,gBAAgB,gCAkGlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface ThinkingStagesProps {
|
|
2
|
+
agentName: string;
|
|
3
|
+
stageIndex: number;
|
|
4
|
+
}
|
|
5
|
+
/** AI 思考过程:单行文案随 stageIndex 切换 */
|
|
6
|
+
declare const ThinkingStages: ({ agentName, stageIndex }: ThinkingStagesProps) => import("react").JSX.Element;
|
|
7
|
+
export default ThinkingStages;
|
|
8
|
+
//# sourceMappingURL=ThinkingStages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThinkingStages.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ThinkingStages.tsx"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,kCAAkC;AAClC,QAAA,MAAM,cAAc,GAAI,2BAA2B,mBAAmB,gCAyBrE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
interface TooltipProps {
|
|
3
|
+
/** Tooltip 文案 */
|
|
4
|
+
label: string;
|
|
5
|
+
children: ReactElement;
|
|
6
|
+
}
|
|
7
|
+
/** Hover 显示的气泡提示(包裹单个可交互控件) */
|
|
8
|
+
declare const Tooltip: ({ label, children }: TooltipProps) => import("react").JSX.Element;
|
|
9
|
+
export default Tooltip;
|
|
10
|
+
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,YAAY;IACpB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,+BAA+B;AAC/B,QAAA,MAAM,OAAO,GAAI,qBAAqB,YAAY,gCAOjD,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatMessageTime.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/formatMessageTime.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,GAAG,SAAS,EAC7B,QAAQ,MAAM,KACb,MAcF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface IconProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
/** Shared Lucide-compatible SVG shell (24×24, stroke icons) */
|
|
6
|
+
export declare const Icon: ({ className, children, }: IconProps & {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}) => import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-widget/icons/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,eAAO,MAAM,IAAI,GAAI,0BAGlB,SAAS,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAarC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LauncherIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-widget/icons/LauncherIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,+DAA+D;AAC/D,eAAO,MAAM,YAAY,GAAI,eAAe,SAAS,gCAapD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** AUTO-GENERATED by scripts/extract-icons.mjs — do not edit */
|
|
2
|
+
import { type IconProps } from "./Icon";
|
|
3
|
+
export declare const ChevronLeftIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
4
|
+
export declare const CloseIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
5
|
+
export declare const SendIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
6
|
+
export declare const StopIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
7
|
+
export declare const ChevronRightIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
8
|
+
export declare const CopyIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
9
|
+
export declare const ThumbsUpIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
10
|
+
export declare const ThumbsDownIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
11
|
+
export declare const TrashIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
12
|
+
export declare const ChevronDownIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
13
|
+
export declare const MessageCircleQuestionIcon: ({ className }: IconProps) => import("react").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=icons.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.generated.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-widget/icons/icons.generated.tsx"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9C,eAAO,MAAM,eAAe,GAAI,eAAe,SAAS,gCAIvD,CAAC;AACF,eAAO,MAAM,SAAS,GAAI,eAAe,SAAS,gCAIjD,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,eAAe,SAAS,gCAIhD,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,eAAe,SAAS,gCAIhD,CAAC;AACF,eAAO,MAAM,gBAAgB,GAAI,eAAe,SAAS,gCAIxD,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,eAAe,SAAS,gCAIhD,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,eAAe,SAAS,gCAIpD,CAAC;AACF,eAAO,MAAM,cAAc,GAAI,eAAe,SAAS,gCAItD,CAAC;AACF,eAAO,MAAM,SAAS,GAAI,eAAe,SAAS,gCAIjD,CAAC;AACF,eAAO,MAAM,eAAe,GAAI,eAAe,SAAS,gCAIvD,CAAC;AACF,eAAO,MAAM,yBAAyB,GAAI,eAAe,SAAS,gCAIjE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Re-export barrel — Vite resolves `./icons` to this file before the `icons/` directory */
|
|
2
|
+
export type { IconProps } from "./icons/Icon";
|
|
3
|
+
export { LauncherIcon } from "./icons/LauncherIcon";
|
|
4
|
+
export { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CloseIcon, CopyIcon, MessageCircleQuestionIcon, SendIcon, StopIcon, ThumbsDownIcon, ThumbsUpIcon, TrashIcon, } from "./icons/icons.generated";
|
|
5
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/icons.tsx"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,yBAAyB,EACzB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ChatMessage as ChatMessageType } from "../../types/chat";
|
|
2
|
+
import type { DislikeReasonKey, FeedbackType, MessageFeedbackState } from "../../types/feedback";
|
|
3
|
+
/** 判断消息是否可接收反馈:仅 mira_ai、非开场白/错误/中止/分隔条、非流式且已落库 */
|
|
4
|
+
export declare const canMessageReceiveFeedback: (message: ChatMessageType, isStreaming: boolean) => boolean;
|
|
5
|
+
interface UseMessageFeedbackOptions {
|
|
6
|
+
message: ChatMessageType;
|
|
7
|
+
isStreaming?: boolean;
|
|
8
|
+
onLike: () => Promise<boolean>;
|
|
9
|
+
onDislikeInit: () => Promise<boolean>;
|
|
10
|
+
onDislikeReason: (reasonKey: DislikeReasonKey, otherText?: string) => Promise<boolean>;
|
|
11
|
+
}
|
|
12
|
+
/** 单条 mira_ai 消息的点赞 / 点踩交互 */
|
|
13
|
+
export declare const useMessageFeedback: ({ message, isStreaming, onLike, onDislikeInit, onDislikeReason, }: UseMessageFeedbackOptions) => {
|
|
14
|
+
canFeedback: boolean;
|
|
15
|
+
feedback: MessageFeedbackState | null;
|
|
16
|
+
isSheetOpen: boolean;
|
|
17
|
+
isSubmitting: boolean;
|
|
18
|
+
isLocked: boolean;
|
|
19
|
+
activeType: FeedbackType | null;
|
|
20
|
+
handleLike: () => Promise<void>;
|
|
21
|
+
handleOpenDislikeSheet: () => Promise<void>;
|
|
22
|
+
handleCloseSheet: () => void;
|
|
23
|
+
handleSubmitDislike: (reasonKey: DislikeReasonKey, otherText?: string) => Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
export type { DislikeReasonKey, FeedbackType, MessageFeedbackState };
|
|
26
|
+
export declare const getDislikeFeedbackLabel: (feedback: MessageFeedbackState | null, translateReason: (key: DislikeReasonKey) => string) => string;
|
|
27
|
+
//# sourceMappingURL=useMessageFeedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMessageFeedback.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/useMessageFeedback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,mDAAmD;AACnD,eAAO,MAAM,yBAAyB,GACpC,SAAS,eAAe,EACxB,aAAa,OAAO,KACnB,OAO+B,CAAC;AAEnC,UAAU,yBAAyB;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,eAAe,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxF;AAED,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB,GAAI,mEAMhC,yBAAyB;;;;;;;;;;qCAyDN,gBAAgB,cAAc,MAAM;CA+BzD,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErE,eAAO,MAAM,uBAAuB,GAClC,UAAU,oBAAoB,GAAG,IAAI,EACrC,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,KAAK,MAAM,KACjD,MAUF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/config/chat.ts"],"names":[],"mappings":"AAEA,gDAAgD;AAChD,eAAO,MAAM,WAAW;;;;CAsBd,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** 宿主页传入的登录用户信息(用于跳过留资表单、直接转人工) */
|
|
2
|
+
export interface HostUserInfo {
|
|
3
|
+
loginUserId: string;
|
|
4
|
+
name: string;
|
|
5
|
+
email: string;
|
|
6
|
+
userNickname?: string;
|
|
7
|
+
}
|
|
8
|
+
/** 读取宿主页注入的登录用户信息 */
|
|
9
|
+
export declare const getHostUserProfile: () => HostUserInfo | null;
|
|
10
|
+
//# sourceMappingURL=hostUser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostUser.d.ts","sourceRoot":"","sources":["../../src/config/hostUser.ts"],"names":[],"mappings":"AAEA,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAqB;AACrB,eAAO,MAAM,kBAAkB,QAAO,YAAY,GAAG,IAepD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Chat Widget 嵌入脚本运行时配置(由 <script> data 属性注入) */
|
|
2
|
+
export interface HostUserInfo {
|
|
3
|
+
loginUserId: string;
|
|
4
|
+
name: string;
|
|
5
|
+
email: string;
|
|
6
|
+
userNickname?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ChatWidgetRuntimeConfig {
|
|
9
|
+
agentName?: string;
|
|
10
|
+
site?: string;
|
|
11
|
+
integrationId?: string;
|
|
12
|
+
apiBaseUrl?: string;
|
|
13
|
+
loginUserId?: string;
|
|
14
|
+
userNickname?: string;
|
|
15
|
+
hostUser?: HostUserInfo;
|
|
16
|
+
productContext?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
/** 合并更新运行时配置(嵌入脚本 data 属性注入时调用) */
|
|
19
|
+
export declare const setChatWidgetRuntimeConfig: (config: ChatWidgetRuntimeConfig) => void;
|
|
20
|
+
/** 读取当前运行时配置(供各模块优先消费嵌入参数) */
|
|
21
|
+
export declare const getChatWidgetRuntimeConfig: () => ChatWidgetRuntimeConfig;
|
|
22
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/config/runtime.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAID,mCAAmC;AACnC,eAAO,MAAM,0BAA0B,GACrC,QAAQ,uBAAuB,KAC9B,IAEF,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,0BAA0B,QAAO,uBAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zendesk.d.ts","sourceRoot":"","sources":["../../src/config/zendesk.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,eAAO,MAAM,aAAa;;CAEhB,CAAC"}
|