@inkeep/agents-ui 0.0.0-dev-20260508233535 → 0.0.0-dev-20260509021601

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