@inkeep/agents-ui 0.15.29 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +157 -158
- package/dist/primitives/atoms/markdown/index.cjs +1 -1
- package/dist/primitives/atoms/markdown/index.js +41 -39
- package/dist/primitives/components/embedded-chat.cjs +4 -4
- package/dist/primitives/components/embedded-chat.d.ts +5 -14
- package/dist/primitives/components/embedded-chat.js +800 -849
- package/dist/primitives/hooks/use-feedback-api.cjs +1 -0
- package/dist/primitives/hooks/use-feedback-api.d.ts +19 -0
- package/dist/primitives/hooks/use-feedback-api.js +37 -0
- package/dist/primitives/hooks/use-simple-scroll.cjs +1 -1
- package/dist/primitives/hooks/use-simple-scroll.d.ts +7 -0
- package/dist/primitives/hooks/use-simple-scroll.js +33 -30
- package/dist/primitives/index.cjs +1 -1
- package/dist/primitives/index.js +134 -136
- package/dist/primitives/providers/base-events-provider.cjs +1 -1
- package/dist/primitives/providers/base-events-provider.js +1 -1
- package/dist/primitives/providers/feedback-provider.cjs +1 -1
- package/dist/primitives/providers/feedback-provider.d.ts +1 -1
- package/dist/primitives/providers/feedback-provider.js +57 -64
- package/dist/primitives/providers/index.cjs +1 -1
- package/dist/primitives/providers/index.d.ts +0 -1
- package/dist/primitives/providers/index.js +42 -45
- package/dist/primitives/utils/component-ids.cjs +1 -1
- package/dist/primitives/utils/component-ids.d.ts +2 -6
- package/dist/primitives/utils/component-ids.js +1 -3
- package/dist/primitives/utils/default-settings.cjs +1 -1
- package/dist/primitives/utils/default-settings.d.ts +1 -0
- package/dist/primitives/utils/default-settings.js +6 -5
- package/dist/primitives/utils/misc.cjs +5 -1
- package/dist/primitives/utils/misc.d.ts +2 -1
- package/dist/primitives/utils/misc.js +45 -20
- package/dist/react/embedded-chat.cjs +1 -1
- package/dist/react/embedded-chat.js +249 -264
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +157 -158
- package/dist/styled/components/embedded-chat.cjs +1 -1
- package/dist/styled/components/embedded-chat.d.ts +2 -4
- package/dist/styled/components/embedded-chat.js +381 -411
- package/dist/styled/components/index.cjs +1 -1
- package/dist/styled/components/index.js +12 -11
- package/dist/styled/components/message.cjs +1 -1
- package/dist/styled/components/message.d.ts +20 -0
- package/dist/styled/components/message.js +304 -230
- package/dist/styled/index.cjs +1 -1
- package/dist/styled/index.js +155 -156
- package/dist/styled/inkeep.css.cjs +79 -12
- package/dist/styled/inkeep.css.js +79 -12
- package/dist/types/config/ai.d.ts +7 -0
- package/dist/types/events.d.ts +3 -17
- package/package.json +1 -1
- package/dist/primitives/providers/feedback-item-provider.cjs +0 -1
- package/dist/primitives/providers/feedback-item-provider.d.ts +0 -10
- 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 client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),h=10;function T(f={}){const{isStreaming:r=!1,enabled:a=!0}=f,o=e.useRef(null),n=e.useRef(!0),s=e.useRef(!1),l=e.useRef(null),u=e.useCallback(()=>{const t=o.current;if(!t)return!0;const{scrollTop:c,scrollHeight:m,clientHeight:R}=t;return m-c-R<=h},[]),i=e.useCallback((t=!0)=>{const c=o.current;c&&(s.current||!n.current||c.scrollTo({top:c.scrollHeight,behavior:t?"smooth":"auto"}))},[]),S=e.useCallback(()=>{o.current&&(s.current=!0,l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{s.current=!1,r&&u()&&(n.current=!0)},150),r&&!u()&&(n.current=!1))},[r,u]);e.useEffect(()=>{if(!a||!r)return;const t=o.current;if(!t)return;const c=new MutationObserver(()=>{n.current&&!s.current&&r&&i(!1)});return c.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>c.disconnect()},[r,i,a]),e.useEffect(()=>{r&&(n.current=u())},[r,u]),e.useEffect(()=>()=>{l.current&&clearTimeout(l.current)},[]);const b=e.useCallback(()=>{n.current=!0},[]);return{containerRef:o,scrollToBottom:i,handleScroll:S,isAtBottom:u,enableAutoScroll:b,shouldAutoScroll:()=>n.current}}exports.useSimpleScroll=T;
|
|
@@ -5,12 +5,19 @@ export interface UseSimpleScrollOptions {
|
|
|
5
5
|
* When true, auto-scroll behavior is enabled.
|
|
6
6
|
*/
|
|
7
7
|
isStreaming?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether auto-scroll is enabled at all.
|
|
10
|
+
* When false, all auto-scroll behavior is disabled.
|
|
11
|
+
* @default true
|
|
12
|
+
*/
|
|
13
|
+
enabled?: boolean;
|
|
8
14
|
}
|
|
9
15
|
export declare function useSimpleScroll(options?: UseSimpleScrollOptions): {
|
|
10
16
|
containerRef: RefObject<HTMLDivElement | null>;
|
|
11
17
|
scrollToBottom: (smooth?: boolean) => void;
|
|
12
18
|
handleScroll: () => void;
|
|
13
19
|
isAtBottom: () => boolean;
|
|
20
|
+
enableAutoScroll: () => void;
|
|
14
21
|
/** Whether auto-scroll is currently active (not hijacked by user) */
|
|
15
22
|
shouldAutoScroll: () => boolean;
|
|
16
23
|
};
|
|
@@ -1,51 +1,54 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useRef as
|
|
3
|
-
const
|
|
4
|
-
function
|
|
5
|
-
const { isStreaming: r = !1 } =
|
|
6
|
-
const t = o.current;
|
|
7
|
-
if (!t) return !0;
|
|
8
|
-
const { scrollTop: e, scrollHeight: S, clientHeight: T } = t;
|
|
9
|
-
return S - e - T <= R;
|
|
10
|
-
}, []), i = f((t = !0) => {
|
|
2
|
+
import { useRef as s, useCallback as i, useEffect as f } from "react";
|
|
3
|
+
const d = 10;
|
|
4
|
+
function p(S = {}) {
|
|
5
|
+
const { isStreaming: r = !1, enabled: m = !0 } = S, o = s(null), n = s(!0), l = s(!1), u = s(null), c = i(() => {
|
|
11
6
|
const e = o.current;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
if (!e) return !0;
|
|
8
|
+
const { scrollTop: t, scrollHeight: T, clientHeight: R } = e;
|
|
9
|
+
return T - t - R <= d;
|
|
10
|
+
}, []), a = i((e = !0) => {
|
|
11
|
+
const t = o.current;
|
|
12
|
+
t && (l.current || !n.current || t.scrollTo({
|
|
13
|
+
top: t.scrollHeight,
|
|
14
|
+
behavior: e ? "smooth" : "auto"
|
|
15
15
|
}));
|
|
16
|
-
}, []), h =
|
|
17
|
-
o.current && (
|
|
18
|
-
|
|
16
|
+
}, []), h = i(() => {
|
|
17
|
+
o.current && (l.current = !0, u.current && clearTimeout(u.current), u.current = setTimeout(() => {
|
|
18
|
+
l.current = !1, r && c() && (n.current = !0);
|
|
19
19
|
}, 150), r && !c() && (n.current = !1));
|
|
20
20
|
}, [r, c]);
|
|
21
|
-
|
|
22
|
-
if (!r)
|
|
23
|
-
n.current = !0;
|
|
21
|
+
f(() => {
|
|
22
|
+
if (!m || !r)
|
|
24
23
|
return;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
n.current && !s.current && r && i(!1);
|
|
24
|
+
const e = o.current;
|
|
25
|
+
if (!e) return;
|
|
26
|
+
const t = new MutationObserver(() => {
|
|
27
|
+
n.current && !l.current && r && a(!1);
|
|
30
28
|
});
|
|
31
|
-
return
|
|
29
|
+
return t.observe(e, {
|
|
32
30
|
childList: !0,
|
|
33
31
|
subtree: !0,
|
|
34
32
|
characterData: !0
|
|
35
|
-
}), () =>
|
|
36
|
-
}, [r,
|
|
33
|
+
}), () => t.disconnect();
|
|
34
|
+
}, [r, a, m]), f(() => {
|
|
37
35
|
r && (n.current = c());
|
|
38
|
-
}, [r, c]),
|
|
36
|
+
}, [r, c]), f(() => () => {
|
|
39
37
|
u.current && clearTimeout(u.current);
|
|
40
|
-
}, [])
|
|
38
|
+
}, []);
|
|
39
|
+
const b = i(() => {
|
|
40
|
+
n.current = !0;
|
|
41
|
+
}, []);
|
|
42
|
+
return {
|
|
41
43
|
containerRef: o,
|
|
42
|
-
scrollToBottom:
|
|
44
|
+
scrollToBottom: a,
|
|
43
45
|
handleScroll: h,
|
|
44
46
|
isAtBottom: c,
|
|
47
|
+
enableAutoScroll: b,
|
|
45
48
|
/** Whether auto-scroll is currently active (not hijacked by user) */
|
|
46
49
|
shouldAutoScroll: () => n.current
|
|
47
50
|
};
|
|
48
51
|
}
|
|
49
52
|
export {
|
|
50
|
-
|
|
53
|
+
p as useSimpleScroll
|
|
51
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("./providers/base-events-provider.cjs"),i=require("./providers/chat-form-provider.cjs"),c=require("./providers/chat-history-provider.cjs"),n=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"),f=require("./components/modal.cjs"),b=require("./components/modal/modal-provider.cjs"),R=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"),A=require("./hooks/use-inkeep-open-state.cjs"),D=require("./hooks/use-copy-to-clipboard.cjs"),z=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=i.ChatFormProvider;exports.useChatForm=i.useChatForm;exports.useChatFormState=i.useChatFormState;exports.ChatHistoryProvider=c.ChatHistoryProvider;exports.useChatHistory=c.useChatHistory;exports.InkeepConfigProvider=n.InkeepConfigProvider;exports.WebWidgetInteractionType=n.WebWidgetInteractionType;exports.useInkeepConfig=n.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=f;exports.ModalProvider=b.ModalProvider;exports.useModal=b.useModal;exports.ChatButtonPrimitive=R;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=A.useInkeepOpenState;exports.useCopyToClipboard=D.useCopyToClipboard;exports.useInstantUpdate=z.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.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=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;
|
package/dist/primitives/index.js
CHANGED
|
@@ -1,166 +1,164 @@
|
|
|
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
|
|
4
|
-
import { InkeepConfigProvider as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
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 A } from "./providers/markdown-provider.js";
|
|
9
|
+
import { MessageProvider as z, 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
|
|
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
|
|
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
|
|
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
|
|
31
|
-
import { useComponentClassNames as
|
|
32
|
-
import { useContainerSize as
|
|
33
|
-
import { useInkeepOpenState as
|
|
34
|
-
import { useCopyToClipboard as
|
|
35
|
-
import { useInstantUpdate as
|
|
36
|
-
import { useIsMounted as
|
|
37
|
-
import { useMediaQuery as
|
|
38
|
-
import { useResizeObserver as
|
|
39
|
-
import { useScrollingFades as
|
|
40
|
-
import { useSettleAction as
|
|
41
|
-
import { useSimpleScroll as
|
|
42
|
-
import { callAll as
|
|
43
|
-
import { ChatBubbleComponentIds as
|
|
44
|
-
import { composeRefs as
|
|
45
|
-
import { mergeProps as
|
|
46
|
-
import { Portal as
|
|
47
|
-
import { CustomIcon as
|
|
48
|
-
import { BuiltInIconRenderer as
|
|
49
|
-
import { PortalWithTheme as
|
|
50
|
-
import { Command as
|
|
51
|
-
import { ErrorBoundary as
|
|
52
|
-
import { InkeepShadow as
|
|
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 Te } 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, isCitationArtifact as Xe, isString as Ye, maybeRender as Ze, toKebabCase as _e } from "./utils/misc.js";
|
|
42
|
+
import { ChatBubbleComponentIds as oo, DataSummaryComponentIds as ro, SearchBarComponentIds as to, SidebarChatComponentIds as ao, aiChatComponentIds as mo, aiChatHistoryComponentIds as so, aiSearchComponentIds as io, chatButtonComponentIds as po, componentIDs as no, markDownComponentIds as uo, miscellanousComponentIds as Co, modalComponentIds as fo } from "./utils/component-ids.js";
|
|
43
|
+
import { composeRefs as ho, useComposedRefs as lo } from "./utils/compose-refs.js";
|
|
44
|
+
import { mergeProps as vo } from "./utils/merge-props.js";
|
|
45
|
+
import { Portal as bo } from "./atoms/portal.js";
|
|
46
|
+
import { CustomIcon as co } from "./atoms/icons/custom-icon.js";
|
|
47
|
+
import { BuiltInIconRenderer as Bo } from "./atoms/icons/built-in-icon-renderer.js";
|
|
48
|
+
import { PortalWithTheme as ko } from "./atoms/portal-with-theme.js";
|
|
49
|
+
import { Command as Fo, CommandDialog as Ho, CommandEmpty as wo, CommandInput as Ro, CommandItem as Eo, CommandList as Do, CommandLoading as Oo, CommandRoot as Wo, CommandSeparator as Ao, defaultFilter as To, useCommandState as zo, useCommandStore as Lo } from "./atoms/cmdk/index.js";
|
|
50
|
+
import { ErrorBoundary as jo } from "./atoms/error-boundary.js";
|
|
51
|
+
import { InkeepShadow as No, InkeepShadowProvider as Qo, ShadowContext as Uo, useShadow as qo } from "./atoms/shadow/context.js";
|
|
53
52
|
export {
|
|
54
53
|
u as BaseEventsProvider,
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
Bo as BuiltInIconRenderer,
|
|
55
|
+
oo as ChatBubbleComponentIds,
|
|
57
56
|
s as ChatBubblePrimitive,
|
|
58
|
-
|
|
57
|
+
te as ChatBubbleProvider,
|
|
59
58
|
a as ChatButtonPrimitive,
|
|
60
59
|
x as ChatFormProvider,
|
|
61
60
|
p as ChatHistoryPrimitive,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
61
|
+
v as ChatHistoryProvider,
|
|
62
|
+
W as ChatMarkdownProvider,
|
|
63
|
+
ue as ChatProvider,
|
|
64
|
+
Fo as Command,
|
|
65
|
+
Ho as CommandDialog,
|
|
66
|
+
wo as CommandEmpty,
|
|
67
|
+
Ro as CommandInput,
|
|
68
|
+
Eo as CommandItem,
|
|
69
|
+
Do as CommandList,
|
|
70
|
+
Oo as CommandLoading,
|
|
71
|
+
Wo as CommandRoot,
|
|
73
72
|
Ao as CommandSeparator,
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
co as CustomIcon,
|
|
74
|
+
ro as DataSummaryComponentIds,
|
|
76
75
|
i as DataSummaryPrimitive,
|
|
77
76
|
e as EmbeddedChatPrimitive,
|
|
78
77
|
r as EmbeddedSearchPrimitive,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
R as
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
j as MessageProvider,
|
|
78
|
+
jo as ErrorBoundary,
|
|
79
|
+
M as FeedbackProvider,
|
|
80
|
+
F as FormFieldProvider,
|
|
81
|
+
R as HelpMenuProvider,
|
|
82
|
+
I as InkeepConfigProvider,
|
|
83
|
+
No as InkeepShadow,
|
|
84
|
+
Qo as InkeepShadowProvider,
|
|
85
|
+
z as MessageProvider,
|
|
88
86
|
t as ModalPrimitive,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
87
|
+
ve as ModalProvider,
|
|
88
|
+
bo as Portal,
|
|
89
|
+
ko as PortalWithTheme,
|
|
90
|
+
K as RootProvider,
|
|
91
|
+
to as SearchBarComponentIds,
|
|
94
92
|
m as SearchBarPrimitive,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
93
|
+
xe as SearchProvider,
|
|
94
|
+
he as SearchProviderImpl,
|
|
95
|
+
Uo as ShadowContext,
|
|
96
|
+
ao as SidebarChatComponentIds,
|
|
99
97
|
o as SidebarChatPrimitive,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
Z as SidebarChatProvider,
|
|
99
|
+
Q as SourceItemProvider,
|
|
100
|
+
G as ThemeProvider,
|
|
103
101
|
c as WebWidgetInteractionType,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
102
|
+
V as WidgetProvider,
|
|
103
|
+
mo as aiChatComponentIds,
|
|
104
|
+
so as aiChatHistoryComponentIds,
|
|
105
|
+
io as aiSearchComponentIds,
|
|
106
|
+
qe as callAll,
|
|
107
|
+
po as chatButtonComponentIds,
|
|
108
|
+
no as componentIDs,
|
|
109
|
+
ho 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 isCitationArtifact,
|
|
116
|
+
Ye as isString,
|
|
117
|
+
de as jsxFactory,
|
|
118
|
+
uo as markDownComponentIds,
|
|
119
|
+
Ze as maybeRender,
|
|
120
|
+
vo as mergeProps,
|
|
121
|
+
Co as miscellanousComponentIds,
|
|
122
|
+
fo as modalComponentIds,
|
|
123
|
+
_e as toKebabCase,
|
|
125
124
|
C as useBaseEvents,
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
125
|
+
Ie as useBoolean,
|
|
126
|
+
Ce as useChat,
|
|
127
|
+
ae as useChatBubble,
|
|
129
128
|
h as useChatForm,
|
|
130
129
|
l as useChatFormState,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
E as
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
pe as useInkeepChatBubble,
|
|
130
|
+
P as useChatHistory,
|
|
131
|
+
A as useChatMarkdown,
|
|
132
|
+
zo as useCommandState,
|
|
133
|
+
Lo as useCommandStore,
|
|
134
|
+
ge as useComponentClassNames,
|
|
135
|
+
lo as useComposedRefs,
|
|
136
|
+
Me as useContainerSize,
|
|
137
|
+
He as useCopyToClipboard,
|
|
138
|
+
H as useFormField,
|
|
139
|
+
E as useHelpMenu,
|
|
140
|
+
D as useHelpMenuState,
|
|
141
|
+
me as useInkeepChatBubble,
|
|
144
142
|
g as useInkeepConfig,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
143
|
+
ye as useInkeepOpenState,
|
|
144
|
+
_ as useInkeepSidebarChat,
|
|
145
|
+
Re as useInstantUpdate,
|
|
146
|
+
De as useIsMounted,
|
|
147
|
+
We as useMediaQuery,
|
|
148
|
+
L as useMessage,
|
|
149
|
+
k as useMessageFeedback,
|
|
150
|
+
Pe as useModal,
|
|
151
|
+
se as useOptionalChatBubble,
|
|
152
|
+
$ as useOptionalMessage,
|
|
153
|
+
ee as useOptionalSidebarChat,
|
|
154
|
+
Te as useResizeObserver,
|
|
155
|
+
Le as useScrollingFades,
|
|
156
|
+
$e as useScrollingFadesHorizontal,
|
|
157
|
+
le as useSearch,
|
|
158
|
+
Ke as useSettleAction,
|
|
159
|
+
qo as useShadow,
|
|
160
|
+
oe as useSidebarChat,
|
|
161
|
+
Qe as useSimpleScroll,
|
|
162
|
+
U as useSourceItem,
|
|
163
|
+
X as useWidget
|
|
166
164
|
};
|
|
@@ -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.
|
|
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.16.0",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.
|
|
8
|
+
widgetLibraryVersion: "0.16.0",
|
|
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
|
|
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,
|
|
10
|
+
submitNegativeFeedback: (messageId: string, details?: string) => Promise<void>;
|
|
11
11
|
};
|
|
12
12
|
export declare const FeedbackProvider: React.FC<{
|
|
13
13
|
children: React.ReactNode;
|