@inkeep/agents-ui 0.0.0-dev-20260508234956 → 0.0.0-dev-20260509025038

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.
Files changed (39) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +167 -161
  3. package/dist/primitives/components/embedded-chat/use-chat-action.cjs +1 -1
  4. package/dist/primitives/components/embedded-chat/use-chat-action.js +16 -14
  5. package/dist/primitives/components/embedded-chat/use-inkeep-chat.cjs +2 -2
  6. package/dist/primitives/components/embedded-chat/use-inkeep-chat.js +253 -256
  7. package/dist/primitives/components/embedded-chat.cjs +3 -3
  8. package/dist/primitives/components/embedded-chat.d.ts +1 -1
  9. package/dist/primitives/components/embedded-chat.js +96 -93
  10. package/dist/primitives/hooks/use-events-api.cjs +1 -0
  11. package/dist/primitives/hooks/use-events-api.d.ts +29 -0
  12. package/dist/primitives/hooks/use-events-api.js +43 -0
  13. package/dist/primitives/index.cjs +1 -1
  14. package/dist/primitives/index.js +150 -144
  15. package/dist/primitives/providers/base-events-provider.cjs +1 -1
  16. package/dist/primitives/providers/base-events-provider.d.ts +2 -0
  17. package/dist/primitives/providers/base-events-provider.js +6 -5
  18. package/dist/primitives/providers/chat-auth-provider.cjs +1 -0
  19. package/dist/primitives/providers/chat-auth-provider.d.ts +27 -0
  20. package/dist/primitives/providers/chat-auth-provider.js +46 -0
  21. package/dist/primitives/providers/chat-base-events-provider.cjs +1 -0
  22. package/dist/primitives/providers/chat-base-events-provider.d.ts +12 -0
  23. package/dist/primitives/providers/chat-base-events-provider.js +65 -0
  24. package/dist/primitives/providers/feedback-provider.cjs +1 -1
  25. package/dist/primitives/providers/feedback-provider.js +13 -12
  26. package/dist/primitives/providers/index.cjs +1 -1
  27. package/dist/primitives/providers/index.d.ts +2 -0
  28. package/dist/primitives/providers/index.js +57 -51
  29. package/dist/react/embedded-chat.cjs +1 -1
  30. package/dist/react/embedded-chat.js +101 -99
  31. package/dist/react/index.cjs +1 -1
  32. package/dist/react/index.js +167 -161
  33. package/dist/styled/components/message.cjs +1 -1
  34. package/dist/styled/components/message.js +77 -74
  35. package/dist/styled/index.cjs +1 -1
  36. package/dist/styled/index.js +155 -149
  37. package/dist/types/config/ai.d.ts +5 -0
  38. package/dist/types/events.d.ts +11 -0
  39. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./react/embedded-chat.cjs"),H=require("./react/sidebar-chat.cjs"),l=require("./react/embedded-search-and-chat.cjs"),n=require("./react/embedded-search.cjs"),A=require("./react/modal.chat.cjs"),R=require("./react/modal.search-and-chat.cjs"),T=require("./react/modal.search.cjs"),p=require("./react/modal.cjs"),I=require("./react/chat-button.cjs"),D=require("./react/chat-button-modal.cjs"),S=require("./react/searchbar.cjs"),$=require("./styled/components/embedded-chat.cjs"),O=require("./styled/components/chat-history.cjs"),W=require("./styled/components/sidebar-chat.cjs"),x=require("./styled/components/chat-bubble.cjs"),z=require("./styled/components/embedded-search.cjs"),L=require("./styled/components/modal.cjs"),j=require("./styled/components/chat-button.cjs"),G=require("./styled/components/searchbar.cjs"),Q=require("./styled/components/shadow.cjs"),U=require("./styled/components/loading-indicator.cjs"),_=require("./styled/components/ui/recipes/widget-toggle.cjs"),b=require("./styled/components/message.cjs"),K=require("./styled/components/data-summary-group.cjs"),P=require("./primitives/providers/base-events-provider.cjs"),u=require("./primitives/providers/chat-form-provider.cjs"),v=require("./primitives/providers/chat-history-provider.cjs"),m=require("./primitives/providers/config-provider.cjs"),q=require("./primitives/providers/feedback-provider.cjs"),k=require("./primitives/providers/form-field-provider.cjs"),c=require("./primitives/providers/help-menu-provider.cjs"),M=require("./primitives/providers/markdown-provider.cjs"),C=require("./primitives/providers/message-provider.cjs"),N=require("./primitives/providers/root-provider.cjs"),g=require("./primitives/providers/source-item-provider.cjs"),V=require("./primitives/providers/theme-provider.cjs"),B=require("./primitives/providers/widget-provider.cjs"),d=require("./primitives/providers/sidebar-chat-provider.cjs"),s=require("./primitives/providers/chat-bubble-provider.cjs"),y=require("./primitives/components/factory.cjs"),J=require("./primitives/components/embedded-chat.cjs"),X=require("./primitives/components/sidebar-chat/index.cjs"),E=require("./primitives/components/embedded-chat/chat-provider.cjs"),Y=require("./primitives/components/embedded-search.cjs"),h=require("./primitives/components/embedded-search/search-provider.cjs"),Z=require("./primitives/components/modal.cjs"),F=require("./primitives/components/modal/modal-provider.cjs"),ee=require("./primitives/components/chat-button.cjs"),re=require("./primitives/components/searchbar.cjs"),oe=require("./primitives/components/chat-bubble/index.cjs"),te=require("./primitives/components/data-summaries.cjs"),ae=require("./primitives/components/chat-history/index.cjs"),ne=require("./primitives/hooks/use-boolean.cjs"),de=require("./primitives/hooks/use-component-classnames.cjs"),se=require("./primitives/hooks/use-container-size.cjs"),ie=require("./primitives/hooks/use-inkeep-open-state.cjs"),ue=require("./primitives/hooks/use-copy-to-clipboard.cjs"),me=require("./primitives/hooks/use-instant-update.cjs"),ce=require("./primitives/hooks/use-is-mounted.cjs"),Ce=require("./primitives/hooks/use-media-query.cjs"),he=require("./primitives/hooks/use-resize-observer.cjs"),w=require("./primitives/hooks/use-scrolling-fades.cjs"),le=require("./primitives/hooks/use-settle-action.cjs"),pe=require("./primitives/hooks/use-simple-scroll.cjs"),o=require("./primitives/utils/misc.cjs"),e=require("./primitives/utils/component-ids.cjs"),f=require("./primitives/utils/compose-refs.cjs"),Ie=require("./primitives/utils/merge-props.cjs"),Se=require("./primitives/atoms/portal.cjs"),be=require("./primitives/atoms/icons/custom-icon.cjs"),Pe=require("./primitives/atoms/icons/built-in-icon-renderer.cjs"),ve=require("./primitives/atoms/portal-with-theme.cjs"),r=require("./primitives/atoms/cmdk/index.cjs"),qe=require("./primitives/atoms/error-boundary.cjs"),t=require("./color-mode/index.cjs"),i=require("./primitives/atoms/shadow/context.cjs");exports.InkeepEmbeddedChat=a.InkeepEmbeddedChat;exports.InkeepEmbeddedChatImpl=a.InkeepEmbeddedChatImpl;exports.InkeepEmbeddedChatImplContent=a.InkeepEmbeddedChatImplContent;exports.InkeepEmbeddedChatProvider=a.InkeepEmbeddedChatProvider;exports.InkeepSidebarChat=H.InkeepSidebarChat;exports.InkeepEmbeddedSearchAndChat=l.InkeepEmbeddedSearchAndChat;exports.InkeepEmbeddedSearchAndChatImpl=l.InkeepEmbeddedSearchAndChatImpl;exports.InkeepEmbeddedSearch=n.InkeepEmbeddedSearch;exports.InkeepEmbeddedSearchImpl=n.InkeepEmbeddedSearchImpl;exports.InkeepEmbeddedSearchImplContent=n.InkeepEmbeddedSearchImplContent;exports.InkeepEmbeddedSearchProvider=n.InkeepEmbeddedSearchProvider;exports.InkeepModalChat=A.InkeepModalChat;exports.InkeepModalSearchAndChat=R.InkeepModalSearchAndChat;exports.InkeepModalSearch=T.InkeepModalSearch;exports.InkeepModal=p.InkeepModal;exports.ModalContent=p.ModalContent;exports.ChatButtonImpl=I.ChatButtonImpl;exports.InkeepChatButton=I.InkeepChatButton;exports.InkeepChatButtonModal=D.InkeepChatButtonModal;exports.InkeepSearchBar=S.InkeepSearchBar;exports.SearchBarImpl=S.SearchBarImpl;exports.EmbeddedChat=$;exports.ChatHistory=O;exports.SidebarChat=W;exports.ChatBubble=x;exports.EmbeddedSearch=z;exports.Modal=L;exports.ChatButton=j;exports.SearchBar=G;exports.Shadow=Q.Shadow;exports.LoadingIndicator=U.LoadingIndicator;exports.widgetToggle=_.widgetToggle;exports.DefaultToolComponent=b.DefaultToolComponent;exports.EmbeddedChatMessagePart=b.EmbeddedChatMessagePart;exports.DataSummaryGroup=K.DataSummaryGroup;exports.BaseEventsProvider=P.BaseEventsProvider;exports.useBaseEvents=P.useBaseEvents;exports.ChatFormProvider=u.ChatFormProvider;exports.useChatForm=u.useChatForm;exports.useChatFormState=u.useChatFormState;exports.ChatHistoryProvider=v.ChatHistoryProvider;exports.useChatHistory=v.useChatHistory;exports.InkeepConfigProvider=m.InkeepConfigProvider;exports.WebWidgetInteractionType=m.WebWidgetInteractionType;exports.useInkeepConfig=m.useInkeepConfig;exports.FeedbackProvider=q.FeedbackProvider;exports.useMessageFeedback=q.useMessageFeedback;exports.FormFieldProvider=k.FormFieldProvider;exports.useFormField=k.useFormField;exports.HelpMenuProvider=c.HelpMenuProvider;exports.useHelpMenu=c.useHelpMenu;exports.useHelpMenuState=c.useHelpMenuState;exports.ChatMarkdownProvider=M.ChatMarkdownProvider;exports.useChatMarkdown=M.useChatMarkdown;exports.MessageProvider=C.MessageProvider;exports.useMessage=C.useMessage;exports.useOptionalMessage=C.useOptionalMessage;exports.RootProvider=N.RootProvider;exports.SourceItemProvider=g.SourceItemProvider;exports.useSourceItem=g.useSourceItem;exports.ThemeProvider=V.ThemeProvider;exports.WidgetProvider=B.WidgetProvider;exports.useWidget=B.useWidget;exports.SidebarChatProvider=d.SidebarChatProvider;exports.useInkeepSidebarChat=d.useInkeepSidebarChat;exports.useOptionalSidebarChat=d.useOptionalSidebarChat;exports.useSidebarChat=d.useSidebarChat;exports.ChatBubbleProvider=s.ChatBubbleProvider;exports.useChatBubble=s.useChatBubble;exports.useInkeepChatBubble=s.useInkeepChatBubble;exports.useOptionalChatBubble=s.useOptionalChatBubble;exports.ikp=y.ikp;exports.jsxFactory=y.jsxFactory;exports.EmbeddedChatPrimitive=J;exports.SidebarChatPrimitive=X;exports.ChatProvider=E.ChatProvider;exports.useChat=E.useChat;exports.EmbeddedSearchPrimitive=Y;exports.SearchProvider=h.SearchProvider;exports.SearchProviderImpl=h.SearchProviderImpl;exports.useSearch=h.useSearch;exports.ModalPrimitive=Z;exports.ModalProvider=F.ModalProvider;exports.useModal=F.useModal;exports.ChatButtonPrimitive=ee;exports.SearchBarPrimitive=re;exports.ChatBubblePrimitive=oe;exports.DataSummaryPrimitive=te;exports.ChatHistoryPrimitive=ae;exports.useBoolean=ne.useBoolean;exports.useComponentClassNames=de.useComponentClassNames;exports.useContainerSize=se.useContainerSize;exports.useInkeepOpenState=ie.useInkeepOpenState;exports.useCopyToClipboard=ue.useCopyToClipboard;exports.useInstantUpdate=me.useInstantUpdate;exports.useIsMounted=ce.useIsMounted;exports.useMediaQuery=Ce.useMediaQuery;exports.useResizeObserver=he.useResizeObserver;exports.useScrollingFades=w.useScrollingFades;exports.useScrollingFadesHorizontal=w.useScrollingFadesHorizontal;exports.useSettleAction=le.useSettleAction;exports.useSimpleScroll=pe.useSimpleScroll;exports.callAll=o.callAll;exports.dataAttr=o.dataAttr;exports.getInitials=o.getInitials;exports.getMessageContent=o.getMessageContent;exports.isCitationArtifact=o.isCitationArtifact;exports.isString=o.isString;exports.maybeRender=o.maybeRender;exports.toKebabCase=o.toKebabCase;exports.ChatBubbleComponentIds=e.ChatBubbleComponentIds;exports.DataSummaryComponentIds=e.DataSummaryComponentIds;exports.SearchBarComponentIds=e.SearchBarComponentIds;exports.SidebarChatComponentIds=e.SidebarChatComponentIds;exports.aiChatComponentIds=e.aiChatComponentIds;exports.aiChatHistoryComponentIds=e.aiChatHistoryComponentIds;exports.aiSearchComponentIds=e.aiSearchComponentIds;exports.chatButtonComponentIds=e.chatButtonComponentIds;exports.componentIDs=e.componentIDs;exports.markDownComponentIds=e.markDownComponentIds;exports.miscellanousComponentIds=e.miscellanousComponentIds;exports.modalComponentIds=e.modalComponentIds;exports.composeRefs=f.composeRefs;exports.useComposedRefs=f.useComposedRefs;exports.mergeProps=Ie.mergeProps;exports.Portal=Se.Portal;exports.CustomIcon=be.CustomIcon;exports.BuiltInIconRenderer=Pe.BuiltInIconRenderer;exports.PortalWithTheme=ve.PortalWithTheme;exports.Command=r.Command;exports.CommandDialog=r.CommandDialog;exports.CommandEmpty=r.CommandEmpty;exports.CommandInput=r.CommandInput;exports.CommandItem=r.CommandItem;exports.CommandList=r.CommandList;exports.CommandLoading=r.CommandLoading;exports.CommandRoot=r.CommandRoot;exports.CommandSeparator=r.CommandSeparator;exports.defaultFilter=r.defaultFilter;exports.useCommandState=r.useCommandState;exports.useCommandStore=r.useCommandStore;exports.ErrorBoundary=qe.ErrorBoundary;exports.ColorMode=t.ColorMode;exports.ColorModeProvider=t.ColorModeProvider;exports.DarkModeProvider=t.DarkModeProvider;exports.useColorMode=t.useColorMode;exports.useColorModeValue=t.useColorModeValue;exports.InkeepShadow=i.InkeepShadow;exports.InkeepShadowProvider=i.InkeepShadowProvider;exports.ShadowContext=i.ShadowContext;exports.useShadow=i.useShadow;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./react/embedded-chat.cjs"),H=require("./react/sidebar-chat.cjs"),p=require("./react/embedded-search-and-chat.cjs"),n=require("./react/embedded-search.cjs"),R=require("./react/modal.chat.cjs"),T=require("./react/modal.search-and-chat.cjs"),D=require("./react/modal.search.cjs"),I=require("./react/modal.cjs"),S=require("./react/chat-button.cjs"),$=require("./react/chat-button-modal.cjs"),b=require("./react/searchbar.cjs"),O=require("./styled/components/embedded-chat.cjs"),x=require("./styled/components/chat-history.cjs"),W=require("./styled/components/sidebar-chat.cjs"),z=require("./styled/components/chat-bubble.cjs"),L=require("./styled/components/embedded-search.cjs"),j=require("./styled/components/modal.cjs"),G=require("./styled/components/chat-button.cjs"),Q=require("./styled/components/searchbar.cjs"),U=require("./styled/components/shadow.cjs"),_=require("./styled/components/loading-indicator.cjs"),K=require("./styled/components/ui/recipes/widget-toggle.cjs"),v=require("./styled/components/message.cjs"),N=require("./styled/components/data-summary-group.cjs"),u=require("./primitives/providers/base-events-provider.cjs"),P=require("./primitives/providers/chat-auth-provider.cjs"),V=require("./primitives/providers/chat-base-events-provider.cjs"),m=require("./primitives/providers/chat-form-provider.cjs"),q=require("./primitives/providers/chat-history-provider.cjs"),c=require("./primitives/providers/config-provider.cjs"),k=require("./primitives/providers/feedback-provider.cjs"),M=require("./primitives/providers/form-field-provider.cjs"),C=require("./primitives/providers/help-menu-provider.cjs"),g=require("./primitives/providers/markdown-provider.cjs"),h=require("./primitives/providers/message-provider.cjs"),J=require("./primitives/providers/root-provider.cjs"),B=require("./primitives/providers/source-item-provider.cjs"),X=require("./primitives/providers/theme-provider.cjs"),E=require("./primitives/providers/widget-provider.cjs"),d=require("./primitives/providers/sidebar-chat-provider.cjs"),s=require("./primitives/providers/chat-bubble-provider.cjs"),y=require("./primitives/components/factory.cjs"),Y=require("./primitives/components/embedded-chat.cjs"),Z=require("./primitives/components/sidebar-chat/index.cjs"),F=require("./primitives/components/embedded-chat/chat-provider.cjs"),ee=require("./primitives/components/embedded-search.cjs"),l=require("./primitives/components/embedded-search/search-provider.cjs"),re=require("./primitives/components/modal.cjs"),w=require("./primitives/components/modal/modal-provider.cjs"),oe=require("./primitives/components/chat-button.cjs"),te=require("./primitives/components/searchbar.cjs"),ae=require("./primitives/components/chat-bubble/index.cjs"),ne=require("./primitives/components/data-summaries.cjs"),de=require("./primitives/components/chat-history/index.cjs"),se=require("./primitives/hooks/use-boolean.cjs"),ie=require("./primitives/hooks/use-component-classnames.cjs"),ue=require("./primitives/hooks/use-container-size.cjs"),me=require("./primitives/hooks/use-inkeep-open-state.cjs"),ce=require("./primitives/hooks/use-copy-to-clipboard.cjs"),Ce=require("./primitives/hooks/use-instant-update.cjs"),he=require("./primitives/hooks/use-is-mounted.cjs"),le=require("./primitives/hooks/use-media-query.cjs"),pe=require("./primitives/hooks/use-resize-observer.cjs"),A=require("./primitives/hooks/use-scrolling-fades.cjs"),Ie=require("./primitives/hooks/use-settle-action.cjs"),Se=require("./primitives/hooks/use-simple-scroll.cjs"),o=require("./primitives/utils/misc.cjs"),e=require("./primitives/utils/component-ids.cjs"),f=require("./primitives/utils/compose-refs.cjs"),be=require("./primitives/utils/merge-props.cjs"),ve=require("./primitives/atoms/portal.cjs"),Pe=require("./primitives/atoms/icons/custom-icon.cjs"),qe=require("./primitives/atoms/icons/built-in-icon-renderer.cjs"),ke=require("./primitives/atoms/portal-with-theme.cjs"),r=require("./primitives/atoms/cmdk/index.cjs"),Me=require("./primitives/atoms/error-boundary.cjs"),t=require("./color-mode/index.cjs"),i=require("./primitives/atoms/shadow/context.cjs");exports.InkeepEmbeddedChat=a.InkeepEmbeddedChat;exports.InkeepEmbeddedChatImpl=a.InkeepEmbeddedChatImpl;exports.InkeepEmbeddedChatImplContent=a.InkeepEmbeddedChatImplContent;exports.InkeepEmbeddedChatProvider=a.InkeepEmbeddedChatProvider;exports.InkeepSidebarChat=H.InkeepSidebarChat;exports.InkeepEmbeddedSearchAndChat=p.InkeepEmbeddedSearchAndChat;exports.InkeepEmbeddedSearchAndChatImpl=p.InkeepEmbeddedSearchAndChatImpl;exports.InkeepEmbeddedSearch=n.InkeepEmbeddedSearch;exports.InkeepEmbeddedSearchImpl=n.InkeepEmbeddedSearchImpl;exports.InkeepEmbeddedSearchImplContent=n.InkeepEmbeddedSearchImplContent;exports.InkeepEmbeddedSearchProvider=n.InkeepEmbeddedSearchProvider;exports.InkeepModalChat=R.InkeepModalChat;exports.InkeepModalSearchAndChat=T.InkeepModalSearchAndChat;exports.InkeepModalSearch=D.InkeepModalSearch;exports.InkeepModal=I.InkeepModal;exports.ModalContent=I.ModalContent;exports.ChatButtonImpl=S.ChatButtonImpl;exports.InkeepChatButton=S.InkeepChatButton;exports.InkeepChatButtonModal=$.InkeepChatButtonModal;exports.InkeepSearchBar=b.InkeepSearchBar;exports.SearchBarImpl=b.SearchBarImpl;exports.EmbeddedChat=O;exports.ChatHistory=x;exports.SidebarChat=W;exports.ChatBubble=z;exports.EmbeddedSearch=L;exports.Modal=j;exports.ChatButton=G;exports.SearchBar=Q;exports.Shadow=U.Shadow;exports.LoadingIndicator=_.LoadingIndicator;exports.widgetToggle=K.widgetToggle;exports.DefaultToolComponent=v.DefaultToolComponent;exports.EmbeddedChatMessagePart=v.EmbeddedChatMessagePart;exports.DataSummaryGroup=N.DataSummaryGroup;exports.BaseEventsContext=u.BaseEventsContext;exports.BaseEventsProvider=u.BaseEventsProvider;exports.useBaseEvents=u.useBaseEvents;exports.ChatAuthProvider=P.ChatAuthProvider;exports.useChatAuth=P.useChatAuth;exports.ChatBaseEventsProvider=V.ChatBaseEventsProvider;exports.ChatFormProvider=m.ChatFormProvider;exports.useChatForm=m.useChatForm;exports.useChatFormState=m.useChatFormState;exports.ChatHistoryProvider=q.ChatHistoryProvider;exports.useChatHistory=q.useChatHistory;exports.InkeepConfigProvider=c.InkeepConfigProvider;exports.WebWidgetInteractionType=c.WebWidgetInteractionType;exports.useInkeepConfig=c.useInkeepConfig;exports.FeedbackProvider=k.FeedbackProvider;exports.useMessageFeedback=k.useMessageFeedback;exports.FormFieldProvider=M.FormFieldProvider;exports.useFormField=M.useFormField;exports.HelpMenuProvider=C.HelpMenuProvider;exports.useHelpMenu=C.useHelpMenu;exports.useHelpMenuState=C.useHelpMenuState;exports.ChatMarkdownProvider=g.ChatMarkdownProvider;exports.useChatMarkdown=g.useChatMarkdown;exports.MessageProvider=h.MessageProvider;exports.useMessage=h.useMessage;exports.useOptionalMessage=h.useOptionalMessage;exports.RootProvider=J.RootProvider;exports.SourceItemProvider=B.SourceItemProvider;exports.useSourceItem=B.useSourceItem;exports.ThemeProvider=X.ThemeProvider;exports.WidgetProvider=E.WidgetProvider;exports.useWidget=E.useWidget;exports.SidebarChatProvider=d.SidebarChatProvider;exports.useInkeepSidebarChat=d.useInkeepSidebarChat;exports.useOptionalSidebarChat=d.useOptionalSidebarChat;exports.useSidebarChat=d.useSidebarChat;exports.ChatBubbleProvider=s.ChatBubbleProvider;exports.useChatBubble=s.useChatBubble;exports.useInkeepChatBubble=s.useInkeepChatBubble;exports.useOptionalChatBubble=s.useOptionalChatBubble;exports.ikp=y.ikp;exports.jsxFactory=y.jsxFactory;exports.EmbeddedChatPrimitive=Y;exports.SidebarChatPrimitive=Z;exports.ChatProvider=F.ChatProvider;exports.useChat=F.useChat;exports.EmbeddedSearchPrimitive=ee;exports.SearchProvider=l.SearchProvider;exports.SearchProviderImpl=l.SearchProviderImpl;exports.useSearch=l.useSearch;exports.ModalPrimitive=re;exports.ModalProvider=w.ModalProvider;exports.useModal=w.useModal;exports.ChatButtonPrimitive=oe;exports.SearchBarPrimitive=te;exports.ChatBubblePrimitive=ae;exports.DataSummaryPrimitive=ne;exports.ChatHistoryPrimitive=de;exports.useBoolean=se.useBoolean;exports.useComponentClassNames=ie.useComponentClassNames;exports.useContainerSize=ue.useContainerSize;exports.useInkeepOpenState=me.useInkeepOpenState;exports.useCopyToClipboard=ce.useCopyToClipboard;exports.useInstantUpdate=Ce.useInstantUpdate;exports.useIsMounted=he.useIsMounted;exports.useMediaQuery=le.useMediaQuery;exports.useResizeObserver=pe.useResizeObserver;exports.useScrollingFades=A.useScrollingFades;exports.useScrollingFadesHorizontal=A.useScrollingFadesHorizontal;exports.useSettleAction=Ie.useSettleAction;exports.useSimpleScroll=Se.useSimpleScroll;exports.callAll=o.callAll;exports.dataAttr=o.dataAttr;exports.getInitials=o.getInitials;exports.getMessageContent=o.getMessageContent;exports.isCitationArtifact=o.isCitationArtifact;exports.isString=o.isString;exports.maybeRender=o.maybeRender;exports.toKebabCase=o.toKebabCase;exports.ChatBubbleComponentIds=e.ChatBubbleComponentIds;exports.DataSummaryComponentIds=e.DataSummaryComponentIds;exports.SearchBarComponentIds=e.SearchBarComponentIds;exports.SidebarChatComponentIds=e.SidebarChatComponentIds;exports.aiChatComponentIds=e.aiChatComponentIds;exports.aiChatHistoryComponentIds=e.aiChatHistoryComponentIds;exports.aiSearchComponentIds=e.aiSearchComponentIds;exports.chatButtonComponentIds=e.chatButtonComponentIds;exports.componentIDs=e.componentIDs;exports.markDownComponentIds=e.markDownComponentIds;exports.miscellanousComponentIds=e.miscellanousComponentIds;exports.modalComponentIds=e.modalComponentIds;exports.composeRefs=f.composeRefs;exports.useComposedRefs=f.useComposedRefs;exports.mergeProps=be.mergeProps;exports.Portal=ve.Portal;exports.CustomIcon=Pe.CustomIcon;exports.BuiltInIconRenderer=qe.BuiltInIconRenderer;exports.PortalWithTheme=ke.PortalWithTheme;exports.Command=r.Command;exports.CommandDialog=r.CommandDialog;exports.CommandEmpty=r.CommandEmpty;exports.CommandInput=r.CommandInput;exports.CommandItem=r.CommandItem;exports.CommandList=r.CommandList;exports.CommandLoading=r.CommandLoading;exports.CommandRoot=r.CommandRoot;exports.CommandSeparator=r.CommandSeparator;exports.defaultFilter=r.defaultFilter;exports.useCommandState=r.useCommandState;exports.useCommandStore=r.useCommandStore;exports.ErrorBoundary=Me.ErrorBoundary;exports.ColorMode=t.ColorMode;exports.ColorModeProvider=t.ColorModeProvider;exports.DarkModeProvider=t.DarkModeProvider;exports.useColorMode=t.useColorMode;exports.useColorModeValue=t.useColorModeValue;exports.InkeepShadow=i.InkeepShadow;exports.InkeepShadowProvider=i.InkeepShadowProvider;exports.ShadowContext=i.ShadowContext;exports.useShadow=i.useShadow;
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { InkeepEmbeddedChat as S, InkeepEmbeddedChatImpl as c, InkeepEmbeddedChatImplContent as P, InkeepEmbeddedChatProvider as v } from "./react/embedded-chat.js";
2
- import { InkeepSidebarChat as M } from "./react/sidebar-chat.js";
1
+ import { InkeepEmbeddedChat as S, InkeepEmbeddedChatImpl as c, InkeepEmbeddedChatImplContent as v, InkeepEmbeddedChatProvider as P } from "./react/embedded-chat.js";
2
+ import { InkeepSidebarChat as B } from "./react/sidebar-chat.js";
3
3
  import { InkeepEmbeddedSearchAndChat as g, InkeepEmbeddedSearchAndChatImpl as E } from "./react/embedded-search-and-chat.js";
4
- import { InkeepEmbeddedSearch as F, InkeepEmbeddedSearchImpl as H, InkeepEmbeddedSearchImplContent as w, InkeepEmbeddedSearchProvider as D } from "./react/embedded-search.js";
4
+ import { InkeepEmbeddedSearch as F, InkeepEmbeddedSearchImpl as H, InkeepEmbeddedSearchImplContent as w, InkeepEmbeddedSearchProvider as A } from "./react/embedded-search.js";
5
5
  import { InkeepModalChat as R } from "./react/modal.chat.js";
6
6
  import { InkeepModalSearchAndChat as T } from "./react/modal.search-and-chat.js";
7
7
  import { InkeepModalSearch as W } from "./react/modal.search.js";
@@ -22,88 +22,93 @@ import { LoadingIndicator as _ } from "./styled/components/loading-indicator.js"
22
22
  import { widgetToggle as oe } from "./styled/components/ui/recipes/widget-toggle.js";
23
23
  import { DefaultToolComponent as te, EmbeddedChatMessagePart as ae } from "./styled/components/message.js";
24
24
  import { DataSummaryGroup as de } from "./styled/components/data-summary-group.js";
25
- import { BaseEventsProvider as se, useBaseEvents as ie } from "./primitives/providers/base-events-provider.js";
26
- import { ChatFormProvider as Ce, useChatForm as fe, useChatFormState as he } from "./primitives/providers/chat-form-provider.js";
27
- import { ChatHistoryProvider as ue, useChatHistory as le } from "./primitives/providers/chat-history-provider.js";
28
- import { InkeepConfigProvider as be, WebWidgetInteractionType as Se, useInkeepConfig as ce } from "./primitives/providers/config-provider.js";
29
- import { FeedbackProvider as ve, useMessageFeedback as ke } from "./primitives/providers/feedback-provider.js";
30
- import { FormFieldProvider as Be, useFormField as ge } from "./primitives/providers/form-field-provider.js";
31
- import { HelpMenuProvider as ye, useHelpMenu as Fe, useHelpMenuState as He } from "./primitives/providers/help-menu-provider.js";
32
- import { ChatMarkdownProvider as De, useChatMarkdown as Ae } from "./primitives/providers/markdown-provider.js";
33
- import { MessageProvider as $e, useMessage as Te, useOptionalMessage as Oe } from "./primitives/providers/message-provider.js";
34
- import { RootProvider as ze } from "./primitives/providers/root-provider.js";
35
- import { SourceItemProvider as je, useSourceItem as Ge } from "./primitives/providers/source-item-provider.js";
36
- import { ThemeProvider as Ne } from "./primitives/providers/theme-provider.js";
37
- import { WidgetProvider as Ue, useWidget as Ve } from "./primitives/providers/widget-provider.js";
38
- import { SidebarChatProvider as Je, useInkeepSidebarChat as Xe, useOptionalSidebarChat as Ye, useSidebarChat as Ze } from "./primitives/providers/sidebar-chat-provider.js";
39
- import { ChatBubbleProvider as eo, useChatBubble as oo, useInkeepChatBubble as ro, useOptionalChatBubble as to } from "./primitives/providers/chat-bubble-provider.js";
40
- import { ikp as mo, jsxFactory as po } from "./primitives/components/factory.js";
25
+ import { BaseEventsContext as se, BaseEventsProvider as ie, useBaseEvents as ne } from "./primitives/providers/base-events-provider.js";
26
+ import { ChatAuthProvider as he, useChatAuth as fe } from "./primitives/providers/chat-auth-provider.js";
27
+ import { ChatBaseEventsProvider as ue } from "./primitives/providers/chat-base-events-provider.js";
28
+ import { ChatFormProvider as Ie, useChatForm as be, useChatFormState as Se } from "./primitives/providers/chat-form-provider.js";
29
+ import { ChatHistoryProvider as ve, useChatHistory as Pe } from "./primitives/providers/chat-history-provider.js";
30
+ import { InkeepConfigProvider as Be, WebWidgetInteractionType as Me, useInkeepConfig as ge } from "./primitives/providers/config-provider.js";
31
+ import { FeedbackProvider as ye, useMessageFeedback as Fe } from "./primitives/providers/feedback-provider.js";
32
+ import { FormFieldProvider as we, useFormField as Ae } from "./primitives/providers/form-field-provider.js";
33
+ import { HelpMenuProvider as Re, useHelpMenu as $e, useHelpMenuState as Te } from "./primitives/providers/help-menu-provider.js";
34
+ import { ChatMarkdownProvider as We, useChatMarkdown as ze } from "./primitives/providers/markdown-provider.js";
35
+ import { MessageProvider as je, useMessage as Ge, useOptionalMessage as Ke } from "./primitives/providers/message-provider.js";
36
+ import { RootProvider as Qe } from "./primitives/providers/root-provider.js";
37
+ import { SourceItemProvider as Ve, useSourceItem as qe } from "./primitives/providers/source-item-provider.js";
38
+ import { ThemeProvider as Xe } from "./primitives/providers/theme-provider.js";
39
+ import { WidgetProvider as Ze, useWidget as _e } from "./primitives/providers/widget-provider.js";
40
+ import { SidebarChatProvider as oo, useInkeepSidebarChat as ro, useOptionalSidebarChat as to, useSidebarChat as ao } from "./primitives/providers/sidebar-chat-provider.js";
41
+ import { ChatBubbleProvider as po, useChatBubble as so, useInkeepChatBubble as io, useOptionalChatBubble as no } from "./primitives/providers/chat-bubble-provider.js";
42
+ import { ikp as ho, jsxFactory as fo } from "./primitives/components/factory.js";
41
43
  import * as s from "./primitives/components/embedded-chat.js";
42
44
  import * as i from "./primitives/components/sidebar-chat/index.js";
43
- import { ChatProvider as io, useChat as no } from "./primitives/components/embedded-chat/chat-provider.js";
45
+ import { ChatProvider as uo, useChat as lo } from "./primitives/components/embedded-chat/chat-provider.js";
44
46
  import * as n from "./primitives/components/embedded-search.js";
45
- import { SearchProvider as fo, SearchProviderImpl as ho, useSearch as xo } from "./primitives/components/embedded-search/search-provider.js";
47
+ import { SearchProvider as bo, SearchProviderImpl as So, useSearch as co } from "./primitives/components/embedded-search/search-provider.js";
46
48
  import * as C from "./primitives/components/modal.js";
47
- import { ModalProvider as lo, useModal as Io } from "./primitives/components/modal/modal-provider.js";
48
- import * as f from "./primitives/components/chat-button.js";
49
- import * as h from "./primitives/components/searchbar.js";
49
+ import { ModalProvider as Po, useModal as ko } from "./primitives/components/modal/modal-provider.js";
50
+ import * as h from "./primitives/components/chat-button.js";
51
+ import * as f from "./primitives/components/searchbar.js";
50
52
  import * as x from "./primitives/components/chat-bubble/index.js";
51
53
  import * as u from "./primitives/components/data-summaries.js";
52
54
  import * as l from "./primitives/components/chat-history/index.js";
53
- import { useBoolean as So } from "./primitives/hooks/use-boolean.js";
54
- import { useComponentClassNames as Po } from "./primitives/hooks/use-component-classnames.js";
55
- import { useContainerSize as ko } from "./primitives/hooks/use-container-size.js";
56
- import { useInkeepOpenState as Bo } from "./primitives/hooks/use-inkeep-open-state.js";
57
- import { useCopyToClipboard as Eo } from "./primitives/hooks/use-copy-to-clipboard.js";
58
- import { useInstantUpdate as Fo } from "./primitives/hooks/use-instant-update.js";
59
- import { useIsMounted as wo } from "./primitives/hooks/use-is-mounted.js";
60
- import { useMediaQuery as Ao } from "./primitives/hooks/use-media-query.js";
61
- import { useResizeObserver as $o } from "./primitives/hooks/use-resize-observer.js";
62
- import { useScrollingFades as Oo, useScrollingFadesHorizontal as Wo } from "./primitives/hooks/use-scrolling-fades.js";
63
- import { useSettleAction as Lo } from "./primitives/hooks/use-settle-action.js";
64
- import { useSimpleScroll as Go } from "./primitives/hooks/use-simple-scroll.js";
65
- import { callAll as No, dataAttr as Qo, getInitials as Uo, getMessageContent as Vo, isCitationArtifact as qo, isString as Jo, maybeRender as Xo, toKebabCase as Yo } from "./primitives/utils/misc.js";
66
- import { ChatBubbleComponentIds as _o, DataSummaryComponentIds as er, SearchBarComponentIds as or, SidebarChatComponentIds as rr, aiChatComponentIds as tr, aiChatHistoryComponentIds as ar, aiSearchComponentIds as mr, chatButtonComponentIds as dr, componentIDs as pr, markDownComponentIds as sr, miscellanousComponentIds as ir, modalComponentIds as nr } from "./primitives/utils/component-ids.js";
67
- import { composeRefs as fr, useComposedRefs as hr } from "./primitives/utils/compose-refs.js";
68
- import { mergeProps as ur } from "./primitives/utils/merge-props.js";
69
- import { Portal as Ir } from "./primitives/atoms/portal.js";
70
- import { CustomIcon as Sr } from "./primitives/atoms/icons/custom-icon.js";
71
- import { BuiltInIconRenderer as Pr } from "./primitives/atoms/icons/built-in-icon-renderer.js";
72
- import { PortalWithTheme as kr } from "./primitives/atoms/portal-with-theme.js";
73
- import { Command as Br, CommandDialog as gr, CommandEmpty as Er, CommandInput as yr, CommandItem as Fr, CommandList as Hr, CommandLoading as wr, CommandRoot as Dr, CommandSeparator as Ar, defaultFilter as Rr, useCommandState as $r, useCommandStore as Tr } from "./primitives/atoms/cmdk/index.js";
74
- import { ErrorBoundary as Wr } from "./primitives/atoms/error-boundary.js";
75
- import { ColorMode as Lr, ColorModeProvider as jr, DarkModeProvider as Gr, useColorMode as Kr, useColorModeValue as Nr } from "./color-mode/index.js";
76
- import { InkeepShadow as Ur, InkeepShadowProvider as Vr, ShadowContext as qr, useShadow as Jr } from "./primitives/atoms/shadow/context.js";
55
+ import { useBoolean as Mo } from "./primitives/hooks/use-boolean.js";
56
+ import { useComponentClassNames as Eo } from "./primitives/hooks/use-component-classnames.js";
57
+ import { useContainerSize as Fo } from "./primitives/hooks/use-container-size.js";
58
+ import { useInkeepOpenState as wo } from "./primitives/hooks/use-inkeep-open-state.js";
59
+ import { useCopyToClipboard as Do } from "./primitives/hooks/use-copy-to-clipboard.js";
60
+ import { useInstantUpdate as $o } from "./primitives/hooks/use-instant-update.js";
61
+ import { useIsMounted as Oo } from "./primitives/hooks/use-is-mounted.js";
62
+ import { useMediaQuery as zo } from "./primitives/hooks/use-media-query.js";
63
+ import { useResizeObserver as jo } from "./primitives/hooks/use-resize-observer.js";
64
+ import { useScrollingFades as Ko, useScrollingFadesHorizontal as No } from "./primitives/hooks/use-scrolling-fades.js";
65
+ import { useSettleAction as Uo } from "./primitives/hooks/use-settle-action.js";
66
+ import { useSimpleScroll as qo } from "./primitives/hooks/use-simple-scroll.js";
67
+ import { callAll as Xo, dataAttr as Yo, getInitials as Zo, getMessageContent as _o, isCitationArtifact as er, isString as or, maybeRender as rr, toKebabCase as tr } from "./primitives/utils/misc.js";
68
+ import { ChatBubbleComponentIds as mr, DataSummaryComponentIds as dr, SearchBarComponentIds as pr, SidebarChatComponentIds as sr, aiChatComponentIds as ir, aiChatHistoryComponentIds as nr, aiSearchComponentIds as Cr, chatButtonComponentIds as hr, componentIDs as fr, markDownComponentIds as xr, miscellanousComponentIds as ur, modalComponentIds as lr } from "./primitives/utils/component-ids.js";
69
+ import { composeRefs as br, useComposedRefs as Sr } from "./primitives/utils/compose-refs.js";
70
+ import { mergeProps as vr } from "./primitives/utils/merge-props.js";
71
+ import { Portal as kr } from "./primitives/atoms/portal.js";
72
+ import { CustomIcon as Mr } from "./primitives/atoms/icons/custom-icon.js";
73
+ import { BuiltInIconRenderer as Er } from "./primitives/atoms/icons/built-in-icon-renderer.js";
74
+ import { PortalWithTheme as Fr } from "./primitives/atoms/portal-with-theme.js";
75
+ import { Command as wr, CommandDialog as Ar, CommandEmpty as Dr, CommandInput as Rr, CommandItem as $r, CommandList as Tr, CommandLoading as Or, CommandRoot as Wr, CommandSeparator as zr, defaultFilter as Lr, useCommandState as jr, useCommandStore as Gr } from "./primitives/atoms/cmdk/index.js";
76
+ import { ErrorBoundary as Nr } from "./primitives/atoms/error-boundary.js";
77
+ import { ColorMode as Ur, ColorModeProvider as Vr, DarkModeProvider as qr, useColorMode as Jr, useColorModeValue as Xr } from "./color-mode/index.js";
78
+ import { InkeepShadow as Zr, InkeepShadowProvider as _r, ShadowContext as et, useShadow as ot } from "./primitives/atoms/shadow/context.js";
77
79
  export {
78
- se as BaseEventsProvider,
79
- Pr as BuiltInIconRenderer,
80
+ se as BaseEventsContext,
81
+ ie as BaseEventsProvider,
82
+ Er as BuiltInIconRenderer,
83
+ he as ChatAuthProvider,
84
+ ue as ChatBaseEventsProvider,
80
85
  t as ChatBubble,
81
- _o as ChatBubbleComponentIds,
86
+ mr as ChatBubbleComponentIds,
82
87
  x as ChatBubblePrimitive,
83
- eo as ChatBubbleProvider,
88
+ po as ChatBubbleProvider,
84
89
  d as ChatButton,
85
90
  K as ChatButtonImpl,
86
- f as ChatButtonPrimitive,
87
- Ce as ChatFormProvider,
91
+ h as ChatButtonPrimitive,
92
+ Ie as ChatFormProvider,
88
93
  o as ChatHistory,
89
94
  l as ChatHistoryPrimitive,
90
- ue as ChatHistoryProvider,
91
- De as ChatMarkdownProvider,
92
- io as ChatProvider,
93
- Lr as ColorMode,
94
- jr as ColorModeProvider,
95
- Br as Command,
96
- gr as CommandDialog,
97
- Er as CommandEmpty,
98
- yr as CommandInput,
99
- Fr as CommandItem,
100
- Hr as CommandList,
101
- wr as CommandLoading,
102
- Dr as CommandRoot,
103
- Ar as CommandSeparator,
104
- Sr as CustomIcon,
105
- Gr as DarkModeProvider,
106
- er as DataSummaryComponentIds,
95
+ ve as ChatHistoryProvider,
96
+ We as ChatMarkdownProvider,
97
+ uo as ChatProvider,
98
+ Ur as ColorMode,
99
+ Vr as ColorModeProvider,
100
+ wr as Command,
101
+ Ar as CommandDialog,
102
+ Dr as CommandEmpty,
103
+ Rr as CommandInput,
104
+ $r as CommandItem,
105
+ Tr as CommandList,
106
+ Or as CommandLoading,
107
+ Wr as CommandRoot,
108
+ zr as CommandSeparator,
109
+ Mr as CustomIcon,
110
+ qr as DarkModeProvider,
111
+ dr as DataSummaryComponentIds,
107
112
  de as DataSummaryGroup,
108
113
  u as DataSummaryPrimitive,
109
114
  te as DefaultToolComponent,
@@ -112,118 +117,119 @@ export {
112
117
  s as EmbeddedChatPrimitive,
113
118
  a as EmbeddedSearch,
114
119
  n as EmbeddedSearchPrimitive,
115
- Wr as ErrorBoundary,
116
- ve as FeedbackProvider,
117
- Be as FormFieldProvider,
118
- ye as HelpMenuProvider,
120
+ Nr as ErrorBoundary,
121
+ ye as FeedbackProvider,
122
+ we as FormFieldProvider,
123
+ Re as HelpMenuProvider,
119
124
  N as InkeepChatButton,
120
125
  U as InkeepChatButtonModal,
121
- be as InkeepConfigProvider,
126
+ Be as InkeepConfigProvider,
122
127
  S as InkeepEmbeddedChat,
123
128
  c as InkeepEmbeddedChatImpl,
124
- P as InkeepEmbeddedChatImplContent,
125
- v as InkeepEmbeddedChatProvider,
129
+ v as InkeepEmbeddedChatImplContent,
130
+ P as InkeepEmbeddedChatProvider,
126
131
  F as InkeepEmbeddedSearch,
127
132
  g as InkeepEmbeddedSearchAndChat,
128
133
  E as InkeepEmbeddedSearchAndChatImpl,
129
134
  H as InkeepEmbeddedSearchImpl,
130
135
  w as InkeepEmbeddedSearchImplContent,
131
- D as InkeepEmbeddedSearchProvider,
136
+ A as InkeepEmbeddedSearchProvider,
132
137
  L as InkeepModal,
133
138
  R as InkeepModalChat,
134
139
  W as InkeepModalSearch,
135
140
  T as InkeepModalSearchAndChat,
136
141
  q as InkeepSearchBar,
137
- Ur as InkeepShadow,
138
- Vr as InkeepShadowProvider,
139
- M as InkeepSidebarChat,
142
+ Zr as InkeepShadow,
143
+ _r as InkeepShadowProvider,
144
+ B as InkeepSidebarChat,
140
145
  _ as LoadingIndicator,
141
- $e as MessageProvider,
146
+ je as MessageProvider,
142
147
  m as Modal,
143
148
  j as ModalContent,
144
149
  C as ModalPrimitive,
145
- lo as ModalProvider,
146
- Ir as Portal,
147
- kr as PortalWithTheme,
148
- ze as RootProvider,
150
+ Po as ModalProvider,
151
+ kr as Portal,
152
+ Fr as PortalWithTheme,
153
+ Qe as RootProvider,
149
154
  p as SearchBar,
150
- or as SearchBarComponentIds,
155
+ pr as SearchBarComponentIds,
151
156
  J as SearchBarImpl,
152
- h as SearchBarPrimitive,
153
- fo as SearchProvider,
154
- ho as SearchProviderImpl,
157
+ f as SearchBarPrimitive,
158
+ bo as SearchProvider,
159
+ So as SearchProviderImpl,
155
160
  Y as Shadow,
156
- qr as ShadowContext,
161
+ et as ShadowContext,
157
162
  r as SidebarChat,
158
- rr as SidebarChatComponentIds,
163
+ sr as SidebarChatComponentIds,
159
164
  i as SidebarChatPrimitive,
160
- Je as SidebarChatProvider,
161
- je as SourceItemProvider,
162
- Ne as ThemeProvider,
163
- Se as WebWidgetInteractionType,
164
- Ue as WidgetProvider,
165
- tr as aiChatComponentIds,
166
- ar as aiChatHistoryComponentIds,
167
- mr as aiSearchComponentIds,
168
- No as callAll,
169
- dr as chatButtonComponentIds,
170
- pr as componentIDs,
171
- fr as composeRefs,
172
- Qo as dataAttr,
173
- Rr as defaultFilter,
174
- Uo as getInitials,
175
- Vo as getMessageContent,
176
- mo as ikp,
177
- qo as isCitationArtifact,
178
- Jo as isString,
179
- po as jsxFactory,
180
- sr as markDownComponentIds,
181
- Xo as maybeRender,
182
- ur as mergeProps,
183
- ir as miscellanousComponentIds,
184
- nr as modalComponentIds,
185
- Yo as toKebabCase,
186
- ie as useBaseEvents,
187
- So as useBoolean,
188
- no as useChat,
189
- oo as useChatBubble,
190
- fe as useChatForm,
191
- he as useChatFormState,
192
- le as useChatHistory,
193
- Ae as useChatMarkdown,
194
- Kr as useColorMode,
195
- Nr as useColorModeValue,
196
- $r as useCommandState,
197
- Tr as useCommandStore,
198
- Po as useComponentClassNames,
199
- hr as useComposedRefs,
200
- ko as useContainerSize,
201
- Eo as useCopyToClipboard,
202
- ge as useFormField,
203
- Fe as useHelpMenu,
204
- He as useHelpMenuState,
205
- ro as useInkeepChatBubble,
206
- ce as useInkeepConfig,
207
- Bo as useInkeepOpenState,
208
- Xe as useInkeepSidebarChat,
209
- Fo as useInstantUpdate,
210
- wo as useIsMounted,
211
- Ao as useMediaQuery,
212
- Te as useMessage,
213
- ke as useMessageFeedback,
214
- Io as useModal,
215
- to as useOptionalChatBubble,
216
- Oe as useOptionalMessage,
217
- Ye as useOptionalSidebarChat,
218
- $o as useResizeObserver,
219
- Oo as useScrollingFades,
220
- Wo as useScrollingFadesHorizontal,
221
- xo as useSearch,
222
- Lo as useSettleAction,
223
- Jr as useShadow,
224
- Ze as useSidebarChat,
225
- Go as useSimpleScroll,
226
- Ge as useSourceItem,
227
- Ve as useWidget,
165
+ oo as SidebarChatProvider,
166
+ Ve as SourceItemProvider,
167
+ Xe as ThemeProvider,
168
+ Me as WebWidgetInteractionType,
169
+ Ze as WidgetProvider,
170
+ ir as aiChatComponentIds,
171
+ nr as aiChatHistoryComponentIds,
172
+ Cr as aiSearchComponentIds,
173
+ Xo as callAll,
174
+ hr as chatButtonComponentIds,
175
+ fr as componentIDs,
176
+ br as composeRefs,
177
+ Yo as dataAttr,
178
+ Lr as defaultFilter,
179
+ Zo as getInitials,
180
+ _o as getMessageContent,
181
+ ho as ikp,
182
+ er as isCitationArtifact,
183
+ or as isString,
184
+ fo as jsxFactory,
185
+ xr as markDownComponentIds,
186
+ rr as maybeRender,
187
+ vr as mergeProps,
188
+ ur as miscellanousComponentIds,
189
+ lr as modalComponentIds,
190
+ tr as toKebabCase,
191
+ ne as useBaseEvents,
192
+ Mo as useBoolean,
193
+ lo as useChat,
194
+ fe as useChatAuth,
195
+ so as useChatBubble,
196
+ be as useChatForm,
197
+ Se as useChatFormState,
198
+ Pe as useChatHistory,
199
+ ze as useChatMarkdown,
200
+ Jr as useColorMode,
201
+ Xr as useColorModeValue,
202
+ jr as useCommandState,
203
+ Gr as useCommandStore,
204
+ Eo as useComponentClassNames,
205
+ Sr as useComposedRefs,
206
+ Fo as useContainerSize,
207
+ Do as useCopyToClipboard,
208
+ Ae as useFormField,
209
+ $e as useHelpMenu,
210
+ Te as useHelpMenuState,
211
+ io as useInkeepChatBubble,
212
+ ge as useInkeepConfig,
213
+ wo as useInkeepOpenState,
214
+ ro as useInkeepSidebarChat,
215
+ $o as useInstantUpdate,
216
+ Oo as useIsMounted,
217
+ zo as useMediaQuery,
218
+ Ge as useMessage,
219
+ Fe as useMessageFeedback,
220
+ ko as useModal,
221
+ no as useOptionalChatBubble,
222
+ Ke as useOptionalMessage,
223
+ to as useOptionalSidebarChat,
224
+ jo as useResizeObserver,
225
+ Ko as useScrollingFades,
226
+ No as useScrollingFadesHorizontal,
227
+ co as useSearch,
228
+ Uo as useSettleAction,
229
+ ot as useShadow,
230
+ ao as useSidebarChat,
231
+ qo as useSimpleScroll,
232
+ qe as useSourceItem,
233
+ _e as useWidget,
228
234
  oe as widgetToggle
229
235
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../../providers/base-events-provider.cjs"),c=require("../../providers/chat-form-provider.cjs"),d=require("../modal/modal-provider.cjs"),u=require("./chat-provider.cjs"),m=(e,s)=>{const{logEvent:t}=p.useBaseEvents(),{conversationId:n,messages:i}=u.useChat(),{openForm:a}=c.useChatForm(),r=d.useModal();return{handleAction:l=>{if(e.action.type==="open_form"){l?.onOpenForm?.();const o="name"in e?e:void 0;a?.(e.action.formSettings,o)}else if(e.action.type==="invoke_callback"||e.action.type==="invoke_message_callback"){const o={conversation:{id:n,messages:i}};e.action.type==="invoke_message_callback"?e.action.callback({...o,messageId:s}):e.action.callback({...o}),e.action.shouldCloseModal&&r?.setOpen(!1)}},logHelpAction:()=>{"name"in e&&(t({eventName:"get_help_option_clicked",properties:{getHelpOption:e,conversationId:n}}),e.action.type!=="open_form"&&t({eventName:"user_escalation_indicated",properties:{escalationType:"get_help_option",getHelpOption:e,conversationId:n}}))}}};exports.useChatAction=m;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../../providers/base-events-provider.cjs"),c=require("../../providers/chat-form-provider.cjs"),u=require("../modal/modal-provider.cjs"),v=require("./chat-provider.cjs"),d=(e,o)=>{const{logEvent:i}=p.useBaseEvents(),{conversationId:t,messages:s}=v.useChat(),{openForm:r}=c.useChatForm(),l=u.useModal();return{handleAction:a=>{if(e.action.type==="open_form"){a?.onOpenForm?.();const n="name"in e?e:void 0;r?.(e.action.formSettings,n)}else if(e.action.type==="invoke_callback"||e.action.type==="invoke_message_callback"){const n={conversation:{id:t,messages:s}};e.action.type==="invoke_message_callback"?e.action.callback({...n,messageId:o}):e.action.callback({...n}),e.action.shouldCloseModal&&l?.setOpen(!1)}},logHelpAction:()=>{"name"in e&&(i({eventName:"get_help_option_clicked",properties:{getHelpOption:e,conversationId:t,...o?{messageId:o}:{}}}),e.action.type!=="open_form"&&i({eventName:"user_escalation_indicated",properties:{escalationType:"get_help_option",getHelpOption:e,conversationId:t,...o?{messageId:o}:{}}}))}}};exports.useChatAction=d;
@@ -3,35 +3,37 @@ import { useBaseEvents as r } from "../../providers/base-events-provider.js";
3
3
  import { useChatForm as m } from "../../providers/chat-form-provider.js";
4
4
  import { useModal as c } from "../modal/modal-provider.js";
5
5
  import { useChat as f } from "./chat-provider.js";
6
- const y = (e, t) => {
7
- const { logEvent: s } = r(), { conversationId: n, messages: i } = f(), { openForm: l } = m(), a = c();
8
- return { handleAction: (p) => {
6
+ const y = (e, o) => {
7
+ const { logEvent: i } = r(), { conversationId: t, messages: l } = f(), { openForm: p } = m(), s = c();
8
+ return { handleAction: (a) => {
9
9
  if (e.action.type === "open_form") {
10
- p?.onOpenForm?.();
11
- const o = "name" in e ? e : void 0;
12
- l?.(e.action.formSettings, o);
10
+ a?.onOpenForm?.();
11
+ const n = "name" in e ? e : void 0;
12
+ p?.(e.action.formSettings, n);
13
13
  } else if (e.action.type === "invoke_callback" || e.action.type === "invoke_message_callback") {
14
- const o = {
14
+ const n = {
15
15
  conversation: {
16
- id: n,
17
- messages: i
16
+ id: t,
17
+ messages: l
18
18
  }
19
19
  };
20
- e.action.type === "invoke_message_callback" ? e.action.callback({ ...o, messageId: t }) : e.action.callback({ ...o }), e.action.shouldCloseModal && a?.setOpen(!1);
20
+ e.action.type === "invoke_message_callback" ? e.action.callback({ ...n, messageId: o }) : e.action.callback({ ...n }), e.action.shouldCloseModal && s?.setOpen(!1);
21
21
  }
22
22
  }, logHelpAction: () => {
23
- "name" in e && (s({
23
+ "name" in e && (i({
24
24
  eventName: "get_help_option_clicked",
25
25
  properties: {
26
26
  getHelpOption: e,
27
- conversationId: n
27
+ conversationId: t,
28
+ ...o ? { messageId: o } : {}
28
29
  }
29
- }), e.action.type !== "open_form" && s({
30
+ }), e.action.type !== "open_form" && i({
30
31
  eventName: "user_escalation_indicated",
31
32
  properties: {
32
33
  escalationType: "get_help_option",
33
34
  getHelpOption: e,
34
- conversationId: n
35
+ conversationId: t,
36
+ ...o ? { messageId: o } : {}
35
37
  }
36
38
  }));
37
39
  } };
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const st=require("@ai-sdk/react"),Me=require("./file-upload-input.cjs"),rt=require("ai"),t=require("react"),nt=require("../modal/modal-provider.cjs"),at=require("../../providers/chat-bubble-provider.cjs"),ot=require("../../providers/sidebar-chat-provider.cjs"),it=require("../../providers/config-provider.cjs"),ut=require("./use-captcha.cjs"),ct=require("../../hooks/use-media-query.cjs"),lt=require("../../hooks/use-anonymous-session.cjs"),dt=require("../../hooks/use-auth-token.cjs"),pt=require("../../hooks/use-conversation-loader.cjs"),ft=require("../../hooks/use-initial-conversation.cjs"),D=require("../../utils/generate-uid.cjs"),gt=require("../../providers/base-events-provider.cjs"),ht=require("../../providers/chat-form-provider.cjs"),mt=require("../../providers/widget-provider.cjs"),vt=require("@radix-ui/react-use-controllable-state"),yt=require("../../hooks/use-streaming-events.cjs"),Rt=require("../../hooks/use-input-notification.cjs"),p=require("./chat-error-helpers.cjs"),Ct=()=>{const{baseSettings:U,aiChatSettings:R}=it.useInkeepConfig(),[u="",m]=vt.useControllableState({prop:R.conversationIdOverride,defaultProp:R.conversationIdOverride??""}),Fe=nt.useModal(),_e=at.useOptionalChatBubble(),Oe=ot.useOptionalSidebarChat(),{logEvent:h}=gt.useBaseEvents(),{setConversationId:qe,emitToParent:_}=yt.useStreamingEvents(),ie=t.useRef(u);t.useEffect(()=>{const e=ie.current;ie.current=u,e!==u&&h({eventName:"chat_conversation_changed",properties:{conversationId:u,previousConversationId:e}})},[u,h]);const[C,S]=t.useState(""),xe=e=>S(e.target.value),{shouldBypassCaptcha:ue,filters:ce,privacyPreferences:Pe,userProperties:B,analyticsProperties:$}=U,{authToken:O,isLoading:Le,refreshToken:le}=dt.useAuthToken(),de=!!U.getAuthToken,f=!!O,{onInputMessageChange:Ne,filters:pe,baseUrl:q,agentUrl:De,context:fe,headers:ge,appId:E,apiKey:v,files:A}=R,Ue=Fe?.isOpen??_e?.isOpen??Oe?.isOpen??!0,{getCaptchaHeader:b,invalidate:l}=ut.useCaptcha({baseUrl:q,shouldBypassCaptcha:ue||!!v,shouldMakeInitialRequest:Ue}),he=t.useRef(b);he.current=b;const me=De||`${q}/run/api/chat`,{sessionToken:z,refreshSession:G}=lt.useAnonymousSession({baseUrl:q,appId:E,getCaptchaHeader:b,invalidateCaptcha:l,optOutAllAnalytics:Pe?.optOutAllAnalytics,enabled:!f&&!Le}),ve=v??(f?O:z),{loadConversation:ye}=pt.useConversationLoader({baseUrl:q,appId:E,authToken:ve,getCaptchaHeader:b,invalidateCaptcha:l,refreshSession:v||f?void 0:G}),[Be,Re]=t.useState(!1),H=t.useRef(null);H.current=z;const K=t.useRef(null);K.current=O;const j=t.useRef(void 0);j.current=B&&Object.keys(B).length>0?JSON.stringify(B):void 0;const J=t.useRef(void 0);J.current=$&&Object.keys($).length>0?JSON.stringify($):void 0;const y=t.useRef(0),V=t.useRef(null),Q=t.useRef(null),I=t.useRef(void 0),$e=A?.map(e=>`${e.filename??""}:${e.mediaType}:${e.url.length}:${e.url.slice(0,64)}:${e.url.slice(-32)}`).join(`
2
- `)??"";t.useEffect(()=>{I.current=A?.length?A:void 0},[$e]);const Ce=t.useRef(ge);Ce.current=ge;const W=t.useRef(void 0);W.current=ce||pe?JSON.stringify({...ce,...pe}):void 0;const ze=e=>{switch(p.resolveHttpStatusCode(e)){case 400:try{const s=JSON.parse(e.message??"");return s.detail??s.error?.message??p.RECOVERABLE_FALLBACK_MESSAGE}catch{return e.message?.trim()||p.RECOVERABLE_FALLBACK_MESSAGE}case 401:return de?"Authentication failed. Please try again.":p.DEFAULT_ERROR_MESSAGE;case 403:return`There seems to be a configuration error. Please contact ${U.organizationDisplayName??"Administrator"}`;case 429:return p.RATE_LIMIT_MESSAGE;default:return p.DEFAULT_ERROR_MESSAGE}},[x,Z]=t.useState([]),Ge=t.useMemo(()=>new rt.DefaultChatTransport({api:me,headers:()=>{const e=v??K.current??H.current;return{"x-inkeep-client-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone,"x-inkeep-client-timestamp":new Date().toISOString(),"x-inkeep-invocation-type":"chat_widget",...E?{"x-inkeep-app-id":E}:{},...e?{Authorization:`Bearer ${e}`}:{},...W.current?{"inkeep-filters":W.current}:{},...j.current?{"x-inkeep-user-properties":j.current}:{},...J.current?{"x-inkeep-properties":J.current}:{},...Ce.current}},prepareSendMessagesRequest:async e=>{const i=await he.current(),s=e.messages[e.messages.length-1];return s||console.warn("[useInkeepChat] prepareSendMessagesRequest called with empty messages array"),{body:{...e.body,id:e.id,messages:s?[s]:[],trigger:e.trigger,messageId:e.messageId},headers:{...e.headers,...i}}},body:{requestContext:fe}}),[me,fe,E,v]),{messages:P,sendMessage:X,addToolApprovalResponse:Y,status:Se,setMessages:g,stop:L,error:N}=st.useChat({transport:Ge,onData(e){_(e.type,e.data)},async onFinish(){_("completion",{conversationId:u}),await h({eventName:"assistant_message_received",properties:{conversationId:u}}),h({eventName:"assistant_answer_displayed",properties:{conversationId:u}})},onError(e){console.error("onError",{code:e.code,message:e.message});const i=ue||v?null:p.resolveStreamingAuthError(e);if(i!==null&&y.current<1){y.current++;const a=Q.current,r=V.current;(async()=>{if(i==="session"&&de){const c=await le();if(!c)throw new Error("Auth token refresh failed");K.current=c}else if(i==="session"){const c=await G();c&&(H.current=c)}else l();if(a){Y(a);return}r&&(g(c=>{let n=[...c];return n.at(-1)?.role==="assistant"&&(n=n.slice(0,-1)),n.at(-1)?.role==="user"&&(n=n.slice(0,-1)),n}),X(r.files?.length?{parts:[{type:"text",text:r.content},...r.files]}:{text:r.content},{body:r.body}))})().catch(()=>{y.current=0,l(),g(c=>{const n=[...c],w=n[n.length-1];if(!w)return n;const M=p.DEFAULT_ERROR_MESSAGE;return w.role==="user"?n.push({id:D.generateUid(16),role:"assistant",parts:[{type:"text",text:M}]}):w.parts=[{type:"text",text:M}],n})});return}y.current=0,i!==null&&l();const s=p.isRecoverableError(e),d=ze(e);if(h({eventName:"chat_error",properties:{conversationId:u,error:e.message}}),s){ne({title:"Request failed",message:d},p.RECOVERABLE_NOTIFICATION_DURATION_MS),g(r=>{let o=[...r];return o.at(-1)?.role==="assistant"&&(o=o.slice(0,-1)),o.at(-1)?.role==="user"&&(o=o.slice(0,-1)),o});const a=V.current?.content;a&&S(a),re.current=e;return}g(a=>{const r=[...a],o=r[r.length-1];return o&&(o.role==="user"?r.push({id:D.generateUid(16),role:"assistant",parts:[{type:"text",text:d}]}):o.parts=[{type:"text",text:d}]),r})}}),Ee=t.useRef(f);t.useEffect(()=>{const e=Ee.current;Ee.current=f,e!==f&&(L(),T(null),g([]),m(""),S(""),Z([]),l())},[f,L,g,m,l]);const Ae=Se==="submitted",ee=Se==="streaming",He=t.useMemo(()=>{const e=a=>{if(!a||typeof a!="object")return!1;const r=a;return typeof r.type=="string"&&r.type.startsWith("tool-")},s=[...P??[]].reverse().find(a=>a.role==="assistant");if(!s)return!1;const d=s.parts?.at(-1);return!(!e(d)||d.state!=="output-available"||!d.approval?.id||ee)},[P,ee]),[Ke,te]=t.useState(!1),be=ee||He&&!Ke,Ie=Ae||be,je=P.length===0,se=!C.trim()&&x.length===0||Ie,Je=ct.useMediaQuery("(max-width: 768px)"),[Ve,T]=t.useState(null),re=t.useRef(null);t.useEffect(()=>{if(N){if(re.current===N){re.current=null;return}T(N)}},[N]);const Qe=()=>T(null),{inputNotification:We,showInputNotification:ne,clearInputNotification:Ze}=Rt.useInputNotification(),Te=t.useRef(null);t.useEffect(()=>{Ne?.(C)},[C]);const Xe=e=>{e.key==="Enter"&&!e.shiftKey&&!se&&!e.nativeEvent.isComposing&&(e.preventDefault(),ae())},ae=async(e=C)=>{if(se&&(!e||e.trim().length===0)&&x.length===0)return;const i=x;Z([]),S(""),y.current=0,Q.current=null,te(!1),await h({eventName:"user_message_submitted",properties:{conversationId:u}});let s=u;s||(s=`conv_${D.generateUid(16)}`,m(s)),qe(s);const d=I.current;I.current=void 0;let a,r;if(d?.length){let o;try{o=await Promise.all(i.map(c=>{const n=Me.normalizeFileType(c);return new Promise((w,M)=>{const F=new FileReader;F.onload=()=>{if(typeof F.result!="string"){M(new Error(`Failed to read file "${n.name}"`));return}w({type:"file",url:F.result,mediaType:n.type,filename:n.name})},F.onerror=()=>M(new Error(`Failed to read file "${n.name}"`)),F.readAsDataURL(n)})}))}catch{ne({title:"Failed to attach files",message:"Could not read one or more files. Please try again."});return}r=[...o,...d],a=e.trim()?{parts:[{type:"text",text:e},...r]}:{parts:r}}else if(i.length>0){const o=new DataTransfer;for(const n of i)o.items.add(Me.normalizeFileType(n));const c=o.files;a=e.trim()?{text:e,files:c}:{files:c}}else a={text:e};V.current={content:e,body:{conversationId:s},files:r},X(a,{body:{conversationId:s}})},Ye=t.useCallback(e=>{y.current=0,Q.current=e,te(!1),Y(e)},[Y]),oe=t.useCallback(()=>{te(!0),L().then(()=>{_("aborted",{conversationId:u})})},[L,u,_]),ke=()=>{Qe(),g([]),m(""),l(),I.current=A?.length?A:void 0,h({eventName:"chat_clear_button_clicked",properties:{conversationId:u}})},k=t.useCallback((e,i)=>{T(null),g(i),m(e),l(),I.current=void 0},[g,m,l]),we=t.useCallback(async(e,i)=>{oe(),k(e,[]),Re(!0);try{const s=await ye(e,i);if(s===null)return!1;const a=s[s.length-1]?.role==="user"?[...s,{id:D.generateUid(16),role:"assistant",parts:[{type:"text",text:"This session was interrupted. Please check back in a few minutes or start a new conversation."}]}]:s;return k(e,a),!0}finally{i?.aborted||Re(!1)}},[k,ye,oe]);ft.useInitialConversation({conversationId:R.conversationId,effectiveAuthToken:ve,loadAndRestoreSession:we,onLoadFailed:()=>k("",[])});const{openForm:et}=ht.useChatForm(),tt=mt.useWidget();return t.useImperativeHandle(R.chatFunctionsRef,()=>({submitMessage:ae,updateInputMessage(e){S(e)},clearChat:ke,openForm:e=>{tt?.setView("chat"),et(e,void 0)},focusInput:()=>{Te.current?.focus()}})),{messages:P,sendMessage:X,addToolApprovalResponse:Ye,isLoading:Ae,isStreaming:be,isBusy:Ie,error:Ve,setError:T,isSubmitDisabled:se,input:C,handleInputChange:xe,handleInputKeyDown:Xe,handleSubmit:ae,stop:oe,clear:ke,inputRef:Te,isMobile:Je,files:x,setFiles:Z,isNewChat:je,conversationId:u,restoreSession:k,loadAndRestoreSession:we,isSessionLoading:Be,authToken:f?O:z,refreshSession:f?le:G,getCaptchaHeader:b,invalidateCaptcha:l,inputNotification:We,showInputNotification:ne,clearInputNotification:Ze}};exports.useInkeepChat=Ct;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ze=require("@ai-sdk/react"),ke=require("./file-upload-input.cjs"),Xe=require("ai"),t=require("react"),Ye=require("../../providers/config-provider.cjs"),et=require("../../providers/chat-auth-provider.cjs"),tt=require("../../hooks/use-media-query.cjs"),st=require("../../hooks/use-conversation-loader.cjs"),rt=require("../../hooks/use-initial-conversation.cjs"),N=require("../../utils/generate-uid.cjs"),nt=require("../../providers/base-events-provider.cjs"),at=require("../../providers/chat-form-provider.cjs"),ot=require("../../providers/widget-provider.cjs"),it=require("@radix-ui/react-use-controllable-state"),ct=require("../../hooks/use-streaming-events.cjs"),ut=require("../../hooks/use-input-notification.cjs"),f=require("./chat-error-helpers.cjs"),lt=()=>{const{baseSettings:se,aiChatSettings:y}=Ye.useInkeepConfig(),[u="",h]=it.useControllableState({prop:y.conversationIdOverride,defaultProp:y.conversationIdOverride??""}),{logEvent:g}=nt.useBaseEvents(),{setConversationId:Me,emitToParent:M}=ct.useStreamingEvents(),re=t.useRef(u);t.useEffect(()=>{const e=re.current;re.current=u,e!==u&&g({eventName:"chat_conversation_changed",properties:{conversationId:u,previousConversationId:e}})},[u,g]);const[R,S]=t.useState(""),Fe=e=>S(e.target.value),{shouldBypassCaptcha:_e,filters:ne,userProperties:O,analyticsProperties:L}=se,{authToken:ae,isAuthenticated:m,isAuthConfigured:oe,refreshAuthToken:ie,sessionToken:ce,refreshSession:ue,getCaptchaHeader:F,invalidateCaptcha:d,effectiveAuthToken:le,applicableRefreshSession:xe}=et.useChatAuth(),{onInputMessageChange:Pe,filters:de,baseUrl:fe,agentUrl:qe,context:pe,headers:ge,appId:_,apiKey:D,files:E}=y,he=t.useRef(F);he.current=F;const me=qe||`${fe}/run/api/chat`,{loadConversation:ve}=st.useConversationLoader({baseUrl:fe,appId:_,authToken:le,getCaptchaHeader:F,invalidateCaptcha:d,refreshSession:xe}),[Ne,ye]=t.useState(!1),U=t.useRef(null);U.current=ce;const $=t.useRef(null);$.current=ae;const B=t.useRef(void 0);B.current=O&&Object.keys(O).length>0?JSON.stringify(O):void 0;const z=t.useRef(void 0);z.current=L&&Object.keys(L).length>0?JSON.stringify(L):void 0;const v=t.useRef(0),G=t.useRef(null),H=t.useRef(null),C=t.useRef(void 0),Oe=E?.map(e=>`${e.filename??""}:${e.mediaType}:${e.url.length}:${e.url.slice(0,64)}:${e.url.slice(-32)}`).join(`
2
+ `)??"";t.useEffect(()=>{C.current=E?.length?E:void 0},[Oe]);const Re=t.useRef(ge);Re.current=ge;const K=t.useRef(void 0);K.current=ne||de?JSON.stringify({...ne,...de}):void 0;const Le=e=>{switch(f.resolveHttpStatusCode(e)){case 400:try{const s=JSON.parse(e.message??"");return s.detail??s.error?.message??f.RECOVERABLE_FALLBACK_MESSAGE}catch{return e.message?.trim()||f.RECOVERABLE_FALLBACK_MESSAGE}case 401:return oe?"Authentication failed. Please try again.":f.DEFAULT_ERROR_MESSAGE;case 403:return`There seems to be a configuration error. Please contact ${se.organizationDisplayName??"Administrator"}`;case 429:return f.RATE_LIMIT_MESSAGE;default:return f.DEFAULT_ERROR_MESSAGE}},[x,j]=t.useState([]),De=t.useMemo(()=>new Xe.DefaultChatTransport({api:me,headers:()=>{const e=D??$.current??U.current;return{"x-inkeep-client-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone,"x-inkeep-client-timestamp":new Date().toISOString(),"x-inkeep-invocation-type":"chat_widget",..._?{"x-inkeep-app-id":_}:{},...e?{Authorization:`Bearer ${e}`}:{},...K.current?{"inkeep-filters":K.current}:{},...B.current?{"x-inkeep-user-properties":B.current}:{},...z.current?{"x-inkeep-properties":z.current}:{},...Re.current}},prepareSendMessagesRequest:async e=>{const i=await he.current(),s=e.messages[e.messages.length-1];return s||console.warn("[useInkeepChat] prepareSendMessagesRequest called with empty messages array"),{body:{...e.body,id:e.id,messages:s?[s]:[],trigger:e.trigger,messageId:e.messageId},headers:{...e.headers,...i}}},body:{requestContext:pe}}),[me,pe,_,D]),{messages:I,sendMessage:J,addToolApprovalResponse:V,status:Se,setMessages:p,stop:P,error:q}=Ze.useChat({transport:De,onData(e){M(e.type,e.data)},async onFinish({message:e}){M("completion",{conversationId:u}),await g({eventName:"assistant_message_received",properties:{conversationId:u,messageId:e.id}}),g({eventName:"assistant_answer_displayed",properties:{conversationId:u,messageId:e.id}})},onError(e){console.error("onError",{code:e.code,message:e.message});const i=_e||D?null:f.resolveStreamingAuthError(e);if(i!==null&&v.current<1){v.current++;const a=H.current,r=G.current;(async()=>{if(i==="session"&&oe){const c=await ie();if(!c)throw new Error("Auth token refresh failed");$.current=c}else if(i==="session"){const c=await ue();c&&(U.current=c)}else d();if(a){V(a);return}r&&(p(c=>{let n=[...c];return n.at(-1)?.role==="assistant"&&(n=n.slice(0,-1)),n.at(-1)?.role==="user"&&(n=n.slice(0,-1)),n}),J(r.files?.length?{parts:[{type:"text",text:r.content},...r.files]}:{text:r.content},{body:r.body}))})().catch(()=>{v.current=0,d(),p(c=>{const n=[...c],T=n[n.length-1];if(!T)return n;const w=f.DEFAULT_ERROR_MESSAGE;return T.role==="user"?n.push({id:N.generateUid(16),role:"assistant",parts:[{type:"text",text:w}]}):T.parts=[{type:"text",text:w}],n})});return}v.current=0,i!==null&&d();const s=f.isRecoverableError(e),l=Le(e);if(g({eventName:"chat_error",properties:{conversationId:u,messageId:I.at(-1)?.id,error:e.message}}),s){Y({title:"Request failed",message:l},f.RECOVERABLE_NOTIFICATION_DURATION_MS),p(r=>{let o=[...r];return o.at(-1)?.role==="assistant"&&(o=o.slice(0,-1)),o.at(-1)?.role==="user"&&(o=o.slice(0,-1)),o});const a=G.current?.content;a&&S(a),X.current=e;return}p(a=>{const r=[...a],o=r[r.length-1];return o&&(o.role==="user"?r.push({id:N.generateUid(16),role:"assistant",parts:[{type:"text",text:l}]}):o.parts=[{type:"text",text:l}]),r})}}),Ee=t.useRef(m);t.useEffect(()=>{const e=Ee.current;Ee.current=m,e!==m&&(P(),A(null),p([]),h(""),S(""),j([]),d())},[m,P,p,h,d]);const Ce=Se==="submitted",Q=Se==="streaming",Ue=t.useMemo(()=>{const e=a=>{if(!a||typeof a!="object")return!1;const r=a;return typeof r.type=="string"&&r.type.startsWith("tool-")},s=[...I??[]].reverse().find(a=>a.role==="assistant");if(!s)return!1;const l=s.parts?.at(-1);return!(!e(l)||l.state!=="output-available"||!l.approval?.id||Q)},[I,Q]),[$e,W]=t.useState(!1),Ie=Q||Ue&&!$e,Ae=Ce||Ie,Be=I.length===0,Z=!R.trim()&&x.length===0||Ae,ze=tt.useMediaQuery("(max-width: 768px)"),[Ge,A]=t.useState(null),X=t.useRef(null);t.useEffect(()=>{if(q){if(X.current===q){X.current=null;return}A(q)}},[q]);const He=()=>A(null),{inputNotification:Ke,showInputNotification:Y,clearInputNotification:je}=ut.useInputNotification(),be=t.useRef(null);t.useEffect(()=>{Pe?.(R)},[R]);const Je=e=>{e.key==="Enter"&&!e.shiftKey&&!Z&&!e.nativeEvent.isComposing&&(e.preventDefault(),ee())},ee=async(e=R)=>{if(Z&&(!e||e.trim().length===0)&&x.length===0)return;const i=x;j([]),S(""),v.current=0,H.current=null,W(!1);let s=u;s||(s=`conv_${N.generateUid(16)}`,h(s)),Me(s),await g({eventName:"user_message_submitted",properties:{conversationId:s}});const l=C.current;C.current=void 0;let a,r;if(l?.length){let o;try{o=await Promise.all(i.map(c=>{const n=ke.normalizeFileType(c);return new Promise((T,w)=>{const k=new FileReader;k.onload=()=>{if(typeof k.result!="string"){w(new Error(`Failed to read file "${n.name}"`));return}T({type:"file",url:k.result,mediaType:n.type,filename:n.name})},k.onerror=()=>w(new Error(`Failed to read file "${n.name}"`)),k.readAsDataURL(n)})}))}catch{Y({title:"Failed to attach files",message:"Could not read one or more files. Please try again."});return}r=[...o,...l],a=e.trim()?{parts:[{type:"text",text:e},...r]}:{parts:r}}else if(i.length>0){const o=new DataTransfer;for(const n of i)o.items.add(ke.normalizeFileType(n));const c=o.files;a=e.trim()?{text:e,files:c}:{files:c}}else a={text:e};G.current={content:e,body:{conversationId:s},files:r},J(a,{body:{conversationId:s}})},Ve=t.useCallback(e=>{v.current=0,H.current=e,W(!1),V(e)},[V]),te=t.useCallback(()=>{W(!0),P().then(()=>{M("aborted",{conversationId:u})})},[P,u,M]),Te=()=>{He(),p([]),h(""),d(),C.current=E?.length?E:void 0,g({eventName:"chat_clear_button_clicked",properties:{conversationId:u}})},b=t.useCallback((e,i)=>{A(null),p(i),h(e),d(),C.current=void 0},[p,h,d]),we=t.useCallback(async(e,i)=>{te(),b(e,[]),ye(!0);try{const s=await ve(e,i);if(s===null)return!1;const a=s[s.length-1]?.role==="user"?[...s,{id:N.generateUid(16),role:"assistant",parts:[{type:"text",text:"This session was interrupted. Please check back in a few minutes or start a new conversation."}]}]:s;return b(e,a),!0}finally{i?.aborted||ye(!1)}},[b,ve,te]);rt.useInitialConversation({conversationId:y.conversationId,effectiveAuthToken:le,loadAndRestoreSession:we,onLoadFailed:()=>b("",[])});const{openForm:Qe}=at.useChatForm(),We=ot.useWidget();return t.useImperativeHandle(y.chatFunctionsRef,()=>({submitMessage:ee,updateInputMessage(e){S(e)},clearChat:Te,openForm:e=>{We?.setView("chat"),Qe(e,void 0)},focusInput:()=>{be.current?.focus()}})),{messages:I,sendMessage:J,addToolApprovalResponse:Ve,isLoading:Ce,isStreaming:Ie,isBusy:Ae,error:Ge,setError:A,isSubmitDisabled:Z,input:R,handleInputChange:Fe,handleInputKeyDown:Je,handleSubmit:ee,stop:te,clear:Te,inputRef:be,isMobile:ze,files:x,setFiles:j,isNewChat:Be,conversationId:u,restoreSession:b,loadAndRestoreSession:we,isSessionLoading:Ne,authToken:m?ae:ce,refreshSession:m?ie:ue,getCaptchaHeader:F,invalidateCaptcha:d,inputNotification:Ke,showInputNotification:Y,clearInputNotification:je}};exports.useInkeepChat=lt;