@pickaxeproject/react 6.6.1 → 6.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Pickaxe/Addons/Auth/Provider.js +1 -1
- package/dist/cjs/components/Pickaxe/Addons/Auth/hooks/useAuth.js +1 -1
- package/dist/cjs/components/Pickaxe/Addons/Auth/hooks/useAuthBootstrap.js +1 -0
- package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/cjs/components/Pickaxe/index.js +1 -1
- package/dist/cjs/src/components/Pickaxe/Addons/Auth/Provider.d.ts +2 -0
- package/dist/cjs/src/components/Pickaxe/Addons/Auth/hooks/useAuthBootstrap.d.ts +1 -0
- package/dist/cjs/src/components/Pickaxe/Addons/Auth/hooks/useAuthContext.d.ts +2 -0
- package/dist/esm/components/Pickaxe/Addons/Auth/Provider.js +1 -1
- package/dist/esm/components/Pickaxe/Addons/Auth/hooks/useAuth.js +1 -1
- package/dist/esm/components/Pickaxe/Addons/Auth/hooks/useAuthBootstrap.js +1 -0
- package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/esm/components/Pickaxe/index.js +1 -1
- package/dist/esm/src/components/Pickaxe/Addons/Auth/Provider.d.ts +2 -0
- package/dist/esm/src/components/Pickaxe/Addons/Auth/hooks/useAuthBootstrap.d.ts +1 -0
- package/dist/esm/src/components/Pickaxe/Addons/Auth/hooks/useAuthContext.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");const s=t.createContext({});exports.AuthContext=s,exports.default=({children:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");const s=t.createContext({});exports.AuthContext=s,exports.default=({children:i})=>{const[n,r]=t.useState(""),[u,a]=t.useState(null),[o,l]=t.useState(null),[d,g]=t.useState(!1),[c,S]=t.useState(!1),[I,p]=t.useState(!1),[h,x]=t.useState(!1),[m,A]=t.useState(!1),[b,j]=t.useState(!1);return e.jsx(s.Provider,Object.assign({value:{emailInput:n,redirectUrl:o,token:u,isLoggedIn:!!u,isLoggedOut:!u,isLoggingIn:d,isSending:I,isResendDisabled:h,isSent:m,isPricingAuth:c,isAuthBootstrapComplete:b,setIsPricingAuth:S,setRedirectUrl:l,setEmailInput:r,setToken:a,setIsLoggingIn:g,setIsSending:p,setIsResendDisabled:x,setIsSent:A,setIsAuthBootstrapComplete:j}},{children:i}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),i=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("./useAuthContext.js"),s=require("../../../../../common/utils.js"),r=require("../../../../../common/api/pickaxe.js"),n=require("../../../../../common/error.js");exports.useAuth=()=>{const{deploymentId:o,pickaxe:d,translations:a}=i.usePickaxeContext(),{emailInput:l,redirectUrl:u,isSending:c,setIsSending:m,setIsSent:p,setIsResendDisabled:f,setIsPricingAuth:h}=t.useAuthContext();return{onSend:i=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!d)return;if(c)return;const e=l.trim().toLowerCase();if(!e)throw new Error((null==a?void 0:a["email-address-cannot-be-empty"])||"Email address cannot be empty.");if(!e.includes("@")||!e.includes("."))throw new Error((null==a?void 0:a["please-enter-valid-email-address"])||"Please enter a valid email address.");if(!d.studioid)throw new Error(`Studio ID is missing for ${d.formid}. Please contact support.`);m(!0),i&&f(!0);const t=(yield r.default.post("/auth/email",Object.assign(Object.assign({pickaxeId:d.formid,studioId:d.studioid,email:e},o&&{deploymentId:o}),{redirectUrl:u}))).data;if(!t.success)throw new Error(t.error||(null==a?void 0:a["failed-to-send-sign-in-link"])||"Failed to send sign-in link.");m(!1),p(!0),i&&(yield new Promise((e=>setTimeout(e,3e4))),f(!1)),s.setAuthToken(`PXE-token-${d.studioid}`,t.token),h(!0)}catch(e){const i=n.default(e);alert(i)}finally{m(!1)}}))}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../../../../hooks/pickaxe/useResponseContext.js"),o=require("../../../../../common/utils.js"),i=require("./useAuthContext.js"),u=require("./useAuthVerify.js");exports.useAuthBootstrap=()=>{const{pickaxe:r,setSender:n,setSenderType:a}=t.usePickaxeContext(),{setLimitData:c}=s.useResponseContext(),{token:d,isLoggedOut:k,isPricingAuth:g,setToken:h,setIsLoggingIn:l,setIsPricingAuth:x,setIsAuthBootstrapComplete:f}=i.useAuthContext(),p=(null==r?void 0:r.studioid)||"",A=p?`PXE-token-${p}`:"",v=o.getAuthToken(p)||"",C=u.useAuthVerify({token:v,enabled:k&&!!v,setIsLoggingIn:l});e.useEffect((()=>{p&&f(!1)}),[f,p]);const E=e.useCallback((e=>{o.setAuthToken(A,e),h(e),n(void 0),a("STUDIO_USER"),g&&(x(!1),c(null))}),[A,g,x,c,n,a,h]);e.useEffect((()=>{if(!A)return;if(!C.data)return;const{success:e,token:t,error:s}=C.data;if(!e||s)return o.deleteAuthToken(A),x(!1),void f(!0);t&&(E(t),f(!0))}),[E,A,C.data,f,x]),e.useEffect((()=>{var e;p&&(d?f(!0):v?C.isLoading||C.isFetching||(C.isError||C.isSuccess&&!(null===(e=C.data)||void 0===e?void 0:e.token))&&f(!0):f(!0))}),[C.data,C.isError,C.isFetching,C.isLoading,C.isSuccess,f,v,p,d])};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../hooks/studio/useStyleInput.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),a=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useDimensionContext.js"),c=require("../Addons/Auth/hooks/useAuthContext.js"),d=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"),h=require("eventsource-parser"),v=require("../../Icons/attach-vertical.svg.js"),b=require("../../Icons/arrow-right.svg.js"),I=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),x=require("../Addons/Document/List.js"),j=require("../../Core/Textarea.js"),O=require("../../Core/ErrorAlert.js"),N=require("../../../common/error.js"),S=require("../../../common/api/pickaxe.js"),w=require("../../../common/validation.js"),_=require("../../../common/cn.js"),k=require("../../../common/utils.js"),E=require("../../../common/pickaxeConfig.js"),U=require("../../../common/deploymentWebhooks.js"),C=require("../../../hooks/studio/useStudio.js"),T=require("../../../hooks/pickaxe/useSpeech.js"),A=require("../common/PickaxeCommon.js");const D=e=>"string"==typeof e&&e.trim().length>0,P=e=>e.map((e=>Object.assign({},e))),L=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),R=(e,t)=>{if(e&&"object"==typeof e)return e[t]},q=(e,t)=>{const s=R(e,t);return D(s)?s:null},M=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},F=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const r=Array.isArray(R(e,"uses"))?R(e,"uses"):[],o=(({deploymentId:e,portalId:t})=>D(e)?{type:"deployment",id:e}:D(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!o)return{scope:o,record:null};const a=null!==(i=null!==(n=r.find((e=>e.id===o.id&&e.type===o.type)))&&void 0!==n?n:r.find((e=>e.id===o.id)))&&void 0!==i?i:null;return{scope:o,record:a}},V=s.forwardRef((({resubmitPrompt:R,onFocus:V,onBlur:$,onInputHeightChange:B,initSmitheryAuthData:X},H)=>{var K,W,Y,J,z,G,Q,Z,ee,te;const{origin:se,pickaxeId:ne,sessionId:ie,sender:re,senderType:oe,portalId:ae,deploymentId:le,deploymentType:ce,pickaxe:de,styles:ue,colors:pe,translations:me,locale:fe,forceMobile:ge,isNewChat:he,isRtl:ve,isShowFeedbackMessage:be,accessGroup:Ie,setIsNewChat:ye,setIsShowIceBreaker:xe,setValidationStatus:je,setValidationUpgradeGroups:Oe,setValidationUpgradeUrl:Ne,onGenerateComplete:Se}=n.usePickaxeContext(),{token:we,isLoggedOut:_e,isSent:ke,isPricingAuth:Ee}=c.useAuthContext(),{messages:Ue,isGenerating:Ce,setMessages:Te,setStatus:Ae,setLimitData:De,setError:Pe}=i.useResponseContext(),{documents:Le,isUploading:Re,documentError:qe,onFileUpload:Me,setDocuments:Fe,setDocumentError:Ve}=d.useDocument(),{studio:$e}=C.useStudio(),{scrollStartSession:Be,scrollEndSession:Xe,scrollToBottom:He}=u.useScroll({auto:!0}),{artifacts:Ke,currentPopupType:We,setArtifacts:Ye,setCurrentArtifact:Je}=p.useArtifactContext(),{height:ze}=l.useDimensionContext(),Ge=a.useConversation(),[Qe,Ze]=s.useState(""),[et,tt]=s.useState(!1),[st,nt]=s.useState(!1),[it,rt]=s.useState(null),[ot,at]=s.useState(null),[lt,ct]=s.useState(!1),[dt,ut]=s.useState(!1),[pt,mt]=s.useState(0),ft=s.useRef(null),gt=s.useRef(""),ht=s.useRef(null),vt=s.useRef(null),bt=s.useRef(null),It=s.useRef([]),yt=s.useRef(null),xt=s.useRef(null),jt=s.useRef(null),Ot=s.useRef(null),Nt=s.useRef(new Set),St=s.useRef(null),wt=Math.max(.4*ze,100),{speechTranscript:_t,isSpeechListening:kt,isSpeechProcessing:Et,isSpeechSupported:Ut,onStartListening:Ct,onStopListening:Tt}=T.useSpeech(),[At]=f.useMediaQuery("(max-width: 480px)"),Dt=m.useHover(),{isHover:Pt}=Dt,Lt=e.__rest(Dt,["isHover"]),Rt=m.useHover(),{isHover:qt}=Rt,Mt=e.__rest(Rt,["isHover"]),Ft=m.useHover(),{isHover:Vt}=Ft,$t=e.__rest(Ft,["isHover"]),Bt=o.useStyleFontSize(),Xt=r.useStyleInput(),Ht="undefined"!=typeof window?window.location.hostname:"",Kt="undefined"!=typeof window?window.location.href:"",Wt="undefined"!=typeof window&&window.self!==window.top,Yt=Ht.includes("pickaxe.co")&&!Kt.includes("https://studio.pickaxe.co/_embed")&&!Wt,Jt=null!==(W=null===(K=null==de?void 0:de.documentuploadtype)||void 0===K?void 0:K.startsWith("enduserupload"))&&void 0!==W&&W,zt=Ut&&(null==de?void 0:de.enablevoicetotext),Gt=D(le),Qt="chat-input"===ce&&he&&!ke,Zt="chat-input"===ce&&Ee&&_e&&ke,es=s.useCallback((e=>{const t=w.getValidationFailure(e);return!!t&&(Pe(""),De(null),je(t.status),Oe(t.upgradeGroups),Ne(t.upgradeUrl),!0)}),[Pe,De,je,Oe,Ne]),ts=null!==(Y=null==de?void 0:de.placeholdertext)&&void 0!==Y?Y:ve?"بماذا تريد أن تتحدث؟":(null==me?void 0:me["what-do-you-want-to-talk-about"])||"What do you want to talk about?",ss=et||st,ns=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){ct(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign(Object.assign(Object.assign({studioId:null==de?void 0:de.studioid},re&&{sender:re}),we&&{studioSessionToken:we}),!we&&!re&&{sender:k.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Yt&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(rt(t.studioUser),at(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{ct(!0)}}))),[se,ne,ie,oe,re,we,ae,le,Yt]);s.useEffect((()=>{ns()}),[ns]);const is=Number(null!==(J=null==Ie?void 0:Ie.limit)&&void 0!==J?J:0),rs="string"==typeof(null==Ie?void 0:Ie.limitInterval)?Ie.limitInterval:null,os=!!(null==$e?void 0:$e.data.usage)&&$e.data.usage.isCredits,as=s.useMemo((()=>F({studioUser:it,deploymentId:le,portalId:ae})),[le,ae,it]);s.useEffect((()=>{Gt&&he&&ie&&Nt.current.add(ie)}),[he,ie,Gt]);const ls=s.useCallback((()=>{var e,t,s;return{studioId:null==de?void 0:de.studioid,userEmail:q(it,"email"),userId:null!==(e=q(it,"userId"))&&void 0!==e?e:q(it,"userid"),sessionId:ie,deploymentId:le,deploymentType:ce,portalId:ae,accessGroupId:null!==(t=null==Ie?void 0:Ie.accessGroupId)&&void 0!==t?t:null,pickaxeId:ne,sender:re,senderType:oe,origin:se,metadata:null!==(s=E.getPickaxeConfigMetadata(le))&&void 0!==s?s:null}}),[null==Ie?void 0:Ie.accessGroupId,le,ce,se,null==de?void 0:de.studioid,ne,ae,re,oe,ie,it]),cs=s.useCallback((()=>!!(Gt&<&&ie)&&(!!Nt.current.has(ie)&&(U.fireDeploymentSessionInitializedWebhook(ls()),Nt.current.delete(ie),!0))),[ls,lt,ie,Gt]);s.useEffect((()=>{if(!lt||!ie)return;cs();const e=St.current;(null==e?void 0:e.sessionId)===ie&&(U.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),ls()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),St.current=null)}),[cs,ls,lt,ie]);const ds={currentUses:M(null==it?void 0:it.currentUses),extraUses:M(null==it?void 0:it.extraUses)},us=as.scope?{currentUses:null!==(G=M(null===(z=as.record)||void 0===z?void 0:z.currentUses))&&void 0!==G?G:0,extraUses:null!==(Z=M(null===(Q=as.record)||void 0===Q?void 0:Q.extraUses))&&void 0!==Z?Z:0}:{currentUses:0,extraUses:0},ps=_e?us:ds;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(os&&(null===(e=null==$e?void 0:$e.data)||void 0===e?void 0:e.workspaceId))try{const e=yield S.default.get(`/cost_per_run?workspaceId=${$e.data.workspaceId}`,{withCredentials:!1});t&&mt(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&mt(0)}else t&&mt(0)})),()=>{t=!1}}),[os,null===(ee=null==$e?void 0:$e.data)||void 0===ee?void 0:ee.workspaceId]);const ms=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),r=Number(null!=t?t:0);return s===A.STUDIO_INFINITY_VALUE||r===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,r-i):Math.max(0,s-i)+r})({currentUses:ps.currentUses,extraUses:ps.extraUses,limit:is,limitInterval:rs}),fs=ms===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(ms)),gs=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===A.STUDIO_INFINITY_VALUE||n===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:ps.extraUses,limit:is,limitInterval:rs}),hs=gs===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.ceil(.05*gs),vs=os?Math.ceil(5*pt):5,bs=hs===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(hs,vs);console.log("Usage and Limits Debug:",{remaining:fs,notificationThreshold:bs,studioUser:it});const Is=s.useMemo((()=>!!it&&(!dt&&(fs!==A.STUDIO_INFINITY_VALUE&&(!(fs<=0)&&fs<=bs)))),[dt,bs,fs,it]),ys=s.useMemo((()=>{var e,t,s;return!!he&&(!!de&&(!Ge.isLoading&&(!((null!==(t=null===(e=Ge.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=de.icebreakers)||void 0===s?void 0:s.length)&&(!be&&!Qt)))))}),[de,he,be,Qt,Ge.data,Ge.isLoading]),xs=s.useMemo((()=>{if(Ce||Re)return!1;const e=Jt&&Le.length>0&&Le.every((e=>"finished"===e.status));return!(!Qe.trim()&&!e)&&Le.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Jt,Ce,Re,Qe,Le]);s.useImperativeHandle(H,(()=>({onSubmit:js}))),s.useEffect((()=>{xe(ys)}),[ys]),s.useEffect((()=>{var e;if(R){const t=Array.from(Ue),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;js(s,!0)}}),[R]),s.useEffect((()=>{if(!jt.current||!B)return;const e=new ResizeObserver((e=>{for(const t of e)B(t.contentRect.height)}));return e.observe(jt.current),()=>{e.disconnect()}}),[B]),s.useEffect((()=>{if(!kt)return;const e=gt.current?`${gt.current} `:"";Ze(`${e}${_t}`)}),[_t,kt]),s.useEffect((()=>{if(!yt.current)return;(()=>{if(!yt.current)return;let e=yt.current.scrollHeight>52;Qe.includes("\n")||Le.length?e=!0:Qe.trim()||(e=!1),tt(e)})()}),[Qe,Le]),s.useEffect((()=>{const e=yt.current,t=xt.current;if(!e||!t||et||Qe.includes("\n"))return void nt(!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=Qe||ts,document.body.appendChild(i);const r=i.offsetWidth;i.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;nt(r>l)}),[Qe,et,ts]);const js=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i,r;let o=null;try{if(Ce||Re)return;const a=Le.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),l=a.map((e=>e.documentId)).filter(Boolean),c=a.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),d=null!=t?t:Qe,u=null!==(n=null===(e=null==de?void 0:de.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&l.length>0;if(!d&&!u)return;Pe(""),Ve(""),De(null),Ze(""),ye(!1),Ae("fetching"),Be(),He();const p=[...s?Array.from(Ue.slice(0,Ue.length-1)):Array.from(Ue),...s?[]:[{id:Ue.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:u?l:[]}],{id:Ue.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];Te(p),He(),u&&Fe([]);const m=E.getPickaxeConfigMetadata(le),f="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;o=f,vt.current=f,bt.current=null,It.current=[];const g=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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:se,pickaxeId:ne,sessionId:ie,submissionId:f,senderType:oe,value:d},u&&{documentIds:l}),re&&{sender:re}),we&&{studioSessionToken:we}),!we&&!re&&{sender:k.initializeEmbedUserId()}),ae&&{portalId:ae}),le&&{deploymentId:le}),m&&{metadata:m}),u&&c.length>0?{uploadedModelImages:c}:{})),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()})},Yt&&{credentials:"include"})),v=yield g.json();if(!v.success){if(es(v))return;const e=new Error(v.error||v.message||(null==me?void 0:me["failed-to-start-generation"])||"Failed to start generation");throw v.limitData&&(e.limitData=v.limitData),e}const b=null!==(i=v.submissionId)&&void 0!==i?i:f;o=b,vt.current=b;const I=()=>bt.current===b;if(I())return;Gt&&he&&ie&&Nt.current.add(ie);const y=Object.assign(Object.assign({},ls()),{message:d,documentIds:u?l:[],uploadedModelImages:u?c:[],hasUploadedDocuments:u,isHidden:s,metadata:null!=m?m:null});lt?(cs(),U.fireDeploymentFirstMessageSubmittedWebhook(y)):St.current=y,Ae("streaming"),Ot.current=new AbortController;const x=p.length-1,j=[];let O=[...null!=Ke?Ke:[]],N=0,S=!1,w="";for(;!S;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${b}?index=${N}`,{signal:null===(r=Ot.current)||void 0===r?void 0:r.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();ht.current=t;const s=new TextDecoder,n=h.createParser({onEvent:e=>{var t,s;if(I())S=!0;else if(e.event&&"ping"!==e.event&&N++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==me?void 0:me["something-went-wrong"])||"Something went wrong.";return es(t)||Pe(s),void(S=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&X){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw S=!0,X({smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw S=!0,X({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)w="",j.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)w+=n.delta,j[j.length-1].content=w;else if("text-end"===n.type)w="";else if("reasoning-start"===n.type)w="",j.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)w+=n.delta,j[j.length-1].content=w;else if("reasoning-end"===n.type)w="";else if(n.type.startsWith("data-")){const e=n;j.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}It.current=P(j),Te([...p.slice(0,x),Object.assign(Object.assign({},p[p.length-1]),{id:Ue.length+1,role:"assistant",parts:j})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);O=O.filter((e=>!(e.id===t.id&&e.version===t.version))),O.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ye([...O]),We.startsWith("inline")||Je({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);O=O.filter((e=>!(e.id===t.id&&e.version===t.version))),O.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ye(O),We.startsWith("inline")||Je({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);O=O.filter((e=>!(e.id===t.id&&e.version===t.version))),O.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ye(O),We.startsWith("inline")||Je({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");O=O.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Ye(O)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ye(O.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),s=t.error||t.message||(null==me?void 0:me["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(es(t))return void(S=!0);Pe(s)}else"stop"===e.event&&(S=!0)}else S=!0}});for(;;){if(I()){S=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(I()){S=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}S||I()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||L(e)||I())return void(S=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Se||Se(ie)}catch(e){if(L(e))return;if(e.limitData)De(e.limitData),Pe("");else{let t=N.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==me?void 0:me["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),es(t)||Pe(t)}}finally{const e=!o||vt.current===o;He(),e&&(Ae("idle"),Xe(),ht.current=null),o&&e&&(vt.current=null,It.current=[]),yield ns()}}));return Zt?null:t.jsx("div",Object.assign({className:_.default("flex w-full flex-shrink-0 flex-col items-center",!Qt&&"px-4 pb-8"),dir:ve?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:jt,className:_.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ue.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Xt),{maxHeight:`${wt}px`,overflowY:"auto"})},{children:[Is&&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:Xt.backgroundColor?`${Xt.backgroundColor}E6`:void 0,borderColor:pe.text+"20",color:pe.text,borderTopRightRadius:ue.cornerRadius+"px",borderTopLeftRadius:ue.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[fs.toLocaleString()," ",os?(null==me?void 0:me.credits)||"Credits":(null==me?void 0:me.uses)||"Uses"," ",(null==me?void 0:me.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:pe.accent,color:pe.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=k.buildUpgradeUrl({baseUrl:ot,accessGroupId:null==Ie?void 0:Ie.accessGroupId});t&&(k.isInIframe()?window.open(t):location.href=t)}},{children:(null==me?void 0:me["pricing.upgrade"])||(null==me?void 0:me.upgrade)||"Upgrade"})),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:()=>ut(!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"})}))}))]}))]})),!Ce&&Le.length>0&&t.jsx(x.default,{className:"p-4 pb-0",isDisabled:Ce}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[kt&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(te=pe.accent)&&void 0!==te?te:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:pe.text+"90"}},{children:(null==me?void 0:me.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:yt,className:_.default(Bt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Qe.trim()&&!Qe.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",ve?"text-right":"text-left",ss&&"mb-12",kt&&"text-transparent"),value:Qe,placeholder:ts,onChange:e=>{Ze(e)},onKeyDown:e=>{ge||At||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Re||Ce||js()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!Jt)return;t.preventDefault(),ye(!1),yield Me(e)}}))},V&&{onFocus:V},$&&{onBlur:$},{dir:ve?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:xt,className:_.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",ss?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ss&&Xt.backgroundColor&&{backgroundColor:Xt.backgroundColor}),{borderTopRightRadius:ue.cornerRadius+"px",borderBottomRightRadius:ue.cornerRadius+"px"})},{children:Ce?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=vt.current;t&&(bt.current=t,(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:vt.current))return;const e=P(It.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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})},Yt&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(t)),Ot.current&&(Ot.current.abort(),Ot.current=null),ht.current&&(ht.current.cancel().catch((()=>{})),ht.current=null),Ae("idle")},style:{backgroundColor:pe.accent,color:pe.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):kt?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:Tt,style:{backgroundColor:pe.accent,color:pe.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[Jt&&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:qt?pe.accent+"10":void 0,color:qt?pe.accent:pe.accent+"80"},disabled:Re||Ce,onClick:()=>{var e;return null===(e=ft.current)||void 0===e?void 0:e.click()}},Mt,{children:[t.jsx("input",{id:"file-upload",ref:ft,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*(){ye(!1),yield Me(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(v.default,{className:"h-6 w-6 shrink-0"})]})),zt&&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:kt?pe.accent:Vt?pe.accent+"10":void 0,color:kt?pe.accentText:Vt?pe.accent:pe.accent+"80"},disabled:Re||Ce||Et,onClick:()=>{kt?Tt():(gt.current=Qe,Ct(fe||"en-US"))}},$t,{children:t.jsx(I.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Pt||xs?pe.accent:pe.accent+"10",color:Pt||xs?pe.accentText:pe.accent+"80"},disabled:!xs,onClick:()=>js()},Lt,{children:t.jsx(b.default,{className:_.default("h-6 w-6 shrink-0",ve&&"scale-x-[-1] transform")})}))]})}))]}))]})),qe&&t.jsx(O.default,{error:qe,className:"mt-3"})]}))}))}));V.displayName="Input",exports.default=V;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../hooks/studio/useStyleInput.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),a=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useDimensionContext.js"),c=require("../Addons/Auth/hooks/useAuthContext.js"),d=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"),h=require("eventsource-parser"),v=require("../../Icons/attach-vertical.svg.js"),b=require("../../Icons/arrow-right.svg.js"),I=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),x=require("../Addons/Document/List.js"),j=require("../../Core/Textarea.js"),O=require("../../Core/ErrorAlert.js"),N=require("../../../common/error.js"),S=require("../../../common/api/pickaxe.js"),w=require("../../../common/validation.js"),_=require("../../../common/cn.js"),k=require("../../../common/utils.js"),E=require("../../../common/pickaxeConfig.js"),U=require("../../../common/deploymentWebhooks.js"),C=require("../../../hooks/studio/useStudio.js"),T=require("../../../hooks/pickaxe/useSpeech.js"),A=require("../common/PickaxeCommon.js");const D=e=>"string"==typeof e&&e.trim().length>0,P=e=>e.map((e=>Object.assign({},e))),L=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),R=(e,t)=>{if(e&&"object"==typeof e)return e[t]},q=(e,t)=>{const s=R(e,t);return D(s)?s:null},M=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},F=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const r=Array.isArray(R(e,"uses"))?R(e,"uses"):[],o=(({deploymentId:e,portalId:t})=>D(e)?{type:"deployment",id:e}:D(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!o)return{scope:o,record:null};const a=null!==(i=null!==(n=r.find((e=>e.id===o.id&&e.type===o.type)))&&void 0!==n?n:r.find((e=>e.id===o.id)))&&void 0!==i?i:null;return{scope:o,record:a}},V=s.forwardRef((({resubmitPrompt:R,onFocus:V,onBlur:$,onInputHeightChange:B,initSmitheryAuthData:X},H)=>{var K,W,Y,J,z,G,Q,Z,ee,te;const{origin:se,pickaxeId:ne,sessionId:ie,sender:re,senderType:oe,portalId:ae,deploymentId:le,deploymentType:ce,pickaxe:de,styles:ue,colors:pe,translations:me,locale:fe,forceMobile:ge,isNewChat:he,isRtl:ve,isShowFeedbackMessage:be,accessGroup:Ie,setIsNewChat:ye,setIsShowIceBreaker:xe,setValidationStatus:je,setValidationUpgradeGroups:Oe,setValidationUpgradeUrl:Ne,onGenerateComplete:Se}=n.usePickaxeContext(),{token:we,isLoggedOut:_e,isSent:ke,isPricingAuth:Ee}=c.useAuthContext(),{messages:Ue,isGenerating:Ce,setMessages:Te,setStatus:Ae,setLimitData:De,setError:Pe}=i.useResponseContext(),{documents:Le,isUploading:Re,documentError:qe,onFileUpload:Me,setDocuments:Fe,setDocumentError:Ve}=d.useDocument(),{studio:$e}=C.useStudio(),{scrollStartSession:Be,scrollEndSession:Xe,scrollToBottom:He}=u.useScroll({auto:!0}),{artifacts:Ke,currentPopupType:We,setArtifacts:Ye,setCurrentArtifact:Je}=p.useArtifactContext(),{height:ze}=l.useDimensionContext(),Ge=a.useConversation(),[Qe,Ze]=s.useState(""),[et,tt]=s.useState(!1),[st,nt]=s.useState(!1),[it,rt]=s.useState(null),[ot,at]=s.useState(null),[lt,ct]=s.useState(!1),[dt,ut]=s.useState(!1),[pt,mt]=s.useState(0),ft=s.useRef(null),gt=s.useRef(""),ht=s.useRef(null),vt=s.useRef(null),bt=s.useRef(null),It=s.useRef([]),yt=s.useRef(null),xt=s.useRef(null),jt=s.useRef(null),Ot=s.useRef(null),Nt=s.useRef(new Set),St=s.useRef(null),wt=Math.max(.4*ze,100),{speechTranscript:_t,isSpeechListening:kt,isSpeechProcessing:Et,isSpeechSupported:Ut,onStartListening:Ct,onStopListening:Tt}=T.useSpeech(),[At]=f.useMediaQuery("(max-width: 480px)"),Dt=m.useHover(),{isHover:Pt}=Dt,Lt=e.__rest(Dt,["isHover"]),Rt=m.useHover(),{isHover:qt}=Rt,Mt=e.__rest(Rt,["isHover"]),Ft=m.useHover(),{isHover:Vt}=Ft,$t=e.__rest(Ft,["isHover"]),Bt=o.useStyleFontSize(),Xt=r.useStyleInput(),Ht="undefined"!=typeof window?window.location.hostname:"",Kt="undefined"!=typeof window?window.location.href:"",Wt="undefined"!=typeof window&&window.self!==window.top,Yt=Ht.includes("pickaxe.co")&&!Kt.includes("https://studio.pickaxe.co/_embed")&&!Wt,Jt=null!==(W=null===(K=null==de?void 0:de.documentuploadtype)||void 0===K?void 0:K.startsWith("enduserupload"))&&void 0!==W&&W,zt=Ut&&(null==de?void 0:de.enablevoicetotext),Gt=D(le),Qt="chat-input"===ce&&he&&!ke,Zt="chat-input"===ce&&Ee&&_e&&ke,es=s.useCallback((e=>{const t=w.getValidationFailure(e);return!!t&&(Pe(""),De(null),je(t.status),Oe(t.upgradeGroups),Ne(t.upgradeUrl),!0)}),[Pe,De,je,Oe,Ne]),ts=null!==(Y=null==de?void 0:de.placeholdertext)&&void 0!==Y?Y:ve?"بماذا تريد أن تتحدث؟":(null==me?void 0:me["what-do-you-want-to-talk-about"])||"What do you want to talk about?",ss=et||st,ns=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){ct(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==de?void 0:de.studioid},we?{studioSessionToken:we}:re?{sender:re}:{sender:k.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Yt&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(rt(t.studioUser),at(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{ct(!0)}}))),[Yt,null==de?void 0:de.studioid,re,we]);s.useEffect((()=>{ns()}),[ns]);const is=Number(null!==(J=null==Ie?void 0:Ie.limit)&&void 0!==J?J:0),rs="string"==typeof(null==Ie?void 0:Ie.limitInterval)?Ie.limitInterval:null,os=!!(null==$e?void 0:$e.data.usage)&&$e.data.usage.isCredits,as=s.useMemo((()=>F({studioUser:it,deploymentId:le,portalId:ae})),[le,ae,it]);s.useEffect((()=>{Gt&&he&&ie&&Nt.current.add(ie)}),[he,ie,Gt]);const ls=s.useCallback((()=>{var e,t,s;return{studioId:null==de?void 0:de.studioid,userEmail:q(it,"email"),userId:null!==(e=q(it,"userId"))&&void 0!==e?e:q(it,"userid"),sessionId:ie,deploymentId:le,deploymentType:ce,portalId:ae,accessGroupId:null!==(t=null==Ie?void 0:Ie.accessGroupId)&&void 0!==t?t:null,pickaxeId:ne,sender:re,senderType:oe,origin:se,metadata:null!==(s=E.getPickaxeConfigMetadata(le))&&void 0!==s?s:null}}),[null==Ie?void 0:Ie.accessGroupId,le,ce,se,null==de?void 0:de.studioid,ne,ae,re,oe,ie,it]),cs=s.useCallback((()=>!!(Gt&<&&ie)&&(!!Nt.current.has(ie)&&(U.fireDeploymentSessionInitializedWebhook(ls()),Nt.current.delete(ie),!0))),[ls,lt,ie,Gt]);s.useEffect((()=>{if(!lt||!ie)return;cs();const e=St.current;(null==e?void 0:e.sessionId)===ie&&(U.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),ls()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),St.current=null)}),[cs,ls,lt,ie]);const ds={currentUses:M(null==it?void 0:it.currentUses),extraUses:M(null==it?void 0:it.extraUses)},us=as.scope?{currentUses:null!==(G=M(null===(z=as.record)||void 0===z?void 0:z.currentUses))&&void 0!==G?G:0,extraUses:null!==(Z=M(null===(Q=as.record)||void 0===Q?void 0:Q.extraUses))&&void 0!==Z?Z:0}:{currentUses:0,extraUses:0},ps=q(it,"type"),ms="guest"===ps||!ps&&_e?us:ds;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(os&&(null===(e=null==$e?void 0:$e.data)||void 0===e?void 0:e.workspaceId))try{const e=yield S.default.get(`/cost_per_run?workspaceId=${$e.data.workspaceId}`,{withCredentials:!1});t&&mt(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&mt(0)}else t&&mt(0)})),()=>{t=!1}}),[os,null===(ee=null==$e?void 0:$e.data)||void 0===ee?void 0:ee.workspaceId]);const fs=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),r=Number(null!=t?t:0);return s===A.STUDIO_INFINITY_VALUE||r===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,r-i):(console.log("Calculating remaining balance with limit:",s,"currentUses:",i,"extraUses:",r),Math.max(0,s-i)+r)})({currentUses:ms.currentUses,extraUses:ms.extraUses,limit:is,limitInterval:rs}),gs=fs===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(fs)),hs=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===A.STUDIO_INFINITY_VALUE||n===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:ms.extraUses,limit:is,limitInterval:rs}),vs=hs===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.ceil(.05*hs),bs=os?Math.ceil(5*pt):5,Is=vs===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(vs,bs),ys=s.useMemo((()=>!!it&&(!dt&&(gs!==A.STUDIO_INFINITY_VALUE&&gs<=Is))),[dt,Is,gs,it]),xs=s.useMemo((()=>{var e,t,s;return!!he&&(!!de&&(!Ge.isLoading&&(!((null!==(t=null===(e=Ge.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=de.icebreakers)||void 0===s?void 0:s.length)&&(!be&&!Qt)))))}),[de,he,be,Qt,Ge.data,Ge.isLoading]),js=s.useMemo((()=>{if(Ce||Re)return!1;const e=Jt&&Le.length>0&&Le.every((e=>"finished"===e.status));return!(!Qe.trim()&&!e)&&Le.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Jt,Ce,Re,Qe,Le]);s.useImperativeHandle(H,(()=>({onSubmit:Os}))),s.useEffect((()=>{xe(xs)}),[xs]),s.useEffect((()=>{var e;if(R){const t=Array.from(Ue),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Os(s,!0)}}),[R]),s.useEffect((()=>{if(!jt.current||!B)return;const e=new ResizeObserver((e=>{for(const t of e)B(t.contentRect.height)}));return e.observe(jt.current),()=>{e.disconnect()}}),[B]),s.useEffect((()=>{if(!kt)return;const e=gt.current?`${gt.current} `:"";Ze(`${e}${_t}`)}),[_t,kt]),s.useEffect((()=>{if(!yt.current)return;(()=>{if(!yt.current)return;let e=yt.current.scrollHeight>52;Qe.includes("\n")||Le.length?e=!0:Qe.trim()||(e=!1),tt(e)})()}),[Qe,Le]),s.useEffect((()=>{const e=yt.current,t=xt.current;if(!e||!t||et||Qe.includes("\n"))return void nt(!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=Qe||ts,document.body.appendChild(i);const r=i.offsetWidth;i.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;nt(r>l)}),[Qe,et,ts]);const Os=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i,r;let o=null;try{if(Ce||Re)return;const a=Le.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),l=a.map((e=>e.documentId)).filter(Boolean),c=a.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),d=null!=t?t:Qe,u=null!==(n=null===(e=null==de?void 0:de.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&l.length>0;if(!d&&!u)return;Pe(""),Ve(""),De(null),Ze(""),ye(!1),Ae("fetching"),Be(),He();const p=[...s?Array.from(Ue.slice(0,Ue.length-1)):Array.from(Ue),...s?[]:[{id:Ue.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:u?l:[]}],{id:Ue.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];Te(p),He(),u&&Fe([]);const m=E.getPickaxeConfigMetadata(le),f="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;o=f,vt.current=f,bt.current=null,It.current=[];const g=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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:se,pickaxeId:ne,sessionId:ie,submissionId:f,senderType:oe,value:d},u&&{documentIds:l}),re&&{sender:re}),we&&{studioSessionToken:we}),!we&&!re&&{sender:k.initializeEmbedUserId()}),ae&&{portalId:ae}),le&&{deploymentId:le}),m&&{metadata:m}),u&&c.length>0?{uploadedModelImages:c}:{})),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()})},Yt&&{credentials:"include"})),v=yield g.json();if(!v.success){if(es(v))return;const e=new Error(v.error||v.message||(null==me?void 0:me["failed-to-start-generation"])||"Failed to start generation");throw v.limitData&&(e.limitData=v.limitData),e}const b=null!==(i=v.submissionId)&&void 0!==i?i:f;o=b,vt.current=b;const I=()=>bt.current===b;if(I())return;Gt&&he&&ie&&Nt.current.add(ie);const y=Object.assign(Object.assign({},ls()),{message:d,documentIds:u?l:[],uploadedModelImages:u?c:[],hasUploadedDocuments:u,isHidden:s,metadata:null!=m?m:null});lt?(cs(),U.fireDeploymentFirstMessageSubmittedWebhook(y)):St.current=y,Ae("streaming"),Ot.current=new AbortController;const x=p.length-1,j=[];let O=[...null!=Ke?Ke:[]],N=0,S=!1,w="";for(;!S;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${b}?index=${N}`,{signal:null===(r=Ot.current)||void 0===r?void 0:r.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();ht.current=t;const s=new TextDecoder,n=h.createParser({onEvent:e=>{var t,s;if(I())S=!0;else if(e.event&&"ping"!==e.event&&N++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==me?void 0:me["something-went-wrong"])||"Something went wrong.";return es(t)||Pe(s),void(S=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&X){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw S=!0,X({smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw S=!0,X({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)w="",j.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)w+=n.delta,j[j.length-1].content=w;else if("text-end"===n.type)w="";else if("reasoning-start"===n.type)w="",j.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)w+=n.delta,j[j.length-1].content=w;else if("reasoning-end"===n.type)w="";else if(n.type.startsWith("data-")){const e=n;j.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}It.current=P(j),Te([...p.slice(0,x),Object.assign(Object.assign({},p[p.length-1]),{id:Ue.length+1,role:"assistant",parts:j})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);O=O.filter((e=>!(e.id===t.id&&e.version===t.version))),O.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ye([...O]),We.startsWith("inline")||Je({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);O=O.filter((e=>!(e.id===t.id&&e.version===t.version))),O.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ye(O),We.startsWith("inline")||Je({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);O=O.filter((e=>!(e.id===t.id&&e.version===t.version))),O.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ye(O),We.startsWith("inline")||Je({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");O=O.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Ye(O)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ye(O.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),s=t.error||t.message||(null==me?void 0:me["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(es(t))return void(S=!0);Pe(s)}else"stop"===e.event&&(S=!0)}else S=!0}});for(;;){if(I()){S=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(I()){S=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}S||I()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||L(e)||I())return void(S=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Se||Se(ie)}catch(e){if(L(e))return;if(e.limitData)De(e.limitData),Pe("");else{let t=N.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==me?void 0:me["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),es(t)||Pe(t)}}finally{const e=!o||vt.current===o;He(),e&&(Ae("idle"),Xe(),ht.current=null),o&&e&&(vt.current=null,It.current=[]),yield ns()}}));return Zt?null:t.jsx("div",Object.assign({className:_.default("flex w-full flex-shrink-0 flex-col items-center",!Qt&&"px-4 pb-8"),dir:ve?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:jt,className:_.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ue.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Xt),{maxHeight:`${wt}px`,overflowY:"auto"})},{children:[ys&&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:Xt.backgroundColor?`${Xt.backgroundColor}E6`:void 0,borderColor:pe.text+"20",color:pe.text,borderTopRightRadius:ue.cornerRadius+"px",borderTopLeftRadius:ue.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[gs.toLocaleString()," ",os?(null==me?void 0:me.credits)||"Credits":(null==me?void 0:me.uses)||"Uses"," ",(null==me?void 0:me.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:pe.accent,color:pe.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=k.buildUpgradeUrl({baseUrl:ot,accessGroupId:null==Ie?void 0:Ie.accessGroupId});t&&(k.isInIframe()?window.open(t):location.href=t)}},{children:(null==me?void 0:me["pricing.upgrade"])||(null==me?void 0:me.upgrade)||"Upgrade"})),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:()=>ut(!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"})}))}))]}))]})),!Ce&&Le.length>0&&t.jsx(x.default,{className:"p-4 pb-0",isDisabled:Ce}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[kt&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(te=pe.accent)&&void 0!==te?te:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:pe.text+"90"}},{children:(null==me?void 0:me.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:yt,className:_.default(Bt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Qe.trim()&&!Qe.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",ve?"text-right":"text-left",ss&&"mb-12",kt&&"text-transparent"),value:Qe,placeholder:ts,onChange:e=>{Ze(e)},onKeyDown:e=>{ge||At||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Re||Ce||Os()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!Jt)return;t.preventDefault(),ye(!1),yield Me(e)}}))},V&&{onFocus:V},$&&{onBlur:$},{dir:ve?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:xt,className:_.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",ss?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ss&&Xt.backgroundColor&&{backgroundColor:Xt.backgroundColor}),{borderTopRightRadius:ue.cornerRadius+"px",borderBottomRightRadius:ue.cornerRadius+"px"})},{children:Ce?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=vt.current;t&&(bt.current=t,(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:vt.current))return;const e=P(It.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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})},Yt&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(t)),Ot.current&&(Ot.current.abort(),Ot.current=null),ht.current&&(ht.current.cancel().catch((()=>{})),ht.current=null),Ae("idle")},style:{backgroundColor:pe.accent,color:pe.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):kt?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:Tt,style:{backgroundColor:pe.accent,color:pe.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[Jt&&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:qt?pe.accent+"10":void 0,color:qt?pe.accent:pe.accent+"80"},disabled:Re||Ce,onClick:()=>{var e;return null===(e=ft.current)||void 0===e?void 0:e.click()}},Mt,{children:[t.jsx("input",{id:"file-upload",ref:ft,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*(){ye(!1),yield Me(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(v.default,{className:"h-6 w-6 shrink-0"})]})),zt&&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:kt?pe.accent:Vt?pe.accent+"10":void 0,color:kt?pe.accentText:Vt?pe.accent:pe.accent+"80"},disabled:Re||Ce||Et,onClick:()=>{kt?Tt():(gt.current=Qe,Ct(fe||"en-US"))}},$t,{children:t.jsx(I.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Pt||js?pe.accent:pe.accent+"10",color:Pt||js?pe.accentText:pe.accent+"80"},disabled:!js,onClick:()=>Os()},Lt,{children:t.jsx(b.default,{className:_.default("h-6 w-6 shrink-0",ve&&"scale-x-[-1] transform")})}))]})}))]}))]})),qe&&t.jsx(O.default,{error:qe,className:"mt-3"})]}))}))}));V.displayName="Input",exports.default=V;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("../../hooks/pickaxe/usePickaxe.js"),a=require("react"),i=require("../../hooks/pickaxe/usePickaxeContext.js"),r=require("./Addons/Auth/hooks/useAuthContext.js"),l=require("../../hooks/pickaxe/useResponseContext.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("../../hooks/pickaxe/usePickaxe.js"),a=require("react"),i=require("../../hooks/pickaxe/usePickaxeContext.js"),r=require("./Addons/Auth/hooks/useAuthContext.js"),o=require("./Addons/Auth/hooks/useAuthBootstrap.js"),l=require("../../hooks/pickaxe/useResponseContext.js"),c=require("./Addons/Document/hooks/useDocumentContext.js"),n=require("./Addons/Artifact/hooks/useArtifactContext.js"),d=require("uuid"),u=require("./Addons/Scroll/Provider.js"),x=require("./common/PickaxeSkeleton.js"),p=require("./Chat/index.js"),m=require("./Form/index.js"),f=require("./Addons/Auth/index.js"),j=require("../../common/cn.js"),h=require("../../common/api/pickaxe.js"),v=require("../../common/validation.js"),g=require("./common/AccessGroupCardPreview.js"),b=require("./common/PickaxeAvatar.js"),k=require("../Icons/lock.svg.js"),w=require("../../node_modules/.pnpm/@stripe_react-stripe-js@4.0.2_@stripe_stripe-js@7.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@stripe/react-stripe-js/dist/react-stripe.esm.mjs.js"),y=require("../../node_modules/.pnpm/@stripe_stripe-js@7.9.0/node_modules/@stripe/stripe-js/dist/index.mjs.js");const N=({className:e})=>s.jsx("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e},{children:s.jsx("polyline",{points:"15 18 9 12 15 6"})}));exports.Pickaxe=({pickaxeId:q,className:O})=>{const{sessionId:_,styles:A,colors:C,responsiveBy:I,deploymentType:S,isNewChat:P,isEmbed:E,opacity:U,deploymentId:G,sender:R,portalId:T,validationStatus:L,validationUpgradeGroups:B,validationUpgradeUrl:D,stripeAccountId:F,clientSecret:M,translations:V,preventInitialSessionId:$,setClientSecret:W,setStripeAccountId:z,setValidationStatus:H,setValidationUpgradeGroups:J,setValidationUpgradeUrl:K,setContextId:X,setPickaxeId:Y,setSessionId:Q,setPickaxe:Z,setAccessGroup:ee}=i.usePickaxeContext(),{isSent:se,token:te,isAuthBootstrapComplete:ae}=r.useAuthContext(),{setMessages:ie,setResponse:re,setError:oe,setLimitData:le,setIsSwitchedToChat:ce}=l.useResponseContext(),{setDocumentError:ne}=c.useDocumentContext(),{setCurrentArtifact:de}=n.useArtifactContext(),[ue,xe]=a.useState(!1),pe=t.usePickaxe();o.useAuthBootstrap();const me="chat-input"===S&&P&&!se,fe=a.useMemo((()=>F?y.loadStripe(process.env.NEXT_PUBLIC_STRIPE_KEY,{stripeAccount:F}):null),[F]);a.useEffect((()=>{Y(q)}),[q]);a.useEffect((()=>{if(!G&&!T||!pe.data)return;if(!ae)return;if("stripe_checkout"===L)return;e.__awaiter(void 0,void 0,void 0,(function*(){var e;H("loading");try{const s=yield h.default.post("/validate_studio_deployment",{data:{deploymentId:G,sender:R||void 0,studioSessionToken:te,portalId:T,studioId:null===(e=pe.data)||void 0===e?void 0:e.studioid}});if(s.data.success)H("success"),J([]),K(null),ee(s.data.accessGroup);else{const e=v.getValidationFailure(s.data);if(!e)return H("login_required"),J([]),void K(null);H(e.status),J(e.upgradeGroups),K(e.upgradeUrl),xe(!0)}}catch(e){console.error("Failed to validate deployment:",e),H("success")}}))}),[G,ae,R,te,T,pe.data]),a.useEffect((()=>{if(!pe.data)return;const e=pe.data.chatflag;$||Q(e?d.v4():""),X(d.v4()),e?ie([]):re(null),oe(""),ne(""),le(null),de(null),ce(!1),Z(pe.data),xe(!0)}),[pe.data]),a.useEffect((()=>{oe(""),ne(""),le(null),ie([]),re(null),de(null)}),[_]);const je=a.useMemo((()=>{const e=null!=U?U:1;if(!C.primary||!C.primary.startsWith("#")||e<0||e>1)return C.primary;const s=Math.round(255*e).toString(16).padStart(2,"0");return`${C.primary}${s}`}),[C.primary,U]);if(!pe.data)return null;return s.jsx("div",Object.assign({className:j.default("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===A.theme&&"dark",O),style:Object.assign({backgroundColor:me?"transparent":je,color:C.text},A.font&&"Real Head Pro"!==A.font&&{fontFamily:A.font})},{children:(()=>{var t,a;if("stripe_checkout"===L&&M&&fe)return s.jsxs("div",Object.assign({className:"absolute inset-0 z-[999] flex flex-col w-full h-full overflow-hidden",style:{backgroundColor:C.secondary||"#ffffff",color:C.secondaryText||"#000000"}},{children:[s.jsx("div",Object.assign({className:"flex items-center p-4 border-b border-gray-100 shrink-0"},{children:s.jsxs("button",Object.assign({onClick:()=>{W&&W(null),z&&z(null),H("success")},className:"flex items-center gap-2 text-sm font-semibold opacity-70 hover:opacity-100 transition-opacity",style:{color:C.text}},{children:[s.jsx(N,{className:"w-5 h-5"}),s.jsx("span",{children:(null==V?void 0:V.back)||"Back"})]}))})),s.jsx("div",Object.assign({className:"flex-1 w-full h-full overflow-y-auto [&>div]:h-full"},{children:s.jsx(w.EmbeddedCheckoutProvider,Object.assign({stripe:fe,options:{clientSecret:M}},{children:s.jsx(w.EmbeddedCheckout,{})}))}))]}));if(pe.isLoading||!ue||"loading"===L)return s.jsx("div",Object.assign({className:j.default("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===I?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:s.jsxs("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[s.jsx(x.default,{className:"w-[72px] h-[72px]"}),s.jsx(x.default,{className:"h-[20px] mt-6 w-full"}),s.jsx(x.default,{className:"h-[20px] mt-2 w-full"}),s.jsx(x.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),s.jsx("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:s.jsx(x.default,{className:j.default("w-full min-h-[48px]","viewport"===I?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))}));if("upgrade_required"===L){const e=B.length>0;return s.jsx("div",Object.assign({className:"flex h-full min-h-0 w-full items-start justify-center overflow-y-auto p-4"},{children:e?s.jsxs("div",Object.assign({className:"flex w-full max-w-4xl flex-col items-center gap-6 py-6"},{children:[s.jsxs("div",Object.assign({className:"max-w-[640px] text-center"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2 break-words"},{children:(null==V?void 0:V["upgrade-required"])||"Upgrade Required"})),s.jsx("p",Object.assign({className:"break-words opacity-80"},{children:(null==V?void 0:V["please-upgrade-to-continue-using-this-tool"])||"Please upgrade to continue using this tool."}))]})),s.jsx("div",Object.assign({className:"flex w-full flex-wrap justify-center gap-4"},{children:B.map(((e,t)=>s.jsx(g.default,{data:e,upgradeUrl:D},e.accessGroupId||e.id||t)))}))]})):s.jsxs("div",Object.assign({className:"m-auto text-center"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==V?void 0:V["access-locked"])||"Access Locked"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:(null==V?void 0:V["this-tool-is-locked-contact-owner"])||"This tool is locked to use. Contact owner for more information."}))]}))}))}return"login_required"===L&&E?s.jsx(f.default,{}):"login_required"!==L||E?"access_denied"===L?s.jsxs("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:[s.jsxs(b.Avatar,Object.assign({className:"h-[68px] w-[68px] mb-4"},{children:[s.jsx(b.AvatarImage,{src:null===(t=pe.data)||void 0===t?void 0:t.coverphoto,alt:`${null===(a=pe.data)||void 0===a?void 0:a.formtitle} Logo`}),s.jsx(b.AvatarFallback,{})]})),s.jsxs("div",Object.assign({className:"text-center mb-6"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==V?void 0:V["access-denied"])||"Access Denied"})),s.jsxs("div",Object.assign({className:"w-[400px] text-xl flex justify-center items-start"},{children:[s.jsx(k.default,{className:"h-6 w-6 mr-[-20px] shrink-0"}),s.jsx("p",Object.assign({className:"ml-1"},{children:(null==V?void 0:V["no-access-request-access"])||"It looks like you don't have access to these resources. Please request access to continue."}))]}))]})),s.jsx("button",Object.assign({className:"px-6 py-2 font-medium rounded-md transition-colors",style:{backgroundColor:C.accent,color:C.accentText,borderRadius:A.cornerRadius},onClick:()=>{e.__awaiter(void 0,void 0,void 0,(function*(){var e,s;const t=B.map((e=>e.accessGroupId));try{const a=yield h.default.post("/request_access",{data:{sender:R||void 0,studioSessionToken:te,studioId:null===(e=pe.data)||void 0===e?void 0:e.studioid,message:JSON.stringify({toolId:null===(s=pe.data)||void 0===s?void 0:s.formid,deploymentId:G,accessGroupIds:t})}});a.data.success?alert((null==V?void 0:V["access-requested-successfully"])||"Successfully requested access!"):alert(a.data.error)}catch(e){alert(`Couldn't request access. Error: ${e}`)}}))}},{children:(null==V?void 0:V["request-access"])||"Request Access"})),s.jsx("span",Object.assign({className:"mt-4 mb-2"},{children:(null==V?void 0:V.or)||"or"})),s.jsx("span",Object.assign({className:"font-medium text-lg"},{children:(null==V?void 0:V["sign-in-with-different-account"])||"Sign in with a different account"}))]})):_?s.jsx(u.ScrollProvider,{children:s.jsx(p.default,{})}):s.jsx(u.ScrollProvider,{children:s.jsx(m.default,{})}):s.jsx("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:s.jsxs("div",Object.assign({className:"text-center mb-8"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==V?void 0:V["access-denied"])||"Access Denied"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:(null==V?void 0:V["login-is-required"])||"Login is required."}))]}))}))})()}))};
|
|
@@ -11,6 +11,7 @@ type AuthContextType = {
|
|
|
11
11
|
isResendDisabled: boolean;
|
|
12
12
|
isSent: boolean;
|
|
13
13
|
isPricingAuth: boolean;
|
|
14
|
+
isAuthBootstrapComplete: boolean;
|
|
14
15
|
setEmailInput: SetState<string>;
|
|
15
16
|
setToken: SetState<string | null>;
|
|
16
17
|
setIsLoggingIn: SetState<boolean>;
|
|
@@ -19,6 +20,7 @@ type AuthContextType = {
|
|
|
19
20
|
setIsSent: SetState<boolean>;
|
|
20
21
|
setIsPricingAuth: SetState<boolean>;
|
|
21
22
|
setRedirectUrl: SetState<string | null>;
|
|
23
|
+
setIsAuthBootstrapComplete: SetState<boolean>;
|
|
22
24
|
};
|
|
23
25
|
export interface IAuthProviderProps {
|
|
24
26
|
children: ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useAuthBootstrap: () => void;
|
|
@@ -9,6 +9,7 @@ export declare const useAuthContext: () => {
|
|
|
9
9
|
isResendDisabled: boolean;
|
|
10
10
|
isSent: boolean;
|
|
11
11
|
isPricingAuth: boolean;
|
|
12
|
+
isAuthBootstrapComplete: boolean;
|
|
12
13
|
setEmailInput: import("../../../../../types/common").SetState<string>;
|
|
13
14
|
setToken: import("../../../../../types/common").SetState<string | null>;
|
|
14
15
|
setIsLoggingIn: import("../../../../../types/common").SetState<boolean>;
|
|
@@ -17,4 +18,5 @@ export declare const useAuthContext: () => {
|
|
|
17
18
|
setIsSent: import("../../../../../types/common").SetState<boolean>;
|
|
18
19
|
setIsPricingAuth: import("../../../../../types/common").SetState<boolean>;
|
|
19
20
|
setRedirectUrl: import("../../../../../types/common").SetState<string | null>;
|
|
21
|
+
setIsAuthBootstrapComplete: import("../../../../../types/common").SetState<boolean>;
|
|
20
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{useState as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useState as t,createContext as s}from"react";const i=s({}),n=({children:s})=>{const[n,r]=t(""),[o,l]=t(null),[g,d]=t(null),[u,a]=t(!1),[c,I]=t(!1),[m,p]=t(!1),[h,A]=t(!1),[L,S]=t(!1),[b,f]=t(!1);return e(i.Provider,Object.assign({value:{emailInput:n,redirectUrl:g,token:o,isLoggedIn:!!o,isLoggedOut:!o,isLoggingIn:u,isSending:m,isResendDisabled:h,isSent:L,isPricingAuth:c,isAuthBootstrapComplete:b,setIsPricingAuth:I,setRedirectUrl:d,setEmailInput:r,setToken:l,setIsLoggingIn:a,setIsSending:p,setIsResendDisabled:A,setIsSent:S,setIsAuthBootstrapComplete:f}},{children:s}))};export{i as AuthContext,n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{
|
|
1
|
+
import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{usePickaxeContext as i}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as t}from"./useAuthContext.js";import{setAuthToken as o}from"../../../../../common/utils.js";import r from"../../../../../common/api/pickaxe.js";import s from"../../../../../common/error.js";const n=()=>{const{deploymentId:n,pickaxe:d,translations:a}=i(),{emailInput:l,redirectUrl:m,isSending:c,setIsSending:u,setIsSent:p,setIsResendDisabled:f,setIsPricingAuth:k}=t();return{onSend:i=>e(void 0,void 0,void 0,(function*(){try{if(!d)return;if(c)return;const e=l.trim().toLowerCase();if(!e)throw new Error((null==a?void 0:a["email-address-cannot-be-empty"])||"Email address cannot be empty.");if(!e.includes("@")||!e.includes("."))throw new Error((null==a?void 0:a["please-enter-valid-email-address"])||"Please enter a valid email address.");if(!d.studioid)throw new Error(`Studio ID is missing for ${d.formid}. Please contact support.`);u(!0),i&&f(!0);const t=(yield r.post("/auth/email",Object.assign(Object.assign({pickaxeId:d.formid,studioId:d.studioid,email:e},n&&{deploymentId:n}),{redirectUrl:m}))).data;if(!t.success)throw new Error(t.error||(null==a?void 0:a["failed-to-send-sign-in-link"])||"Failed to send sign-in link.");u(!1),p(!0),i&&(yield new Promise((e=>setTimeout(e,3e4))),f(!1)),o(`PXE-token-${d.studioid}`,t.token),k(!0)}catch(e){const i=s(e);alert(i)}finally{u(!1)}}))}};export{n as useAuth};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as t,useCallback as o}from"react";import{usePickaxeContext as e}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as s}from"../../../../../hooks/pickaxe/useResponseContext.js";import{getAuthToken as i,setAuthToken as r,deleteAuthToken as n}from"../../../../../common/utils.js";import{useAuthContext as a}from"./useAuthContext.js";import{useAuthVerify as u}from"./useAuthVerify.js";const c=()=>{const{pickaxe:c,setSender:d,setSenderType:m}=e(),{setLimitData:g}=s(),{token:p,isLoggedOut:k,isPricingAuth:f,setToken:h,setIsLoggingIn:l,setIsPricingAuth:x,setIsAuthBootstrapComplete:I}=a(),v=(null==c?void 0:c.studioid)||"",L=v?`PXE-token-${v}`:"",S=i(v)||"",j=u({token:S,enabled:k&&!!S,setIsLoggingIn:l});t((()=>{v&&I(!1)}),[I,v]);const A=o((t=>{r(L,t),h(t),d(void 0),m("STUDIO_USER"),f&&(x(!1),g(null))}),[L,f,x,g,d,m,h]);t((()=>{if(!L)return;if(!j.data)return;const{success:t,token:o,error:e}=j.data;if(!t||e)return n(L),x(!1),void I(!0);o&&(A(o),I(!0))}),[A,L,j.data,I,x]),t((()=>{var t;v&&(p?I(!0):S?j.isLoading||j.isFetching||(j.isError||j.isSuccess&&!(null===(t=j.data)||void 0===t?void 0:t.token))&&I(!0):I(!0))}),[j.data,j.isError,j.isFetching,j.isLoading,j.isSuccess,I,S,v,p])};export{c as useAuthBootstrap};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,Fragment as o}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useCallback as l,useEffect as c,useMemo as d,useImperativeHandle as u}from"react";import{usePickaxeContext as m}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as p}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as g}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as h}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as v}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 j}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as I}from"../../../hooks/core/useHover.js";import{useMediaQuery as O}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as w,allowedImageMimeTypes as k,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as S}from"eventsource-parser";import C from"../../Icons/attach-vertical.svg.js";import _ from"../../Icons/arrow-right.svg.js";import E 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 L from"../../../common/api/pickaxe.js";import{getValidationFailure as R}from"../../../common/validation.js";import M from"../../../common/cn.js";import{buildUpgradeUrl as $,isInIframe as B,initializeEmbedUserId as X}from"../../../common/utils.js";import{getPickaxeConfigMetadata as K}from"../../../common/pickaxeConfig.js";import{fireDeploymentSessionInitializedWebhook as V,fireDeploymentFirstMessageSubmittedWebhook as F}from"../../../common/deploymentWebhooks.js";import{useStudio as H}from"../../../hooks/studio/useStudio.js";import{useSpeech as W}from"../../../hooks/pickaxe/useSpeech.js";import{STUDIO_INFINITY_VALUE as J}from"../common/PickaxeCommon.js";const G=e=>"string"==typeof e&&e.trim().length>0,z=e=>e.map((e=>Object.assign({},e))),q=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Q=(e,t)=>{if(e&&"object"==typeof e)return e[t]},Y=(e,t)=>{const n=Q(e,t);return G(n)?n:null},Z=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ee=({studioUser:e,deploymentId:t,portalId:n})=>{var s,o;const i=Array.isArray(Q(e,"uses"))?Q(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>G(e)?{type:"deployment",id:e}:G(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(s=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==s?s:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},te=i((({resubmitPrompt:i,onFocus:Q,onBlur:te,onInputHeightChange:ne,initSmitheryAuthData:se},oe)=>{var ie,re,ae,le,ce,de,ue,me,pe,fe;const{origin:ge,pickaxeId:he,sessionId:ve,sender:be,senderType:ye,portalId:xe,deploymentId:je,deploymentType:Ie,pickaxe:Oe,styles:we,colors:ke,translations:Ne,locale:Se,forceMobile:Ce,isNewChat:_e,isRtl:Ee,isShowFeedbackMessage:Ue,accessGroup:Te,setIsNewChat:Ae,setIsShowIceBreaker:Pe,setValidationStatus:De,setValidationUpgradeGroups:Le,setValidationUpgradeUrl:Re,onGenerateComplete:Me}=m(),{token:$e,isLoggedOut:Be,isSent:Xe,isPricingAuth:Ke}=b(),{messages:Ve,isGenerating:Fe,setMessages:He,setStatus:We,setLimitData:Je,setError:Ge}=p(),{documents:ze,isUploading:qe,documentError:Qe,onFileUpload:Ye,setDocuments:Ze,setDocumentError:et}=y(),{studio:tt}=H(),{scrollStartSession:nt,scrollEndSession:st,scrollToBottom:ot}=x({auto:!0}),{artifacts:it,currentPopupType:rt,setArtifacts:at,setCurrentArtifact:lt}=j(),{height:ct}=v(),dt=h(),[ut,mt]=r(""),[pt,ft]=r(!1),[gt,ht]=r(!1),[vt,bt]=r(null),[yt,xt]=r(null),[jt,It]=r(!1),[Ot,wt]=r(!1),[kt,Nt]=r(0),St=a(null),Ct=a(""),_t=a(null),Et=a(null),Ut=a(null),Tt=a([]),At=a(null),Pt=a(null),Dt=a(null),Lt=a(null),Rt=a(new Set),Mt=a(null),$t=Math.max(.4*ct,100),{speechTranscript:Bt,isSpeechListening:Xt,isSpeechProcessing:Kt,isSpeechSupported:Vt,onStartListening:Ft,onStopListening:Ht}=W(),[Wt]=O("(max-width: 480px)"),Jt=I(),{isHover:Gt}=Jt,zt=e(Jt,["isHover"]),qt=I(),{isHover:Qt}=qt,Yt=e(qt,["isHover"]),Zt=I(),{isHover:en}=Zt,tn=e(Zt,["isHover"]),nn=g(),sn=f(),on="undefined"!=typeof window?window.location.hostname:"",rn="undefined"!=typeof window?window.location.href:"",an="undefined"!=typeof window&&window.self!==window.top,ln=on.includes("pickaxe.co")&&!rn.includes("https://studio.pickaxe.co/_embed")&&!an,cn=null!==(re=null===(ie=null==Oe?void 0:Oe.documentuploadtype)||void 0===ie?void 0:ie.startsWith("enduserupload"))&&void 0!==re&&re,dn=Vt&&(null==Oe?void 0:Oe.enablevoicetotext),un=G(je),mn="chat-input"===Ie&&_e&&!Xe,pn="chat-input"===Ie&&Ke&&Be&&Xe,fn=l((e=>{const t=R(e);return!!t&&(Ge(""),Je(null),De(t.status),Le(t.upgradeGroups),Re(t.upgradeUrl),!0)}),[Ge,Je,De,Le,Re]),gn=null!==(ae=null==Oe?void 0:Oe.placeholdertext)&&void 0!==ae?ae:Ee?"بماذا تريد أن تتحدث؟":(null==Ne?void 0:Ne["what-do-you-want-to-talk-about"])||"What do you want to talk about?",hn=pt||gt,vn=l((()=>t(void 0,void 0,void 0,(function*(){It(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign(Object.assign(Object.assign({studioId:null==Oe?void 0:Oe.studioid},be&&{sender:be}),$e&&{studioSessionToken:$e}),!$e&&!be&&{sender:X()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),ln&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(bt(t.studioUser),xt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{It(!0)}}))),[ge,he,ve,ye,be,$e,xe,je,ln]);c((()=>{vn()}),[vn]);const bn=Number(null!==(le=null==Te?void 0:Te.limit)&&void 0!==le?le:0),yn="string"==typeof(null==Te?void 0:Te.limitInterval)?Te.limitInterval:null,xn=!!(null==tt?void 0:tt.data.usage)&&tt.data.usage.isCredits,jn=d((()=>ee({studioUser:vt,deploymentId:je,portalId:xe})),[je,xe,vt]);c((()=>{un&&_e&&ve&&Rt.current.add(ve)}),[_e,ve,un]);const In=l((()=>{var e,t,n;return{studioId:null==Oe?void 0:Oe.studioid,userEmail:Y(vt,"email"),userId:null!==(e=Y(vt,"userId"))&&void 0!==e?e:Y(vt,"userid"),sessionId:ve,deploymentId:je,deploymentType:Ie,portalId:xe,accessGroupId:null!==(t=null==Te?void 0:Te.accessGroupId)&&void 0!==t?t:null,pickaxeId:he,sender:be,senderType:ye,origin:ge,metadata:null!==(n=K(je))&&void 0!==n?n:null}}),[null==Te?void 0:Te.accessGroupId,je,Ie,ge,null==Oe?void 0:Oe.studioid,he,xe,be,ye,ve,vt]),On=l((()=>!!(un&&jt&&ve)&&(!!Rt.current.has(ve)&&(V(In()),Rt.current.delete(ve),!0))),[In,jt,ve,un]);c((()=>{if(!jt||!ve)return;On();const e=Mt.current;(null==e?void 0:e.sessionId)===ve&&(F(Object.assign(Object.assign(Object.assign({},e),In()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Mt.current=null)}),[On,In,jt,ve]);const wn={currentUses:Z(null==vt?void 0:vt.currentUses),extraUses:Z(null==vt?void 0:vt.extraUses)},kn=jn.scope?{currentUses:null!==(de=Z(null===(ce=jn.record)||void 0===ce?void 0:ce.currentUses))&&void 0!==de?de:0,extraUses:null!==(me=Z(null===(ue=jn.record)||void 0===ue?void 0:ue.extraUses))&&void 0!==me?me:0}:{currentUses:0,extraUses:0},Nn=Be?kn:wn;c((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(xn&&(null===(t=null==tt?void 0:tt.data)||void 0===t?void 0:t.workspaceId))try{const t=yield L.get(`/cost_per_run?workspaceId=${tt.data.workspaceId}`,{withCredentials:!1});e&&Nt(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&Nt(0)}else e&&Nt(0)})),()=>{e=!1}}),[xn,null===(pe=null==tt?void 0:tt.data)||void 0===pe?void 0:pe.workspaceId]);const Sn=(({currentUses:e,extraUses:t,limit:n,limitInterval:s})=>{const o=Number(null!=e?e:0),i=Number(null!=t?t:0);return n===J||i===J?J:"one_time"===s?Math.max(0,i-o):Math.max(0,n-o)+i})({currentUses:Nn.currentUses,extraUses:Nn.extraUses,limit:bn,limitInterval:yn}),Cn=Sn===J?J:Math.max(0,Math.ceil(Sn)),_n=(({extraUses:e,limit:t,limitInterval:n})=>{const s=Number(null!=e?e:0);return t===J||s===J?J:"one_time"===n?Math.max(0,s):Math.max(0,t)+Math.max(0,s)})({extraUses:Nn.extraUses,limit:bn,limitInterval:yn}),En=_n===J?J:Math.ceil(.05*_n),Un=xn?Math.ceil(5*kt):5,Tn=En===J?J:Math.max(En,Un);console.log("Usage and Limits Debug:",{remaining:Cn,notificationThreshold:Tn,studioUser:vt});const An=d((()=>!!vt&&(!Ot&&(Cn!==J&&(!(Cn<=0)&&Cn<=Tn)))),[Ot,Tn,Cn,vt]),Pn=d((()=>{var e,t,n;return!!_e&&(!!Oe&&(!dt.isLoading&&(!((null!==(t=null===(e=dt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Oe.icebreakers)||void 0===n?void 0:n.length)&&(!Ue&&!mn)))))}),[Oe,_e,Ue,mn,dt.data,dt.isLoading]),Dn=d((()=>{if(Fe||qe)return!1;const e=cn&&ze.length>0&&ze.every((e=>"finished"===e.status));return!(!ut.trim()&&!e)&&ze.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[cn,Fe,qe,ut,ze]);u(oe,(()=>({onSubmit:Ln}))),c((()=>{Pe(Pn)}),[Pn]),c((()=>{var e;if(i){const t=Array.from(Ve),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Ln(n,!0)}}),[i]),c((()=>{if(!Dt.current||!ne)return;const e=new ResizeObserver((e=>{for(const t of e)ne(t.contentRect.height)}));return e.observe(Dt.current),()=>{e.disconnect()}}),[ne]),c((()=>{if(!Xt)return;const e=Ct.current?`${Ct.current} `:"";mt(`${e}${Bt}`)}),[Bt,Xt]),c((()=>{if(!At.current)return;(()=>{if(!At.current)return;let e=At.current.scrollHeight>52;ut.includes("\n")||ze.length?e=!0:ut.trim()||(e=!1),ft(e)})()}),[ut,ze]),c((()=>{const e=At.current,t=Pt.current;if(!e||!t||pt||ut.includes("\n"))return void ht(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=ut||gn,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;ht(i>l)}),[ut,pt,gn]);const Ln=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o,i;let r=null;try{if(Fe||qe)return;const a=ze.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),l=a.map((e=>e.documentId)).filter(Boolean),c=a.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),d=null!=e?e:ut,u=null!==(s=null===(t=null==Oe?void 0:Oe.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&l.length>0;if(!d&&!u)return;Ge(""),et(""),Je(null),mt(""),Ae(!1),We("fetching"),nt(),ot();const m=[...n?Array.from(Ve.slice(0,Ve.length-1)):Array.from(Ve),...n?[]:[{id:Ve.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:u?l:[]}],{id:Ve.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];He(m),ot(),u&&Ze([]);const p=K(je),f="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;r=f,Et.current=f,Ut.current=null,Tt.current=[];const g=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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:ge,pickaxeId:he,sessionId:ve,submissionId:f,senderType:ye,value:d},u&&{documentIds:l}),be&&{sender:be}),$e&&{studioSessionToken:$e}),!$e&&!be&&{sender:X()}),xe&&{portalId:xe}),je&&{deploymentId:je}),p&&{metadata:p}),u&&c.length>0?{uploadedModelImages:c}:{})),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()})},ln&&{credentials:"include"})),h=yield g.json();if(!h.success){if(fn(h))return;const e=new Error(h.error||h.message||(null==Ne?void 0:Ne["failed-to-start-generation"])||"Failed to start generation");throw h.limitData&&(e.limitData=h.limitData),e}const v=null!==(o=h.submissionId)&&void 0!==o?o:f;r=v,Et.current=v;const b=()=>Ut.current===v;if(b())return;un&&_e&&ve&&Rt.current.add(ve);const y=Object.assign(Object.assign({},In()),{message:d,documentIds:u?l:[],uploadedModelImages:u?c:[],hasUploadedDocuments:u,isHidden:n,metadata:null!=p?p:null});jt?(On(),F(y)):Mt.current=y,We("streaming"),Lt.current=new AbortController;const x=m.length-1,j=[];let I=[...null!=it?it:[]],O=0,w=!1,k="";for(;!w;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${v}?index=${O}`,{signal:null===(i=Lt.current)||void 0===i?void 0:i.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,s=S({onEvent:e=>{var t,n;if(b())w=!0;else if(e.event&&"ping"!==e.event&&O++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),n=t.error||t.message||(null==Ne?void 0:Ne["something-went-wrong"])||"Something went wrong.";return fn(t)||Ge(n),void(w=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&se){const e=s.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw w=!0,se({smitheryId:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw w=!0,se({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)k="",j.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("text-end"===s.type)k="";else if("reasoning-start"===s.type)k="",j.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("reasoning-end"===s.type)k="";else if(s.type.startsWith("data-")){const e=s;j.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Tt.current=z(j),He([...m.slice(0,x),Object.assign(Object.assign({},m[m.length-1]),{id:Ve.length+1,role:"assistant",parts:j})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),at([...I]),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),at(I),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),at(I),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");I=I.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),at(I)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);at(I.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),n=t.error||t.message||(null==Ne?void 0:Ne["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(fn(t))return void(w=!0);Ge(n)}else"stop"===e.event&&(w=!0)}else w=!0}});for(;;){if(b()){w=!0,t.cancel().catch((()=>{}));break}const{value:e,done:o}=yield t.read();if(b()){w=!0,t.cancel().catch((()=>{}));break}if(o)break;s.feed(n.decode(e))}w||b()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||q(e)||b())return void(w=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Me||Me(ve)}catch(e){if(q(e))return;if(e.limitData)Je(e.limitData),Ge("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Ne?void 0:Ne["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),fn(t)||Ge(t)}}finally{const e=!r||Et.current===r;ot(),e&&(We("idle"),st(),_t.current=null),r&&e&&(Et.current=null,Tt.current=[]),yield vn()}}));return pn?null:n("div",Object.assign({className:M("flex w-full flex-shrink-0 flex-col items-center",!mn&&"px-4 pb-8"),dir:Ee?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:Dt,className:M("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===we.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},sn),{maxHeight:`${$t}px`,overflowY:"auto"})},{children:[An&&s("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:sn.backgroundColor?`${sn.backgroundColor}E6`:void 0,borderColor:ke.text+"20",color:ke.text,borderTopRightRadius:we.cornerRadius+"px",borderTopLeftRadius:we.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:s("span",{children:[Cn.toLocaleString()," ",xn?(null==Ne?void 0:Ne.credits)||"Credits":(null==Ne?void 0:Ne.uses)||"Uses"," ",(null==Ne?void 0:Ne.remaining)||"remaining"]})})),s("div",Object.assign({className:"flex items-center gap-3"},{children:[n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ke.accent,color:ke.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=$({baseUrl:yt,accessGroupId:null==Te?void 0:Te.accessGroupId});t&&(B()?window.open(t):location.href=t)}},{children:(null==Ne?void 0:Ne["pricing.upgrade"])||(null==Ne?void 0:Ne.upgrade)||"Upgrade"})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>wt(!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"})}))}))]}))]})),!Fe&&ze.length>0&&n(T,{className:"p-4 pb-0",isDisabled:Fe}),s("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Xt&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(fe=ke.accent)&&void 0!==fe?fe:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ke.text+"90"}},{children:(null==Ne?void 0:Ne.listening)||"Listening..."}))]})),n(A,Object.assign({ref:At,className:M(nn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!ut.trim()&&!ut.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ee?"text-right":"text-left",hn&&"mb-12",Xt&&"text-transparent"),value:ut,placeholder:gn,onChange:e=>{mt(e)},onKeyDown:e=>{Ce||Wt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),qe||Fe||Ln()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!cn)return;e.preventDefault(),Ae(!1),yield Ye(t)}}))},Q&&{onFocus:Q},te&&{onBlur:te},{dir:Ee?"rtl":"ltr"})),n("div",Object.assign({ref:Pt,className:M("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",hn?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!hn&&sn.backgroundColor&&{backgroundColor:sn.backgroundColor}),{borderTopRightRadius:we.cornerRadius+"px",borderBottomRightRadius:we.cornerRadius+"px"})},{children:Fe?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=Et.current;e&&(Ut.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:Et.current))return;const t=z(Tt.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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})},ln&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),Lt.current&&(Lt.current.abort(),Lt.current=null),_t.current&&(_t.current.cancel().catch((()=>{})),_t.current=null),We("idle")},style:{backgroundColor:ke.accent,color:ke.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Xt?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:Ht,style:{backgroundColor:ke.accent,color:ke.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[cn&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Qt?ke.accent+"10":void 0,color:Qt?ke.accent:ke.accent+"80"},disabled:qe||Fe,onClick:()=>{var e;return null===(e=St.current)||void 0===e?void 0:e.click()}},Yt,{children:[n("input",{id:"file-upload",ref:St,type:"file",accept:[...w,...k,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Ae(!1),yield Ye(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),dn&&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:Xt?ke.accent:en?ke.accent+"10":void 0,color:Xt?ke.accentText:en?ke.accent:ke.accent+"80"},disabled:qe||Fe||Kt,onClick:()=>{Xt?Ht():(Ct.current=ut,Ft(Se||"en-US"))}},tn,{children:n(E,{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:Gt||Dn?ke.accent:ke.accent+"10",color:Gt||Dn?ke.accentText:ke.accent+"80"},disabled:!Dn,onClick:()=>Ln()},zt,{children:n(_,{className:M("h-6 w-6 shrink-0",Ee&&"scale-x-[-1] transform")})}))]})}))]}))]})),Qe&&n(P,{error:Qe,className:"mt-3"})]}))}))}));te.displayName="Input";export{te as default};
|
|
1
|
+
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,Fragment as o}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useCallback as l,useEffect as c,useMemo as d,useImperativeHandle as u}from"react";import{usePickaxeContext as m}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as p}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as g}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as h}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as v}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 j}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as I}from"../../../hooks/core/useHover.js";import{useMediaQuery as O}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as w,allowedImageMimeTypes as k,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as S}from"eventsource-parser";import C from"../../Icons/attach-vertical.svg.js";import _ from"../../Icons/arrow-right.svg.js";import E 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 L from"../../../common/api/pickaxe.js";import{getValidationFailure as R}from"../../../common/validation.js";import M from"../../../common/cn.js";import{buildUpgradeUrl as $,isInIframe as B,initializeEmbedUserId as X}from"../../../common/utils.js";import{getPickaxeConfigMetadata as K}from"../../../common/pickaxeConfig.js";import{fireDeploymentSessionInitializedWebhook as V,fireDeploymentFirstMessageSubmittedWebhook as F}from"../../../common/deploymentWebhooks.js";import{useStudio as H}from"../../../hooks/studio/useStudio.js";import{useSpeech as W}from"../../../hooks/pickaxe/useSpeech.js";import{STUDIO_INFINITY_VALUE as J}from"../common/PickaxeCommon.js";const G=e=>"string"==typeof e&&e.trim().length>0,z=e=>e.map((e=>Object.assign({},e))),q=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Q=(e,t)=>{if(e&&"object"==typeof e)return e[t]},Y=(e,t)=>{const n=Q(e,t);return G(n)?n:null},Z=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ee=({studioUser:e,deploymentId:t,portalId:n})=>{var s,o;const i=Array.isArray(Q(e,"uses"))?Q(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>G(e)?{type:"deployment",id:e}:G(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(s=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==s?s:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},te=i((({resubmitPrompt:i,onFocus:Q,onBlur:te,onInputHeightChange:ne,initSmitheryAuthData:se},oe)=>{var ie,re,ae,le,ce,de,ue,me,pe,fe;const{origin:ge,pickaxeId:he,sessionId:ve,sender:be,senderType:ye,portalId:xe,deploymentId:je,deploymentType:Ie,pickaxe:Oe,styles:we,colors:ke,translations:Ne,locale:Se,forceMobile:Ce,isNewChat:_e,isRtl:Ee,isShowFeedbackMessage:Ue,accessGroup:Te,setIsNewChat:Ae,setIsShowIceBreaker:Pe,setValidationStatus:De,setValidationUpgradeGroups:Le,setValidationUpgradeUrl:Re,onGenerateComplete:Me}=m(),{token:$e,isLoggedOut:Be,isSent:Xe,isPricingAuth:Ke}=b(),{messages:Ve,isGenerating:Fe,setMessages:He,setStatus:We,setLimitData:Je,setError:Ge}=p(),{documents:ze,isUploading:qe,documentError:Qe,onFileUpload:Ye,setDocuments:Ze,setDocumentError:et}=y(),{studio:tt}=H(),{scrollStartSession:nt,scrollEndSession:st,scrollToBottom:ot}=x({auto:!0}),{artifacts:it,currentPopupType:rt,setArtifacts:at,setCurrentArtifact:lt}=j(),{height:ct}=v(),dt=h(),[ut,mt]=r(""),[pt,ft]=r(!1),[gt,ht]=r(!1),[vt,bt]=r(null),[yt,xt]=r(null),[jt,It]=r(!1),[Ot,wt]=r(!1),[kt,Nt]=r(0),St=a(null),Ct=a(""),_t=a(null),Et=a(null),Ut=a(null),Tt=a([]),At=a(null),Pt=a(null),Dt=a(null),Lt=a(null),Rt=a(new Set),Mt=a(null),$t=Math.max(.4*ct,100),{speechTranscript:Bt,isSpeechListening:Xt,isSpeechProcessing:Kt,isSpeechSupported:Vt,onStartListening:Ft,onStopListening:Ht}=W(),[Wt]=O("(max-width: 480px)"),Jt=I(),{isHover:Gt}=Jt,zt=e(Jt,["isHover"]),qt=I(),{isHover:Qt}=qt,Yt=e(qt,["isHover"]),Zt=I(),{isHover:en}=Zt,tn=e(Zt,["isHover"]),nn=g(),sn=f(),on="undefined"!=typeof window?window.location.hostname:"",rn="undefined"!=typeof window?window.location.href:"",an="undefined"!=typeof window&&window.self!==window.top,ln=on.includes("pickaxe.co")&&!rn.includes("https://studio.pickaxe.co/_embed")&&!an,cn=null!==(re=null===(ie=null==Oe?void 0:Oe.documentuploadtype)||void 0===ie?void 0:ie.startsWith("enduserupload"))&&void 0!==re&&re,dn=Vt&&(null==Oe?void 0:Oe.enablevoicetotext),un=G(je),mn="chat-input"===Ie&&_e&&!Xe,pn="chat-input"===Ie&&Ke&&Be&&Xe,fn=l((e=>{const t=R(e);return!!t&&(Ge(""),Je(null),De(t.status),Le(t.upgradeGroups),Re(t.upgradeUrl),!0)}),[Ge,Je,De,Le,Re]),gn=null!==(ae=null==Oe?void 0:Oe.placeholdertext)&&void 0!==ae?ae:Ee?"بماذا تريد أن تتحدث؟":(null==Ne?void 0:Ne["what-do-you-want-to-talk-about"])||"What do you want to talk about?",hn=pt||gt,vn=l((()=>t(void 0,void 0,void 0,(function*(){It(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Oe?void 0:Oe.studioid},$e?{studioSessionToken:$e}:be?{sender:be}:{sender:X()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),ln&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(bt(t.studioUser),xt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{It(!0)}}))),[ln,null==Oe?void 0:Oe.studioid,be,$e]);c((()=>{vn()}),[vn]);const bn=Number(null!==(le=null==Te?void 0:Te.limit)&&void 0!==le?le:0),yn="string"==typeof(null==Te?void 0:Te.limitInterval)?Te.limitInterval:null,xn=!!(null==tt?void 0:tt.data.usage)&&tt.data.usage.isCredits,jn=d((()=>ee({studioUser:vt,deploymentId:je,portalId:xe})),[je,xe,vt]);c((()=>{un&&_e&&ve&&Rt.current.add(ve)}),[_e,ve,un]);const In=l((()=>{var e,t,n;return{studioId:null==Oe?void 0:Oe.studioid,userEmail:Y(vt,"email"),userId:null!==(e=Y(vt,"userId"))&&void 0!==e?e:Y(vt,"userid"),sessionId:ve,deploymentId:je,deploymentType:Ie,portalId:xe,accessGroupId:null!==(t=null==Te?void 0:Te.accessGroupId)&&void 0!==t?t:null,pickaxeId:he,sender:be,senderType:ye,origin:ge,metadata:null!==(n=K(je))&&void 0!==n?n:null}}),[null==Te?void 0:Te.accessGroupId,je,Ie,ge,null==Oe?void 0:Oe.studioid,he,xe,be,ye,ve,vt]),On=l((()=>!!(un&&jt&&ve)&&(!!Rt.current.has(ve)&&(V(In()),Rt.current.delete(ve),!0))),[In,jt,ve,un]);c((()=>{if(!jt||!ve)return;On();const e=Mt.current;(null==e?void 0:e.sessionId)===ve&&(F(Object.assign(Object.assign(Object.assign({},e),In()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Mt.current=null)}),[On,In,jt,ve]);const wn={currentUses:Z(null==vt?void 0:vt.currentUses),extraUses:Z(null==vt?void 0:vt.extraUses)},kn=jn.scope?{currentUses:null!==(de=Z(null===(ce=jn.record)||void 0===ce?void 0:ce.currentUses))&&void 0!==de?de:0,extraUses:null!==(me=Z(null===(ue=jn.record)||void 0===ue?void 0:ue.extraUses))&&void 0!==me?me:0}:{currentUses:0,extraUses:0},Nn=Y(vt,"type"),Sn="guest"===Nn||!Nn&&Be?kn:wn;c((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(xn&&(null===(t=null==tt?void 0:tt.data)||void 0===t?void 0:t.workspaceId))try{const t=yield L.get(`/cost_per_run?workspaceId=${tt.data.workspaceId}`,{withCredentials:!1});e&&Nt(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&Nt(0)}else e&&Nt(0)})),()=>{e=!1}}),[xn,null===(pe=null==tt?void 0:tt.data)||void 0===pe?void 0:pe.workspaceId]);const Cn=(({currentUses:e,extraUses:t,limit:n,limitInterval:s})=>{const o=Number(null!=e?e:0),i=Number(null!=t?t:0);return n===J||i===J?J:"one_time"===s?Math.max(0,i-o):(console.log("Calculating remaining balance with limit:",n,"currentUses:",o,"extraUses:",i),Math.max(0,n-o)+i)})({currentUses:Sn.currentUses,extraUses:Sn.extraUses,limit:bn,limitInterval:yn}),_n=Cn===J?J:Math.max(0,Math.ceil(Cn)),En=(({extraUses:e,limit:t,limitInterval:n})=>{const s=Number(null!=e?e:0);return t===J||s===J?J:"one_time"===n?Math.max(0,s):Math.max(0,t)+Math.max(0,s)})({extraUses:Sn.extraUses,limit:bn,limitInterval:yn}),Un=En===J?J:Math.ceil(.05*En),Tn=xn?Math.ceil(5*kt):5,An=Un===J?J:Math.max(Un,Tn),Pn=d((()=>!!vt&&(!Ot&&(_n!==J&&_n<=An))),[Ot,An,_n,vt]),Dn=d((()=>{var e,t,n;return!!_e&&(!!Oe&&(!dt.isLoading&&(!((null!==(t=null===(e=dt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Oe.icebreakers)||void 0===n?void 0:n.length)&&(!Ue&&!mn)))))}),[Oe,_e,Ue,mn,dt.data,dt.isLoading]),Ln=d((()=>{if(Fe||qe)return!1;const e=cn&&ze.length>0&&ze.every((e=>"finished"===e.status));return!(!ut.trim()&&!e)&&ze.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[cn,Fe,qe,ut,ze]);u(oe,(()=>({onSubmit:Rn}))),c((()=>{Pe(Dn)}),[Dn]),c((()=>{var e;if(i){const t=Array.from(Ve),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Rn(n,!0)}}),[i]),c((()=>{if(!Dt.current||!ne)return;const e=new ResizeObserver((e=>{for(const t of e)ne(t.contentRect.height)}));return e.observe(Dt.current),()=>{e.disconnect()}}),[ne]),c((()=>{if(!Xt)return;const e=Ct.current?`${Ct.current} `:"";mt(`${e}${Bt}`)}),[Bt,Xt]),c((()=>{if(!At.current)return;(()=>{if(!At.current)return;let e=At.current.scrollHeight>52;ut.includes("\n")||ze.length?e=!0:ut.trim()||(e=!1),ft(e)})()}),[ut,ze]),c((()=>{const e=At.current,t=Pt.current;if(!e||!t||pt||ut.includes("\n"))return void ht(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=ut||gn,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;ht(i>l)}),[ut,pt,gn]);const Rn=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o,i;let r=null;try{if(Fe||qe)return;const a=ze.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),l=a.map((e=>e.documentId)).filter(Boolean),c=a.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),d=null!=e?e:ut,u=null!==(s=null===(t=null==Oe?void 0:Oe.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&l.length>0;if(!d&&!u)return;Ge(""),et(""),Je(null),mt(""),Ae(!1),We("fetching"),nt(),ot();const m=[...n?Array.from(Ve.slice(0,Ve.length-1)):Array.from(Ve),...n?[]:[{id:Ve.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:u?l:[]}],{id:Ve.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];He(m),ot(),u&&Ze([]);const p=K(je),f="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;r=f,Et.current=f,Ut.current=null,Tt.current=[];const g=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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:ge,pickaxeId:he,sessionId:ve,submissionId:f,senderType:ye,value:d},u&&{documentIds:l}),be&&{sender:be}),$e&&{studioSessionToken:$e}),!$e&&!be&&{sender:X()}),xe&&{portalId:xe}),je&&{deploymentId:je}),p&&{metadata:p}),u&&c.length>0?{uploadedModelImages:c}:{})),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()})},ln&&{credentials:"include"})),h=yield g.json();if(!h.success){if(fn(h))return;const e=new Error(h.error||h.message||(null==Ne?void 0:Ne["failed-to-start-generation"])||"Failed to start generation");throw h.limitData&&(e.limitData=h.limitData),e}const v=null!==(o=h.submissionId)&&void 0!==o?o:f;r=v,Et.current=v;const b=()=>Ut.current===v;if(b())return;un&&_e&&ve&&Rt.current.add(ve);const y=Object.assign(Object.assign({},In()),{message:d,documentIds:u?l:[],uploadedModelImages:u?c:[],hasUploadedDocuments:u,isHidden:n,metadata:null!=p?p:null});jt?(On(),F(y)):Mt.current=y,We("streaming"),Lt.current=new AbortController;const x=m.length-1,j=[];let I=[...null!=it?it:[]],O=0,w=!1,k="";for(;!w;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${v}?index=${O}`,{signal:null===(i=Lt.current)||void 0===i?void 0:i.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,s=S({onEvent:e=>{var t,n;if(b())w=!0;else if(e.event&&"ping"!==e.event&&O++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),n=t.error||t.message||(null==Ne?void 0:Ne["something-went-wrong"])||"Something went wrong.";return fn(t)||Ge(n),void(w=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&se){const e=s.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw w=!0,se({smitheryId:t[1],serverId:n[1],name:s[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw w=!0,se({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)k="",j.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("text-end"===s.type)k="";else if("reasoning-start"===s.type)k="",j.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("reasoning-end"===s.type)k="";else if(s.type.startsWith("data-")){const e=s;j.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Tt.current=z(j),He([...m.slice(0,x),Object.assign(Object.assign({},m[m.length-1]),{id:Ve.length+1,role:"assistant",parts:j})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),at([...I]),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),at(I),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),at(I),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");I=I.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),at(I)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);at(I.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),n=t.error||t.message||(null==Ne?void 0:Ne["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(fn(t))return void(w=!0);Ge(n)}else"stop"===e.event&&(w=!0)}else w=!0}});for(;;){if(b()){w=!0,t.cancel().catch((()=>{}));break}const{value:e,done:o}=yield t.read();if(b()){w=!0,t.cancel().catch((()=>{}));break}if(o)break;s.feed(n.decode(e))}w||b()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||q(e)||b())return void(w=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Me||Me(ve)}catch(e){if(q(e))return;if(e.limitData)Je(e.limitData),Ge("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Ne?void 0:Ne["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),fn(t)||Ge(t)}}finally{const e=!r||Et.current===r;ot(),e&&(We("idle"),st(),_t.current=null),r&&e&&(Et.current=null,Tt.current=[]),yield vn()}}));return pn?null:n("div",Object.assign({className:M("flex w-full flex-shrink-0 flex-col items-center",!mn&&"px-4 pb-8"),dir:Ee?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:Dt,className:M("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===we.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},sn),{maxHeight:`${$t}px`,overflowY:"auto"})},{children:[Pn&&s("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:sn.backgroundColor?`${sn.backgroundColor}E6`:void 0,borderColor:ke.text+"20",color:ke.text,borderTopRightRadius:we.cornerRadius+"px",borderTopLeftRadius:we.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:s("span",{children:[_n.toLocaleString()," ",xn?(null==Ne?void 0:Ne.credits)||"Credits":(null==Ne?void 0:Ne.uses)||"Uses"," ",(null==Ne?void 0:Ne.remaining)||"remaining"]})})),s("div",Object.assign({className:"flex items-center gap-3"},{children:[n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ke.accent,color:ke.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=$({baseUrl:yt,accessGroupId:null==Te?void 0:Te.accessGroupId});t&&(B()?window.open(t):location.href=t)}},{children:(null==Ne?void 0:Ne["pricing.upgrade"])||(null==Ne?void 0:Ne.upgrade)||"Upgrade"})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>wt(!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"})}))}))]}))]})),!Fe&&ze.length>0&&n(T,{className:"p-4 pb-0",isDisabled:Fe}),s("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Xt&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(fe=ke.accent)&&void 0!==fe?fe:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ke.text+"90"}},{children:(null==Ne?void 0:Ne.listening)||"Listening..."}))]})),n(A,Object.assign({ref:At,className:M(nn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!ut.trim()&&!ut.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ee?"text-right":"text-left",hn&&"mb-12",Xt&&"text-transparent"),value:ut,placeholder:gn,onChange:e=>{mt(e)},onKeyDown:e=>{Ce||Wt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),qe||Fe||Rn()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!cn)return;e.preventDefault(),Ae(!1),yield Ye(t)}}))},Q&&{onFocus:Q},te&&{onBlur:te},{dir:Ee?"rtl":"ltr"})),n("div",Object.assign({ref:Pt,className:M("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",hn?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!hn&&sn.backgroundColor&&{backgroundColor:sn.backgroundColor}),{borderTopRightRadius:we.cornerRadius+"px",borderBottomRightRadius:we.cornerRadius+"px"})},{children:Fe?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=Et.current;e&&(Ut.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:Et.current))return;const t=z(Tt.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/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})},ln&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),Lt.current&&(Lt.current.abort(),Lt.current=null),_t.current&&(_t.current.cancel().catch((()=>{})),_t.current=null),We("idle")},style:{backgroundColor:ke.accent,color:ke.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Xt?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:Ht,style:{backgroundColor:ke.accent,color:ke.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[cn&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Qt?ke.accent+"10":void 0,color:Qt?ke.accent:ke.accent+"80"},disabled:qe||Fe,onClick:()=>{var e;return null===(e=St.current)||void 0===e?void 0:e.click()}},Yt,{children:[n("input",{id:"file-upload",ref:St,type:"file",accept:[...w,...k,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Ae(!1),yield Ye(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),dn&&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:Xt?ke.accent:en?ke.accent+"10":void 0,color:Xt?ke.accentText:en?ke.accent:ke.accent+"80"},disabled:qe||Fe||Kt,onClick:()=>{Xt?Ht():(Ct.current=ut,Ft(Se||"en-US"))}},tn,{children:n(E,{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:Gt||Ln?ke.accent:ke.accent+"10",color:Gt||Ln?ke.accentText:ke.accent+"80"},disabled:!Ln,onClick:()=>Rn()},zt,{children:n(_,{className:M("h-6 w-6 shrink-0",Ee&&"scale-x-[-1] transform")})}))]})}))]}))]})),Qe&&n(P,{error:Qe,className:"mt-3"})]}))}))}));te.displayName="Input";export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as s,jsxs as t}from"react/jsx-runtime";import{usePickaxe as o}from"../../hooks/pickaxe/usePickaxe.js";import{useState as i,useMemo as r,useEffect as a}from"react";import{usePickaxeContext as l}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as n}from"./Addons/Auth/hooks/useAuthContext.js";import{
|
|
1
|
+
import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as s,jsxs as t}from"react/jsx-runtime";import{usePickaxe as o}from"../../hooks/pickaxe/usePickaxe.js";import{useState as i,useMemo as r,useEffect as a}from"react";import{usePickaxeContext as l}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as n}from"./Addons/Auth/hooks/useAuthContext.js";import{useAuthBootstrap as c}from"./Addons/Auth/hooks/useAuthBootstrap.js";import{useResponseContext as d}from"../../hooks/pickaxe/useResponseContext.js";import{useDocumentContext as u}from"./Addons/Document/hooks/useDocumentContext.js";import{useArtifactContext as m}from"./Addons/Artifact/hooks/useArtifactContext.js";import{v4 as p}from"uuid";import{ScrollProvider as f}from"./Addons/Scroll/Provider.js";import x from"./common/PickaxeSkeleton.js";import h from"./Chat/index.js";import v from"./Form/index.js";import g from"./Addons/Auth/index.js";import j from"../../common/cn.js";import b from"../../common/api/pickaxe.js";import{getValidationFailure as k}from"../../common/validation.js";import y from"./common/AccessGroupCardPreview.js";import{Avatar as w,AvatarImage as N,AvatarFallback as O}from"./common/PickaxeAvatar.js";import _ from"../Icons/lock.svg.js";import{EmbeddedCheckoutProvider as A,EmbeddedCheckout as I}from"../../node_modules/.pnpm/@stripe_react-stripe-js@4.0.2_@stripe_stripe-js@7.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@stripe/react-stripe-js/dist/react-stripe.esm.mjs.js";import{loadStripe as C}from"../../node_modules/.pnpm/@stripe_stripe-js@7.9.0/node_modules/@stripe/stripe-js/dist/index.mjs.js";const S=({className:e})=>s("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e},{children:s("polyline",{points:"15 18 9 12 15 6"})})),q=({pickaxeId:q,className:P})=>{const{sessionId:U,styles:G,colors:T,responsiveBy:L,deploymentType:R,isNewChat:E,isEmbed:B,opacity:D,deploymentId:$,sender:F,portalId:V,validationStatus:M,validationUpgradeGroups:W,validationUpgradeUrl:z,stripeAccountId:H,clientSecret:J,translations:K,preventInitialSessionId:X,setClientSecret:Y,setStripeAccountId:Q,setValidationStatus:Z,setValidationUpgradeGroups:ee,setValidationUpgradeUrl:se,setContextId:te,setPickaxeId:oe,setSessionId:ie,setPickaxe:re,setAccessGroup:ae}=l(),{isSent:le,token:ne,isAuthBootstrapComplete:ce}=n(),{setMessages:de,setResponse:ue,setError:me,setLimitData:pe,setIsSwitchedToChat:fe}=d(),{setDocumentError:xe}=u(),{setCurrentArtifact:he}=m(),[ve,ge]=i(!1),je=o();c();const be="chat-input"===R&&E&&!le,ke=r((()=>H?C(process.env.NEXT_PUBLIC_STRIPE_KEY,{stripeAccount:H}):null),[H]);a((()=>{oe(q)}),[q]);a((()=>{if(!$&&!V||!je.data)return;if(!ce)return;if("stripe_checkout"===M)return;e(void 0,void 0,void 0,(function*(){var e;Z("loading");try{const s=yield b.post("/validate_studio_deployment",{data:{deploymentId:$,sender:F||void 0,studioSessionToken:ne,portalId:V,studioId:null===(e=je.data)||void 0===e?void 0:e.studioid}});if(s.data.success)Z("success"),ee([]),se(null),ae(s.data.accessGroup);else{const e=k(s.data);if(!e)return Z("login_required"),ee([]),void se(null);Z(e.status),ee(e.upgradeGroups),se(e.upgradeUrl),ge(!0)}}catch(e){console.error("Failed to validate deployment:",e),Z("success")}}))}),[$,ce,F,ne,V,je.data]),a((()=>{if(!je.data)return;const e=je.data.chatflag;X||ie(e?p():""),te(p()),e?de([]):ue(null),me(""),xe(""),pe(null),he(null),fe(!1),re(je.data),ge(!0)}),[je.data]),a((()=>{me(""),xe(""),pe(null),de([]),ue(null),he(null)}),[U]);const ye=r((()=>{const e=null!=D?D:1;if(!T.primary||!T.primary.startsWith("#")||e<0||e>1)return T.primary;const s=Math.round(255*e).toString(16).padStart(2,"0");return`${T.primary}${s}`}),[T.primary,D]);if(!je.data)return null;return s("div",Object.assign({className:j("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===G.theme&&"dark",P),style:Object.assign({backgroundColor:be?"transparent":ye,color:T.text},G.font&&"Real Head Pro"!==G.font&&{fontFamily:G.font})},{children:(()=>{var o,i;if("stripe_checkout"===M&&J&&ke)return t("div",Object.assign({className:"absolute inset-0 z-[999] flex flex-col w-full h-full overflow-hidden",style:{backgroundColor:T.secondary||"#ffffff",color:T.secondaryText||"#000000"}},{children:[s("div",Object.assign({className:"flex items-center p-4 border-b border-gray-100 shrink-0"},{children:t("button",Object.assign({onClick:()=>{Y&&Y(null),Q&&Q(null),Z("success")},className:"flex items-center gap-2 text-sm font-semibold opacity-70 hover:opacity-100 transition-opacity",style:{color:T.text}},{children:[s(S,{className:"w-5 h-5"}),s("span",{children:(null==K?void 0:K.back)||"Back"})]}))})),s("div",Object.assign({className:"flex-1 w-full h-full overflow-y-auto [&>div]:h-full"},{children:s(A,Object.assign({stripe:ke,options:{clientSecret:J}},{children:s(I,{})}))}))]}));if(je.isLoading||!ve||"loading"===M)return s("div",Object.assign({className:j("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===L?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:t("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[s(x,{className:"w-[72px] h-[72px]"}),s(x,{className:"h-[20px] mt-6 w-full"}),s(x,{className:"h-[20px] mt-2 w-full"}),s(x,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),s("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:s(x,{className:j("w-full min-h-[48px]","viewport"===L?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))}));if("upgrade_required"===M){const e=W.length>0;return s("div",Object.assign({className:"flex h-full min-h-0 w-full items-start justify-center overflow-y-auto p-4"},{children:t("div",e?Object.assign({className:"flex w-full max-w-4xl flex-col items-center gap-6 py-6"},{children:[t("div",Object.assign({className:"max-w-[640px] text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2 break-words"},{children:(null==K?void 0:K["upgrade-required"])||"Upgrade Required"})),s("p",Object.assign({className:"break-words opacity-80"},{children:(null==K?void 0:K["please-upgrade-to-continue-using-this-tool"])||"Please upgrade to continue using this tool."}))]})),s("div",Object.assign({className:"flex w-full flex-wrap justify-center gap-4"},{children:W.map(((e,t)=>s(y,{data:e,upgradeUrl:z},e.accessGroupId||e.id||t)))}))]}):Object.assign({className:"m-auto text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==K?void 0:K["access-locked"])||"Access Locked"})),s("p",Object.assign({className:"opacity-80"},{children:(null==K?void 0:K["this-tool-is-locked-contact-owner"])||"This tool is locked to use. Contact owner for more information."}))]}))}))}return"login_required"===M&&B?s(g,{}):"login_required"!==M||B?"access_denied"===M?t("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:[t(w,Object.assign({className:"h-[68px] w-[68px] mb-4"},{children:[s(N,{src:null===(o=je.data)||void 0===o?void 0:o.coverphoto,alt:`${null===(i=je.data)||void 0===i?void 0:i.formtitle} Logo`}),s(O,{})]})),t("div",Object.assign({className:"text-center mb-6"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==K?void 0:K["access-denied"])||"Access Denied"})),t("div",Object.assign({className:"w-[400px] text-xl flex justify-center items-start"},{children:[s(_,{className:"h-6 w-6 mr-[-20px] shrink-0"}),s("p",Object.assign({className:"ml-1"},{children:(null==K?void 0:K["no-access-request-access"])||"It looks like you don't have access to these resources. Please request access to continue."}))]}))]})),s("button",Object.assign({className:"px-6 py-2 font-medium rounded-md transition-colors",style:{backgroundColor:T.accent,color:T.accentText,borderRadius:G.cornerRadius},onClick:()=>{e(void 0,void 0,void 0,(function*(){var e,s;const t=W.map((e=>e.accessGroupId));try{const o=yield b.post("/request_access",{data:{sender:F||void 0,studioSessionToken:ne,studioId:null===(e=je.data)||void 0===e?void 0:e.studioid,message:JSON.stringify({toolId:null===(s=je.data)||void 0===s?void 0:s.formid,deploymentId:$,accessGroupIds:t})}});o.data.success?alert((null==K?void 0:K["access-requested-successfully"])||"Successfully requested access!"):alert(o.data.error)}catch(e){alert(`Couldn't request access. Error: ${e}`)}}))}},{children:(null==K?void 0:K["request-access"])||"Request Access"})),s("span",Object.assign({className:"mt-4 mb-2"},{children:(null==K?void 0:K.or)||"or"})),s("span",Object.assign({className:"font-medium text-lg"},{children:(null==K?void 0:K["sign-in-with-different-account"])||"Sign in with a different account"}))]})):s(f,U?{children:s(h,{})}:{children:s(v,{})}):s("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:t("div",Object.assign({className:"text-center mb-8"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==K?void 0:K["access-denied"])||"Access Denied"})),s("p",Object.assign({className:"opacity-80"},{children:(null==K?void 0:K["login-is-required"])||"Login is required."}))]}))}))})()}))};export{q as Pickaxe};
|
|
@@ -11,6 +11,7 @@ type AuthContextType = {
|
|
|
11
11
|
isResendDisabled: boolean;
|
|
12
12
|
isSent: boolean;
|
|
13
13
|
isPricingAuth: boolean;
|
|
14
|
+
isAuthBootstrapComplete: boolean;
|
|
14
15
|
setEmailInput: SetState<string>;
|
|
15
16
|
setToken: SetState<string | null>;
|
|
16
17
|
setIsLoggingIn: SetState<boolean>;
|
|
@@ -19,6 +20,7 @@ type AuthContextType = {
|
|
|
19
20
|
setIsSent: SetState<boolean>;
|
|
20
21
|
setIsPricingAuth: SetState<boolean>;
|
|
21
22
|
setRedirectUrl: SetState<string | null>;
|
|
23
|
+
setIsAuthBootstrapComplete: SetState<boolean>;
|
|
22
24
|
};
|
|
23
25
|
export interface IAuthProviderProps {
|
|
24
26
|
children: ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useAuthBootstrap: () => void;
|
|
@@ -9,6 +9,7 @@ export declare const useAuthContext: () => {
|
|
|
9
9
|
isResendDisabled: boolean;
|
|
10
10
|
isSent: boolean;
|
|
11
11
|
isPricingAuth: boolean;
|
|
12
|
+
isAuthBootstrapComplete: boolean;
|
|
12
13
|
setEmailInput: import("../../../../../types/common").SetState<string>;
|
|
13
14
|
setToken: import("../../../../../types/common").SetState<string | null>;
|
|
14
15
|
setIsLoggingIn: import("../../../../../types/common").SetState<boolean>;
|
|
@@ -17,4 +18,5 @@ export declare const useAuthContext: () => {
|
|
|
17
18
|
setIsSent: import("../../../../../types/common").SetState<boolean>;
|
|
18
19
|
setIsPricingAuth: import("../../../../../types/common").SetState<boolean>;
|
|
19
20
|
setRedirectUrl: import("../../../../../types/common").SetState<string | null>;
|
|
21
|
+
setIsAuthBootstrapComplete: import("../../../../../types/common").SetState<boolean>;
|
|
20
22
|
};
|