@inkeep/agents-ui 0.15.29 → 0.15.30

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 (42) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +156 -158
  3. package/dist/primitives/components/embedded-chat.cjs +4 -4
  4. package/dist/primitives/components/embedded-chat.d.ts +5 -14
  5. package/dist/primitives/components/embedded-chat.js +821 -866
  6. package/dist/primitives/hooks/use-feedback-api.cjs +1 -0
  7. package/dist/primitives/hooks/use-feedback-api.d.ts +19 -0
  8. package/dist/primitives/hooks/use-feedback-api.js +37 -0
  9. package/dist/primitives/index.cjs +1 -1
  10. package/dist/primitives/index.js +134 -137
  11. package/dist/primitives/providers/base-events-provider.cjs +1 -1
  12. package/dist/primitives/providers/base-events-provider.js +1 -1
  13. package/dist/primitives/providers/feedback-provider.cjs +1 -1
  14. package/dist/primitives/providers/feedback-provider.d.ts +1 -1
  15. package/dist/primitives/providers/feedback-provider.js +57 -64
  16. package/dist/primitives/providers/index.cjs +1 -1
  17. package/dist/primitives/providers/index.d.ts +0 -1
  18. package/dist/primitives/providers/index.js +42 -45
  19. package/dist/primitives/utils/component-ids.cjs +1 -1
  20. package/dist/primitives/utils/component-ids.d.ts +2 -6
  21. package/dist/primitives/utils/component-ids.js +1 -3
  22. package/dist/react/embedded-chat.cjs +1 -1
  23. package/dist/react/embedded-chat.js +248 -263
  24. package/dist/react/index.cjs +1 -1
  25. package/dist/react/index.js +156 -158
  26. package/dist/styled/components/embedded-chat.cjs +1 -1
  27. package/dist/styled/components/embedded-chat.d.ts +2 -4
  28. package/dist/styled/components/embedded-chat.js +381 -411
  29. package/dist/styled/components/index.cjs +1 -1
  30. package/dist/styled/components/index.js +12 -11
  31. package/dist/styled/components/message.cjs +1 -1
  32. package/dist/styled/components/message.d.ts +20 -0
  33. package/dist/styled/components/message.js +304 -228
  34. package/dist/styled/index.cjs +1 -1
  35. package/dist/styled/index.js +152 -154
  36. package/dist/styled/inkeep.css.cjs +79 -12
  37. package/dist/styled/inkeep.css.js +79 -12
  38. package/dist/types/events.d.ts +3 -17
  39. package/package.json +1 -1
  40. package/dist/primitives/providers/feedback-item-provider.cjs +0 -1
  41. package/dist/primitives/providers/feedback-item-provider.d.ts +0 -10
  42. package/dist/primitives/providers/feedback-item-provider.js +0 -16
@@ -0,0 +1 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),f=require("./use-inkeep-api-client.cjs"),k=()=>{};function y({baseUrl:e,appId:s,authToken:t,getCaptchaHeader:c,invalidateCaptcha:o,refreshSession:r}){const{fetchWithAuth:i}=f.useInkeepApiClient({appId:s,authToken:t,getCaptchaHeader:c,invalidateCaptcha:o??k,refreshSession:r});return{submitFeedback:l.useCallback(async({conversationId:u,messageId:a,type:d,details:p})=>{if(!e||!t)return;const b=`${e}/run/v1/feedback`,n=await i(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({conversationId:u,messageId:a,type:d,details:p})});if(!n.ok)throw new Error(`Feedback submission failed: ${n.status}`);return n.json()},[e,t,i])}}exports.useFeedbackApi=y;
@@ -0,0 +1,19 @@
1
+ import { FeedbackType } from '../../types/index.ts';
2
+ interface UseFeedbackApiOptions {
3
+ baseUrl: string | undefined;
4
+ appId: string | undefined;
5
+ authToken: string | null | undefined;
6
+ getCaptchaHeader: () => Promise<Record<string, string>>;
7
+ invalidateCaptcha?: () => void;
8
+ refreshSession?: () => Promise<string | null>;
9
+ }
10
+ interface SubmitFeedbackParams {
11
+ conversationId: string;
12
+ messageId: string;
13
+ type: FeedbackType;
14
+ details?: string | null;
15
+ }
16
+ export declare function useFeedbackApi({ baseUrl, appId, authToken, getCaptchaHeader, invalidateCaptcha, refreshSession, }: UseFeedbackApiOptions): {
17
+ submitFeedback: ({ conversationId, messageId, type, details }: SubmitFeedbackParams) => Promise<any>;
18
+ };
19
+ export {};
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { useCallback as b } from "react";
3
+ import { useInkeepApiClient as m } from "./use-inkeep-api-client.js";
4
+ const k = () => {
5
+ };
6
+ function C({
7
+ baseUrl: e,
8
+ appId: o,
9
+ authToken: t,
10
+ getCaptchaHeader: s,
11
+ invalidateCaptcha: r,
12
+ refreshSession: c
13
+ }) {
14
+ const { fetchWithAuth: i } = m({
15
+ appId: o,
16
+ authToken: t,
17
+ getCaptchaHeader: s,
18
+ invalidateCaptcha: r ?? k,
19
+ refreshSession: c
20
+ });
21
+ return { submitFeedback: b(
22
+ async ({ conversationId: a, messageId: u, type: p, details: d }) => {
23
+ if (!e || !t) return;
24
+ const f = `${e}/run/v1/feedback`, n = await i(f, {
25
+ method: "POST",
26
+ headers: { "Content-Type": "application/json" },
27
+ body: JSON.stringify({ conversationId: a, messageId: u, type: p, details: d })
28
+ });
29
+ if (!n.ok) throw new Error(`Feedback submission failed: ${n.status}`);
30
+ return n.json();
31
+ },
32
+ [e, t, i]
33
+ ) };
34
+ }
35
+ export {
36
+ C as useFeedbackApi
37
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./providers/base-events-provider.cjs"),n=require("./providers/chat-form-provider.cjs"),C=require("./providers/chat-history-provider.cjs"),i=require("./providers/config-provider.cjs"),l=require("./providers/feedback-item-provider.cjs"),p=require("./providers/feedback-provider.cjs"),h=require("./providers/form-field-provider.cjs"),d=require("./providers/help-menu-provider.cjs"),v=require("./providers/markdown-provider.cjs"),u=require("./providers/message-provider.cjs"),F=require("./providers/root-provider.cjs"),P=require("./providers/source-item-provider.cjs"),M=require("./providers/theme-provider.cjs"),I=require("./providers/widget-provider.cjs"),t=require("./providers/sidebar-chat-provider.cjs"),s=require("./providers/chat-bubble-provider.cjs"),S=require("./components/factory.cjs"),y=require("./components/embedded-chat.cjs"),B=require("./components/sidebar-chat/index.cjs"),b=require("./components/embedded-chat/chat-provider.cjs"),f=require("./components/embedded-search.cjs"),m=require("./components/embedded-search/search-provider.cjs"),R=require("./components/modal.cjs"),q=require("./components/modal/modal-provider.cjs"),w=require("./components/chat-button.cjs"),H=require("./components/searchbar.cjs"),O=require("./components/chat-bubble/index.cjs"),E=require("./components/data-summaries.cjs"),T=require("./components/chat-history/index.cjs"),W=require("./hooks/use-boolean.cjs"),x=require("./hooks/use-component-classnames.cjs"),D=require("./hooks/use-container-size.cjs"),z=require("./hooks/use-inkeep-open-state.cjs"),A=require("./hooks/use-copy-to-clipboard.cjs"),L=require("./hooks/use-instant-update.cjs"),j=require("./hooks/use-is-mounted.cjs"),Q=require("./hooks/use-media-query.cjs"),U=require("./hooks/use-resize-observer.cjs"),g=require("./hooks/use-scrolling-fades.cjs"),$=require("./hooks/use-settle-action.cjs"),K=require("./hooks/use-simple-scroll.cjs"),o=require("./utils/misc.cjs"),e=require("./utils/component-ids.cjs"),k=require("./utils/compose-refs.cjs"),N=require("./utils/merge-props.cjs"),G=require("./atoms/portal.cjs"),J=require("./atoms/icons/custom-icon.cjs"),V=require("./atoms/icons/built-in-icon-renderer.cjs"),X=require("./atoms/portal-with-theme.cjs"),r=require("./atoms/cmdk/index.cjs"),Y=require("./atoms/error-boundary.cjs"),a=require("./atoms/shadow/context.cjs");exports.BaseEventsProvider=c.BaseEventsProvider;exports.useBaseEvents=c.useBaseEvents;exports.ChatFormProvider=n.ChatFormProvider;exports.useChatForm=n.useChatForm;exports.useChatFormState=n.useChatFormState;exports.ChatHistoryProvider=C.ChatHistoryProvider;exports.useChatHistory=C.useChatHistory;exports.InkeepConfigProvider=i.InkeepConfigProvider;exports.WebWidgetInteractionType=i.WebWidgetInteractionType;exports.useInkeepConfig=i.useInkeepConfig;exports.FeedbackItemProvider=l.FeedbackItemProvider;exports.useFeedbackItem=l.useFeedbackItem;exports.FeedbackProvider=p.FeedbackProvider;exports.useMessageFeedback=p.useMessageFeedback;exports.FormFieldProvider=h.FormFieldProvider;exports.useFormField=h.useFormField;exports.HelpMenuProvider=d.HelpMenuProvider;exports.useHelpMenu=d.useHelpMenu;exports.useHelpMenuState=d.useHelpMenuState;exports.ChatMarkdownProvider=v.ChatMarkdownProvider;exports.useChatMarkdown=v.useChatMarkdown;exports.MessageProvider=u.MessageProvider;exports.useMessage=u.useMessage;exports.useOptionalMessage=u.useOptionalMessage;exports.RootProvider=F.RootProvider;exports.SourceItemProvider=P.SourceItemProvider;exports.useSourceItem=P.useSourceItem;exports.ThemeProvider=M.ThemeProvider;exports.WidgetProvider=I.WidgetProvider;exports.useWidget=I.useWidget;exports.SidebarChatProvider=t.SidebarChatProvider;exports.useInkeepSidebarChat=t.useInkeepSidebarChat;exports.useOptionalSidebarChat=t.useOptionalSidebarChat;exports.useSidebarChat=t.useSidebarChat;exports.ChatBubbleProvider=s.ChatBubbleProvider;exports.useChatBubble=s.useChatBubble;exports.useInkeepChatBubble=s.useInkeepChatBubble;exports.useOptionalChatBubble=s.useOptionalChatBubble;exports.ikp=S.ikp;exports.jsxFactory=S.jsxFactory;exports.EmbeddedChatPrimitive=y;exports.SidebarChatPrimitive=B;exports.ChatProvider=b.ChatProvider;exports.useChat=b.useChat;exports.EmbeddedSearchPrimitive=f;exports.SearchProvider=m.SearchProvider;exports.SearchProviderImpl=m.SearchProviderImpl;exports.useSearch=m.useSearch;exports.ModalPrimitive=R;exports.ModalProvider=q.ModalProvider;exports.useModal=q.useModal;exports.ChatButtonPrimitive=w;exports.SearchBarPrimitive=H;exports.ChatBubblePrimitive=O;exports.DataSummaryPrimitive=E;exports.ChatHistoryPrimitive=T;exports.useBoolean=W.useBoolean;exports.useComponentClassNames=x.useComponentClassNames;exports.useContainerSize=D.useContainerSize;exports.useInkeepOpenState=z.useInkeepOpenState;exports.useCopyToClipboard=A.useCopyToClipboard;exports.useInstantUpdate=L.useInstantUpdate;exports.useIsMounted=j.useIsMounted;exports.useMediaQuery=Q.useMediaQuery;exports.useResizeObserver=U.useResizeObserver;exports.useScrollingFades=g.useScrollingFades;exports.useScrollingFadesHorizontal=g.useScrollingFadesHorizontal;exports.useSettleAction=$.useSettleAction;exports.useSimpleScroll=K.useSimpleScroll;exports.callAll=o.callAll;exports.dataAttr=o.dataAttr;exports.getInitials=o.getInitials;exports.getMessageContent=o.getMessageContent;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=k.composeRefs;exports.useComposedRefs=k.useComposedRefs;exports.mergeProps=N.mergeProps;exports.Portal=G.Portal;exports.CustomIcon=J.CustomIcon;exports.BuiltInIconRenderer=V.BuiltInIconRenderer;exports.PortalWithTheme=X.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=Y.ErrorBoundary;exports.InkeepShadow=a.InkeepShadow;exports.InkeepShadowProvider=a.InkeepShadowProvider;exports.ShadowContext=a.ShadowContext;exports.useShadow=a.useShadow;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("./providers/base-events-provider.cjs"),n=require("./providers/chat-form-provider.cjs"),c=require("./providers/chat-history-provider.cjs"),i=require("./providers/config-provider.cjs"),l=require("./providers/feedback-provider.cjs"),p=require("./providers/form-field-provider.cjs"),d=require("./providers/help-menu-provider.cjs"),h=require("./providers/markdown-provider.cjs"),u=require("./providers/message-provider.cjs"),M=require("./providers/root-provider.cjs"),v=require("./providers/source-item-provider.cjs"),y=require("./providers/theme-provider.cjs"),P=require("./providers/widget-provider.cjs"),t=require("./providers/sidebar-chat-provider.cjs"),s=require("./providers/chat-bubble-provider.cjs"),S=require("./components/factory.cjs"),B=require("./components/embedded-chat.cjs"),k=require("./components/sidebar-chat/index.cjs"),I=require("./components/embedded-chat/chat-provider.cjs"),F=require("./components/embedded-search.cjs"),m=require("./components/embedded-search/search-provider.cjs"),R=require("./components/modal.cjs"),b=require("./components/modal/modal-provider.cjs"),f=require("./components/chat-button.cjs"),w=require("./components/searchbar.cjs"),H=require("./components/chat-bubble/index.cjs"),O=require("./components/data-summaries.cjs"),E=require("./components/chat-history/index.cjs"),T=require("./hooks/use-boolean.cjs"),W=require("./hooks/use-component-classnames.cjs"),x=require("./hooks/use-container-size.cjs"),D=require("./hooks/use-inkeep-open-state.cjs"),z=require("./hooks/use-copy-to-clipboard.cjs"),A=require("./hooks/use-instant-update.cjs"),L=require("./hooks/use-is-mounted.cjs"),j=require("./hooks/use-media-query.cjs"),Q=require("./hooks/use-resize-observer.cjs"),q=require("./hooks/use-scrolling-fades.cjs"),U=require("./hooks/use-settle-action.cjs"),$=require("./hooks/use-simple-scroll.cjs"),o=require("./utils/misc.cjs"),e=require("./utils/component-ids.cjs"),g=require("./utils/compose-refs.cjs"),K=require("./utils/merge-props.cjs"),N=require("./atoms/portal.cjs"),G=require("./atoms/icons/custom-icon.cjs"),J=require("./atoms/icons/built-in-icon-renderer.cjs"),V=require("./atoms/portal-with-theme.cjs"),r=require("./atoms/cmdk/index.cjs"),X=require("./atoms/error-boundary.cjs"),a=require("./atoms/shadow/context.cjs");exports.BaseEventsProvider=C.BaseEventsProvider;exports.useBaseEvents=C.useBaseEvents;exports.ChatFormProvider=n.ChatFormProvider;exports.useChatForm=n.useChatForm;exports.useChatFormState=n.useChatFormState;exports.ChatHistoryProvider=c.ChatHistoryProvider;exports.useChatHistory=c.useChatHistory;exports.InkeepConfigProvider=i.InkeepConfigProvider;exports.WebWidgetInteractionType=i.WebWidgetInteractionType;exports.useInkeepConfig=i.useInkeepConfig;exports.FeedbackProvider=l.FeedbackProvider;exports.useMessageFeedback=l.useMessageFeedback;exports.FormFieldProvider=p.FormFieldProvider;exports.useFormField=p.useFormField;exports.HelpMenuProvider=d.HelpMenuProvider;exports.useHelpMenu=d.useHelpMenu;exports.useHelpMenuState=d.useHelpMenuState;exports.ChatMarkdownProvider=h.ChatMarkdownProvider;exports.useChatMarkdown=h.useChatMarkdown;exports.MessageProvider=u.MessageProvider;exports.useMessage=u.useMessage;exports.useOptionalMessage=u.useOptionalMessage;exports.RootProvider=M.RootProvider;exports.SourceItemProvider=v.SourceItemProvider;exports.useSourceItem=v.useSourceItem;exports.ThemeProvider=y.ThemeProvider;exports.WidgetProvider=P.WidgetProvider;exports.useWidget=P.useWidget;exports.SidebarChatProvider=t.SidebarChatProvider;exports.useInkeepSidebarChat=t.useInkeepSidebarChat;exports.useOptionalSidebarChat=t.useOptionalSidebarChat;exports.useSidebarChat=t.useSidebarChat;exports.ChatBubbleProvider=s.ChatBubbleProvider;exports.useChatBubble=s.useChatBubble;exports.useInkeepChatBubble=s.useInkeepChatBubble;exports.useOptionalChatBubble=s.useOptionalChatBubble;exports.ikp=S.ikp;exports.jsxFactory=S.jsxFactory;exports.EmbeddedChatPrimitive=B;exports.SidebarChatPrimitive=k;exports.ChatProvider=I.ChatProvider;exports.useChat=I.useChat;exports.EmbeddedSearchPrimitive=F;exports.SearchProvider=m.SearchProvider;exports.SearchProviderImpl=m.SearchProviderImpl;exports.useSearch=m.useSearch;exports.ModalPrimitive=R;exports.ModalProvider=b.ModalProvider;exports.useModal=b.useModal;exports.ChatButtonPrimitive=f;exports.SearchBarPrimitive=w;exports.ChatBubblePrimitive=H;exports.DataSummaryPrimitive=O;exports.ChatHistoryPrimitive=E;exports.useBoolean=T.useBoolean;exports.useComponentClassNames=W.useComponentClassNames;exports.useContainerSize=x.useContainerSize;exports.useInkeepOpenState=D.useInkeepOpenState;exports.useCopyToClipboard=z.useCopyToClipboard;exports.useInstantUpdate=A.useInstantUpdate;exports.useIsMounted=L.useIsMounted;exports.useMediaQuery=j.useMediaQuery;exports.useResizeObserver=Q.useResizeObserver;exports.useScrollingFades=q.useScrollingFades;exports.useScrollingFadesHorizontal=q.useScrollingFadesHorizontal;exports.useSettleAction=U.useSettleAction;exports.useSimpleScroll=$.useSimpleScroll;exports.callAll=o.callAll;exports.dataAttr=o.dataAttr;exports.getInitials=o.getInitials;exports.getMessageContent=o.getMessageContent;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=g.composeRefs;exports.useComposedRefs=g.useComposedRefs;exports.mergeProps=K.mergeProps;exports.Portal=N.Portal;exports.CustomIcon=G.CustomIcon;exports.BuiltInIconRenderer=J.BuiltInIconRenderer;exports.PortalWithTheme=V.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=X.ErrorBoundary;exports.InkeepShadow=a.InkeepShadow;exports.InkeepShadowProvider=a.InkeepShadowProvider;exports.ShadowContext=a.ShadowContext;exports.useShadow=a.useShadow;
@@ -1,166 +1,163 @@
1
1
  import { BaseEventsProvider as u, useBaseEvents as C } from "./providers/base-events-provider.js";
2
2
  import { ChatFormProvider as x, useChatForm as h, useChatFormState as l } from "./providers/chat-form-provider.js";
3
- import { ChatHistoryProvider as b, useChatHistory as v } from "./providers/chat-history-provider.js";
4
- import { InkeepConfigProvider as P, WebWidgetInteractionType as c, useInkeepConfig as g } from "./providers/config-provider.js";
5
- import { FeedbackItemProvider as k, useFeedbackItem as F } from "./providers/feedback-item-provider.js";
6
- import { FeedbackProvider as y, useMessageFeedback as H } from "./providers/feedback-provider.js";
7
- import { FormFieldProvider as R, useFormField as E } from "./providers/form-field-provider.js";
8
- import { HelpMenuProvider as O, useHelpMenu as W, useHelpMenuState as T } from "./providers/help-menu-provider.js";
9
- import { ChatMarkdownProvider as A, useChatMarkdown as L } from "./providers/markdown-provider.js";
10
- import { MessageProvider as j, useMessage as K, useOptionalMessage as N } from "./providers/message-provider.js";
11
- import { RootProvider as U } from "./providers/root-provider.js";
12
- import { SourceItemProvider as G, useSourceItem as J } from "./providers/source-item-provider.js";
13
- import { ThemeProvider as X } from "./providers/theme-provider.js";
14
- import { WidgetProvider as Z, useWidget as _ } from "./providers/widget-provider.js";
15
- import { SidebarChatProvider as oe, useInkeepSidebarChat as re, useOptionalSidebarChat as te, useSidebarChat as ae } from "./providers/sidebar-chat-provider.js";
16
- import { ChatBubbleProvider as se, useChatBubble as ie, useInkeepChatBubble as pe, useOptionalChatBubble as de } from "./providers/chat-bubble-provider.js";
17
- import { ikp as ue, jsxFactory as Ce } from "./components/factory.js";
3
+ import { ChatHistoryProvider as v, useChatHistory as P } from "./providers/chat-history-provider.js";
4
+ import { InkeepConfigProvider as I, WebWidgetInteractionType as c, useInkeepConfig as g } from "./providers/config-provider.js";
5
+ import { FeedbackProvider as M, useMessageFeedback as k } from "./providers/feedback-provider.js";
6
+ import { FormFieldProvider as F, useFormField as H } from "./providers/form-field-provider.js";
7
+ import { HelpMenuProvider as R, useHelpMenu as E, useHelpMenuState as D } from "./providers/help-menu-provider.js";
8
+ import { ChatMarkdownProvider as W, useChatMarkdown as T } from "./providers/markdown-provider.js";
9
+ import { MessageProvider as A, useMessage as L, useOptionalMessage as $ } from "./providers/message-provider.js";
10
+ import { RootProvider as K } from "./providers/root-provider.js";
11
+ import { SourceItemProvider as Q, useSourceItem as U } from "./providers/source-item-provider.js";
12
+ import { ThemeProvider as G } from "./providers/theme-provider.js";
13
+ import { WidgetProvider as V, useWidget as X } from "./providers/widget-provider.js";
14
+ import { SidebarChatProvider as Z, useInkeepSidebarChat as _, useOptionalSidebarChat as ee, useSidebarChat as oe } from "./providers/sidebar-chat-provider.js";
15
+ import { ChatBubbleProvider as te, useChatBubble as ae, useInkeepChatBubble as me, useOptionalChatBubble as se } from "./providers/chat-bubble-provider.js";
16
+ import { ikp as pe, jsxFactory as de } from "./components/factory.js";
18
17
  import * as e from "./components/embedded-chat.js";
19
18
  import * as o from "./components/sidebar-chat/index.js";
20
- import { ChatProvider as xe, useChat as he } from "./components/embedded-chat/chat-provider.js";
19
+ import { ChatProvider as ue, useChat as Ce } from "./components/embedded-chat/chat-provider.js";
21
20
  import * as r from "./components/embedded-search.js";
22
- import { SearchProvider as Se, SearchProviderImpl as be, useSearch as ve } from "./components/embedded-search/search-provider.js";
21
+ import { SearchProvider as xe, SearchProviderImpl as he, useSearch as le } from "./components/embedded-search/search-provider.js";
23
22
  import * as t from "./components/modal.js";
24
- import { ModalProvider as Pe, useModal as ce } from "./components/modal/modal-provider.js";
23
+ import { ModalProvider as ve, useModal as Pe } from "./components/modal/modal-provider.js";
25
24
  import * as a from "./components/chat-button.js";
26
25
  import * as m from "./components/searchbar.js";
27
26
  import * as s from "./components/chat-bubble/index.js";
28
27
  import * as i from "./components/data-summaries.js";
29
28
  import * as p from "./components/chat-history/index.js";
30
- import { useBoolean as Be } from "./hooks/use-boolean.js";
31
- import { useComponentClassNames as Fe } from "./hooks/use-component-classnames.js";
32
- import { useContainerSize as ye } from "./hooks/use-container-size.js";
33
- import { useInkeepOpenState as we } from "./hooks/use-inkeep-open-state.js";
34
- import { useCopyToClipboard as Ee } from "./hooks/use-copy-to-clipboard.js";
35
- import { useInstantUpdate as Oe } from "./hooks/use-instant-update.js";
36
- import { useIsMounted as Te } from "./hooks/use-is-mounted.js";
37
- import { useMediaQuery as Ae } from "./hooks/use-media-query.js";
38
- import { useResizeObserver as $e } from "./hooks/use-resize-observer.js";
39
- import { useScrollingFades as Ke, useScrollingFadesHorizontal as Ne } from "./hooks/use-scrolling-fades.js";
40
- import { useSettleAction as Ue } from "./hooks/use-settle-action.js";
41
- import { useSimpleScroll as Ge } from "./hooks/use-simple-scroll.js";
42
- import { callAll as Ve, dataAttr as Xe, getInitials as Ye, getMessageContent as Ze, isString as _e, maybeRender as eo, toKebabCase as oo } from "./utils/misc.js";
43
- import { ChatBubbleComponentIds as to, DataSummaryComponentIds as ao, SearchBarComponentIds as mo, SidebarChatComponentIds as so, aiChatComponentIds as io, aiChatHistoryComponentIds as po, aiSearchComponentIds as no, chatButtonComponentIds as uo, componentIDs as Co, markDownComponentIds as fo, miscellanousComponentIds as xo, modalComponentIds as ho } from "./utils/component-ids.js";
44
- import { composeRefs as So, useComposedRefs as bo } from "./utils/compose-refs.js";
45
- import { mergeProps as Io } from "./utils/merge-props.js";
46
- import { Portal as co } from "./atoms/portal.js";
47
- import { CustomIcon as Bo } from "./atoms/icons/custom-icon.js";
48
- import { BuiltInIconRenderer as Fo } from "./atoms/icons/built-in-icon-renderer.js";
49
- import { PortalWithTheme as yo } from "./atoms/portal-with-theme.js";
50
- import { Command as wo, CommandDialog as Ro, CommandEmpty as Eo, CommandInput as Do, CommandItem as Oo, CommandList as Wo, CommandLoading as To, CommandRoot as zo, CommandSeparator as Ao, defaultFilter as Lo, useCommandState as $o, useCommandStore as jo } from "./atoms/cmdk/index.js";
51
- import { ErrorBoundary as No } from "./atoms/error-boundary.js";
52
- import { InkeepShadow as Uo, InkeepShadowProvider as qo, ShadowContext as Go, useShadow as Jo } from "./atoms/shadow/context.js";
29
+ import { useBoolean as Ie } from "./hooks/use-boolean.js";
30
+ import { useComponentClassNames as ge } from "./hooks/use-component-classnames.js";
31
+ import { useContainerSize as Me } from "./hooks/use-container-size.js";
32
+ import { useInkeepOpenState as ye } from "./hooks/use-inkeep-open-state.js";
33
+ import { useCopyToClipboard as He } from "./hooks/use-copy-to-clipboard.js";
34
+ import { useInstantUpdate as Re } from "./hooks/use-instant-update.js";
35
+ import { useIsMounted as De } from "./hooks/use-is-mounted.js";
36
+ import { useMediaQuery as We } from "./hooks/use-media-query.js";
37
+ import { useResizeObserver as ze } from "./hooks/use-resize-observer.js";
38
+ import { useScrollingFades as Le, useScrollingFadesHorizontal as $e } from "./hooks/use-scrolling-fades.js";
39
+ import { useSettleAction as Ke } from "./hooks/use-settle-action.js";
40
+ import { useSimpleScroll as Qe } from "./hooks/use-simple-scroll.js";
41
+ import { callAll as qe, dataAttr as Ge, getInitials as Je, getMessageContent as Ve, isString as Xe, maybeRender as Ye, toKebabCase as Ze } from "./utils/misc.js";
42
+ import { ChatBubbleComponentIds as eo, DataSummaryComponentIds as oo, SearchBarComponentIds as ro, SidebarChatComponentIds as to, aiChatComponentIds as ao, aiChatHistoryComponentIds as mo, aiSearchComponentIds as so, chatButtonComponentIds as io, componentIDs as po, markDownComponentIds as no, miscellanousComponentIds as uo, modalComponentIds as Co } from "./utils/component-ids.js";
43
+ import { composeRefs as xo, useComposedRefs as ho } from "./utils/compose-refs.js";
44
+ import { mergeProps as So } from "./utils/merge-props.js";
45
+ import { Portal as Po } from "./atoms/portal.js";
46
+ import { CustomIcon as Io } from "./atoms/icons/custom-icon.js";
47
+ import { BuiltInIconRenderer as go } from "./atoms/icons/built-in-icon-renderer.js";
48
+ import { PortalWithTheme as Mo } from "./atoms/portal-with-theme.js";
49
+ import { Command as yo, CommandDialog as Fo, CommandEmpty as Ho, CommandInput as wo, CommandItem as Ro, CommandList as Eo, CommandLoading as Do, CommandRoot as Oo, CommandSeparator as Wo, defaultFilter as To, useCommandState as zo, useCommandStore as Ao } from "./atoms/cmdk/index.js";
50
+ import { ErrorBoundary as $o } from "./atoms/error-boundary.js";
51
+ import { InkeepShadow as Ko, InkeepShadowProvider as No, ShadowContext as Qo, useShadow as Uo } from "./atoms/shadow/context.js";
53
52
  export {
54
53
  u as BaseEventsProvider,
55
- Fo as BuiltInIconRenderer,
56
- to as ChatBubbleComponentIds,
54
+ go as BuiltInIconRenderer,
55
+ eo as ChatBubbleComponentIds,
57
56
  s as ChatBubblePrimitive,
58
- se as ChatBubbleProvider,
57
+ te as ChatBubbleProvider,
59
58
  a as ChatButtonPrimitive,
60
59
  x as ChatFormProvider,
61
60
  p as ChatHistoryPrimitive,
62
- b as ChatHistoryProvider,
63
- A as ChatMarkdownProvider,
64
- xe as ChatProvider,
65
- wo as Command,
66
- Ro as CommandDialog,
67
- Eo as CommandEmpty,
68
- Do as CommandInput,
69
- Oo as CommandItem,
70
- Wo as CommandList,
71
- To as CommandLoading,
72
- zo as CommandRoot,
73
- Ao as CommandSeparator,
74
- Bo as CustomIcon,
75
- ao as DataSummaryComponentIds,
61
+ v as ChatHistoryProvider,
62
+ W as ChatMarkdownProvider,
63
+ ue as ChatProvider,
64
+ yo as Command,
65
+ Fo as CommandDialog,
66
+ Ho as CommandEmpty,
67
+ wo as CommandInput,
68
+ Ro as CommandItem,
69
+ Eo as CommandList,
70
+ Do as CommandLoading,
71
+ Oo as CommandRoot,
72
+ Wo as CommandSeparator,
73
+ Io as CustomIcon,
74
+ oo as DataSummaryComponentIds,
76
75
  i as DataSummaryPrimitive,
77
76
  e as EmbeddedChatPrimitive,
78
77
  r as EmbeddedSearchPrimitive,
79
- No as ErrorBoundary,
80
- k as FeedbackItemProvider,
81
- y as FeedbackProvider,
82
- R as FormFieldProvider,
83
- O as HelpMenuProvider,
84
- P as InkeepConfigProvider,
85
- Uo as InkeepShadow,
86
- qo as InkeepShadowProvider,
87
- j as MessageProvider,
78
+ $o as ErrorBoundary,
79
+ M as FeedbackProvider,
80
+ F as FormFieldProvider,
81
+ R as HelpMenuProvider,
82
+ I as InkeepConfigProvider,
83
+ Ko as InkeepShadow,
84
+ No as InkeepShadowProvider,
85
+ A as MessageProvider,
88
86
  t as ModalPrimitive,
89
- Pe as ModalProvider,
90
- co as Portal,
91
- yo as PortalWithTheme,
92
- U as RootProvider,
93
- mo as SearchBarComponentIds,
87
+ ve as ModalProvider,
88
+ Po as Portal,
89
+ Mo as PortalWithTheme,
90
+ K as RootProvider,
91
+ ro as SearchBarComponentIds,
94
92
  m as SearchBarPrimitive,
95
- Se as SearchProvider,
96
- be as SearchProviderImpl,
97
- Go as ShadowContext,
98
- so as SidebarChatComponentIds,
93
+ xe as SearchProvider,
94
+ he as SearchProviderImpl,
95
+ Qo as ShadowContext,
96
+ to as SidebarChatComponentIds,
99
97
  o as SidebarChatPrimitive,
100
- oe as SidebarChatProvider,
101
- G as SourceItemProvider,
102
- X as ThemeProvider,
98
+ Z as SidebarChatProvider,
99
+ Q as SourceItemProvider,
100
+ G as ThemeProvider,
103
101
  c as WebWidgetInteractionType,
104
- Z as WidgetProvider,
105
- io as aiChatComponentIds,
106
- po as aiChatHistoryComponentIds,
107
- no as aiSearchComponentIds,
108
- Ve as callAll,
109
- uo as chatButtonComponentIds,
110
- Co as componentIDs,
111
- So as composeRefs,
112
- Xe as dataAttr,
113
- Lo as defaultFilter,
114
- Ye as getInitials,
115
- Ze as getMessageContent,
116
- ue as ikp,
117
- _e as isString,
118
- Ce as jsxFactory,
119
- fo as markDownComponentIds,
120
- eo as maybeRender,
121
- Io as mergeProps,
122
- xo as miscellanousComponentIds,
123
- ho as modalComponentIds,
124
- oo as toKebabCase,
102
+ V as WidgetProvider,
103
+ ao as aiChatComponentIds,
104
+ mo as aiChatHistoryComponentIds,
105
+ so as aiSearchComponentIds,
106
+ qe as callAll,
107
+ io as chatButtonComponentIds,
108
+ po as componentIDs,
109
+ xo as composeRefs,
110
+ Ge as dataAttr,
111
+ To as defaultFilter,
112
+ Je as getInitials,
113
+ Ve as getMessageContent,
114
+ pe as ikp,
115
+ Xe as isString,
116
+ de as jsxFactory,
117
+ no as markDownComponentIds,
118
+ Ye as maybeRender,
119
+ So as mergeProps,
120
+ uo as miscellanousComponentIds,
121
+ Co as modalComponentIds,
122
+ Ze as toKebabCase,
125
123
  C as useBaseEvents,
126
- Be as useBoolean,
127
- he as useChat,
128
- ie as useChatBubble,
124
+ Ie as useBoolean,
125
+ Ce as useChat,
126
+ ae as useChatBubble,
129
127
  h as useChatForm,
130
128
  l as useChatFormState,
131
- v as useChatHistory,
132
- L as useChatMarkdown,
133
- $o as useCommandState,
134
- jo as useCommandStore,
135
- Fe as useComponentClassNames,
136
- bo as useComposedRefs,
137
- ye as useContainerSize,
138
- Ee as useCopyToClipboard,
139
- F as useFeedbackItem,
140
- E as useFormField,
141
- W as useHelpMenu,
142
- T as useHelpMenuState,
143
- pe as useInkeepChatBubble,
129
+ P as useChatHistory,
130
+ T as useChatMarkdown,
131
+ zo as useCommandState,
132
+ Ao as useCommandStore,
133
+ ge as useComponentClassNames,
134
+ ho as useComposedRefs,
135
+ Me as useContainerSize,
136
+ He as useCopyToClipboard,
137
+ H as useFormField,
138
+ E as useHelpMenu,
139
+ D as useHelpMenuState,
140
+ me as useInkeepChatBubble,
144
141
  g as useInkeepConfig,
145
- we as useInkeepOpenState,
146
- re as useInkeepSidebarChat,
147
- Oe as useInstantUpdate,
148
- Te as useIsMounted,
149
- Ae as useMediaQuery,
150
- K as useMessage,
151
- H as useMessageFeedback,
152
- ce as useModal,
153
- de as useOptionalChatBubble,
154
- N as useOptionalMessage,
155
- te as useOptionalSidebarChat,
156
- $e as useResizeObserver,
157
- Ke as useScrollingFades,
158
- Ne as useScrollingFadesHorizontal,
159
- ve as useSearch,
160
- Ue as useSettleAction,
161
- Jo as useShadow,
162
- ae as useSidebarChat,
163
- Ge as useSimpleScroll,
164
- J as useSourceItem,
165
- _ as useWidget
142
+ ye as useInkeepOpenState,
143
+ _ as useInkeepSidebarChat,
144
+ Re as useInstantUpdate,
145
+ De as useIsMounted,
146
+ We as useMediaQuery,
147
+ L as useMessage,
148
+ k as useMessageFeedback,
149
+ Pe as useModal,
150
+ se as useOptionalChatBubble,
151
+ $ as useOptionalMessage,
152
+ ee as useOptionalSidebarChat,
153
+ ze as useResizeObserver,
154
+ Le as useScrollingFades,
155
+ $e as useScrollingFadesHorizontal,
156
+ le as useSearch,
157
+ Ke as useSettleAction,
158
+ Uo as useShadow,
159
+ oe as useSidebarChat,
160
+ Qe as useSimpleScroll,
161
+ U as useSourceItem,
162
+ X as useWidget
166
163
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-runtime"),t=require("react"),l=require("./config-provider.cjs"),a=t.createContext(void 0),p=({children:e})=>{const{baseSettings:s,componentType:n}=l.useInkeepConfig(),{tags:o,analyticsProperties:r}=s,i=t.useMemo(()=>({widgetLibraryVersion:"0.15.29",componentType:n,tags:o}),[n,o]),u={logEvent:t.useCallback(async c=>{const v={...i,...c.properties,...r},d={eventName:c.eventName,properties:v};return s.onEvent?.(d)},[s,i,r])};return E.jsx(a.Provider,{value:u,children:e})},g=()=>{const e=t.useContext(a);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=p;exports.useBaseEvents=g;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-runtime"),t=require("react"),l=require("./config-provider.cjs"),a=t.createContext(void 0),p=({children:e})=>{const{baseSettings:s,componentType:n}=l.useInkeepConfig(),{tags:o,analyticsProperties:r}=s,i=t.useMemo(()=>({widgetLibraryVersion:"0.15.30",componentType:n,tags:o}),[n,o]),u={logEvent:t.useCallback(async c=>{const v={...i,...c.properties,...r},d={eventName:c.eventName,properties:v};return s.onEvent?.(d)},[s,i,r])};return E.jsx(a.Provider,{value:u,children:e})},g=()=>{const e=t.useContext(a);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=p;exports.useBaseEvents=g;
@@ -5,7 +5,7 @@ import { useInkeepConfig as g } from "./config-provider.js";
5
5
  const a = d(void 0), P = ({ children: e }) => {
6
6
  const { baseSettings: t, componentType: o } = g(), { tags: s, analyticsProperties: n } = t, r = u(
7
7
  () => ({
8
- widgetLibraryVersion: "0.15.29",
8
+ widgetLibraryVersion: "0.15.30",
9
9
  componentType: o,
10
10
  tags: s
11
11
  }),
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("react/jsx-runtime"),n=require("react"),g=require("../components/embedded-chat/chat-provider.cjs"),F=require("../utils/misc.cjs"),q=require("./config-provider.cjs"),x=require("./base-events-provider.cjs"),f=n.createContext(void 0);function w(){const{baseSettings:e}=q.useInkeepConfig(),[s,o]=n.useState(null),[v,p]=n.useState({}),{conversationId:u}=g.useChat(),{messages:a}=g.useChat(),{analyticsProperties:C}=e,{logEvent:k}=x.useBaseEvents(),i=n.useCallback(async(t,c,r=[])=>{const d=await e.onFeedback?.({type:c,messageId:t,reasons:r,properties:C});d&&p(b=>({...b,[t]:{type:d.type,messageId:t,reasons:d.reasons}}));const l=a.findIndex(b=>b.id===t),h=a[l],y={conversationId:u,question:F.getMessageContent(a[l-1]),answer:F.getMessageContent(h),messageId:t,reasons:r};k({eventName:c==="positive"?"assistant_positive_feedback_submitted":"assistant_negative_feedback_submitted",properties:y}),c==="negative"&&k({eventName:"user_escalation_indicated",properties:{escalationType:"downvote",conversationId:u}})},[a,u]),P=n.useCallback(async t=>{i(t,"positive")},[i]),m=n.useCallback(async(t,c)=>{const r=E(c);i(t,"negative",r)},[i]);return{feedback:v,currentFeedback:s,setCurrentFeedback:o,submitPositiveFeedback:P,submitNegativeFeedback:m}}const M=({children:e})=>{const s=w();return _.jsx(f.Provider,{value:s,children:e})},S=()=>{const e=n.useContext(f);if(!e)throw new Error("useFeedback must be used within a FeedbackProvider");return e};function E(e){const s=[];for(const o in e)e[o]==="on"&&s.push({label:o,details:e[`${o}:description`]||""});return s.length>0?s:[]}exports.FeedbackProvider=M;exports.useMessageFeedback=S;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("react/jsx-runtime"),a=require("react"),T=require("../components/embedded-chat/chat-provider.cjs"),k=require("../utils/misc.cjs"),A=require("./config-provider.cjs"),E=require("./base-events-provider.cjs"),j=require("../hooks/use-feedback-api.cjs"),v=a.createContext(void 0);function y(){const{baseSettings:t,aiChatSettings:c}=A.useInkeepConfig(),[F,l]=a.useState(null),[p,g]=a.useState({}),{conversationId:o,messages:r,authToken:f,getCaptchaHeader:C,invalidateCaptcha:m,refreshSession:h}=T.useChat(),{analyticsProperties:P}=t,{logEvent:b}=E.useBaseEvents(),{submitFeedback:q}=j.useFeedbackApi({baseUrl:c.baseUrl,appId:c.appId,authToken:f,getCaptchaHeader:C,invalidateCaptcha:m,refreshSession:h}),i=a.useCallback(async(e,s,u)=>{g(n=>({...n,[e]:{type:s,messageId:e,details:u}})),t.onFeedback?t.onFeedback({type:s,messageId:e,details:u,properties:P}).catch(n=>console.warn("[feedback] onFeedback error:",n)):q({conversationId:o,messageId:e,type:s,details:u}).catch(n=>console.warn("[feedback] submitFeedbackToApi error:",n));const d=r.findIndex(n=>n.id===e),x=r[d],S={conversationId:o,question:k.getMessageContent(r[d-1]),answer:k.getMessageContent(x),messageId:e,details:u};b({eventName:s==="positive"?"assistant_positive_feedback_submitted":"assistant_negative_feedback_submitted",properties:S}),s==="negative"&&b({eventName:"user_escalation_indicated",properties:{escalationType:"downvote",conversationId:o}})},[r,o]),_=a.useCallback(async e=>{i(e,"positive")},[i]),w=a.useCallback(async(e,s)=>{i(e,"negative",s)},[i]);return{feedback:p,currentFeedback:F,setCurrentFeedback:l,submitPositiveFeedback:_,submitNegativeFeedback:w}}const N=({children:t})=>{const c=y();return M.jsx(v.Provider,{value:c,children:t})},R=()=>{const t=a.useContext(v);if(!t)throw new Error("useFeedback must be used within a FeedbackProvider");return t};exports.FeedbackProvider=N;exports.useMessageFeedback=R;
@@ -7,7 +7,7 @@ declare function useFeedback(): {
7
7
  currentFeedback: string | null;
8
8
  setCurrentFeedback: Dispatch<SetStateAction<string | null>>;
9
9
  submitPositiveFeedback: (messageId: string) => Promise<void>;
10
- submitNegativeFeedback: (messageId: string, reasonsData: Record<string, FormDataEntryValue>) => Promise<void>;
10
+ submitNegativeFeedback: (messageId: string, details?: string) => Promise<void>;
11
11
  };
12
12
  export declare const FeedbackProvider: React.FC<{
13
13
  children: React.ReactNode;
@@ -1,82 +1,75 @@
1
1
  "use client";
2
- import { jsx as y } from "react/jsx-runtime";
3
- import { createContext as P, useContext as E, useState as m, useCallback as b } from "react";
4
- import { useChat as f } from "../components/embedded-chat/chat-provider.js";
5
- import { getMessageContent as l } from "../utils/misc.js";
6
- import { useInkeepConfig as N } from "./config-provider.js";
7
- import { useBaseEvents as M } from "./base-events-provider.js";
8
- const F = P(void 0);
9
- function S() {
10
- const { baseSettings: e } = N(), [s, n] = m(null), [k, g] = m({}), { conversationId: r } = f(), { messages: c } = f(), { analyticsProperties: C } = e, { logEvent: p } = M(), i = b(
11
- async (t, o, a = []) => {
12
- const d = await e.onFeedback?.({
13
- type: o,
14
- messageId: t,
15
- reasons: a,
16
- properties: C
17
- });
18
- d && g((u) => ({
19
- ...u,
20
- [t]: { type: d.type, messageId: t, reasons: d.reasons }
21
- }));
22
- const v = c.findIndex((u) => u.id === t), x = c[v], w = {
23
- conversationId: r,
24
- question: l(c[v - 1]),
25
- answer: l(x),
26
- messageId: t,
27
- reasons: a
2
+ import { jsx as E } from "react/jsx-runtime";
3
+ import { createContext as N, useContext as M, useState as k, useCallback as b } from "react";
4
+ import { useChat as U } from "../components/embedded-chat/chat-provider.js";
5
+ import { getMessageContent as p } from "../utils/misc.js";
6
+ import { useInkeepConfig as j } from "./config-provider.js";
7
+ import { useBaseEvents as q } from "./base-events-provider.js";
8
+ import { useFeedbackApi as y } from "../hooks/use-feedback-api.js";
9
+ const m = N(void 0);
10
+ function B() {
11
+ const { baseSettings: t, aiChatSettings: n } = j(), [v, f] = k(null), [F, l] = k({}), { conversationId: a, messages: c, authToken: C, getCaptchaHeader: g, invalidateCaptcha: h, refreshSession: _ } = U(), { analyticsProperties: w } = t, { logEvent: d } = q(), { submitFeedback: x } = y({
12
+ baseUrl: n.baseUrl,
13
+ appId: n.appId,
14
+ authToken: C,
15
+ getCaptchaHeader: g,
16
+ invalidateCaptcha: h,
17
+ refreshSession: _
18
+ }), r = b(
19
+ async (e, s, i) => {
20
+ l((o) => ({ ...o, [e]: { type: s, messageId: e, details: i } })), t.onFeedback ? t.onFeedback({ type: s, messageId: e, details: i, properties: w }).catch(
21
+ (o) => console.warn("[feedback] onFeedback error:", o)
22
+ ) : x({ conversationId: a, messageId: e, type: s, details: i }).catch(
23
+ (o) => console.warn("[feedback] submitFeedbackToApi error:", o)
24
+ );
25
+ const u = c.findIndex((o) => o.id === e), T = c[u], A = {
26
+ conversationId: a,
27
+ question: p(c[u - 1]),
28
+ answer: p(T),
29
+ messageId: e,
30
+ details: i
28
31
  };
29
- p({
30
- eventName: o === "positive" ? "assistant_positive_feedback_submitted" : "assistant_negative_feedback_submitted",
31
- properties: w
32
- }), o === "negative" && p({
32
+ d({
33
+ eventName: s === "positive" ? "assistant_positive_feedback_submitted" : "assistant_negative_feedback_submitted",
34
+ properties: A
35
+ }), s === "negative" && d({
33
36
  eventName: "user_escalation_indicated",
34
37
  properties: {
35
38
  escalationType: "downvote",
36
- conversationId: r
39
+ conversationId: a
37
40
  }
38
41
  });
39
42
  },
40
- [c, r]
41
- ), _ = b(
42
- async (t) => {
43
- i(t, "positive");
43
+ [c, a]
44
+ ), P = b(
45
+ async (e) => {
46
+ r(e, "positive");
44
47
  },
45
- [i]
46
- ), h = b(
47
- async (t, o) => {
48
- const a = j(o);
49
- i(t, "negative", a);
48
+ [r]
49
+ ), S = b(
50
+ async (e, s) => {
51
+ r(e, "negative", s);
50
52
  },
51
- [i]
53
+ [r]
52
54
  );
53
55
  return {
54
- feedback: k,
55
- currentFeedback: s,
56
- setCurrentFeedback: n,
57
- submitPositiveFeedback: _,
58
- submitNegativeFeedback: h
56
+ feedback: F,
57
+ currentFeedback: v,
58
+ setCurrentFeedback: f,
59
+ submitPositiveFeedback: P,
60
+ submitNegativeFeedback: S
59
61
  };
60
62
  }
61
- const A = ({ children: e }) => {
62
- const s = S();
63
- return /* @__PURE__ */ y(F.Provider, { value: s, children: e });
64
- }, D = () => {
65
- const e = E(F);
66
- if (!e)
63
+ const L = ({ children: t }) => {
64
+ const n = B();
65
+ return /* @__PURE__ */ E(m.Provider, { value: n, children: t });
66
+ }, O = () => {
67
+ const t = M(m);
68
+ if (!t)
67
69
  throw new Error("useFeedback must be used within a FeedbackProvider");
68
- return e;
70
+ return t;
69
71
  };
70
- function j(e) {
71
- const s = [];
72
- for (const n in e)
73
- e[n] === "on" && s.push({
74
- label: n,
75
- details: e[`${n}:description`] || ""
76
- });
77
- return s.length > 0 ? s : [];
78
- }
79
72
  export {
80
- A as FeedbackProvider,
81
- D as useMessageFeedback
73
+ L as FeedbackProvider,
74
+ O as useMessageFeedback
82
75
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./base-events-provider.cjs"),o=require("./chat-form-provider.cjs"),d=require("./chat-history-provider.cjs"),i=require("./config-provider.cjs"),u=require("./feedback-item-provider.cjs"),n=require("./feedback-provider.cjs"),v=require("./form-field-provider.cjs"),t=require("./help-menu-provider.cjs"),P=require("./markdown-provider.cjs"),s=require("./message-provider.cjs"),h=require("./root-provider.cjs"),b=require("./source-item-provider.cjs"),C=require("./theme-provider.cjs"),c=require("./widget-provider.cjs"),e=require("./sidebar-chat-provider.cjs"),r=require("./chat-bubble-provider.cjs");exports.BaseEventsProvider=a.BaseEventsProvider;exports.useBaseEvents=a.useBaseEvents;exports.ChatFormProvider=o.ChatFormProvider;exports.useChatForm=o.useChatForm;exports.useChatFormState=o.useChatFormState;exports.ChatHistoryProvider=d.ChatHistoryProvider;exports.useChatHistory=d.useChatHistory;exports.InkeepConfigProvider=i.InkeepConfigProvider;exports.WebWidgetInteractionType=i.WebWidgetInteractionType;exports.useInkeepConfig=i.useInkeepConfig;exports.FeedbackItemProvider=u.FeedbackItemProvider;exports.useFeedbackItem=u.useFeedbackItem;exports.FeedbackProvider=n.FeedbackProvider;exports.useMessageFeedback=n.useMessageFeedback;exports.FormFieldProvider=v.FormFieldProvider;exports.useFormField=v.useFormField;exports.HelpMenuProvider=t.HelpMenuProvider;exports.useHelpMenu=t.useHelpMenu;exports.useHelpMenuState=t.useHelpMenuState;exports.ChatMarkdownProvider=P.ChatMarkdownProvider;exports.useChatMarkdown=P.useChatMarkdown;exports.MessageProvider=s.MessageProvider;exports.useMessage=s.useMessage;exports.useOptionalMessage=s.useOptionalMessage;exports.RootProvider=h.RootProvider;exports.SourceItemProvider=b.SourceItemProvider;exports.useSourceItem=b.useSourceItem;exports.ThemeProvider=C.ThemeProvider;exports.WidgetProvider=c.WidgetProvider;exports.useWidget=c.useWidget;exports.SidebarChatProvider=e.SidebarChatProvider;exports.useInkeepSidebarChat=e.useInkeepSidebarChat;exports.useOptionalSidebarChat=e.useOptionalSidebarChat;exports.useSidebarChat=e.useSidebarChat;exports.ChatBubbleProvider=r.ChatBubbleProvider;exports.useChatBubble=r.useChatBubble;exports.useInkeepChatBubble=r.useInkeepChatBubble;exports.useOptionalChatBubble=r.useOptionalChatBubble;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./base-events-provider.cjs"),o=require("./chat-form-provider.cjs"),u=require("./chat-history-provider.cjs"),i=require("./config-provider.cjs"),d=require("./feedback-provider.cjs"),n=require("./form-field-provider.cjs"),t=require("./help-menu-provider.cjs"),v=require("./markdown-provider.cjs"),s=require("./message-provider.cjs"),b=require("./root-provider.cjs"),P=require("./source-item-provider.cjs"),C=require("./theme-provider.cjs"),h=require("./widget-provider.cjs"),e=require("./sidebar-chat-provider.cjs"),r=require("./chat-bubble-provider.cjs");exports.BaseEventsProvider=a.BaseEventsProvider;exports.useBaseEvents=a.useBaseEvents;exports.ChatFormProvider=o.ChatFormProvider;exports.useChatForm=o.useChatForm;exports.useChatFormState=o.useChatFormState;exports.ChatHistoryProvider=u.ChatHistoryProvider;exports.useChatHistory=u.useChatHistory;exports.InkeepConfigProvider=i.InkeepConfigProvider;exports.WebWidgetInteractionType=i.WebWidgetInteractionType;exports.useInkeepConfig=i.useInkeepConfig;exports.FeedbackProvider=d.FeedbackProvider;exports.useMessageFeedback=d.useMessageFeedback;exports.FormFieldProvider=n.FormFieldProvider;exports.useFormField=n.useFormField;exports.HelpMenuProvider=t.HelpMenuProvider;exports.useHelpMenu=t.useHelpMenu;exports.useHelpMenuState=t.useHelpMenuState;exports.ChatMarkdownProvider=v.ChatMarkdownProvider;exports.useChatMarkdown=v.useChatMarkdown;exports.MessageProvider=s.MessageProvider;exports.useMessage=s.useMessage;exports.useOptionalMessage=s.useOptionalMessage;exports.RootProvider=b.RootProvider;exports.SourceItemProvider=P.SourceItemProvider;exports.useSourceItem=P.useSourceItem;exports.ThemeProvider=C.ThemeProvider;exports.WidgetProvider=h.WidgetProvider;exports.useWidget=h.useWidget;exports.SidebarChatProvider=e.SidebarChatProvider;exports.useInkeepSidebarChat=e.useInkeepSidebarChat;exports.useOptionalSidebarChat=e.useOptionalSidebarChat;exports.useSidebarChat=e.useSidebarChat;exports.ChatBubbleProvider=r.ChatBubbleProvider;exports.useChatBubble=r.useChatBubble;exports.useInkeepChatBubble=r.useInkeepChatBubble;exports.useOptionalChatBubble=r.useOptionalChatBubble;
@@ -2,7 +2,6 @@ export * from './base-events-provider';
2
2
  export * from './chat-form-provider';
3
3
  export * from './chat-history-provider';
4
4
  export * from './config-provider';
5
- export * from './feedback-item-provider';
6
5
  export * from './feedback-provider';
7
6
  export * from './form-field-provider';
8
7
  export * from './help-menu-provider';