@pickaxeproject/react 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../Addons/Auth/hooks/useAuthContext.js"),t=require("../../Addons/Auth/hooks/useAuth.js"),l=require("../../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../../hooks/pickaxe/useDimensionContext.js"),o=require("../../Addons/Scroll/hooks/useScrollContext.js"),r=require("../../../../hooks/studio/useStyleFontSize.js"),c=require("../../../../hooks/pickaxe/useConversation.js"),d=require("../../Addons/Artifact/hooks/useArtifactContext.js"),u=require("framer-motion"),x=require("../../../Icons/lock.svg.js"),m=require("../../../Core/ErrorAlert.js"),j=require("../../common/PickaxeHead.js"),f=require("../../common/PickaxeEmbedHead.js"),h=require("../../common/PickaxeUpgradeCard.js"),p=require("../../common/PickaxeSkeleton.js"),g=require("../../common/PickaxeHistoryButton.js"),b=require("../../Addons/Scroll/ScrollLockView.js"),v=require("../../Addons/Artifact/Renderer/index.js"),y=require("./Message.js"),k=require("./CustomMessage.js"),w=require("../../Addons/IceBreaker/index.js"),N=require("../../common/PickaxeBranding.js"),C=require("../../../../common/cn.js");exports.default=({additionalScrollHeight:O,smitheryAuthData:q,isForceHideInfo:S,isInputFocused:A,onSubmit:P,resubmitPrompt:I})=>{var L,R,H,M,D;const{sessionId:B,deploymentType:E,pickaxe:F,translations:z,misc:T,isNewChat:$,isRtl:W,isEmbed:_,isEmailLogin:U,isShowIceBreaker:V,setSessionId:G,setLastSessionId:J}=a.usePickaxeContext(),{emailInput:K,isLoggedOut:Q,isSending:X,isResendDisabled:Y,isSent:Z}=i.useAuthContext(),{onSend:ee}=t.useAuth(),{scrollContainerRef:se}=o.useScrollContext(),{messages:ae,limitData:ie,error:te}=l.useResponseContext(),{height:le,width:ne}=n.useDimensionContext(),{currentArtifact:oe,chatPopupType:re,currentPopupType:ce}=d.useArtifactContext(),de=c.useConversation(),ue=r.useStyleFontSize(),xe=s.useMemo((()=>(null==F?void 0:F.icebreakers)?F.icebreakers.slice(0,3):[]),[null==F?void 0:F.icebreakers]),me=s.useMemo((()=>{const e=!!de.data&&de.data.messages.length>1;return!S&&de.isSuccess&&$&&!e}),[S,de.isSuccess,$,de.data]),je=s.useMemo((()=>!(null==F?void 0:F.chatflag)&&(null==F?void 0:F.enablechatresponses)&&ae.length>0),[F,ae]),fe=s.useMemo((()=>!!de.data&&de.data.messages.some((e=>"intromessage"===e.area))),[de.data]),he="chat-input"===E&&U&&Q&&Z,pe=V&&!A&&!fe&&me&&ne>767,ge=V&&!A&&(fe||ne<=767),be=()=>{J(B),G("")};return e.jsxs("div",Object.assign({ref:se,className:"flex w-full flex-col items-center overflow-y-auto mb-12 pb-4 scrollbar scrollbar-thin",style:{height:`calc(${le}px - 74px)`,paddingBottom:`${O+32}px`}},{children:[e.jsx(u.AnimatePresence,{children:!!oe&&"inline"===ce&&e.jsx(u.motion.div,Object.assign({className:C.default("absolute top-0 z-20 w-full px-4 py-2",re),style:{height:`calc(${le-O}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:e.jsx(v.default,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:oe.id,version:oe.version}})}))}),e.jsxs("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[me&&_&&e.jsx("div",Object.assign({className:C.default("absolute right-4 top-3 flex items-center gap-2","popup"===E&&"right-12")},{children:e.jsx(g.default,{tip:(null==z?void 0:z["chat-history"])||"Chat History",onClick:be})})),e.jsx(j.default,Object.assign({className:C.default("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",me&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!he&&{onIconClick:be})),_&&!de.isLoading&&e.jsx(f.default,Object.assign({className:C.default("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!me&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==z?void 0:z["chat-history"])||"Chat History"},!he&&{onIconClick:be,onHistoryClick:be})),e.jsxs("div",Object.assign({className:C.default("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",_&&!de.isLoading&&!me&&"mt-0")},{children:[pe&&e.jsx("div",Object.assign({className:C.default("grid grid-cols-3 gap-4",2===xe.length&&"grid-cols-2",1===xe.length&&"grid-cols-1")},{children:e.jsx(w.default,{type:"center",data:xe,onSend:P})})),he?e.jsx("div",Object.assign({className:"flex flex-col w-full"},{children:e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[e.jsx(k.default,Object.assign({chatRole:"user"},{children:e.jsxs("div",Object.assign({className:"flex items-center gap-x-3"},{children:[e.jsx(x.default,{className:"h-6 w-6 shrink-0"}),e.jsx("p",Object.assign({className:"font-semilight"},{children:K}))]}))})),e.jsx(k.default,Object.assign({chatRole:"assistant"},{children:e.jsxs("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(H=null==z?void 0:z["we-sent-your-an-activation-link"])&&void 0!==H?H:"We sent you an activation link. Please be sure to check your spam folder too."} `,e.jsx("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{Y||X||ee(!0)}},{children:X?null!==(M=null==z?void 0:z.resending)&&void 0!==M?M:"Resending...":null!==(D=null==z?void 0:z.resend)&&void 0!==D?D:"Resend"}))]}))}))]}))})):e.jsx(e.Fragment,{children:de.isLoading&&!(null==F?void 0:F.enablechatresponses)?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[$&&e.jsxs("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[e.jsx(p.default,{className:"w-[72px] h-[72px]"}),e.jsx(p.default,{className:"h-[20px] mt-6 w-full"}),e.jsx(p.default,{className:"h-[20px] mt-2 w-full"}),e.jsx(p.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),e.jsx(p.default,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),e.jsx(p.default,{className:"h-[150px] w-[70%] animate-pulse rounded"}),e.jsx(p.default,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):de.isError?e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:e.jsxs("p",Object.assign({className:C.default(ue.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):de.data||je?e.jsxs("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[(null!==(R=null===(L=de.data)||void 0===L?void 0:L.messages)&&void 0!==R?R:[]).map(((s,a)=>e.jsx(y.default,{index:a,message:s},a))),ae.map(((s,a)=>{var i,t;return e.jsx(y.default,{smitheryData:q,resubmitPrompt:I,index:(null!==(t=null===(i=de.data)||void 0===i?void 0:i.messages.length)&&void 0!==t?t:0)+a,message:s,isLastMessage:a===ae.length-1},a)})),ie?e.jsx("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e.jsx(h.default,{})})):te?e.jsx("div",Object.assign({className:C.default("flex items-center gap-x-3",W?"justify-end":"justify-start")},{children:e.jsx(m.default,{error:te})})):null]})),e.jsxs("div",Object.assign({className:C.default("flex flex-col",!T.isWhiteLabel||ge&&"mt-4")},{children:[!T.isWhiteLabel&&e.jsx(N.default,{containerClassName:C.default("justify-end",ge&&"mb-2")}),ge&&e.jsx("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:e.jsx(w.default,{type:"right",data:xe,onSend:P})})),e.jsx(b.default,{})]}))]})):null})]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),i=require("../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../Addons/Auth/hooks/useAuthContext.js"),t=require("../../Addons/Auth/hooks/useAuth.js"),l=require("../../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../../hooks/pickaxe/useDimensionContext.js"),r=require("../../Addons/Scroll/hooks/useScrollContext.js"),o=require("../../../../hooks/studio/useStyleFontSize.js"),c=require("../../../../hooks/pickaxe/useConversation.js"),d=require("../../Addons/Artifact/hooks/useArtifactContext.js"),u=require("framer-motion"),x=require("../../../Icons/lock.svg.js"),m=require("../../../Core/ErrorAlert.js"),f=require("../../common/PickaxeHead.js"),j=require("../../common/PickaxeEmbedHead.js"),h=require("../../common/PickaxeUpgradeCard.js"),g=require("../../common/PickaxeSkeleton.js"),p=require("../../common/PickaxeHistoryButton.js"),b=require("../../Addons/Scroll/ScrollLockView.js"),v=require("../../Addons/Artifact/Renderer/index.js"),y=require("./Message.js"),k=require("./CustomMessage.js"),w=require("../../Addons/IceBreaker/index.js"),N=require("../../common/PickaxeBranding.js"),C=require("../../../../common/cn.js");exports.default=({additionalScrollHeight:O,smitheryAuthData:q,isForceHideInfo:S,isInputFocused:A,onSubmit:P,resubmitPrompt:I})=>{var H,L,R,M,D;const{sessionId:E,deploymentType:F,pickaxe:B,translations:T,misc:z,isNewChat:W,isRtl:_,isEmbed:$,isEmailLogin:U,isShowIceBreaker:V,setSessionId:G,setLastSessionId:J}=i.usePickaxeContext(),{emailInput:K,isLoggedOut:Q,isSending:X,isResendDisabled:Y,isSent:Z}=a.useAuthContext(),{onSend:ee}=t.useAuth(),{scrollContainerRef:se}=r.useScrollContext(),{messages:ie,limitData:ae,error:te}=l.useResponseContext(),{height:le,width:ne}=n.useDimensionContext(),{currentArtifact:re,chatPopupType:oe,currentPopupType:ce}=d.useArtifactContext(),de=c.useConversation(),ue=o.useStyleFontSize(),xe=s.useMemo((()=>(null==B?void 0:B.icebreakers)?B.icebreakers.slice(0,3):[]),[null==B?void 0:B.icebreakers]),me=s.useMemo((()=>{const e=!!de.data&&de.data.messages.length>1;return!S&&de.isSuccess&&W&&!e}),[S,de.isSuccess,W,de.data]),fe=s.useMemo((()=>!(null==B?void 0:B.chatflag)&&(null==B?void 0:B.enablechatresponses)&&ie.length>0),[B,ie]),je=s.useMemo((()=>!!de.data&&de.data.messages.some((e=>"intromessage"===e.area))),[de.data]),he="chat-input"===F&&U&&Q&&Z,ge=V&&!A&&!je&&me&&ne>767,pe=V&&!A&&(je||ne<=767),be=()=>{J(E),G("")};return s.useEffect((()=>{se.current&&requestAnimationFrame((()=>{se.current&&(se.current.scrollTop=se.current.scrollHeight)}))}),[O,se]),e.jsxs("div",Object.assign({ref:se,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4"},{children:[e.jsx(u.AnimatePresence,{children:!!re&&"inline"===ce&&e.jsx(u.motion.div,Object.assign({className:C.default("absolute top-0 z-20 w-full px-4 py-2",oe),style:{height:`calc(${le-O}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:e.jsx(v.default,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:re.id,version:re.version}})}))}),e.jsxs("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[me&&$&&e.jsx("div",Object.assign({className:C.default("absolute right-4 top-3 flex items-center gap-2","popup"===F&&"right-12")},{children:e.jsx(p.default,{tip:(null==T?void 0:T["chat-history"])||"Chat History",onClick:be})})),e.jsx(f.default,Object.assign({className:C.default("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",me&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!he&&{onIconClick:be})),$&&!de.isLoading&&e.jsx(j.default,Object.assign({className:C.default("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!me&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==T?void 0:T["chat-history"])||"Chat History"},!he&&{onIconClick:be,onHistoryClick:be})),e.jsxs("div",Object.assign({className:C.default("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",$&&!de.isLoading&&!me&&"mt-0")},{children:[ge&&e.jsx("div",Object.assign({className:C.default("grid grid-cols-3 gap-4",2===xe.length&&"grid-cols-2",1===xe.length&&"grid-cols-1")},{children:e.jsx(w.default,{type:"center",data:xe,onSend:P})})),he?e.jsx("div",Object.assign({className:"flex flex-col w-full"},{children:e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[e.jsx(k.default,Object.assign({chatRole:"user"},{children:e.jsxs("div",Object.assign({className:"flex items-center gap-x-3"},{children:[e.jsx(x.default,{className:"h-6 w-6 shrink-0"}),e.jsx("p",Object.assign({className:"font-semilight"},{children:K}))]}))})),e.jsx(k.default,Object.assign({chatRole:"assistant"},{children:e.jsxs("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(R=null==T?void 0:T["we-sent-your-an-activation-link"])&&void 0!==R?R:"We sent you an activation link. Please be sure to check your spam folder too."} `,e.jsx("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{Y||X||ee(!0)}},{children:X?null!==(M=null==T?void 0:T.resending)&&void 0!==M?M:"Resending...":null!==(D=null==T?void 0:T.resend)&&void 0!==D?D:"Resend"}))]}))}))]}))})):e.jsx(e.Fragment,{children:de.isLoading&&!(null==B?void 0:B.enablechatresponses)?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[W&&e.jsxs("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[e.jsx(g.default,{className:"w-[72px] h-[72px]"}),e.jsx(g.default,{className:"h-[20px] mt-6 w-full"}),e.jsx(g.default,{className:"h-[20px] mt-2 w-full"}),e.jsx(g.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),e.jsx(g.default,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),e.jsx(g.default,{className:"h-[150px] w-[70%] animate-pulse rounded"}),e.jsx(g.default,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):de.isError?e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:e.jsxs("p",Object.assign({className:C.default(ue.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):de.data||fe?e.jsxs("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[(null!==(L=null===(H=de.data)||void 0===H?void 0:H.messages)&&void 0!==L?L:[]).map(((s,i)=>e.jsx(y.default,{index:i,message:s},i))),ie.map(((s,i)=>{var a,t;return e.jsx(y.default,{smitheryData:q,resubmitPrompt:I,index:(null!==(t=null===(a=de.data)||void 0===a?void 0:a.messages.length)&&void 0!==t?t:0)+i,message:s,isLastMessage:i===ie.length-1},i)})),ae?e.jsx("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e.jsx(h.default,{})})):te?e.jsx("div",Object.assign({className:C.default("flex items-center gap-x-3",_?"justify-end":"justify-start")},{children:e.jsx(m.default,{error:te})})):null]})),e.jsxs("div",Object.assign({className:C.default("flex flex-col",!z.isWhiteLabel||pe&&"mt-4")},{children:[!z.isWhiteLabel&&e.jsx(N.default,{containerClassName:C.default("justify-end",pe&&"mb-2")}),pe&&e.jsx("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:e.jsx(w.default,{type:"right",data:xe,onSend:P})})),e.jsx(b.default,{})]}))]})):null})]}))]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react");require("../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js");var n=require("react-speech-recognition"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),o=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),c=require("../../../hooks/pickaxe/useDimensionContext.js"),u=require("../Addons/Auth/hooks/useAuthContext.js"),d=require("../Addons/Document/hooks/useDocument.js"),f=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),g=require("../../../hooks/core/useHover.js"),h=require("../../../hooks/core/useMediaQuery.js"),m=require("../../../common/documents.js"),v=require("eventsource-parser"),b=require("../../Icons/attach-vertical.svg.js"),y=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),j=require("../../Icons/stop.svg.js"),w=require("../Addons/Document/List.js"),S=require("../../Core/Textarea.js"),O=require("../../Core/ErrorAlert.js"),k=require("../../../common/error.js"),C=require("../../../common/cn.js");function N(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var _=N(n);const I=s.forwardRef((({resubmitPrompt:N,onFocus:I,onBlur:E,onInputHeightChange:A,initSmitheryAuthData:T},q)=>{var R,P,D;const{origin:L,pickaxeId:H,sessionId:F,sender:M,senderType:$,deploymentId:W,deploymentType:B,pickaxe:J,styles:U,colors:z,locale:K,forceMobile:X,isNewChat:V,isRtl:G,isEmailLogin:Q,isShowFeedbackMessage:Y,setIsNewChat:Z,setIsShowIceBreaker:ee,onGenerateComplete:te}=r.usePickaxeContext(),{token:se,isLoggedOut:ne,isSent:re}=u.useAuthContext(),{messages:ie,limits:oe,isGenerating:ae,setMessages:le,setStatus:ce,setLimitData:ue,setError:de}=i.useResponseContext(),{documents:fe,isUploading:pe,documentError:ge,onFileUpload:he,setDocuments:me,setDocumentError:ve}=d.useDocument(),{scrollStartSession:be,scrollEndSession:ye,scrollToBottom:xe}=f.useScroll({auto:!0}),{artifacts:je,currentPopupType:we,setArtifacts:Se,setCurrentArtifact:Oe}=p.useArtifactContext(),{height:ke}=c.useDimensionContext(),Ce=l.useConversation(),[Ne,_e]=s.useState(""),[Ie,Ee]=s.useState(!1),[Ae,Te]=s.useState(!1),qe=s.useRef(null),Re=s.useRef(""),Pe=s.useRef(null),De=s.useRef(null),Le=s.useRef(null),He=s.useRef(null),Fe=s.useRef(null),Me=Math.max(.2*ke,100),{transcript:$e,listening:We,resetTranscript:Be,browserSupportsSpeechRecognition:Je}=n.useSpeechRecognition(),[Ue]=h.useMediaQuery("(max-width: 480px)"),ze=g.useHover(),{isHover:Ke}=ze,Xe=e.__rest(ze,["isHover"]),Ve=g.useHover(),{isHover:Ge}=Ve,Qe=e.__rest(Ve,["isHover"]),Ye=g.useHover(),{isHover:Ze}=Ye,et=e.__rest(Ye,["isHover"]),[tt,st]=s.useState(!1),nt=a.useStyleFontSize(),rt=o.useStyleInput(),it=null===(R=null==J?void 0:J.documentuploadtype)||void 0===R?void 0:R.startsWith("enduserupload"),ot=Je&&(null==J?void 0:J.enablevoicetotext),at="chat-input"===B&&V&&!re,lt="chat-input"===B&&Q&&ne&&re,ct=Ie||Ae,ut=s.useMemo((()=>{var e,t,s;return!!V&&(!!J&&(!Ce.isLoading&&(!((null!==(t=null===(e=Ce.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=J.icebreakers)||void 0===s?void 0:s.length)&&(!Y&&!at)))))}),[J,V,Y,at,Ce.data,Ce.isLoading]),dt=s.useMemo((()=>{if(ae||pe)return!1;const e=fe.length>0&&fe.every((e=>"finished"===e.status));return!(!Ne.trim()&&!e)&&fe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ae,pe,Ne,fe]);s.useImperativeHandle(q,(()=>({onSubmit:ft}))),s.useEffect((()=>{ee(ut)}),[ut]),s.useEffect((()=>{var e;if(N){const t=Array.from(ie),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;ft(s,!0)}}),[N]),s.useEffect((()=>{if(!He.current||!A)return;const e=new ResizeObserver((e=>{for(const t of e)A(t.contentRect.height)}));return e.observe(He.current),()=>{e.disconnect()}}),[A]),s.useEffect((()=>{if(!We)return;const e=Re.current?`${Re.current} `:"";_e(`${e}${$e}`)}),[$e,We]),s.useEffect((()=>{if(!De.current)return;(()=>{if(!De.current)return;let e=De.current.scrollHeight>52;Ne.includes("\n")||fe.length?e=!0:Ne.trim()||(e=!1),Ee(e)})()}),[Ne,fe]),s.useEffect((()=>{const e=De.current,t=Le.current;if(!e||!t||Ie||Ne.includes("\n"))return void Te(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,r=document.createElement("span");Object.assign(r.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),r.textContent=Ne,document.body.appendChild(r);const i=r.offsetWidth;r.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;Te(i>l)}),[Ne,Ie]);const ft=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,r;try{if(ae||pe)return;const i=fe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),o=i.length>0,a=null!=t?t:Ne;if(!a&&!o)return;de(""),ve(""),ue(null),_e(""),Z(!1),ce("fetching"),be(),xe();const l=null!==(n=null===(e=null==J?void 0:J.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&i.length>0,c=[...s?Array.from(ie.slice(0,ie.length-1)):Array.from(ie),...s?[]:[{id:ie.length+1,role:"user",parts:[{type:"text",content:a,isVisible:!0}],documentIds:l?i:[]}],{id:ie.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];le(c),xe(),l&&me([]);const u=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign({origin:L,pickaxeId:H,sessionId:F,senderType:$,value:a},l&&{documentIds:i}),M&&{sender:M}),se&&{studioSessionToken:se}),W&&{deploymentId:W}))}),d=yield u.json();if(console.log("SubmitData: ",d),!d.success)throw new Error(d.error||"Failed to start generation");const f=d.submissionId;ce("streaming"),Fe.current=new AbortController;const p=c.length-1,g=[];let h=[...null!=je?je:[]],m=0,b=!1,y="";for(;!b;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${f}?index=${m}`,{signal:null===(r=Fe.current)||void 0===r?void 0:r.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();Pe.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&m++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);return de(t.error||"Something went wrong."),void(b=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&T){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw b=!0,T({smitheryId:t[1],serverId:s[1],name:n[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 b=!0,T({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)y="",g.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)y+=n.delta,g[g.length-1].content=y;else if("text-end"===n.type)y="";else if("reasoning-start"===n.type)y="",g.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)y+=n.delta,g[g.length-1].content=y;else if("reasoning-end"===n.type)y="";else if(n.type.startsWith("data-")){const e=n;g.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}le([...c.slice(0,p),Object.assign(Object.assign({},c[c.length-1]),{id:ie.length+1,role:"assistant",parts:g})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se([...h]),we.startsWith("inline")||Oe({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Se(h),we.startsWith("inline")||Oe({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se(h),we.startsWith("inline")||Oe({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");h=h.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Se(h)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Se(h.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);de(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(b=!0)}else b=!0}});for(;;){const{value:e,done:r}=yield t.read();if(r)break;n.feed(s.decode(e))}b||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(b=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==te||te(F)}catch(e){let t=k.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(oe).find((([e])=>t.includes(e)));s?ue(s[1]):de(t)}finally{xe(),ce("idle"),ye(),Pe.current=null}}));return lt?null:t.jsx("div",Object.assign({className:C.default("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!at&&"px-4 pb-8"),dir:G?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:He,className:C.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===U.formFieldStyle&&"shadow"),style:Object.assign(Object.assign(Object.assign({},rt),tt&&{backgroundColor:"#EEEEEE"}),{maxHeight:`${Me}px`,overflowY:"auto"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),st(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),st(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),st(!0)},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),st(!1);const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(Z(!1),yield he(e))}))},{children:[We&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(P=z.accent)&&void 0!==P?P:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:z.text+"90"}},{children:"Listening..."}))]})),!ae&&fe.length>0&&t.jsx(w.default,{className:"p-4 pb-0",isDisabled:ae}),t.jsx(S.default,Object.assign({ref:De,className:C.default(nt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ne.trim()&&!Ne.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",G?"text-right":"text-left",ct&&"mb-12",We&&"text-transparent"),value:Ne,placeholder:null!==(D=null==J?void 0:J.placeholdertext)&&void 0!==D?D:G?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(_e(e),A){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void A(0);if(t>=11)return;let s=0;t>1&&(s=50),A(24*(t-1)+s)}},onKeyDown:e=>{X||Ue||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),pe||ae||ft()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),Z(!1),yield he(e))}))},I&&{onFocus:I},E&&{onBlur:E},{dir:G?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:Le,className:C.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",ct?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ct&&rt.backgroundColor&&{backgroundColor:rt.backgroundColor}),{borderTopRightRadius:U.cornerRadius+"px",borderBottomRightRadius:U.cornerRadius+"px"})},{children:ae?t.jsx("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:()=>{Fe.current&&(Fe.current.abort(),Fe.current=null),Pe.current&&(Pe.current.cancel(),Pe.current=null),ce("idle")},style:{backgroundColor:z.accent,color:z.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):We?t.jsx("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:_.default.stopListening,style:{backgroundColor:z.accent,color:z.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[it&&t.jsxs("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:Ge?z.accent+"10":void 0,color:Ge?z.accent:z.accent+"80"},disabled:pe||ae,onClick:()=>{var e;return null===(e=qe.current)||void 0===e?void 0:e.click()}},Qe,{children:[t.jsx("input",{id:"file-upload",ref:qe,type:"file",accept:[...m.allowedFileMimeTypes,...m.allowedImageMimeTypes,...m.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){Z(!1),yield he(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(b.default,{className:"h-6 w-6 shrink-0"})]})),ot&&t.jsx("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:We?z.accent:Ze?z.accent+"10":void 0,color:We?z.accentText:Ze?z.accent:z.accent+"80"},disabled:pe||ae,onClick:()=>{We?_.default.stopListening():(Re.current=Ne,Be(),_.default.startListening({continuous:!0,interimResults:!0,language:K||"en-US"}))}},et,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("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:Ke||dt?z.accent:z.accent+"10",color:Ke||dt?z.accentText:z.accent+"80"},disabled:!dt,onClick:()=>ft()},Xe,{children:t.jsx(y.default,{className:C.default("h-6 w-6 shrink-0",G&&"scale-x-[-1] transform")})}))]})}))]})),ge&&t.jsx(O.default,{error:ge,className:"mt-3"})]}))}))}));I.displayName="Input",exports.default=I;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react");require("../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js");var n=require("react-speech-recognition"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),o=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),c=require("../../../hooks/pickaxe/useDimensionContext.js"),u=require("../Addons/Auth/hooks/useAuthContext.js"),d=require("../Addons/Document/hooks/useDocument.js"),f=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),g=require("../../../hooks/core/useHover.js"),h=require("../../../hooks/core/useMediaQuery.js"),m=require("../../../common/documents.js"),v=require("eventsource-parser"),y=require("../../Icons/attach-vertical.svg.js"),b=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),j=require("../../Icons/stop.svg.js"),w=require("../Addons/Document/List.js"),S=require("../../Core/Textarea.js"),O=require("../../Core/ErrorAlert.js"),k=require("../../../common/error.js"),C=require("../../../common/cn.js");function N(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var _=N(n);const I=s.forwardRef((({resubmitPrompt:N,onFocus:I,onBlur:E,onInputHeightChange:A,initSmitheryAuthData:T},q)=>{var R,P,D;const{origin:L,pickaxeId:H,sessionId:F,sender:M,senderType:$,deploymentId:W,deploymentType:B,pickaxe:J,styles:U,colors:K,locale:X,forceMobile:z,isNewChat:V,isRtl:G,isEmailLogin:Q,isShowFeedbackMessage:Y,setIsNewChat:Z,setIsShowIceBreaker:ee,onGenerateComplete:te}=r.usePickaxeContext(),{token:se,isLoggedOut:ne,isSent:re}=u.useAuthContext(),{messages:ie,limits:oe,isGenerating:ae,setMessages:le,setStatus:ce,setLimitData:ue,setError:de}=i.useResponseContext(),{documents:fe,isUploading:pe,documentError:ge,onFileUpload:he,setDocuments:me,setDocumentError:ve}=d.useDocument(),{scrollStartSession:ye,scrollEndSession:be,scrollToBottom:xe}=f.useScroll({auto:!0}),{artifacts:je,currentPopupType:we,setArtifacts:Se,setCurrentArtifact:Oe}=p.useArtifactContext(),{height:ke}=c.useDimensionContext(),Ce=l.useConversation(),[Ne,_e]=s.useState(""),[Ie,Ee]=s.useState(!1),[Ae,Te]=s.useState(!1),qe=s.useRef(null),Re=s.useRef(""),Pe=s.useRef(null),De=s.useRef(null),Le=s.useRef(null),He=s.useRef(null),Fe=s.useRef(null),Me=Math.max(.4*ke,100),{transcript:$e,listening:We,resetTranscript:Be,browserSupportsSpeechRecognition:Je}=n.useSpeechRecognition(),[Ue]=h.useMediaQuery("(max-width: 480px)"),Ke=g.useHover(),{isHover:Xe}=Ke,ze=e.__rest(Ke,["isHover"]),Ve=g.useHover(),{isHover:Ge}=Ve,Qe=e.__rest(Ve,["isHover"]),Ye=g.useHover(),{isHover:Ze}=Ye,et=e.__rest(Ye,["isHover"]),[tt,st]=s.useState(!1),nt=a.useStyleFontSize(),rt=o.useStyleInput(),it=null===(R=null==J?void 0:J.documentuploadtype)||void 0===R?void 0:R.startsWith("enduserupload"),ot=Je&&(null==J?void 0:J.enablevoicetotext),at="chat-input"===B&&V&&!re,lt="chat-input"===B&&Q&&ne&&re,ct=null!==(P=null==J?void 0:J.placeholdertext)&&void 0!==P?P:G?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",ut=Ie||Ae,dt=s.useMemo((()=>{var e,t,s;return!!V&&(!!J&&(!Ce.isLoading&&(!((null!==(t=null===(e=Ce.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=J.icebreakers)||void 0===s?void 0:s.length)&&(!Y&&!at)))))}),[J,V,Y,at,Ce.data,Ce.isLoading]),ft=s.useMemo((()=>{if(ae||pe)return!1;const e=fe.length>0&&fe.every((e=>"finished"===e.status));return!(!Ne.trim()&&!e)&&fe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ae,pe,Ne,fe]);s.useImperativeHandle(q,(()=>({onSubmit:pt}))),s.useEffect((()=>{ee(dt)}),[dt]),s.useEffect((()=>{var e;if(N){const t=Array.from(ie),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;pt(s,!0)}}),[N]),s.useEffect((()=>{if(!He.current||!A)return;const e=new ResizeObserver((e=>{for(const t of e)A(t.contentRect.height)}));return e.observe(He.current),()=>{e.disconnect()}}),[A]),s.useEffect((()=>{if(!We)return;const e=Re.current?`${Re.current} `:"";_e(`${e}${$e}`)}),[$e,We]),s.useEffect((()=>{if(!De.current)return;(()=>{if(!De.current)return;let e=De.current.scrollHeight>52;Ne.includes("\n")||fe.length?e=!0:Ne.trim()||(e=!1),Ee(e)})()}),[Ne,fe]),s.useEffect((()=>{const e=De.current,t=Le.current;if(!e||!t||Ie||Ne.includes("\n"))return void Te(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,r=document.createElement("span");Object.assign(r.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),r.textContent=Ne||ct,document.body.appendChild(r);const i=r.offsetWidth;r.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;Te(i>l)}),[Ne,Ie,ct]);const pt=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,r;try{if(ae||pe)return;const i=fe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),o=i.length>0,a=null!=t?t:Ne;if(!a&&!o)return;de(""),ve(""),ue(null),_e(""),Z(!1),ce("fetching"),ye(),xe();const l=null!==(n=null===(e=null==J?void 0:J.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&i.length>0,c=[...s?Array.from(ie.slice(0,ie.length-1)):Array.from(ie),...s?[]:[{id:ie.length+1,role:"user",parts:[{type:"text",content:a,isVisible:!0}],documentIds:l?i:[]}],{id:ie.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];le(c),xe(),l&&me([]);const u=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign({origin:L,pickaxeId:H,sessionId:F,senderType:$,value:a},l&&{documentIds:i}),M&&{sender:M}),se&&{studioSessionToken:se}),W&&{deploymentId:W}))}),d=yield u.json();if(console.log("SubmitData: ",d),!d.success)throw new Error(d.error||"Failed to start generation");const f=d.submissionId;ce("streaming"),Fe.current=new AbortController;const p=c.length-1,g=[];let h=[...null!=je?je:[]],m=0,y=!1,b="";for(;!y;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${f}?index=${m}`,{signal:null===(r=Fe.current)||void 0===r?void 0:r.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();Pe.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&m++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);return de(t.error||"Something went wrong."),void(y=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&T){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw y=!0,T({smitheryId:t[1],serverId:s[1],name:n[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 y=!0,T({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)b="",g.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)b+=n.delta,g[g.length-1].content=b;else if("text-end"===n.type)b="";else if("reasoning-start"===n.type)b="",g.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)b+=n.delta,g[g.length-1].content=b;else if("reasoning-end"===n.type)b="";else if(n.type.startsWith("data-")){const e=n;g.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}le([...c.slice(0,p),Object.assign(Object.assign({},c[c.length-1]),{id:ie.length+1,role:"assistant",parts:g})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se([...h]),we.startsWith("inline")||Oe({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Se(h),we.startsWith("inline")||Oe({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se(h),we.startsWith("inline")||Oe({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");h=h.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Se(h)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Se(h.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);de(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(y=!0)}else y=!0}});for(;;){const{value:e,done:r}=yield t.read();if(r)break;n.feed(s.decode(e))}y||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(y=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==te||te(F)}catch(e){let t=k.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(oe).find((([e])=>t.includes(e)));s?ue(s[1]):de(t)}finally{xe(),ce("idle"),be(),Pe.current=null}}));return lt?null:t.jsx("div",Object.assign({className:C.default("flex w-full flex-shrink-0 flex-col items-center",!at&&"px-4 pb-8"),dir:G?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:He,className:C.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===U.formFieldStyle&&"shadow"),style:Object.assign(Object.assign(Object.assign({},rt),tt&&{backgroundColor:"#EEEEEE"}),{maxHeight:`${Me}px`,overflowY:"auto"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),st(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),st(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),st(!0)},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),st(!1);const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(Z(!1),yield he(e))}))},{children:[We&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(D=K.accent)&&void 0!==D?D:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:K.text+"90"}},{children:"Listening..."}))]})),!ae&&fe.length>0&&t.jsx(w.default,{className:"p-4 pb-0",isDisabled:ae}),t.jsx(S.default,Object.assign({ref:De,className:C.default(nt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ne.trim()&&!Ne.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",G?"text-right":"text-left",ut&&"mb-12",We&&"text-transparent"),value:Ne,placeholder:ct,onChange:e=>{if(_e(e),A){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void A(0);if(t>=11)return;let s=0;t>1&&(s=50),A(24*(t-1)+s)}},onKeyDown:e=>{z||Ue||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),pe||ae||pt()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),Z(!1),yield he(e))}))},I&&{onFocus:I},E&&{onBlur:E},{dir:G?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:Le,className:C.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",ut?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ut&&rt.backgroundColor&&{backgroundColor:rt.backgroundColor}),{borderTopRightRadius:U.cornerRadius+"px",borderBottomRightRadius:U.cornerRadius+"px"})},{children:ae?t.jsx("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:()=>{Fe.current&&(Fe.current.abort(),Fe.current=null),Pe.current&&(Pe.current.cancel(),Pe.current=null),ce("idle")},style:{backgroundColor:K.accent,color:K.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):We?t.jsx("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:_.default.stopListening,style:{backgroundColor:K.accent,color:K.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[it&&t.jsxs("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:Ge?K.accent+"10":void 0,color:Ge?K.accent:K.accent+"80"},disabled:pe||ae,onClick:()=>{var e;return null===(e=qe.current)||void 0===e?void 0:e.click()}},Qe,{children:[t.jsx("input",{id:"file-upload",ref:qe,type:"file",accept:[...m.allowedFileMimeTypes,...m.allowedImageMimeTypes,...m.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){Z(!1),yield he(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(y.default,{className:"h-6 w-6 shrink-0"})]})),ot&&t.jsx("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:We?K.accent:Ze?K.accent+"10":void 0,color:We?K.accentText:Ze?K.accent:K.accent+"80"},disabled:pe||ae,onClick:()=>{We?_.default.stopListening():(Re.current=Ne,Be(),_.default.startListening({continuous:!0,interimResults:!0,language:X||"en-US"}))}},et,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("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:Xe||ft?K.accent:K.accent+"10",color:Xe||ft?K.accentText:K.accent+"80"},disabled:!ft,onClick:()=>pt()},ze,{children:t.jsx(b.default,{className:C.default("h-6 w-6 shrink-0",G&&"scale-x-[-1] transform")})}))]})}))]})),ge&&t.jsx(O.default,{error:ge,className:"mt-3"})]}))}))}));I.displayName="Input",exports.default=I;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),u=require("../Addons/Auth/hooks/useAuthContext.js"),n=require("../../../hooks/pickaxe/useDimensionContext.js"),i=require("../Addons/Document/hooks/useDocument.js"),o=require("./History/index.js"),c=require("./Input.js");exports.default=()=>{const{deploymentType:a,isNewChat:l}=r.usePickaxeContext(),{isSent:d}=u.useAuthContext(),{width:h,height:x,setDimension:f}=n.useDimensionContext(),{setDocuments:m}=i.useDocument(),[j,p]=s.useState(0),[v,b]=s.useState(!1),q=s.useRef(null),D=s.useRef(null),[S,g]=s.useState(null),[k,C]=s.useState(!1),A="chat-input"===a&&l&&!d;return s.useEffect((()=>()=>{m([])}),[]),s.useEffect((()=>{if(!q.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:s}=t.contentRect;f(parseInt(e.toFixed(0)),parseInt(s.toFixed(0)))}}));return e.observe(q.current),()=>{e.disconnect()}}),[q.current]),t.jsx("div",Object.assign({ref:q,className:"relative flex flex-grow flex-col items-center"},{children:A?t.jsx(c.default,{}):t.jsxs(t.Fragment,{children:[t.jsx(o.default,{additionalScrollHeight:j,isForceHideInfo:x<=545||h<=350||v,isInputFocused:v,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){D.current&&D.current.onSubmit(t)})),smitheryAuthData:S,resubmitPrompt:()=>{g(null),C(!0)}}),t.jsx(c.default,{ref:D,onFocus:()=>b(!0),onBlur:()=>b(!1),onInputHeightChange:p,initSmitheryAuthData:e=>g(e),resubmitPrompt:k})]})}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),u=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../Addons/Auth/hooks/useAuthContext.js"),n=require("../../../hooks/pickaxe/useDimensionContext.js"),i=require("../Addons/Document/hooks/useDocument.js"),o=require("./History/index.js"),c=require("./Input.js");exports.default=()=>{const{deploymentType:a,isNewChat:l}=u.usePickaxeContext(),{isSent:d}=r.useAuthContext(),{width:h,height:x,setDimension:f}=n.useDimensionContext(),{setDocuments:m}=i.useDocument(),[j,p]=s.useState(0),[v,b]=s.useState(!1),q=s.useRef(null),D=s.useRef(null),[S,k]=s.useState(null),[C,g]=s.useState(!1),A="chat-input"===a&&l&&!d;return s.useEffect((()=>()=>{m([])}),[]),s.useEffect((()=>{if(!q.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:s}=t.contentRect;f(parseInt(e.toFixed(0)),parseInt(s.toFixed(0)))}}));return e.observe(q.current),()=>{e.disconnect()}}),[q.current]),t.jsx("div",Object.assign({ref:q,className:"relative flex h-full w-full flex-col items-center"},{children:A?t.jsx(c.default,{}):t.jsxs(t.Fragment,{children:[t.jsx(o.default,{additionalScrollHeight:j,isForceHideInfo:x<=545||h<=350||v,isInputFocused:v,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){D.current&&D.current.onSubmit(t)})),smitheryAuthData:S,resubmitPrompt:()=>{k(null),g(!0)}}),t.jsx(c.default,{ref:D,onFocus:()=>b(!0),onBlur:()=>b(!1),onInputHeightChange:p,initSmitheryAuthData:e=>k(e),resubmitPrompt:C})]})}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../hooks/pickaxe/usePickaxe.js"),s=require("react"),r=require("../../hooks/pickaxe/usePickaxeContext.js"),a=require("./Addons/Auth/hooks/useAuthContext.js"),o=require("../../hooks/pickaxe/useResponseContext.js"),i=require("./Addons/Document/hooks/useDocumentContext.js"),l=require("./Addons/Artifact/hooks/useArtifactContext.js"),n=require("uuid"),u=require("./Addons/Scroll/Provider.js"),c=require("./common/PickaxeSkeleton.js"),x=require("./Chat/index.js"),d=require("./Form/index.js"),p=require("./Addons/Auth/index.js"),f=require("../../common/cn.js");exports.Pickaxe=({pickaxeId:m,className:j})=>{const{sessionId:h,styles:k,colors:w,responsiveBy:g,deploymentType:C,isNewChat:q,isEmailLogin:v,opacity:y,setContextId:A,setPickaxeId:P,setSessionId:N,setPickaxe:b}=r.usePickaxeContext(),{isLoggedOut:S,isSent:O}=a.useAuthContext(),{setMessages:E,setResponse:I,setError:D,setLimitData:F,setIsSwitchedToChat:L}=o.useResponseContext(),{setDocumentError:M}=i.useDocumentContext(),{setCurrentArtifact:R}=l.useArtifactContext(),[T,$]=s.useState(!1),_=t.usePickaxe(),B="chat-input"===C&&q&&!O,H="popup"===C&&h,W="chat-input"!==C||!O,z="popup"===C&&!h&&v&&S;s.useEffect((()=>{P(m)}),[m]),s.useEffect((()=>{if(!_.data)return;const e=_.data.chatflag;N(e?n.v4():""),A(n.v4()),e?E([]):I(null),D(""),M(""),F(null),R(null),L(!1),b(_.data),$(!0)}),[_.data]),s.useEffect((()=>{D(""),M(""),F(null),E([]),I(null),R(null)}),[h]);const G=s.useMemo((()=>{const e=null!=y?y:1;if(!w.primary||!w.primary.startsWith("#")||e<0||e>1)return w.primary;const t=Math.round(255*e).toString(16).padStart(2,"0");return`${w.primary}${t}`}),[w.primary,y]);return _.data?e.jsx("div",Object.assign({className:f.default("relative @container/pickaxe-root flex flex-col flex-grow w-full",(!C||H||z)&&"h-full","dark"===k.theme&&"dark",j),style:Object.assign({backgroundColor:B?"transparent":G,color:w.text},k.font&&"Real Head Pro"!==k.font&&{fontFamily:k.font})},{children:v&&S&&W?e.jsx(p.default,{}):e.jsx(e.Fragment,{children:_.isLoading||!T?e.jsx("div",Object.assign({className:f.default("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===g?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:e.jsxs("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[e.jsx(c.default,{className:"w-[72px] h-[72px]"}),e.jsx(c.default,{className:"h-[20px] mt-6 w-full"}),e.jsx(c.default,{className:"h-[20px] mt-2 w-full"}),e.jsx(c.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),e.jsx("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:e.jsx(c.default,{className:f.default("w-full min-h-[48px]","viewport"===g?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):e.jsx(e.Fragment,{children:h?e.jsx(u.ScrollProvider,{children:e.jsx(x.default,{})}):e.jsx(u.ScrollProvider,{children:e.jsx(d.default,{})})})})})):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../hooks/pickaxe/usePickaxe.js"),s=require("react"),r=require("../../hooks/pickaxe/usePickaxeContext.js"),a=require("./Addons/Auth/hooks/useAuthContext.js"),i=require("../../hooks/pickaxe/useResponseContext.js"),o=require("./Addons/Document/hooks/useDocumentContext.js"),l=require("./Addons/Artifact/hooks/useArtifactContext.js"),n=require("uuid"),u=require("./Addons/Scroll/Provider.js"),c=require("./common/PickaxeSkeleton.js"),x=require("./Chat/index.js"),d=require("./Form/index.js"),p=require("./Addons/Auth/index.js"),f=require("../../common/cn.js");exports.Pickaxe=({pickaxeId:m,className:h})=>{const{sessionId:j,styles:k,colors:w,responsiveBy:g,deploymentType:v,isNewChat:C,isEmailLogin:q,opacity:y,setContextId:A,setPickaxeId:P,setSessionId:N,setPickaxe:b}=r.usePickaxeContext(),{isLoggedOut:S,isSent:O}=a.useAuthContext(),{setMessages:E,setResponse:I,setError:D,setLimitData:F,setIsSwitchedToChat:L}=i.useResponseContext(),{setDocumentError:M}=o.useDocumentContext(),{setCurrentArtifact:R}=l.useArtifactContext(),[T,$]=s.useState(!1),_=t.usePickaxe(),B="chat-input"===v&&C&&!O,H="chat-input"!==v||!O;s.useEffect((()=>{P(m)}),[m]),s.useEffect((()=>{if(!_.data)return;const e=_.data.chatflag;N(e?n.v4():""),A(n.v4()),e?E([]):I(null),D(""),M(""),F(null),R(null),L(!1),b(_.data),$(!0)}),[_.data]),s.useEffect((()=>{D(""),M(""),F(null),E([]),I(null),R(null)}),[j]);const W=s.useMemo((()=>{const e=null!=y?y:1;if(!w.primary||!w.primary.startsWith("#")||e<0||e>1)return w.primary;const t=Math.round(255*e).toString(16).padStart(2,"0");return`${w.primary}${t}`}),[w.primary,y]);return _.data?e.jsx("div",Object.assign({className:f.default("relative @container/pickaxe-root flex flex-col flex-grow w-full h-[100dvh]","dark"===k.theme&&"dark",h),style:Object.assign({backgroundColor:B?"transparent":W,color:w.text},k.font&&"Real Head Pro"!==k.font&&{fontFamily:k.font})},{children:q&&S&&H?e.jsx(p.default,{}):e.jsx(e.Fragment,{children:_.isLoading||!T?e.jsx("div",Object.assign({className:f.default("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===g?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:e.jsxs("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[e.jsx(c.default,{className:"w-[72px] h-[72px]"}),e.jsx(c.default,{className:"h-[20px] mt-6 w-full"}),e.jsx(c.default,{className:"h-[20px] mt-2 w-full"}),e.jsx(c.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),e.jsx("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:e.jsx(c.default,{className:f.default("w-full min-h-[48px]","viewport"===g?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):e.jsx(e.Fragment,{children:j?e.jsx(u.ScrollProvider,{children:e.jsx(x.default,{})}):e.jsx(u.ScrollProvider,{children:e.jsx(d.default,{})})})})})):null};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t}from"react";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as o}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as l}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as r}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as c}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as m}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as d}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as p}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as u,motion as h}from"framer-motion";import f from"../../../Icons/lock.svg.js";import g from"../../../Core/ErrorAlert.js";import x from"../../common/PickaxeHead.js";import j from"../../common/PickaxeEmbedHead.js";import b from"../../common/PickaxeUpgradeCard.js";import v from"../../common/PickaxeSkeleton.js";import y from"../../common/PickaxeHistoryButton.js";import k from"../../Addons/Scroll/ScrollLockView.js";import w from"../../Addons/Artifact/Renderer/index.js";import N from"./Message.js";import O from"./CustomMessage.js";import C from"../../Addons/IceBreaker/index.js";import S from"../../common/PickaxeBranding.js";import A from"../../../../common/cn.js";const P=({additionalScrollHeight:P,smitheryAuthData:I,isForceHideInfo:L,isInputFocused:H,onSubmit:R,resubmitPrompt:B})=>{var D,E,T,$,z;const{sessionId:F,deploymentType:M,pickaxe:W,translations:U,misc:V,isNewChat:_,isRtl:q,isEmbed:G,isEmailLogin:J,isShowIceBreaker:K,setSessionId:Q,setLastSessionId:X}=a(),{emailInput:Y,isLoggedOut:Z,isSending:ee,isResendDisabled:se,isSent:ie}=o(),{onSend:te}=l(),{scrollContainerRef:ae}=c(),{messages:oe,limitData:le,error:ne}=n(),{height:re,width:ce}=r(),{currentArtifact:me,chatPopupType:de,currentPopupType:pe}=p(),ue=d(),he=m(),fe=t((()=>(null==W?void 0:W.icebreakers)?W.icebreakers.slice(0,3):[]),[null==W?void 0:W.icebreakers]),ge=t((()=>{const e=!!ue.data&&ue.data.messages.length>1;return!L&&ue.isSuccess&&_&&!e}),[L,ue.isSuccess,_,ue.data]),xe=t((()=>!(null==W?void 0:W.chatflag)&&(null==W?void 0:W.enablechatresponses)&&oe.length>0),[W,oe]),je=t((()=>!!ue.data&&ue.data.messages.some((e=>"intromessage"===e.area))),[ue.data]),be="chat-input"===M&&J&&Z&&ie,ve=K&&!H&&!je&&ge&&ce>767,ye=K&&!H&&(je||ce<=767),ke=()=>{X(F),Q("")};return e("div",Object.assign({ref:ae,className:"flex w-full flex-col items-center overflow-y-auto mb-12 pb-4 scrollbar scrollbar-thin",style:{height:`calc(${re}px - 74px)`,paddingBottom:`${P+32}px`}},{children:[s(u,{children:!!me&&"inline"===pe&&s(h.div,Object.assign({className:A("absolute top-0 z-20 w-full px-4 py-2",de),style:{height:`calc(${re-P}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(w,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:me.id,version:me.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[ge&&G&&s("div",Object.assign({className:A("absolute right-4 top-3 flex items-center gap-2","popup"===M&&"right-12")},{children:s(y,{tip:(null==U?void 0:U["chat-history"])||"Chat History",onClick:ke})})),s(x,Object.assign({className:A("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",ge&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!be&&{onIconClick:ke})),G&&!ue.isLoading&&s(j,Object.assign({className:A("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!ge&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==U?void 0:U["chat-history"])||"Chat History"},!be&&{onIconClick:ke,onHistoryClick:ke})),e("div",Object.assign({className:A("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",G&&!ue.isLoading&&!ge&&"mt-0")},{children:[ve&&s("div",Object.assign({className:A("grid grid-cols-3 gap-4",2===fe.length&&"grid-cols-2",1===fe.length&&"grid-cols-1")},{children:s(C,{type:"center",data:fe,onSend:R})})),be?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(O,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(f,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:Y}))]}))})),s(O,Object.assign({chatRole:"assistant"},{children:e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(T=null==U?void 0:U["we-sent-your-an-activation-link"])&&void 0!==T?T:"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:()=>{se||ee||te(!0)}},{children:ee?null!==($=null==U?void 0:U.resending)&&void 0!==$?$:"Resending...":null!==(z=null==U?void 0:U.resend)&&void 0!==z?z:"Resend"}))]}))}))]}))})):s(i,{children:ue.isLoading&&!(null==W?void 0:W.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[_&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(v,{className:"w-[72px] h-[72px]"}),s(v,{className:"h-[20px] mt-6 w-full"}),s(v,{className:"h-[20px] mt-2 w-full"}),s(v,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(v,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(v,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(v,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):ue.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:A(he.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):ue.data||xe?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:[(null!==(E=null===(D=ue.data)||void 0===D?void 0:D.messages)&&void 0!==E?E:[]).map(((e,i)=>s(N,{index:i,message:e},i))),oe.map(((e,i)=>{var t,a;return s(N,{smitheryData:I,resubmitPrompt:B,index:(null!==(a=null===(t=ue.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:e,isLastMessage:i===oe.length-1},i)})),le?s("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:s(b,{})})):ne?s("div",Object.assign({className:A("flex items-center gap-x-3",q?"justify-end":"justify-start")},{children:s(g,{error:ne})})):null]})),e("div",Object.assign({className:A("flex flex-col",!V.isWhiteLabel||ye&&"mt-4")},{children:[!V.isWhiteLabel&&s(S,{containerClassName:A("justify-end",ye&&"mb-2")}),ye&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(C,{type:"right",data:fe,onSend:R})})),s(k,{})]}))]})):null})]}))]}))]}))};export{P as default};
1
+ import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t,useEffect as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as n}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as l}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as c}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as m}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as d}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as p}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as u}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as h,motion as f}from"framer-motion";import g from"../../../Icons/lock.svg.js";import x from"../../../Core/ErrorAlert.js";import j from"../../common/PickaxeHead.js";import b from"../../common/PickaxeEmbedHead.js";import v from"../../common/PickaxeUpgradeCard.js";import y from"../../common/PickaxeSkeleton.js";import k from"../../common/PickaxeHistoryButton.js";import w from"../../Addons/Scroll/ScrollLockView.js";import N from"../../Addons/Artifact/Renderer/index.js";import O from"./Message.js";import C from"./CustomMessage.js";import S from"../../Addons/IceBreaker/index.js";import A from"../../common/PickaxeBranding.js";import P from"../../../../common/cn.js";const I=({additionalScrollHeight:I,smitheryAuthData:H,isForceHideInfo:L,isInputFocused:R,onSubmit:D,resubmitPrompt:B})=>{var E,T,F,z,M;const{sessionId:W,deploymentType:$,pickaxe:q,translations:U,misc:V,isNewChat:_,isRtl:G,isEmbed:J,isEmailLogin:K,isShowIceBreaker:Q,setSessionId:X,setLastSessionId:Y}=o(),{emailInput:Z,isLoggedOut:ee,isSending:se,isResendDisabled:ie,isSent:te}=n(),{onSend:ae}=l(),{scrollContainerRef:oe}=m(),{messages:ne,limitData:le,error:re}=r(),{height:ce,width:me}=c(),{currentArtifact:de,chatPopupType:pe,currentPopupType:ue}=u(),he=p(),fe=d(),ge=t((()=>(null==q?void 0:q.icebreakers)?q.icebreakers.slice(0,3):[]),[null==q?void 0:q.icebreakers]),xe=t((()=>{const e=!!he.data&&he.data.messages.length>1;return!L&&he.isSuccess&&_&&!e}),[L,he.isSuccess,_,he.data]),je=t((()=>!(null==q?void 0:q.chatflag)&&(null==q?void 0:q.enablechatresponses)&&ne.length>0),[q,ne]),be=t((()=>!!he.data&&he.data.messages.some((e=>"intromessage"===e.area))),[he.data]),ve="chat-input"===$&&K&&ee&&te,ye=Q&&!R&&!be&&xe&&me>767,ke=Q&&!R&&(be||me<=767),we=()=>{Y(W),X("")};return a((()=>{oe.current&&requestAnimationFrame((()=>{oe.current&&(oe.current.scrollTop=oe.current.scrollHeight)}))}),[I,oe]),e("div",Object.assign({ref:oe,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4"},{children:[s(h,{children:!!de&&"inline"===ue&&s(f.div,Object.assign({className:P("absolute top-0 z-20 w-full px-4 py-2",pe),style:{height:`calc(${ce-I}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(N,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:de.id,version:de.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[xe&&J&&s("div",Object.assign({className:P("absolute right-4 top-3 flex items-center gap-2","popup"===$&&"right-12")},{children:s(k,{tip:(null==U?void 0:U["chat-history"])||"Chat History",onClick:we})})),s(j,Object.assign({className:P("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",xe&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!ve&&{onIconClick:we})),J&&!he.isLoading&&s(b,Object.assign({className:P("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!xe&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==U?void 0:U["chat-history"])||"Chat History"},!ve&&{onIconClick:we,onHistoryClick:we})),e("div",Object.assign({className:P("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",J&&!he.isLoading&&!xe&&"mt-0")},{children:[ye&&s("div",Object.assign({className:P("grid grid-cols-3 gap-4",2===ge.length&&"grid-cols-2",1===ge.length&&"grid-cols-1")},{children:s(S,{type:"center",data:ge,onSend:D})})),ve?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(C,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(g,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:Z}))]}))})),s(C,Object.assign({chatRole:"assistant"},{children:e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(F=null==U?void 0:U["we-sent-your-an-activation-link"])&&void 0!==F?F:"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:()=>{ie||se||ae(!0)}},{children:se?null!==(z=null==U?void 0:U.resending)&&void 0!==z?z:"Resending...":null!==(M=null==U?void 0:U.resend)&&void 0!==M?M:"Resend"}))]}))}))]}))})):s(i,{children:he.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:[_&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(y,{className:"w-[72px] h-[72px]"}),s(y,{className:"h-[20px] mt-6 w-full"}),s(y,{className:"h-[20px] mt-2 w-full"}),s(y,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(y,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(y,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(y,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):he.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:P(fe.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):he.data||je?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:[(null!==(T=null===(E=he.data)||void 0===E?void 0:E.messages)&&void 0!==T?T:[]).map(((e,i)=>s(O,{index:i,message:e},i))),ne.map(((e,i)=>{var t,a;return s(O,{smitheryData:H,resubmitPrompt:B,index:(null!==(a=null===(t=he.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:e,isLastMessage:i===ne.length-1},i)})),le?s("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:s(v,{})})):re?s("div",Object.assign({className:P("flex items-center gap-x-3",G?"justify-end":"justify-start")},{children:s(x,{error:re})})):null]})),e("div",Object.assign({className:P("flex flex-col",!V.isWhiteLabel||ke&&"mt-4")},{children:[!V.isWhiteLabel&&s(A,{containerClassName:P("justify-end",ke&&"mb-2")}),ke&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:ge,onSend:D})})),s(w,{})]}))]})):null})]}))]}))]}))};export{I 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{forwardRef as r,useState as i,useRef as a,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import"../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js";import u,{useSpeechRecognition as m}from"react-speech-recognition";import{usePickaxeContext as p}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as f}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as g}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as h}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as v}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as b}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as y}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as j}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as O}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as w}from"../../../hooks/core/useHover.js";import{useMediaQuery as k}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as S,allowedImageMimeTypes as C,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as I}from"eventsource-parser";import E from"../../Icons/attach-vertical.svg.js";import A from"../../Icons/arrow-right.svg.js";import T from"../../Icons/microphone.svg.js";import _ from"../../Icons/stop.svg.js";import P from"../Addons/Document/List.js";import D from"../../Core/Textarea.js";import R from"../../Core/ErrorAlert.js";import L from"../../../common/error.js";import $ from"../../../common/cn.js";const W=r((({resubmitPrompt:r,onFocus:W,onBlur:B,onInputHeightChange:H,initSmitheryAuthData:F},J)=>{var U,K,M;const{origin:X,pickaxeId:z,sessionId:V,sender:q,senderType:G,deploymentId:Q,deploymentType:Y,pickaxe:Z,styles:ee,colors:te,locale:ne,forceMobile:se,isNewChat:oe,isRtl:re,isEmailLogin:ie,isShowFeedbackMessage:ae,setIsNewChat:le,setIsShowIceBreaker:ce,onGenerateComplete:de}=p(),{token:ue,isLoggedOut:me,isSent:pe}=y(),{messages:fe,limits:ge,isGenerating:he,setMessages:ve,setStatus:be,setLimitData:ye,setError:je}=f(),{documents:xe,isUploading:Oe,documentError:we,onFileUpload:ke,setDocuments:Se,setDocumentError:Ce}=j(),{scrollStartSession:Ne,scrollEndSession:Ie,scrollToBottom:Ee}=x({auto:!0}),{artifacts:Ae,currentPopupType:Te,setArtifacts:_e,setCurrentArtifact:Pe}=O(),{height:De}=b(),Re=v(),[Le,$e]=i(""),[We,Be]=i(!1),[He,Fe]=i(!1),Je=a(null),Ue=a(""),Ke=a(null),Me=a(null),Xe=a(null),ze=a(null),Ve=a(null),qe=Math.max(.2*De,100),{transcript:Ge,listening:Qe,resetTranscript:Ye,browserSupportsSpeechRecognition:Ze}=m(),[et]=k("(max-width: 480px)"),tt=w(),{isHover:nt}=tt,st=e(tt,["isHover"]),ot=w(),{isHover:rt}=ot,it=e(ot,["isHover"]),at=w(),{isHover:lt}=at,ct=e(at,["isHover"]),[dt,ut]=i(!1),mt=h(),pt=g(),ft=null===(U=null==Z?void 0:Z.documentuploadtype)||void 0===U?void 0:U.startsWith("enduserupload"),gt=Ze&&(null==Z?void 0:Z.enablevoicetotext),ht="chat-input"===Y&&oe&&!pe,vt="chat-input"===Y&&ie&&me&&pe,bt=We||He,yt=l((()=>{var e,t,n;return!!oe&&(!!Z&&(!Re.isLoading&&(!((null!==(t=null===(e=Re.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Z.icebreakers)||void 0===n?void 0:n.length)&&(!ae&&!ht)))))}),[Z,oe,ae,ht,Re.data,Re.isLoading]),jt=l((()=>{if(he||Oe)return!1;const e=xe.length>0&&xe.every((e=>"finished"===e.status));return!(!Le.trim()&&!e)&&xe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[he,Oe,Le,xe]);c(J,(()=>({onSubmit:xt}))),d((()=>{ce(yt)}),[yt]),d((()=>{var e;if(r){const t=Array.from(fe),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;xt(n,!0)}}),[r]),d((()=>{if(!ze.current||!H)return;const e=new ResizeObserver((e=>{for(const t of e)H(t.contentRect.height)}));return e.observe(ze.current),()=>{e.disconnect()}}),[H]),d((()=>{if(!Qe)return;const e=Ue.current?`${Ue.current} `:"";$e(`${e}${Ge}`)}),[Ge,Qe]),d((()=>{if(!Me.current)return;(()=>{if(!Me.current)return;let e=Me.current.scrollHeight>52;Le.includes("\n")||xe.length?e=!0:Le.trim()||(e=!1),Be(e)})()}),[Le,xe]),d((()=>{const e=Me.current,t=Xe.current;if(!e||!t||We||Le.includes("\n"))return void Fe(!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=Le,document.body.appendChild(o);const r=o.offsetWidth;o.remove();const i=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-i-a-t.offsetWidth;Fe(r>l)}),[Le,We]);const xt=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o;try{if(he||Oe)return;const r=xe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),i=r.length>0,a=null!=e?e:Le;if(!a&&!i)return;je(""),Ce(""),ye(null),$e(""),le(!1),be("fetching"),Ne(),Ee();const l=null!==(s=null===(t=null==Z?void 0:Z.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&r.length>0,c=[...n?Array.from(fe.slice(0,fe.length-1)):Array.from(fe),...n?[]:[{id:fe.length+1,role:"user",parts:[{type:"text",content:a,isVisible:!0}],documentIds:l?r:[]}],{id:fe.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];ve(c),Ee(),l&&Se([]);const d=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign({origin:X,pickaxeId:z,sessionId:V,senderType:G,value:a},l&&{documentIds:r}),q&&{sender:q}),ue&&{studioSessionToken:ue}),Q&&{deploymentId:Q}))}),u=yield d.json();if(console.log("SubmitData: ",u),!u.success)throw new Error(u.error||"Failed to start generation");const m=u.submissionId;be("streaming"),Ve.current=new AbortController;const p=c.length-1,f=[];let g=[...null!=Ae?Ae:[]],h=0,v=!1,b="";for(;!v;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${m}?index=${h}`,{signal:null===(o=Ve.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();Ke.current=t;const n=new TextDecoder,s=I({onEvent:e=>{var t,n;if(e.event&&"ping"!==e.event&&h++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);return je(t.error||"Something went wrong."),void(v=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&F){const e=s.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){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 v=!0,F({smitheryId: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 v=!0,F({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)b="",f.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)b+=s.delta,f[f.length-1].content=b;else if("text-end"===s.type)b="";else if("reasoning-start"===s.type)b="",f.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)b+=s.delta,f[f.length-1].content=b;else if("reasoning-end"===s.type)b="";else if(s.type.startsWith("data-")){const e=s;f.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}ve([...c.slice(0,p),Object.assign(Object.assign({},c[c.length-1]),{id:fe.length+1,role:"assistant",parts:f})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),_e([...g]),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),_e(g),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),_e(g),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");g=g.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),_e(g)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);_e(g.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);je(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(v=!0)}else v=!0}});for(;;){const{value:e,done:o}=yield t.read();if(o)break;s.feed(n.decode(e))}v||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(v=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==de||de(V)}catch(e){let t=L(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const n=Object.entries(ge).find((([e])=>t.includes(e)));n?ye(n[1]):je(t)}finally{Ee(),be("idle"),Ie(),Ke.current=null}}));return vt?null:n("div",Object.assign({className:$("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!ht&&"px-4 pb-8"),dir:re?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:ze,className:$("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ee.formFieldStyle&&"shadow"),style:Object.assign(Object.assign(Object.assign({},pt),dt&&{backgroundColor:"#EEEEEE"}),{maxHeight:`${qe}px`,overflowY:"auto"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),ut(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),ut(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),ut(!0)},onDrop:e=>t(void 0,void 0,void 0,(function*(){e.preventDefault(),e.stopPropagation(),ut(!1);const t=Array.from(e.dataTransfer.files||[]);t.length>0&&(le(!1),yield ke(t))}))},{children:[Qe&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(K=te.accent)&&void 0!==K?K:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:te.text+"90"}},{children:"Listening..."}))]})),!he&&xe.length>0&&n(P,{className:"p-4 pb-0",isDisabled:he}),n(D,Object.assign({ref:Me,className:$(mt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Le.trim()&&!Le.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",re?"text-right":"text-left",bt&&"mb-12",Qe&&"text-transparent"),value:Le,placeholder:null!==(M=null==Z?void 0:Z.placeholdertext)&&void 0!==M?M:re?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if($e(e),H){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void H(0);if(t>=11)return;let n=0;t>1&&(n=50),H(24*(t-1)+n)}},onKeyDown:e=>{se||et||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Oe||he||xt()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),le(!1),yield ke(t))}))},W&&{onFocus:W},B&&{onBlur:B},{dir:re?"rtl":"ltr"})),n("div",Object.assign({ref:Xe,className:$("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",bt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!bt&&pt.backgroundColor&&{backgroundColor:pt.backgroundColor}),{borderTopRightRadius:ee.cornerRadius+"px",borderBottomRightRadius:ee.cornerRadius+"px"})},{children:he?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:()=>{Ve.current&&(Ve.current.abort(),Ve.current=null),Ke.current&&(Ke.current.cancel(),Ke.current=null),be("idle")},style:{backgroundColor:te.accent,color:te.accentText}},{children:n(_,{className:"h-4 w-4 shrink-0"})})):Qe?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:u.stopListening,style:{backgroundColor:te.accent,color:te.accentText}},{children:n(_,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[ft&&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:rt?te.accent+"10":void 0,color:rt?te.accent:te.accent+"80"},disabled:Oe||he,onClick:()=>{var e;return null===(e=Je.current)||void 0===e?void 0:e.click()}},it,{children:[n("input",{id:"file-upload",ref:Je,type:"file",accept:[...S,...C,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){le(!1),yield ke(Array.from(e.target.files||[])),e.target.value=""}))}),n(E,{className:"h-6 w-6 shrink-0"})]})),gt&&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:Qe?te.accent:lt?te.accent+"10":void 0,color:Qe?te.accentText:lt?te.accent:te.accent+"80"},disabled:Oe||he,onClick:()=>{Qe?u.stopListening():(Ue.current=Le,Ye(),u.startListening({continuous:!0,interimResults:!0,language:ne||"en-US"}))}},ct,{children:n(T,{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:nt||jt?te.accent:te.accent+"10",color:nt||jt?te.accentText:te.accent+"80"},disabled:!jt,onClick:()=>xt()},st,{children:n(A,{className:$("h-6 w-6 shrink-0",re&&"scale-x-[-1] transform")})}))]})}))]})),we&&n(R,{error:we,className:"mt-3"})]}))}))}));W.displayName="Input";export{W as default};
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{forwardRef as r,useState as i,useRef as a,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import"../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js";import u,{useSpeechRecognition as m}from"react-speech-recognition";import{usePickaxeContext as p}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as f}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as h}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as g}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as v}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as b}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as y}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as j}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as O}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as w}from"../../../hooks/core/useHover.js";import{useMediaQuery as k}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as S,allowedImageMimeTypes as C,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as I}from"eventsource-parser";import E from"../../Icons/attach-vertical.svg.js";import A from"../../Icons/arrow-right.svg.js";import T from"../../Icons/microphone.svg.js";import _ from"../../Icons/stop.svg.js";import P from"../Addons/Document/List.js";import D from"../../Core/Textarea.js";import R from"../../Core/ErrorAlert.js";import L from"../../../common/error.js";import $ from"../../../common/cn.js";const W=r((({resubmitPrompt:r,onFocus:W,onBlur:B,onInputHeightChange:H,initSmitheryAuthData:F},J)=>{var U,K,M;const{origin:X,pickaxeId:V,sessionId:z,sender:q,senderType:G,deploymentId:Q,deploymentType:Y,pickaxe:Z,styles:ee,colors:te,locale:ne,forceMobile:se,isNewChat:oe,isRtl:re,isEmailLogin:ie,isShowFeedbackMessage:ae,setIsNewChat:le,setIsShowIceBreaker:ce,onGenerateComplete:de}=p(),{token:ue,isLoggedOut:me,isSent:pe}=y(),{messages:fe,limits:he,isGenerating:ge,setMessages:ve,setStatus:be,setLimitData:ye,setError:je}=f(),{documents:xe,isUploading:Oe,documentError:we,onFileUpload:ke,setDocuments:Se,setDocumentError:Ce}=j(),{scrollStartSession:Ne,scrollEndSession:Ie,scrollToBottom:Ee}=x({auto:!0}),{artifacts:Ae,currentPopupType:Te,setArtifacts:_e,setCurrentArtifact:Pe}=O(),{height:De}=b(),Re=v(),[Le,$e]=i(""),[We,Be]=i(!1),[He,Fe]=i(!1),Je=a(null),Ue=a(""),Ke=a(null),Me=a(null),Xe=a(null),Ve=a(null),ze=a(null),qe=Math.max(.4*De,100),{transcript:Ge,listening:Qe,resetTranscript:Ye,browserSupportsSpeechRecognition:Ze}=m(),[et]=k("(max-width: 480px)"),tt=w(),{isHover:nt}=tt,st=e(tt,["isHover"]),ot=w(),{isHover:rt}=ot,it=e(ot,["isHover"]),at=w(),{isHover:lt}=at,ct=e(at,["isHover"]),[dt,ut]=i(!1),mt=g(),pt=h(),ft=null===(U=null==Z?void 0:Z.documentuploadtype)||void 0===U?void 0:U.startsWith("enduserupload"),ht=Ze&&(null==Z?void 0:Z.enablevoicetotext),gt="chat-input"===Y&&oe&&!pe,vt="chat-input"===Y&&ie&&me&&pe,bt=null!==(K=null==Z?void 0:Z.placeholdertext)&&void 0!==K?K:re?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",yt=We||He,jt=l((()=>{var e,t,n;return!!oe&&(!!Z&&(!Re.isLoading&&(!((null!==(t=null===(e=Re.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Z.icebreakers)||void 0===n?void 0:n.length)&&(!ae&&!gt)))))}),[Z,oe,ae,gt,Re.data,Re.isLoading]),xt=l((()=>{if(ge||Oe)return!1;const e=xe.length>0&&xe.every((e=>"finished"===e.status));return!(!Le.trim()&&!e)&&xe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ge,Oe,Le,xe]);c(J,(()=>({onSubmit:Ot}))),d((()=>{ce(jt)}),[jt]),d((()=>{var e;if(r){const t=Array.from(fe),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Ot(n,!0)}}),[r]),d((()=>{if(!Ve.current||!H)return;const e=new ResizeObserver((e=>{for(const t of e)H(t.contentRect.height)}));return e.observe(Ve.current),()=>{e.disconnect()}}),[H]),d((()=>{if(!Qe)return;const e=Ue.current?`${Ue.current} `:"";$e(`${e}${Ge}`)}),[Ge,Qe]),d((()=>{if(!Me.current)return;(()=>{if(!Me.current)return;let e=Me.current.scrollHeight>52;Le.includes("\n")||xe.length?e=!0:Le.trim()||(e=!1),Be(e)})()}),[Le,xe]),d((()=>{const e=Me.current,t=Xe.current;if(!e||!t||We||Le.includes("\n"))return void Fe(!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=Le||bt,document.body.appendChild(o);const r=o.offsetWidth;o.remove();const i=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-i-a-t.offsetWidth;Fe(r>l)}),[Le,We,bt]);const Ot=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o;try{if(ge||Oe)return;const r=xe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),i=r.length>0,a=null!=e?e:Le;if(!a&&!i)return;je(""),Ce(""),ye(null),$e(""),le(!1),be("fetching"),Ne(),Ee();const l=null!==(s=null===(t=null==Z?void 0:Z.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&r.length>0,c=[...n?Array.from(fe.slice(0,fe.length-1)):Array.from(fe),...n?[]:[{id:fe.length+1,role:"user",parts:[{type:"text",content:a,isVisible:!0}],documentIds:l?r:[]}],{id:fe.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];ve(c),Ee(),l&&Se([]);const d=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,{method:"POST",headers:Object.assign({"Content-Type":"application/json"},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign({origin:X,pickaxeId:V,sessionId:z,senderType:G,value:a},l&&{documentIds:r}),q&&{sender:q}),ue&&{studioSessionToken:ue}),Q&&{deploymentId:Q}))}),u=yield d.json();if(console.log("SubmitData: ",u),!u.success)throw new Error(u.error||"Failed to start generation");const m=u.submissionId;be("streaming"),ze.current=new AbortController;const p=c.length-1,f=[];let h=[...null!=Ae?Ae:[]],g=0,v=!1,b="";for(;!v;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${m}?index=${g}`,{signal:null===(o=ze.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();Ke.current=t;const n=new TextDecoder,s=I({onEvent:e=>{var t,n;if(e.event&&"ping"!==e.event&&g++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);return je(t.error||"Something went wrong."),void(v=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&F){const e=s.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){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 v=!0,F({smitheryId: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 v=!0,F({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)b="",f.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)b+=s.delta,f[f.length-1].content=b;else if("text-end"===s.type)b="";else if("reasoning-start"===s.type)b="",f.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)b+=s.delta,f[f.length-1].content=b;else if("reasoning-end"===s.type)b="";else if(s.type.startsWith("data-")){const e=s;f.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}ve([...c.slice(0,p),Object.assign(Object.assign({},c[c.length-1]),{id:fe.length+1,role:"assistant",parts:f})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),_e([...h]),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),_e(h),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),_e(h),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");h=h.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),_e(h)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);_e(h.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);je(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(v=!0)}else v=!0}});for(;;){const{value:e,done:o}=yield t.read();if(o)break;s.feed(n.decode(e))}v||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(v=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==de||de(z)}catch(e){let t=L(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const n=Object.entries(he).find((([e])=>t.includes(e)));n?ye(n[1]):je(t)}finally{Ee(),be("idle"),Ie(),Ke.current=null}}));return vt?null:n("div",Object.assign({className:$("flex w-full flex-shrink-0 flex-col items-center",!gt&&"px-4 pb-8"),dir:re?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:Ve,className:$("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ee.formFieldStyle&&"shadow"),style:Object.assign(Object.assign(Object.assign({},pt),dt&&{backgroundColor:"#EEEEEE"}),{maxHeight:`${qe}px`,overflowY:"auto"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),ut(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),ut(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),ut(!0)},onDrop:e=>t(void 0,void 0,void 0,(function*(){e.preventDefault(),e.stopPropagation(),ut(!1);const t=Array.from(e.dataTransfer.files||[]);t.length>0&&(le(!1),yield ke(t))}))},{children:[Qe&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(M=te.accent)&&void 0!==M?M:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:te.text+"90"}},{children:"Listening..."}))]})),!ge&&xe.length>0&&n(P,{className:"p-4 pb-0",isDisabled:ge}),n(D,Object.assign({ref:Me,className:$(mt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Le.trim()&&!Le.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",re?"text-right":"text-left",yt&&"mb-12",Qe&&"text-transparent"),value:Le,placeholder:bt,onChange:e=>{if($e(e),H){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void H(0);if(t>=11)return;let n=0;t>1&&(n=50),H(24*(t-1)+n)}},onKeyDown:e=>{se||et||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Oe||ge||Ot()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),le(!1),yield ke(t))}))},W&&{onFocus:W},B&&{onBlur:B},{dir:re?"rtl":"ltr"})),n("div",Object.assign({ref:Xe,className:$("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",yt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!yt&&pt.backgroundColor&&{backgroundColor:pt.backgroundColor}),{borderTopRightRadius:ee.cornerRadius+"px",borderBottomRightRadius:ee.cornerRadius+"px"})},{children:ge?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:()=>{ze.current&&(ze.current.abort(),ze.current=null),Ke.current&&(Ke.current.cancel(),Ke.current=null),be("idle")},style:{backgroundColor:te.accent,color:te.accentText}},{children:n(_,{className:"h-4 w-4 shrink-0"})})):Qe?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:u.stopListening,style:{backgroundColor:te.accent,color:te.accentText}},{children:n(_,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[ft&&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:rt?te.accent+"10":void 0,color:rt?te.accent:te.accent+"80"},disabled:Oe||ge,onClick:()=>{var e;return null===(e=Je.current)||void 0===e?void 0:e.click()}},it,{children:[n("input",{id:"file-upload",ref:Je,type:"file",accept:[...S,...C,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){le(!1),yield ke(Array.from(e.target.files||[])),e.target.value=""}))}),n(E,{className:"h-6 w-6 shrink-0"})]})),ht&&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:Qe?te.accent:lt?te.accent+"10":void 0,color:Qe?te.accentText:lt?te.accent:te.accent+"80"},disabled:Oe||ge,onClick:()=>{Qe?u.stopListening():(Ue.current=Le,Ye(),u.startListening({continuous:!0,interimResults:!0,language:ne||"en-US"}))}},ct,{children:n(T,{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:nt||xt?te.accent:te.accent+"10",color:nt||xt?te.accentText:te.accent+"80"},disabled:!xt,onClick:()=>Ot()},st,{children:n(A,{className:$("h-6 w-6 shrink-0",re&&"scale-x-[-1] transform")})}))]})}))]})),we&&n(R,{error:we,className:"mt-3"})]}))}))}));W.displayName="Input";export{W as default};
@@ -1 +1 @@
1
- import{__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{useState as n,useRef as i,useEffect as s}from"react";import{usePickaxeContext as u}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as m}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as c}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as l}from"../Addons/Document/hooks/useDocument.js";import a from"./History/index.js";import h from"./Input.js";const d=()=>{const{deploymentType:d,isNewChat:p}=u(),{isSent:f}=m(),{width:x,height:j,setDimension:b}=c(),{setDocuments:v}=l(),[g,k]=n(0),[D,A]=n(!1),I=i(null),w=i(null),[y,C]=n(null),[F,S]=n(!1),H="chat-input"===d&&p&&!f;return s((()=>()=>{v([])}),[]),s((()=>{if(!I.current)return;const t=new ResizeObserver((t=>{for(const e of t){const{width:t,height:o}=e.contentRect;b(parseInt(t.toFixed(0)),parseInt(o.toFixed(0)))}}));return t.observe(I.current),()=>{t.disconnect()}}),[I.current]),e("div",Object.assign({ref:I,className:"relative flex flex-grow flex-col items-center"},{children:H?e(h,{}):o(r,{children:[e(a,{additionalScrollHeight:g,isForceHideInfo:j<=545||x<=350||D,isInputFocused:D,onSubmit:e=>t(void 0,void 0,void 0,(function*(){w.current&&w.current.onSubmit(e)})),smitheryAuthData:y,resubmitPrompt:()=>{C(null),S(!0)}}),e(h,{ref:w,onFocus:()=>A(!0),onBlur:()=>A(!1),onInputHeightChange:k,initSmitheryAuthData:t=>C(t),resubmitPrompt:F})]})}))};export{d as default};
1
+ import{__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{useState as n,useRef as i,useEffect as s}from"react";import{usePickaxeContext as u}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as m}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as c}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as l}from"../Addons/Document/hooks/useDocument.js";import h from"./History/index.js";import a from"./Input.js";const d=()=>{const{deploymentType:d,isNewChat:p}=u(),{isSent:f}=m(),{width:x,height:j,setDimension:b}=c(),{setDocuments:v}=l(),[k,D]=n(0),[g,A]=n(!1),I=i(null),w=i(null),[y,C]=n(null),[F,S]=n(!1),H="chat-input"===d&&p&&!f;return s((()=>()=>{v([])}),[]),s((()=>{if(!I.current)return;const t=new ResizeObserver((t=>{for(const e of t){const{width:t,height:o}=e.contentRect;b(parseInt(t.toFixed(0)),parseInt(o.toFixed(0)))}}));return t.observe(I.current),()=>{t.disconnect()}}),[I.current]),e("div",Object.assign({ref:I,className:"relative flex h-full w-full flex-col items-center"},{children:H?e(a,{}):o(r,{children:[e(h,{additionalScrollHeight:k,isForceHideInfo:j<=545||x<=350||g,isInputFocused:g,onSubmit:e=>t(void 0,void 0,void 0,(function*(){w.current&&w.current.onSubmit(e)})),smitheryAuthData:y,resubmitPrompt:()=>{C(null),S(!0)}}),e(a,{ref:w,onFocus:()=>A(!0),onBlur:()=>A(!1),onInputHeightChange:D,initSmitheryAuthData:t=>C(t),resubmitPrompt:F})]})}))};export{d as default};
@@ -1 +1 @@
1
- import{jsx as t,Fragment as e,jsxs as o}from"react/jsx-runtime";import{usePickaxe as s}from"../../hooks/pickaxe/usePickaxe.js";import{useState as r,useEffect as a,useMemo as i}from"react";import{usePickaxeContext as n}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"./Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as m}from"../../hooks/pickaxe/useResponseContext.js";import{useDocumentContext as c}from"./Addons/Document/hooks/useDocumentContext.js";import{useArtifactContext as p}from"./Addons/Artifact/hooks/useArtifactContext.js";import{v4 as x}from"uuid";import{ScrollProvider as d}from"./Addons/Scroll/Provider.js";import u from"./common/PickaxeSkeleton.js";import f from"./Chat/index.js";import h from"./Form/index.js";import k from"./Addons/Auth/index.js";import j from"../../common/cn.js";const w=({pickaxeId:w,className:g})=>{const{sessionId:y,styles:A,colors:C,responsiveBy:N,deploymentType:b,isNewChat:v,isEmailLogin:P,opacity:S,setContextId:I,setPickaxeId:O,setSessionId:D,setPickaxe:L}=n(),{isLoggedOut:E,isSent:R}=l(),{setMessages:F,setResponse:M,setError:T,setLimitData:$,setIsSwitchedToChat:B}=m(),{setDocumentError:H}=c(),{setCurrentArtifact:W}=p(),[q,z]=r(!1),G=s(),J="chat-input"===b&&v&&!R,K="popup"===b&&y,Q="chat-input"!==b||!R,U="popup"===b&&!y&&P&&E;a((()=>{O(w)}),[w]),a((()=>{if(!G.data)return;const t=G.data.chatflag;D(t?x():""),I(x()),t?F([]):M(null),T(""),H(""),$(null),W(null),B(!1),L(G.data),z(!0)}),[G.data]),a((()=>{T(""),H(""),$(null),F([]),M(null),W(null)}),[y]);const V=i((()=>{const t=null!=S?S:1;if(!C.primary||!C.primary.startsWith("#")||t<0||t>1)return C.primary;const e=Math.round(255*t).toString(16).padStart(2,"0");return`${C.primary}${e}`}),[C.primary,S]);return G.data?t("div",Object.assign({className:j("relative @container/pickaxe-root flex flex-col flex-grow w-full",(!b||K||U)&&"h-full","dark"===A.theme&&"dark",g),style:Object.assign({backgroundColor:J?"transparent":V,color:C.text},A.font&&"Real Head Pro"!==A.font&&{fontFamily:A.font})},{children:P&&E&&Q?t(k,{}):t(e,{children:G.isLoading||!q?t("div",Object.assign({className:j("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===N?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:o("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[t(u,{className:"w-[72px] h-[72px]"}),t(u,{className:"h-[20px] mt-6 w-full"}),t(u,{className:"h-[20px] mt-2 w-full"}),t(u,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),t("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:t(u,{className:j("w-full min-h-[48px]","viewport"===N?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):t(e,{children:t(d,y?{children:t(f,{})}:{children:t(h,{})})})})})):null};export{w as Pickaxe};
1
+ import{jsx as t,Fragment as e,jsxs as o}from"react/jsx-runtime";import{usePickaxe as s}from"../../hooks/pickaxe/usePickaxe.js";import{useState as r,useEffect as a,useMemo as i}from"react";import{usePickaxeContext as n}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"./Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as m}from"../../hooks/pickaxe/useResponseContext.js";import{useDocumentContext as c}from"./Addons/Document/hooks/useDocumentContext.js";import{useArtifactContext as p}from"./Addons/Artifact/hooks/useArtifactContext.js";import{v4 as x}from"uuid";import{ScrollProvider as d}from"./Addons/Scroll/Provider.js";import f from"./common/PickaxeSkeleton.js";import u from"./Chat/index.js";import h from"./Form/index.js";import k from"./Addons/Auth/index.js";import j from"../../common/cn.js";const w=({pickaxeId:w,className:g})=>{const{sessionId:y,styles:A,colors:C,responsiveBy:N,deploymentType:v,isNewChat:b,isEmailLogin:P,opacity:S,setContextId:I,setPickaxeId:O,setSessionId:D,setPickaxe:L}=n(),{isLoggedOut:E,isSent:R}=l(),{setMessages:F,setResponse:M,setError:T,setLimitData:$,setIsSwitchedToChat:B}=m(),{setDocumentError:H}=c(),{setCurrentArtifact:W}=p(),[q,z]=r(!1),G=s(),J="chat-input"===v&&b&&!R,K="chat-input"!==v||!R;a((()=>{O(w)}),[w]),a((()=>{if(!G.data)return;const t=G.data.chatflag;D(t?x():""),I(x()),t?F([]):M(null),T(""),H(""),$(null),W(null),B(!1),L(G.data),z(!0)}),[G.data]),a((()=>{T(""),H(""),$(null),F([]),M(null),W(null)}),[y]);const Q=i((()=>{const t=null!=S?S:1;if(!C.primary||!C.primary.startsWith("#")||t<0||t>1)return C.primary;const e=Math.round(255*t).toString(16).padStart(2,"0");return`${C.primary}${e}`}),[C.primary,S]);return G.data?t("div",Object.assign({className:j("relative @container/pickaxe-root flex flex-col flex-grow w-full h-[100dvh]","dark"===A.theme&&"dark",g),style:Object.assign({backgroundColor:J?"transparent":Q,color:C.text},A.font&&"Real Head Pro"!==A.font&&{fontFamily:A.font})},{children:P&&E&&K?t(k,{}):t(e,{children:G.isLoading||!q?t("div",Object.assign({className:j("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===N?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:o("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[t(f,{className:"w-[72px] h-[72px]"}),t(f,{className:"h-[20px] mt-6 w-full"}),t(f,{className:"h-[20px] mt-2 w-full"}),t(f,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),t("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:t(f,{className:j("w-full min-h-[48px]","viewport"===N?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):t(e,{children:t(d,y?{children:t(u,{})}:{children:t(h,{})})})})})):null};export{w as Pickaxe};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",