@pickaxeproject/react 6.23.6 → 6.23.7
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/cjs/common/canChat.js +1 -0
- package/dist/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/History/Item.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/History/Response.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
- package/dist/cjs/components/Pickaxe/Provider.js +1 -1
- package/dist/cjs/components/Pickaxe/common/PickaxeCopyButton.js +1 -1
- package/dist/cjs/components/Pickaxe/common/PickaxeDownloadButton.js +1 -1
- package/dist/cjs/components/Pickaxe/common/PickaxeMessageActions.js +1 -1
- package/dist/cjs/hooks/pickaxe/useConversation.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
- package/dist/cjs/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
- package/dist/cjs/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
- package/dist/cjs/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
- package/dist/cjs/src/common/canChat.d.ts +5 -0
- package/dist/cjs/src/components/Pickaxe/Provider.d.ts +16 -2
- package/dist/cjs/src/components/Pickaxe/common/PickaxeCopyButton.d.ts +7 -1
- package/dist/cjs/src/components/Pickaxe/common/PickaxeDownloadButton.d.ts +10 -1
- package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageActions.d.ts +5 -1
- package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +1 -0
- package/dist/cjs/src/index.d.ts +5 -0
- package/dist/cjs/src/types/history.d.ts +3 -0
- package/dist/esm/common/canChat.js +1 -0
- package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
- package/dist/esm/components/Pickaxe/Form/History/Item.js +1 -1
- package/dist/esm/components/Pickaxe/Form/History/Response.js +1 -1
- package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
- package/dist/esm/components/Pickaxe/Provider.js +1 -1
- package/dist/esm/components/Pickaxe/common/PickaxeCopyButton.js +1 -1
- package/dist/esm/components/Pickaxe/common/PickaxeDownloadButton.js +1 -1
- package/dist/esm/components/Pickaxe/common/PickaxeMessageActions.js +1 -1
- package/dist/esm/hooks/pickaxe/useConversation.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
- package/dist/esm/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
- package/dist/esm/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
- package/dist/esm/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
- package/dist/esm/src/common/canChat.d.ts +5 -0
- package/dist/esm/src/components/Pickaxe/Provider.d.ts +16 -2
- package/dist/esm/src/components/Pickaxe/common/PickaxeCopyButton.d.ts +7 -1
- package/dist/esm/src/components/Pickaxe/common/PickaxeDownloadButton.d.ts +10 -1
- package/dist/esm/src/components/Pickaxe/common/PickaxeMessageActions.d.ts +5 -1
- package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +1 -0
- package/dist/esm/src/index.d.ts +5 -0
- package/dist/esm/src/types/history.d.ts +3 -0
- package/package.json +3 -2
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
1
2
|
interface PickaxeCopyButtonProps {
|
|
2
3
|
color: string;
|
|
3
4
|
text?: string;
|
|
4
5
|
className?: string;
|
|
5
6
|
iconClassName?: string;
|
|
7
|
+
renderButton?: (state: {
|
|
8
|
+
onClick: () => void;
|
|
9
|
+
isCopying: boolean;
|
|
10
|
+
isCopied: boolean;
|
|
11
|
+
}) => ReactNode;
|
|
6
12
|
}
|
|
7
|
-
declare const PickaxeCopyButton: ({ color, text, className, iconClassName, }: PickaxeCopyButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare const PickaxeCopyButton: ({ color, text, className, iconClassName, renderButton, }: PickaxeCopyButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
14
|
export default PickaxeCopyButton;
|
|
@@ -3,6 +3,15 @@ interface PickaxeDownloadButtonProps {
|
|
|
3
3
|
/** Prepared response text; Markdown and HTML source are preserved. */
|
|
4
4
|
text: string;
|
|
5
5
|
disabled?: boolean;
|
|
6
|
+
/** Use the saved response's workspace even when no agent is open. */
|
|
7
|
+
studioId?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
/** Keep the menu inside a host modal's focus and pointer boundary. */
|
|
10
|
+
menuContainer?: HTMLElement | null;
|
|
11
|
+
menuColors?: {
|
|
12
|
+
background: string;
|
|
13
|
+
text: string;
|
|
14
|
+
};
|
|
6
15
|
}
|
|
7
|
-
declare const PickaxeDownloadButton: ({ color, text, disabled, }: PickaxeDownloadButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare const PickaxeDownloadButton: ({ color, text, disabled, studioId, className, menuContainer, menuColors, }: PickaxeDownloadButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
17
|
export default PickaxeDownloadButton;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import type { PickaxeResponseReference } from "../../../types/history";
|
|
1
2
|
interface PickaxeMessageActionsProps {
|
|
2
3
|
content: string;
|
|
4
|
+
responseKind?: "chat" | "form";
|
|
5
|
+
responseReference?: PickaxeResponseReference;
|
|
6
|
+
isHideResponseAction?: boolean;
|
|
3
7
|
sessionId?: string;
|
|
4
8
|
index?: number;
|
|
5
9
|
messagesCount?: number;
|
|
@@ -10,5 +14,5 @@ interface PickaxeMessageActionsProps {
|
|
|
10
14
|
onOpenChat?: () => void;
|
|
11
15
|
onReadOut?: () => void;
|
|
12
16
|
}
|
|
13
|
-
declare const PickaxeMessageActions: ({ content, sessionId, index, messagesCount, isHideFeedback, isReadOut, isReadOutLoading, isReading, onOpenChat, onReadOut, }: PickaxeMessageActionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare const PickaxeMessageActions: ({ content, responseKind, responseReference, isHideResponseAction, sessionId, index, messagesCount, isHideFeedback, isReadOut, isReadOutLoading, isReading, onOpenChat, onReadOut, }: PickaxeMessageActionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
18
|
export default PickaxeMessageActions;
|
package/dist/cjs/src/index.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ export * from "./components/Pickaxe/Addons/Scroll/Provider";
|
|
|
6
6
|
export * from "./components/Pickaxe/common/PickaxeMarkdown";
|
|
7
7
|
export * from "./components/Pickaxe/common/PickaxeMarkdown/Renderer";
|
|
8
8
|
export { default as PickaxeMessageParts } from "./components/Pickaxe/common/PickaxeMessageParts";
|
|
9
|
+
export { default as PickaxeDownloadButton } from "./components/Pickaxe/common/PickaxeDownloadButton";
|
|
10
|
+
export { default as PickaxeCopyButton } from "./components/Pickaxe/common/PickaxeCopyButton";
|
|
11
|
+
export { prepareResponseDownloadText } from "./common/responseDownload";
|
|
12
|
+
export { normalizeMessageParts } from "./common/chatMessages";
|
|
13
|
+
export { findResponseArtifacts } from "./common/responseDownloadArtifacts";
|
|
9
14
|
export * from "./hooks/pickaxe/useConversation";
|
|
10
15
|
export * from "./hooks/pickaxe/useHistory";
|
|
11
16
|
export * from "./hooks/pickaxe/usePickaxe";
|
|
@@ -30,7 +30,10 @@ export type PickaxeHistoryFormQuestionInputs = {
|
|
|
30
30
|
question: string;
|
|
31
31
|
answer: string;
|
|
32
32
|
};
|
|
33
|
+
/** Scoped by Pickaxe ID and session ID. Form results live on the conversation. */
|
|
34
|
+
export type PickaxeResponseReference = "form-result" | `message:${string}`;
|
|
33
35
|
export type PickaxeHistoryMessage = {
|
|
36
|
+
responseReference?: PickaxeResponseReference;
|
|
34
37
|
documentIds: string[];
|
|
35
38
|
role: PickaxeHistoryMessageRole;
|
|
36
39
|
parts: PickaxeHistoryMessagePart[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>Boolean(e&&(e.chatflag||e.enablechatresponses));export{e as canChat};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as s}from"react/jsx-runtime";import{formatUserMessage as t}from"../../../../common/formatUserMessage.js";import{PickaxeMarkdownRenderer as i}from"../../common/PickaxeMarkdown/Renderer.js";import{Fragment as o}from"react";import{usePickaxeContext as
|
|
1
|
+
import{jsx as e,jsxs as s}from"react/jsx-runtime";import{formatUserMessage as t}from"../../../../common/formatUserMessage.js";import{PickaxeMarkdownRenderer as i}from"../../common/PickaxeMarkdown/Renderer.js";import{Fragment as o}from"react";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as a}from"../../../../hooks/studio/useStyleFontSize.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useArtifact as m}from"../../Addons/Artifact/hooks/useArtifact.js";import{PickaxeMarkdown as l}from"../../common/PickaxeMarkdown/index.js";import c from"../../common/PickaxeIcon.js";import d from"./Document.js";import p from"../../common/PickaxeMessageActions.js";import x from"../../common/PickaxeMessageParts/index.js";import f from"../../../../common/cn.js";import{convertToIso1 as u}from"../../../../common/isoMap.js";import{franc as g}from"franc-min";import h from"../../common/ComposioConnectView.js";import b from"../../common/SmitheryConnectView.js";import{useTextToSpeech as v}from"../../../../hooks/pickaxe/useTextToSpeech.js";import j from"remove-markdown";const k=({index:k,message:y,smitheryData:w,resubmitPrompt:O,isLastMessage:N=!1})=>{var I,C;const{pickaxeId:R,pickaxe:A,styles:P,colors:S,misc:M,responsiveBy:L,disableHtml:H,disableJs:T,disableCss:J,isNewChat:V,isRtl:B}=r(),{isGenerating:D}=n(),{onLoadArtifact:F}=m(),U=a(),z=null!==(I=null==A?void 0:A.chaticon)&&void 0!==I?I:`https://cdn.mail.studio/chaticons/${R}.png`,E=N&&D,G=null==A?void 0:A.enablereadout,{isLoading:$,isSpeaking:q,speak:K,stop:Q}=v(G&&"assistant"===y.role,{provider:null==A?void 0:A.readoutprovider,pickaxeId:R,voiceName:null==A?void 0:A.readoutvoice}),W=()=>{if($||q)return void Q();const e=y.parts.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ");if(!e)return;const s=j(e,{stripListLeaders:!0,listUnicodeChar:"",gfm:!0,useImgAltText:!1}),t=g(s),i=u(t);K(s,i)},X=!y.parts.some((e=>["text","reasoning","data-action-tool-caption"].includes(e.type)));return"assistant"===y.role?e("div",Object.assign({className:f("flex w-full",B?"justify-end":"justify-start")},{children:e("div",Object.assign({className:f("flex flex-col w-full",0===k&&V&&"viewport"===L&&"min-[767px]:max-w-[80%]",0===k&&V&&"container"===L&&"@[767px]/pickaxe-root:max-w-[80%]")},{children:s("div",Object.assign({className:f("flex gap-x-3",B&&"flex-row-reverse")},{children:[M.isChatImage&&"NONE"!==z&&e(c,{src:z,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:S.text}),s("div",Object.assign({className:f("flex flex-col flex-grow",B?"items-end":"items-start")},{children:[s("div",Object.assign({className:f(U.b2,"chat-message pt-3 w-full",B?"text-right":"text-left")},{children:[e(l,Object.assign({theme:P.theme,colors:S,isStreaming:E},B&&{rtl:!0},H&&{disableHtml:!0},T&&{disableJs:!0},J&&{disableCss:!0},{disableReasoning:null!==(C=null==A?void 0:A.enablereasoningdisplay)&&void 0!==C&&C,onArtifactClick:F},{children:e(x,{parts:y.parts,isStreaming:E})})),N&&w&&O&&("composio"===w.provider?e("div",Object.assign({className:"mt-4 px-1"},{children:e(h,{serverId:w.serverId,toolkitSlug:w.toolkitSlug||"",name:w.name,resubmitPrompt:()=>O()})})):e("div",Object.assign({className:"mt-4 px-1"},{children:e(b,{serverId:w.serverId,smitheryId:w.smitheryId||"",name:w.name||w.smitheryId,resubmitPrompt:()=>O()})})))]})),e("div",Object.assign({className:f("flex flex-col gap-6 my-4",X&&"mt-2")},{children:E?e("div",Object.assign({className:"flex items-center gap-x-2 rounded"},{children:Array.from({length:3}).map(((s,t)=>e("div",{className:f("h-1.5 w-1.5 animate-dot rounded-full",1===t&&"animate-dot-down"),style:{backgroundColor:S.secondaryText}},t)))})):e(p,Object.assign({responseReference:y.responseReference,content:y.parts.filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),index:k},"intromessage"===y.area&&{isHideFeedback:!0,isHideResponseAction:!0},{onReadOut:W,isReadOut:G||!1,isReadOutLoading:$,isReading:q}))}))]}))]}))}))})):"user"===y.role?e("div",Object.assign({className:f("flex w-full",B?"justify-start":"justify-end")},{children:e("div",Object.assign({className:f("flex gap-x-3 max-w-[80%]",B?"pr-9":"pl-9","viewport"===L?B?"min-[767px]:pr-0":"min-[767px]:pl-0":B?"@[767px]/pickaxe-root:pr-0":"@[767px]/pickaxe-root:pl-0")},{children:s("div",Object.assign({className:f(U.b2,"overflow-x-auto overflow-y-hidden px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B] flex flex-col gap-y-3",B?"text-right":"text-left"),style:{backgroundColor:S.secondary+"80",color:S.secondaryText,borderRadius:P.cornerRadius}},{children:[y.documentIds&&y.documentIds.length>0&&e("div",Object.assign({className:f("flex flex-col gap-y-2",B?"items-start":"items-end")},{children:y.documentIds.map((s=>e(o,{children:e(d,{documentId:s})},s)))})),e(l,Object.assign({theme:P.theme,colors:S},B&&{rtl:!0},{disableHtml:!0,disableJs:!0,disableCss:!0},{children:y.parts.map(((s,o)=>"text"===s.type?e(i,{value:t(s.content)},o):null))}))]}))}))})):e("div",{})};export{k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as
|
|
1
|
+
import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{canChat as t}from"../../../../common/canChat.js";import{useMemo as o,useLayoutEffect as a}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as r}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as c}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as m}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as d}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as p}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as h}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as f,motion as g}from"framer-motion";import x from"../../../Icons/lock.svg.js";import j from"../../../Core/ErrorAlert.js";import v from"../../common/PickaxeHead.js";import b from"../../common/PickaxeEmbedHead.js";import y from"../../common/PickaxeUpgradeCard.js";import k from"../../common/PickaxeSkeleton.js";import w from"../../common/PickaxeHistoryButton.js";import N from"../../Addons/Scroll/ScrollLockView.js";import O from"../../Addons/Artifact/Renderer/index.js";import C from"./Message.js";import A from"./CustomMessage.js";import S from"../../Addons/IceBreaker/index.js";import P from"../../common/PickaxeBranding.js";import I from"../../../../common/cn.js";import{mergeConversationMessages as H}from"../../../../common/chatMessages.js";import L from"../../Addons/Auth/VerificationCodeForm.js";const R=({additionalScrollHeight:R,smitheryAuthData:D,isForceHideInfo:B,isInputFocused:T,onSubmit:E,resubmitPrompt:F})=>{var M,z,W,$,V;const{sessionId:U,deploymentType:_,pickaxe:q,translations:G,misc:J,isNewChat:K,isRtl:Q,isEmbed:X,isShowIceBreaker:Y,setSessionId:Z,setLastSessionId:ee}=n(),{emailInput:se,isLoggedOut:ie,isSending:te,isResendDisabled:oe,isSent:ae,isPricingAuth:ne}=l(),{onSend:le}=r(),{scrollContainerRef:re,isLocked:ce}=d(),{messages:me,limitData:de,error:pe}=c(),{height:ue,width:he}=m(),{currentArtifact:fe,chatPopupType:ge,currentPopupType:xe}=h(),je=u(),ve=p(),be=o((()=>(null==q?void 0:q.icebreakers)?q.icebreakers.slice(0,3):[]),[null==q?void 0:q.icebreakers]),ye=o((()=>{const e=!!je.data&&je.data.messages.length>1;return!B&&je.isSuccess&&K&&!e}),[B,je.isSuccess,K,je.data]),ke=o((()=>!(null==q?void 0:q.chatflag)&&(null==q?void 0:q.enablechatresponses)&&me.length>0),[q,me]),we=o((()=>!!je.data&&je.data.messages.some((e=>"intromessage"===e.area))),[je.data]),Ne="chat-input"===_&&ne&&ie&&ae,Oe=t(q),Ce=Oe&&Y&&!T&&!we&&ye&&he>767,Ae=Oe&&Y&&!T&&(we||he<=767),Se=o((()=>{var e,s;const i=null!==(s=null===(e=je.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];return H(me,i)}),[null===(M=je.data)||void 0===M?void 0:M.messages,me]),Pe=()=>{ee(U),Z("")};return a((()=>{if(!ce)return;const e=re.current;e&&(e.scrollTop=e.scrollHeight)}),[R,null===(z=je.data)||void 0===z?void 0:z.messages.length,ce,re,Se.length]),e("div",Object.assign({ref:re,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4 [overflow-anchor:none]"},{children:[s(f,{children:!!fe&&"inline"===xe&&s(g.div,Object.assign({className:I("absolute top-0 z-20 w-full px-4 py-2",ge),style:{height:`calc(${ue-R}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(O,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:fe.id,version:fe.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[ye&&X&&s("div",Object.assign({className:I("absolute right-4 top-3 flex items-center gap-2","popup"===_&&"right-12")},{children:s(w,{tip:(null==G?void 0:G["chat-history"])||"Chat History",onClick:Pe})})),s(v,Object.assign({className:I("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",ye&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!Ne&&{onIconClick:Pe})),X&&!je.isLoading&&s(b,Object.assign({className:I("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!ye&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==G?void 0:G["chat-history"])||"Chat History"},!Ne&&{onIconClick:Pe,onHistoryClick:Pe})),e("div",Object.assign({className:I("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",X&&!je.isLoading&&!ye&&"mt-0")},{children:[Ce&&s("div",Object.assign({className:I("grid grid-cols-3 gap-4",2===be.length&&"grid-cols-2",1===be.length&&"grid-cols-1")},{children:s(S,{type:"center",data:be,onSend:E})})),Ne?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(A,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(x,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:se}))]}))})),e(A,Object.assign({chatRole:"assistant"},{children:[e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(W=null==G?void 0:G["we-sent-your-an-activation-link"])&&void 0!==W?W:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{oe||te||le(!0)}},{children:te?null!==($=null==G?void 0:G.resending)&&void 0!==$?$:"Resending...":null!==(V=null==G?void 0:G.resend)&&void 0!==V?V:"Resend"}))]})),s(L,{compact:!0})]}))]}))})):s(i,{children:je.isLoading&&!(null==q?void 0:q.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[K&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(k,{className:"w-[72px] h-[72px]"}),s(k,{className:"h-[20px] mt-6 w-full"}),s(k,{className:"h-[20px] mt-2 w-full"}),s(k,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(k,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(k,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(k,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):je.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:I(ve.b2,"text-center font-semibold")},{children:[(null==G?void 0:G["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==G?void 0:G["contact-us"])||"contact us"}))," ",(null==G?void 0:G["for-help"])||"for help."]}))})):je.data||ke?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[Se.map(((e,i)=>s(C,{smitheryData:D,resubmitPrompt:F,index:i,message:e,isLastMessage:i===Se.length-1},`message-${i}`))),de?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(y,{})})):pe?s("div",Object.assign({className:I("flex items-center gap-x-3",Q?"justify-end":"justify-start")},{children:s(j,{error:pe})})):null]})),e("div",Object.assign({className:I("flex flex-col",!J.isWhiteLabel||Ae&&"mt-4")},{children:[!J.isWhiteLabel&&s(P,{containerClassName:I("justify-end",Ae&&"mb-2")}),Ae&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:be,onSend:E})})),s(N,{})]}))]})):null})]}))]}))]}))};export{R as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,Fragment as o}from"react/jsx-runtime";import{useEndUserModel as i}from"../../../hooks/pickaxe/useEndUserModel.js";import r from"../common/EndUserModelPicker.js";import{updateStreamTextPart as a,upsertActionApprovalPart as l}from"../../../common/actionApproval.js";import{forwardRef as d,useState as c,useRef as u,useCallback as p,useEffect as m,useMemo as g,useImperativeHandle as f}from"react";import{usePickaxeContext as v}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as h}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as b}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as y}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as x}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as j}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as I}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as w}from"../Addons/Document/hooks/useDocument.js";import{useScroll as k}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as O}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as N}from"../../../hooks/core/useHover.js";import{useMediaQuery as S}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as C,allowedImageMimeTypes as E,additionalAllowedFileExtensions as _}from"../../../common/documents.js";import{createParser as T}from"eventsource-parser";import U from"../../Icons/attach-vertical.svg.js";import A from"../../Icons/arrow-right.svg.js";import P from"../../Icons/microphone.svg.js";import D from"../../Icons/message-clock.svg.js";import L from"../../Icons/stop.svg.js";import M from"../../Icons/trash.svg.js";import R from"../../Icons/pencil.svg.js";import $ from"../Addons/Document/List.js";import B from"../../Core/Textarea.js";import X from"../../Core/ErrorAlert.js";import K from"../../Core/Menu/index.js";import F from"../../Core/Menu/Button.js";import G from"../../Core/Menu/List.js";import V from"../../../common/error.js";import{pickaxeApi2 as H}from"../../../common/api/pickaxe.js";import{getValidationFailure as W}from"../../../common/validation.js";import q from"../../../common/cn.js";import{buildUpgradeUrl as J,openAuthenticatedPricingUrl as z,initializeEmbedUserId as Q}from"../../../common/utils.js";import{getPickaxeConfigMetadata as Y}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as Z}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as ee,fireDeploymentFirstMessageSubmittedWebhook as te}from"../../../common/deploymentWebhooks.js";import{useStudio as ne}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as se}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as oe}from"../common/PickaxeCommon.js";const ie=(e,t)=>{const n=e.find((e=>e.id===t));return n?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:n.predecessorSubmissionId}):e)):e},re=e=>"string"==typeof e&&e.trim().length>0,ae=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,le=e=>e.map((e=>Object.assign({},e))),de=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),ce=(e,t)=>{if(e&&"object"==typeof e)return e[t]},ue=(e,t)=>{const n=ce(e,t);return re(n)?n:null},pe=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},me=({studioUser:e,deploymentId:t,portalId:n})=>{var s,o;const i=Array.isArray(ce(e,"uses"))?ce(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>re(e)?{type:"deployment",id:e}:re(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(s=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==s?s:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},ge=d((({resubmitPrompt:d,onFocus:ce,onBlur:ge,onInputHeightChange:fe,initSmitheryAuthData:ve},he)=>{var be,ye,xe,je,Ie,we,ke,Oe,Ne,Se,Ce,Ee,_e,Te,Ue,Ae,Pe,De;const{origin:Le,pickaxeId:Me,sessionId:Re,sender:$e,senderType:Be,portalId:Xe,deploymentId:Ke,deploymentType:Fe,pickaxe:Ge,styles:Ve,colors:He,translations:We,locale:qe,forceMobile:Je,isNewChat:ze,isRtl:Qe,isEmbed:Ye,isShowFeedbackMessage:Ze,accessGroup:et,setIsNewChat:tt,setIsShowIceBreaker:nt,setValidationStatus:st,setValidationUpgradeGroups:ot,setValidationUpgradeUrl:it,setAccessGroup:rt,onUpgrade:at,onGenerateComplete:lt}=v(),{value:dt,enabled:ct}=i(),{token:ut,isLoggedOut:pt,isSent:mt,isPricingAuth:gt}=I(),{messages:ft,isGenerating:vt,setMessages:ht,setStatus:bt,setLimitData:yt,setError:xt,setActionApprovalToken:jt}=h(),{documents:It,isUploading:wt,documentError:kt,onFileUpload:Ot,setDocuments:Nt,setDocumentError:St}=w(),{studio:Ct}=ne(),[Et]=S("(max-width: 480px)"),{scrollStartSession:_t,scrollEndSession:Tt,scrollToBottom:Ut}=k({auto:!0,smooth:!(Je||Et)}),{artifacts:At,currentPopupType:Pt,setArtifacts:Dt,setCurrentArtifact:Lt}=O(),{height:Mt}=j(),Rt=x(),[$t,Bt]=c((()=>Z([Ke,Me]).chatInput)),[Xt,Kt]=c(!1),[Ft,Gt]=c(!1),[Vt,Ht]=c(!1),[Wt,qt]=c(!1),[Jt,zt]=c([]),[Qt,Yt]=c(!1),[Zt,en]=c(null),[tn,nn]=c(null),[sn,on]=c(null),[rn,an]=c(null),[ln,dn]=c(!1),[cn,un]=c(!1),[pn,mn]=c(0),gn=u(null),fn=u(""),vn=u(null),hn=u(null),bn=u(null),yn=u([]),xn=u(null),jn=u(null),In=u(null),wn=u(null),kn=u(new Set),On=u(null),Nn=Math.max(.4*Mt,100),{speechTranscript:Sn,isSpeechListening:Cn,isSpeechProcessing:En,isSpeechSupported:_n,onStartListening:Tn,onStopListening:Un}=se(),An=N(),{isHover:Pn}=An,Dn=e(An,["isHover"]),Ln=N(),{isHover:Mn}=Ln,Rn=e(Ln,["isHover"]),$n=N(),{isHover:Bn}=$n,Xn=e($n,["isHover"]),Kn=y(),Fn=b(),Gn="undefined"!=typeof window?window.location.hostname:"",Vn="undefined"!=typeof window?window.location.href:"",Hn="undefined"!=typeof window&&window.self!==window.top,Wn=Gn.includes("pickaxe.co")&&!Vn.includes("https://studio.pickaxe.co/_embed")&&!Hn,qn=null!==(ye=null===(be=null==Ge?void 0:Ge.documentuploadtype)||void 0===be?void 0:be.startsWith("enduserupload"))&&void 0!==ye&&ye,Jn=_n&&(null==Ge?void 0:Ge.enablevoicetotext),zn=Cn&&!$t.trim(),Qn=re(Ke),Yn="chat-input"===Fe&&ze&&!mt,Zn="chat-input"===Fe&>&&pt&&mt,es=p((e=>{const t=W(e);return!!t&&(xt(""),yt(null),st(t.status),rt(t.accessGroup),ot(t.upgradeGroups),it(t.upgradeUrl),!0)}),[xt,jt,yt,st,ot,it,rt]),ts=null!==(xe=null==Ge?void 0:Ge.placeholdertext)&&void 0!==xe?xe:Qe?"بماذا تريد أن تتحدث؟":(null==We?void 0:We["what-do-you-want-to-talk-about"])||"What do you want to talk about?",ns=Xt||Ft,ss=p((()=>t(void 0,void 0,void 0,(function*(){dn(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Ge?void 0:Ge.studioid},ut?{studioSessionToken:ut}:$e?{sender:$e}:{sender:Q()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Wn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(on(t.studioUser),an(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{dn(!0)}}))),[Wn,null==Ge?void 0:Ge.studioid,$e,ut]);m((()=>{ss()}),[ss]);const os=Number(null!==(je=null==et?void 0:et.limit)&&void 0!==je?je:0),is="string"==typeof(null==et?void 0:et.limitInterval)?et.limitInterval:null,rs=!!(null==Ct?void 0:Ct.data.usage)&&Ct.data.usage.isCredits,as=g((()=>{var e,t,n,s,o;return null!==(o=null!==(s=null!==(n=null!==(t=null!==(e=null!=Xe?Xe:ue(sn,"portalId"))&&void 0!==e?e:ue(sn,"portalid"))&&void 0!==t?t:ue(et,"portalId"))&&void 0!==n?n:ue(et,"portalid"))&&void 0!==s?s:ue(Ge,"portalId"))&&void 0!==o?o:ue(Ge,"portalid")}),[et,Xe,Ge,sn]),ls=g((()=>me({studioUser:sn,deploymentId:Ke,portalId:as})),[Ke,as,sn]);m((()=>{Qn&&ze&&Re&&kn.current.add(Re)}),[ze,Re,Qn]);const ds=p((()=>{var e,t,n;return{studioId:null==Ge?void 0:Ge.studioid,userEmail:ue(sn,"email"),userId:null!==(e=ue(sn,"userId"))&&void 0!==e?e:ue(sn,"userid"),sessionId:Re,deploymentId:Ke,deploymentType:Fe,portalId:as,accessGroupId:null!==(t=null==et?void 0:et.accessGroupId)&&void 0!==t?t:null,pickaxeId:Me,sender:$e,senderType:Be,origin:Le,metadata:null!==(n=Y(Ke))&&void 0!==n?n:null}}),[null==et?void 0:et.accessGroupId,Ke,Fe,Le,null==Ge?void 0:Ge.studioid,Me,as,$e,Be,Re,sn]),cs=p((()=>!!(Qn&&ln&&Re)&&(!!kn.current.has(Re)&&(ee(ds()),kn.current.delete(Re),!0))),[ds,ln,Re,Qn]);m((()=>{if(!ln||!Re)return;cs();const e=On.current;(null==e?void 0:e.sessionId)===Re&&(te(Object.assign(Object.assign(Object.assign({},e),ds()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),On.current=null)}),[cs,ds,ln,Re]);const us={currentUses:pe(null==sn?void 0:sn.currentUses),extraUses:pe(null==sn?void 0:sn.extraUses)},ps=ls.scope?{currentUses:null!==(we=pe(null===(Ie=ls.record)||void 0===Ie?void 0:Ie.currentUses))&&void 0!==we?we:0,extraUses:null!==(Oe=pe(null===(ke=ls.record)||void 0===ke?void 0:ke.extraUses))&&void 0!==Oe?Oe:0}:{currentUses:0,extraUses:0},ms=ue(sn,"type"),gs="guest"===ms||!ms&&pt?ps:us;m((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(rs&&(null===(t=null==Ct?void 0:Ct.data)||void 0===t?void 0:t.workspaceId))try{const t=yield H.get(`/cost_per_run?workspaceId=${Ct.data.workspaceId}`,{withCredentials:!1});e&&mn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&mn(0)}else e&&mn(0)})),()=>{e=!1}}),[rs,null===(Ne=null==Ct?void 0:Ct.data)||void 0===Ne?void 0:Ne.workspaceId]);const fs=(({accessGroupType:e,currentUses:t,extraUses:n,limit:s,limitInterval:o})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===o?s===oe?oe:Math.max(0,s-i):s===oe||r===oe?oe:"one_time"===o?Math.max(0,r-i):Math.max(0,s-i)+r})({accessGroupType:null==et?void 0:et.type,currentUses:gs.currentUses,extraUses:gs.extraUses,limit:os,limitInterval:is}),vs=fs===oe?oe:Math.max(0,Math.ceil(fs)),hs=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:s})=>{const o=Number(null!=t?t:0);return"public"===e&&"one_time"===s?n===oe?oe:Math.max(0,n):n===oe||o===oe?oe:"one_time"===s?Math.max(0,o):Math.max(0,n)+Math.max(0,o)})({accessGroupType:null==et?void 0:et.type,extraUses:gs.extraUses,limit:os,limitInterval:is}),bs=hs===oe?oe:Math.ceil(.05*hs),ys=rs?Math.ceil(5*pn):5,xs=bs===oe?oe:Math.max(bs,ys),js=g((()=>!!sn&&(!cn&&(vs!==oe&&(!(hs<=0||vs>=hs)&&vs<=xs)))),[cn,xs,vs,sn,hs]),Is=Boolean(null==et?void 0:et.hideUpgradeOptions),ws=Boolean(!Is&&((null===(Se=null==et?void 0:et.upgrade)||void 0===Se?void 0:Se.isBuyMoreUses)||(null===(Ce=null==et?void 0:et.upgrade)||void 0===Ce?void 0:Ce.isLinkToCustomURL)||(null===(Ee=null==et?void 0:et.upgrade)||void 0===Ee?void 0:Ee.isUpgradeToAnotherGroup)&&(null===(_e=et.upgrade.accessGroupIds)||void 0===_e?void 0:_e.length))),ks=!Is&&(null===(Te=null==et?void 0:et.upgrade)||void 0===Te?void 0:Te.isLinkToCustomURL)&&"string"==typeof et.upgrade.limitLink&&et.upgrade.limitLink.trim().length>0?et.upgrade.limitLink.trim():null,Os=ks&&"string"==typeof(null===(Ue=null==et?void 0:et.upgrade)||void 0===Ue?void 0:Ue.limitCTA)&&et.upgrade.limitCTA.trim().length>0?et.upgrade.limitCTA:(null==We?void 0:We["pricing.upgrade"])||(null==We?void 0:We.upgrade)||"Upgrade",Ns=g((()=>{var e,t,n;return!!ze&&(!!Ge&&(!Rt.isLoading&&(!((null!==(t=null===(e=Rt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ge.icebreakers)||void 0===n?void 0:n.length)&&(!Ze&&!Yn)))))}),[Ge,ze,Ze,Yn,Rt.data,Rt.isLoading]),Ss=g((()=>{if(wt||Vt)return!1;const e=qn&&It.length>0&&It.every((e=>"finished"===e.status));return!(!$t.trim()&&!e)&&It.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[qn,wt,Vt,$t,It]);f(he,(()=>({onSubmit:Us}))),m((()=>{nt(Ns)}),[Ns]),m((()=>{var e;if(d){const t=Array.from(ft),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Us(n,!0)}}),[d]),m((()=>{if(!In.current||!fe)return;const e=new ResizeObserver((e=>{for(const t of e)fe(t.contentRect.height)}));return e.observe(In.current),()=>{e.disconnect()}}),[fe]),m((()=>{if(!Cn)return;const e=fn.current?`${fn.current} `:"";Bt(`${e}${Sn}`)}),[Sn,Cn]),m((()=>{if(!xn.current)return;(()=>{if(!xn.current)return;let e=xn.current.scrollHeight>52;$t.includes("\n")||It.length?e=!0:$t.trim()||(e=!1),Kt(e)})()}),[$t,It]),m((()=>{const e=xn.current,t=jn.current;if(!e||!t||ct||Xt||$t.includes("\n"))return void Gt(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=$t||ts,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Gt(i>l)}),[$t,Xt,ts,ct]);const Cs=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:hn.current))return!1;const t=le(yn.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},Wn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),Es=e=>{bn.current=e,wn.current&&(wn.current.abort(),wn.current=null),vn.current&&(vn.current.cancel().catch((()=>{})),vn.current=null)},_s=e=>t(void 0,void 0,void 0,(function*(){const t=Date.now()+3e4;for(;Date.now()<t;){try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${e}`,Object.assign({headers:Object.assign({"Cache-Control":"no-cache"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}))},Wn&&{credentials:"include"}));if(t.ok){if((yield t.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),Ts=()=>{const e=hn.current;e&&!Vt&&!wt&&$t.trim()&&(zt((t=>{var n,s;return[...t,{id:ae(),message:$t,predecessorSubmissionId:null!==(s=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==s?s:e}]})),Bt(""))},Us=(e,n=!1,s=!1,o,i=!1)=>t(void 0,void 0,void 0,(function*(){var t,r,d,c,u;let p=null;try{if(vt&&!s||wt)return;const m=It.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),g=m.map((e=>e.documentId)).filter(Boolean),f=m.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),v=null!=e?e:$t,h=null!==(r=null===(t=null==Ge?void 0:Ge.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==r&&r&&g.length>0;if(!v&&!h)return;xt(""),St(""),yt(null),Bt(""),tt(!1),qt(!1),bt("fetching"),_t(),Ut();const b=n?ft.slice(0,ft.length-1):ft,y=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(b),x=y+(n?0:1),j={id:x,role:"assistant",parts:[],documentIds:[]},I=[...b,...n?[]:[{id:y,role:"user",parts:[{type:"text",content:v,isVisible:!0}],documentIds:h?g:[]}],j];ht(I),Ut(),h&&Nt([]);const w=Y(Ke),k=null!=o?o:ae();p=k,hn.current=k,bn.current=null,yn.current=[];const O=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:dt||void 0,origin:Le,pickaxeId:Me,sessionId:Re,submissionId:k},i&&{interactionType:"steer"}),{senderType:Be,value:v}),h&&{documentIds:g}),$e&&{sender:$e}),ut&&{studioSessionToken:ut}),!ut&&!$e&&{sender:Q()}),as&&{portalId:as}),Ke&&{deploymentId:Ke}),w&&{metadata:w}),h&&f.length>0?{uploadedModelImages:f}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Wn&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==We?void 0:We["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(es(N))return;throw new Error(N.error||N.message||(null==We?void 0:We["failed-to-start-generation"])||"Failed to start generation")}jt(null!==(d=N.actionApprovalToken)&&void 0!==d?d:null);const S=null!==(c=N.submissionId)&&void 0!==c?c:k;p=S,hn.current=S;const C=()=>bn.current===S;if(C())return;Qn&&ze&&Re&&kn.current.add(Re);const E=Object.assign(Object.assign({},ds()),{message:v,documentIds:h?g:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=w?w:null});ln?(cs(),te(E)):On.current=E,bt("streaming"),wn.current=new AbortController;const _=[];let U=[...null!=At?At:[]],A=0,P=!1,D="";for(;!P;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${S}?index=${A}`,{signal:null===(u=wn.current)||void 0===u?void 0:u.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();vn.current=t;const n=new TextDecoder,s=T({onEvent:e=>{var t,n;if(C())P=!0;else if(e.event&&"ping"!==e.event&&A++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return yt(t.limitData),xt(""),void(P=!0);const n=t.error||t.message||(null==We?void 0:We["something-went-wrong"])||"Something went wrong.";return es(t)||xt(n),void(P=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("finish"===s.type)return void qt(!0);if("data-error"===s.type&&ve){const e=s.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw P=!0,ve({provider:"smithery",smitheryId:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw P=!0,ve({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw P=!0,ve({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw P=!0,ve({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)D="",_.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)D+=s.delta,a(_,"text",D);else if("text-end"===s.type)D="";else if("reasoning-start"===s.type)D="",_.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)D+=s.delta,a(_,"reasoning",D);else if("reasoning-end"===s.type)D="";else if(s.type.startsWith("data-")){const e=s;"data-action-approval"===e.type?l(_,e.data):_.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}yn.current=le(_);const o=le(_);ht((e=>{const t=e.findIndex((e=>e.id===x)),n=Object.assign(Object.assign({},j),{parts:o});return-1===t?[...e,n]:e.map(((e,s)=>s===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Dt([...U]),Pt.startsWith("inline")||Lt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Dt(U),Pt.startsWith("inline")||Lt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Dt(U),Pt.startsWith("inline")||Lt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");U=U.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Dt(U)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Dt(U.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return yt(t.limitData),xt(""),void(P=!0);const n=t.error||t.message||(null==We?void 0:We["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(es(t))return void(P=!0);xt(n)}else"stop"===e.event&&(P=!0)}else P=!0}});for(;;){if(C()){P=!0,t.cancel().catch((()=>{}));break}const{value:e,done:o}=yield t.read();if(C()){P=!0,t.cancel().catch((()=>{}));break}if(o)break;s.feed(n.decode(e))}P||C()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||de(e)||C())return void(P=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==lt||lt(Re)}catch(e){if(de(e))return;if(e.limitData)yt(e.limitData),xt("");else{let t=V(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==We?void 0:We["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),es(t)||xt(t)}}finally{const e=!p||hn.current===p;Ut(),e&&(bt("idle"),Tt(),vn.current=null),p&&e&&(hn.current=null,yn.current=[]),yield ss()}}));return m((()=>{if(vt||Vt||Qt||0===Jt.length)return;const e=Jt[0];Yt(!0),en(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield _s(e.predecessorSubmissionId)))return void xt((null==We?void 0:We["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");zt((t=>t.filter((t=>t.id!==e.id)))),yield Us(e.message,!1,!0,e.id)}finally{Yt(!1),en(null)}}))}),[vt,Qt,Vt,Jt]),Zn?null:n("div",Object.assign({className:q("flex w-full flex-shrink-0 flex-col items-center",!Yn&&"px-4 pb-8"),dir:Qe?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[Jt.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:He.text+"18",backgroundColor:null!==(Ae=Fn.backgroundColor)&&void 0!==Ae?Ae:He.text+"08",color:He.text,borderTopLeftRadius:Math.max(Ve.cornerRadius-4,12),borderTopRightRadius:Math.max(Ve.cornerRadius-4,12)}},{children:Jt.map(((e,i)=>{var r;return s("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<Jt.length-1?{borderBottom:`1px solid ${He.text}12`}:void 0},{children:[n(D,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),n("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:e.message},{children:e.message})),tn===e.id||Zt===e.id?s("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[n("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),tn===e.id?(null==We?void 0:We.steering)||"Steering...":(null==We?void 0:We.starting)||"Starting..."]})):s(o,{children:[s("button",Object.assign({type:"button",className:"shrink-0 rounded-md px-2 py-1 text-xs font-medium opacity-70 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-40",disabled:Vt||!vt,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=hn.current;if(!t||Vt)return;const n=Jt.findIndex((t=>t.id===e.id));if(-1===n)return;Ht(!0),nn(e.id),xt(""),Es(t);let s=!1;try{if(!(yield Cs(t)))throw new Error((null==We?void 0:We["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield _s(t)))throw new Error((null==We?void 0:We["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");bt("idle"),zt((t=>t.filter((t=>t.id!==e.id)))),s=!0,Ht(!1),nn(null),yield Us(e.message,!1,!0,e.id,!0)}catch(t){bt("idle"),s&&zt((t=>{if(t.some((t=>t.id===e.id)))return t;const s=[...t];return s.splice(n,0,e),s})),xt(V(t))}finally{Ht(!1),nn(null)}}))})(e)},"aria-label":`${(null==We?void 0:We["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==We?void 0:We.steer)||"Steer"]})),n("button",Object.assign({type:"button",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-30",disabled:Vt,onClick:()=>{return t=e.id,void zt((e=>ie(e,t)));var t},"aria-label":`${(null==We?void 0:We["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(M,{className:"h-4 w-4","aria-hidden":"true"})})),s(K,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n(F,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Vt,role:"button",tabIndex:Vt?-1:0,"aria-haspopup":"menu","aria-label":(null==We?void 0:We["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:s("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[n("circle",{cx:"5",cy:"12",r:"1.6"}),n("circle",{cx:"12",cy:"12",r:"1.6"}),n("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),n(G,Object.assign({role:"menu",align:Qe?"bottom-start":"bottom-end",positionStrategy:Ye?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Fn.backgroundColor)&&void 0!==r?r:He.primary,color:He.text,borderRadius:"12px"},border:`1px solid ${He.text}20`},{children:s("button",Object.assign({type:"button",role:"menuitem",className:"flex min-w-36 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-black/5 dark:hover:bg-white/10",onClick:()=>(e=>{zt((t=>ie(t,e.id))),Bt(e.message),requestAnimationFrame((()=>{const t=xn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n(R,{className:"h-4 w-4 shrink-0"}),(null==We?void 0:We["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),s("div",Object.assign({ref:In,className:q("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Ve.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Fn),{maxHeight:`${Nn}px`,overflowY:"auto"})},{children:[js&&s("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Fn.backgroundColor?`${Fn.backgroundColor}E6`:void 0,borderColor:He.text+"20",color:He.text,borderTopRightRadius:Ve.cornerRadius+"px",borderTopLeftRadius:Ve.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:s("span",{children:[vs.toLocaleString()," ",rs?(null==We?void 0:We.credits)||"Credits":(null==We?void 0:We.uses)||"Uses"," ",(null==We?void 0:We.remaining)||"remaining"]})})),s("div",Object.assign({className:"flex items-center gap-3"},{children:[ws&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:He.accent,color:He.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),ks)return void window.open(ks,"_blank","noopener,noreferrer");if(at)return void at();const t=J({baseUrl:rn,accessGroupId:null==et?void 0:et.accessGroupId});t&&z({deploymentId:Ke,pricingUrl:t,studioId:null==Ge?void 0:Ge.studioid,studioSessionToken:ut})}},{children:Os})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>un(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!vt&&It.length>0&&n($,{className:"p-4 pb-0",isDisabled:vt}),s("div",Object.assign({className:"relative flex w-full flex-col"},{children:[zn&&s("div",Object.assign({className:q(ct?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Qe?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(Pe=He.accent)&&void 0!==Pe?Pe:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:He.text+"90"}},{children:(null==We?void 0:We.listening)||"Listening..."}))]})),n(B,Object.assign({ref:xn,className:q(Kn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!$t.trim()&&!$t.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Qe?"text-right":"text-left",!ct&&ns&&"mb-12"),value:$t,placeholder:zn?"":ts,onChange:e=>{Bt(e)},onKeyDown:e=>{Je||Et||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),wt||Vt||(vt?Ts():Us())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!qn)return;e.preventDefault(),tt(!1),yield Ot(t)}}))},ce&&{onFocus:ce},ge&&{onBlur:ge},{dir:Qe?"rtl":"ltr"})),s("div",Object.assign({ref:jn,className:ct?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":q("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",ns?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ns&&Fn.backgroundColor&&{backgroundColor:Fn.backgroundColor}),{borderTopRightRadius:Ve.cornerRadius+"px",borderBottomRightRadius:Ve.cornerRadius+"px"})},{children:[!vt&&!Cn&&qn&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Mn?He.accent+"10":void 0,color:Mn?He.accent:He.accent+"80"},disabled:wt||vt,"aria-label":null!==(De=null==We?void 0:We["attach-files"])&&void 0!==De?De:"Attach files",onClick:()=>{var e;return null===(e=gn.current)||void 0===e?void 0:e.click()}},Rn,{children:[n("input",{id:"file-upload",ref:gn,type:"file",accept:[...C,...E,..._].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){tt(!1),yield Ot(Array.from(e.target.files||[])),e.target.value=""}))}),n(U,{className:"h-6 w-6 shrink-0"})]})),n(r,{compact:!0}),vt&&!Wt?s(o,{children:[n("button",Object.assign({"aria-label":(null==We?void 0:We["stop-response"])||"Stop response",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=hn.current;e&&(Es(e),Cs(e)),bt("idle")},style:{backgroundColor:He.accent+"10",color:He.accent}},{children:n(L,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==We?void 0:We["queue-message"])||"Queue message",className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",disabled:Vt||wt||!$t.trim(),onClick:Ts,style:{backgroundColor:$t.trim()?He.accent:He.accent+"10",color:$t.trim()?He.accentText:He.accent+"80"}},{children:n(A,{className:q("h-6 w-6 shrink-0",Qe&&"scale-x-[-1] transform")})}))]}):Cn?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Un,style:{backgroundColor:He.accent,color:He.accentText}},{children:n(L,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[Jn&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Cn?He.accent:Bn?He.accent+"10":void 0,color:Cn?He.accentText:Bn?He.accent:He.accent+"80"},disabled:wt||vt||En,onClick:()=>{Cn?Un():(fn.current=$t,Tn(qe||"en-US"))}},Xn,{children:n(P,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Pn||Ss?He.accent:He.accent+"10",color:Pn||Ss?He.accentText:He.accent+"80"},disabled:!Ss,onClick:()=>Us()},Dn,{children:n(A,{className:q("h-6 w-6 shrink-0",Qe&&"scale-x-[-1] transform")})}))]})]}))]}))]})),kt&&n(X,{error:kt,className:"mt-3"})]}))}))}));ge.displayName="Input";export{ge as default};
|
|
1
|
+
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{canChat as i}from"../../../common/canChat.js";import{useEndUserModel as r}from"../../../hooks/pickaxe/useEndUserModel.js";import a from"../common/EndUserModelPicker.js";import{updateStreamTextPart as l,upsertActionApprovalPart as d}from"../../../common/actionApproval.js";import{forwardRef as c,useState as u,useRef as p,useCallback as m,useEffect as g,useMemo as f,useImperativeHandle as v}from"react";import{usePickaxeContext as h}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as b}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as y}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as x}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as j}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as I}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as w}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as k}from"../Addons/Document/hooks/useDocument.js";import{useScroll as O}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as N}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as S}from"../../../hooks/core/useHover.js";import{useMediaQuery as C}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as E,allowedImageMimeTypes as _,additionalAllowedFileExtensions as T}from"../../../common/documents.js";import{createParser as U}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import P from"../../Icons/arrow-right.svg.js";import D from"../../Icons/microphone.svg.js";import L from"../../Icons/message-clock.svg.js";import M from"../../Icons/stop.svg.js";import R from"../../Icons/trash.svg.js";import $ from"../../Icons/pencil.svg.js";import B from"../Addons/Document/List.js";import X from"../../Core/Textarea.js";import K from"../../Core/ErrorAlert.js";import F from"../../Core/Menu/index.js";import G from"../../Core/Menu/Button.js";import V from"../../Core/Menu/List.js";import H from"../../../common/error.js";import{pickaxeApi2 as W}from"../../../common/api/pickaxe.js";import{getValidationFailure as q}from"../../../common/validation.js";import J from"../../../common/cn.js";import{buildUpgradeUrl as z,openAuthenticatedPricingUrl as Q,initializeEmbedUserId as Y}from"../../../common/utils.js";import{getPickaxeConfigMetadata as Z}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as ee}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as te,fireDeploymentFirstMessageSubmittedWebhook as ne}from"../../../common/deploymentWebhooks.js";import{useStudio as oe}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as se}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as ie}from"../common/PickaxeCommon.js";const re=(e,t)=>{const n=e.find((e=>e.id===t));return n?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:n.predecessorSubmissionId}):e)):e},ae=e=>"string"==typeof e&&e.trim().length>0,le=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,de=e=>e.map((e=>Object.assign({},e))),ce=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),ue=(e,t)=>{if(e&&"object"==typeof e)return e[t]},pe=(e,t)=>{const n=ue(e,t);return ae(n)?n:null},me=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ge=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(ue(e,"uses"))?ue(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>ae(e)?{type:"deployment",id:e}:ae(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(s=null!==(o=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==o?o:i.find((e=>e.id===r.id)))&&void 0!==s?s:null;return{scope:r,record:a}},fe=c((({resubmitPrompt:c,onFocus:ue,onBlur:fe,onInputHeightChange:ve,initSmitheryAuthData:he},be)=>{var ye,xe,je,Ie,we,ke,Oe,Ne,Se,Ce,Ee,_e,Te,Ue,Ae,Pe,De,Le;const{origin:Me,pickaxeId:Re,sessionId:$e,sender:Be,senderType:Xe,portalId:Ke,deploymentId:Fe,deploymentType:Ge,pickaxe:Ve,styles:He,colors:We,translations:qe,locale:Je,forceMobile:ze,isNewChat:Qe,isRtl:Ye,isEmbed:Ze,isShowFeedbackMessage:et,accessGroup:tt,setIsNewChat:nt,setIsShowIceBreaker:ot,setValidationStatus:st,setValidationUpgradeGroups:it,setValidationUpgradeUrl:rt,setAccessGroup:at,onUpgrade:lt,onGenerateComplete:dt}=h(),{value:ct,enabled:ut}=r(),{token:pt,isLoggedOut:mt,isSent:gt,isPricingAuth:ft}=w(),{messages:vt,isGenerating:ht,setMessages:bt,setStatus:yt,setLimitData:xt,setError:jt,setActionApprovalToken:It}=b(),{documents:wt,isUploading:kt,documentError:Ot,onFileUpload:Nt,setDocuments:St,setDocumentError:Ct}=k(),{studio:Et}=oe(),[_t]=C("(max-width: 480px)"),{scrollStartSession:Tt,scrollEndSession:Ut,scrollToBottom:At}=O({auto:!0,smooth:!(ze||_t)}),{artifacts:Pt,currentPopupType:Dt,setArtifacts:Lt,setCurrentArtifact:Mt}=N(),{height:Rt}=I(),$t=j(),[Bt,Xt]=u((()=>ee([Fe,Re]).chatInput)),[Kt,Ft]=u(!1),[Gt,Vt]=u(!1),[Ht,Wt]=u(!1),[qt,Jt]=u(!1),[zt,Qt]=u([]),[Yt,Zt]=u(!1),[en,tn]=u(null),[nn,on]=u(null),[sn,rn]=u(null),[an,ln]=u(null),[dn,cn]=u(!1),[un,pn]=u(!1),[mn,gn]=u(0),fn=p(null),vn=p(""),hn=p(null),bn=p(null),yn=p(null),xn=p([]),jn=p(null),In=p(null),wn=p(null),kn=p(null),On=p(new Set),Nn=p(null),Sn=Math.max(.4*Rt,100),{speechTranscript:Cn,isSpeechListening:En,isSpeechProcessing:_n,isSpeechSupported:Tn,onStartListening:Un,onStopListening:An}=se(),Pn=S(),{isHover:Dn}=Pn,Ln=e(Pn,["isHover"]),Mn=S(),{isHover:Rn}=Mn,$n=e(Mn,["isHover"]),Bn=S(),{isHover:Xn}=Bn,Kn=e(Bn,["isHover"]),Fn=x(),Gn=y(),Vn="undefined"!=typeof window?window.location.hostname:"",Hn="undefined"!=typeof window?window.location.href:"",Wn="undefined"!=typeof window&&window.self!==window.top,qn=Vn.includes("pickaxe.co")&&!Hn.includes("https://studio.pickaxe.co/_embed")&&!Wn,Jn=null!==(xe=null===(ye=null==Ve?void 0:Ve.documentuploadtype)||void 0===ye?void 0:ye.startsWith("enduserupload"))&&void 0!==xe&&xe,zn=Tn&&(null==Ve?void 0:Ve.enablevoicetotext),Qn=En&&!Bt.trim(),Yn=ae(Fe),Zn="chat-input"===Ge&&Qe&&!gt,eo="chat-input"===Ge&&ft&&mt&>,to=m((e=>{const t=q(e);return!!t&&(jt(""),xt(null),st(t.status),at(t.accessGroup),it(t.upgradeGroups),rt(t.upgradeUrl),!0)}),[jt,It,xt,st,it,rt,at]),no=null!==(je=null==Ve?void 0:Ve.placeholdertext)&&void 0!==je?je:Ye?"بماذا تريد أن تتحدث؟":(null==qe?void 0:qe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",oo=Kt||Gt,so=m((()=>t(void 0,void 0,void 0,(function*(){cn(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Ve?void 0:Ve.studioid},pt?{studioSessionToken:pt}:Be?{sender:Be}:{sender:Y()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),qn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(rn(t.studioUser),ln(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{cn(!0)}}))),[qn,null==Ve?void 0:Ve.studioid,Be,pt]);g((()=>{so()}),[so]);const io=Number(null!==(Ie=null==tt?void 0:tt.limit)&&void 0!==Ie?Ie:0),ro="string"==typeof(null==tt?void 0:tt.limitInterval)?tt.limitInterval:null,ao=!!(null==Et?void 0:Et.data.usage)&&Et.data.usage.isCredits,lo=f((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=Ke?Ke:pe(sn,"portalId"))&&void 0!==e?e:pe(sn,"portalid"))&&void 0!==t?t:pe(tt,"portalId"))&&void 0!==n?n:pe(tt,"portalid"))&&void 0!==o?o:pe(Ve,"portalId"))&&void 0!==s?s:pe(Ve,"portalid")}),[tt,Ke,Ve,sn]),co=f((()=>ge({studioUser:sn,deploymentId:Fe,portalId:lo})),[Fe,lo,sn]);g((()=>{Yn&&Qe&&$e&&On.current.add($e)}),[Qe,$e,Yn]);const uo=m((()=>{var e,t,n;return{studioId:null==Ve?void 0:Ve.studioid,userEmail:pe(sn,"email"),userId:null!==(e=pe(sn,"userId"))&&void 0!==e?e:pe(sn,"userid"),sessionId:$e,deploymentId:Fe,deploymentType:Ge,portalId:lo,accessGroupId:null!==(t=null==tt?void 0:tt.accessGroupId)&&void 0!==t?t:null,pickaxeId:Re,sender:Be,senderType:Xe,origin:Me,metadata:null!==(n=Z(Fe))&&void 0!==n?n:null}}),[null==tt?void 0:tt.accessGroupId,Fe,Ge,Me,null==Ve?void 0:Ve.studioid,Re,lo,Be,Xe,$e,sn]),po=m((()=>!!(Yn&&dn&&$e)&&(!!On.current.has($e)&&(te(uo()),On.current.delete($e),!0))),[uo,dn,$e,Yn]);g((()=>{if(!dn||!$e)return;po();const e=Nn.current;(null==e?void 0:e.sessionId)===$e&&(ne(Object.assign(Object.assign(Object.assign({},e),uo()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Nn.current=null)}),[po,uo,dn,$e]);const mo={currentUses:me(null==sn?void 0:sn.currentUses),extraUses:me(null==sn?void 0:sn.extraUses)},go=co.scope?{currentUses:null!==(ke=me(null===(we=co.record)||void 0===we?void 0:we.currentUses))&&void 0!==ke?ke:0,extraUses:null!==(Ne=me(null===(Oe=co.record)||void 0===Oe?void 0:Oe.extraUses))&&void 0!==Ne?Ne:0}:{currentUses:0,extraUses:0},fo=pe(sn,"type"),vo="guest"===fo||!fo&&mt?go:mo;g((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(ao&&(null===(t=null==Et?void 0:Et.data)||void 0===t?void 0:t.workspaceId))try{const t=yield W.get(`/cost_per_run?workspaceId=${Et.data.workspaceId}`,{withCredentials:!1});e&&gn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&gn(0)}else e&&gn(0)})),()=>{e=!1}}),[ao,null===(Se=null==Et?void 0:Et.data)||void 0===Se?void 0:Se.workspaceId]);const ho=(({accessGroupType:e,currentUses:t,extraUses:n,limit:o,limitInterval:s})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===s?o===ie?ie:Math.max(0,o-i):o===ie||r===ie?ie:"one_time"===s?Math.max(0,r-i):Math.max(0,o-i)+r})({accessGroupType:null==tt?void 0:tt.type,currentUses:vo.currentUses,extraUses:vo.extraUses,limit:io,limitInterval:ro}),bo=ho===ie?ie:Math.max(0,Math.ceil(ho)),yo=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=t?t:0);return"public"===e&&"one_time"===o?n===ie?ie:Math.max(0,n):n===ie||s===ie?ie:"one_time"===o?Math.max(0,s):Math.max(0,n)+Math.max(0,s)})({accessGroupType:null==tt?void 0:tt.type,extraUses:vo.extraUses,limit:io,limitInterval:ro}),xo=yo===ie?ie:Math.ceil(.05*yo),jo=ao?Math.ceil(5*mn):5,Io=xo===ie?ie:Math.max(xo,jo),wo=f((()=>!!sn&&(!un&&(bo!==ie&&(!(yo<=0||bo>=yo)&&bo<=Io)))),[un,Io,bo,sn,yo]),ko=Boolean(null==tt?void 0:tt.hideUpgradeOptions),Oo=Boolean(!ko&&((null===(Ce=null==tt?void 0:tt.upgrade)||void 0===Ce?void 0:Ce.isBuyMoreUses)||(null===(Ee=null==tt?void 0:tt.upgrade)||void 0===Ee?void 0:Ee.isLinkToCustomURL)||(null===(_e=null==tt?void 0:tt.upgrade)||void 0===_e?void 0:_e.isUpgradeToAnotherGroup)&&(null===(Te=tt.upgrade.accessGroupIds)||void 0===Te?void 0:Te.length))),No=!ko&&(null===(Ue=null==tt?void 0:tt.upgrade)||void 0===Ue?void 0:Ue.isLinkToCustomURL)&&"string"==typeof tt.upgrade.limitLink&&tt.upgrade.limitLink.trim().length>0?tt.upgrade.limitLink.trim():null,So=No&&"string"==typeof(null===(Ae=null==tt?void 0:tt.upgrade)||void 0===Ae?void 0:Ae.limitCTA)&&tt.upgrade.limitCTA.trim().length>0?tt.upgrade.limitCTA:(null==qe?void 0:qe["pricing.upgrade"])||(null==qe?void 0:qe.upgrade)||"Upgrade",Co=f((()=>{var e,t,n;return!!Qe&&(!!Ve&&(!$t.isLoading&&(!((null!==(t=null===(e=$t.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ve.icebreakers)||void 0===n?void 0:n.length)&&(!et&&!Zn)))))}),[Ve,Qe,et,Zn,$t.data,$t.isLoading]),Eo=f((()=>{if(kt||Ht)return!1;const e=Jn&&wt.length>0&&wt.every((e=>"finished"===e.status));return!(!Bt.trim()&&!e)&&wt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Jn,kt,Ht,Bt,wt]);v(be,(()=>({onSubmit:Po}))),g((()=>{ot(Co)}),[Co]),g((()=>{var e;if(c){const t=Array.from(vt),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Po(n,!0)}}),[c]),g((()=>{if(!wn.current||!ve)return;const e=new ResizeObserver((e=>{for(const t of e)ve(t.contentRect.height)}));return e.observe(wn.current),()=>{e.disconnect()}}),[ve]),g((()=>{if(!En)return;const e=vn.current?`${vn.current} `:"";Xt(`${e}${Cn}`)}),[Cn,En]),g((()=>{if(!jn.current)return;(()=>{if(!jn.current)return;let e=jn.current.scrollHeight>52;Bt.includes("\n")||wt.length?e=!0:Bt.trim()||(e=!1),Ft(e)})()}),[Bt,wt]),g((()=>{const e=jn.current,t=In.current;if(!e||!t||ut||Kt||Bt.includes("\n"))return void Vt(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=Bt||no,document.body.appendChild(s);const i=s.offsetWidth;s.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Vt(i>l)}),[Bt,Kt,no,ut]);const _o=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:bn.current))return!1;const t=de(xn.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},qn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),To=e=>{yn.current=e,kn.current&&(kn.current.abort(),kn.current=null),hn.current&&(hn.current.cancel().catch((()=>{})),hn.current=null)},Uo=e=>t(void 0,void 0,void 0,(function*(){const t=Date.now()+3e4;for(;Date.now()<t;){try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${e}`,Object.assign({headers:Object.assign({"Cache-Control":"no-cache"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}))},qn&&{credentials:"include"}));if(t.ok){if((yield t.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),Ao=()=>{const e=bn.current;e&&!Ht&&!kt&&Bt.trim()&&(Qt((t=>{var n,o;return[...t,{id:le(),message:Bt,predecessorSubmissionId:null!==(o=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==o?o:e}]})),Xt(""))},Po=(e,n=!1,o=!1,s,r=!1)=>t(void 0,void 0,void 0,(function*(){var t,a,c,u,p;if(!i(Ve))return;let m=null;try{if(ht&&!o||kt)return;const i=wt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),g=i.map((e=>e.documentId)).filter(Boolean),f=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),v=null!=e?e:Bt,h=null!==(a=null===(t=null==Ve?void 0:Ve.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==a&&a&&g.length>0;if(!v&&!h)return;jt(""),Ct(""),xt(null),Xt(""),nt(!1),Jt(!1),yt("fetching"),Tt(),At();const b=n?vt.slice(0,vt.length-1):vt,y=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(b),x=y+(n?0:1),j={id:x,role:"assistant",parts:[],documentIds:[]},I=[...b,...n?[]:[{id:y,role:"user",parts:[{type:"text",content:v,isVisible:!0}],documentIds:h?g:[]}],j];bt(I),At(),h&&St([]);const w=Z(Fe),k=null!=s?s:le();m=k,bn.current=k,yn.current=null,xn.current=[];const O=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:ct||void 0,origin:Me,pickaxeId:Re,sessionId:$e,submissionId:k},r&&{interactionType:"steer"}),{senderType:Xe,value:v}),h&&{documentIds:g}),Be&&{sender:Be}),pt&&{studioSessionToken:pt}),!pt&&!Be&&{sender:Y()}),lo&&{portalId:lo}),Fe&&{deploymentId:Fe}),w&&{metadata:w}),h&&f.length>0?{uploadedModelImages:f}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},qn&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(to(N))return;throw new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation")}It(null!==(c=N.actionApprovalToken)&&void 0!==c?c:null);const S=null!==(u=N.submissionId)&&void 0!==u?u:k;m=S,bn.current=S;const C=()=>yn.current===S;if(C())return;Yn&&Qe&&$e&&On.current.add($e);const E=Object.assign(Object.assign({},uo()),{message:v,documentIds:h?g:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=w?w:null});dn?(po(),ne(E)):Nn.current=E,yt("streaming"),kn.current=new AbortController;const _=[];let T=[...null!=Pt?Pt:[]],A=0,P=!1,D="";for(;!P;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${S}?index=${A}`,{signal:null===(p=kn.current)||void 0===p?void 0:p.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();hn.current=t;const n=new TextDecoder,o=U({onEvent:e=>{var t,n;if(C())P=!0;else if(e.event&&"ping"!==e.event&&A++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong"])||"Something went wrong.";return to(t)||jt(n),void(P=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("finish"===o.type)return void Jt(!0);if("data-error"===o.type&&he){const e=o.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"smithery",smitheryId:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw P=!0,he({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw P=!0,he({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===o.type)D="",_.push({type:"text",content:"",isVisible:null===(t=o.isVisible)||void 0===t||t});else if("text-delta"===o.type)D+=o.delta,l(_,"text",D);else if("text-end"===o.type)D="";else if("reasoning-start"===o.type)D="",_.push({type:"reasoning",content:"",isVisible:null===(n=o.isVisible)||void 0===n||n});else if("reasoning-delta"===o.type)D+=o.delta,l(_,"reasoning",D);else if("reasoning-end"===o.type)D="";else if(o.type.startsWith("data-")){const e=o;"data-action-approval"===e.type?d(_,e.data):_.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}xn.current=de(_);const s=de(_);bt((e=>{const t=e.findIndex((e=>e.id===x)),n=Object.assign(Object.assign({},j),{parts:s});return-1===t?[...e,n]:e.map(((e,o)=>o===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt([...T]),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");T=T.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Lt(T)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Lt(T.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(to(t))return void(P=!0);jt(n)}else"stop"===e.event&&(P=!0)}else P=!0}});for(;;){if(C()){P=!0,t.cancel().catch((()=>{}));break}const{value:e,done:s}=yield t.read();if(C()){P=!0,t.cancel().catch((()=>{}));break}if(s)break;o.feed(n.decode(e))}P||C()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||ce(e)||C())return void(P=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==dt||dt($e)}catch(e){if(ce(e))return;if(e.limitData)xt(e.limitData),jt("");else{let t=H(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==qe?void 0:qe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),to(t)||jt(t)}}finally{const e=!m||bn.current===m;At(),e&&(yt("idle"),Ut(),hn.current=null),m&&e&&(bn.current=null,xn.current=[]),yield so()}}));return g((()=>{if(ht||Ht||Yt||0===zt.length)return;const e=zt[0];Zt(!0),tn(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield Uo(e.predecessorSubmissionId)))return void jt((null==qe?void 0:qe["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Qt((t=>t.filter((t=>t.id!==e.id)))),yield Po(e.message,!1,!0,e.id)}finally{Zt(!1),tn(null)}}))}),[ht,Yt,Ht,zt]),eo?null:n("div",Object.assign({className:J("flex w-full flex-shrink-0 flex-col items-center",!Zn&&"px-4 pb-8"),dir:Ye?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[zt.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:We.text+"18",backgroundColor:null!==(Pe=Gn.backgroundColor)&&void 0!==Pe?Pe:We.text+"08",color:We.text,borderTopLeftRadius:Math.max(He.cornerRadius-4,12),borderTopRightRadius:Math.max(He.cornerRadius-4,12)}},{children:zt.map(((e,i)=>{var r;return o("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<zt.length-1?{borderBottom:`1px solid ${We.text}12`}:void 0},{children:[n(L,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),n("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:e.message},{children:e.message})),nn===e.id||en===e.id?o("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[n("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),nn===e.id?(null==qe?void 0:qe.steering)||"Steering...":(null==qe?void 0:qe.starting)||"Starting..."]})):o(s,{children:[o("button",Object.assign({type:"button",className:"shrink-0 rounded-md px-2 py-1 text-xs font-medium opacity-70 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-40",disabled:Ht||!ht,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=bn.current;if(!t||Ht)return;const n=zt.findIndex((t=>t.id===e.id));if(-1===n)return;Wt(!0),on(e.id),jt(""),To(t);let o=!1;try{if(!(yield _o(t)))throw new Error((null==qe?void 0:qe["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield Uo(t)))throw new Error((null==qe?void 0:qe["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");yt("idle"),Qt((t=>t.filter((t=>t.id!==e.id)))),o=!0,Wt(!1),on(null),yield Po(e.message,!1,!0,e.id,!0)}catch(t){yt("idle"),o&&Qt((t=>{if(t.some((t=>t.id===e.id)))return t;const o=[...t];return o.splice(n,0,e),o})),jt(H(t))}finally{Wt(!1),on(null)}}))})(e)},"aria-label":`${(null==qe?void 0:qe["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==qe?void 0:qe.steer)||"Steer"]})),n("button",Object.assign({type:"button",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-30",disabled:Ht,onClick:()=>{return t=e.id,void Qt((e=>re(e,t)));var t},"aria-label":`${(null==qe?void 0:qe["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(R,{className:"h-4 w-4","aria-hidden":"true"})})),o(F,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n(G,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Ht,role:"button",tabIndex:Ht?-1:0,"aria-haspopup":"menu","aria-label":(null==qe?void 0:qe["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:o("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[n("circle",{cx:"5",cy:"12",r:"1.6"}),n("circle",{cx:"12",cy:"12",r:"1.6"}),n("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),n(V,Object.assign({role:"menu",align:Ye?"bottom-start":"bottom-end",positionStrategy:Ze?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Gn.backgroundColor)&&void 0!==r?r:We.primary,color:We.text,borderRadius:"12px"},border:`1px solid ${We.text}20`},{children:o("button",Object.assign({type:"button",role:"menuitem",className:"flex min-w-36 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-black/5 dark:hover:bg-white/10",onClick:()=>(e=>{Qt((t=>re(t,e.id))),Xt(e.message),requestAnimationFrame((()=>{const t=jn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n($,{className:"h-4 w-4 shrink-0"}),(null==qe?void 0:qe["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),o("div",Object.assign({ref:wn,className:J("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===He.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Gn),{maxHeight:`${Sn}px`,overflowY:"auto"})},{children:[wo&&o("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Gn.backgroundColor?`${Gn.backgroundColor}E6`:void 0,borderColor:We.text+"20",color:We.text,borderTopRightRadius:He.cornerRadius+"px",borderTopLeftRadius:He.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[bo.toLocaleString()," ",ao?(null==qe?void 0:qe.credits)||"Credits":(null==qe?void 0:qe.uses)||"Uses"," ",(null==qe?void 0:qe.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[Oo&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:We.accent,color:We.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),No)return void window.open(No,"_blank","noopener,noreferrer");if(lt)return void lt();const t=z({baseUrl:an,accessGroupId:null==tt?void 0:tt.accessGroupId});t&&Q({deploymentId:Fe,pricingUrl:t,studioId:null==Ve?void 0:Ve.studioid,studioSessionToken:pt})}},{children:So})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>pn(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!ht&&wt.length>0&&n(B,{className:"p-4 pb-0",isDisabled:ht}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Qn&&o("div",Object.assign({className:J(ut?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Ye?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(De=We.accent)&&void 0!==De?De:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:We.text+"90"}},{children:(null==qe?void 0:qe.listening)||"Listening..."}))]})),n(X,Object.assign({ref:jn,className:J(Fn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Bt.trim()&&!Bt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ye?"text-right":"text-left",!ut&&oo&&"mb-12"),value:Bt,placeholder:Qn?"":no,onChange:e=>{Xt(e)},onKeyDown:e=>{ze||_t||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),kt||Ht||(ht?Ao():Po())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!Jn)return;e.preventDefault(),nt(!1),yield Nt(t)}}))},ue&&{onFocus:ue},fe&&{onBlur:fe},{dir:Ye?"rtl":"ltr"})),o("div",Object.assign({ref:In,className:ut?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":J("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",oo?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!oo&&Gn.backgroundColor&&{backgroundColor:Gn.backgroundColor}),{borderTopRightRadius:He.cornerRadius+"px",borderBottomRightRadius:He.cornerRadius+"px"})},{children:[!ht&&!En&&Jn&&o("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Rn?We.accent+"10":void 0,color:Rn?We.accent:We.accent+"80"},disabled:kt||ht,"aria-label":null!==(Le=null==qe?void 0:qe["attach-files"])&&void 0!==Le?Le:"Attach files",onClick:()=>{var e;return null===(e=fn.current)||void 0===e?void 0:e.click()}},$n,{children:[n("input",{id:"file-upload",ref:fn,type:"file",accept:[...E,..._,...T].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){nt(!1),yield Nt(Array.from(e.target.files||[])),e.target.value=""}))}),n(A,{className:"h-6 w-6 shrink-0"})]})),n(a,{compact:!0}),ht&&!qt?o(s,{children:[n("button",Object.assign({"aria-label":(null==qe?void 0:qe["stop-response"])||"Stop response",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=bn.current;e&&(To(e),_o(e)),yt("idle")},style:{backgroundColor:We.accent+"10",color:We.accent}},{children:n(M,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==qe?void 0:qe["queue-message"])||"Queue message",className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",disabled:Ht||kt||!Bt.trim(),onClick:Ao,style:{backgroundColor:Bt.trim()?We.accent:We.accent+"10",color:Bt.trim()?We.accentText:We.accent+"80"}},{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]}):En?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:An,style:{backgroundColor:We.accent,color:We.accentText}},{children:n(M,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[zn&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:En?We.accent:Xn?We.accent+"10":void 0,color:En?We.accentText:Xn?We.accent:We.accent+"80"},disabled:kt||ht||_n,onClick:()=>{En?An():(vn.current=Bt,Un(Je||"en-US"))}},Kn,{children:n(D,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Dn||Eo?We.accent:We.accent+"10",color:Dn||Eo?We.accentText:We.accent+"80"},disabled:!Eo,onClick:()=>Po()},Ln,{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]})]}))]}))]})),Ot&&n(K,{error:Ot,className:"mt-3"})]}))}))}));fe.displayName="Input";export{fe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as i}from"react/jsx-runtime";import{useState as
|
|
1
|
+
import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as i}from"react/jsx-runtime";import{canChat as n}from"../../../common/canChat.js";import{useState as s,useRef as r,useEffect as a,useCallback as l}from"react";import{usePickaxeContext as c}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as d}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as m}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as u}from"../Addons/Document/hooks/useDocument.js";import{useScrollContext as p}from"../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as f}from"../../../hooks/studio/useStyleFontSize.js";import h from"../../../hooks/core/useScrollToBottomVisibility.js";import v from"./History/index.js";import g from"./Input.js";import x from"../../Icons/attach-vertical.svg.js";import b from"../../../common/cn.js";import{pickaxeApi2 as j}from"../../../common/api/pickaxe.js";import{v4 as k}from"uuid";import{StudioTip as y}from"../../Core/StudioTip.js";import w from"../common/ScrollToBottomButton.js";import I from"../common/PickaxeMCPButton.js";import{useResponseContext as S}from"../../../hooks/pickaxe/useResponseContext.js";import{NavPill as C,EditableNavPill as D,HistoryPill as T}from"../Addons/Navbar/NavPill.js";import N from"../../Icons/history.svg.js";const O=()=>{var O,A;const{deploymentType:F,isNewChat:P,setIsNewChat:H,sessionId:z,setSessionId:B,setLastSessionId:E,pickaxeId:R,sender:L,pickaxe:G,styles:M,isEmbed:V,mcpEnabled:_,translations:q}=c(),{isSent:U,token:W}=d(),{width:J,height:K,setDimension:Q}=m(),{setDocuments:X,onFileUpload:Y}=u(),{scrollContainerRef:Z,hasScrolledRef:$,isLocked:ee,setIsLocked:te}=p(),{isGenerating:oe,messages:ie}=S(),ne=f(),[se,re]=s(0),[ae,le]=s(!1),[ce,de]=s(!1),me=r(null),ue=r(null),pe=r(0),[fe,he]=s(null),[ve,ge]=s(!1),xe=(null==q?void 0:q["new-chat"])||"New chat",be=n(G),je=be&&"chat-input"===F&&P&&!U,ke=be&&null!==(A=null===(O=null==G?void 0:G.documentuploadtype)||void 0===O?void 0:O.startsWith("enduserupload"))&&void 0!==A&&A,{hasScrollableContent:ye,isNearBottom:we}=h(Z);a((()=>()=>{X([])}),[]);const Ie=l((()=>{if(!R||!L&&!W)return;const t=(o=0)=>e(void 0,void 0,void 0,(function*(){var e;try{const t=yield j.post("/conversation/title",Object.assign({sessionId:z},W?{studioSessionToken:W}:L?{userId:L}:{}));if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void Ce(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}o<20&&setTimeout((()=>t(o+1)),3e3)}));t()}),[R,L,z,W]);a((()=>{oe||P||!z||Ie()}),[oe,P,z,Ie]),a((()=>{if(!me.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;Q(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(me.current),()=>{e.disconnect()}}),[Q]);const[Se,Ce]=s(xe),De=(null==G?void 0:G.formtitle)||"Pickaxe",Te=(null==G?void 0:G.coverphoto)||void 0,[Ne,Oe]=s(!1);a((()=>{const e=!je&&!V&&M.portalTheme&&(ie.filter((e=>"user"===e.role)).length>0||ae||!P);Oe(null!=e&&e)}),[je,V,ae,P,ie,M.portalTheme]);const Ae=l((()=>{$.current=!1,te(!0),requestAnimationFrame((()=>{const e=Z.current;e&&e.scrollTo({top:Math.max(0,e.scrollHeight-e.clientHeight),behavior:"smooth"})}))}),[$,Z,te]);return t("div",Object.assign({ref:me,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),ke&&(pe.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&de(!0))},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),ke&&(pe.current-=1,0===pe.current&&de(!1))},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e(void 0,void 0,void 0,(function*(){if(t.preventDefault(),t.stopPropagation(),de(!1),pe.current=0,!ke)return;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(H(!1),yield Y(e))}))},{children:[ce&&t("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[o("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:o(x,{className:"h-10 w-10"})})),o("h3",Object.assign({className:b(ne.h3,"mt-6 font-semibold text-c-primary text-black")},{children:(null==q?void 0:q["drop-files-to-upload"])||"Drop files to upload"})),o("p",Object.assign({className:b(ne.b2,"mt-2 opacity-60 text-black")},{children:(null==q?void 0:q["add-anything-to-the-conversation"])||"Add anything to the conversation"}))]})),!V&&_?o("div",Object.assign({className:"pointer-events-none absolute left-1/2 top-4 z-40 flex w-full max-w-[800px] -translate-x-1/2 justify-end px-4"},{children:o("div",Object.assign({className:"pointer-events-auto"},{children:o(I,{})}))})):null,je?o(g,{}):t(i,{children:[Ne&&t("div",Object.assign({className:b("direct-link"===F?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===M.portalTheme?"glass-dark ":"")},{children:[o(C,{text:De,icon:Te}),P||Se===xe?o(C,{text:Se}):o(D,{text:Se,sessionId:z,onRename:t=>e(void 0,void 0,void 0,(function*(){if(z)try{yield j.patch("/conversation/title",Object.assign({sessionId:z,name:t},W?{studioSessionToken:W}:L?{userId:L}:{})),Ce(t)}catch(e){console.error("Error renaming chat:",e),alert((null==q?void 0:q["failed-rename-chat"])||"Failed to rename chat.")}})),onDelete:()=>e(void 0,void 0,void 0,(function*(){if(z&&window.confirm((null==q?void 0:q["delete-confirm"])||"Are you sure you want to delete this conversation?"))try{yield j.delete("/conversation",{data:Object.assign({sessionId:z},W?{studioSessionToken:W}:L?{userId:L}:{})}),H(!0),B(be?k():""),Ce(xe)}catch(e){console.error("Error deleting chat:",e),alert((null==q?void 0:q["failed-delete-chat"])||"Failed to delete chat.")}})),isDarkGlass:"dark"===M.portalTheme}),o(y,Object.assign({content:q["chat-history"]||"Chat History",align:"bottom",containerClassName:"inline-flex shrink-0"},{children:o(T,{icon:o(N,{}),onClick:()=>{B(""),E(z)}})}))]})),o(v,{additionalScrollHeight:se,isForceHideInfo:K<=545||J<=350||ae,isInputFocused:ae,onSubmit:t=>e(void 0,void 0,void 0,(function*(){be&&ue.current&&ue.current.onSubmit(t)})),smitheryAuthData:fe,resubmitPrompt:()=>{he(null),ge(!0)}}),o(w,{isVisible:ye&&!ee&&!we,bottom:se+65,onClick:Ae}),be&&o(g,{ref:ue,onFocus:()=>le(!0),onBlur:()=>le(!1),onInputHeightChange:re,initSmitheryAuthData:e=>he(e),resubmitPrompt:ve})]})]}))};export{O as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as s,jsx as o,Fragment as t}from"react/jsx-runtime";import{useState as n,useRef as a,useEffect as i,useMemo as l}from"react";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as c}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{useAuthContext as m}from"../../Addons/Auth/hooks/useAuthContext.js";import{pickaxeApi2 as p}from"../../../../common/api/pickaxe.js";import{formatLocalDateTime as u}from"../../../../common/date.js";import{Check as h,X as b,MoreHorizontal as g,Pencil as v}from"lucide-react";import f from"../../../Icons/trash-2.svg.js";import y from"../../../Icons/chat.svg.js";import x from"../../../Icons/copy.svg.js";import j from"../../../Icons/copied.svg.js";import k from"../../../Icons/expand.svg.js";import w from"../../../Icons/collapse.svg.js";import{PickaxeMarkdown as N}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as O}from"../../common/PickaxeMarkdown/Renderer.js";import{getSuppressedRichPreviewUrls as C}from"../../common/PickaxeMessageParts/index.js";import _ from"../../../../common/cn.js";const I=({item:I,onDelete:P})=>{const{pickaxe:M,sender:R,colors:T,translations:q,styles:E,isRtl:S,disableCss:A,disableHtml:D,disableJs:F,setSessionId:$,setIsNewChat:H}=r(),{token:J}=m(),{setMessages:z}=c(),{setDocuments:L}=d(),[B,K]=n(!1),[U,G]=n(!1),[Q,V]=n(!1),[W,X]=n(!1),[Y,Z]=n(!1),ee=a(null),[se,oe]=n(I.shortSummary||I.summary||(null==q?void 0:q["conversation-name"])||"Conversation name"),[te,ne]=n("");i((()=>{oe(I.shortSummary||I.summary||(null==q?void 0:q["conversation-name"])||"Conversation name")}),[I.shortSummary,I.summary,q]),i((()=>{const e=e=>{ee.current&&!ee.current.contains(e.target)&&K(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const ae=l((()=>I?"FORM"===I.pickaxeType?I.question?0===I.messages.length?I.question.responseParts?I.question.responseParts.length:0:I.messages.length:0:I.messages.length:0),[I]),ie=u(I.updatedAt,"MMM dd, yyyy hh:mm a"),le=l((()=>{var e,s;const o=(null==q?void 0:q["not-available"])||"n/a";if("FORM"===I.pickaxeType){if(I.messages&&0!==I.messages.length){const e=I.messages.find((e=>"user"===e.role));return e?e.parts[0].content:""}const t=null!==(s=null===(e=I.question)||void 0===e?void 0:e.inputs)&&void 0!==s?s:[];return Y?t.map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 600; opacity: 0.9;">${e.question}</p>\n <p style="opacity: 0.8;">${e.answer||o}</p>\n</div>`)).join(""):t.map((e=>`${e.question}: ${e.answer||o}`)).join(" | ")}const t=I.messages.find((e=>"user"===e.role));return t?t.parts[0].content:""}),[I,Y,q]),re=l((()=>{var e,s,o,t,n,a;return"FORM"===I.pickaxeType?I.messages&&0!==I.messages.length?null!==(s=null===(e=I.messages.find((e=>"assistant"===e.role)))||void 0===e?void 0:e.parts)&&void 0!==s?s:[]:null!==(t=null===(o=I.question)||void 0===o?void 0:o.responseParts)&&void 0!==t?t:[]:null!==(a=null===(n=I.messages.find((e=>"assistant"===e.role)))||void 0===n?void 0:n.parts)&&void 0!==a?a:[]}),[I]),ce=l((()=>re.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ")),[re]),de=l((()=>C(re)),[re]),me=()=>{G(!1),ne("")},pe=()=>e(void 0,void 0,void 0,(function*(){if(te.trim()){V(!0);try{yield p.patch("/conversation/title",Object.assign({sessionId:I.sessionId,name:te},J?{studioSessionToken:J}:R?{userId:R}:{})),oe(te),G(!1)}catch(e){console.error("Error updating conversation name:",e),alert((null==q?void 0:q["failed-update-name"])||"Failed to update name.")}finally{V(!1)}}}));return s("div",Object.assign({className:"flex flex-col overflow-hidden transition duration-300 hover:shadow w-full shrink-0 border",style:{borderColor:T.secondary,borderRadius:E.cornerRadius}},{children:[o("div",Object.assign({className:"flex items-center justify-between px-4 py-3 h-[44px]",style:{backgroundColor:T.primary,color:T.text}},{children:U?s("div",Object.assign({className:"flex items-center w-full gap-2",onClick:e=>e.stopPropagation()},{children:[o("input",{autoFocus:!0,type:"text",value:te,onChange:e=>ne(e.target.value),onKeyDown:e=>{"Enter"===e.key&&pe(),"Escape"===e.key&&me()},className:"flex-1 text-inherit px-2 py-1 rounded border focus:outline-none focus:ring-0 text-sm",style:{backgroundColor:T.primary,borderColor:T.secondary}}),o("button",Object.assign({onClick:pe,disabled:Q,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==q?void 0:q.save)||"Save"},{children:o(h,{className:"h-4 w-4"})})),o("button",Object.assign({onClick:me,disabled:Q,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==q?void 0:q.cancel)||"Cancel"},{children:o(b,{className:"h-4 w-4"})}))]})):s(t,{children:[o("h3",Object.assign({className:"font-bold text-lg truncate pr-2 flex-1 min-w-0 select-none"},{children:se})),s("div",Object.assign({className:"flex items-center gap-1 shrink-0"},{children:[o("button",Object.assign({onClick:e=>{e.stopPropagation(),Z(!Y)},className:"p-1 rounded-full transition-colors hover:bg-black/10",title:Y?(null==q?void 0:q.collapse)||"Collapse":(null==q?void 0:q.expand)||"Expand"},{children:o(Y?w:k,{className:"h-4 w-4"})})),s("div",Object.assign({className:"relative"},{children:[o("button",Object.assign({onClick:e=>{e.stopPropagation(),K(!B)},className:"p-1 rounded-full transition-colors hover:bg-black/10"},{children:o(g,{className:"h-6 w-6"})})),B&&s("div",Object.assign({ref:ee,className:"absolute right-0 top-8 w-48 rounded-xl shadow-xl z-40 border overflow-hidden animate-in fade-in zoom-in-95 duration-100",style:{backgroundColor:T.secondary,color:T.secondaryText,borderColor:T.primary}},{children:[s("button",Object.assign({onClick:e=>{e.stopPropagation(),ne(se),G(!0),K(!1)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95 border-b",style:{borderBottomColor:T.primary}},{children:[o(v,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:(null==q?void 0:q["rename-chat"])||"Rename chat"}))]})),s("button",Object.assign({onClick:s=>{s.stopPropagation(),e(void 0,void 0,void 0,(function*(){if(window.confirm((null==q?void 0:q["delete-confirm"])||"Are you sure you want to delete this conversation?")){K(!1);try{yield p.delete("/conversation",{data:Object.assign({sessionId:I.sessionId},J?{studioSessionToken:J}:R?{userId:R}:{})}),P&&P(I.sessionId)}catch(e){console.error("Error deleting conversation:",e),alert((null==q?void 0:q["failed-delete-conversation"])||"Failed to delete conversation.")}}}))},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95"},{children:[o(f,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:(null==q?void 0:q["delete-chat"])||"Delete chat"}))]}))]}))]}))]}))]})})),s("div",Object.assign({className:_("px-4 py-5 flex flex-col justify-between transition-all duration-200 ease-in-out",Y?"h-auto min-h-[130px]":"h-[130px]"),style:{backgroundColor:T.secondary,color:T.secondaryText}},{children:[s("div",Object.assign({className:"flex flex-col"},{children:[o("div",Object.assign({className:_("w-full",Y?"mb-0":"mb-2")},{children:o(N,Object.assign({theme:E.theme,colors:T},S&&{rtl:!0},D&&{disableHtml:!0},F&&{disableJs:!0},A&&{disableCss:!0},{children:o(O,{style:{display:"block"},className:_("w-full",!Y&&["[&_*]:!font-semibold mb-0.5 h-5 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],Y&&"[&_*]:!text-sm [&_*]:!font-semibold mb-0.5 [&_p]:!m-0"),value:le})}))})),o("div",Object.assign({className:"w-full"},{children:o(N,Object.assign({theme:E.theme,colors:T},S&&{rtl:!0},D&&{disableHtml:!0},F&&{disableJs:!0},A&&{disableCss:!0},{children:o(O,{style:{display:"block"},className:_("w-full text-sm",!Y&&["font-normal h-5 opacity-80 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],Y&&"font-normal opacity-90 mt-2 border-t pt-2 border-dashed"),value:ce,suppressedRichPreviewUrls:de})}))}))]})),s("div",Object.assign({className:"flex items-center justify-between mt-4 pt-2 border-t border-transparent"},{children:[s("div",Object.assign({className:"flex items-center gap-4"},{children:[((null==M?void 0:M.chatflag)||!(null==M?void 0:M.chatflag)&&(null==M?void 0:M.enablechatresponses))&&s("div",Object.assign({className:"flex items-center gap-1.5 opacity-70 hover:opacity-100 cursor-pointer transition-opacity",onClick:e=>{var s;e.stopPropagation(),s=I.sessionId,L([]),z([]),H(!1),$(s)},title:(null==q?void 0:q["open-chat"])||"Open Chat"},{children:[o(y,{className:"h-4 w-4"}),o("span",Object.assign({className:"text-sm font-medium"},{children:ae}))]})),o("button",Object.assign({className:"transition-colors "+(W?"opacity-100":"opacity-70 hover:opacity-100"),onClick:e=>{e.stopPropagation(),navigator.clipboard.writeText(ce),X(!0),setTimeout((()=>{X(!1)}),2e3)},title:W?(null==q?void 0:q.copied)||"Copied!":(null==q?void 0:q["copy-assistant-message"])||"Copy assistant message"},{children:W?o(j,{className:"h-4 w-4",style:{color:T.accent},fill:T.accent}):o(x,{className:"h-4 w-4"})}))]})),o("span",Object.assign({className:"text-xs font-semibold uppercase opacity-30 whitespace-nowrap"},{children:ie}))]}))]}))]}))};export{I as default};
|
|
1
|
+
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as s,jsx as o,Fragment as t}from"react/jsx-runtime";import{useState as n,useRef as i,useEffect as a,useMemo as l}from"react";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as c}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{useAuthContext as m}from"../../Addons/Auth/hooks/useAuthContext.js";import{pickaxeApi2 as p}from"../../../../common/api/pickaxe.js";import{formatLocalDateTime as u}from"../../../../common/date.js";import{Check as h,X as v,MoreHorizontal as b,Pencil as g}from"lucide-react";import f from"../../../Icons/trash-2.svg.js";import y from"../../../Icons/chat.svg.js";import x from"../../../Icons/copy.svg.js";import j from"../../../Icons/copied.svg.js";import k from"../../../Icons/expand.svg.js";import w from"../../../Icons/collapse.svg.js";import{PickaxeMarkdown as N}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as O}from"../../common/PickaxeMarkdown/Renderer.js";import{getSuppressedRichPreviewUrls as C}from"../../common/PickaxeMessageParts/index.js";import _ from"../../../../common/cn.js";const I=({item:I,onDelete:P})=>{var R,M;const{pickaxe:T,pickaxeId:q,renderResponseAction:A,sender:E,colors:F,translations:S,styles:D,isRtl:$,disableCss:H,disableHtml:J,disableJs:z,setSessionId:L,setIsNewChat:V}=r(),{token:B}=m(),{setMessages:K}=c(),{setDocuments:U}=d(),[G,Q]=n(!1),[W,X]=n(!1),[Y,Z]=n(!1),[ee,se]=n(!1),[oe,te]=n(!1),ne=i(null),[ie,ae]=n(I.shortSummary||I.summary||(null==S?void 0:S["conversation-name"])||"Conversation name"),[le,re]=n("");a((()=>{ae(I.shortSummary||I.summary||(null==S?void 0:S["conversation-name"])||"Conversation name")}),[I.shortSummary,I.summary,S]),a((()=>{const e=e=>{ne.current&&!ne.current.contains(e.target)&&Q(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const ce=l((()=>I?"FORM"===I.pickaxeType?I.question?0===I.messages.length?I.question.responseParts?I.question.responseParts.length:0:I.messages.length:0:I.messages.length:0),[I]),de=u(I.updatedAt,"MMM dd, yyyy hh:mm a"),me=l((()=>{var e,s;const o=(null==S?void 0:S["not-available"])||"n/a";if("FORM"===I.pickaxeType){if(I.messages&&0!==I.messages.length){const e=I.messages.find((e=>"user"===e.role));return e?e.parts[0].content:""}const t=null!==(s=null===(e=I.question)||void 0===e?void 0:e.inputs)&&void 0!==s?s:[];return oe?t.map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 600; opacity: 0.9;">${e.question}</p>\n <p style="opacity: 0.8;">${e.answer||o}</p>\n</div>`)).join(""):t.map((e=>`${e.question}: ${e.answer||o}`)).join(" | ")}const t=I.messages.find((e=>"user"===e.role));return t?t.parts[0].content:""}),[I,oe,S]),pe=l((()=>{var e,s,o,t,n,i;return"FORM"===I.pickaxeType?I.messages&&0!==I.messages.length?null!==(s=null===(e=I.messages.find((e=>"assistant"===e.role)))||void 0===e?void 0:e.parts)&&void 0!==s?s:[]:null!==(t=null===(o=I.question)||void 0===o?void 0:o.responseParts)&&void 0!==t?t:[]:null!==(i=null===(n=I.messages.find((e=>"assistant"===e.role)))||void 0===n?void 0:n.parts)&&void 0!==i?i:[]}),[I]),ue=l((()=>pe.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ")),[pe]),he=l((()=>C(pe)),[pe]),ve=()=>{X(!1),re("")},be=()=>e(void 0,void 0,void 0,(function*(){if(le.trim()){Z(!0);try{yield p.patch("/conversation/title",Object.assign({sessionId:I.sessionId,name:le},B?{studioSessionToken:B}:E?{userId:E}:{})),ae(le),X(!1)}catch(e){console.error("Error updating conversation name:",e),alert((null==S?void 0:S["failed-update-name"])||"Failed to update name.")}finally{Z(!1)}}}));return s("div",Object.assign({className:"flex flex-col overflow-hidden transition duration-300 hover:shadow w-full shrink-0 border",style:{borderColor:F.secondary,borderRadius:D.cornerRadius}},{children:[o("div",Object.assign({className:"flex items-center justify-between px-4 py-3 h-[44px]",style:{backgroundColor:F.primary,color:F.text}},{children:W?s("div",Object.assign({className:"flex items-center w-full gap-2",onClick:e=>e.stopPropagation()},{children:[o("input",{autoFocus:!0,type:"text",value:le,onChange:e=>re(e.target.value),onKeyDown:e=>{"Enter"===e.key&&be(),"Escape"===e.key&&ve()},className:"flex-1 text-inherit px-2 py-1 rounded border focus:outline-none focus:ring-0 text-sm",style:{backgroundColor:F.primary,borderColor:F.secondary}}),o("button",Object.assign({onClick:be,disabled:Y,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==S?void 0:S.save)||"Save"},{children:o(h,{className:"h-4 w-4"})})),o("button",Object.assign({onClick:ve,disabled:Y,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==S?void 0:S.cancel)||"Cancel"},{children:o(v,{className:"h-4 w-4"})}))]})):s(t,{children:[o("h3",Object.assign({className:"font-bold text-lg truncate pr-2 flex-1 min-w-0 select-none"},{children:ie})),s("div",Object.assign({className:"flex items-center gap-1 shrink-0"},{children:[o("button",Object.assign({onClick:e=>{e.stopPropagation(),te(!oe)},className:"p-1 rounded-full transition-colors hover:bg-black/10",title:oe?(null==S?void 0:S.collapse)||"Collapse":(null==S?void 0:S.expand)||"Expand"},{children:o(oe?w:k,{className:"h-4 w-4"})})),s("div",Object.assign({className:"relative"},{children:[o("button",Object.assign({onClick:e=>{e.stopPropagation(),Q(!G)},className:"p-1 rounded-full transition-colors hover:bg-black/10"},{children:o(b,{className:"h-6 w-6"})})),G&&s("div",Object.assign({ref:ne,className:"absolute right-0 top-8 w-48 rounded-xl shadow-xl z-40 border overflow-hidden animate-in fade-in zoom-in-95 duration-100",style:{backgroundColor:F.secondary,color:F.secondaryText,borderColor:F.primary}},{children:[s("button",Object.assign({onClick:e=>{e.stopPropagation(),re(ie),X(!0),Q(!1)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95 border-b",style:{borderBottomColor:F.primary}},{children:[o(g,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:(null==S?void 0:S["rename-chat"])||"Rename chat"}))]})),s("button",Object.assign({onClick:s=>{s.stopPropagation(),e(void 0,void 0,void 0,(function*(){if(window.confirm((null==S?void 0:S["delete-confirm"])||"Are you sure you want to delete this conversation?")){Q(!1);try{yield p.delete("/conversation",{data:Object.assign({sessionId:I.sessionId},B?{studioSessionToken:B}:E?{userId:E}:{})}),P&&P(I.sessionId)}catch(e){console.error("Error deleting conversation:",e),alert((null==S?void 0:S["failed-delete-conversation"])||"Failed to delete conversation.")}}}))},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95"},{children:[o(f,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:(null==S?void 0:S["delete-chat"])||"Delete chat"}))]}))]}))]}))]}))]})})),s("div",Object.assign({className:_("px-4 py-5 flex flex-col justify-between transition-all duration-200 ease-in-out",oe?"h-auto min-h-[130px]":"h-[130px]"),style:{backgroundColor:F.secondary,color:F.secondaryText}},{children:[s("div",Object.assign({className:"flex flex-col"},{children:[o("div",Object.assign({className:_("w-full",oe?"mb-0":"mb-2")},{children:o(N,Object.assign({theme:D.theme,colors:F},$&&{rtl:!0},J&&{disableHtml:!0},z&&{disableJs:!0},H&&{disableCss:!0},{children:o(O,{style:{display:"block"},className:_("w-full",!oe&&["[&_*]:!font-semibold mb-0.5 h-5 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],oe&&"[&_*]:!text-sm [&_*]:!font-semibold mb-0.5 [&_p]:!m-0"),value:me})}))})),o("div",Object.assign({className:"w-full"},{children:o(N,Object.assign({theme:D.theme,colors:F},$&&{rtl:!0},J&&{disableHtml:!0},z&&{disableJs:!0},H&&{disableCss:!0},{children:o(O,{style:{display:"block"},className:_("w-full text-sm",!oe&&["font-normal h-5 opacity-80 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],oe&&"font-normal opacity-90 mt-2 border-t pt-2 border-dashed"),value:ue,suppressedRichPreviewUrls:he})}))}))]})),s("div",Object.assign({className:"flex items-center justify-between mt-4 pt-2 border-t border-transparent"},{children:[s("div",Object.assign({className:"flex items-center gap-4"},{children:[((null==T?void 0:T.chatflag)||!(null==T?void 0:T.chatflag)&&(null==T?void 0:T.enablechatresponses))&&s("div",Object.assign({className:"flex items-center gap-1.5 opacity-70 hover:opacity-100 cursor-pointer transition-opacity",onClick:e=>{var s;e.stopPropagation(),s=I.sessionId,U([]),K([]),V(!1),L(s)},title:(null==S?void 0:S["open-chat"])||"Open Chat"},{children:[o(y,{className:"h-4 w-4"}),o("span",Object.assign({className:"text-sm font-medium"},{children:ce}))]})),o("button",Object.assign({className:"transition-colors "+(ee?"opacity-100":"opacity-70 hover:opacity-100"),onClick:e=>{e.stopPropagation(),navigator.clipboard.writeText(ue),se(!0),setTimeout((()=>{se(!1)}),2e3)},title:ee?(null==S?void 0:S.copied)||"Copied!":(null==S?void 0:S["copy-assistant-message"])||"Copy assistant message"},{children:ee?o(j,{className:"h-4 w-4",style:{color:F.accent},fill:F.accent}):o(x,{className:"h-4 w-4"})})),"FORM"===I.pickaxeType&&!(null==T?void 0:T.chatflag)&&!(null==T?void 0:T.enablechatresponses)&&(null===(M=null===(R=I.question)||void 0===R?void 0:R.responseParts)||void 0===M?void 0:M.some((e=>e.isVisible&&"text"===e.type&&e.content.trim())))&&(null==A?void 0:A({pickaxeId:q,sessionId:I.sessionId,kind:"form",responseReference:"form-result",agentName:(null==T?void 0:T.formtitle)||q,content:I.question.responseParts.filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n")}))]})),o("span",Object.assign({className:"text-xs font-semibold uppercase opacity-30 whitespace-nowrap"},{children:de}))]}))]}))]}))};export{I as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useMemo as o}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as t}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as n}from"../../../../hooks/studio/useStyleFontSize.js";import{useScrollContext as l}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useDocument as a}from"../../Addons/Document/hooks/useDocument.js";import{useArtifact as r}from"../../Addons/Artifact/hooks/useArtifact.js";import{PickaxeMarkdown as c}from"../../common/PickaxeMarkdown/index.js";import d from"../../common/PickaxeIcon.js";import m from"../../Addons/Scroll/ScrollLockView.js";import p from"../../common/PickaxeMessageParts/index.js";import u from"../../common/PickaxeMessageActions.js";import h from"../../../../common/cn.js";import{formatLocalDateTime as f}from"../../../../common/date.js";const x=()=>{var x,b,g,v,j,y;const{pickaxe:k,styles:w,colors:N,misc:C,translations:O,disableHtml:I,disableJs:A,disableCss:S,isRtl:D,setSessionId:P,setIsNewChat:M}=i(),{response:$,isGenerating:R}=t(),{scrollTargetRef:T}=l(),{setDocuments:q}=a(),{onLoadArtifact:H}=r(),F=n(),L=f(null!==(x=null==$?void 0:$.sentAt)&&void 0!==x?x:new Date,"hh:mm a MMM dd, yy"),J=o((()=>{var e,s;if(!$)return"";const o=(null==O?void 0:O["not-available"])||"n/a";return(null!==(s=null===(e=$.question)||void 0===e?void 0:e.inputs)&&void 0!==s?s:[]).map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 500;">${e.question}</p>\n <p>${e.answer||o}</p>\n</div>`)).join("")}),[$,O]);return $?e("div",Object.assign({ref:T,className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[s("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:N.primary,color:N.text}},{children:e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar scrollbar-thin"},{children:[s("input",{id:`${$.sessionId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:J.length<280}),s("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:J}}),s("label",Object.assign({htmlFor:`${$.sessionId}-input`,className:h(F.b3,"mt-1 flex shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer"),style:{color:N.accent}},{children:(null==O?void 0:O["see-input"])||"See input"})),s("label",Object.assign({htmlFor:`${$.sessionId}-input`,className:h(F.b3,"hidden shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer"),style:{color:N.accent}},{children:(null==O?void 0:O["hide-input"])||"Hide input"}))]}))})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:N.secondary,color:N.secondaryText}},{children:[C.isChatImage&&s(d,{src:null==k?void 0:k.chaticon,alt:`${null==k?void 0:k.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:N.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2"},{children:[s(c,Object.assign({theme:w.theme,colors:N,isStreaming:R},D&&{rtl:!0},I&&{disableHtml:!0},A&&{disableJs:!0},S&&{disableCss:!0},{disableReasoning:null!==(b=null==k?void 0:k.enablereasoningdisplay)&&void 0!==b&&b,onArtifactClick:H},{children:s(p,{className:"overflow-x-auto pb-2 font-semilight scrollbar scrollbar-thin",parts:null!==(v=null===(g=$.question)||void 0===g?void 0:g.responseParts)&&void 0!==v?v:[],isStreaming:R})})),s("div",Object.assign({className:"flex flex-col"},{children:R?s("div",Object.assign({className:"flex items-center gap-x-2 rounded"},{children:Array.from({length:3}).map(((e,o)=>s("div",{className:h("h-1.5 w-1.5 animate-dot rounded-full",1===o&&"animate-dot-down"),style:{backgroundColor:N.secondaryText}},o)))})):e("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[s("div",Object.assign({className:"flex items-center gap-3"},{children:s(u,{content:(null!==(y=null===(j=$.question)||void 0===j?void 0:j.responseParts)&&void 0!==y?y:[]).filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),sessionId:$.sessionId,messagesCount:$.messageCount+1,onOpenChat:()=>{return e=$.sessionId,q([]),M(!1),void P(e);var e},isReadOut:!1})})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:h(F.b3,"font-semibold uppercase opacity-30")},{children:L}))}))]}))}))]}))]})),s(m,{})]})):null};export{x as default};
|
|
1
|
+
import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useMemo as o}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as t}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as n}from"../../../../hooks/studio/useStyleFontSize.js";import{useScrollContext as l}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useDocument as a}from"../../Addons/Document/hooks/useDocument.js";import{useArtifact as r}from"../../Addons/Artifact/hooks/useArtifact.js";import{PickaxeMarkdown as c}from"../../common/PickaxeMarkdown/index.js";import d from"../../common/PickaxeIcon.js";import m from"../../Addons/Scroll/ScrollLockView.js";import p from"../../common/PickaxeMessageParts/index.js";import u from"../../common/PickaxeMessageActions.js";import h from"../../../../common/cn.js";import{formatLocalDateTime as f}from"../../../../common/date.js";const x=()=>{var x,b,g,v,j,y;const{pickaxe:k,styles:w,colors:N,misc:C,translations:O,disableHtml:I,disableJs:A,disableCss:S,isRtl:D,setSessionId:P,setIsNewChat:M}=i(),{response:$,isGenerating:R}=t(),{scrollTargetRef:T}=l(),{setDocuments:q}=a(),{onLoadArtifact:H}=r(),F=n(),L=f(null!==(x=null==$?void 0:$.sentAt)&&void 0!==x?x:new Date,"hh:mm a MMM dd, yy"),J=o((()=>{var e,s;if(!$)return"";const o=(null==O?void 0:O["not-available"])||"n/a";return(null!==(s=null===(e=$.question)||void 0===e?void 0:e.inputs)&&void 0!==s?s:[]).map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 500;">${e.question}</p>\n <p>${e.answer||o}</p>\n</div>`)).join("")}),[$,O]);return $?e("div",Object.assign({ref:T,className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[s("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:N.primary,color:N.text}},{children:e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar scrollbar-thin"},{children:[s("input",{id:`${$.sessionId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:J.length<280}),s("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:J}}),s("label",Object.assign({htmlFor:`${$.sessionId}-input`,className:h(F.b3,"mt-1 flex shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer"),style:{color:N.accent}},{children:(null==O?void 0:O["see-input"])||"See input"})),s("label",Object.assign({htmlFor:`${$.sessionId}-input`,className:h(F.b3,"hidden shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer"),style:{color:N.accent}},{children:(null==O?void 0:O["hide-input"])||"Hide input"}))]}))})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:N.secondary,color:N.secondaryText}},{children:[C.isChatImage&&s(d,{src:null==k?void 0:k.chaticon,alt:`${null==k?void 0:k.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:N.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2"},{children:[s(c,Object.assign({theme:w.theme,colors:N,isStreaming:R},D&&{rtl:!0},I&&{disableHtml:!0},A&&{disableJs:!0},S&&{disableCss:!0},{disableReasoning:null!==(b=null==k?void 0:k.enablereasoningdisplay)&&void 0!==b&&b,onArtifactClick:H},{children:s(p,{className:"overflow-x-auto pb-2 font-semilight scrollbar scrollbar-thin",parts:null!==(v=null===(g=$.question)||void 0===g?void 0:g.responseParts)&&void 0!==v?v:[],isStreaming:R})})),s("div",Object.assign({className:"flex flex-col"},{children:R?s("div",Object.assign({className:"flex items-center gap-x-2 rounded"},{children:Array.from({length:3}).map(((e,o)=>s("div",{className:h("h-1.5 w-1.5 animate-dot rounded-full",1===o&&"animate-dot-down"),style:{backgroundColor:N.secondaryText}},o)))})):e("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[s("div",Object.assign({className:"flex items-center gap-3"},{children:s(u,{responseKind:"form",content:(null!==(y=null===(j=$.question)||void 0===j?void 0:j.responseParts)&&void 0!==y?y:[]).filter((e=>e.isVisible&&"text"===e.type)).map((e=>e.content)).join("\n"),sessionId:$.sessionId,messagesCount:$.messageCount+1,onOpenChat:()=>{return e=$.sessionId,q([]),M(!1),void P(e);var e},isReadOut:!1})})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:h(F.b3,"font-semibold uppercase opacity-30")},{children:L}))}))]}))}))]}))]})),s(m,{})]})):null};export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsx as t,jsxs as s}from"react/jsx-runtime";import{getFormQuestionError as n}from"../../../../common/formQuestionValidation.js";import{useEndUserModel as i}from"../../../../hooks/pickaxe/useEndUserModel.js";import o from"../../common/EndUserModelPicker.js";import{updateStreamTextPart as r,upsertActionApprovalPart as a}from"../../../../common/actionApproval.js";import{useState as l,useRef as d,useMemo as c}from"react";import{usePickaxeContext as u}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as p}from"../../Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as m}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as f}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as v}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{extractUrlsFromText as h,initializeEmbedUserId as b}from"../../../../common/utils.js";import{createParser as j}from"eventsource-parser";import y from"../../common/PickaxeBranding.js";import O from"../../common/PickaxeButton.js";import x from"../../../../common/error.js";import{getValidationFailure as w}from"../../../../common/validation.js";const k=({navigation:k,paged:I=!1,questions:S,resetQuestions:A,onInvalidQuestion:C})=>{var E;const{origin:N,pickaxeId:P,sender:_,senderType:T,portalId:U,deploymentId:D,pickaxe:L,misc:q,translations:B,isRtl:J,setSessionId:
|
|
1
|
+
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsx as t,jsxs as s}from"react/jsx-runtime";import{getFormQuestionError as n}from"../../../../common/formQuestionValidation.js";import{useEndUserModel as i}from"../../../../hooks/pickaxe/useEndUserModel.js";import o from"../../common/EndUserModelPicker.js";import{updateStreamTextPart as r,upsertActionApprovalPart as a}from"../../../../common/actionApproval.js";import{useState as l,useRef as d,useMemo as c}from"react";import{usePickaxeContext as u}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as p}from"../../Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as m}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as f}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as v}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{extractUrlsFromText as h,initializeEmbedUserId as b}from"../../../../common/utils.js";import{createParser as j}from"eventsource-parser";import y from"../../common/PickaxeBranding.js";import O from"../../common/PickaxeButton.js";import x from"../../../../common/error.js";import{getValidationFailure as w}from"../../../../common/validation.js";const k=({navigation:k,paged:I=!1,questions:S,resetQuestions:A,onInvalidQuestion:C})=>{var E;const{origin:N,pickaxeId:P,sender:_,senderType:T,portalId:U,deploymentId:D,pickaxe:L,misc:q,translations:B,isRtl:J,setSessionId:R,setIsNewChat:V,setValidationStatus:K,setValidationUpgradeGroups:W,setValidationUpgradeUrl:X,setAccessGroup:G,onGenerateComplete:M}=u(),{value:$}=i(),{token:Q}=p(),{isGenerating:F,setResponse:Y,setMessages:z,setStatus:H,setLimitData:Z,setError:ee,setActionApprovalToken:te,setIsSwitchedToChat:se}=m(),{documents:ne,websiteLink:ie,isUploading:oe,onWebsiteUpload:re,setDocuments:ae,setDocumentError:le}=f(),{scrollStartSession:de,scrollEndSession:ce,scrollToTarget:ue}=g({auto:!(null==L?void 0:L.enablechatresponses)}),{artifacts:pe,currentPopupType:me,setArtifacts:fe,setCurrentArtifact:ge}=v(),[ve,he]=l(!1),[be,je]=l(!1),ye=d(null),Oe=e=>{const t=w(e);return!!t&&(ee(""),Z(null),K(t.status),G(t.accessGroup),W(t.upgradeGroups),X(t.upgradeUrl),!0)},xe=c((()=>S.some((e=>("Short Answer"===e.type||"Long Answer"===e.type||"long"===e.type||"short"===e.type||"Checkbox"===e.type||"Knowledge Upload"===e.type||e.id.includes("documentupload"))&&e.input.length>0))),[S])&&t(O,Object.assign({variant:"transparent-text",className:"min-h-[42px] px-5",isDisabled:oe||F||ve,onClick:A},{children:(null==B?void 0:B["form.clear-form"])||(null==B?void 0:B["clear-form"])||"Clear form"}));return s("div",Object.assign({className:I?"flex flex-col gap-4":"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:J?"rtl":"ltr"},{children:[I&&t(o,{}),s("div",Object.assign({className:I?"flex flex-wrap items-center justify-end gap-2":"flex items-center flex-grow flex-wrap gap-2"},{children:[!I&&t(o,{}),I&&k&&t("div",Object.assign({className:"me-auto shrink-0"},{children:k})),I&&xe,t(O,Object.assign({className:"px-5 min-h-[42px]",isDisabled:oe||F||ve,onClick:()=>e(void 0,void 0,void 0,(function*(){var e,t,s,i,o;try{if(F||oe||ve)return;ee(""),le(""),Z(null),Y(null);for(const t of S){const s=n(t);if(s)throw null==C||C(t.id),new Error(null!==(e=null==B?void 0:B[s])&&void 0!==e?e:"response-too-long"===s?"One or more of your responses is too long!":"You must fill out all required fields.")}const l=ne.filter((e=>"finished"===e.status)),d=ne.map((e=>e.name)),c=null!==(s=null===(t=null==L?void 0:L.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s,u=S.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),p=h(ie).filter((e=>!d.includes(e)));if(p.length){const e=p[p.length-1];he(!0);const t=yield re(e);t&&(l.push(t),yield new Promise((e=>setTimeout(e,5e3)))),he(!1)}else if(u&&c&&!l.length)return null==C||C("userinput:documentupload"),void le((null==B?void 0:B["document-upload-required"])||"Please paste a valid website/video link or drag a file to add to the knowledge base.");const m=l.map((e=>e.documentId||"")).filter(Boolean),f=c&&m.length>0,g={};S.forEach((e=>{g[e.id]="Knowledge Upload"===e.type||e.id.includes("documentupload")?l.map((e=>e.name)).join(",")||"":e.input})),je(!1),H("fetching"),de(),ue();const v=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,{method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:$||void 0,origin:N,pickaxeId:P,senderType:T,valueObj:g},f&&{documentIds:m}),_&&{sender:_}),Q&&{studioSessionToken:Q}),!Q&&!_&&{sender:b()}),U&&{portalId:U}),D&&{deploymentId:D}))}),y=yield v.json();if(!y.success){const e=new Error(y.error||y.message||(null==B?void 0:B["failed-to-start-generation"])||"Failed to start generation");if(y.limitData)throw e.limitData=y.limitData,e;if(Oe(y))return;throw e}if(!y.submissionId||!y.sessionId)throw new Error((null==B?void 0:B["failed-to-start-generation"])||"Failed to start generation");te(null!==(i=y.actionApprovalToken)&&void 0!==i?i:null);const O=y.submissionId,x=y.sessionId,w={sessionId:x,documentIds:f?m:[],question:{inputs:S.map((e=>({id:e.id,question:e.main,answer:e.input}))),responseParts:[]},messageCount:0,sentAt:new Date};Y(w),(null==L?void 0:L.enablechatresponses)&&(R(x),V(!1),se(!0),z([{id:0,role:"assistant",parts:[],documentIds:[],responseReference:"form-result"}])),f&&ae([]),H("streaming"),ye.current=new AbortController;const k=[];let I=[...null!=pe?pe:[]],A=0,E=!1,q="";for(;!E;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${O}?index=${A}`,{signal:null===(o=ye.current)||void 0===o?void 0:o.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader(),s=new TextDecoder,n=j({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&A++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Z(t.limitData),ee(""),void(E=!0);const s=t.error||t.message||(null==B?void 0:B["something-went-wrong"])||"Something went wrong.";return Oe(t)||ee(s),void(E=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("finish"===n.type)return void je(!0);if("text-start"===n.type)q="",k.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)q+=n.delta,r(k,"text",q);else if("text-end"===n.type)q="";else if("reasoning-start"===n.type)q="",k.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)q+=n.delta,r(k,"reasoning",q);else if("reasoning-end"===n.type)q="";else if(n.type.startsWith("data-")){const e=n;"data-action-approval"===e.type?a(k,e.data):k.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}const i=Object.assign(Object.assign({},w),{question:Object.assign(Object.assign({},w.question),{responseParts:[...k]})});Y(i),(null==L?void 0:L.enablechatresponses)&&z([{id:0,responseReference:"form-result",role:"assistant",parts:[...k],documentIds:[]}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),fe([...I]),me.startsWith("inline")||ge({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),fe([...I]),me.startsWith("inline")||ge({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),fe([...I]),me.startsWith("inline")||ge({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");I=I.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),fe([...I])}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);fe(I.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}}else E=!0}});for(;;){const{value:e,done:i}=yield t.read();if(i)break;n.feed(s.decode(e))}E||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if(e instanceof Error&&"AbortError"===e.name)return void(E=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==M||M(x)}catch(e){if((e=>e instanceof Error&&Boolean(e.limitData))(e))return Z(e.limitData),ee(""),void ue();let t=x(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==B?void 0:B["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),Oe(t)||ee(t),ue()}finally{H("idle"),he(!1),ce()}}))},{children:ve?(null==B?void 0:B.processing)||"Processing...":oe?(null==B?void 0:B.uploading)||"Uploading...":F&&!be?(null==B?void 0:B.loading)||"Loading...":null!==(E=null==L?void 0:L.submittext)&&void 0!==E?E:"Submit"})),!I&&xe]})),!q.isWhiteLabel&&t(y,{containerClassName:"justify-end"})]}))};export{k as default};
|