@pickaxeproject/react 6.10.2 → 6.10.4

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>{var t;const r=(null!==(t=e.parts)&&void 0!==t?t:[]).filter((e=>!1!==e.isVisible)),n=r.filter((e=>"text"===e.type)).map((e=>{var t;return null!==(t=e.content)&&void 0!==t?t:""})).join(""),s=n.replace(/\s+/g," ").replace(/\s*([.,!?;:])\s*/g,"$1").trim();return s?JSON.stringify({role:e.role,text:s}):JSON.stringify({role:e.role,parts:r.map((e=>{var t;return{type:e.type,content:null!==(t=e.content)&&void 0!==t?t:""}}))})};exports.getUnpersistedMemoryMessages=(t,r)=>{if(!r.length||!t.length)return t;const n=r.map(e),s=new Set(r.filter((e=>"assistant"===e.role)).map(e));let l=0;return t.filter((t=>{const r=e(t),i=n.indexOf(r,l);return-1!==i?(l=i+1,!1):"assistant"!==t.role||!s.has(r)}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./useScrollContext.js");exports.useScroll=({auto:t,debug:n})=>{const{scrollContainerRef:o,scrollTargetRef:l,isLocked:s,isScrollSession:c,isScrollIncreasing:u,setIsLocked:i,setIsScrollSession:d,setIsScrolling:a,setIsScrollIncreasing:f}=r.useScrollContext(),[g,v]=e.useState(0),S=e.useRef(!1),h=e.useMemo((()=>null!=t&&t&&c),[t,c]),m=e.useMemo((()=>o&&o.current?o.current:"undefined"==typeof window?null:window),[o]);e.useEffect((()=>{if(!m)return;const e=e=>{!s||"mousedown"!==e.type&&"touchmove"!==e.type&&"wheel"!==e.type&&"DOMMouseScroll"!==e.type&&"mousewheel"!==e.type||i(!1)};return null==m||m.addEventListener("mousedown",e),null==m||m.addEventListener("touchmove",e),null==m||m.addEventListener("wheel",e),null==m||m.addEventListener("DOMMouseScroll",e),null==m||m.addEventListener("mousewheel",e),()=>{null==m||m.removeEventListener("mousedown",e),null==m||m.removeEventListener("touchmove",e),null==m||m.removeEventListener("wheel",e),null==m||m.removeEventListener("DOMMouseScroll",e),null==m||m.removeEventListener("mousewheel",e)}}),[m,s]),e.useEffect((()=>{S.current=!s}),[s]),e.useEffect((()=>{const e=setInterval((()=>{if(!o.current)return;const e=o.current.scrollHeight;if(e===g)return;const r=e>g;n&&console.log("[useScroll] isIncreasing:",r,e,g),f(r),v(e),r&&t&&w()}),100);return()=>clearInterval(e)}),[o,g,t]),e.useEffect((()=>{const e=setInterval((()=>{if(o.current)return;if(!l.current)return;const e=l.current.getBoundingClientRect().top+l.current.getBoundingClientRect().height+window.scrollY;if(e===g)return;const r=e>g;f(r),v(e),r&&h&&E()}),100);return()=>clearInterval(e)}),[l,g,h]);const w=()=>{try{if(a(!0),!o.current)return void(n&&console.log("[useScroll] scrollContainerRef not detected"));if(S.current)return;const e=o.current.scrollHeight;o.current.scrollTo({top:e,behavior:"smooth"}),n&&console.log("[useScroll] scrolled scrollContainerRef")}finally{a(!1)}},E=()=>{try{if(a(!0),!l.current)return void(n&&console.log("[useScroll] scrollTargetRef not detected"));if(S.current)return;const e=l.current.getBoundingClientRect().top+l.current.getBoundingClientRect().height+window.scrollY;window.scrollTo({top:e-500,behavior:"smooth"}),n&&console.log("[useScroll] scrolled scrollTargetRef")}finally{a(!1)}};return{scrollContainerRef:o,scrollTargetRef:l,isScrollIncreasing:u,scrollStartSession:()=>{d(!0),i(!0),S.current=!1},scrollEndSession:()=>{d(!1)},scrollToBottom:w,scrollToTarget:E}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./useScrollContext.js");exports.useScroll=({auto:t,debug:o,smooth:n=!0})=>{const{scrollContainerRef:l,scrollTargetRef:s,isLocked:c,isScrollSession:u,isScrollIncreasing:i,setIsLocked:d,setIsScrollSession:a,setIsScrolling:f,setIsScrollIncreasing:g}=r.useScrollContext(),[v,S]=e.useState(0),h=e.useRef(!1),m=e.useMemo((()=>null!=t&&t&&u),[t,u]),w=e.useMemo((()=>l&&l.current?l.current:"undefined"==typeof window?null:window),[l]);e.useEffect((()=>{if(!w)return;const e=e=>{!c||"mousedown"!==e.type&&"touchmove"!==e.type&&"wheel"!==e.type&&"DOMMouseScroll"!==e.type&&"mousewheel"!==e.type||d(!1)};return null==w||w.addEventListener("mousedown",e),null==w||w.addEventListener("touchmove",e),null==w||w.addEventListener("wheel",e),null==w||w.addEventListener("DOMMouseScroll",e),null==w||w.addEventListener("mousewheel",e),()=>{null==w||w.removeEventListener("mousedown",e),null==w||w.removeEventListener("touchmove",e),null==w||w.removeEventListener("wheel",e),null==w||w.removeEventListener("DOMMouseScroll",e),null==w||w.removeEventListener("mousewheel",e)}}),[w,c]),e.useEffect((()=>{h.current=!c}),[c]),e.useEffect((()=>{const e=setInterval((()=>{if(!l.current)return;const e=l.current.scrollHeight;if(e===v)return;const r=e>v;o&&console.log("[useScroll] isIncreasing:",r,e,v),g(r),S(e),r&&t&&E()}),100);return()=>clearInterval(e)}),[l,v,t]),e.useEffect((()=>{const e=setInterval((()=>{if(l.current)return;if(!s.current)return;const e=s.current.getBoundingClientRect().top+s.current.getBoundingClientRect().height+window.scrollY;if(e===v)return;const r=e>v;g(r),S(e),r&&m&&p()}),100);return()=>clearInterval(e)}),[s,v,m]);const E=()=>{try{if(f(!0),!l.current)return void(o&&console.log("[useScroll] scrollContainerRef not detected"));if(h.current)return;const e=l.current.scrollHeight;l.current.scrollTo({top:e,behavior:n?"smooth":"auto"}),o&&console.log("[useScroll] scrolled scrollContainerRef")}finally{f(!1)}},p=()=>{try{if(f(!0),!s.current)return void(o&&console.log("[useScroll] scrollTargetRef not detected"));if(h.current)return;const e=s.current.getBoundingClientRect().top+s.current.getBoundingClientRect().height+window.scrollY;window.scrollTo({top:e-500,behavior:"smooth"}),o&&console.log("[useScroll] scrolled scrollTargetRef")}finally{f(!1)}};return{scrollContainerRef:l,scrollTargetRef:s,isScrollIncreasing:i,scrollStartSession:()=>{a(!0),d(!0),h.current=!1},scrollEndSession:()=>{a(!1)},scrollToBottom:E,scrollToTarget:p}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../Addons/Auth/hooks/useAuthContext.js"),a=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"),m=require("../../../Icons/lock.svg.js"),x=require("../../../Core/ErrorAlert.js"),f=require("../../common/PickaxeHead.js"),h=require("../../common/PickaxeEmbedHead.js"),g=require("../../common/PickaxeUpgradeCard.js"),j=require("../../common/PickaxeSkeleton.js"),p=require("../../common/PickaxeHistoryButton.js"),v=require("../../Addons/Scroll/ScrollLockView.js"),y=require("../../Addons/Artifact/Renderer/index.js"),b=require("./Message.js"),k=require("./CustomMessage.js"),w=require("../../Addons/IceBreaker/index.js"),N=require("../../common/PickaxeBranding.js"),O=require("../../../../common/cn.js");const C=e=>(()=>{var s;const t=(null!==(s=e.parts)&&void 0!==s?s:[]).filter((e=>!1!==e.isVisible)),i=t.filter((e=>"text"===e.type)).map((e=>{var s;return null!==(s=e.content)&&void 0!==s?s:""})).join("").trim(),a=i.replace(/\s+/g," ").replace(/\s*([.,!?;:])\s*/g,"$1").trim();return a?JSON.stringify({role:e.role,text:a}):JSON.stringify({role:e.role,parts:t.map((e=>{var s;return{type:e.type,content:null!==(s=e.content)&&void 0!==s?s:""}}))})})();exports.default=({additionalScrollHeight:q,smitheryAuthData:S,isForceHideInfo:A,isInputFocused:P,onSubmit:I,resubmitPrompt:H})=>{var L,R,M,D,F,B,E;const{sessionId:T,deploymentType:$,pickaxe:z,translations:W,misc:_,isNewChat:J,isRtl:V,isEmbed:G,isShowIceBreaker:U,setSessionId:K,setLastSessionId:Q}=t.usePickaxeContext(),{emailInput:X,isLoggedOut:Y,isSending:Z,isResendDisabled:ee,isSent:se,isPricingAuth:te}=i.useAuthContext(),{onSend:ie}=a.useAuth(),{scrollContainerRef:ae,isLocked:le}=r.useScrollContext(),{messages:ne,limitData:re,error:oe,isGenerating:ce}=l.useResponseContext(),{height:de,width:ue}=n.useDimensionContext(),{currentArtifact:me,chatPopupType:xe,currentPopupType:fe}=d.useArtifactContext(),he=c.useConversation(),ge=o.useStyleFontSize(),je=s.useMemo((()=>(null==z?void 0:z.icebreakers)?z.icebreakers.slice(0,3):[]),[null==z?void 0:z.icebreakers]),pe=s.useMemo((()=>{const e=!!he.data&&he.data.messages.length>1;return!A&&he.isSuccess&&J&&!e}),[A,he.isSuccess,J,he.data]),ve=s.useMemo((()=>!(null==z?void 0:z.chatflag)&&(null==z?void 0:z.enablechatresponses)&&ne.length>0),[z,ne]),ye=s.useMemo((()=>!!he.data&&he.data.messages.some((e=>"intromessage"===e.area))),[he.data]),be="chat-input"===$&&te&&Y&&se,ke=U&&!P&&!ye&&pe&&ue>767,we=U&&!P&&(ye||ue<=767),Ne=s.useMemo((()=>{var e,s;const t=null!==(s=null===(e=he.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];if(ce||!t.length||!ne.length)return ne;const i=t.map(C);let a=0,l=0;for(;l<ne.length&&a<i.length;){const e=i.indexOf(C(ne[l]),a);if(-1===e)break;l+=1,a=e+1}const n=new Set(t.filter((e=>"assistant"===e.role)).map(C));return ne.slice(l).filter((e=>"assistant"!==e.role||!n.has(C(e))))}),[null===(L=he.data)||void 0===L?void 0:L.messages,ce,ne]),Oe=()=>{Q(T),K("")};return s.useEffect((()=>{le&&ae.current&&requestAnimationFrame((()=>{ae.current&&(ae.current.scrollTop=ae.current.scrollHeight)}))}),[q,null===(R=he.data)||void 0===R?void 0:R.messages.length,le,ae,Ne.length]),e.jsxs("div",Object.assign({ref:ae,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:!!me&&"inline"===fe&&e.jsx(u.motion.div,Object.assign({className:O.default("absolute top-0 z-20 w-full px-4 py-2",xe),style:{height:`calc(${de-q}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(y.default,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:me.id,version:me.version}})}))}),e.jsxs("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[pe&&G&&e.jsx("div",Object.assign({className:O.default("absolute right-4 top-3 flex items-center gap-2","popup"===$&&"right-12")},{children:e.jsx(p.default,{tip:(null==W?void 0:W["chat-history"])||"Chat History",onClick:Oe})})),e.jsx(f.default,Object.assign({className:O.default("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",pe&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!be&&{onIconClick:Oe})),G&&!he.isLoading&&e.jsx(h.default,Object.assign({className:O.default("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!pe&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==W?void 0:W["chat-history"])||"Chat History"},!be&&{onIconClick:Oe,onHistoryClick:Oe})),e.jsxs("div",Object.assign({className:O.default("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",G&&!he.isLoading&&!pe&&"mt-0")},{children:[ke&&e.jsx("div",Object.assign({className:O.default("grid grid-cols-3 gap-4",2===je.length&&"grid-cols-2",1===je.length&&"grid-cols-1")},{children:e.jsx(w.default,{type:"center",data:je,onSend:I})})),be?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(m.default,{className:"h-6 w-6 shrink-0"}),e.jsx("p",Object.assign({className:"font-semilight"},{children:X}))]}))})),e.jsx(k.default,Object.assign({chatRole:"assistant"},{children:e.jsxs("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(F=null==W?void 0:W["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."} `,e.jsx("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{ee||Z||ie(!0)}},{children:Z?null!==(B=null==W?void 0:W.resending)&&void 0!==B?B:"Resending...":null!==(E=null==W?void 0:W.resend)&&void 0!==E?E:"Resend"}))]}))}))]}))})):e.jsx(e.Fragment,{children:he.isLoading&&!(null==z?void 0:z.enablechatresponses)?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[J&&e.jsxs("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[e.jsx(j.default,{className:"w-[72px] h-[72px]"}),e.jsx(j.default,{className:"h-[20px] mt-6 w-full"}),e.jsx(j.default,{className:"h-[20px] mt-2 w-full"}),e.jsx(j.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),e.jsx(j.default,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),e.jsx(j.default,{className:"h-[150px] w-[70%] animate-pulse rounded"}),e.jsx(j.default,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):he.isError?e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:e.jsxs("p",Object.assign({className:O.default(ge.b2,"text-center font-semibold")},{children:[(null==W?void 0:W["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==W?void 0:W["contact-us"])||"contact us"}))," ",(null==W?void 0:W["for-help"])||"for help."]}))})):he.data||ve?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!==(D=null===(M=he.data)||void 0===M?void 0:M.messages)&&void 0!==D?D:[]).map(((s,t)=>e.jsx(b.default,{index:t,message:s},`history-${t}`))),Ne.map(((s,t)=>{var i,a;return e.jsx(b.default,{smitheryData:S,resubmitPrompt:H,index:(null!==(a=null===(i=he.data)||void 0===i?void 0:i.messages.length)&&void 0!==a?a:0)+t,message:s,isLastMessage:t===Ne.length-1},`memory-${t}`)})),re?e.jsx("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:e.jsx(g.default,{})})):oe?e.jsx("div",Object.assign({className:O.default("flex items-center gap-x-3",V?"justify-end":"justify-start")},{children:e.jsx(x.default,{error:oe})})):null]})),e.jsxs("div",Object.assign({className:O.default("flex flex-col",!_.isWhiteLabel||we&&"mt-4")},{children:[!_.isWhiteLabel&&e.jsx(N.default,{containerClassName:O.default("justify-end",we&&"mb-2")}),we&&e.jsx("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:e.jsx(w.default,{type:"right",data:je,onSend:I})})),e.jsx(v.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"),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"),m=require("../../../Icons/lock.svg.js"),x=require("../../../Core/ErrorAlert.js"),h=require("../../common/PickaxeHead.js"),f=require("../../common/PickaxeEmbedHead.js"),j=require("../../common/PickaxeUpgradeCard.js"),g=require("../../common/PickaxeSkeleton.js"),p=require("../../common/PickaxeHistoryButton.js"),v=require("../../Addons/Scroll/ScrollLockView.js"),y=require("../../Addons/Artifact/Renderer/index.js"),b=require("./Message.js"),k=require("./CustomMessage.js"),w=require("../../Addons/IceBreaker/index.js"),N=require("../../common/PickaxeBranding.js"),C=require("../../../../common/cn.js"),O=require("../../../../common/chatMessages.js");exports.default=({additionalScrollHeight:q,smitheryAuthData:S,isForceHideInfo:A,isInputFocused:P,onSubmit:M,resubmitPrompt:I})=>{var L,H,R,D,B,E,F;const{sessionId:T,deploymentType:z,pickaxe:$,translations:W,misc:_,isNewChat:U,isRtl:G,isEmbed:V,isShowIceBreaker:J,setSessionId:K,setLastSessionId:Q}=i.usePickaxeContext(),{emailInput:X,isLoggedOut:Y,isSending:Z,isResendDisabled:ee,isSent:se,isPricingAuth:ie}=a.useAuthContext(),{onSend:ae}=t.useAuth(),{scrollContainerRef:te,isLocked:le}=o.useScrollContext(),{messages:ne,limitData:oe,error:re,isGenerating:ce}=l.useResponseContext(),{height:de,width:ue}=n.useDimensionContext(),{currentArtifact:me,chatPopupType:xe,currentPopupType:he}=d.useArtifactContext(),fe=c.useConversation(),je=r.useStyleFontSize(),ge=s.useMemo((()=>(null==$?void 0:$.icebreakers)?$.icebreakers.slice(0,3):[]),[null==$?void 0:$.icebreakers]),pe=s.useMemo((()=>{const e=!!fe.data&&fe.data.messages.length>1;return!A&&fe.isSuccess&&U&&!e}),[A,fe.isSuccess,U,fe.data]),ve=s.useMemo((()=>!(null==$?void 0:$.chatflag)&&(null==$?void 0:$.enablechatresponses)&&ne.length>0),[$,ne]),ye=s.useMemo((()=>!!fe.data&&fe.data.messages.some((e=>"intromessage"===e.area))),[fe.data]),be="chat-input"===z&&ie&&Y&&se,ke=J&&!P&&!ye&&pe&&ue>767,we=J&&!P&&(ye||ue<=767),Ne=s.useMemo((()=>{var e,s;const i=null!==(s=null===(e=fe.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];return!ce&&i.length&&ne.length?O.getUnpersistedMemoryMessages(ne,i):ne}),[null===(L=fe.data)||void 0===L?void 0:L.messages,ce,ne]),Ce=()=>{Q(T),K("")};return s.useLayoutEffect((()=>{if(!le)return;const e=te.current;e&&(e.scrollTop=e.scrollHeight)}),[q,null===(H=fe.data)||void 0===H?void 0:H.messages.length,le,te,Ne.length]),e.jsxs("div",Object.assign({ref:te,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4 [overflow-anchor:none]"},{children:[e.jsx(u.AnimatePresence,{children:!!me&&"inline"===he&&e.jsx(u.motion.div,Object.assign({className:C.default("absolute top-0 z-20 w-full px-4 py-2",xe),style:{height:`calc(${de-q}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(y.default,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:me.id,version:me.version}})}))}),e.jsxs("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[pe&&V&&e.jsx("div",Object.assign({className:C.default("absolute right-4 top-3 flex items-center gap-2","popup"===z&&"right-12")},{children:e.jsx(p.default,{tip:(null==W?void 0:W["chat-history"])||"Chat History",onClick:Ce})})),e.jsx(h.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]",pe&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!be&&{onIconClick:Ce})),V&&!fe.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",!pe&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==W?void 0:W["chat-history"])||"Chat History"},!be&&{onIconClick:Ce,onHistoryClick:Ce})),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",V&&!fe.isLoading&&!pe&&"mt-0")},{children:[ke&&e.jsx("div",Object.assign({className:C.default("grid grid-cols-3 gap-4",2===ge.length&&"grid-cols-2",1===ge.length&&"grid-cols-1")},{children:e.jsx(w.default,{type:"center",data:ge,onSend:M})})),be?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(m.default,{className:"h-6 w-6 shrink-0"}),e.jsx("p",Object.assign({className:"font-semilight"},{children:X}))]}))})),e.jsx(k.default,Object.assign({chatRole:"assistant"},{children:e.jsxs("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(B=null==W?void 0:W["we-sent-your-an-activation-link"])&&void 0!==B?B:"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:()=>{ee||Z||ae(!0)}},{children:Z?null!==(E=null==W?void 0:W.resending)&&void 0!==E?E:"Resending...":null!==(F=null==W?void 0:W.resend)&&void 0!==F?F:"Resend"}))]}))}))]}))})):e.jsx(e.Fragment,{children:fe.isLoading&&!(null==$?void 0:$.enablechatresponses)?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[U&&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"})]})):fe.isError?e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:e.jsxs("p",Object.assign({className:C.default(je.b2,"text-center font-semibold")},{children:[(null==W?void 0:W["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==W?void 0:W["contact-us"])||"contact us"}))," ",(null==W?void 0:W["for-help"])||"for help."]}))})):fe.data||ve?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!==(D=null===(R=fe.data)||void 0===R?void 0:R.messages)&&void 0!==D?D:[]).map(((s,i)=>e.jsx(b.default,{index:i,message:s},`history-${i}`))),Ne.map(((s,i)=>{var a,t;return e.jsx(b.default,{smitheryData:S,resubmitPrompt:I,index:(null!==(t=null===(a=fe.data)||void 0===a?void 0:a.messages.length)&&void 0!==t?t:0)+i,message:s,isLastMessage:i===Ne.length-1},`memory-${i}`)})),oe?e.jsx("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:e.jsx(j.default,{})})):re?e.jsx("div",Object.assign({className:C.default("flex items-center gap-x-3",G?"justify-end":"justify-start")},{children:e.jsx(x.default,{error:re})})):null]})),e.jsxs("div",Object.assign({className:C.default("flex flex-col",!_.isWhiteLabel||we&&"mt-4")},{children:[!_.isWhiteLabel&&e.jsx(N.default,{containerClassName:C.default("justify-end",we&&"mb-2")}),we&&e.jsx("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:e.jsx(w.default,{type:"right",data:ge,onSend:M})})),e.jsx(v.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"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../hooks/studio/useStyleInput.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),a=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useDimensionContext.js"),d=require("../Addons/Auth/hooks/useAuthContext.js"),c=require("../Addons/Document/hooks/useDocument.js"),u=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),m=require("../../../hooks/core/useHover.js"),f=require("../../../hooks/core/useMediaQuery.js"),g=require("../../../common/documents.js"),v=require("eventsource-parser"),h=require("../../Icons/attach-vertical.svg.js"),b=require("../../Icons/arrow-right.svg.js"),I=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),x=require("../Addons/Document/List.js"),j=require("../../Core/Textarea.js"),S=require("../../Core/ErrorAlert.js"),O=require("../../../common/error.js"),w=require("../../../common/api/pickaxe.js"),N=require("../../../common/validation.js"),_=require("../../../common/cn.js"),k=require("../../../common/utils.js"),E=require("../../../common/pickaxeConfig.js"),U=require("../../../common/deploymentWebhooks.js"),C=require("../../../hooks/studio/useStudio.js"),T=require("../../../hooks/pickaxe/useSpeech.js"),A=require("../common/PickaxeCommon.js");const D=e=>"string"==typeof e&&e.trim().length>0,P=e=>e.map((e=>Object.assign({},e))),L=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),R=e=>{var t;const s=(null!==(t=e.parts)&&void 0!==t?t:[]).filter((e=>!1!==e.isVisible)),n=s.filter((e=>"text"===e.type)).map((e=>{var t;return null!==(t=e.content)&&void 0!==t?t:""})).join("").trim();return n?JSON.stringify({role:e.role,text:n}):JSON.stringify({role:e.role,parts:s.map((e=>{var t;return{type:e.type,content:null!==(t=e.content)&&void 0!==t?t:""}}))})},M=(e,t)=>{if(e&&"object"==typeof e)return e[t]},q=(e,t)=>{const s=M(e,t);return D(s)?s:null},F=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},V=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const r=Array.isArray(M(e,"uses"))?M(e,"uses"):[],o=(({deploymentId:e,portalId:t})=>D(e)?{type:"deployment",id:e}:D(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!o)return{scope:o,record:null};const a=null!==(i=null!==(n=r.find((e=>e.id===o.id&&e.type===o.type)))&&void 0!==n?n:r.find((e=>e.id===o.id)))&&void 0!==i?i:null;return{scope:o,record:a}},B=s.forwardRef((({resubmitPrompt:M,onFocus:B,onBlur:$,onInputHeightChange:X,initSmitheryAuthData:H},K)=>{var W,J,Y,z,G,Q,Z,ee,te,se,ne,ie;const{origin:re,pickaxeId:oe,sessionId:ae,sender:le,senderType:de,portalId:ce,deploymentId:ue,deploymentType:pe,pickaxe:me,styles:fe,colors:ge,translations:ve,locale:he,forceMobile:be,isNewChat:Ie,isRtl:ye,isShowFeedbackMessage:xe,accessGroup:je,setIsNewChat:Se,setIsShowIceBreaker:Oe,setValidationStatus:we,setValidationUpgradeGroups:Ne,setValidationUpgradeUrl:_e,setAccessGroup:ke,onGenerateComplete:Ee}=n.usePickaxeContext(),{token:Ue,isLoggedOut:Ce,isSent:Te,isPricingAuth:Ae}=d.useAuthContext(),{messages:De,isGenerating:Pe,setMessages:Le,setStatus:Re,setLimitData:Me,setError:qe}=i.useResponseContext(),{documents:Fe,isUploading:Ve,documentError:Be,onFileUpload:$e,setDocuments:Xe,setDocumentError:He}=c.useDocument(),{studio:Ke}=C.useStudio(),{scrollStartSession:We,scrollEndSession:Je,scrollToBottom:Ye}=u.useScroll({auto:!0}),{artifacts:ze,currentPopupType:Ge,setArtifacts:Qe,setCurrentArtifact:Ze}=p.useArtifactContext(),{height:et}=l.useDimensionContext(),tt=a.useConversation(),[st,nt]=s.useState(""),[it,rt]=s.useState(!1),[ot,at]=s.useState(!1),[lt,dt]=s.useState(null),[ct,ut]=s.useState(null),[pt,mt]=s.useState(!1),[ft,gt]=s.useState(!1),[vt,ht]=s.useState(0),bt=s.useRef(null),It=s.useRef(""),yt=s.useRef(null),xt=s.useRef(null),jt=s.useRef(null),St=s.useRef([]),Ot=s.useRef(null),wt=s.useRef(null),Nt=s.useRef(null),_t=s.useRef(null),kt=s.useRef(new Set),Et=s.useRef(null),Ut=Math.max(.4*et,100),{speechTranscript:Ct,isSpeechListening:Tt,isSpeechProcessing:At,isSpeechSupported:Dt,onStartListening:Pt,onStopListening:Lt}=T.useSpeech(),[Rt]=f.useMediaQuery("(max-width: 480px)"),Mt=m.useHover(),{isHover:qt}=Mt,Ft=e.__rest(Mt,["isHover"]),Vt=m.useHover(),{isHover:Bt}=Vt,$t=e.__rest(Vt,["isHover"]),Xt=m.useHover(),{isHover:Ht}=Xt,Kt=e.__rest(Xt,["isHover"]),Wt=o.useStyleFontSize(),Jt=r.useStyleInput(),Yt="undefined"!=typeof window?window.location.hostname:"",zt="undefined"!=typeof window?window.location.href:"",Gt="undefined"!=typeof window&&window.self!==window.top,Qt=Yt.includes("pickaxe.co")&&!zt.includes("https://studio.pickaxe.co/_embed")&&!Gt,Zt=null!==(J=null===(W=null==me?void 0:me.documentuploadtype)||void 0===W?void 0:W.startsWith("enduserupload"))&&void 0!==J&&J,es=Dt&&(null==me?void 0:me.enablevoicetotext),ts=D(ue),ss="chat-input"===pe&&Ie&&!Te,ns="chat-input"===pe&&Ae&&Ce&&Te,is=s.useCallback((e=>{const t=N.getValidationFailure(e);return!!t&&(qe(""),Me(null),we(t.status),ke(t.accessGroup),Ne(t.upgradeGroups),_e(t.upgradeUrl),!0)}),[qe,Me,we,Ne,_e,ke]),rs=null!==(Y=null==me?void 0:me.placeholdertext)&&void 0!==Y?Y:ye?"بماذا تريد أن تتحدث؟":(null==ve?void 0:ve["what-do-you-want-to-talk-about"])||"What do you want to talk about?",os=it||ot,as=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){mt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==me?void 0:me.studioid},Ue?{studioSessionToken:Ue}:le?{sender:le}:{sender:k.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Qt&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(dt(t.studioUser),ut(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{mt(!0)}}))),[Qt,null==me?void 0:me.studioid,le,Ue]);s.useEffect((()=>{as()}),[as]);const ls=Number(null!==(z=null==je?void 0:je.limit)&&void 0!==z?z:0),ds="string"==typeof(null==je?void 0:je.limitInterval)?je.limitInterval:null,cs=!!(null==Ke?void 0:Ke.data.usage)&&Ke.data.usage.isCredits,us=s.useMemo((()=>{var e,t,s,n,i;return null!==(i=null!==(n=null!==(s=null!==(t=null!==(e=null!=ce?ce:q(lt,"portalId"))&&void 0!==e?e:q(lt,"portalid"))&&void 0!==t?t:q(je,"portalId"))&&void 0!==s?s:q(je,"portalid"))&&void 0!==n?n:q(me,"portalId"))&&void 0!==i?i:q(me,"portalid")}),[je,ce,me,lt]),ps=s.useMemo((()=>V({studioUser:lt,deploymentId:ue,portalId:us})),[ue,us,lt]);s.useEffect((()=>{ts&&Ie&&ae&&kt.current.add(ae)}),[Ie,ae,ts]);const ms=s.useCallback((()=>{var e,t,s;return{studioId:null==me?void 0:me.studioid,userEmail:q(lt,"email"),userId:null!==(e=q(lt,"userId"))&&void 0!==e?e:q(lt,"userid"),sessionId:ae,deploymentId:ue,deploymentType:pe,portalId:us,accessGroupId:null!==(t=null==je?void 0:je.accessGroupId)&&void 0!==t?t:null,pickaxeId:oe,sender:le,senderType:de,origin:re,metadata:null!==(s=E.getPickaxeConfigMetadata(ue))&&void 0!==s?s:null}}),[null==je?void 0:je.accessGroupId,ue,pe,re,null==me?void 0:me.studioid,oe,us,le,de,ae,lt]),fs=s.useCallback((()=>!!(ts&&pt&&ae)&&(!!kt.current.has(ae)&&(U.fireDeploymentSessionInitializedWebhook(ms()),kt.current.delete(ae),!0))),[ms,pt,ae,ts]);s.useEffect((()=>{if(!pt||!ae)return;fs();const e=Et.current;(null==e?void 0:e.sessionId)===ae&&(U.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),ms()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Et.current=null)}),[fs,ms,pt,ae]);const gs={currentUses:F(null==lt?void 0:lt.currentUses),extraUses:F(null==lt?void 0:lt.extraUses)},vs=ps.scope?{currentUses:null!==(Q=F(null===(G=ps.record)||void 0===G?void 0:G.currentUses))&&void 0!==Q?Q:0,extraUses:null!==(ee=F(null===(Z=ps.record)||void 0===Z?void 0:Z.extraUses))&&void 0!==ee?ee:0}:{currentUses:0,extraUses:0},hs=q(lt,"type"),bs="guest"===hs||!hs&&Ce?vs:gs;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(cs&&(null===(e=null==Ke?void 0:Ke.data)||void 0===e?void 0:e.workspaceId))try{const e=yield w.pickaxeApi2.get(`/cost_per_run?workspaceId=${Ke.data.workspaceId}`,{withCredentials:!1});t&&ht(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&ht(0)}else t&&ht(0)})),()=>{t=!1}}),[cs,null===(te=null==Ke?void 0:Ke.data)||void 0===te?void 0:te.workspaceId]);const Is=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),r=Number(null!=t?t:0);return s===A.STUDIO_INFINITY_VALUE||r===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,r-i):Math.max(0,s-i)+r})({currentUses:bs.currentUses,extraUses:bs.extraUses,limit:ls,limitInterval:ds}),ys=Is===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(Is)),xs=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===A.STUDIO_INFINITY_VALUE||n===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:bs.extraUses,limit:ls,limitInterval:ds}),js=xs===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.ceil(.05*xs),Ss=cs?Math.ceil(5*vt):5,Os=js===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(js,Ss),ws=s.useMemo((()=>!!lt&&(!ft&&(ys!==A.STUDIO_INFINITY_VALUE&&(!(ys<=0)&&ys<=Os)))),[ft,Os,ys,lt]),Ns=Boolean(null==je?void 0:je.hideUpgradeOptions),_s=!Ns&&(null===(se=null==je?void 0:je.upgrade)||void 0===se?void 0:se.isLinkToCustomURL)&&"string"==typeof je.upgrade.limitLink&&je.upgrade.limitLink.trim().length>0?je.upgrade.limitLink.trim():null,ks=_s&&"string"==typeof(null===(ne=null==je?void 0:je.upgrade)||void 0===ne?void 0:ne.limitCTA)&&je.upgrade.limitCTA.trim().length>0?je.upgrade.limitCTA:(null==ve?void 0:ve["pricing.upgrade"])||(null==ve?void 0:ve.upgrade)||"Upgrade",Es=s.useMemo((()=>{var e,t,s;return!!Ie&&(!!me&&(!tt.isLoading&&(!((null!==(t=null===(e=tt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=me.icebreakers)||void 0===s?void 0:s.length)&&(!xe&&!ss)))))}),[me,Ie,xe,ss,tt.data,tt.isLoading]),Us=s.useMemo((()=>{if(Pe||Ve)return!1;const e=Zt&&Fe.length>0&&Fe.every((e=>"finished"===e.status));return!(!st.trim()&&!e)&&Fe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Zt,Pe,Ve,st,Fe]);s.useImperativeHandle(K,(()=>({onSubmit:Cs}))),s.useEffect((()=>{Oe(Es)}),[Es]),s.useEffect((()=>{var e;if(M){const t=Array.from(De),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Cs(s,!0)}}),[M]),s.useEffect((()=>{if(!Nt.current||!X)return;const e=new ResizeObserver((e=>{for(const t of e)X(t.contentRect.height)}));return e.observe(Nt.current),()=>{e.disconnect()}}),[X]),s.useEffect((()=>{if(!Tt)return;const e=It.current?`${It.current} `:"";nt(`${e}${Ct}`)}),[Ct,Tt]),s.useEffect((()=>{if(!Ot.current)return;(()=>{if(!Ot.current)return;let e=Ot.current.scrollHeight>52;st.includes("\n")||Fe.length?e=!0:st.trim()||(e=!1),rt(e)})()}),[st,Fe]),s.useEffect((()=>{const e=Ot.current,t=wt.current;if(!e||!t||it||st.includes("\n"))return void at(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,i=document.createElement("span");Object.assign(i.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),i.textContent=st||rs,document.body.appendChild(i);const r=i.offsetWidth;i.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;at(r>l)}),[st,it,rs]);const Cs=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i,r,o,a;let l=null;try{if(Pe||Ve)return;const d=Fe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),c=d.map((e=>e.documentId)).filter(Boolean),u=d.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),p=null!=t?t:st,m=null!==(n=null===(e=null==me?void 0:me.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&c.length>0;if(!p&&!m)return;qe(""),He(""),Me(null),nt(""),Se(!1),Re("fetching"),We(),Ye();const f=null!==(r=null===(i=tt.data)||void 0===i?void 0:i.messages)&&void 0!==r?r:[],g=((e,t)=>{if(!t.length||!e.length)return e;const s=t.map(R);let n=0,i=0;for(;i<e.length&&n<s.length;){const t=s.indexOf(R(e[i]),n);if(-1===t)break;i+=1,n=t+1}const r=new Set(t.filter((e=>"assistant"===e.role)).map(R));return e.slice(i).filter((e=>"assistant"!==e.role||!r.has(R(e))))})(De,f),h=s?g.slice(0,g.length-1):g,b=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(h),I=b+(s?0:1),y={id:I,role:"assistant",parts:[],documentIds:[]},x=[...h,...s?[]:[{id:b,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:m?c:[]}],y];Le(x),Ye(),m&&Xe([]);const j=E.getPickaxeConfigMetadata(ue),S="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=S,xt.current=S,jt.current=null,St.current=[];const O=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:re,pickaxeId:oe,sessionId:ae,submissionId:S,senderType:de,value:p},m&&{documentIds:c}),le&&{sender:le}),Ue&&{studioSessionToken:Ue}),!Ue&&!le&&{sender:k.initializeEmbedUserId()}),us&&{portalId:us}),ue&&{deploymentId:ue}),j&&{metadata:j}),m&&u.length>0?{uploadedModelImages:u}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Qt&&{credentials:"include"})),w=yield O.json();if(!w.success){if(w.limitData){const e=new Error(w.error||w.message||(null==ve?void 0:ve["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=w.limitData,e}if(is(w))return;throw new Error(w.error||w.message||(null==ve?void 0:ve["failed-to-start-generation"])||"Failed to start generation")}const N=null!==(o=w.submissionId)&&void 0!==o?o:S;l=N,xt.current=N;const _=()=>jt.current===N;if(_())return;ts&&Ie&&ae&&kt.current.add(ae);const C=Object.assign(Object.assign({},ms()),{message:p,documentIds:m?c:[],uploadedModelImages:m?u:[],hasUploadedDocuments:m,isHidden:s,metadata:null!=j?j:null});pt?(fs(),U.fireDeploymentFirstMessageSubmittedWebhook(C)):Et.current=C,Re("streaming"),_t.current=new AbortController;const T=[];let A=[...null!=ze?ze:[]],D=0,M=!1,q="";for(;!M;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${N}?index=${D}`,{signal:null===(a=_t.current)||void 0===a?void 0:a.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();yt.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(_())M=!0;else if(e.event&&"ping"!==e.event&&D++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Me(t.limitData),qe(""),void(M=!0);const s=t.error||t.message||(null==ve?void 0:ve["something-went-wrong"])||"Something went wrong.";return is(t)||qe(s),void(M=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&H){const e=n.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),s=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){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 M=!0,H({provider:"smithery",smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}else if(s){const t=e.match(/['"]toolkitSlug['"]\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 M=!0,H({provider:"composio",toolkitSlug: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 M=!0,H({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw M=!0,H({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)q="",T.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)q+=n.delta,T[T.length-1].content=q;else if("text-end"===n.type)q="";else if("reasoning-start"===n.type)q="",T.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)q+=n.delta,T[T.length-1].content=q;else if("reasoning-end"===n.type)q="";else if(n.type.startsWith("data-")){const e=n;T.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}St.current=P(T);const i=P(T);Le((e=>{const t=e.findIndex((e=>e.id===I)),s=Object.assign(Object.assign({},y),{parts:i});return-1===t?[...e,s]:e.map(((e,n)=>n===t?s:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);A=A.filter((e=>!(e.id===t.id&&e.version===t.version))),A.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Qe([...A]),Ge.startsWith("inline")||Ze({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);A=A.filter((e=>!(e.id===t.id&&e.version===t.version))),A.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Qe(A),Ge.startsWith("inline")||Ze({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);A=A.filter((e=>!(e.id===t.id&&e.version===t.version))),A.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Qe(A),Ge.startsWith("inline")||Ze({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");A=A.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Qe(A)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Qe(A.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Me(t.limitData),qe(""),void(M=!0);const s=t.error||t.message||(null==ve?void 0:ve["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(is(t))return void(M=!0);qe(s)}else"stop"===e.event&&(M=!0)}else M=!0}});for(;;){if(_()){M=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(_()){M=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}M||_()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||L(e)||_())return void(M=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Ee||Ee(ae)}catch(e){if(L(e))return;if(e.limitData)Me(e.limitData),qe("");else{let t=O.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==ve?void 0:ve["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),is(t)||qe(t)}}finally{const e=!l||xt.current===l;Ye(),e&&(Re("idle"),Je(),yt.current=null),l&&e&&(xt.current=null,St.current=[]),yield as()}}));return ns?null:t.jsx("div",Object.assign({className:_.default("flex w-full flex-shrink-0 flex-col items-center",!ss&&"px-4 pb-8"),dir:ye?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:Nt,className:_.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===fe.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Jt),{maxHeight:`${Ut}px`,overflowY:"auto"})},{children:[ws&&t.jsxs("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Jt.backgroundColor?`${Jt.backgroundColor}E6`:void 0,borderColor:ge.text+"20",color:ge.text,borderTopRightRadius:fe.cornerRadius+"px",borderTopLeftRadius:fe.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[ys.toLocaleString()," ",cs?(null==ve?void 0:ve.credits)||"Credits":(null==ve?void 0:ve.uses)||"Uses"," ",(null==ve?void 0:ve.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[!Ns&&t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ge.accent,color:ge.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),_s)return void window.open(_s,"_blank","noopener,noreferrer");const t=k.buildUpgradeUrl({baseUrl:ct,accessGroupId:null==je?void 0:je.accessGroupId,redirectUrl:document.URL});t&&(k.isInIframe()?window.open(t):location.href=t)}},{children:ks})),t.jsx("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>gt(!0)},{children:t.jsx("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Pe&&Fe.length>0&&t.jsx(x.default,{className:"p-4 pb-0",isDisabled:Pe}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Tt&&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!==(ie=ge.accent)&&void 0!==ie?ie:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ge.text+"90"}},{children:(null==ve?void 0:ve.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:Ot,className:_.default(Wt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!st.trim()&&!st.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",ye?"text-right":"text-left",os&&"mb-12",Tt&&"text-transparent"),value:st,placeholder:rs,onChange:e=>{nt(e)},onKeyDown:e=>{be||Rt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Ve||Pe||Cs()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!Zt)return;t.preventDefault(),Se(!1),yield $e(e)}}))},B&&{onFocus:B},$&&{onBlur:$},{dir:ye?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:wt,className:_.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",os?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!os&&Jt.backgroundColor&&{backgroundColor:Jt.backgroundColor}),{borderTopRightRadius:fe.cornerRadius+"px",borderBottomRightRadius:fe.cornerRadius+"px"})},{children:Pe?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:()=>{const t=xt.current;t&&(jt.current=t,(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:xt.current))return;const e=P(St.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${t}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:e})},Qt&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(t)),_t.current&&(_t.current.abort(),_t.current=null),yt.current&&(yt.current.cancel().catch((()=>{})),yt.current=null),Re("idle")},style:{backgroundColor:ge.accent,color:ge.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):Tt?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:Lt,style:{backgroundColor:ge.accent,color:ge.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[Zt&&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:Bt?ge.accent+"10":void 0,color:Bt?ge.accent:ge.accent+"80"},disabled:Ve||Pe,onClick:()=>{var e;return null===(e=bt.current)||void 0===e?void 0:e.click()}},$t,{children:[t.jsx("input",{id:"file-upload",ref:bt,type:"file",accept:[...g.allowedFileMimeTypes,...g.allowedImageMimeTypes,...g.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){Se(!1),yield $e(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(h.default,{className:"h-6 w-6 shrink-0"})]})),es&&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:Tt?ge.accent:Ht?ge.accent+"10":void 0,color:Tt?ge.accentText:Ht?ge.accent:ge.accent+"80"},disabled:Ve||Pe||At,onClick:()=>{Tt?Lt():(It.current=st,Pt(he||"en-US"))}},Kt,{children:t.jsx(I.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:qt||Us?ge.accent:ge.accent+"10",color:qt||Us?ge.accentText:ge.accent+"80"},disabled:!Us,onClick:()=>Cs()},Ft,{children:t.jsx(b.default,{className:_.default("h-6 w-6 shrink-0",ye&&"scale-x-[-1] transform")})}))]})}))]}))]})),Be&&t.jsx(S.default,{error:Be,className:"mt-3"})]}))}))}));B.displayName="Input",exports.default=B;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../hooks/studio/useStyleInput.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),a=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useDimensionContext.js"),d=require("../Addons/Auth/hooks/useAuthContext.js"),c=require("../Addons/Document/hooks/useDocument.js"),u=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),m=require("../../../hooks/core/useHover.js"),f=require("../../../hooks/core/useMediaQuery.js"),g=require("../../../common/documents.js"),v=require("eventsource-parser"),h=require("../../Icons/attach-vertical.svg.js"),b=require("../../Icons/arrow-right.svg.js"),I=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),x=require("../Addons/Document/List.js"),j=require("../../Core/Textarea.js"),S=require("../../Core/ErrorAlert.js"),O=require("../../../common/error.js"),w=require("../../../common/chatMessages.js"),N=require("../../../common/api/pickaxe.js"),_=require("../../../common/validation.js"),k=require("../../../common/cn.js"),E=require("../../../common/utils.js"),U=require("../../../common/pickaxeConfig.js"),C=require("../../../common/deploymentWebhooks.js"),T=require("../../../hooks/studio/useStudio.js"),A=require("../../../hooks/pickaxe/useSpeech.js"),D=require("../common/PickaxeCommon.js");const P=e=>"string"==typeof e&&e.trim().length>0,L=e=>e.map((e=>Object.assign({},e))),M=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),R=(e,t)=>{if(e&&"object"==typeof e)return e[t]},q=(e,t)=>{const s=R(e,t);return P(s)?s:null},F=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},V=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const r=Array.isArray(R(e,"uses"))?R(e,"uses"):[],o=(({deploymentId:e,portalId:t})=>P(e)?{type:"deployment",id:e}:P(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!o)return{scope:o,record:null};const a=null!==(i=null!==(n=r.find((e=>e.id===o.id&&e.type===o.type)))&&void 0!==n?n:r.find((e=>e.id===o.id)))&&void 0!==i?i:null;return{scope:o,record:a}},B=s.forwardRef((({resubmitPrompt:R,onFocus:B,onBlur:$,onInputHeightChange:X,initSmitheryAuthData:H},K)=>{var W,Y,z,G,J,Q,Z,ee,te,se,ne,ie;const{origin:re,pickaxeId:oe,sessionId:ae,sender:le,senderType:de,portalId:ce,deploymentId:ue,deploymentType:pe,pickaxe:me,styles:fe,colors:ge,translations:ve,locale:he,forceMobile:be,isNewChat:Ie,isRtl:ye,isShowFeedbackMessage:xe,accessGroup:je,setIsNewChat:Se,setIsShowIceBreaker:Oe,setValidationStatus:we,setValidationUpgradeGroups:Ne,setValidationUpgradeUrl:_e,setAccessGroup:ke,onGenerateComplete:Ee}=n.usePickaxeContext(),{token:Ue,isLoggedOut:Ce,isSent:Te,isPricingAuth:Ae}=d.useAuthContext(),{messages:De,isGenerating:Pe,setMessages:Le,setStatus:Me,setLimitData:Re,setError:qe}=i.useResponseContext(),{documents:Fe,isUploading:Ve,documentError:Be,onFileUpload:$e,setDocuments:Xe,setDocumentError:He}=c.useDocument(),{studio:Ke}=T.useStudio(),[We]=f.useMediaQuery("(max-width: 480px)"),{scrollStartSession:Ye,scrollEndSession:ze,scrollToBottom:Ge}=u.useScroll({auto:!0,smooth:!(be||We)}),{artifacts:Je,currentPopupType:Qe,setArtifacts:Ze,setCurrentArtifact:et}=p.useArtifactContext(),{height:tt}=l.useDimensionContext(),st=a.useConversation(),[nt,it]=s.useState(""),[rt,ot]=s.useState(!1),[at,lt]=s.useState(!1),[dt,ct]=s.useState(null),[ut,pt]=s.useState(null),[mt,ft]=s.useState(!1),[gt,vt]=s.useState(!1),[ht,bt]=s.useState(0),It=s.useRef(null),yt=s.useRef(""),xt=s.useRef(null),jt=s.useRef(null),St=s.useRef(null),Ot=s.useRef([]),wt=s.useRef(null),Nt=s.useRef(null),_t=s.useRef(null),kt=s.useRef(null),Et=s.useRef(new Set),Ut=s.useRef(null),Ct=Math.max(.4*tt,100),{speechTranscript:Tt,isSpeechListening:At,isSpeechProcessing:Dt,isSpeechSupported:Pt,onStartListening:Lt,onStopListening:Mt}=A.useSpeech(),Rt=m.useHover(),{isHover:qt}=Rt,Ft=e.__rest(Rt,["isHover"]),Vt=m.useHover(),{isHover:Bt}=Vt,$t=e.__rest(Vt,["isHover"]),Xt=m.useHover(),{isHover:Ht}=Xt,Kt=e.__rest(Xt,["isHover"]),Wt=o.useStyleFontSize(),Yt=r.useStyleInput(),zt="undefined"!=typeof window?window.location.hostname:"",Gt="undefined"!=typeof window?window.location.href:"",Jt="undefined"!=typeof window&&window.self!==window.top,Qt=zt.includes("pickaxe.co")&&!Gt.includes("https://studio.pickaxe.co/_embed")&&!Jt,Zt=null!==(Y=null===(W=null==me?void 0:me.documentuploadtype)||void 0===W?void 0:W.startsWith("enduserupload"))&&void 0!==Y&&Y,es=Pt&&(null==me?void 0:me.enablevoicetotext),ts=P(ue),ss="chat-input"===pe&&Ie&&!Te,ns="chat-input"===pe&&Ae&&Ce&&Te,is=s.useCallback((e=>{const t=_.getValidationFailure(e);return!!t&&(qe(""),Re(null),we(t.status),ke(t.accessGroup),Ne(t.upgradeGroups),_e(t.upgradeUrl),!0)}),[qe,Re,we,Ne,_e,ke]),rs=null!==(z=null==me?void 0:me.placeholdertext)&&void 0!==z?z:ye?"بماذا تريد أن تتحدث؟":(null==ve?void 0:ve["what-do-you-want-to-talk-about"])||"What do you want to talk about?",os=rt||at,as=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){ft(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==me?void 0:me.studioid},Ue?{studioSessionToken:Ue}:le?{sender:le}:{sender:E.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Qt&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(ct(t.studioUser),pt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{ft(!0)}}))),[Qt,null==me?void 0:me.studioid,le,Ue]);s.useEffect((()=>{as()}),[as]);const ls=Number(null!==(G=null==je?void 0:je.limit)&&void 0!==G?G:0),ds="string"==typeof(null==je?void 0:je.limitInterval)?je.limitInterval:null,cs=!!(null==Ke?void 0:Ke.data.usage)&&Ke.data.usage.isCredits,us=s.useMemo((()=>{var e,t,s,n,i;return null!==(i=null!==(n=null!==(s=null!==(t=null!==(e=null!=ce?ce:q(dt,"portalId"))&&void 0!==e?e:q(dt,"portalid"))&&void 0!==t?t:q(je,"portalId"))&&void 0!==s?s:q(je,"portalid"))&&void 0!==n?n:q(me,"portalId"))&&void 0!==i?i:q(me,"portalid")}),[je,ce,me,dt]),ps=s.useMemo((()=>V({studioUser:dt,deploymentId:ue,portalId:us})),[ue,us,dt]);s.useEffect((()=>{ts&&Ie&&ae&&Et.current.add(ae)}),[Ie,ae,ts]);const ms=s.useCallback((()=>{var e,t,s;return{studioId:null==me?void 0:me.studioid,userEmail:q(dt,"email"),userId:null!==(e=q(dt,"userId"))&&void 0!==e?e:q(dt,"userid"),sessionId:ae,deploymentId:ue,deploymentType:pe,portalId:us,accessGroupId:null!==(t=null==je?void 0:je.accessGroupId)&&void 0!==t?t:null,pickaxeId:oe,sender:le,senderType:de,origin:re,metadata:null!==(s=U.getPickaxeConfigMetadata(ue))&&void 0!==s?s:null}}),[null==je?void 0:je.accessGroupId,ue,pe,re,null==me?void 0:me.studioid,oe,us,le,de,ae,dt]),fs=s.useCallback((()=>!!(ts&&mt&&ae)&&(!!Et.current.has(ae)&&(C.fireDeploymentSessionInitializedWebhook(ms()),Et.current.delete(ae),!0))),[ms,mt,ae,ts]);s.useEffect((()=>{if(!mt||!ae)return;fs();const e=Ut.current;(null==e?void 0:e.sessionId)===ae&&(C.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),ms()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Ut.current=null)}),[fs,ms,mt,ae]);const gs={currentUses:F(null==dt?void 0:dt.currentUses),extraUses:F(null==dt?void 0:dt.extraUses)},vs=ps.scope?{currentUses:null!==(Q=F(null===(J=ps.record)||void 0===J?void 0:J.currentUses))&&void 0!==Q?Q:0,extraUses:null!==(ee=F(null===(Z=ps.record)||void 0===Z?void 0:Z.extraUses))&&void 0!==ee?ee:0}:{currentUses:0,extraUses:0},hs=q(dt,"type"),bs="guest"===hs||!hs&&Ce?vs:gs;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(cs&&(null===(e=null==Ke?void 0:Ke.data)||void 0===e?void 0:e.workspaceId))try{const e=yield N.pickaxeApi2.get(`/cost_per_run?workspaceId=${Ke.data.workspaceId}`,{withCredentials:!1});t&&bt(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&bt(0)}else t&&bt(0)})),()=>{t=!1}}),[cs,null===(te=null==Ke?void 0:Ke.data)||void 0===te?void 0:te.workspaceId]);const Is=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),r=Number(null!=t?t:0);return s===D.STUDIO_INFINITY_VALUE||r===D.STUDIO_INFINITY_VALUE?D.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,r-i):Math.max(0,s-i)+r})({currentUses:bs.currentUses,extraUses:bs.extraUses,limit:ls,limitInterval:ds}),ys=Is===D.STUDIO_INFINITY_VALUE?D.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(Is)),xs=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===D.STUDIO_INFINITY_VALUE||n===D.STUDIO_INFINITY_VALUE?D.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:bs.extraUses,limit:ls,limitInterval:ds}),js=xs===D.STUDIO_INFINITY_VALUE?D.STUDIO_INFINITY_VALUE:Math.ceil(.05*xs),Ss=cs?Math.ceil(5*ht):5,Os=js===D.STUDIO_INFINITY_VALUE?D.STUDIO_INFINITY_VALUE:Math.max(js,Ss),ws=s.useMemo((()=>!!dt&&(!gt&&(ys!==D.STUDIO_INFINITY_VALUE&&(!(ys<=0)&&ys<=Os)))),[gt,Os,ys,dt]),Ns=Boolean(null==je?void 0:je.hideUpgradeOptions),_s=!Ns&&(null===(se=null==je?void 0:je.upgrade)||void 0===se?void 0:se.isLinkToCustomURL)&&"string"==typeof je.upgrade.limitLink&&je.upgrade.limitLink.trim().length>0?je.upgrade.limitLink.trim():null,ks=_s&&"string"==typeof(null===(ne=null==je?void 0:je.upgrade)||void 0===ne?void 0:ne.limitCTA)&&je.upgrade.limitCTA.trim().length>0?je.upgrade.limitCTA:(null==ve?void 0:ve["pricing.upgrade"])||(null==ve?void 0:ve.upgrade)||"Upgrade",Es=s.useMemo((()=>{var e,t,s;return!!Ie&&(!!me&&(!st.isLoading&&(!((null!==(t=null===(e=st.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=me.icebreakers)||void 0===s?void 0:s.length)&&(!xe&&!ss)))))}),[me,Ie,xe,ss,st.data,st.isLoading]),Us=s.useMemo((()=>{if(Pe||Ve)return!1;const e=Zt&&Fe.length>0&&Fe.every((e=>"finished"===e.status));return!(!nt.trim()&&!e)&&Fe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Zt,Pe,Ve,nt,Fe]);s.useImperativeHandle(K,(()=>({onSubmit:Cs}))),s.useEffect((()=>{Oe(Es)}),[Es]),s.useEffect((()=>{var e;if(R){const t=Array.from(De),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Cs(s,!0)}}),[R]),s.useEffect((()=>{if(!_t.current||!X)return;const e=new ResizeObserver((e=>{for(const t of e)X(t.contentRect.height)}));return e.observe(_t.current),()=>{e.disconnect()}}),[X]),s.useEffect((()=>{if(!At)return;const e=yt.current?`${yt.current} `:"";it(`${e}${Tt}`)}),[Tt,At]),s.useEffect((()=>{if(!wt.current)return;(()=>{if(!wt.current)return;let e=wt.current.scrollHeight>52;nt.includes("\n")||Fe.length?e=!0:nt.trim()||(e=!1),ot(e)})()}),[nt,Fe]),s.useEffect((()=>{const e=wt.current,t=Nt.current;if(!e||!t||rt||nt.includes("\n"))return void lt(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,i=document.createElement("span");Object.assign(i.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),i.textContent=nt||rs,document.body.appendChild(i);const r=i.offsetWidth;i.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;lt(r>l)}),[nt,rt,rs]);const Cs=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i,r,o,a;let l=null;try{if(Pe||Ve)return;const d=Fe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),c=d.map((e=>e.documentId)).filter(Boolean),u=d.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),p=null!=t?t:nt,m=null!==(n=null===(e=null==me?void 0:me.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&c.length>0;if(!p&&!m)return;qe(""),He(""),Re(null),it(""),Se(!1),Me("fetching"),Ye(),Ge();const f=null!==(r=null===(i=st.data)||void 0===i?void 0:i.messages)&&void 0!==r?r:[],g=w.getUnpersistedMemoryMessages(De,f),h=s?g.slice(0,g.length-1):g,b=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(h),I=b+(s?0:1),y={id:I,role:"assistant",parts:[],documentIds:[]},x=[...h,...s?[]:[{id:b,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:m?c:[]}],y];Le(x),Ge(),m&&Xe([]);const j=U.getPickaxeConfigMetadata(ue),S="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=S,jt.current=S,St.current=null,Ot.current=[];const O=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:re,pickaxeId:oe,sessionId:ae,submissionId:S,senderType:de,value:p},m&&{documentIds:c}),le&&{sender:le}),Ue&&{studioSessionToken:Ue}),!Ue&&!le&&{sender:E.initializeEmbedUserId()}),us&&{portalId:us}),ue&&{deploymentId:ue}),j&&{metadata:j}),m&&u.length>0?{uploadedModelImages:u}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Qt&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==ve?void 0:ve["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(is(N))return;throw new Error(N.error||N.message||(null==ve?void 0:ve["failed-to-start-generation"])||"Failed to start generation")}const _=null!==(o=N.submissionId)&&void 0!==o?o:S;l=_,jt.current=_;const k=()=>St.current===_;if(k())return;ts&&Ie&&ae&&Et.current.add(ae);const T=Object.assign(Object.assign({},ms()),{message:p,documentIds:m?c:[],uploadedModelImages:m?u:[],hasUploadedDocuments:m,isHidden:s,metadata:null!=j?j:null});mt?(fs(),C.fireDeploymentFirstMessageSubmittedWebhook(T)):Ut.current=T,Me("streaming"),kt.current=new AbortController;const A=[];let D=[...null!=Je?Je:[]],P=0,R=!1,q="";for(;!R;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${_}?index=${P}`,{signal:null===(a=kt.current)||void 0===a?void 0:a.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();xt.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(k())R=!0;else if(e.event&&"ping"!==e.event&&P++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Re(t.limitData),qe(""),void(R=!0);const s=t.error||t.message||(null==ve?void 0:ve["something-went-wrong"])||"Something went wrong.";return is(t)||qe(s),void(R=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&H){const e=n.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),s=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){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 R=!0,H({provider:"smithery",smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}else if(s){const t=e.match(/['"]toolkitSlug['"]\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 R=!0,H({provider:"composio",toolkitSlug: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 R=!0,H({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw R=!0,H({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)q="",A.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)q+=n.delta,A[A.length-1].content=q;else if("text-end"===n.type)q="";else if("reasoning-start"===n.type)q="",A.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)q+=n.delta,A[A.length-1].content=q;else if("reasoning-end"===n.type)q="";else if(n.type.startsWith("data-")){const e=n;A.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Ot.current=L(A);const i=L(A);Le((e=>{const t=e.findIndex((e=>e.id===I)),s=Object.assign(Object.assign({},y),{parts:i});return-1===t?[...e,s]:e.map(((e,n)=>n===t?s:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);D=D.filter((e=>!(e.id===t.id&&e.version===t.version))),D.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ze([...D]),Qe.startsWith("inline")||et({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);D=D.filter((e=>!(e.id===t.id&&e.version===t.version))),D.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ze(D),Qe.startsWith("inline")||et({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);D=D.filter((e=>!(e.id===t.id&&e.version===t.version))),D.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ze(D),Qe.startsWith("inline")||et({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");D=D.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Ze(D)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ze(D.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Re(t.limitData),qe(""),void(R=!0);const s=t.error||t.message||(null==ve?void 0:ve["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(is(t))return void(R=!0);qe(s)}else"stop"===e.event&&(R=!0)}else R=!0}});for(;;){if(k()){R=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(k()){R=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}R||k()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||M(e)||k())return void(R=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Ee||Ee(ae)}catch(e){if(M(e))return;if(e.limitData)Re(e.limitData),qe("");else{let t=O.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==ve?void 0:ve["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),is(t)||qe(t)}}finally{const e=!l||jt.current===l;Ge(),e&&(Me("idle"),ze(),xt.current=null),l&&e&&(jt.current=null,Ot.current=[]),yield as()}}));return ns?null:t.jsx("div",Object.assign({className:k.default("flex w-full flex-shrink-0 flex-col items-center",!ss&&"px-4 pb-8"),dir:ye?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:_t,className:k.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===fe.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Yt),{maxHeight:`${Ct}px`,overflowY:"auto"})},{children:[ws&&t.jsxs("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Yt.backgroundColor?`${Yt.backgroundColor}E6`:void 0,borderColor:ge.text+"20",color:ge.text,borderTopRightRadius:fe.cornerRadius+"px",borderTopLeftRadius:fe.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[ys.toLocaleString()," ",cs?(null==ve?void 0:ve.credits)||"Credits":(null==ve?void 0:ve.uses)||"Uses"," ",(null==ve?void 0:ve.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[!Ns&&t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ge.accent,color:ge.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),_s)return void window.open(_s,"_blank","noopener,noreferrer");const t=E.buildUpgradeUrl({baseUrl:ut,accessGroupId:null==je?void 0:je.accessGroupId,redirectUrl:document.URL});t&&(E.isInIframe()?window.open(t):location.href=t)}},{children:ks})),t.jsx("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>vt(!0)},{children:t.jsx("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Pe&&Fe.length>0&&t.jsx(x.default,{className:"p-4 pb-0",isDisabled:Pe}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[At&&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!==(ie=ge.accent)&&void 0!==ie?ie:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ge.text+"90"}},{children:(null==ve?void 0:ve.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:wt,className:k.default(Wt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!nt.trim()&&!nt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",ye?"text-right":"text-left",os&&"mb-12",At&&"text-transparent"),value:nt,placeholder:rs,onChange:e=>{it(e)},onKeyDown:e=>{be||We||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Ve||Pe||Cs()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!Zt)return;t.preventDefault(),Se(!1),yield $e(e)}}))},B&&{onFocus:B},$&&{onBlur:$},{dir:ye?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:Nt,className:k.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",os?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!os&&Yt.backgroundColor&&{backgroundColor:Yt.backgroundColor}),{borderTopRightRadius:fe.cornerRadius+"px",borderBottomRightRadius:fe.cornerRadius+"px"})},{children:Pe?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:()=>{const t=jt.current;t&&(St.current=t,(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:jt.current))return;const e=L(Ot.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${t}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:e})},Qt&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(t)),kt.current&&(kt.current.abort(),kt.current=null),xt.current&&(xt.current.cancel().catch((()=>{})),xt.current=null),Me("idle")},style:{backgroundColor:ge.accent,color:ge.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):At?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:Mt,style:{backgroundColor:ge.accent,color:ge.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[Zt&&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:Bt?ge.accent+"10":void 0,color:Bt?ge.accent:ge.accent+"80"},disabled:Ve||Pe,onClick:()=>{var e;return null===(e=It.current)||void 0===e?void 0:e.click()}},$t,{children:[t.jsx("input",{id:"file-upload",ref:It,type:"file",accept:[...g.allowedFileMimeTypes,...g.allowedImageMimeTypes,...g.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){Se(!1),yield $e(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(h.default,{className:"h-6 w-6 shrink-0"})]})),es&&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:At?ge.accent:Ht?ge.accent+"10":void 0,color:At?ge.accentText:Ht?ge.accent:ge.accent+"80"},disabled:Ve||Pe||Dt,onClick:()=>{At?Mt():(yt.current=nt,Lt(he||"en-US"))}},Kt,{children:t.jsx(I.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:qt||Us?ge.accent:ge.accent+"10",color:qt||Us?ge.accentText:ge.accent+"80"},disabled:!Us,onClick:()=>Cs()},Ft,{children:t.jsx(b.default,{className:k.default("h-6 w-6 shrink-0",ye&&"scale-x-[-1] transform")})}))]})}))]}))]})),Be&&t.jsx(S.default,{error:Be,className:"mt-3"})]}))}))}));B.displayName="Input",exports.default=B;
@@ -0,0 +1,3 @@
1
+ import type { PickaxeHistoryMessage } from "../types/history";
2
+ import type { MemoryStoredChatMessage } from "../types/response";
3
+ export declare const getUnpersistedMemoryMessages: (memoryMessages: MemoryStoredChatMessage[], persistedMessages: PickaxeHistoryMessage[]) => MemoryStoredChatMessage[];
@@ -2,8 +2,9 @@
2
2
  interface UseScrollProps {
3
3
  auto?: boolean;
4
4
  debug?: boolean;
5
+ smooth?: boolean;
5
6
  }
6
- export declare const useScroll: ({ auto, debug }: UseScrollProps) => {
7
+ export declare const useScroll: ({ auto, debug, smooth }: UseScrollProps) => {
7
8
  scrollContainerRef: import("react").MutableRefObject<HTMLDivElement>;
8
9
  scrollTargetRef: import("react").MutableRefObject<HTMLDivElement>;
9
10
  isScrollIncreasing: boolean;
@@ -0,0 +1 @@
1
+ const t=t=>{var e;const r=(null!==(e=t.parts)&&void 0!==e?e:[]).filter((t=>!1!==t.isVisible)),n=r.filter((t=>"text"===t.type)).map((t=>{var e;return null!==(e=t.content)&&void 0!==e?e:""})).join(""),l=n.replace(/\s+/g," ").replace(/\s*([.,!?;:])\s*/g,"$1").trim();return l?JSON.stringify({role:t.role,text:l}):JSON.stringify({role:t.role,parts:r.map((t=>{var e;return{type:t.type,content:null!==(e=t.content)&&void 0!==e?e:""}}))})},e=(e,r)=>{if(!r.length||!e.length)return e;const n=r.map(t),l=new Set(r.filter((t=>"assistant"===t.role)).map(t));let i=0;return e.filter((e=>{const r=t(e),s=n.indexOf(r,i);return-1!==s?(i=s+1,!1):"assistant"!==e.role||!l.has(r)}))};export{e as getUnpersistedMemoryMessages};
@@ -1 +1 @@
1
- import{useState as e,useRef as r,useMemo as n,useEffect as t}from"react";import{useScrollContext as o}from"./useScrollContext.js";const l=({auto:l,debug:s})=>{const{scrollContainerRef:c,scrollTargetRef:u,isLocked:i,isScrollSession:d,isScrollIncreasing:a,setIsLocked:g,setIsScrollSession:v,setIsScrolling:f,setIsScrollIncreasing:m}=o(),[S,h]=e(0),w=r(!1),p=n((()=>null!=l&&l&&d),[l,d]),I=n((()=>c&&c.current?c.current:"undefined"==typeof window?null:window),[c]);t((()=>{if(!I)return;const e=e=>{!i||"mousedown"!==e.type&&"touchmove"!==e.type&&"wheel"!==e.type&&"DOMMouseScroll"!==e.type&&"mousewheel"!==e.type||g(!1)};return null==I||I.addEventListener("mousedown",e),null==I||I.addEventListener("touchmove",e),null==I||I.addEventListener("wheel",e),null==I||I.addEventListener("DOMMouseScroll",e),null==I||I.addEventListener("mousewheel",e),()=>{null==I||I.removeEventListener("mousedown",e),null==I||I.removeEventListener("touchmove",e),null==I||I.removeEventListener("wheel",e),null==I||I.removeEventListener("DOMMouseScroll",e),null==I||I.removeEventListener("mousewheel",e)}}),[I,i]),t((()=>{w.current=!i}),[i]),t((()=>{const e=setInterval((()=>{if(!c.current)return;const e=c.current.scrollHeight;if(e===S)return;const r=e>S;s&&console.log("[useScroll] isIncreasing:",r,e,S),m(r),h(e),r&&l&&L()}),100);return()=>clearInterval(e)}),[c,S,l]),t((()=>{const e=setInterval((()=>{if(c.current)return;if(!u.current)return;const e=u.current.getBoundingClientRect().top+u.current.getBoundingClientRect().height+window.scrollY;if(e===S)return;const r=e>S;m(r),h(e),r&&p&&R()}),100);return()=>clearInterval(e)}),[u,S,p]);const L=()=>{try{if(f(!0),!c.current)return void(s&&console.log("[useScroll] scrollContainerRef not detected"));if(w.current)return;const e=c.current.scrollHeight;c.current.scrollTo({top:e,behavior:"smooth"}),s&&console.log("[useScroll] scrolled scrollContainerRef")}finally{f(!1)}},R=()=>{try{if(f(!0),!u.current)return void(s&&console.log("[useScroll] scrollTargetRef not detected"));if(w.current)return;const e=u.current.getBoundingClientRect().top+u.current.getBoundingClientRect().height+window.scrollY;window.scrollTo({top:e-500,behavior:"smooth"}),s&&console.log("[useScroll] scrolled scrollTargetRef")}finally{f(!1)}};return{scrollContainerRef:c,scrollTargetRef:u,isScrollIncreasing:a,scrollStartSession:()=>{v(!0),g(!0),w.current=!1},scrollEndSession:()=>{v(!1)},scrollToBottom:L,scrollToTarget:R}};export{l as useScroll};
1
+ import{useState as e,useRef as r,useMemo as o,useEffect as t}from"react";import{useScrollContext as n}from"./useScrollContext.js";const l=({auto:l,debug:s,smooth:c=!0})=>{const{scrollContainerRef:u,scrollTargetRef:i,isLocked:d,isScrollSession:a,isScrollIncreasing:g,setIsLocked:v,setIsScrollSession:f,setIsScrolling:m,setIsScrollIncreasing:h}=n(),[S,w]=e(0),p=r(!1),I=o((()=>null!=l&&l&&a),[l,a]),L=o((()=>u&&u.current?u.current:"undefined"==typeof window?null:window),[u]);t((()=>{if(!L)return;const e=e=>{!d||"mousedown"!==e.type&&"touchmove"!==e.type&&"wheel"!==e.type&&"DOMMouseScroll"!==e.type&&"mousewheel"!==e.type||v(!1)};return null==L||L.addEventListener("mousedown",e),null==L||L.addEventListener("touchmove",e),null==L||L.addEventListener("wheel",e),null==L||L.addEventListener("DOMMouseScroll",e),null==L||L.addEventListener("mousewheel",e),()=>{null==L||L.removeEventListener("mousedown",e),null==L||L.removeEventListener("touchmove",e),null==L||L.removeEventListener("wheel",e),null==L||L.removeEventListener("DOMMouseScroll",e),null==L||L.removeEventListener("mousewheel",e)}}),[L,d]),t((()=>{p.current=!d}),[d]),t((()=>{const e=setInterval((()=>{if(!u.current)return;const e=u.current.scrollHeight;if(e===S)return;const r=e>S;s&&console.log("[useScroll] isIncreasing:",r,e,S),h(r),w(e),r&&l&&R()}),100);return()=>clearInterval(e)}),[u,S,l]),t((()=>{const e=setInterval((()=>{if(u.current)return;if(!i.current)return;const e=i.current.getBoundingClientRect().top+i.current.getBoundingClientRect().height+window.scrollY;if(e===S)return;const r=e>S;h(r),w(e),r&&I&&E()}),100);return()=>clearInterval(e)}),[i,S,I]);const R=()=>{try{if(m(!0),!u.current)return void(s&&console.log("[useScroll] scrollContainerRef not detected"));if(p.current)return;const e=u.current.scrollHeight;u.current.scrollTo({top:e,behavior:c?"smooth":"auto"}),s&&console.log("[useScroll] scrolled scrollContainerRef")}finally{m(!1)}},E=()=>{try{if(m(!0),!i.current)return void(s&&console.log("[useScroll] scrollTargetRef not detected"));if(p.current)return;const e=i.current.getBoundingClientRect().top+i.current.getBoundingClientRect().height+window.scrollY;window.scrollTo({top:e-500,behavior:"smooth"}),s&&console.log("[useScroll] scrolled scrollTargetRef")}finally{m(!1)}};return{scrollContainerRef:u,scrollTargetRef:i,isScrollIncreasing:g,scrollStartSession:()=>{f(!0),v(!0),p.current=!1},scrollEndSession:()=>{f(!1)},scrollToBottom:R,scrollToTarget:E}};export{l as useScroll};
@@ -1 +1 @@
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 u}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as p}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 v from"../../common/PickaxeHead.js";import j from"../../common/PickaxeEmbedHead.js";import y from"../../common/PickaxeUpgradeCard.js";import b 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=e=>(()=>{var s;const i=(null!==(s=e.parts)&&void 0!==s?s:[]).filter((e=>!1!==e.isVisible)),t=i.filter((e=>"text"===e.type)).map((e=>{var s;return null!==(s=e.content)&&void 0!==s?s:""})).join("").trim(),a=t.replace(/\s+/g," ").replace(/\s*([.,!?;:])\s*/g,"$1").trim();return a?JSON.stringify({role:e.role,text:a}):JSON.stringify({role:e.role,parts:i.map((e=>{var s;return{type:e.type,content:null!==(s=e.content)&&void 0!==s?s:""}}))})})(),H=({additionalScrollHeight:H,smitheryAuthData:L,isForceHideInfo:R,isInputFocused:D,onSubmit:B,resubmitPrompt:T})=>{var $,E,F,z,M,W,J;const{sessionId:V,deploymentType:q,pickaxe:G,translations:U,misc:_,isNewChat:K,isRtl:Q,isEmbed:X,isShowIceBreaker:Y,setSessionId:Z,setLastSessionId:ee}=o(),{emailInput:se,isLoggedOut:ie,isSending:te,isResendDisabled:ae,isSent:oe,isPricingAuth:ne}=n(),{onSend:le}=l(),{scrollContainerRef:re,isLocked:ce}=m(),{messages:me,limitData:de,error:ue,isGenerating:pe}=r(),{height:he,width:fe}=c(),{currentArtifact:ge,chatPopupType:xe,currentPopupType:ve}=p(),je=u(),ye=d(),be=t((()=>(null==G?void 0:G.icebreakers)?G.icebreakers.slice(0,3):[]),[null==G?void 0:G.icebreakers]),ke=t((()=>{const e=!!je.data&&je.data.messages.length>1;return!R&&je.isSuccess&&K&&!e}),[R,je.isSuccess,K,je.data]),we=t((()=>!(null==G?void 0:G.chatflag)&&(null==G?void 0:G.enablechatresponses)&&me.length>0),[G,me]),Ne=t((()=>!!je.data&&je.data.messages.some((e=>"intromessage"===e.area))),[je.data]),Oe="chat-input"===q&&ne&&ie&&oe,Ce=Y&&!D&&!Ne&&ke&&fe>767,Se=Y&&!D&&(Ne||fe<=767),Ae=t((()=>{var e,s;const i=null!==(s=null===(e=je.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];if(pe||!i.length||!me.length)return me;const t=i.map(I);let a=0,o=0;for(;o<me.length&&a<t.length;){const e=t.indexOf(I(me[o]),a);if(-1===e)break;o+=1,a=e+1}const n=new Set(i.filter((e=>"assistant"===e.role)).map(I));return me.slice(o).filter((e=>"assistant"!==e.role||!n.has(I(e))))}),[null===($=je.data)||void 0===$?void 0:$.messages,pe,me]),Pe=()=>{ee(V),Z("")};return a((()=>{ce&&re.current&&requestAnimationFrame((()=>{re.current&&(re.current.scrollTop=re.current.scrollHeight)}))}),[H,null===(E=je.data)||void 0===E?void 0:E.messages.length,ce,re,Ae.length]),e("div",Object.assign({ref:re,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4"},{children:[s(h,{children:!!ge&&"inline"===ve&&s(f.div,Object.assign({className:P("absolute top-0 z-20 w-full px-4 py-2",xe),style:{height:`calc(${he-H}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:ge.id,version:ge.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[ke&&X&&s("div",Object.assign({className:P("absolute right-4 top-3 flex items-center gap-2","popup"===q&&"right-12")},{children:s(k,{tip:(null==U?void 0:U["chat-history"])||"Chat History",onClick:Pe})})),s(v,Object.assign({className:P("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",ke&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!Oe&&{onIconClick:Pe})),X&&!je.isLoading&&s(j,Object.assign({className:P("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!ke&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==U?void 0:U["chat-history"])||"Chat History"},!Oe&&{onIconClick:Pe,onHistoryClick:Pe})),e("div",Object.assign({className:P("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",X&&!je.isLoading&&!ke&&"mt-0")},{children:[Ce&&s("div",Object.assign({className:P("grid grid-cols-3 gap-4",2===be.length&&"grid-cols-2",1===be.length&&"grid-cols-1")},{children:s(S,{type:"center",data:be,onSend:B})})),Oe?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:se}))]}))})),s(C,Object.assign({chatRole:"assistant"},{children:e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(M=null==U?void 0:U["we-sent-your-an-activation-link"])&&void 0!==M?M:"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:()=>{ae||te||le(!0)}},{children:te?null!==(W=null==U?void 0:U.resending)&&void 0!==W?W:"Resending...":null!==(J=null==U?void 0:U.resend)&&void 0!==J?J:"Resend"}))]}))}))]}))})):s(i,{children:je.isLoading&&!(null==G?void 0:G.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[K&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(b,{className:"w-[72px] h-[72px]"}),s(b,{className:"h-[20px] mt-6 w-full"}),s(b,{className:"h-[20px] mt-2 w-full"}),s(b,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(b,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(b,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(b,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):je.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:P(ye.b2,"text-center font-semibold")},{children:[(null==U?void 0:U["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==U?void 0:U["contact-us"])||"contact us"}))," ",(null==U?void 0:U["for-help"])||"for help."]}))})):je.data||we?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!==(z=null===(F=je.data)||void 0===F?void 0:F.messages)&&void 0!==z?z:[]).map(((e,i)=>s(O,{index:i,message:e},`history-${i}`))),Ae.map(((e,i)=>{var t,a;return s(O,{smitheryData:L,resubmitPrompt:T,index:(null!==(a=null===(t=je.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:e,isLastMessage:i===Ae.length-1},`memory-${i}`)})),de?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(y,{})})):ue?s("div",Object.assign({className:P("flex items-center gap-x-3",Q?"justify-end":"justify-start")},{children:s(x,{error:ue})})):null]})),e("div",Object.assign({className:P("flex flex-col",!_.isWhiteLabel||Se&&"mt-4")},{children:[!_.isWhiteLabel&&s(A,{containerClassName:P("justify-end",Se&&"mb-2")}),Se&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:be,onSend:B})})),s(w,{})]}))]})):null})]}))]}))]}))};export{H as default};
1
+ import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t,useLayoutEffect 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 u}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as p}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 v from"../../common/PickaxeHead.js";import j from"../../common/PickaxeEmbedHead.js";import b 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";import{getUnpersistedMemoryMessages as I}from"../../../../common/chatMessages.js";const H=({additionalScrollHeight:H,smitheryAuthData:L,isForceHideInfo:R,isInputFocused:D,onSubmit:B,resubmitPrompt:T})=>{var E,M,$,z,F,W,G;const{sessionId:U,deploymentType:V,pickaxe:_,translations:q,misc:J,isNewChat:K,isRtl:Q,isEmbed:X,isShowIceBreaker:Y,setSessionId:Z,setLastSessionId:ee}=o(),{emailInput:se,isLoggedOut:ie,isSending:te,isResendDisabled:ae,isSent:oe,isPricingAuth:ne}=n(),{onSend:le}=l(),{scrollContainerRef:re,isLocked:ce}=m(),{messages:me,limitData:de,error:ue,isGenerating:pe}=r(),{height:he,width:fe}=c(),{currentArtifact:ge,chatPopupType:xe,currentPopupType:ve}=p(),je=u(),be=d(),ye=t((()=>(null==_?void 0:_.icebreakers)?_.icebreakers.slice(0,3):[]),[null==_?void 0:_.icebreakers]),ke=t((()=>{const e=!!je.data&&je.data.messages.length>1;return!R&&je.isSuccess&&K&&!e}),[R,je.isSuccess,K,je.data]),we=t((()=>!(null==_?void 0:_.chatflag)&&(null==_?void 0:_.enablechatresponses)&&me.length>0),[_,me]),Ne=t((()=>!!je.data&&je.data.messages.some((e=>"intromessage"===e.area))),[je.data]),Oe="chat-input"===V&&ne&&ie&&oe,Ce=Y&&!D&&!Ne&&ke&&fe>767,Se=Y&&!D&&(Ne||fe<=767),Ae=t((()=>{var e,s;const i=null!==(s=null===(e=je.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];return!pe&&i.length&&me.length?I(me,i):me}),[null===(E=je.data)||void 0===E?void 0:E.messages,pe,me]),Pe=()=>{ee(U),Z("")};return a((()=>{if(!ce)return;const e=re.current;e&&(e.scrollTop=e.scrollHeight)}),[H,null===(M=je.data)||void 0===M?void 0:M.messages.length,ce,re,Ae.length]),e("div",Object.assign({ref:re,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4 [overflow-anchor:none]"},{children:[s(h,{children:!!ge&&"inline"===ve&&s(f.div,Object.assign({className:P("absolute top-0 z-20 w-full px-4 py-2",xe),style:{height:`calc(${he-H}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:ge.id,version:ge.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[ke&&X&&s("div",Object.assign({className:P("absolute right-4 top-3 flex items-center gap-2","popup"===V&&"right-12")},{children:s(k,{tip:(null==q?void 0:q["chat-history"])||"Chat History",onClick:Pe})})),s(v,Object.assign({className:P("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",ke&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!Oe&&{onIconClick:Pe})),X&&!je.isLoading&&s(j,Object.assign({className:P("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!ke&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==q?void 0:q["chat-history"])||"Chat History"},!Oe&&{onIconClick:Pe,onHistoryClick:Pe})),e("div",Object.assign({className:P("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",X&&!je.isLoading&&!ke&&"mt-0")},{children:[Ce&&s("div",Object.assign({className:P("grid grid-cols-3 gap-4",2===ye.length&&"grid-cols-2",1===ye.length&&"grid-cols-1")},{children:s(S,{type:"center",data:ye,onSend:B})})),Oe?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:se}))]}))})),s(C,Object.assign({chatRole:"assistant"},{children:e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(F=null==q?void 0:q["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:()=>{ae||te||le(!0)}},{children:te?null!==(W=null==q?void 0:q.resending)&&void 0!==W?W:"Resending...":null!==(G=null==q?void 0:q.resend)&&void 0!==G?G:"Resend"}))]}))}))]}))})):s(i,{children:je.isLoading&&!(null==_?void 0:_.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[K&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(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"})]})):je.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:P(be.b2,"text-center font-semibold")},{children:[(null==q?void 0:q["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==q?void 0:q["contact-us"])||"contact us"}))," ",(null==q?void 0:q["for-help"])||"for help."]}))})):je.data||we?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!==(z=null===($=je.data)||void 0===$?void 0:$.messages)&&void 0!==z?z:[]).map(((e,i)=>s(O,{index:i,message:e},`history-${i}`))),Ae.map(((e,i)=>{var t,a;return s(O,{smitheryData:L,resubmitPrompt:T,index:(null!==(a=null===(t=je.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:e,isLastMessage:i===Ae.length-1},`memory-${i}`)})),de?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(b,{})})):ue?s("div",Object.assign({className:P("flex items-center gap-x-3",Q?"justify-end":"justify-start")},{children:s(x,{error:ue})})):null]})),e("div",Object.assign({className:P("flex flex-col",!J.isWhiteLabel||Se&&"mt-4")},{children:[!J.isWhiteLabel&&s(A,{containerClassName:P("justify-end",Se&&"mb-2")}),Se&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:ye,onSend:B})})),s(w,{})]}))]})):null})]}))]}))]}))};export{H as default};
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{forwardRef as r,useState as i,useRef as a,useCallback as l,useEffect as d,useMemo as c,useImperativeHandle as u}from"react";import{usePickaxeContext as p}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as m}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}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 h}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as y}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as b}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as I}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as j}from"../../../hooks/core/useHover.js";import{useMediaQuery as w}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as O,allowedImageMimeTypes as k,additionalAllowedFileExtensions as S}from"../../../common/documents.js";import{createParser as N}from"eventsource-parser";import C from"../../Icons/attach-vertical.svg.js";import E from"../../Icons/arrow-right.svg.js";import _ from"../../Icons/microphone.svg.js";import U from"../../Icons/stop.svg.js";import T from"../Addons/Document/List.js";import A from"../../Core/Textarea.js";import P from"../../Core/ErrorAlert.js";import D from"../../../common/error.js";import{pickaxeApi2 as L}from"../../../common/api/pickaxe.js";import{getValidationFailure as R}from"../../../common/validation.js";import M from"../../../common/cn.js";import{buildUpgradeUrl as B,isInIframe as $,initializeEmbedUserId as X}from"../../../common/utils.js";import{getPickaxeConfigMetadata as K}from"../../../common/pickaxeConfig.js";import{fireDeploymentSessionInitializedWebhook as V,fireDeploymentFirstMessageSubmittedWebhook as F}from"../../../common/deploymentWebhooks.js";import{useStudio as H}from"../../../hooks/studio/useStudio.js";import{useSpeech as J}from"../../../hooks/pickaxe/useSpeech.js";import{STUDIO_INFINITY_VALUE as W}from"../common/PickaxeCommon.js";const G=e=>"string"==typeof e&&e.trim().length>0,z=e=>e.map((e=>Object.assign({},e))),q=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Q=e=>{var t;const n=(null!==(t=e.parts)&&void 0!==t?t:[]).filter((e=>!1!==e.isVisible)),o=n.filter((e=>"text"===e.type)).map((e=>{var t;return null!==(t=e.content)&&void 0!==t?t:""})).join("").trim();return o?JSON.stringify({role:e.role,text:o}):JSON.stringify({role:e.role,parts:n.map((e=>{var t;return{type:e.type,content:null!==(t=e.content)&&void 0!==t?t:""}}))})},Y=(e,t)=>{if(e&&"object"==typeof e)return e[t]},Z=(e,t)=>{const n=Y(e,t);return G(n)?n:null},ee=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},te=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const r=Array.isArray(Y(e,"uses"))?Y(e,"uses"):[],i=(({deploymentId:e,portalId:t})=>G(e)?{type:"deployment",id:e}:G(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!i)return{scope:i,record:null};const a=null!==(s=null!==(o=r.find((e=>e.id===i.id&&e.type===i.type)))&&void 0!==o?o:r.find((e=>e.id===i.id)))&&void 0!==s?s:null;return{scope:i,record:a}},ne=r((({resubmitPrompt:r,onFocus:Y,onBlur:ne,onInputHeightChange:oe,initSmitheryAuthData:se},re)=>{var ie,ae,le,de,ce,ue,pe,me,fe,ge,ve,he;const{origin:ye,pickaxeId:be,sessionId:xe,sender:Ie,senderType:je,portalId:we,deploymentId:Oe,deploymentType:ke,pickaxe:Se,styles:Ne,colors:Ce,translations:Ee,locale:_e,forceMobile:Ue,isNewChat:Te,isRtl:Ae,isShowFeedbackMessage:Pe,accessGroup:De,setIsNewChat:Le,setIsShowIceBreaker:Re,setValidationStatus:Me,setValidationUpgradeGroups:Be,setValidationUpgradeUrl:$e,setAccessGroup:Xe,onGenerateComplete:Ke}=p(),{token:Ve,isLoggedOut:Fe,isSent:He,isPricingAuth:Je}=y(),{messages:We,isGenerating:Ge,setMessages:ze,setStatus:qe,setLimitData:Qe,setError:Ye}=m(),{documents:Ze,isUploading:et,documentError:tt,onFileUpload:nt,setDocuments:ot,setDocumentError:st}=b(),{studio:rt}=H(),{scrollStartSession:it,scrollEndSession:at,scrollToBottom:lt}=x({auto:!0}),{artifacts:dt,currentPopupType:ct,setArtifacts:ut,setCurrentArtifact:pt}=I(),{height:mt}=h(),ft=v(),[gt,vt]=i(""),[ht,yt]=i(!1),[bt,xt]=i(!1),[It,jt]=i(null),[wt,Ot]=i(null),[kt,St]=i(!1),[Nt,Ct]=i(!1),[Et,_t]=i(0),Ut=a(null),Tt=a(""),At=a(null),Pt=a(null),Dt=a(null),Lt=a([]),Rt=a(null),Mt=a(null),Bt=a(null),$t=a(null),Xt=a(new Set),Kt=a(null),Vt=Math.max(.4*mt,100),{speechTranscript:Ft,isSpeechListening:Ht,isSpeechProcessing:Jt,isSpeechSupported:Wt,onStartListening:Gt,onStopListening:zt}=J(),[qt]=w("(max-width: 480px)"),Qt=j(),{isHover:Yt}=Qt,Zt=e(Qt,["isHover"]),en=j(),{isHover:tn}=en,nn=e(en,["isHover"]),on=j(),{isHover:sn}=on,rn=e(on,["isHover"]),an=g(),ln=f(),dn="undefined"!=typeof window?window.location.hostname:"",cn="undefined"!=typeof window?window.location.href:"",un="undefined"!=typeof window&&window.self!==window.top,pn=dn.includes("pickaxe.co")&&!cn.includes("https://studio.pickaxe.co/_embed")&&!un,mn=null!==(ae=null===(ie=null==Se?void 0:Se.documentuploadtype)||void 0===ie?void 0:ie.startsWith("enduserupload"))&&void 0!==ae&&ae,fn=Wt&&(null==Se?void 0:Se.enablevoicetotext),gn=G(Oe),vn="chat-input"===ke&&Te&&!He,hn="chat-input"===ke&&Je&&Fe&&He,yn=l((e=>{const t=R(e);return!!t&&(Ye(""),Qe(null),Me(t.status),Xe(t.accessGroup),Be(t.upgradeGroups),$e(t.upgradeUrl),!0)}),[Ye,Qe,Me,Be,$e,Xe]),bn=null!==(le=null==Se?void 0:Se.placeholdertext)&&void 0!==le?le:Ae?"بماذا تريد أن تتحدث؟":(null==Ee?void 0:Ee["what-do-you-want-to-talk-about"])||"What do you want to talk about?",xn=ht||bt,In=l((()=>t(void 0,void 0,void 0,(function*(){St(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Se?void 0:Se.studioid},Ve?{studioSessionToken:Ve}:Ie?{sender:Ie}:{sender:X()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),pn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(jt(t.studioUser),Ot(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{St(!0)}}))),[pn,null==Se?void 0:Se.studioid,Ie,Ve]);d((()=>{In()}),[In]);const jn=Number(null!==(de=null==De?void 0:De.limit)&&void 0!==de?de:0),wn="string"==typeof(null==De?void 0:De.limitInterval)?De.limitInterval:null,On=!!(null==rt?void 0:rt.data.usage)&&rt.data.usage.isCredits,kn=c((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=we?we:Z(It,"portalId"))&&void 0!==e?e:Z(It,"portalid"))&&void 0!==t?t:Z(De,"portalId"))&&void 0!==n?n:Z(De,"portalid"))&&void 0!==o?o:Z(Se,"portalId"))&&void 0!==s?s:Z(Se,"portalid")}),[De,we,Se,It]),Sn=c((()=>te({studioUser:It,deploymentId:Oe,portalId:kn})),[Oe,kn,It]);d((()=>{gn&&Te&&xe&&Xt.current.add(xe)}),[Te,xe,gn]);const Nn=l((()=>{var e,t,n;return{studioId:null==Se?void 0:Se.studioid,userEmail:Z(It,"email"),userId:null!==(e=Z(It,"userId"))&&void 0!==e?e:Z(It,"userid"),sessionId:xe,deploymentId:Oe,deploymentType:ke,portalId:kn,accessGroupId:null!==(t=null==De?void 0:De.accessGroupId)&&void 0!==t?t:null,pickaxeId:be,sender:Ie,senderType:je,origin:ye,metadata:null!==(n=K(Oe))&&void 0!==n?n:null}}),[null==De?void 0:De.accessGroupId,Oe,ke,ye,null==Se?void 0:Se.studioid,be,kn,Ie,je,xe,It]),Cn=l((()=>!!(gn&&kt&&xe)&&(!!Xt.current.has(xe)&&(V(Nn()),Xt.current.delete(xe),!0))),[Nn,kt,xe,gn]);d((()=>{if(!kt||!xe)return;Cn();const e=Kt.current;(null==e?void 0:e.sessionId)===xe&&(F(Object.assign(Object.assign(Object.assign({},e),Nn()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Kt.current=null)}),[Cn,Nn,kt,xe]);const En={currentUses:ee(null==It?void 0:It.currentUses),extraUses:ee(null==It?void 0:It.extraUses)},_n=Sn.scope?{currentUses:null!==(ue=ee(null===(ce=Sn.record)||void 0===ce?void 0:ce.currentUses))&&void 0!==ue?ue:0,extraUses:null!==(me=ee(null===(pe=Sn.record)||void 0===pe?void 0:pe.extraUses))&&void 0!==me?me:0}:{currentUses:0,extraUses:0},Un=Z(It,"type"),Tn="guest"===Un||!Un&&Fe?_n:En;d((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(On&&(null===(t=null==rt?void 0:rt.data)||void 0===t?void 0:t.workspaceId))try{const t=yield L.get(`/cost_per_run?workspaceId=${rt.data.workspaceId}`,{withCredentials:!1});e&&_t(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&_t(0)}else e&&_t(0)})),()=>{e=!1}}),[On,null===(fe=null==rt?void 0:rt.data)||void 0===fe?void 0:fe.workspaceId]);const An=(({currentUses:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=e?e:0),r=Number(null!=t?t:0);return n===W||r===W?W:"one_time"===o?Math.max(0,r-s):Math.max(0,n-s)+r})({currentUses:Tn.currentUses,extraUses:Tn.extraUses,limit:jn,limitInterval:wn}),Pn=An===W?W:Math.max(0,Math.ceil(An)),Dn=(({extraUses:e,limit:t,limitInterval:n})=>{const o=Number(null!=e?e:0);return t===W||o===W?W:"one_time"===n?Math.max(0,o):Math.max(0,t)+Math.max(0,o)})({extraUses:Tn.extraUses,limit:jn,limitInterval:wn}),Ln=Dn===W?W:Math.ceil(.05*Dn),Rn=On?Math.ceil(5*Et):5,Mn=Ln===W?W:Math.max(Ln,Rn),Bn=c((()=>!!It&&(!Nt&&(Pn!==W&&(!(Pn<=0)&&Pn<=Mn)))),[Nt,Mn,Pn,It]),$n=Boolean(null==De?void 0:De.hideUpgradeOptions),Xn=!$n&&(null===(ge=null==De?void 0:De.upgrade)||void 0===ge?void 0:ge.isLinkToCustomURL)&&"string"==typeof De.upgrade.limitLink&&De.upgrade.limitLink.trim().length>0?De.upgrade.limitLink.trim():null,Kn=Xn&&"string"==typeof(null===(ve=null==De?void 0:De.upgrade)||void 0===ve?void 0:ve.limitCTA)&&De.upgrade.limitCTA.trim().length>0?De.upgrade.limitCTA:(null==Ee?void 0:Ee["pricing.upgrade"])||(null==Ee?void 0:Ee.upgrade)||"Upgrade",Vn=c((()=>{var e,t,n;return!!Te&&(!!Se&&(!ft.isLoading&&(!((null!==(t=null===(e=ft.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Se.icebreakers)||void 0===n?void 0:n.length)&&(!Pe&&!vn)))))}),[Se,Te,Pe,vn,ft.data,ft.isLoading]),Fn=c((()=>{if(Ge||et)return!1;const e=mn&&Ze.length>0&&Ze.every((e=>"finished"===e.status));return!(!gt.trim()&&!e)&&Ze.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[mn,Ge,et,gt,Ze]);u(re,(()=>({onSubmit:Hn}))),d((()=>{Re(Vn)}),[Vn]),d((()=>{var e;if(r){const t=Array.from(We),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Hn(n,!0)}}),[r]),d((()=>{if(!Bt.current||!oe)return;const e=new ResizeObserver((e=>{for(const t of e)oe(t.contentRect.height)}));return e.observe(Bt.current),()=>{e.disconnect()}}),[oe]),d((()=>{if(!Ht)return;const e=Tt.current?`${Tt.current} `:"";vt(`${e}${Ft}`)}),[Ft,Ht]),d((()=>{if(!Rt.current)return;(()=>{if(!Rt.current)return;let e=Rt.current.scrollHeight>52;gt.includes("\n")||Ze.length?e=!0:gt.trim()||(e=!1),yt(e)})()}),[gt,Ze]),d((()=>{const e=Rt.current,t=Mt.current;if(!e||!t||ht||gt.includes("\n"))return void xt(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=gt||bn,document.body.appendChild(s);const r=s.offsetWidth;s.remove();const i=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-i-a-t.offsetWidth;xt(r>l)}),[gt,ht,bn]);const Hn=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,o,s,r,i,a;let l=null;try{if(Ge||et)return;const d=Ze.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),c=d.map((e=>e.documentId)).filter(Boolean),u=d.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),p=null!=e?e:gt,m=null!==(o=null===(t=null==Se?void 0:Se.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==o&&o&&c.length>0;if(!p&&!m)return;Ye(""),st(""),Qe(null),vt(""),Le(!1),qe("fetching"),it(),lt();const f=null!==(r=null===(s=ft.data)||void 0===s?void 0:s.messages)&&void 0!==r?r:[],g=((e,t)=>{if(!t.length||!e.length)return e;const n=t.map(Q);let o=0,s=0;for(;s<e.length&&o<n.length;){const t=n.indexOf(Q(e[s]),o);if(-1===t)break;s+=1,o=t+1}const r=new Set(t.filter((e=>"assistant"===e.role)).map(Q));return e.slice(s).filter((e=>"assistant"!==e.role||!r.has(Q(e))))})(We,f),v=n?g.slice(0,g.length-1):g,h=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(v),y=h+(n?0:1),b={id:y,role:"assistant",parts:[],documentIds:[]},x=[...v,...n?[]:[{id:h,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:m?c:[]}],b];ze(x),lt(),m&&ot([]);const I=K(Oe),j="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=j,Pt.current=j,Dt.current=null,Lt.current=[];const w=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:ye,pickaxeId:be,sessionId:xe,submissionId:j,senderType:je,value:p},m&&{documentIds:c}),Ie&&{sender:Ie}),Ve&&{studioSessionToken:Ve}),!Ve&&!Ie&&{sender:X()}),kn&&{portalId:kn}),Oe&&{deploymentId:Oe}),I&&{metadata:I}),m&&u.length>0?{uploadedModelImages:u}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},pn&&{credentials:"include"})),O=yield w.json();if(!O.success){if(O.limitData){const e=new Error(O.error||O.message||(null==Ee?void 0:Ee["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=O.limitData,e}if(yn(O))return;throw new Error(O.error||O.message||(null==Ee?void 0:Ee["failed-to-start-generation"])||"Failed to start generation")}const k=null!==(i=O.submissionId)&&void 0!==i?i:j;l=k,Pt.current=k;const S=()=>Dt.current===k;if(S())return;gn&&Te&&xe&&Xt.current.add(xe);const C=Object.assign(Object.assign({},Nn()),{message:p,documentIds:m?c:[],uploadedModelImages:m?u:[],hasUploadedDocuments:m,isHidden:n,metadata:null!=I?I:null});kt?(Cn(),F(C)):Kt.current=C,qe("streaming"),$t.current=new AbortController;const E=[];let _=[...null!=dt?dt:[]],U=0,T=!1,A="";for(;!T;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${k}?index=${U}`,{signal:null===(a=$t.current)||void 0===a?void 0:a.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();At.current=t;const n=new TextDecoder,o=N({onEvent:e=>{var t,n;if(S())T=!0;else if(e.event&&"ping"!==e.event&&U++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Qe(t.limitData),Ye(""),void(T=!0);const n=t.error||t.message||(null==Ee?void 0:Ee["something-went-wrong"])||"Something went wrong.";return yn(t)||Ye(n),void(T=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("data-error"===o.type&&se){const e=o.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw T=!0,se({provider:"smithery",smitheryId:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw T=!0,se({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw T=!0,se({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw T=!0,se({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===o.type)A="",E.push({type:"text",content:"",isVisible:null===(t=o.isVisible)||void 0===t||t});else if("text-delta"===o.type)A+=o.delta,E[E.length-1].content=A;else if("text-end"===o.type)A="";else if("reasoning-start"===o.type)A="",E.push({type:"reasoning",content:"",isVisible:null===(n=o.isVisible)||void 0===n||n});else if("reasoning-delta"===o.type)A+=o.delta,E[E.length-1].content=A;else if("reasoning-end"===o.type)A="";else if(o.type.startsWith("data-")){const e=o;E.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Lt.current=z(E);const s=z(E);ze((e=>{const t=e.findIndex((e=>e.id===y)),n=Object.assign(Object.assign({},b),{parts:s});return-1===t?[...e,n]:e.map(((e,o)=>o===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ut([..._]),ct.startsWith("inline")||pt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),ut(_),ct.startsWith("inline")||pt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ut(_),ct.startsWith("inline")||pt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");_=_.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),ut(_)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ut(_.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Qe(t.limitData),Ye(""),void(T=!0);const n=t.error||t.message||(null==Ee?void 0:Ee["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(yn(t))return void(T=!0);Ye(n)}else"stop"===e.event&&(T=!0)}else T=!0}});for(;;){if(S()){T=!0,t.cancel().catch((()=>{}));break}const{value:e,done:s}=yield t.read();if(S()){T=!0,t.cancel().catch((()=>{}));break}if(s)break;o.feed(n.decode(e))}T||S()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||q(e)||S())return void(T=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Ke||Ke(xe)}catch(e){if(q(e))return;if(e.limitData)Qe(e.limitData),Ye("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Ee?void 0:Ee["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),yn(t)||Ye(t)}}finally{const e=!l||Pt.current===l;lt(),e&&(qe("idle"),at(),At.current=null),l&&e&&(Pt.current=null,Lt.current=[]),yield In()}}));return hn?null:n("div",Object.assign({className:M("flex w-full flex-shrink-0 flex-col items-center",!vn&&"px-4 pb-8"),dir:Ae?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[o("div",Object.assign({ref:Bt,className:M("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Ne.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},ln),{maxHeight:`${Vt}px`,overflowY:"auto"})},{children:[Bn&&o("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:ln.backgroundColor?`${ln.backgroundColor}E6`:void 0,borderColor:Ce.text+"20",color:Ce.text,borderTopRightRadius:Ne.cornerRadius+"px",borderTopLeftRadius:Ne.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[Pn.toLocaleString()," ",On?(null==Ee?void 0:Ee.credits)||"Credits":(null==Ee?void 0:Ee.uses)||"Uses"," ",(null==Ee?void 0:Ee.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[!$n&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Ce.accent,color:Ce.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),Xn)return void window.open(Xn,"_blank","noopener,noreferrer");const t=B({baseUrl:wt,accessGroupId:null==De?void 0:De.accessGroupId,redirectUrl:document.URL});t&&($()?window.open(t):location.href=t)}},{children:Kn})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>Ct(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Ge&&Ze.length>0&&n(T,{className:"p-4 pb-0",isDisabled:Ge}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Ht&&o("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!==(he=Ce.accent)&&void 0!==he?he:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Ce.text+"90"}},{children:(null==Ee?void 0:Ee.listening)||"Listening..."}))]})),n(A,Object.assign({ref:Rt,className:M(an.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!gt.trim()&&!gt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ae?"text-right":"text-left",xn&&"mb-12",Ht&&"text-transparent"),value:gt,placeholder:bn,onChange:e=>{vt(e)},onKeyDown:e=>{Ue||qt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),et||Ge||Hn()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!mn)return;e.preventDefault(),Le(!1),yield nt(t)}}))},Y&&{onFocus:Y},ne&&{onBlur:ne},{dir:Ae?"rtl":"ltr"})),n("div",Object.assign({ref:Mt,className:M("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",xn?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!xn&&ln.backgroundColor&&{backgroundColor:ln.backgroundColor}),{borderTopRightRadius:Ne.cornerRadius+"px",borderBottomRightRadius:Ne.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:()=>{const e=Pt.current;e&&(Dt.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:Pt.current))return;const t=z(Lt.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},pn&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),$t.current&&($t.current.abort(),$t.current=null),At.current&&(At.current.cancel().catch((()=>{})),At.current=null),qe("idle")},style:{backgroundColor:Ce.accent,color:Ce.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Ht?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:zt,style:{backgroundColor:Ce.accent,color:Ce.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[mn&&o("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:tn?Ce.accent+"10":void 0,color:tn?Ce.accent:Ce.accent+"80"},disabled:et||Ge,onClick:()=>{var e;return null===(e=Ut.current)||void 0===e?void 0:e.click()}},nn,{children:[n("input",{id:"file-upload",ref:Ut,type:"file",accept:[...O,...k,...S].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Le(!1),yield nt(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),fn&&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:Ht?Ce.accent:sn?Ce.accent+"10":void 0,color:Ht?Ce.accentText:sn?Ce.accent:Ce.accent+"80"},disabled:et||Ge||Jt,onClick:()=>{Ht?zt():(Tt.current=gt,Gt(_e||"en-US"))}},rn,{children:n(_,{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:Yt||Fn?Ce.accent:Ce.accent+"10",color:Yt||Fn?Ce.accentText:Ce.accent+"80"},disabled:!Fn,onClick:()=>Hn()},Zt,{children:n(E,{className:M("h-6 w-6 shrink-0",Ae&&"scale-x-[-1] transform")})}))]})}))]}))]})),tt&&n(P,{error:tt,className:"mt-3"})]}))}))}));ne.displayName="Input";export{ne as default};
1
+ import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useCallback as l,useEffect as d,useMemo as c,useImperativeHandle as u}from"react";import{usePickaxeContext as m}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as p}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}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 h}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as b}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as y}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as I}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as j}from"../../../hooks/core/useHover.js";import{useMediaQuery as w}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as O,allowedImageMimeTypes as k,additionalAllowedFileExtensions as S}from"../../../common/documents.js";import{createParser as N}from"eventsource-parser";import C from"../../Icons/attach-vertical.svg.js";import E from"../../Icons/arrow-right.svg.js";import _ from"../../Icons/microphone.svg.js";import U from"../../Icons/stop.svg.js";import T from"../Addons/Document/List.js";import A from"../../Core/Textarea.js";import P from"../../Core/ErrorAlert.js";import D from"../../../common/error.js";import{getUnpersistedMemoryMessages as L}from"../../../common/chatMessages.js";import{pickaxeApi2 as R}from"../../../common/api/pickaxe.js";import{getValidationFailure as M}from"../../../common/validation.js";import B from"../../../common/cn.js";import{buildUpgradeUrl as $,isInIframe as X,initializeEmbedUserId as K}from"../../../common/utils.js";import{getPickaxeConfigMetadata as V}from"../../../common/pickaxeConfig.js";import{fireDeploymentSessionInitializedWebhook as F,fireDeploymentFirstMessageSubmittedWebhook as H}from"../../../common/deploymentWebhooks.js";import{useStudio as W}from"../../../hooks/studio/useStudio.js";import{useSpeech as G}from"../../../hooks/pickaxe/useSpeech.js";import{STUDIO_INFINITY_VALUE as J}from"../common/PickaxeCommon.js";const z=e=>"string"==typeof e&&e.trim().length>0,q=e=>e.map((e=>Object.assign({},e))),Q=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Y=(e,t)=>{if(e&&"object"==typeof e)return e[t]},Z=(e,t)=>{const n=Y(e,t);return z(n)?n:null},ee=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},te=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(Y(e,"uses"))?Y(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>z(e)?{type:"deployment",id:e}:z(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(s=null!==(o=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==o?o:i.find((e=>e.id===r.id)))&&void 0!==s?s:null;return{scope:r,record:a}},ne=i((({resubmitPrompt:i,onFocus:Y,onBlur:ne,onInputHeightChange:oe,initSmitheryAuthData:se},ie)=>{var re,ae,le,de,ce,ue,me,pe,fe,ge,ve,he;const{origin:be,pickaxeId:ye,sessionId:xe,sender:Ie,senderType:je,portalId:we,deploymentId:Oe,deploymentType:ke,pickaxe:Se,styles:Ne,colors:Ce,translations:Ee,locale:_e,forceMobile:Ue,isNewChat:Te,isRtl:Ae,isShowFeedbackMessage:Pe,accessGroup:De,setIsNewChat:Le,setIsShowIceBreaker:Re,setValidationStatus:Me,setValidationUpgradeGroups:Be,setValidationUpgradeUrl:$e,setAccessGroup:Xe,onGenerateComplete:Ke}=m(),{token:Ve,isLoggedOut:Fe,isSent:He,isPricingAuth:We}=b(),{messages:Ge,isGenerating:Je,setMessages:ze,setStatus:qe,setLimitData:Qe,setError:Ye}=p(),{documents:Ze,isUploading:et,documentError:tt,onFileUpload:nt,setDocuments:ot,setDocumentError:st}=y(),{studio:it}=W(),[rt]=w("(max-width: 480px)"),{scrollStartSession:at,scrollEndSession:lt,scrollToBottom:dt}=x({auto:!0,smooth:!(Ue||rt)}),{artifacts:ct,currentPopupType:ut,setArtifacts:mt,setCurrentArtifact:pt}=I(),{height:ft}=h(),gt=v(),[vt,ht]=r(""),[bt,yt]=r(!1),[xt,It]=r(!1),[jt,wt]=r(null),[Ot,kt]=r(null),[St,Nt]=r(!1),[Ct,Et]=r(!1),[_t,Ut]=r(0),Tt=a(null),At=a(""),Pt=a(null),Dt=a(null),Lt=a(null),Rt=a([]),Mt=a(null),Bt=a(null),$t=a(null),Xt=a(null),Kt=a(new Set),Vt=a(null),Ft=Math.max(.4*ft,100),{speechTranscript:Ht,isSpeechListening:Wt,isSpeechProcessing:Gt,isSpeechSupported:Jt,onStartListening:zt,onStopListening:qt}=G(),Qt=j(),{isHover:Yt}=Qt,Zt=e(Qt,["isHover"]),en=j(),{isHover:tn}=en,nn=e(en,["isHover"]),on=j(),{isHover:sn}=on,rn=e(on,["isHover"]),an=g(),ln=f(),dn="undefined"!=typeof window?window.location.hostname:"",cn="undefined"!=typeof window?window.location.href:"",un="undefined"!=typeof window&&window.self!==window.top,mn=dn.includes("pickaxe.co")&&!cn.includes("https://studio.pickaxe.co/_embed")&&!un,pn=null!==(ae=null===(re=null==Se?void 0:Se.documentuploadtype)||void 0===re?void 0:re.startsWith("enduserupload"))&&void 0!==ae&&ae,fn=Jt&&(null==Se?void 0:Se.enablevoicetotext),gn=z(Oe),vn="chat-input"===ke&&Te&&!He,hn="chat-input"===ke&&We&&Fe&&He,bn=l((e=>{const t=M(e);return!!t&&(Ye(""),Qe(null),Me(t.status),Xe(t.accessGroup),Be(t.upgradeGroups),$e(t.upgradeUrl),!0)}),[Ye,Qe,Me,Be,$e,Xe]),yn=null!==(le=null==Se?void 0:Se.placeholdertext)&&void 0!==le?le:Ae?"بماذا تريد أن تتحدث؟":(null==Ee?void 0:Ee["what-do-you-want-to-talk-about"])||"What do you want to talk about?",xn=bt||xt,In=l((()=>t(void 0,void 0,void 0,(function*(){Nt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Se?void 0:Se.studioid},Ve?{studioSessionToken:Ve}:Ie?{sender:Ie}:{sender:K()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),mn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(wt(t.studioUser),kt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{Nt(!0)}}))),[mn,null==Se?void 0:Se.studioid,Ie,Ve]);d((()=>{In()}),[In]);const jn=Number(null!==(de=null==De?void 0:De.limit)&&void 0!==de?de:0),wn="string"==typeof(null==De?void 0:De.limitInterval)?De.limitInterval:null,On=!!(null==it?void 0:it.data.usage)&&it.data.usage.isCredits,kn=c((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=we?we:Z(jt,"portalId"))&&void 0!==e?e:Z(jt,"portalid"))&&void 0!==t?t:Z(De,"portalId"))&&void 0!==n?n:Z(De,"portalid"))&&void 0!==o?o:Z(Se,"portalId"))&&void 0!==s?s:Z(Se,"portalid")}),[De,we,Se,jt]),Sn=c((()=>te({studioUser:jt,deploymentId:Oe,portalId:kn})),[Oe,kn,jt]);d((()=>{gn&&Te&&xe&&Kt.current.add(xe)}),[Te,xe,gn]);const Nn=l((()=>{var e,t,n;return{studioId:null==Se?void 0:Se.studioid,userEmail:Z(jt,"email"),userId:null!==(e=Z(jt,"userId"))&&void 0!==e?e:Z(jt,"userid"),sessionId:xe,deploymentId:Oe,deploymentType:ke,portalId:kn,accessGroupId:null!==(t=null==De?void 0:De.accessGroupId)&&void 0!==t?t:null,pickaxeId:ye,sender:Ie,senderType:je,origin:be,metadata:null!==(n=V(Oe))&&void 0!==n?n:null}}),[null==De?void 0:De.accessGroupId,Oe,ke,be,null==Se?void 0:Se.studioid,ye,kn,Ie,je,xe,jt]),Cn=l((()=>!!(gn&&St&&xe)&&(!!Kt.current.has(xe)&&(F(Nn()),Kt.current.delete(xe),!0))),[Nn,St,xe,gn]);d((()=>{if(!St||!xe)return;Cn();const e=Vt.current;(null==e?void 0:e.sessionId)===xe&&(H(Object.assign(Object.assign(Object.assign({},e),Nn()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Vt.current=null)}),[Cn,Nn,St,xe]);const En={currentUses:ee(null==jt?void 0:jt.currentUses),extraUses:ee(null==jt?void 0:jt.extraUses)},_n=Sn.scope?{currentUses:null!==(ue=ee(null===(ce=Sn.record)||void 0===ce?void 0:ce.currentUses))&&void 0!==ue?ue:0,extraUses:null!==(pe=ee(null===(me=Sn.record)||void 0===me?void 0:me.extraUses))&&void 0!==pe?pe:0}:{currentUses:0,extraUses:0},Un=Z(jt,"type"),Tn="guest"===Un||!Un&&Fe?_n:En;d((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(On&&(null===(t=null==it?void 0:it.data)||void 0===t?void 0:t.workspaceId))try{const t=yield R.get(`/cost_per_run?workspaceId=${it.data.workspaceId}`,{withCredentials:!1});e&&Ut(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&Ut(0)}else e&&Ut(0)})),()=>{e=!1}}),[On,null===(fe=null==it?void 0:it.data)||void 0===fe?void 0:fe.workspaceId]);const An=(({currentUses:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=e?e:0),i=Number(null!=t?t:0);return n===J||i===J?J:"one_time"===o?Math.max(0,i-s):Math.max(0,n-s)+i})({currentUses:Tn.currentUses,extraUses:Tn.extraUses,limit:jn,limitInterval:wn}),Pn=An===J?J:Math.max(0,Math.ceil(An)),Dn=(({extraUses:e,limit:t,limitInterval:n})=>{const o=Number(null!=e?e:0);return t===J||o===J?J:"one_time"===n?Math.max(0,o):Math.max(0,t)+Math.max(0,o)})({extraUses:Tn.extraUses,limit:jn,limitInterval:wn}),Ln=Dn===J?J:Math.ceil(.05*Dn),Rn=On?Math.ceil(5*_t):5,Mn=Ln===J?J:Math.max(Ln,Rn),Bn=c((()=>!!jt&&(!Ct&&(Pn!==J&&(!(Pn<=0)&&Pn<=Mn)))),[Ct,Mn,Pn,jt]),$n=Boolean(null==De?void 0:De.hideUpgradeOptions),Xn=!$n&&(null===(ge=null==De?void 0:De.upgrade)||void 0===ge?void 0:ge.isLinkToCustomURL)&&"string"==typeof De.upgrade.limitLink&&De.upgrade.limitLink.trim().length>0?De.upgrade.limitLink.trim():null,Kn=Xn&&"string"==typeof(null===(ve=null==De?void 0:De.upgrade)||void 0===ve?void 0:ve.limitCTA)&&De.upgrade.limitCTA.trim().length>0?De.upgrade.limitCTA:(null==Ee?void 0:Ee["pricing.upgrade"])||(null==Ee?void 0:Ee.upgrade)||"Upgrade",Vn=c((()=>{var e,t,n;return!!Te&&(!!Se&&(!gt.isLoading&&(!((null!==(t=null===(e=gt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Se.icebreakers)||void 0===n?void 0:n.length)&&(!Pe&&!vn)))))}),[Se,Te,Pe,vn,gt.data,gt.isLoading]),Fn=c((()=>{if(Je||et)return!1;const e=pn&&Ze.length>0&&Ze.every((e=>"finished"===e.status));return!(!vt.trim()&&!e)&&Ze.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[pn,Je,et,vt,Ze]);u(ie,(()=>({onSubmit:Hn}))),d((()=>{Re(Vn)}),[Vn]),d((()=>{var e;if(i){const t=Array.from(Ge),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Hn(n,!0)}}),[i]),d((()=>{if(!$t.current||!oe)return;const e=new ResizeObserver((e=>{for(const t of e)oe(t.contentRect.height)}));return e.observe($t.current),()=>{e.disconnect()}}),[oe]),d((()=>{if(!Wt)return;const e=At.current?`${At.current} `:"";ht(`${e}${Ht}`)}),[Ht,Wt]),d((()=>{if(!Mt.current)return;(()=>{if(!Mt.current)return;let e=Mt.current.scrollHeight>52;vt.includes("\n")||Ze.length?e=!0:vt.trim()||(e=!1),yt(e)})()}),[vt,Ze]),d((()=>{const e=Mt.current,t=Bt.current;if(!e||!t||bt||vt.includes("\n"))return void It(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=vt||yn,document.body.appendChild(s);const i=s.offsetWidth;s.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;It(i>l)}),[vt,bt,yn]);const Hn=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,o,s,i,r,a;let l=null;try{if(Je||et)return;const d=Ze.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),c=d.map((e=>e.documentId)).filter(Boolean),u=d.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),m=null!=e?e:vt,p=null!==(o=null===(t=null==Se?void 0:Se.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==o&&o&&c.length>0;if(!m&&!p)return;Ye(""),st(""),Qe(null),ht(""),Le(!1),qe("fetching"),at(),dt();const f=null!==(i=null===(s=gt.data)||void 0===s?void 0:s.messages)&&void 0!==i?i:[],g=L(Ge,f),v=n?g.slice(0,g.length-1):g,h=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(v),b=h+(n?0:1),y={id:b,role:"assistant",parts:[],documentIds:[]},x=[...v,...n?[]:[{id:h,role:"user",parts:[{type:"text",content:m,isVisible:!0}],documentIds:p?c:[]}],y];ze(x),dt(),p&&ot([]);const I=V(Oe),j="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=j,Dt.current=j,Lt.current=null,Rt.current=[];const w=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:be,pickaxeId:ye,sessionId:xe,submissionId:j,senderType:je,value:m},p&&{documentIds:c}),Ie&&{sender:Ie}),Ve&&{studioSessionToken:Ve}),!Ve&&!Ie&&{sender:K()}),kn&&{portalId:kn}),Oe&&{deploymentId:Oe}),I&&{metadata:I}),p&&u.length>0?{uploadedModelImages:u}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},mn&&{credentials:"include"})),O=yield w.json();if(!O.success){if(O.limitData){const e=new Error(O.error||O.message||(null==Ee?void 0:Ee["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=O.limitData,e}if(bn(O))return;throw new Error(O.error||O.message||(null==Ee?void 0:Ee["failed-to-start-generation"])||"Failed to start generation")}const k=null!==(r=O.submissionId)&&void 0!==r?r:j;l=k,Dt.current=k;const S=()=>Lt.current===k;if(S())return;gn&&Te&&xe&&Kt.current.add(xe);const C=Object.assign(Object.assign({},Nn()),{message:m,documentIds:p?c:[],uploadedModelImages:p?u:[],hasUploadedDocuments:p,isHidden:n,metadata:null!=I?I:null});St?(Cn(),H(C)):Vt.current=C,qe("streaming"),Xt.current=new AbortController;const E=[];let _=[...null!=ct?ct:[]],U=0,T=!1,A="";for(;!T;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${k}?index=${U}`,{signal:null===(a=Xt.current)||void 0===a?void 0:a.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();Pt.current=t;const n=new TextDecoder,o=N({onEvent:e=>{var t,n;if(S())T=!0;else if(e.event&&"ping"!==e.event&&U++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Qe(t.limitData),Ye(""),void(T=!0);const n=t.error||t.message||(null==Ee?void 0:Ee["something-went-wrong"])||"Something went wrong.";return bn(t)||Ye(n),void(T=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("data-error"===o.type&&se){const e=o.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw T=!0,se({provider:"smithery",smitheryId:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw T=!0,se({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw T=!0,se({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw T=!0,se({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===o.type)A="",E.push({type:"text",content:"",isVisible:null===(t=o.isVisible)||void 0===t||t});else if("text-delta"===o.type)A+=o.delta,E[E.length-1].content=A;else if("text-end"===o.type)A="";else if("reasoning-start"===o.type)A="",E.push({type:"reasoning",content:"",isVisible:null===(n=o.isVisible)||void 0===n||n});else if("reasoning-delta"===o.type)A+=o.delta,E[E.length-1].content=A;else if("reasoning-end"===o.type)A="";else if(o.type.startsWith("data-")){const e=o;E.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Rt.current=q(E);const s=q(E);ze((e=>{const t=e.findIndex((e=>e.id===b)),n=Object.assign(Object.assign({},y),{parts:s});return-1===t?[...e,n]:e.map(((e,o)=>o===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),mt([..._]),ut.startsWith("inline")||pt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),mt(_),ut.startsWith("inline")||pt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),mt(_),ut.startsWith("inline")||pt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");_=_.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),mt(_)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);mt(_.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Qe(t.limitData),Ye(""),void(T=!0);const n=t.error||t.message||(null==Ee?void 0:Ee["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(bn(t))return void(T=!0);Ye(n)}else"stop"===e.event&&(T=!0)}else T=!0}});for(;;){if(S()){T=!0,t.cancel().catch((()=>{}));break}const{value:e,done:s}=yield t.read();if(S()){T=!0,t.cancel().catch((()=>{}));break}if(s)break;o.feed(n.decode(e))}T||S()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||Q(e)||S())return void(T=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Ke||Ke(xe)}catch(e){if(Q(e))return;if(e.limitData)Qe(e.limitData),Ye("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Ee?void 0:Ee["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),bn(t)||Ye(t)}}finally{const e=!l||Dt.current===l;dt(),e&&(qe("idle"),lt(),Pt.current=null),l&&e&&(Dt.current=null,Rt.current=[]),yield In()}}));return hn?null:n("div",Object.assign({className:B("flex w-full flex-shrink-0 flex-col items-center",!vn&&"px-4 pb-8"),dir:Ae?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[o("div",Object.assign({ref:$t,className:B("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Ne.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},ln),{maxHeight:`${Ft}px`,overflowY:"auto"})},{children:[Bn&&o("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:ln.backgroundColor?`${ln.backgroundColor}E6`:void 0,borderColor:Ce.text+"20",color:Ce.text,borderTopRightRadius:Ne.cornerRadius+"px",borderTopLeftRadius:Ne.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[Pn.toLocaleString()," ",On?(null==Ee?void 0:Ee.credits)||"Credits":(null==Ee?void 0:Ee.uses)||"Uses"," ",(null==Ee?void 0:Ee.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[!$n&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Ce.accent,color:Ce.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),Xn)return void window.open(Xn,"_blank","noopener,noreferrer");const t=$({baseUrl:Ot,accessGroupId:null==De?void 0:De.accessGroupId,redirectUrl:document.URL});t&&(X()?window.open(t):location.href=t)}},{children:Kn})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>Et(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Je&&Ze.length>0&&n(T,{className:"p-4 pb-0",isDisabled:Je}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Wt&&o("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!==(he=Ce.accent)&&void 0!==he?he:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Ce.text+"90"}},{children:(null==Ee?void 0:Ee.listening)||"Listening..."}))]})),n(A,Object.assign({ref:Mt,className:B(an.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!vt.trim()&&!vt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ae?"text-right":"text-left",xn&&"mb-12",Wt&&"text-transparent"),value:vt,placeholder:yn,onChange:e=>{ht(e)},onKeyDown:e=>{Ue||rt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),et||Je||Hn()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!pn)return;e.preventDefault(),Le(!1),yield nt(t)}}))},Y&&{onFocus:Y},ne&&{onBlur:ne},{dir:Ae?"rtl":"ltr"})),n("div",Object.assign({ref:Bt,className:B("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",xn?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!xn&&ln.backgroundColor&&{backgroundColor:ln.backgroundColor}),{borderTopRightRadius:Ne.cornerRadius+"px",borderBottomRightRadius:Ne.cornerRadius+"px"})},{children:Je?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:()=>{const e=Dt.current;e&&(Lt.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:Dt.current))return;const t=q(Rt.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},mn&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),Xt.current&&(Xt.current.abort(),Xt.current=null),Pt.current&&(Pt.current.cancel().catch((()=>{})),Pt.current=null),qe("idle")},style:{backgroundColor:Ce.accent,color:Ce.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Wt?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:qt,style:{backgroundColor:Ce.accent,color:Ce.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[pn&&o("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:tn?Ce.accent+"10":void 0,color:tn?Ce.accent:Ce.accent+"80"},disabled:et||Je,onClick:()=>{var e;return null===(e=Tt.current)||void 0===e?void 0:e.click()}},nn,{children:[n("input",{id:"file-upload",ref:Tt,type:"file",accept:[...O,...k,...S].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Le(!1),yield nt(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),fn&&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:Wt?Ce.accent:sn?Ce.accent+"10":void 0,color:Wt?Ce.accentText:sn?Ce.accent:Ce.accent+"80"},disabled:et||Je||Gt,onClick:()=>{Wt?qt():(At.current=vt,zt(_e||"en-US"))}},rn,{children:n(_,{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:Yt||Fn?Ce.accent:Ce.accent+"10",color:Yt||Fn?Ce.accentText:Ce.accent+"80"},disabled:!Fn,onClick:()=>Hn()},Zt,{children:n(E,{className:B("h-6 w-6 shrink-0",Ae&&"scale-x-[-1] transform")})}))]})}))]}))]})),tt&&n(P,{error:tt,className:"mt-3"})]}))}))}));ne.displayName="Input";export{ne as default};
@@ -0,0 +1,3 @@
1
+ import type { PickaxeHistoryMessage } from "../types/history";
2
+ import type { MemoryStoredChatMessage } from "../types/response";
3
+ export declare const getUnpersistedMemoryMessages: (memoryMessages: MemoryStoredChatMessage[], persistedMessages: PickaxeHistoryMessage[]) => MemoryStoredChatMessage[];
@@ -2,8 +2,9 @@
2
2
  interface UseScrollProps {
3
3
  auto?: boolean;
4
4
  debug?: boolean;
5
+ smooth?: boolean;
5
6
  }
6
- export declare const useScroll: ({ auto, debug }: UseScrollProps) => {
7
+ export declare const useScroll: ({ auto, debug, smooth }: UseScrollProps) => {
7
8
  scrollContainerRef: import("react").MutableRefObject<HTMLDivElement>;
8
9
  scrollTargetRef: import("react").MutableRefObject<HTMLDivElement>;
9
10
  isScrollIncreasing: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "6.10.2",
3
+ "version": "6.10.4",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",