@pickaxeproject/react 6.15.5 → 6.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tldts");const t="PXE-uid",r=(e,t=!1)=>{let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";t&&(r=r.replace(/[0-9]/g,""));let o="";for(let t=0;t<e;t++)o+=r.charAt(Math.floor(Math.random()*r.length));return o},o=e=>{try{const t=document.cookie.split("; ");for(const r of t){const[t,o]=r.split("=");if(t===e)return o}return null}catch(e){return console.error("[pxe] failed to get cookie",e),null}};exports.COOKIE_USER_ID=t,exports.buildUpgradeUrl=({baseUrl:e,redirectUrl:t,accessGroupId:r,currentUrl:o})=>{if(!e)return null;const n=null!=o?o:"undefined"!=typeof window?window.location.href:null;if(!n)return null;try{const o=new URL(e,n);if(r){const e=((e,t)=>{const r=e.pathname.split("/"),o=r.findIndex((e=>"ag-pricing"===e));return-1!==o&&!r[o+1]&&(r.splice(o+1,0,encodeURIComponent(t)),e.pathname=r.join("/"),!0)})(o,r);e||o.searchParams.set("agid",r)}return t&&o.searchParams.set("redirectUrl",t),o.toString()}catch(e){return console.error("[pxe] failed to build upgrade url",e),null}},exports.deleteAuthToken=e=>{try{if("undefined"==typeof window)return;localStorage.removeItem(e)}catch(e){console.error("[pxe] failed to delete auth token",e)}},exports.deleteCookie=e=>{document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"},exports.extractUrlsFromText=e=>{const t=e.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(t))},exports.formatBytes=(e,t=2)=>{if(!+e)return"0 Bytes";const r=t<0?0:t,o=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,o)).toFixed(r))} ${["Bytes","KB","MB","PB","EB"][o]}`},exports.generateId=(e,t="",r="")=>{let o="";for(let t=0;t<e;t++){o+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return t+o+r},exports.getAuthToken=e=>{try{if("undefined"==typeof window)return null;let t=null;return t=new URLSearchParams(window.location.search).get("pxtoken"),t||(t=localStorage.getItem(`PXE-token-${e}`)),t||(t=o(`PXE-token-${e}`)),t||(t=o(`__Secure-PS-${e}.session-token`)),t?decodeURIComponent(t):null}catch(e){return null}},exports.getCookie=o,exports.initializeEmbedUserId=()=>{try{const n=o(t);if(!n){const o=r(28),n=new Date;n.setFullYear(n.getFullYear()+1);let l=window.location.hostname;const s=e.parse(l).domain;if(s)l=`.${s}`;else{const e=l.split(":")[0],t=e.split(".");l=e,t.length>=2&&(l=`.${t.slice(-2).join(".")}`)}return document.cookie=`${t}=${o};Path=/; Domain=${l}; Expires=${n.toUTCString()}`,o}return n}catch(e){return console.error("[pxe-embed] failed to initialized embed user id",e),r(28)}},exports.isInIframe=()=>{if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch(e){return!0}},exports.mergeRefs=function(...e){return t=>{for(const r of e)r&&("function"==typeof r?r(t):r.current=t)}},exports.randomStr=r,exports.safeJSONParse=e=>{try{return JSON.parse(e)}catch(e){return null}},exports.setAuthToken=(e,t)=>{try{if("undefined"==typeof window)return;localStorage.setItem(e,t)}catch(e){console.error("[pxe] failed to set auth token",e)}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_tslib.js"),t=require("tldts");const o="PXE-uid",r=(e,t=!1)=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";t&&(o=o.replace(/[0-9]/g,""));let r="";for(let t=0;t<e;t++)r+=o.charAt(Math.floor(Math.random()*o.length));return r},n=e=>{try{const t=document.cookie.split("; ");for(const o of t){const[t,r]=o.split("=");if(t===e)return r}return null}catch(e){return console.error("[pxe] failed to get cookie",e),null}};exports.COOKIE_USER_ID=o,exports.buildUpgradeUrl=({baseUrl:e,redirectUrl:t,accessGroupId:o,currentUrl:r})=>{if(!e)return null;const n=null!=r?r:"undefined"!=typeof window?window.location.href:null;if(!n)return null;try{const r=new URL(e,n);if(o){const e=((e,t)=>{const o=e.pathname.split("/"),r=o.findIndex((e=>"ag-pricing"===e));return-1!==r&&!o[r+1]&&(o.splice(r+1,0,encodeURIComponent(t)),e.pathname=o.join("/"),!0)})(r,o);e||r.searchParams.set("agid",o)}return t&&r.searchParams.set("redirectUrl",t),r.toString()}catch(e){return console.error("[pxe] failed to build upgrade url",e),null}},exports.deleteAuthToken=e=>{try{if("undefined"==typeof window)return;localStorage.removeItem(e)}catch(e){console.error("[pxe] failed to delete auth token",e)}},exports.deleteCookie=e=>{document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"},exports.extractUrlsFromText=e=>{const t=e.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(t))},exports.formatBytes=(e,t=2)=>{if(!+e)return"0 Bytes";const o=t<0?0:t,r=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,r)).toFixed(o))} ${["Bytes","KB","MB","PB","EB"][r]}`},exports.generateId=(e,t="",o="")=>{let r="";for(let t=0;t<e;t++){r+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return t+r+o},exports.getAuthToken=e=>{try{if("undefined"==typeof window)return null;let t=null;return t=new URLSearchParams(window.location.search).get("pxtoken"),t||(t=localStorage.getItem(`PXE-token-${e}`)),t||(t=n(`PXE-token-${e}`)),t||(t=n(`__Secure-PS-${e}.session-token`)),t?decodeURIComponent(t):null}catch(e){return null}},exports.getCookie=n,exports.initializeEmbedUserId=()=>{try{const e=n(o);if(!e){const e=r(28),n=new Date;n.setFullYear(n.getFullYear()+1);let i=window.location.hostname;const s=t.parse(i).domain;if(s)i=`.${s}`;else{const e=i.split(":")[0],t=e.split(".");i=e,t.length>=2&&(i=`.${t.slice(-2).join(".")}`)}return document.cookie=`${o}=${e};Path=/; Domain=${i}; Expires=${n.toUTCString()}`,e}return e}catch(e){return console.error("[pxe-embed] failed to initialized embed user id",e),r(28)}},exports.isInIframe=()=>{if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch(e){return!0}},exports.mergeRefs=function(...e){return t=>{for(const o of e)o&&("function"==typeof o?o(t):o.current=t)}},exports.openAuthenticatedPricingUrl=({deploymentId:t,pricingUrl:o,studioId:n,studioSessionToken:i})=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=new URL(o),s=new URL(window.location.href);if(s.search="",s.hash="",e.searchParams.set("origin",s.toString()),!t||!n||!i)return void window.open(e.toString(),"_blank","noopener,noreferrer");const a=`pxe-pricing-${r(12)}`,l=window.open("",a);l&&(l.opener=null);try{const o=yield fetch(`${e.origin}/api/embed/auth-handoff/issue`,{method:"POST",headers:{"Content-Type":"application/json","x-studio-session-token":i},body:JSON.stringify({deploymentId:t,destination:e.toString(),studioId:n})}),r=yield o.json();if(!o.ok||!r.success||!r.code)throw new Error(r.error||"Unable to transfer login session");const s=document.createElement("form");s.method="POST",s.action=`${e.origin}/api/embed/auth-handoff/consume`,s.target=l?a:"_self",s.style.display="none";const c=document.createElement("input");c.type="hidden",c.name="code",c.value=r.code,s.appendChild(c),document.body.appendChild(s),s.submit(),s.remove()}catch(t){console.warn("[pxe] failed to transfer pricing login session",t),l?l.location.replace(e.toString()):window.location.href=e.toString()}})),exports.randomStr=r,exports.safeJSONParse=e=>{try{return JSON.parse(e)}catch(e){return null}},exports.setAuthToken=(e,t)=>{try{if("undefined"==typeof window)return;localStorage.setItem(e,t)}catch(e){console.error("[pxe] failed to set auth token",e)}};
@@ -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"),o=require("../../../hooks/studio/useStyleInput.js"),r=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"),I=require("../../Icons/arrow-right.svg.js"),b=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"),T=require("../../../common/agentPrefill.js"),C=require("../../../common/deploymentWebhooks.js"),A=require("../../../hooks/studio/useStudio.js"),D=require("../../../hooks/pickaxe/useSpeechToText.js"),P=require("../common/PickaxeCommon.js");const L=e=>"string"==typeof e&&e.trim().length>0,M=e=>e.map((e=>Object.assign({},e))),R=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),q=(e,t)=>{if(e&&"object"==typeof e)return e[t]},F=(e,t)=>{const s=q(e,t);return L(s)?s:null},V=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},B=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const o=Array.isArray(q(e,"uses"))?q(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>L(e)?{type:"deployment",id:e}:L(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!r)return{scope:r,record:null};const a=null!==(i=null!==(n=o.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==n?n:o.find((e=>e.id===r.id)))&&void 0!==i?i:null;return{scope:r,record:a}},$=s.forwardRef((({resubmitPrompt:q,onFocus:$,onBlur:X,onInputHeightChange:H,initSmitheryAuthData:K},W)=>{var z,G,Y,J,Q,Z,ee,te,se,ne,ie,oe,re,ae,le,de;const{origin:ce,pickaxeId:ue,sessionId:pe,sender:me,senderType:fe,portalId:ge,deploymentId:ve,deploymentType:he,pickaxe:Ie,styles:be,colors:ye,translations:xe,locale:je,forceMobile:Se,isNewChat:Oe,isRtl:we,isShowFeedbackMessage:Ne,accessGroup:_e,setIsNewChat:ke,setIsShowIceBreaker:Ee,setValidationStatus:Ue,setValidationUpgradeGroups:Te,setValidationUpgradeUrl:Ce,setAccessGroup:Ae,onUpgrade:De,onGenerateComplete:Pe}=n.usePickaxeContext(),{token:Le,isLoggedOut:Me,isSent:Re,isPricingAuth:qe}=d.useAuthContext(),{messages:Fe,isGenerating:Ve,setMessages:Be,setStatus:$e,setLimitData:Xe,setError:He}=i.useResponseContext(),{documents:Ke,isUploading:We,documentError:ze,onFileUpload:Ge,setDocuments:Ye,setDocumentError:Je}=c.useDocument(),{studio:Qe}=A.useStudio(),[Ze]=f.useMediaQuery("(max-width: 480px)"),{scrollStartSession:et,scrollEndSession:tt,scrollToBottom:st}=u.useScroll({auto:!0,smooth:!(Se||Ze)}),{artifacts:nt,currentPopupType:it,setArtifacts:ot,setCurrentArtifact:rt}=p.useArtifactContext(),{height:at}=l.useDimensionContext(),lt=a.useConversation(),[dt,ct]=s.useState((()=>T.readAgentPrefill([ve,ue]).chatInput)),[ut,pt]=s.useState(!1),[mt,ft]=s.useState(!1),[gt,vt]=s.useState(null),[ht,It]=s.useState(null),[bt,yt]=s.useState(!1),[xt,jt]=s.useState(!1),[St,Ot]=s.useState(0),wt=s.useRef(null),Nt=s.useRef(""),_t=s.useRef(null),kt=s.useRef(null),Et=s.useRef(null),Ut=s.useRef([]),Tt=s.useRef(null),Ct=s.useRef(null),At=s.useRef(null),Dt=s.useRef(null),Pt=s.useRef(new Set),Lt=s.useRef(null),Mt=Math.max(.4*at,100),{speechTranscript:Rt,isSpeechListening:qt,isSpeechProcessing:Ft,isSpeechSupported:Vt,onStartListening:Bt,onStopListening:$t}=D.useSpeechToText(),Xt=m.useHover(),{isHover:Ht}=Xt,Kt=e.__rest(Xt,["isHover"]),Wt=m.useHover(),{isHover:zt}=Wt,Gt=e.__rest(Wt,["isHover"]),Yt=m.useHover(),{isHover:Jt}=Yt,Qt=e.__rest(Yt,["isHover"]),Zt=r.useStyleFontSize(),es=o.useStyleInput(),ts="undefined"!=typeof window?window.location.hostname:"",ss="undefined"!=typeof window?window.location.href:"",ns="undefined"!=typeof window&&window.self!==window.top,is=ts.includes("pickaxe.co")&&!ss.includes("https://studio.pickaxe.co/_embed")&&!ns,os=null!==(G=null===(z=null==Ie?void 0:Ie.documentuploadtype)||void 0===z?void 0:z.startsWith("enduserupload"))&&void 0!==G&&G,rs=Vt&&(null==Ie?void 0:Ie.enablevoicetotext),as=qt&&!dt.trim(),ls=L(ve),ds="chat-input"===he&&Oe&&!Re,cs="chat-input"===he&&qe&&Me&&Re,us=s.useCallback((e=>{const t=_.getValidationFailure(e);return!!t&&(He(""),Xe(null),Ue(t.status),Ae(t.accessGroup),Te(t.upgradeGroups),Ce(t.upgradeUrl),!0)}),[He,Xe,Ue,Te,Ce,Ae]),ps=null!==(Y=null==Ie?void 0:Ie.placeholdertext)&&void 0!==Y?Y:we?"بماذا تريد أن تتحدث؟":(null==xe?void 0:xe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",ms=ut||mt,fs=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){yt(!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==Ie?void 0:Ie.studioid},Le?{studioSessionToken:Le}:me?{sender:me}:{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}})),is&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(vt(t.studioUser),It(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{yt(!0)}}))),[is,null==Ie?void 0:Ie.studioid,me,Le]);s.useEffect((()=>{fs()}),[fs]);const gs=Number(null!==(J=null==_e?void 0:_e.limit)&&void 0!==J?J:0),vs="string"==typeof(null==_e?void 0:_e.limitInterval)?_e.limitInterval:null,hs=!!(null==Qe?void 0:Qe.data.usage)&&Qe.data.usage.isCredits,Is=s.useMemo((()=>{var e,t,s,n,i;return null!==(i=null!==(n=null!==(s=null!==(t=null!==(e=null!=ge?ge:F(gt,"portalId"))&&void 0!==e?e:F(gt,"portalid"))&&void 0!==t?t:F(_e,"portalId"))&&void 0!==s?s:F(_e,"portalid"))&&void 0!==n?n:F(Ie,"portalId"))&&void 0!==i?i:F(Ie,"portalid")}),[_e,ge,Ie,gt]),bs=s.useMemo((()=>B({studioUser:gt,deploymentId:ve,portalId:Is})),[ve,Is,gt]);s.useEffect((()=>{ls&&Oe&&pe&&Pt.current.add(pe)}),[Oe,pe,ls]);const ys=s.useCallback((()=>{var e,t,s;return{studioId:null==Ie?void 0:Ie.studioid,userEmail:F(gt,"email"),userId:null!==(e=F(gt,"userId"))&&void 0!==e?e:F(gt,"userid"),sessionId:pe,deploymentId:ve,deploymentType:he,portalId:Is,accessGroupId:null!==(t=null==_e?void 0:_e.accessGroupId)&&void 0!==t?t:null,pickaxeId:ue,sender:me,senderType:fe,origin:ce,metadata:null!==(s=U.getPickaxeConfigMetadata(ve))&&void 0!==s?s:null}}),[null==_e?void 0:_e.accessGroupId,ve,he,ce,null==Ie?void 0:Ie.studioid,ue,Is,me,fe,pe,gt]),xs=s.useCallback((()=>!!(ls&&bt&&pe)&&(!!Pt.current.has(pe)&&(C.fireDeploymentSessionInitializedWebhook(ys()),Pt.current.delete(pe),!0))),[ys,bt,pe,ls]);s.useEffect((()=>{if(!bt||!pe)return;xs();const e=Lt.current;(null==e?void 0:e.sessionId)===pe&&(C.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),ys()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Lt.current=null)}),[xs,ys,bt,pe]);const js={currentUses:V(null==gt?void 0:gt.currentUses),extraUses:V(null==gt?void 0:gt.extraUses)},Ss=bs.scope?{currentUses:null!==(Z=V(null===(Q=bs.record)||void 0===Q?void 0:Q.currentUses))&&void 0!==Z?Z:0,extraUses:null!==(te=V(null===(ee=bs.record)||void 0===ee?void 0:ee.extraUses))&&void 0!==te?te:0}:{currentUses:0,extraUses:0},Os=F(gt,"type"),ws="guest"===Os||!Os&&Me?Ss:js;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(hs&&(null===(e=null==Qe?void 0:Qe.data)||void 0===e?void 0:e.workspaceId))try{const e=yield N.pickaxeApi2.get(`/cost_per_run?workspaceId=${Qe.data.workspaceId}`,{withCredentials:!1});t&&Ot(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&Ot(0)}else t&&Ot(0)})),()=>{t=!1}}),[hs,null===(se=null==Qe?void 0:Qe.data)||void 0===se?void 0:se.workspaceId]);const Ns=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),o=Number(null!=t?t:0);return s===P.STUDIO_INFINITY_VALUE||o===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,o-i):Math.max(0,s-i)+o})({currentUses:ws.currentUses,extraUses:ws.extraUses,limit:gs,limitInterval:vs}),_s=Ns===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(Ns)),ks=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===P.STUDIO_INFINITY_VALUE||n===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:ws.extraUses,limit:gs,limitInterval:vs}),Es=ks===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:Math.ceil(.05*ks),Us=hs?Math.ceil(5*St):5,Ts=Es===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:Math.max(Es,Us),Cs=s.useMemo((()=>!!gt&&(!xt&&(_s!==P.STUDIO_INFINITY_VALUE&&_s<=Ts))),[xt,Ts,_s,gt]),As=Boolean(null==_e?void 0:_e.hideUpgradeOptions),Ds=Boolean(!As&&((null===(ne=null==_e?void 0:_e.upgrade)||void 0===ne?void 0:ne.isBuyMoreUses)||(null===(ie=null==_e?void 0:_e.upgrade)||void 0===ie?void 0:ie.isLinkToCustomURL)||(null===(oe=null==_e?void 0:_e.upgrade)||void 0===oe?void 0:oe.isUpgradeToAnotherGroup)&&(null===(re=_e.upgrade.accessGroupIds)||void 0===re?void 0:re.length))),Ps=!As&&(null===(ae=null==_e?void 0:_e.upgrade)||void 0===ae?void 0:ae.isLinkToCustomURL)&&"string"==typeof _e.upgrade.limitLink&&_e.upgrade.limitLink.trim().length>0?_e.upgrade.limitLink.trim():null,Ls=Ps&&"string"==typeof(null===(le=null==_e?void 0:_e.upgrade)||void 0===le?void 0:le.limitCTA)&&_e.upgrade.limitCTA.trim().length>0?_e.upgrade.limitCTA:(null==xe?void 0:xe["pricing.upgrade"])||(null==xe?void 0:xe.upgrade)||"Upgrade",Ms=s.useMemo((()=>{var e,t,s;return!!Oe&&(!!Ie&&(!lt.isLoading&&(!((null!==(t=null===(e=lt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=Ie.icebreakers)||void 0===s?void 0:s.length)&&(!Ne&&!ds)))))}),[Ie,Oe,Ne,ds,lt.data,lt.isLoading]),Rs=s.useMemo((()=>{if(Ve||We)return!1;const e=os&&Ke.length>0&&Ke.every((e=>"finished"===e.status));return!(!dt.trim()&&!e)&&Ke.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[os,Ve,We,dt,Ke]);s.useImperativeHandle(W,(()=>({onSubmit:qs}))),s.useEffect((()=>{Ee(Ms)}),[Ms]),s.useEffect((()=>{var e;if(q){const t=Array.from(Fe),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;qs(s,!0)}}),[q]),s.useEffect((()=>{if(!At.current||!H)return;const e=new ResizeObserver((e=>{for(const t of e)H(t.contentRect.height)}));return e.observe(At.current),()=>{e.disconnect()}}),[H]),s.useEffect((()=>{if(!qt)return;const e=Nt.current?`${Nt.current} `:"";ct(`${e}${Rt}`)}),[Rt,qt]),s.useEffect((()=>{if(!Tt.current)return;(()=>{if(!Tt.current)return;let e=Tt.current.scrollHeight>52;dt.includes("\n")||Ke.length?e=!0:dt.trim()||(e=!1),pt(e)})()}),[dt,Ke]),s.useEffect((()=>{const e=Tt.current,t=Ct.current;if(!e||!t||ut||dt.includes("\n"))return void ft(!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=dt||ps,document.body.appendChild(i);const o=i.offsetWidth;i.remove();const r=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;ft(o>l)}),[dt,ut,ps]);const qs=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i,o,r,a;let l=null;try{if(Ve||We)return;const d=Ke.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:dt,m=null!==(n=null===(e=null==Ie?void 0:Ie.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&c.length>0;if(!p&&!m)return;He(""),Je(""),Xe(null),ct(""),ke(!1),$e("fetching"),et(),st();const f=null!==(o=null===(i=lt.data)||void 0===i?void 0:i.messages)&&void 0!==o?o:[],g=w.getUnpersistedMemoryMessages(Fe,f),h=s?g.slice(0,g.length-1):g,I=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(h),b=I+(s?0:1),y={id:b,role:"assistant",parts:[],documentIds:[]},x=[...h,...s?[]:[{id:I,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:m?c:[]}],y];Be(x),st(),m&&Ye([]);const j=U.getPickaxeConfigMetadata(ve),S="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=S,kt.current=S,Et.current=null,Ut.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:ce,pickaxeId:ue,sessionId:pe,submissionId:S,senderType:fe,value:p},m&&{documentIds:c}),me&&{sender:me}),Le&&{studioSessionToken:Le}),!Le&&!me&&{sender:E.initializeEmbedUserId()}),Is&&{portalId:Is}),ve&&{deploymentId:ve}),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()})},is&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==xe?void 0:xe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(us(N))return;throw new Error(N.error||N.message||(null==xe?void 0:xe["failed-to-start-generation"])||"Failed to start generation")}const _=null!==(r=N.submissionId)&&void 0!==r?r:S;l=_,kt.current=_;const k=()=>Et.current===_;if(k())return;ls&&Oe&&pe&&Pt.current.add(pe);const T=Object.assign(Object.assign({},ys()),{message:p,documentIds:m?c:[],uploadedModelImages:m?u:[],hasUploadedDocuments:m,isHidden:s,metadata:null!=j?j:null});bt?(xs(),C.fireDeploymentFirstMessageSubmittedWebhook(T)):Lt.current=T,$e("streaming"),Dt.current=new AbortController;const A=[];let D=[...null!=nt?nt:[]],P=0,L=!1,q="";for(;!L;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${_}?index=${P}`,{signal:null===(a=Dt.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();_t.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(k())L=!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 Xe(t.limitData),He(""),void(L=!0);const s=t.error||t.message||(null==xe?void 0:xe["something-went-wrong"])||"Something went wrong.";return us(t)||He(s),void(L=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&K){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 L=!0,K({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 L=!0,K({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 L=!0,K({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 L=!0,K({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})}Ut.current=M(A);const i=M(A);Be((e=>{const t=e.findIndex((e=>e.id===b)),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"})),ot([...D]),it.startsWith("inline")||rt({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"})),ot(D),it.startsWith("inline")||rt({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"})),ot(D),it.startsWith("inline")||rt({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)),ot(D)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ot(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 Xe(t.limitData),He(""),void(L=!0);const s=t.error||t.message||(null==xe?void 0:xe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(us(t))return void(L=!0);He(s)}else"stop"===e.event&&(L=!0)}else L=!0}});for(;;){if(k()){L=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(k()){L=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}L||k()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||R(e)||k())return void(L=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Pe||Pe(pe)}catch(e){if(R(e))return;if(e.limitData)Xe(e.limitData),He("");else{let t=O.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==xe?void 0:xe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),us(t)||He(t)}}finally{const e=!l||kt.current===l;st(),e&&($e("idle"),tt(),_t.current=null),l&&e&&(kt.current=null,Ut.current=[]),yield fs()}}));return cs?null:t.jsx("div",Object.assign({className:k.default("flex w-full flex-shrink-0 flex-col items-center",!ds&&"px-4 pb-8"),dir:we?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:At,className:k.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===be.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},es),{maxHeight:`${Mt}px`,overflowY:"auto"})},{children:[Cs&&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:es.backgroundColor?`${es.backgroundColor}E6`:void 0,borderColor:ye.text+"20",color:ye.text,borderTopRightRadius:be.cornerRadius+"px",borderTopLeftRadius:be.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[_s.toLocaleString()," ",hs?(null==xe?void 0:xe.credits)||"Credits":(null==xe?void 0:xe.uses)||"Uses"," ",(null==xe?void 0:xe.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[Ds&&t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ye.accent,color:ye.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),Ps)return void window.open(Ps,"_blank","noopener,noreferrer");if(De)return void De();const t=E.buildUpgradeUrl({baseUrl:ht,accessGroupId:null==_e?void 0:_e.accessGroupId,redirectUrl:document.URL});t&&(E.isInIframe()?window.open(t):location.href=t)}},{children:Ls})),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:()=>jt(!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"})}))}))]}))]})),!Ve&&Ke.length>0&&t.jsx(x.default,{className:"p-4 pb-0",isDisabled:Ve}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[as&&t.jsxs("div",Object.assign({className:k.default("pointer-events-none absolute top-1/2 z-10 flex -translate-y-1/2 select-none items-center gap-x-2",we?"right-4":"left-4")},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(de=ye.accent)&&void 0!==de?de:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ye.text+"90"}},{children:(null==xe?void 0:xe.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:Tt,className:k.default(Zt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!dt.trim()&&!dt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",we?"text-right":"text-left",ms&&"mb-12"),value:dt,placeholder:as?"":ps,onChange:e=>{ct(e)},onKeyDown:e=>{Se||Ze||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),We||Ve||qs()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!os)return;t.preventDefault(),ke(!1),yield Ge(e)}}))},$&&{onFocus:$},X&&{onBlur:X},{dir:we?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:Ct,className:k.default("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",ms?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ms&&es.backgroundColor&&{backgroundColor:es.backgroundColor}),{borderTopRightRadius:be.cornerRadius+"px",borderBottomRightRadius:be.cornerRadius+"px"})},{children:Ve?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=kt.current;t&&(Et.current=t,(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:kt.current))return;const e=M(Ut.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})},is&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(t)),Dt.current&&(Dt.current.abort(),Dt.current=null),_t.current&&(_t.current.cancel().catch((()=>{})),_t.current=null),$e("idle")},style:{backgroundColor:ye.accent,color:ye.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):qt?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:$t,style:{backgroundColor:ye.accent,color:ye.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[os&&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:zt?ye.accent+"10":void 0,color:zt?ye.accent:ye.accent+"80"},disabled:We||Ve,onClick:()=>{var e;return null===(e=wt.current)||void 0===e?void 0:e.click()}},Gt,{children:[t.jsx("input",{id:"file-upload",ref:wt,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*(){ke(!1),yield Ge(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(h.default,{className:"h-6 w-6 shrink-0"})]})),rs&&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:qt?ye.accent:Jt?ye.accent+"10":void 0,color:qt?ye.accentText:Jt?ye.accent:ye.accent+"80"},disabled:We||Ve||Ft,onClick:()=>{qt?$t():(Nt.current=dt,Bt(je||"en-US"))}},Qt,{children:t.jsx(b.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:Ht||Rs?ye.accent:ye.accent+"10",color:Ht||Rs?ye.accentText:ye.accent+"80"},disabled:!Rs,onClick:()=>qs()},Kt,{children:t.jsx(I.default,{className:k.default("h-6 w-6 shrink-0",we&&"scale-x-[-1] transform")})}))]})}))]}))]})),ze&&t.jsx(S.default,{error:ze,className:"mt-3"})]}))}))}));$.displayName="Input",exports.default=$;
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"),o=require("../../../hooks/studio/useStyleInput.js"),r=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"),I=require("../../Icons/arrow-right.svg.js"),b=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"),U=require("../../../common/utils.js"),E=require("../../../common/pickaxeConfig.js"),T=require("../../../common/agentPrefill.js"),C=require("../../../common/deploymentWebhooks.js"),A=require("../../../hooks/studio/useStudio.js"),D=require("../../../hooks/pickaxe/useSpeechToText.js"),P=require("../common/PickaxeCommon.js");const L=e=>"string"==typeof e&&e.trim().length>0,M=e=>e.map((e=>Object.assign({},e))),R=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),q=(e,t)=>{if(e&&"object"==typeof e)return e[t]},F=(e,t)=>{const s=q(e,t);return L(s)?s:null},V=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},B=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const o=Array.isArray(q(e,"uses"))?q(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>L(e)?{type:"deployment",id:e}:L(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!r)return{scope:r,record:null};const a=null!==(i=null!==(n=o.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==n?n:o.find((e=>e.id===r.id)))&&void 0!==i?i:null;return{scope:r,record:a}},$=s.forwardRef((({resubmitPrompt:q,onFocus:$,onBlur:X,onInputHeightChange:H,initSmitheryAuthData:K},W)=>{var z,G,Y,J,Q,Z,ee,te,se,ne,ie,oe,re,ae,le,de;const{origin:ce,pickaxeId:ue,sessionId:pe,sender:me,senderType:fe,portalId:ge,deploymentId:ve,deploymentType:he,pickaxe:Ie,styles:be,colors:ye,translations:xe,locale:je,forceMobile:Se,isNewChat:Oe,isRtl:we,isShowFeedbackMessage:Ne,accessGroup:_e,setIsNewChat:ke,setIsShowIceBreaker:Ue,setValidationStatus:Ee,setValidationUpgradeGroups:Te,setValidationUpgradeUrl:Ce,setAccessGroup:Ae,onUpgrade:De,onGenerateComplete:Pe}=n.usePickaxeContext(),{token:Le,isLoggedOut:Me,isSent:Re,isPricingAuth:qe}=d.useAuthContext(),{messages:Fe,isGenerating:Ve,setMessages:Be,setStatus:$e,setLimitData:Xe,setError:He}=i.useResponseContext(),{documents:Ke,isUploading:We,documentError:ze,onFileUpload:Ge,setDocuments:Ye,setDocumentError:Je}=c.useDocument(),{studio:Qe}=A.useStudio(),[Ze]=f.useMediaQuery("(max-width: 480px)"),{scrollStartSession:et,scrollEndSession:tt,scrollToBottom:st}=u.useScroll({auto:!0,smooth:!(Se||Ze)}),{artifacts:nt,currentPopupType:it,setArtifacts:ot,setCurrentArtifact:rt}=p.useArtifactContext(),{height:at}=l.useDimensionContext(),lt=a.useConversation(),[dt,ct]=s.useState((()=>T.readAgentPrefill([ve,ue]).chatInput)),[ut,pt]=s.useState(!1),[mt,ft]=s.useState(!1),[gt,vt]=s.useState(null),[ht,It]=s.useState(null),[bt,yt]=s.useState(!1),[xt,jt]=s.useState(!1),[St,Ot]=s.useState(0),wt=s.useRef(null),Nt=s.useRef(""),_t=s.useRef(null),kt=s.useRef(null),Ut=s.useRef(null),Et=s.useRef([]),Tt=s.useRef(null),Ct=s.useRef(null),At=s.useRef(null),Dt=s.useRef(null),Pt=s.useRef(new Set),Lt=s.useRef(null),Mt=Math.max(.4*at,100),{speechTranscript:Rt,isSpeechListening:qt,isSpeechProcessing:Ft,isSpeechSupported:Vt,onStartListening:Bt,onStopListening:$t}=D.useSpeechToText(),Xt=m.useHover(),{isHover:Ht}=Xt,Kt=e.__rest(Xt,["isHover"]),Wt=m.useHover(),{isHover:zt}=Wt,Gt=e.__rest(Wt,["isHover"]),Yt=m.useHover(),{isHover:Jt}=Yt,Qt=e.__rest(Yt,["isHover"]),Zt=r.useStyleFontSize(),es=o.useStyleInput(),ts="undefined"!=typeof window?window.location.hostname:"",ss="undefined"!=typeof window?window.location.href:"",ns="undefined"!=typeof window&&window.self!==window.top,is=ts.includes("pickaxe.co")&&!ss.includes("https://studio.pickaxe.co/_embed")&&!ns,os=null!==(G=null===(z=null==Ie?void 0:Ie.documentuploadtype)||void 0===z?void 0:z.startsWith("enduserupload"))&&void 0!==G&&G,rs=Vt&&(null==Ie?void 0:Ie.enablevoicetotext),as=qt&&!dt.trim(),ls=L(ve),ds="chat-input"===he&&Oe&&!Re,cs="chat-input"===he&&qe&&Me&&Re,us=s.useCallback((e=>{const t=_.getValidationFailure(e);return!!t&&(He(""),Xe(null),Ee(t.status),Ae(t.accessGroup),Te(t.upgradeGroups),Ce(t.upgradeUrl),!0)}),[He,Xe,Ee,Te,Ce,Ae]),ps=null!==(Y=null==Ie?void 0:Ie.placeholdertext)&&void 0!==Y?Y:we?"بماذا تريد أن تتحدث؟":(null==xe?void 0:xe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",ms=ut||mt,fs=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){yt(!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==Ie?void 0:Ie.studioid},Le?{studioSessionToken:Le}:me?{sender:me}:{sender:U.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}})),is&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(vt(t.studioUser),It(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{yt(!0)}}))),[is,null==Ie?void 0:Ie.studioid,me,Le]);s.useEffect((()=>{fs()}),[fs]);const gs=Number(null!==(J=null==_e?void 0:_e.limit)&&void 0!==J?J:0),vs="string"==typeof(null==_e?void 0:_e.limitInterval)?_e.limitInterval:null,hs=!!(null==Qe?void 0:Qe.data.usage)&&Qe.data.usage.isCredits,Is=s.useMemo((()=>{var e,t,s,n,i;return null!==(i=null!==(n=null!==(s=null!==(t=null!==(e=null!=ge?ge:F(gt,"portalId"))&&void 0!==e?e:F(gt,"portalid"))&&void 0!==t?t:F(_e,"portalId"))&&void 0!==s?s:F(_e,"portalid"))&&void 0!==n?n:F(Ie,"portalId"))&&void 0!==i?i:F(Ie,"portalid")}),[_e,ge,Ie,gt]),bs=s.useMemo((()=>B({studioUser:gt,deploymentId:ve,portalId:Is})),[ve,Is,gt]);s.useEffect((()=>{ls&&Oe&&pe&&Pt.current.add(pe)}),[Oe,pe,ls]);const ys=s.useCallback((()=>{var e,t,s;return{studioId:null==Ie?void 0:Ie.studioid,userEmail:F(gt,"email"),userId:null!==(e=F(gt,"userId"))&&void 0!==e?e:F(gt,"userid"),sessionId:pe,deploymentId:ve,deploymentType:he,portalId:Is,accessGroupId:null!==(t=null==_e?void 0:_e.accessGroupId)&&void 0!==t?t:null,pickaxeId:ue,sender:me,senderType:fe,origin:ce,metadata:null!==(s=E.getPickaxeConfigMetadata(ve))&&void 0!==s?s:null}}),[null==_e?void 0:_e.accessGroupId,ve,he,ce,null==Ie?void 0:Ie.studioid,ue,Is,me,fe,pe,gt]),xs=s.useCallback((()=>!!(ls&&bt&&pe)&&(!!Pt.current.has(pe)&&(C.fireDeploymentSessionInitializedWebhook(ys()),Pt.current.delete(pe),!0))),[ys,bt,pe,ls]);s.useEffect((()=>{if(!bt||!pe)return;xs();const e=Lt.current;(null==e?void 0:e.sessionId)===pe&&(C.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),ys()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Lt.current=null)}),[xs,ys,bt,pe]);const js={currentUses:V(null==gt?void 0:gt.currentUses),extraUses:V(null==gt?void 0:gt.extraUses)},Ss=bs.scope?{currentUses:null!==(Z=V(null===(Q=bs.record)||void 0===Q?void 0:Q.currentUses))&&void 0!==Z?Z:0,extraUses:null!==(te=V(null===(ee=bs.record)||void 0===ee?void 0:ee.extraUses))&&void 0!==te?te:0}:{currentUses:0,extraUses:0},Os=F(gt,"type"),ws="guest"===Os||!Os&&Me?Ss:js;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(hs&&(null===(e=null==Qe?void 0:Qe.data)||void 0===e?void 0:e.workspaceId))try{const e=yield N.pickaxeApi2.get(`/cost_per_run?workspaceId=${Qe.data.workspaceId}`,{withCredentials:!1});t&&Ot(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&Ot(0)}else t&&Ot(0)})),()=>{t=!1}}),[hs,null===(se=null==Qe?void 0:Qe.data)||void 0===se?void 0:se.workspaceId]);const Ns=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),o=Number(null!=t?t:0);return s===P.STUDIO_INFINITY_VALUE||o===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,o-i):Math.max(0,s-i)+o})({currentUses:ws.currentUses,extraUses:ws.extraUses,limit:gs,limitInterval:vs}),_s=Ns===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(Ns)),ks=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===P.STUDIO_INFINITY_VALUE||n===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:ws.extraUses,limit:gs,limitInterval:vs}),Us=ks===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:Math.ceil(.05*ks),Es=hs?Math.ceil(5*St):5,Ts=Us===P.STUDIO_INFINITY_VALUE?P.STUDIO_INFINITY_VALUE:Math.max(Us,Es),Cs=s.useMemo((()=>!!gt&&(!xt&&(_s!==P.STUDIO_INFINITY_VALUE&&_s<=Ts))),[xt,Ts,_s,gt]),As=Boolean(null==_e?void 0:_e.hideUpgradeOptions),Ds=Boolean(!As&&((null===(ne=null==_e?void 0:_e.upgrade)||void 0===ne?void 0:ne.isBuyMoreUses)||(null===(ie=null==_e?void 0:_e.upgrade)||void 0===ie?void 0:ie.isLinkToCustomURL)||(null===(oe=null==_e?void 0:_e.upgrade)||void 0===oe?void 0:oe.isUpgradeToAnotherGroup)&&(null===(re=_e.upgrade.accessGroupIds)||void 0===re?void 0:re.length))),Ps=!As&&(null===(ae=null==_e?void 0:_e.upgrade)||void 0===ae?void 0:ae.isLinkToCustomURL)&&"string"==typeof _e.upgrade.limitLink&&_e.upgrade.limitLink.trim().length>0?_e.upgrade.limitLink.trim():null,Ls=Ps&&"string"==typeof(null===(le=null==_e?void 0:_e.upgrade)||void 0===le?void 0:le.limitCTA)&&_e.upgrade.limitCTA.trim().length>0?_e.upgrade.limitCTA:(null==xe?void 0:xe["pricing.upgrade"])||(null==xe?void 0:xe.upgrade)||"Upgrade",Ms=s.useMemo((()=>{var e,t,s;return!!Oe&&(!!Ie&&(!lt.isLoading&&(!((null!==(t=null===(e=lt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=Ie.icebreakers)||void 0===s?void 0:s.length)&&(!Ne&&!ds)))))}),[Ie,Oe,Ne,ds,lt.data,lt.isLoading]),Rs=s.useMemo((()=>{if(Ve||We)return!1;const e=os&&Ke.length>0&&Ke.every((e=>"finished"===e.status));return!(!dt.trim()&&!e)&&Ke.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[os,Ve,We,dt,Ke]);s.useImperativeHandle(W,(()=>({onSubmit:qs}))),s.useEffect((()=>{Ue(Ms)}),[Ms]),s.useEffect((()=>{var e;if(q){const t=Array.from(Fe),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;qs(s,!0)}}),[q]),s.useEffect((()=>{if(!At.current||!H)return;const e=new ResizeObserver((e=>{for(const t of e)H(t.contentRect.height)}));return e.observe(At.current),()=>{e.disconnect()}}),[H]),s.useEffect((()=>{if(!qt)return;const e=Nt.current?`${Nt.current} `:"";ct(`${e}${Rt}`)}),[Rt,qt]),s.useEffect((()=>{if(!Tt.current)return;(()=>{if(!Tt.current)return;let e=Tt.current.scrollHeight>52;dt.includes("\n")||Ke.length?e=!0:dt.trim()||(e=!1),pt(e)})()}),[dt,Ke]),s.useEffect((()=>{const e=Tt.current,t=Ct.current;if(!e||!t||ut||dt.includes("\n"))return void ft(!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=dt||ps,document.body.appendChild(i);const o=i.offsetWidth;i.remove();const r=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;ft(o>l)}),[dt,ut,ps]);const qs=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i,o,r,a;let l=null;try{if(Ve||We)return;const d=Ke.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:dt,m=null!==(n=null===(e=null==Ie?void 0:Ie.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&c.length>0;if(!p&&!m)return;He(""),Je(""),Xe(null),ct(""),ke(!1),$e("fetching"),et(),st();const f=null!==(o=null===(i=lt.data)||void 0===i?void 0:i.messages)&&void 0!==o?o:[],g=w.getUnpersistedMemoryMessages(Fe,f),h=s?g.slice(0,g.length-1):g,I=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(h),b=I+(s?0:1),y={id:b,role:"assistant",parts:[],documentIds:[]},x=[...h,...s?[]:[{id:I,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:m?c:[]}],y];Be(x),st(),m&&Ye([]);const j=E.getPickaxeConfigMetadata(ve),S="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=S,kt.current=S,Ut.current=null,Et.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:ce,pickaxeId:ue,sessionId:pe,submissionId:S,senderType:fe,value:p},m&&{documentIds:c}),me&&{sender:me}),Le&&{studioSessionToken:Le}),!Le&&!me&&{sender:U.initializeEmbedUserId()}),Is&&{portalId:Is}),ve&&{deploymentId:ve}),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()})},is&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==xe?void 0:xe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(us(N))return;throw new Error(N.error||N.message||(null==xe?void 0:xe["failed-to-start-generation"])||"Failed to start generation")}const _=null!==(r=N.submissionId)&&void 0!==r?r:S;l=_,kt.current=_;const k=()=>Ut.current===_;if(k())return;ls&&Oe&&pe&&Pt.current.add(pe);const T=Object.assign(Object.assign({},ys()),{message:p,documentIds:m?c:[],uploadedModelImages:m?u:[],hasUploadedDocuments:m,isHidden:s,metadata:null!=j?j:null});bt?(xs(),C.fireDeploymentFirstMessageSubmittedWebhook(T)):Lt.current=T,$e("streaming"),Dt.current=new AbortController;const A=[];let D=[...null!=nt?nt:[]],P=0,L=!1,q="";for(;!L;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${_}?index=${P}`,{signal:null===(a=Dt.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();_t.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(k())L=!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 Xe(t.limitData),He(""),void(L=!0);const s=t.error||t.message||(null==xe?void 0:xe["something-went-wrong"])||"Something went wrong.";return us(t)||He(s),void(L=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&K){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 L=!0,K({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 L=!0,K({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 L=!0,K({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 L=!0,K({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})}Et.current=M(A);const i=M(A);Be((e=>{const t=e.findIndex((e=>e.id===b)),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"})),ot([...D]),it.startsWith("inline")||rt({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"})),ot(D),it.startsWith("inline")||rt({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"})),ot(D),it.startsWith("inline")||rt({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)),ot(D)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ot(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 Xe(t.limitData),He(""),void(L=!0);const s=t.error||t.message||(null==xe?void 0:xe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(us(t))return void(L=!0);He(s)}else"stop"===e.event&&(L=!0)}else L=!0}});for(;;){if(k()){L=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(k()){L=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}L||k()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||R(e)||k())return void(L=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Pe||Pe(pe)}catch(e){if(R(e))return;if(e.limitData)Xe(e.limitData),He("");else{let t=O.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==xe?void 0:xe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),us(t)||He(t)}}finally{const e=!l||kt.current===l;st(),e&&($e("idle"),tt(),_t.current=null),l&&e&&(kt.current=null,Et.current=[]),yield fs()}}));return cs?null:t.jsx("div",Object.assign({className:k.default("flex w-full flex-shrink-0 flex-col items-center",!ds&&"px-4 pb-8"),dir:we?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:At,className:k.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===be.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},es),{maxHeight:`${Mt}px`,overflowY:"auto"})},{children:[Cs&&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:es.backgroundColor?`${es.backgroundColor}E6`:void 0,borderColor:ye.text+"20",color:ye.text,borderTopRightRadius:be.cornerRadius+"px",borderTopLeftRadius:be.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[_s.toLocaleString()," ",hs?(null==xe?void 0:xe.credits)||"Credits":(null==xe?void 0:xe.uses)||"Uses"," ",(null==xe?void 0:xe.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[Ds&&t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ye.accent,color:ye.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),Ps)return void window.open(Ps,"_blank","noopener,noreferrer");if(De)return void De();const t=U.buildUpgradeUrl({baseUrl:ht,accessGroupId:null==_e?void 0:_e.accessGroupId,redirectUrl:document.URL});t&&U.openAuthenticatedPricingUrl({deploymentId:ve,pricingUrl:t,studioId:null==Ie?void 0:Ie.studioid,studioSessionToken:Le})}},{children:Ls})),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:()=>jt(!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"})}))}))]}))]})),!Ve&&Ke.length>0&&t.jsx(x.default,{className:"p-4 pb-0",isDisabled:Ve}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[as&&t.jsxs("div",Object.assign({className:k.default("pointer-events-none absolute top-1/2 z-10 flex -translate-y-1/2 select-none items-center gap-x-2",we?"right-4":"left-4")},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(de=ye.accent)&&void 0!==de?de:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ye.text+"90"}},{children:(null==xe?void 0:xe.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:Tt,className:k.default(Zt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!dt.trim()&&!dt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",we?"text-right":"text-left",ms&&"mb-12"),value:dt,placeholder:as?"":ps,onChange:e=>{ct(e)},onKeyDown:e=>{Se||Ze||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),We||Ve||qs()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!os)return;t.preventDefault(),ke(!1),yield Ge(e)}}))},$&&{onFocus:$},X&&{onBlur:X},{dir:we?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:Ct,className:k.default("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",ms?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ms&&es.backgroundColor&&{backgroundColor:es.backgroundColor}),{borderTopRightRadius:be.cornerRadius+"px",borderBottomRightRadius:be.cornerRadius+"px"})},{children:Ve?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=kt.current;t&&(Ut.current=t,(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:kt.current))return;const e=M(Et.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})},is&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(t)),Dt.current&&(Dt.current.abort(),Dt.current=null),_t.current&&(_t.current.cancel().catch((()=>{})),_t.current=null),$e("idle")},style:{backgroundColor:ye.accent,color:ye.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):qt?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:$t,style:{backgroundColor:ye.accent,color:ye.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[os&&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:zt?ye.accent+"10":void 0,color:zt?ye.accent:ye.accent+"80"},disabled:We||Ve,onClick:()=>{var e;return null===(e=wt.current)||void 0===e?void 0:e.click()}},Gt,{children:[t.jsx("input",{id:"file-upload",ref:wt,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*(){ke(!1),yield Ge(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(h.default,{className:"h-6 w-6 shrink-0"})]})),rs&&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:qt?ye.accent:Jt?ye.accent+"10":void 0,color:qt?ye.accentText:Jt?ye.accent:ye.accent+"80"},disabled:We||Ve||Ft,onClick:()=>{qt?$t():(Nt.current=dt,Bt(je||"en-US"))}},Qt,{children:t.jsx(b.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:Ht||Rs?ye.accent:ye.accent+"10",color:Ht||Rs?ye.accentText:ye.accent+"80"},disabled:!Rs,onClick:()=>qs()},Kt,{children:t.jsx(I.default,{className:k.default("h-6 w-6 shrink-0",we&&"scale-x-[-1] transform")})}))]})}))]}))]})),ze&&t.jsx(S.default,{error:ze,className:"mt-3"})]}))}))}));$.displayName="Input",exports.default=$;
@@ -10,6 +10,13 @@ type BuildUpgradeUrlOptions = {
10
10
  currentUrl?: string;
11
11
  };
12
12
  export declare const buildUpgradeUrl: ({ baseUrl, redirectUrl, accessGroupId, currentUrl, }: BuildUpgradeUrlOptions) => string | null;
13
+ type OpenAuthenticatedPricingUrlOptions = {
14
+ deploymentId?: string | null;
15
+ pricingUrl: string;
16
+ studioId?: string | null;
17
+ studioSessionToken?: string | null;
18
+ };
19
+ export declare const openAuthenticatedPricingUrl: ({ deploymentId, pricingUrl, studioId, studioSessionToken, }: OpenAuthenticatedPricingUrlOptions) => Promise<void>;
13
20
  export declare const formatBytes: (bytes: number, decimals?: number) => string;
14
21
  export declare const getCookie: (name: string) => string | null;
15
22
  export declare const deleteCookie: (name: string) => void;
@@ -1 +1 @@
1
- import{parse as e}from"tldts";const t="PXE-uid",r=(e,t="",r="")=>{let n="";for(let t=0;t<e;t++){n+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return t+n+r},n=(e,t=!1)=>{let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";t&&(r=r.replace(/[0-9]/g,""));let n="";for(let t=0;t<e;t++)n+=r.charAt(Math.floor(Math.random()*r.length));return n},o=e=>{const t=e.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(t))},l=({baseUrl:e,redirectUrl:t,accessGroupId:r,currentUrl:n})=>{if(!e)return null;const o=null!=n?n:"undefined"!=typeof window?window.location.href:null;if(!o)return null;try{const n=new URL(e,o);if(r){const e=((e,t)=>{const r=e.pathname.split("/"),n=r.findIndex((e=>"ag-pricing"===e));return-1!==n&&!r[n+1]&&(r.splice(n+1,0,encodeURIComponent(t)),e.pathname=r.join("/"),!0)})(n,r);e||n.searchParams.set("agid",r)}return t&&n.searchParams.set("redirectUrl",t),n.toString()}catch(e){return console.error("[pxe] failed to build upgrade url",e),null}},c=(e,t=2)=>{if(!+e)return"0 Bytes";const r=t<0?0:t,n=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,n)).toFixed(r))} ${["Bytes","KB","MB","PB","EB"][n]}`},i=e=>{try{const t=document.cookie.split("; ");for(const r of t){const[t,n]=r.split("=");if(t===e)return n}return null}catch(e){return console.error("[pxe] failed to get cookie",e),null}},a=e=>{document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"},u=()=>{try{const r=i(t);if(!r){const r=n(28),o=new Date;o.setFullYear(o.getFullYear()+1);let l=window.location.hostname;const c=e(l).domain;if(c)l=`.${c}`;else{const e=l.split(":")[0],t=e.split(".");l=e,t.length>=2&&(l=`.${t.slice(-2).join(".")}`)}return document.cookie=`${t}=${r};Path=/; Domain=${l}; Expires=${o.toUTCString()}`,r}return r}catch(e){return console.error("[pxe-embed] failed to initialized embed user id",e),n(28)}},s=e=>{try{if("undefined"==typeof window)return null;let t=null;return t=new URLSearchParams(window.location.search).get("pxtoken"),t||(t=localStorage.getItem(`PXE-token-${e}`)),t||(t=i(`PXE-token-${e}`)),t||(t=i(`__Secure-PS-${e}.session-token`)),t?decodeURIComponent(t):null}catch(e){return null}},d=(e,t)=>{try{if("undefined"==typeof window)return;localStorage.setItem(e,t)}catch(e){console.error("[pxe] failed to set auth token",e)}},f=e=>{try{if("undefined"==typeof window)return;localStorage.removeItem(e)}catch(e){console.error("[pxe] failed to delete auth token",e)}};function p(...e){return t=>{for(const r of e)r&&("function"==typeof r?r(t):r.current=t)}}const h=()=>{if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch(e){return!0}},m=e=>{try{return JSON.parse(e)}catch(e){return null}};export{t as COOKIE_USER_ID,l as buildUpgradeUrl,f as deleteAuthToken,a as deleteCookie,o as extractUrlsFromText,c as formatBytes,r as generateId,s as getAuthToken,i as getCookie,u as initializeEmbedUserId,h as isInIframe,p as mergeRefs,n as randomStr,m as safeJSONParse,d as setAuthToken};
1
+ import{__awaiter as e}from"../_virtual/_tslib.js";import{parse as t}from"tldts";const o="PXE-uid",n=(e,t="",o="")=>{let n="";for(let t=0;t<e;t++){n+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return t+n+o},r=(e,t=!1)=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";t&&(o=o.replace(/[0-9]/g,""));let n="";for(let t=0;t<e;t++)n+=o.charAt(Math.floor(Math.random()*o.length));return n},i=e=>{const t=e.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(t))},l=({baseUrl:e,redirectUrl:t,accessGroupId:o,currentUrl:n})=>{if(!e)return null;const r=null!=n?n:"undefined"!=typeof window?window.location.href:null;if(!r)return null;try{const n=new URL(e,r);if(o){const e=((e,t)=>{const o=e.pathname.split("/"),n=o.findIndex((e=>"ag-pricing"===e));return-1!==n&&!o[n+1]&&(o.splice(n+1,0,encodeURIComponent(t)),e.pathname=o.join("/"),!0)})(n,o);e||n.searchParams.set("agid",o)}return t&&n.searchParams.set("redirectUrl",t),n.toString()}catch(e){return console.error("[pxe] failed to build upgrade url",e),null}},a=({deploymentId:t,pricingUrl:o,studioId:n,studioSessionToken:i})=>e(void 0,void 0,void 0,(function*(){const e=new URL(o),l=new URL(window.location.href);if(l.search="",l.hash="",e.searchParams.set("origin",l.toString()),!t||!n||!i)return void window.open(e.toString(),"_blank","noopener,noreferrer");const a=`pxe-pricing-${r(12)}`,c=window.open("",a);c&&(c.opener=null);try{const o=yield fetch(`${e.origin}/api/embed/auth-handoff/issue`,{method:"POST",headers:{"Content-Type":"application/json","x-studio-session-token":i},body:JSON.stringify({deploymentId:t,destination:e.toString(),studioId:n})}),r=yield o.json();if(!o.ok||!r.success||!r.code)throw new Error(r.error||"Unable to transfer login session");const l=document.createElement("form");l.method="POST",l.action=`${e.origin}/api/embed/auth-handoff/consume`,l.target=c?a:"_self",l.style.display="none";const s=document.createElement("input");s.type="hidden",s.name="code",s.value=r.code,l.appendChild(s),document.body.appendChild(l),l.submit(),l.remove()}catch(t){console.warn("[pxe] failed to transfer pricing login session",t),c?c.location.replace(e.toString()):window.location.href=e.toString()}})),c=(e,t=2)=>{if(!+e)return"0 Bytes";const o=t<0?0:t,n=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,n)).toFixed(o))} ${["Bytes","KB","MB","PB","EB"][n]}`},s=e=>{try{const t=document.cookie.split("; ");for(const o of t){const[t,n]=o.split("=");if(t===e)return n}return null}catch(e){return console.error("[pxe] failed to get cookie",e),null}},d=e=>{document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"},u=()=>{try{const e=s(o);if(!e){const e=r(28),n=new Date;n.setFullYear(n.getFullYear()+1);let i=window.location.hostname;const l=t(i).domain;if(l)i=`.${l}`;else{const e=i.split(":")[0],t=e.split(".");i=e,t.length>=2&&(i=`.${t.slice(-2).join(".")}`)}return document.cookie=`${o}=${e};Path=/; Domain=${i}; Expires=${n.toUTCString()}`,e}return e}catch(e){return console.error("[pxe-embed] failed to initialized embed user id",e),r(28)}},f=e=>{try{if("undefined"==typeof window)return null;let t=null;return t=new URLSearchParams(window.location.search).get("pxtoken"),t||(t=localStorage.getItem(`PXE-token-${e}`)),t||(t=s(`PXE-token-${e}`)),t||(t=s(`__Secure-PS-${e}.session-token`)),t?decodeURIComponent(t):null}catch(e){return null}},p=(e,t)=>{try{if("undefined"==typeof window)return;localStorage.setItem(e,t)}catch(e){console.error("[pxe] failed to set auth token",e)}},h=e=>{try{if("undefined"==typeof window)return;localStorage.removeItem(e)}catch(e){console.error("[pxe] failed to delete auth token",e)}};function m(...e){return t=>{for(const o of e)o&&("function"==typeof o?o(t):o.current=t)}}const w=()=>{if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch(e){return!0}},g=e=>{try{return JSON.parse(e)}catch(e){return null}};export{o as COOKIE_USER_ID,l as buildUpgradeUrl,h as deleteAuthToken,d as deleteCookie,i as extractUrlsFromText,c as formatBytes,n as generateId,f as getAuthToken,s as getCookie,u as initializeEmbedUserId,w as isInIframe,m as mergeRefs,a as openAuthenticatedPricingUrl,r as randomStr,g as safeJSONParse,p as setAuthToken};
@@ -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 i,useState as r,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 v}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as g}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{readAgentPrefill as F}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as G,fireDeploymentFirstMessageSubmittedWebhook as H}from"../../../common/deploymentWebhooks.js";import{useStudio as W}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as J}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as z}from"../common/PickaxeCommon.js";const q=e=>"string"==typeof e&&e.trim().length>0,Q=e=>e.map((e=>Object.assign({},e))),Y=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Z=(e,t)=>{if(e&&"object"==typeof e)return e[t]},ee=(e,t)=>{const n=Z(e,t);return q(n)?n:null},te=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ne=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(Z(e,"uses"))?Z(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>q(e)?{type:"deployment",id:e}:q(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}},oe=i((({resubmitPrompt:i,onFocus:Z,onBlur:oe,onInputHeightChange:se,initSmitheryAuthData:ie},re)=>{var ae,le,de,ce,ue,pe,me,fe,ve,ge,he,be,ye,xe,Ie,je;const{origin:we,pickaxeId:Oe,sessionId:ke,sender:Se,senderType:Ne,portalId:Ce,deploymentId:Ee,deploymentType:_e,pickaxe:Ue,styles:Te,colors:Ae,translations:Pe,locale:De,forceMobile:Le,isNewChat:Re,isRtl:Me,isShowFeedbackMessage:Be,accessGroup:$e,setIsNewChat:Xe,setIsShowIceBreaker:Ke,setValidationStatus:Ve,setValidationUpgradeGroups:Fe,setValidationUpgradeUrl:Ge,setAccessGroup:He,onUpgrade:We,onGenerateComplete:Je}=p(),{token:ze,isLoggedOut:qe,isSent:Qe,isPricingAuth:Ye}=b(),{messages:Ze,isGenerating:et,setMessages:tt,setStatus:nt,setLimitData:ot,setError:st}=m(),{documents:it,isUploading:rt,documentError:at,onFileUpload:lt,setDocuments:dt,setDocumentError:ct}=y(),{studio:ut}=W(),[pt]=w("(max-width: 480px)"),{scrollStartSession:mt,scrollEndSession:ft,scrollToBottom:vt}=x({auto:!0,smooth:!(Le||pt)}),{artifacts:gt,currentPopupType:ht,setArtifacts:bt,setCurrentArtifact:yt}=I(),{height:xt}=h(),It=g(),[jt,wt]=r((()=>F([Ee,Oe]).chatInput)),[Ot,kt]=r(!1),[St,Nt]=r(!1),[Ct,Et]=r(null),[_t,Ut]=r(null),[Tt,At]=r(!1),[Pt,Dt]=r(!1),[Lt,Rt]=r(0),Mt=a(null),Bt=a(""),$t=a(null),Xt=a(null),Kt=a(null),Vt=a([]),Ft=a(null),Gt=a(null),Ht=a(null),Wt=a(null),Jt=a(new Set),zt=a(null),qt=Math.max(.4*xt,100),{speechTranscript:Qt,isSpeechListening:Yt,isSpeechProcessing:Zt,isSpeechSupported:en,onStartListening:tn,onStopListening:nn}=J(),on=j(),{isHover:sn}=on,rn=e(on,["isHover"]),an=j(),{isHover:ln}=an,dn=e(an,["isHover"]),cn=j(),{isHover:un}=cn,pn=e(cn,["isHover"]),mn=v(),fn=f(),vn="undefined"!=typeof window?window.location.hostname:"",gn="undefined"!=typeof window?window.location.href:"",hn="undefined"!=typeof window&&window.self!==window.top,bn=vn.includes("pickaxe.co")&&!gn.includes("https://studio.pickaxe.co/_embed")&&!hn,yn=null!==(le=null===(ae=null==Ue?void 0:Ue.documentuploadtype)||void 0===ae?void 0:ae.startsWith("enduserupload"))&&void 0!==le&&le,xn=en&&(null==Ue?void 0:Ue.enablevoicetotext),In=Yt&&!jt.trim(),jn=q(Ee),wn="chat-input"===_e&&Re&&!Qe,On="chat-input"===_e&&Ye&&qe&&Qe,kn=l((e=>{const t=M(e);return!!t&&(st(""),ot(null),Ve(t.status),He(t.accessGroup),Fe(t.upgradeGroups),Ge(t.upgradeUrl),!0)}),[st,ot,Ve,Fe,Ge,He]),Sn=null!==(de=null==Ue?void 0:Ue.placeholdertext)&&void 0!==de?de:Me?"بماذا تريد أن تتحدث؟":(null==Pe?void 0:Pe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Nn=Ot||St,Cn=l((()=>t(void 0,void 0,void 0,(function*(){At(!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==Ue?void 0:Ue.studioid},ze?{studioSessionToken:ze}:Se?{sender:Se}:{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}})),bn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(Et(t.studioUser),Ut(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{At(!0)}}))),[bn,null==Ue?void 0:Ue.studioid,Se,ze]);d((()=>{Cn()}),[Cn]);const En=Number(null!==(ce=null==$e?void 0:$e.limit)&&void 0!==ce?ce:0),_n="string"==typeof(null==$e?void 0:$e.limitInterval)?$e.limitInterval:null,Un=!!(null==ut?void 0:ut.data.usage)&&ut.data.usage.isCredits,Tn=c((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=Ce?Ce:ee(Ct,"portalId"))&&void 0!==e?e:ee(Ct,"portalid"))&&void 0!==t?t:ee($e,"portalId"))&&void 0!==n?n:ee($e,"portalid"))&&void 0!==o?o:ee(Ue,"portalId"))&&void 0!==s?s:ee(Ue,"portalid")}),[$e,Ce,Ue,Ct]),An=c((()=>ne({studioUser:Ct,deploymentId:Ee,portalId:Tn})),[Ee,Tn,Ct]);d((()=>{jn&&Re&&ke&&Jt.current.add(ke)}),[Re,ke,jn]);const Pn=l((()=>{var e,t,n;return{studioId:null==Ue?void 0:Ue.studioid,userEmail:ee(Ct,"email"),userId:null!==(e=ee(Ct,"userId"))&&void 0!==e?e:ee(Ct,"userid"),sessionId:ke,deploymentId:Ee,deploymentType:_e,portalId:Tn,accessGroupId:null!==(t=null==$e?void 0:$e.accessGroupId)&&void 0!==t?t:null,pickaxeId:Oe,sender:Se,senderType:Ne,origin:we,metadata:null!==(n=V(Ee))&&void 0!==n?n:null}}),[null==$e?void 0:$e.accessGroupId,Ee,_e,we,null==Ue?void 0:Ue.studioid,Oe,Tn,Se,Ne,ke,Ct]),Dn=l((()=>!!(jn&&Tt&&ke)&&(!!Jt.current.has(ke)&&(G(Pn()),Jt.current.delete(ke),!0))),[Pn,Tt,ke,jn]);d((()=>{if(!Tt||!ke)return;Dn();const e=zt.current;(null==e?void 0:e.sessionId)===ke&&(H(Object.assign(Object.assign(Object.assign({},e),Pn()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),zt.current=null)}),[Dn,Pn,Tt,ke]);const Ln={currentUses:te(null==Ct?void 0:Ct.currentUses),extraUses:te(null==Ct?void 0:Ct.extraUses)},Rn=An.scope?{currentUses:null!==(pe=te(null===(ue=An.record)||void 0===ue?void 0:ue.currentUses))&&void 0!==pe?pe:0,extraUses:null!==(fe=te(null===(me=An.record)||void 0===me?void 0:me.extraUses))&&void 0!==fe?fe:0}:{currentUses:0,extraUses:0},Mn=ee(Ct,"type"),Bn="guest"===Mn||!Mn&&qe?Rn:Ln;d((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(Un&&(null===(t=null==ut?void 0:ut.data)||void 0===t?void 0:t.workspaceId))try{const t=yield R.get(`/cost_per_run?workspaceId=${ut.data.workspaceId}`,{withCredentials:!1});e&&Rt(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&Rt(0)}else e&&Rt(0)})),()=>{e=!1}}),[Un,null===(ve=null==ut?void 0:ut.data)||void 0===ve?void 0:ve.workspaceId]);const $n=(({currentUses:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=e?e:0),i=Number(null!=t?t:0);return n===z||i===z?z:"one_time"===o?Math.max(0,i-s):Math.max(0,n-s)+i})({currentUses:Bn.currentUses,extraUses:Bn.extraUses,limit:En,limitInterval:_n}),Xn=$n===z?z:Math.max(0,Math.ceil($n)),Kn=(({extraUses:e,limit:t,limitInterval:n})=>{const o=Number(null!=e?e:0);return t===z||o===z?z:"one_time"===n?Math.max(0,o):Math.max(0,t)+Math.max(0,o)})({extraUses:Bn.extraUses,limit:En,limitInterval:_n}),Vn=Kn===z?z:Math.ceil(.05*Kn),Fn=Un?Math.ceil(5*Lt):5,Gn=Vn===z?z:Math.max(Vn,Fn),Hn=c((()=>!!Ct&&(!Pt&&(Xn!==z&&Xn<=Gn))),[Pt,Gn,Xn,Ct]),Wn=Boolean(null==$e?void 0:$e.hideUpgradeOptions),Jn=Boolean(!Wn&&((null===(ge=null==$e?void 0:$e.upgrade)||void 0===ge?void 0:ge.isBuyMoreUses)||(null===(he=null==$e?void 0:$e.upgrade)||void 0===he?void 0:he.isLinkToCustomURL)||(null===(be=null==$e?void 0:$e.upgrade)||void 0===be?void 0:be.isUpgradeToAnotherGroup)&&(null===(ye=$e.upgrade.accessGroupIds)||void 0===ye?void 0:ye.length))),zn=!Wn&&(null===(xe=null==$e?void 0:$e.upgrade)||void 0===xe?void 0:xe.isLinkToCustomURL)&&"string"==typeof $e.upgrade.limitLink&&$e.upgrade.limitLink.trim().length>0?$e.upgrade.limitLink.trim():null,qn=zn&&"string"==typeof(null===(Ie=null==$e?void 0:$e.upgrade)||void 0===Ie?void 0:Ie.limitCTA)&&$e.upgrade.limitCTA.trim().length>0?$e.upgrade.limitCTA:(null==Pe?void 0:Pe["pricing.upgrade"])||(null==Pe?void 0:Pe.upgrade)||"Upgrade",Qn=c((()=>{var e,t,n;return!!Re&&(!!Ue&&(!It.isLoading&&(!((null!==(t=null===(e=It.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ue.icebreakers)||void 0===n?void 0:n.length)&&(!Be&&!wn)))))}),[Ue,Re,Be,wn,It.data,It.isLoading]),Yn=c((()=>{if(et||rt)return!1;const e=yn&&it.length>0&&it.every((e=>"finished"===e.status));return!(!jt.trim()&&!e)&&it.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[yn,et,rt,jt,it]);u(re,(()=>({onSubmit:Zn}))),d((()=>{Ke(Qn)}),[Qn]),d((()=>{var e;if(i){const t=Array.from(Ze),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Zn(n,!0)}}),[i]),d((()=>{if(!Ht.current||!se)return;const e=new ResizeObserver((e=>{for(const t of e)se(t.contentRect.height)}));return e.observe(Ht.current),()=>{e.disconnect()}}),[se]),d((()=>{if(!Yt)return;const e=Bt.current?`${Bt.current} `:"";wt(`${e}${Qt}`)}),[Qt,Yt]),d((()=>{if(!Ft.current)return;(()=>{if(!Ft.current)return;let e=Ft.current.scrollHeight>52;jt.includes("\n")||it.length?e=!0:jt.trim()||(e=!1),kt(e)})()}),[jt,it]),d((()=>{const e=Ft.current,t=Gt.current;if(!e||!t||Ot||jt.includes("\n"))return void Nt(!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=jt||Sn,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;Nt(i>l)}),[jt,Ot,Sn]);const Zn=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,o,s,i,r,a;let l=null;try{if(et||rt)return;const d=it.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:jt,m=null!==(o=null===(t=null==Ue?void 0:Ue.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==o&&o&&c.length>0;if(!p&&!m)return;st(""),ct(""),ot(null),wt(""),Xe(!1),nt("fetching"),mt(),vt();const f=null!==(i=null===(s=It.data)||void 0===s?void 0:s.messages)&&void 0!==i?i:[],v=L(Ze,f),g=n?v.slice(0,v.length-1):v,h=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(g),b=h+(n?0:1),y={id:b,role:"assistant",parts:[],documentIds:[]},x=[...g,...n?[]:[{id:h,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:m?c:[]}],y];tt(x),vt(),m&&dt([]);const I=V(Ee),j="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=j,Xt.current=j,Kt.current=null,Vt.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:we,pickaxeId:Oe,sessionId:ke,submissionId:j,senderType:Ne,value:p},m&&{documentIds:c}),Se&&{sender:Se}),ze&&{studioSessionToken:ze}),!ze&&!Se&&{sender:K()}),Tn&&{portalId:Tn}),Ee&&{deploymentId:Ee}),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()})},bn&&{credentials:"include"})),O=yield w.json();if(!O.success){if(O.limitData){const e=new Error(O.error||O.message||(null==Pe?void 0:Pe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=O.limitData,e}if(kn(O))return;throw new Error(O.error||O.message||(null==Pe?void 0:Pe["failed-to-start-generation"])||"Failed to start generation")}const k=null!==(r=O.submissionId)&&void 0!==r?r:j;l=k,Xt.current=k;const S=()=>Kt.current===k;if(S())return;jn&&Re&&ke&&Jt.current.add(ke);const C=Object.assign(Object.assign({},Pn()),{message:p,documentIds:m?c:[],uploadedModelImages:m?u:[],hasUploadedDocuments:m,isHidden:n,metadata:null!=I?I:null});Tt?(Dn(),H(C)):zt.current=C,nt("streaming"),Wt.current=new AbortController;const E=[];let _=[...null!=gt?gt:[]],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=Wt.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();$t.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 ot(t.limitData),st(""),void(T=!0);const n=t.error||t.message||(null==Pe?void 0:Pe["something-went-wrong"])||"Something went wrong.";return kn(t)||st(n),void(T=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("data-error"===o.type&&ie){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,ie({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,ie({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,ie({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,ie({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})}Vt.current=Q(E);const s=Q(E);tt((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"})),bt([..._]),ht.startsWith("inline")||yt({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"})),bt(_),ht.startsWith("inline")||yt({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"})),bt(_),ht.startsWith("inline")||yt({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)),bt(_)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);bt(_.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 ot(t.limitData),st(""),void(T=!0);const n=t.error||t.message||(null==Pe?void 0:Pe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(kn(t))return void(T=!0);st(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||Y(e)||S())return void(T=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Je||Je(ke)}catch(e){if(Y(e))return;if(e.limitData)ot(e.limitData),st("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Pe?void 0:Pe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),kn(t)||st(t)}}finally{const e=!l||Xt.current===l;vt(),e&&(nt("idle"),ft(),$t.current=null),l&&e&&(Xt.current=null,Vt.current=[]),yield Cn()}}));return On?null:n("div",Object.assign({className:B("flex w-full flex-shrink-0 flex-col items-center",!wn&&"px-4 pb-8"),dir:Me?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[o("div",Object.assign({ref:Ht,className:B("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Te.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},fn),{maxHeight:`${qt}px`,overflowY:"auto"})},{children:[Hn&&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:fn.backgroundColor?`${fn.backgroundColor}E6`:void 0,borderColor:Ae.text+"20",color:Ae.text,borderTopRightRadius:Te.cornerRadius+"px",borderTopLeftRadius:Te.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[Xn.toLocaleString()," ",Un?(null==Pe?void 0:Pe.credits)||"Credits":(null==Pe?void 0:Pe.uses)||"Uses"," ",(null==Pe?void 0:Pe.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[Jn&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Ae.accent,color:Ae.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),zn)return void window.open(zn,"_blank","noopener,noreferrer");if(We)return void We();const t=$({baseUrl:_t,accessGroupId:null==$e?void 0:$e.accessGroupId,redirectUrl:document.URL});t&&(X()?window.open(t):location.href=t)}},{children:qn})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>Dt(!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"})}))}))]}))]})),!et&&it.length>0&&n(T,{className:"p-4 pb-0",isDisabled:et}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[In&&o("div",Object.assign({className:B("pointer-events-none absolute top-1/2 z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Me?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(je=Ae.accent)&&void 0!==je?je:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Ae.text+"90"}},{children:(null==Pe?void 0:Pe.listening)||"Listening..."}))]})),n(A,Object.assign({ref:Ft,className:B(mn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!jt.trim()&&!jt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Me?"text-right":"text-left",Nn&&"mb-12"),value:jt,placeholder:In?"":Sn,onChange:e=>{wt(e)},onKeyDown:e=>{Le||pt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),rt||et||Zn()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!yn)return;e.preventDefault(),Xe(!1),yield lt(t)}}))},Z&&{onFocus:Z},oe&&{onBlur:oe},{dir:Me?"rtl":"ltr"})),n("div",Object.assign({ref:Gt,className:B("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",Nn?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Nn&&fn.backgroundColor&&{backgroundColor:fn.backgroundColor}),{borderTopRightRadius:Te.cornerRadius+"px",borderBottomRightRadius:Te.cornerRadius+"px"})},{children:et?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=Xt.current;e&&(Kt.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:Xt.current))return;const t=Q(Vt.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})},bn&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),Wt.current&&(Wt.current.abort(),Wt.current=null),$t.current&&($t.current.cancel().catch((()=>{})),$t.current=null),nt("idle")},style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Yt?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:nn,style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[yn&&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:ln?Ae.accent+"10":void 0,color:ln?Ae.accent:Ae.accent+"80"},disabled:rt||et,onClick:()=>{var e;return null===(e=Mt.current)||void 0===e?void 0:e.click()}},dn,{children:[n("input",{id:"file-upload",ref:Mt,type:"file",accept:[...O,...k,...S].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Xe(!1),yield lt(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),xn&&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:Yt?Ae.accent:un?Ae.accent+"10":void 0,color:Yt?Ae.accentText:un?Ae.accent:Ae.accent+"80"},disabled:rt||et||Zt,onClick:()=>{Yt?nn():(Bt.current=jt,tn(De||"en-US"))}},pn,{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:sn||Yn?Ae.accent:Ae.accent+"10",color:sn||Yn?Ae.accentText:Ae.accent+"80"},disabled:!Yn,onClick:()=>Zn()},rn,{children:n(E,{className:B("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]})}))]}))]})),at&&n(P,{error:at,className:"mt-3"})]}))}))}));oe.displayName="Input";export{oe 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 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 v}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as g}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{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 $,openAuthenticatedPricingUrl as X,initializeEmbedUserId as K}from"../../../common/utils.js";import{getPickaxeConfigMetadata as V}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as F}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as G,fireDeploymentFirstMessageSubmittedWebhook as H}from"../../../common/deploymentWebhooks.js";import{useStudio as W}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as J}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as z}from"../common/PickaxeCommon.js";const q=e=>"string"==typeof e&&e.trim().length>0,Q=e=>e.map((e=>Object.assign({},e))),Y=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Z=(e,t)=>{if(e&&"object"==typeof e)return e[t]},ee=(e,t)=>{const n=Z(e,t);return q(n)?n:null},te=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ne=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(Z(e,"uses"))?Z(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>q(e)?{type:"deployment",id:e}:q(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}},oe=i((({resubmitPrompt:i,onFocus:Z,onBlur:oe,onInputHeightChange:se,initSmitheryAuthData:ie},re)=>{var ae,le,de,ce,ue,pe,me,fe,ve,ge,he,ye,be,xe,Ie,je;const{origin:we,pickaxeId:Oe,sessionId:ke,sender:Se,senderType:Ne,portalId:Ce,deploymentId:Ee,deploymentType:_e,pickaxe:Ue,styles:Te,colors:Ae,translations:Pe,locale:De,forceMobile:Le,isNewChat:Re,isRtl:Me,isShowFeedbackMessage:Be,accessGroup:$e,setIsNewChat:Xe,setIsShowIceBreaker:Ke,setValidationStatus:Ve,setValidationUpgradeGroups:Fe,setValidationUpgradeUrl:Ge,setAccessGroup:He,onUpgrade:We,onGenerateComplete:Je}=p(),{token:ze,isLoggedOut:qe,isSent:Qe,isPricingAuth:Ye}=y(),{messages:Ze,isGenerating:et,setMessages:tt,setStatus:nt,setLimitData:ot,setError:st}=m(),{documents:it,isUploading:rt,documentError:at,onFileUpload:lt,setDocuments:dt,setDocumentError:ct}=b(),{studio:ut}=W(),[pt]=w("(max-width: 480px)"),{scrollStartSession:mt,scrollEndSession:ft,scrollToBottom:vt}=x({auto:!0,smooth:!(Le||pt)}),{artifacts:gt,currentPopupType:ht,setArtifacts:yt,setCurrentArtifact:bt}=I(),{height:xt}=h(),It=g(),[jt,wt]=r((()=>F([Ee,Oe]).chatInput)),[Ot,kt]=r(!1),[St,Nt]=r(!1),[Ct,Et]=r(null),[_t,Ut]=r(null),[Tt,At]=r(!1),[Pt,Dt]=r(!1),[Lt,Rt]=r(0),Mt=a(null),Bt=a(""),$t=a(null),Xt=a(null),Kt=a(null),Vt=a([]),Ft=a(null),Gt=a(null),Ht=a(null),Wt=a(null),Jt=a(new Set),zt=a(null),qt=Math.max(.4*xt,100),{speechTranscript:Qt,isSpeechListening:Yt,isSpeechProcessing:Zt,isSpeechSupported:en,onStartListening:tn,onStopListening:nn}=J(),on=j(),{isHover:sn}=on,rn=e(on,["isHover"]),an=j(),{isHover:ln}=an,dn=e(an,["isHover"]),cn=j(),{isHover:un}=cn,pn=e(cn,["isHover"]),mn=v(),fn=f(),vn="undefined"!=typeof window?window.location.hostname:"",gn="undefined"!=typeof window?window.location.href:"",hn="undefined"!=typeof window&&window.self!==window.top,yn=vn.includes("pickaxe.co")&&!gn.includes("https://studio.pickaxe.co/_embed")&&!hn,bn=null!==(le=null===(ae=null==Ue?void 0:Ue.documentuploadtype)||void 0===ae?void 0:ae.startsWith("enduserupload"))&&void 0!==le&&le,xn=en&&(null==Ue?void 0:Ue.enablevoicetotext),In=Yt&&!jt.trim(),jn=q(Ee),wn="chat-input"===_e&&Re&&!Qe,On="chat-input"===_e&&Ye&&qe&&Qe,kn=l((e=>{const t=M(e);return!!t&&(st(""),ot(null),Ve(t.status),He(t.accessGroup),Fe(t.upgradeGroups),Ge(t.upgradeUrl),!0)}),[st,ot,Ve,Fe,Ge,He]),Sn=null!==(de=null==Ue?void 0:Ue.placeholdertext)&&void 0!==de?de:Me?"بماذا تريد أن تتحدث؟":(null==Pe?void 0:Pe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Nn=Ot||St,Cn=l((()=>t(void 0,void 0,void 0,(function*(){At(!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==Ue?void 0:Ue.studioid},ze?{studioSessionToken:ze}:Se?{sender:Se}:{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}})),yn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(Et(t.studioUser),Ut(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{At(!0)}}))),[yn,null==Ue?void 0:Ue.studioid,Se,ze]);d((()=>{Cn()}),[Cn]);const En=Number(null!==(ce=null==$e?void 0:$e.limit)&&void 0!==ce?ce:0),_n="string"==typeof(null==$e?void 0:$e.limitInterval)?$e.limitInterval:null,Un=!!(null==ut?void 0:ut.data.usage)&&ut.data.usage.isCredits,Tn=c((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=Ce?Ce:ee(Ct,"portalId"))&&void 0!==e?e:ee(Ct,"portalid"))&&void 0!==t?t:ee($e,"portalId"))&&void 0!==n?n:ee($e,"portalid"))&&void 0!==o?o:ee(Ue,"portalId"))&&void 0!==s?s:ee(Ue,"portalid")}),[$e,Ce,Ue,Ct]),An=c((()=>ne({studioUser:Ct,deploymentId:Ee,portalId:Tn})),[Ee,Tn,Ct]);d((()=>{jn&&Re&&ke&&Jt.current.add(ke)}),[Re,ke,jn]);const Pn=l((()=>{var e,t,n;return{studioId:null==Ue?void 0:Ue.studioid,userEmail:ee(Ct,"email"),userId:null!==(e=ee(Ct,"userId"))&&void 0!==e?e:ee(Ct,"userid"),sessionId:ke,deploymentId:Ee,deploymentType:_e,portalId:Tn,accessGroupId:null!==(t=null==$e?void 0:$e.accessGroupId)&&void 0!==t?t:null,pickaxeId:Oe,sender:Se,senderType:Ne,origin:we,metadata:null!==(n=V(Ee))&&void 0!==n?n:null}}),[null==$e?void 0:$e.accessGroupId,Ee,_e,we,null==Ue?void 0:Ue.studioid,Oe,Tn,Se,Ne,ke,Ct]),Dn=l((()=>!!(jn&&Tt&&ke)&&(!!Jt.current.has(ke)&&(G(Pn()),Jt.current.delete(ke),!0))),[Pn,Tt,ke,jn]);d((()=>{if(!Tt||!ke)return;Dn();const e=zt.current;(null==e?void 0:e.sessionId)===ke&&(H(Object.assign(Object.assign(Object.assign({},e),Pn()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),zt.current=null)}),[Dn,Pn,Tt,ke]);const Ln={currentUses:te(null==Ct?void 0:Ct.currentUses),extraUses:te(null==Ct?void 0:Ct.extraUses)},Rn=An.scope?{currentUses:null!==(pe=te(null===(ue=An.record)||void 0===ue?void 0:ue.currentUses))&&void 0!==pe?pe:0,extraUses:null!==(fe=te(null===(me=An.record)||void 0===me?void 0:me.extraUses))&&void 0!==fe?fe:0}:{currentUses:0,extraUses:0},Mn=ee(Ct,"type"),Bn="guest"===Mn||!Mn&&qe?Rn:Ln;d((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(Un&&(null===(t=null==ut?void 0:ut.data)||void 0===t?void 0:t.workspaceId))try{const t=yield R.get(`/cost_per_run?workspaceId=${ut.data.workspaceId}`,{withCredentials:!1});e&&Rt(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&Rt(0)}else e&&Rt(0)})),()=>{e=!1}}),[Un,null===(ve=null==ut?void 0:ut.data)||void 0===ve?void 0:ve.workspaceId]);const $n=(({currentUses:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=e?e:0),i=Number(null!=t?t:0);return n===z||i===z?z:"one_time"===o?Math.max(0,i-s):Math.max(0,n-s)+i})({currentUses:Bn.currentUses,extraUses:Bn.extraUses,limit:En,limitInterval:_n}),Xn=$n===z?z:Math.max(0,Math.ceil($n)),Kn=(({extraUses:e,limit:t,limitInterval:n})=>{const o=Number(null!=e?e:0);return t===z||o===z?z:"one_time"===n?Math.max(0,o):Math.max(0,t)+Math.max(0,o)})({extraUses:Bn.extraUses,limit:En,limitInterval:_n}),Vn=Kn===z?z:Math.ceil(.05*Kn),Fn=Un?Math.ceil(5*Lt):5,Gn=Vn===z?z:Math.max(Vn,Fn),Hn=c((()=>!!Ct&&(!Pt&&(Xn!==z&&Xn<=Gn))),[Pt,Gn,Xn,Ct]),Wn=Boolean(null==$e?void 0:$e.hideUpgradeOptions),Jn=Boolean(!Wn&&((null===(ge=null==$e?void 0:$e.upgrade)||void 0===ge?void 0:ge.isBuyMoreUses)||(null===(he=null==$e?void 0:$e.upgrade)||void 0===he?void 0:he.isLinkToCustomURL)||(null===(ye=null==$e?void 0:$e.upgrade)||void 0===ye?void 0:ye.isUpgradeToAnotherGroup)&&(null===(be=$e.upgrade.accessGroupIds)||void 0===be?void 0:be.length))),zn=!Wn&&(null===(xe=null==$e?void 0:$e.upgrade)||void 0===xe?void 0:xe.isLinkToCustomURL)&&"string"==typeof $e.upgrade.limitLink&&$e.upgrade.limitLink.trim().length>0?$e.upgrade.limitLink.trim():null,qn=zn&&"string"==typeof(null===(Ie=null==$e?void 0:$e.upgrade)||void 0===Ie?void 0:Ie.limitCTA)&&$e.upgrade.limitCTA.trim().length>0?$e.upgrade.limitCTA:(null==Pe?void 0:Pe["pricing.upgrade"])||(null==Pe?void 0:Pe.upgrade)||"Upgrade",Qn=c((()=>{var e,t,n;return!!Re&&(!!Ue&&(!It.isLoading&&(!((null!==(t=null===(e=It.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ue.icebreakers)||void 0===n?void 0:n.length)&&(!Be&&!wn)))))}),[Ue,Re,Be,wn,It.data,It.isLoading]),Yn=c((()=>{if(et||rt)return!1;const e=bn&&it.length>0&&it.every((e=>"finished"===e.status));return!(!jt.trim()&&!e)&&it.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[bn,et,rt,jt,it]);u(re,(()=>({onSubmit:Zn}))),d((()=>{Ke(Qn)}),[Qn]),d((()=>{var e;if(i){const t=Array.from(Ze),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Zn(n,!0)}}),[i]),d((()=>{if(!Ht.current||!se)return;const e=new ResizeObserver((e=>{for(const t of e)se(t.contentRect.height)}));return e.observe(Ht.current),()=>{e.disconnect()}}),[se]),d((()=>{if(!Yt)return;const e=Bt.current?`${Bt.current} `:"";wt(`${e}${Qt}`)}),[Qt,Yt]),d((()=>{if(!Ft.current)return;(()=>{if(!Ft.current)return;let e=Ft.current.scrollHeight>52;jt.includes("\n")||it.length?e=!0:jt.trim()||(e=!1),kt(e)})()}),[jt,it]),d((()=>{const e=Ft.current,t=Gt.current;if(!e||!t||Ot||jt.includes("\n"))return void Nt(!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=jt||Sn,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;Nt(i>l)}),[jt,Ot,Sn]);const Zn=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,o,s,i,r,a;let l=null;try{if(et||rt)return;const d=it.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:jt,m=null!==(o=null===(t=null==Ue?void 0:Ue.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==o&&o&&c.length>0;if(!p&&!m)return;st(""),ct(""),ot(null),wt(""),Xe(!1),nt("fetching"),mt(),vt();const f=null!==(i=null===(s=It.data)||void 0===s?void 0:s.messages)&&void 0!==i?i:[],v=L(Ze,f),g=n?v.slice(0,v.length-1):v,h=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(g),y=h+(n?0:1),b={id:y,role:"assistant",parts:[],documentIds:[]},x=[...g,...n?[]:[{id:h,role:"user",parts:[{type:"text",content:p,isVisible:!0}],documentIds:m?c:[]}],b];tt(x),vt(),m&&dt([]);const I=V(Ee),j="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;l=j,Xt.current=j,Kt.current=null,Vt.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:we,pickaxeId:Oe,sessionId:ke,submissionId:j,senderType:Ne,value:p},m&&{documentIds:c}),Se&&{sender:Se}),ze&&{studioSessionToken:ze}),!ze&&!Se&&{sender:K()}),Tn&&{portalId:Tn}),Ee&&{deploymentId:Ee}),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()})},yn&&{credentials:"include"})),O=yield w.json();if(!O.success){if(O.limitData){const e=new Error(O.error||O.message||(null==Pe?void 0:Pe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=O.limitData,e}if(kn(O))return;throw new Error(O.error||O.message||(null==Pe?void 0:Pe["failed-to-start-generation"])||"Failed to start generation")}const k=null!==(r=O.submissionId)&&void 0!==r?r:j;l=k,Xt.current=k;const S=()=>Kt.current===k;if(S())return;jn&&Re&&ke&&Jt.current.add(ke);const C=Object.assign(Object.assign({},Pn()),{message:p,documentIds:m?c:[],uploadedModelImages:m?u:[],hasUploadedDocuments:m,isHidden:n,metadata:null!=I?I:null});Tt?(Dn(),H(C)):zt.current=C,nt("streaming"),Wt.current=new AbortController;const E=[];let _=[...null!=gt?gt:[]],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=Wt.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();$t.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 ot(t.limitData),st(""),void(T=!0);const n=t.error||t.message||(null==Pe?void 0:Pe["something-went-wrong"])||"Something went wrong.";return kn(t)||st(n),void(T=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("data-error"===o.type&&ie){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,ie({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,ie({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,ie({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,ie({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})}Vt.current=Q(E);const s=Q(E);tt((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"})),yt([..._]),ht.startsWith("inline")||bt({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"})),yt(_),ht.startsWith("inline")||bt({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"})),yt(_),ht.startsWith("inline")||bt({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)),yt(_)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);yt(_.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 ot(t.limitData),st(""),void(T=!0);const n=t.error||t.message||(null==Pe?void 0:Pe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(kn(t))return void(T=!0);st(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||Y(e)||S())return void(T=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Je||Je(ke)}catch(e){if(Y(e))return;if(e.limitData)ot(e.limitData),st("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Pe?void 0:Pe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),kn(t)||st(t)}}finally{const e=!l||Xt.current===l;vt(),e&&(nt("idle"),ft(),$t.current=null),l&&e&&(Xt.current=null,Vt.current=[]),yield Cn()}}));return On?null:n("div",Object.assign({className:B("flex w-full flex-shrink-0 flex-col items-center",!wn&&"px-4 pb-8"),dir:Me?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[o("div",Object.assign({ref:Ht,className:B("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Te.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},fn),{maxHeight:`${qt}px`,overflowY:"auto"})},{children:[Hn&&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:fn.backgroundColor?`${fn.backgroundColor}E6`:void 0,borderColor:Ae.text+"20",color:Ae.text,borderTopRightRadius:Te.cornerRadius+"px",borderTopLeftRadius:Te.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[Xn.toLocaleString()," ",Un?(null==Pe?void 0:Pe.credits)||"Credits":(null==Pe?void 0:Pe.uses)||"Uses"," ",(null==Pe?void 0:Pe.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[Jn&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Ae.accent,color:Ae.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),zn)return void window.open(zn,"_blank","noopener,noreferrer");if(We)return void We();const t=$({baseUrl:_t,accessGroupId:null==$e?void 0:$e.accessGroupId,redirectUrl:document.URL});t&&X({deploymentId:Ee,pricingUrl:t,studioId:null==Ue?void 0:Ue.studioid,studioSessionToken:ze})}},{children:qn})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>Dt(!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"})}))}))]}))]})),!et&&it.length>0&&n(T,{className:"p-4 pb-0",isDisabled:et}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[In&&o("div",Object.assign({className:B("pointer-events-none absolute top-1/2 z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Me?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(je=Ae.accent)&&void 0!==je?je:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Ae.text+"90"}},{children:(null==Pe?void 0:Pe.listening)||"Listening..."}))]})),n(A,Object.assign({ref:Ft,className:B(mn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!jt.trim()&&!jt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Me?"text-right":"text-left",Nn&&"mb-12"),value:jt,placeholder:In?"":Sn,onChange:e=>{wt(e)},onKeyDown:e=>{Le||pt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),rt||et||Zn()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!bn)return;e.preventDefault(),Xe(!1),yield lt(t)}}))},Z&&{onFocus:Z},oe&&{onBlur:oe},{dir:Me?"rtl":"ltr"})),n("div",Object.assign({ref:Gt,className:B("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",Nn?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Nn&&fn.backgroundColor&&{backgroundColor:fn.backgroundColor}),{borderTopRightRadius:Te.cornerRadius+"px",borderBottomRightRadius:Te.cornerRadius+"px"})},{children:et?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=Xt.current;e&&(Kt.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:Xt.current))return;const t=Q(Vt.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})},yn&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),Wt.current&&(Wt.current.abort(),Wt.current=null),$t.current&&($t.current.cancel().catch((()=>{})),$t.current=null),nt("idle")},style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Yt?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:nn,style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[bn&&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:ln?Ae.accent+"10":void 0,color:ln?Ae.accent:Ae.accent+"80"},disabled:rt||et,onClick:()=>{var e;return null===(e=Mt.current)||void 0===e?void 0:e.click()}},dn,{children:[n("input",{id:"file-upload",ref:Mt,type:"file",accept:[...O,...k,...S].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Xe(!1),yield lt(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),xn&&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:Yt?Ae.accent:un?Ae.accent+"10":void 0,color:Yt?Ae.accentText:un?Ae.accent:Ae.accent+"80"},disabled:rt||et||Zt,onClick:()=>{Yt?nn():(Bt.current=jt,tn(De||"en-US"))}},pn,{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:sn||Yn?Ae.accent:Ae.accent+"10",color:sn||Yn?Ae.accentText:Ae.accent+"80"},disabled:!Yn,onClick:()=>Zn()},rn,{children:n(E,{className:B("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]})}))]}))]})),at&&n(P,{error:at,className:"mt-3"})]}))}))}));oe.displayName="Input";export{oe as default};
@@ -10,6 +10,13 @@ type BuildUpgradeUrlOptions = {
10
10
  currentUrl?: string;
11
11
  };
12
12
  export declare const buildUpgradeUrl: ({ baseUrl, redirectUrl, accessGroupId, currentUrl, }: BuildUpgradeUrlOptions) => string | null;
13
+ type OpenAuthenticatedPricingUrlOptions = {
14
+ deploymentId?: string | null;
15
+ pricingUrl: string;
16
+ studioId?: string | null;
17
+ studioSessionToken?: string | null;
18
+ };
19
+ export declare const openAuthenticatedPricingUrl: ({ deploymentId, pricingUrl, studioId, studioSessionToken, }: OpenAuthenticatedPricingUrlOptions) => Promise<void>;
13
20
  export declare const formatBytes: (bytes: number, decimals?: number) => string;
14
21
  export declare const getCookie: (name: string) => string | null;
15
22
  export declare const deleteCookie: (name: string) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "6.15.5",
3
+ "version": "6.16.0",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",