@pickaxeproject/react 6.0.1-0 → 6.0.1-10

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.
Files changed (25) hide show
  1. package/dist/cjs/components/Pickaxe/Addons/Auth/Provider.js +1 -1
  2. package/dist/cjs/components/Pickaxe/Addons/Auth/hooks/useAuth.js +1 -1
  3. package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
  4. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  5. package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  7. package/dist/cjs/components/Pickaxe/common/AccessGroupCardPreview.js +1 -1
  8. package/dist/cjs/components/Pickaxe/common/PickaxeUpgradeCard.js +1 -1
  9. package/dist/cjs/components/Pickaxe/index.js +1 -1
  10. package/dist/cjs/src/components/Pickaxe/Addons/Auth/Provider.d.ts +2 -0
  11. package/dist/cjs/src/components/Pickaxe/Addons/Auth/hooks/useAuth.d.ts +1 -0
  12. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +3 -4
  13. package/dist/esm/components/Pickaxe/Addons/Auth/Provider.js +1 -1
  14. package/dist/esm/components/Pickaxe/Addons/Auth/hooks/useAuth.js +1 -1
  15. package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
  16. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  17. package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
  18. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  19. package/dist/esm/components/Pickaxe/common/AccessGroupCardPreview.js +1 -1
  20. package/dist/esm/components/Pickaxe/common/PickaxeUpgradeCard.js +1 -1
  21. package/dist/esm/components/Pickaxe/index.js +1 -1
  22. package/dist/esm/src/components/Pickaxe/Addons/Auth/Provider.d.ts +2 -0
  23. package/dist/esm/src/components/Pickaxe/Addons/Auth/hooks/useAuth.d.ts +1 -0
  24. package/dist/esm/src/components/Pickaxe/Provider.d.ts +3 -4
  25. 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:n})=>{const[i,r]=t.useState(""),[u,a]=t.useState(null),[o,d]=t.useState(!1),[g,l]=t.useState(!1),[c,S]=t.useState(!1),[I,x]=t.useState(!1);return e.jsx(s.Provider,Object.assign({value:{emailInput:i,token:u,isLoggedIn:!!u,isLoggedOut:!u,isLoggingIn:o,isSending:g,isResendDisabled:c,isSent:I,setEmailInput:r,setToken:a,setIsLoggingIn:d,setIsSending:l,setIsResendDisabled:S,setIsSent:x}},{children:n}))};
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:n})=>{const[i,r]=t.useState(""),[u,a]=t.useState(null),[o,g]=t.useState(!1),[d,c]=t.useState(!1),[l,S]=t.useState(!1),[I,x]=t.useState(!1),[p,h]=t.useState(!1);return e.jsx(s.Provider,Object.assign({value:{emailInput:i,token:u,isLoggedIn:!!u,isLoggedOut:!u,isLoggingIn:o,isSending:l,isResendDisabled:I,isSent:p,isPricingAuth:d,setIsPricingAuth:c,setEmailInput:r,setToken:a,setIsLoggingIn:g,setIsSending:S,setIsResendDisabled:x,setIsSent:h}},{children:n}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react"),i=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),s=require("./useAuthContext.js"),o=require("./useAuthVerify.js"),r=require("../../../../../common/utils.js"),n=require("../../../../../common/api/pickaxe.js"),d=require("../../../../../common/error.js");exports.useAuth=()=>{const{deploymentId:u,pickaxe:a,isEmailLogin:l,setSender:c,setSenderType:f}=i.usePickaxeContext(),{emailInput:m,isSending:k,isLoggedOut:p,setToken:g,setIsLoggingIn:h,setIsSending:I,setIsSent:w,setIsResendDisabled:x}=s.useAuthContext(),y=o.useAuthVerify({token:r.getAuthToken((null==a?void 0:a.studioid)||"")||"",enabled:l&&p,setIsLoggingIn:h});t.useEffect((()=>{if("undefined"==typeof window)return;if(!y.data)return;const{success:e,token:t,error:i}=y.data;e&&!i?(g(t),c(void 0),f("STUDIO_USER")):r.deleteAuthToken(`PXE-token-${null==a?void 0:a.studioid}`)}),[y.data,null==a?void 0:a.studioid]);return{onSend:t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!a)return;if(k)return;const e=m.trim().toLowerCase();if(!e)throw new Error("Email address cannot be empty.");if(!e.includes("@")||!e.includes("."))throw new Error("Please enter a valid email address.");if(!a.studioid)throw new Error(`Studio ID is missing for ${a.formid}. Please contact support.`);I(!0),t&&x(!0);const i=(yield n.default.post("/auth/email",Object.assign({pickaxeId:a.formid,studioId:a.studioid,email:e},u&&{deploymentId:u}))).data;if(!i.success)throw new Error(i.error||"Failed to send sign-in link.");I(!1),w(!0),t&&(yield new Promise((e=>setTimeout(e,3e4))),x(!1)),r.setAuthToken(`PXE-token-${a.studioid}`,i.token)}catch(e){const t=d.default(e);alert(t)}finally{I(!1)}}))}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react"),i=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),o=require("./useAuthContext.js"),s=require("./useAuthVerify.js"),r=require("../../../../../common/utils.js"),n=require("../../../../../common/api/pickaxe.js"),d=require("../../../../../common/error.js"),u=require("../../../../../hooks/pickaxe/useResponseContext.js");exports.useAuth=()=>{const{deploymentId:a,pickaxe:c,setSender:l,setSenderType:f}=i.usePickaxeContext(),{emailInput:k,isSending:p,isLoggedOut:m,isPricingAuth:h,setToken:w,setIsLoggingIn:g,setIsSending:I,setIsSent:x,setIsResendDisabled:v,setIsPricingAuth:y}=o.useAuthContext(),P=s.useAuthVerify({token:r.getAuthToken((null==c?void 0:c.studioid)||"")||"",enabled:h&&m,setIsLoggingIn:g}),{setLimitData:E}=u.useResponseContext();t.useEffect((()=>{if("undefined"==typeof window)return;if(!P.data)return;const{success:e,token:t,error:i}=P.data;if(!e||i)return r.deleteAuthToken(`PXE-token-${null==c?void 0:c.studioid}`),void y(!1);e&&t&&(w(t),l(void 0),f("STUDIO_USER"),h&&(y(!1),E(null)))}),[P.data,null==c?void 0:c.studioid]);return{onSend:t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!c)return;if(p)return;const e=k.trim().toLowerCase();if(!e)throw new Error("Email address cannot be empty.");if(!e.includes("@")||!e.includes("."))throw new Error("Please enter a valid email address.");if(!c.studioid)throw new Error(`Studio ID is missing for ${c.formid}. Please contact support.`);I(!0),t&&v(!0);const i=(yield n.default.post("/auth/email",Object.assign({pickaxeId:c.formid,studioId:c.studioid,email:e},a&&{deploymentId:a}))).data;if(!i.success)throw new Error(i.error||"Failed to send sign-in link.");I(!1),x(!0),t&&(yield new Promise((e=>setTimeout(e,3e4))),v(!1)),r.setAuthToken(`PXE-token-${c.studioid}`,i.token)}catch(e){const t=d.default(e);alert(t)}finally{I(!1)}})),onOpenPricing:t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!c)return;if(!c.studioid)throw new Error(`Studio ID is missing for ${c.formid}. Please contact support.`);const e=(yield n.default.post("/auth/token",{pickaxeId:c.formid,studioId:c.studioid})).data;if(!e.success)throw new Error(e.error||"Failed to create sign-in token.");r.setAuthToken(`PXE-token-${c.studioid}`,e.token),y(!0),window.open(`${t}?embed_token=${e.token}`)}catch(e){const t=d.default(e);alert(t)}}))}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),i=require("../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../Addons/Auth/hooks/useAuthContext.js"),t=require("../../Addons/Auth/hooks/useAuth.js"),l=require("../../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../../hooks/pickaxe/useDimensionContext.js"),r=require("../../Addons/Scroll/hooks/useScrollContext.js"),o=require("../../../../hooks/studio/useStyleFontSize.js"),c=require("../../../../hooks/pickaxe/useConversation.js"),d=require("../../Addons/Artifact/hooks/useArtifactContext.js"),u=require("framer-motion"),x=require("../../../Icons/lock.svg.js"),m=require("../../../Core/ErrorAlert.js"),f=require("../../common/PickaxeHead.js"),j=require("../../common/PickaxeEmbedHead.js"),h=require("../../common/PickaxeUpgradeCard.js"),g=require("../../common/PickaxeSkeleton.js"),p=require("../../common/PickaxeHistoryButton.js"),b=require("../../Addons/Scroll/ScrollLockView.js"),v=require("../../Addons/Artifact/Renderer/index.js"),y=require("./Message.js"),k=require("./CustomMessage.js"),w=require("../../Addons/IceBreaker/index.js"),N=require("../../common/PickaxeBranding.js"),C=require("../../../../common/cn.js");exports.default=({additionalScrollHeight:O,smitheryAuthData:q,isForceHideInfo:S,isInputFocused:A,onSubmit:P,resubmitPrompt:I})=>{var H,L,R,M,D;const{sessionId:E,deploymentType:F,pickaxe:B,translations:T,misc:z,isNewChat:W,isRtl:_,isEmbed:$,isEmailLogin:U,isShowIceBreaker:V,setSessionId:G,setLastSessionId:J}=i.usePickaxeContext(),{emailInput:K,isLoggedOut:Q,isSending:X,isResendDisabled:Y,isSent:Z}=a.useAuthContext(),{onSend:ee}=t.useAuth(),{scrollContainerRef:se}=r.useScrollContext(),{messages:ie,limitData:ae,error:te}=l.useResponseContext(),{height:le,width:ne}=n.useDimensionContext(),{currentArtifact:re,chatPopupType:oe,currentPopupType:ce}=d.useArtifactContext(),de=c.useConversation(),ue=o.useStyleFontSize(),xe=s.useMemo((()=>(null==B?void 0:B.icebreakers)?B.icebreakers.slice(0,3):[]),[null==B?void 0:B.icebreakers]),me=s.useMemo((()=>{const e=!!de.data&&de.data.messages.length>1;return!S&&de.isSuccess&&W&&!e}),[S,de.isSuccess,W,de.data]),fe=s.useMemo((()=>!(null==B?void 0:B.chatflag)&&(null==B?void 0:B.enablechatresponses)&&ie.length>0),[B,ie]),je=s.useMemo((()=>!!de.data&&de.data.messages.some((e=>"intromessage"===e.area))),[de.data]),he="chat-input"===F&&U&&Q&&Z,ge=V&&!A&&!je&&me&&ne>767,pe=V&&!A&&(je||ne<=767),be=()=>{J(E),G("")};return s.useEffect((()=>{se.current&&requestAnimationFrame((()=>{se.current&&(se.current.scrollTop=se.current.scrollHeight)}))}),[O,se]),e.jsxs("div",Object.assign({ref:se,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4"},{children:[e.jsx(u.AnimatePresence,{children:!!re&&"inline"===ce&&e.jsx(u.motion.div,Object.assign({className:C.default("absolute top-0 z-20 w-full px-4 py-2",oe),style:{height:`calc(${le-O}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:e.jsx(v.default,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:re.id,version:re.version}})}))}),e.jsxs("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[me&&$&&e.jsx("div",Object.assign({className:C.default("absolute right-4 top-3 flex items-center gap-2","popup"===F&&"right-12")},{children:e.jsx(p.default,{tip:(null==T?void 0:T["chat-history"])||"Chat History",onClick:be})})),e.jsx(f.default,Object.assign({className:C.default("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",me&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!he&&{onIconClick:be})),$&&!de.isLoading&&e.jsx(j.default,Object.assign({className:C.default("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!me&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==T?void 0:T["chat-history"])||"Chat History"},!he&&{onIconClick:be,onHistoryClick:be})),e.jsxs("div",Object.assign({className:C.default("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",$&&!de.isLoading&&!me&&"mt-0")},{children:[ge&&e.jsx("div",Object.assign({className:C.default("grid grid-cols-3 gap-4",2===xe.length&&"grid-cols-2",1===xe.length&&"grid-cols-1")},{children:e.jsx(w.default,{type:"center",data:xe,onSend:P})})),he?e.jsx("div",Object.assign({className:"flex flex-col w-full"},{children:e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[e.jsx(k.default,Object.assign({chatRole:"user"},{children:e.jsxs("div",Object.assign({className:"flex items-center gap-x-3"},{children:[e.jsx(x.default,{className:"h-6 w-6 shrink-0"}),e.jsx("p",Object.assign({className:"font-semilight"},{children:K}))]}))})),e.jsx(k.default,Object.assign({chatRole:"assistant"},{children:e.jsxs("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(R=null==T?void 0:T["we-sent-your-an-activation-link"])&&void 0!==R?R:"We sent you an activation link. Please be sure to check your spam folder too."} `,e.jsx("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{Y||X||ee(!0)}},{children:X?null!==(M=null==T?void 0:T.resending)&&void 0!==M?M:"Resending...":null!==(D=null==T?void 0:T.resend)&&void 0!==D?D:"Resend"}))]}))}))]}))})):e.jsx(e.Fragment,{children:de.isLoading&&!(null==B?void 0:B.enablechatresponses)?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[W&&e.jsxs("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[e.jsx(g.default,{className:"w-[72px] h-[72px]"}),e.jsx(g.default,{className:"h-[20px] mt-6 w-full"}),e.jsx(g.default,{className:"h-[20px] mt-2 w-full"}),e.jsx(g.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),e.jsx(g.default,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),e.jsx(g.default,{className:"h-[150px] w-[70%] animate-pulse rounded"}),e.jsx(g.default,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):de.isError?e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:e.jsxs("p",Object.assign({className:C.default(ue.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):de.data||fe?e.jsxs("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[(null!==(L=null===(H=de.data)||void 0===H?void 0:H.messages)&&void 0!==L?L:[]).map(((s,i)=>e.jsx(y.default,{index:i,message:s},i))),ie.map(((s,i)=>{var a,t;return e.jsx(y.default,{smitheryData:q,resubmitPrompt:I,index:(null!==(t=null===(a=de.data)||void 0===a?void 0:a.messages.length)&&void 0!==t?t:0)+i,message:s,isLastMessage:i===ie.length-1},i)})),ae?e.jsx("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:e.jsx(h.default,{})})):te?e.jsx("div",Object.assign({className:C.default("flex items-center gap-x-3",_?"justify-end":"justify-start")},{children:e.jsx(m.default,{error:te})})):null]})),e.jsxs("div",Object.assign({className:C.default("flex flex-col",!z.isWhiteLabel||pe&&"mt-4")},{children:[!z.isWhiteLabel&&e.jsx(N.default,{containerClassName:C.default("justify-end",pe&&"mb-2")}),pe&&e.jsx("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:e.jsx(w.default,{type:"right",data:xe,onSend:P})})),e.jsx(b.default,{})]}))]})):null})]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),i=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../Addons/Auth/hooks/useAuthContext.js"),a=require("../../Addons/Auth/hooks/useAuth.js"),l=require("../../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../../hooks/pickaxe/useDimensionContext.js"),r=require("../../Addons/Scroll/hooks/useScrollContext.js"),o=require("../../../../hooks/studio/useStyleFontSize.js"),c=require("../../../../hooks/pickaxe/useConversation.js"),d=require("../../Addons/Artifact/hooks/useArtifactContext.js"),u=require("framer-motion"),x=require("../../../Icons/lock.svg.js"),m=require("../../../Core/ErrorAlert.js"),f=require("../../common/PickaxeHead.js"),j=require("../../common/PickaxeEmbedHead.js"),h=require("../../common/PickaxeUpgradeCard.js"),g=require("../../common/PickaxeSkeleton.js"),p=require("../../common/PickaxeHistoryButton.js"),b=require("../../Addons/Scroll/ScrollLockView.js"),v=require("../../Addons/Artifact/Renderer/index.js"),y=require("./Message.js"),k=require("./CustomMessage.js"),w=require("../../Addons/IceBreaker/index.js"),N=require("../../common/PickaxeBranding.js"),C=require("../../../../common/cn.js");exports.default=({additionalScrollHeight:O,smitheryAuthData:q,isForceHideInfo:A,isInputFocused:S,onSubmit:P,resubmitPrompt:I})=>{var H,R,L,M,D;const{sessionId:F,deploymentType:B,pickaxe:E,translations:T,misc:z,isNewChat:W,isRtl:_,isEmbed:$,isShowIceBreaker:U,setSessionId:V,setLastSessionId:G}=i.usePickaxeContext(),{emailInput:J,isLoggedOut:K,isSending:Q,isResendDisabled:X,isSent:Y,isPricingAuth:Z}=t.useAuthContext(),{onSend:ee}=a.useAuth(),{scrollContainerRef:se}=r.useScrollContext(),{messages:ie,limitData:te,error:ae}=l.useResponseContext(),{height:le,width:ne}=n.useDimensionContext(),{currentArtifact:re,chatPopupType:oe,currentPopupType:ce}=d.useArtifactContext(),de=c.useConversation(),ue=o.useStyleFontSize(),xe=s.useMemo((()=>(null==E?void 0:E.icebreakers)?E.icebreakers.slice(0,3):[]),[null==E?void 0:E.icebreakers]),me=s.useMemo((()=>{const e=!!de.data&&de.data.messages.length>1;return!A&&de.isSuccess&&W&&!e}),[A,de.isSuccess,W,de.data]),fe=s.useMemo((()=>!(null==E?void 0:E.chatflag)&&(null==E?void 0:E.enablechatresponses)&&ie.length>0),[E,ie]),je=s.useMemo((()=>!!de.data&&de.data.messages.some((e=>"intromessage"===e.area))),[de.data]),he="chat-input"===B&&Z&&K&&Y,ge=U&&!S&&!je&&me&&ne>767,pe=U&&!S&&(je||ne<=767),be=()=>{G(F),V("")};return s.useEffect((()=>{se.current&&requestAnimationFrame((()=>{se.current&&(se.current.scrollTop=se.current.scrollHeight)}))}),[O,se]),e.jsxs("div",Object.assign({ref:se,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4"},{children:[e.jsx(u.AnimatePresence,{children:!!re&&"inline"===ce&&e.jsx(u.motion.div,Object.assign({className:C.default("absolute top-0 z-20 w-full px-4 py-2",oe),style:{height:`calc(${le-O}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:e.jsx(v.default,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:re.id,version:re.version}})}))}),e.jsxs("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[me&&$&&e.jsx("div",Object.assign({className:C.default("absolute right-4 top-3 flex items-center gap-2","popup"===B&&"right-12")},{children:e.jsx(p.default,{tip:(null==T?void 0:T["chat-history"])||"Chat History",onClick:be})})),e.jsx(f.default,Object.assign({className:C.default("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",me&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!he&&{onIconClick:be})),$&&!de.isLoading&&e.jsx(j.default,Object.assign({className:C.default("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!me&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==T?void 0:T["chat-history"])||"Chat History"},!he&&{onIconClick:be,onHistoryClick:be})),e.jsxs("div",Object.assign({className:C.default("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",$&&!de.isLoading&&!me&&"mt-0")},{children:[ge&&e.jsx("div",Object.assign({className:C.default("grid grid-cols-3 gap-4",2===xe.length&&"grid-cols-2",1===xe.length&&"grid-cols-1")},{children:e.jsx(w.default,{type:"center",data:xe,onSend:P})})),he?e.jsx("div",Object.assign({className:"flex flex-col w-full"},{children:e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[e.jsx(k.default,Object.assign({chatRole:"user"},{children:e.jsxs("div",Object.assign({className:"flex items-center gap-x-3"},{children:[e.jsx(x.default,{className:"h-6 w-6 shrink-0"}),e.jsx("p",Object.assign({className:"font-semilight"},{children:J}))]}))})),e.jsx(k.default,Object.assign({chatRole:"assistant"},{children:e.jsxs("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(L=null==T?void 0:T["we-sent-your-an-activation-link"])&&void 0!==L?L:"We sent you an activation link. Please be sure to check your spam folder too."} `,e.jsx("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{X||Q||ee(!0)}},{children:Q?null!==(M=null==T?void 0:T.resending)&&void 0!==M?M:"Resending...":null!==(D=null==T?void 0:T.resend)&&void 0!==D?D:"Resend"}))]}))}))]}))})):e.jsx(e.Fragment,{children:de.isLoading&&!(null==E?void 0:E.enablechatresponses)?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[W&&e.jsxs("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[e.jsx(g.default,{className:"w-[72px] h-[72px]"}),e.jsx(g.default,{className:"h-[20px] mt-6 w-full"}),e.jsx(g.default,{className:"h-[20px] mt-2 w-full"}),e.jsx(g.default,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),e.jsx(g.default,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),e.jsx(g.default,{className:"h-[150px] w-[70%] animate-pulse rounded"}),e.jsx(g.default,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):de.isError?e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:e.jsxs("p",Object.assign({className:C.default(ue.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):de.data||fe?e.jsxs("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e.jsxs("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[(null!==(R=null===(H=de.data)||void 0===H?void 0:H.messages)&&void 0!==R?R:[]).map(((s,i)=>e.jsx(y.default,{index:i,message:s},i))),ie.map(((s,i)=>{var t,a;return e.jsx(y.default,{smitheryData:q,resubmitPrompt:I,index:(null!==(a=null===(t=de.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:s,isLastMessage:i===ie.length-1},i)})),te?e.jsx("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:e.jsx(h.default,{})})):ae?e.jsx("div",Object.assign({className:C.default("flex items-center gap-x-3",_?"justify-end":"justify-start")},{children:e.jsx(m.default,{error:ae})})):null]})),e.jsxs("div",Object.assign({className:C.default("flex flex-col",!z.isWhiteLabel||pe&&"mt-4")},{children:[!z.isWhiteLabel&&e.jsx(N.default,{containerClassName:C.default("justify-end",pe&&"mb-2")}),pe&&e.jsx("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:e.jsx(w.default,{type:"right",data:xe,onSend:P})})),e.jsx(b.default,{})]}))]})):null})]}))]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react");require("../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js");var n=require("react-speech-recognition"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../hooks/pickaxe/useResponseContext.js"),o=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),c=require("../../../hooks/pickaxe/useDimensionContext.js"),u=require("../Addons/Auth/hooks/useAuthContext.js"),d=require("../Addons/Document/hooks/useDocument.js"),f=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),m=require("../../../hooks/core/useHover.js"),h=require("../../../hooks/core/useMediaQuery.js"),g=require("../../../common/documents.js"),v=require("eventsource-parser"),b=require("../../Icons/attach-vertical.svg.js"),y=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),j=require("../../Icons/stop.svg.js"),w=require("../Addons/Document/List.js"),O=require("../../Core/Textarea.js"),S=require("../../Core/ErrorAlert.js"),k=require("../../../common/error.js"),I=require("../../../common/cn.js"),C=require("../../../common/utils.js");function N(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var _=N(n);const E=s.forwardRef((({resubmitPrompt:N,onFocus:E,onBlur:A,onInputHeightChange:q,initSmitheryAuthData:R},T)=>{var P,D,L;const{origin:H,pickaxeId:M,sessionId:F,sender:$,senderType:W,portalId:B,deploymentId:U,deploymentType:J,pickaxe:V,styles:z,colors:K,locale:X,forceMobile:G,isNewChat:Q,isRtl:Y,isEmailLogin:Z,isShowFeedbackMessage:ee,setIsNewChat:te,setIsShowIceBreaker:se,onGenerateComplete:ne}=i.usePickaxeContext(),{token:ie,isLoggedOut:re,isSent:oe}=u.useAuthContext(),{messages:ae,isGenerating:le,setMessages:ce,setStatus:ue,setLimitData:de,setError:fe}=r.useResponseContext(),{documents:pe,isUploading:me,documentError:he,onFileUpload:ge,setDocuments:ve,setDocumentError:be}=d.useDocument(),{scrollStartSession:ye,scrollEndSession:xe,scrollToBottom:je}=f.useScroll({auto:!0}),{artifacts:we,currentPopupType:Oe,setArtifacts:Se,setCurrentArtifact:ke}=p.useArtifactContext(),{height:Ie}=c.useDimensionContext(),Ce=l.useConversation(),[Ne,_e]=s.useState(""),[Ee,Ae]=s.useState(!1),[qe,Re]=s.useState(!1),Te=s.useRef(null),Pe=s.useRef(""),De=s.useRef(null),Le=s.useRef(null),He=s.useRef(null),Me=s.useRef(null),Fe=s.useRef(null),$e=Math.max(.4*Ie,100),{transcript:We,listening:Be,resetTranscript:Ue,browserSupportsSpeechRecognition:Je}=n.useSpeechRecognition(),[Ve]=h.useMediaQuery("(max-width: 480px)"),ze=m.useHover(),{isHover:Ke}=ze,Xe=e.__rest(ze,["isHover"]),Ge=m.useHover(),{isHover:Qe}=Ge,Ye=e.__rest(Ge,["isHover"]),Ze=m.useHover(),{isHover:et}=Ze,tt=e.__rest(Ze,["isHover"]),st=a.useStyleFontSize(),nt=o.useStyleInput(),it="undefined"!=typeof window?window.location.hostname:"",rt="undefined"!=typeof window?window.location.href:"",ot="undefined"!=typeof window&&window.self!==window.top,at=it.includes("pickaxe.co")&&!rt.includes("https://studio.pickaxe.co/_embed")&&!ot,lt=null===(P=null==V?void 0:V.documentuploadtype)||void 0===P?void 0:P.startsWith("enduserupload"),ct=Je&&(null==V?void 0:V.enablevoicetotext),ut="chat-input"===J&&Q&&!oe,dt="chat-input"===J&&Z&&re&&oe,ft=null!==(D=null==V?void 0:V.placeholdertext)&&void 0!==D?D:Y?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",pt=Ee||qe,mt=s.useMemo((()=>{var e,t,s;return!!Q&&(!!V&&(!Ce.isLoading&&(!((null!==(t=null===(e=Ce.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=V.icebreakers)||void 0===s?void 0:s.length)&&(!ee&&!ut)))))}),[V,Q,ee,ut,Ce.data,Ce.isLoading]),ht=s.useMemo((()=>{if(le||me)return!1;const e=pe.length>0&&pe.every((e=>"finished"===e.status));return!(!Ne.trim()&&!e)&&pe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[le,me,Ne,pe]);s.useImperativeHandle(T,(()=>({onSubmit:gt}))),s.useEffect((()=>{se(mt)}),[mt]),s.useEffect((()=>{var e;if(N){const t=Array.from(ae),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;gt(s,!0)}}),[N]),s.useEffect((()=>{if(!Me.current||!q)return;const e=new ResizeObserver((e=>{for(const t of e)q(t.contentRect.height)}));return e.observe(Me.current),()=>{e.disconnect()}}),[q]),s.useEffect((()=>{if(!Be)return;const e=Pe.current?`${Pe.current} `:"";_e(`${e}${We}`)}),[We,Be]),s.useEffect((()=>{if(!Le.current)return;(()=>{if(!Le.current)return;let e=Le.current.scrollHeight>52;Ne.includes("\n")||pe.length?e=!0:Ne.trim()||(e=!1),Ae(e)})()}),[Ne,pe]),s.useEffect((()=>{const e=Le.current,t=He.current;if(!e||!t||Ee||Ne.includes("\n"))return void Re(!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=Ne||ft,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;Re(r>l)}),[Ne,Ee,ft]);const gt=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i;try{if(le||me)return;const r=pe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),o=r.map((e=>e.documentId)).filter(Boolean),a=r.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=o.length>0,c=null!=t?t:Ne;if(!c&&!l)return;fe(""),be(""),de(null),_e(""),te(!1),ue("fetching"),ye(),je();const u=null!==(n=null===(e=null==V?void 0:V.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&o.length>0,d=[...s?Array.from(ae.slice(0,ae.length-1)):Array.from(ae),...s?[]:[{id:ae.length+1,role:"user",parts:[{type:"text",content:c,isVisible:!0}],documentIds:u?o:[]}],{id:ae.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];ce(d),je(),u&&ve([]);const f=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign(Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:H,pickaxeId:M,sessionId:F,senderType:W,value:c},u&&{documentIds:o}),$&&{sender:$}),ie&&{studioSessionToken:ie}),!ie&&!$&&{sender:C.initializeEmbedUserId()}),B&&{portalId:B}),U&&{deploymentId:U}),a.length>0&&{uploadedModelImages:a}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),at&&{credentials:"include"})),p=yield f.json();if(!p.success){const e=new Error(p.error||"Failed to start generation");throw p.limitData&&(e.limitData=p.limitData),e}const m=p.submissionId;ue("streaming"),Fe.current=new AbortController;const h=d.length-1,g=[];let b=[...null!=we?we:[]],y=0,x=!1,j="";for(;!x;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${m}?index=${y}`,{signal:null===(i=Fe.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();De.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&y++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data).error||"Something went wrong.";return fe(t),void(x=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&R){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 x=!0,R({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 x=!0,R({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)j="",g.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)j+=n.delta,g[g.length-1].content=j;else if("text-end"===n.type)j="";else if("reasoning-start"===n.type)j="",g.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)j+=n.delta,g[g.length-1].content=j;else if("reasoning-end"===n.type)j="";else if(n.type.startsWith("data-")){const e=n;g.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}ce([...d.slice(0,h),Object.assign(Object.assign({},d[d.length-1]),{id:ae.length+1,role:"assistant",parts:g})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);b=b.filter((e=>!(e.id===t.id&&e.version===t.version))),b.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se([...b]),Oe.startsWith("inline")||ke({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);b=b.filter((e=>!(e.id===t.id&&e.version===t.version))),b.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Se(b),Oe.startsWith("inline")||ke({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);b=b.filter((e=>!(e.id===t.id&&e.version===t.version))),b.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se(b),Oe.startsWith("inline")||ke({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");b=b.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Se(b)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Se(b.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);fe(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(x=!0)}else x=!0}});for(;;){const{value:e,done:i}=yield t.read();if(i)break;n.feed(s.decode(e))}x||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(x=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==ne||ne(F)}catch(e){if(e.limitData)de(e.limitData),fe("");else{let t=k.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later."),fe(t)}}finally{je(),ue("idle"),xe(),De.current=null}}));return dt?null:t.jsx("div",Object.assign({className:I.default("flex w-full flex-shrink-0 flex-col items-center",!ut&&"px-4 pb-8"),dir:Y?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:Me,className:I.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===z.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},nt),{maxHeight:`${$e}px`,overflowY:"auto"})},{children:[Be&&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!==(L=K.accent)&&void 0!==L?L:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:K.text+"90"}},{children:"Listening..."}))]})),!le&&pe.length>0&&t.jsx(w.default,{className:"p-4 pb-0",isDisabled:le}),t.jsx(O.default,Object.assign({ref:Le,className:I.default(st.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ne.trim()&&!Ne.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Y?"text-right":"text-left",pt&&"mb-12",Be&&"text-transparent"),value:Ne,placeholder:ft,onChange:e=>{if(_e(e),q){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void q(0);if(t>=11)return;let s=0;t>1&&(s=50),q(24*(t-1)+s)}},onKeyDown:e=>{G||Ve||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),me||le||gt()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),te(!1),yield ge(e))}))},E&&{onFocus:E},A&&{onBlur:A},{dir:Y?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:He,className:I.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",pt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!pt&&nt.backgroundColor&&{backgroundColor:nt.backgroundColor}),{borderTopRightRadius:z.cornerRadius+"px",borderBottomRightRadius:z.cornerRadius+"px"})},{children:le?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Fe.current&&(Fe.current.abort(),Fe.current=null),De.current&&(De.current.cancel(),De.current=null),ue("idle")},style:{backgroundColor:K.accent,color:K.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):Be?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:_.default.stopListening,style:{backgroundColor:K.accent,color:K.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[lt&&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:Qe?K.accent+"10":void 0,color:Qe?K.accent:K.accent+"80"},disabled:me||le,onClick:()=>{var e;return null===(e=Te.current)||void 0===e?void 0:e.click()}},Ye,{children:[t.jsx("input",{id:"file-upload",ref:Te,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*(){te(!1),yield ge(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(b.default,{className:"h-6 w-6 shrink-0"})]})),ct&&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:Be?K.accent:et?K.accent+"10":void 0,color:Be?K.accentText:et?K.accent:K.accent+"80"},disabled:me||le,onClick:()=>{Be?_.default.stopListening():(Pe.current=Ne,Ue(),_.default.startListening({continuous:!0,interimResults:!0,language:X||"en-US"}))}},tt,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Ke||ht?K.accent:K.accent+"10",color:Ke||ht?K.accentText:K.accent+"80"},disabled:!ht,onClick:()=>gt()},Xe,{children:t.jsx(y.default,{className:I.default("h-6 w-6 shrink-0",Y&&"scale-x-[-1] transform")})}))]})}))]})),he&&t.jsx(S.default,{error:he,className:"mt-3"})]}))}))}));E.displayName="Input",exports.default=E;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react");require("../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js");var n=require("react-speech-recognition"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../hooks/pickaxe/useResponseContext.js"),o=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),c=require("../../../hooks/pickaxe/useDimensionContext.js"),u=require("../Addons/Auth/hooks/useAuthContext.js"),d=require("../Addons/Document/hooks/useDocument.js"),f=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),m=require("../../../hooks/core/useHover.js"),h=require("../../../hooks/core/useMediaQuery.js"),g=require("../../../common/documents.js"),v=require("eventsource-parser"),b=require("../../Icons/attach-vertical.svg.js"),y=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),j=require("../../Icons/stop.svg.js"),w=require("../Addons/Document/List.js"),O=require("../../Core/Textarea.js"),S=require("../../Core/ErrorAlert.js"),k=require("../../../common/error.js"),I=require("../../../common/cn.js"),C=require("../../../common/utils.js");function N(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var _=N(n);const E=s.forwardRef((({resubmitPrompt:N,onFocus:E,onBlur:A,onInputHeightChange:q,initSmitheryAuthData:R},T)=>{var P,D,L;const{origin:H,pickaxeId:M,sessionId:F,sender:$,senderType:W,portalId:B,deploymentId:U,deploymentType:J,pickaxe:V,styles:z,colors:K,locale:X,forceMobile:G,isNewChat:Q,isRtl:Y,isShowFeedbackMessage:Z,setIsNewChat:ee,setIsShowIceBreaker:te,onGenerateComplete:se}=i.usePickaxeContext(),{token:ne,isLoggedOut:ie,isSent:re,isPricingAuth:oe}=u.useAuthContext(),{messages:ae,isGenerating:le,setMessages:ce,setStatus:ue,setLimitData:de,setError:fe}=r.useResponseContext(),{documents:pe,isUploading:me,documentError:he,onFileUpload:ge,setDocuments:ve,setDocumentError:be}=d.useDocument(),{scrollStartSession:ye,scrollEndSession:xe,scrollToBottom:je}=f.useScroll({auto:!0}),{artifacts:we,currentPopupType:Oe,setArtifacts:Se,setCurrentArtifact:ke}=p.useArtifactContext(),{height:Ie}=c.useDimensionContext(),Ce=l.useConversation(),[Ne,_e]=s.useState(""),[Ee,Ae]=s.useState(!1),[qe,Re]=s.useState(!1),Te=s.useRef(null),Pe=s.useRef(""),De=s.useRef(null),Le=s.useRef(null),He=s.useRef(null),Me=s.useRef(null),Fe=s.useRef(null),$e=Math.max(.4*Ie,100),{transcript:We,listening:Be,resetTranscript:Ue,browserSupportsSpeechRecognition:Je}=n.useSpeechRecognition(),[Ve]=h.useMediaQuery("(max-width: 480px)"),ze=m.useHover(),{isHover:Ke}=ze,Xe=e.__rest(ze,["isHover"]),Ge=m.useHover(),{isHover:Qe}=Ge,Ye=e.__rest(Ge,["isHover"]),Ze=m.useHover(),{isHover:et}=Ze,tt=e.__rest(Ze,["isHover"]),st=a.useStyleFontSize(),nt=o.useStyleInput(),it="undefined"!=typeof window?window.location.hostname:"",rt="undefined"!=typeof window?window.location.href:"",ot="undefined"!=typeof window&&window.self!==window.top,at=it.includes("pickaxe.co")&&!rt.includes("https://studio.pickaxe.co/_embed")&&!ot,lt=null===(P=null==V?void 0:V.documentuploadtype)||void 0===P?void 0:P.startsWith("enduserupload"),ct=Je&&(null==V?void 0:V.enablevoicetotext),ut="chat-input"===J&&Q&&!re,dt="chat-input"===J&&oe&&ie&&re,ft=null!==(D=null==V?void 0:V.placeholdertext)&&void 0!==D?D:Y?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",pt=Ee||qe,mt=s.useMemo((()=>{var e,t,s;return!!Q&&(!!V&&(!Ce.isLoading&&(!((null!==(t=null===(e=Ce.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=V.icebreakers)||void 0===s?void 0:s.length)&&(!Z&&!ut)))))}),[V,Q,Z,ut,Ce.data,Ce.isLoading]),ht=s.useMemo((()=>{if(le||me)return!1;const e=pe.length>0&&pe.every((e=>"finished"===e.status));return!(!Ne.trim()&&!e)&&pe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[le,me,Ne,pe]);s.useImperativeHandle(T,(()=>({onSubmit:gt}))),s.useEffect((()=>{te(mt)}),[mt]),s.useEffect((()=>{var e;if(N){const t=Array.from(ae),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;gt(s,!0)}}),[N]),s.useEffect((()=>{if(!Me.current||!q)return;const e=new ResizeObserver((e=>{for(const t of e)q(t.contentRect.height)}));return e.observe(Me.current),()=>{e.disconnect()}}),[q]),s.useEffect((()=>{if(!Be)return;const e=Pe.current?`${Pe.current} `:"";_e(`${e}${We}`)}),[We,Be]),s.useEffect((()=>{if(!Le.current)return;(()=>{if(!Le.current)return;let e=Le.current.scrollHeight>52;Ne.includes("\n")||pe.length?e=!0:Ne.trim()||(e=!1),Ae(e)})()}),[Ne,pe]),s.useEffect((()=>{const e=Le.current,t=He.current;if(!e||!t||Ee||Ne.includes("\n"))return void Re(!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=Ne||ft,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;Re(r>l)}),[Ne,Ee,ft]);const gt=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i;try{if(le||me)return;const r=pe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),o=r.map((e=>e.documentId)).filter(Boolean),a=r.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=o.length>0,c=null!=t?t:Ne;if(!c&&!l)return;fe(""),be(""),de(null),_e(""),ee(!1),ue("fetching"),ye(),je();const u=null!==(n=null===(e=null==V?void 0:V.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&o.length>0,d=[...s?Array.from(ae.slice(0,ae.length-1)):Array.from(ae),...s?[]:[{id:ae.length+1,role:"user",parts:[{type:"text",content:c,isVisible:!0}],documentIds:u?o:[]}],{id:ae.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];ce(d),je(),u&&ve([]);const f=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign(Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:H,pickaxeId:M,sessionId:F,senderType:W,value:c},u&&{documentIds:o}),$&&{sender:$}),ne&&{studioSessionToken:ne}),!ne&&!$&&{sender:C.initializeEmbedUserId()}),B&&{portalId:B}),U&&{deploymentId:U}),a.length>0&&{uploadedModelImages:a}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),at&&{credentials:"include"})),p=yield f.json();if(!p.success){const e=new Error(p.error||"Failed to start generation");throw p.limitData&&(e.limitData=p.limitData),e}const m=p.submissionId;ue("streaming"),Fe.current=new AbortController;const h=d.length-1,g=[];let b=[...null!=we?we:[]],y=0,x=!1,j="";for(;!x;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${m}?index=${y}`,{signal:null===(i=Fe.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();De.current=t;const s=new TextDecoder,n=v.createParser({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&y++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data).error||"Something went wrong.";return fe(t),void(x=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&R){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 x=!0,R({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 x=!0,R({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)j="",g.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)j+=n.delta,g[g.length-1].content=j;else if("text-end"===n.type)j="";else if("reasoning-start"===n.type)j="",g.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)j+=n.delta,g[g.length-1].content=j;else if("reasoning-end"===n.type)j="";else if(n.type.startsWith("data-")){const e=n;g.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}ce([...d.slice(0,h),Object.assign(Object.assign({},d[d.length-1]),{id:ae.length+1,role:"assistant",parts:g})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);b=b.filter((e=>!(e.id===t.id&&e.version===t.version))),b.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se([...b]),Oe.startsWith("inline")||ke({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);b=b.filter((e=>!(e.id===t.id&&e.version===t.version))),b.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Se(b),Oe.startsWith("inline")||ke({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);b=b.filter((e=>!(e.id===t.id&&e.version===t.version))),b.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Se(b),Oe.startsWith("inline")||ke({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");b=b.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Se(b)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Se(b.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);fe(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(x=!0)}else x=!0}});for(;;){const{value:e,done:i}=yield t.read();if(i)break;n.feed(s.decode(e))}x||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(x=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==se||se(F)}catch(e){if(e.limitData)de(e.limitData),fe("");else{let t=k.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later."),fe(t)}}finally{je(),ue("idle"),xe(),De.current=null}}));return dt?null:t.jsx("div",Object.assign({className:I.default("flex w-full flex-shrink-0 flex-col items-center",!ut&&"px-4 pb-8"),dir:Y?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:Me,className:I.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===z.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},nt),{maxHeight:`${$e}px`,overflowY:"auto"})},{children:[Be&&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!==(L=K.accent)&&void 0!==L?L:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:K.text+"90"}},{children:"Listening..."}))]})),!le&&pe.length>0&&t.jsx(w.default,{className:"p-4 pb-0",isDisabled:le}),t.jsx(O.default,Object.assign({ref:Le,className:I.default(st.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ne.trim()&&!Ne.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Y?"text-right":"text-left",pt&&"mb-12",Be&&"text-transparent"),value:Ne,placeholder:ft,onChange:e=>{if(_e(e),q){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void q(0);if(t>=11)return;let s=0;t>1&&(s=50),q(24*(t-1)+s)}},onKeyDown:e=>{G||Ve||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),me||le||gt()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),ee(!1),yield ge(e))}))},E&&{onFocus:E},A&&{onBlur:A},{dir:Y?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:He,className:I.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",pt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!pt&&nt.backgroundColor&&{backgroundColor:nt.backgroundColor}),{borderTopRightRadius:z.cornerRadius+"px",borderBottomRightRadius:z.cornerRadius+"px"})},{children:le?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Fe.current&&(Fe.current.abort(),Fe.current=null),De.current&&(De.current.cancel(),De.current=null),ue("idle")},style:{backgroundColor:K.accent,color:K.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):Be?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:_.default.stopListening,style:{backgroundColor:K.accent,color:K.accentText}},{children:t.jsx(j.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[lt&&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:Qe?K.accent+"10":void 0,color:Qe?K.accent:K.accent+"80"},disabled:me||le,onClick:()=>{var e;return null===(e=Te.current)||void 0===e?void 0:e.click()}},Ye,{children:[t.jsx("input",{id:"file-upload",ref:Te,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*(){ee(!1),yield ge(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(b.default,{className:"h-6 w-6 shrink-0"})]})),ct&&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:Be?K.accent:et?K.accent+"10":void 0,color:Be?K.accentText:et?K.accent:K.accent+"80"},disabled:me||le,onClick:()=>{Be?_.default.stopListening():(Pe.current=Ne,Ue(),_.default.startListening({continuous:!0,interimResults:!0,language:X||"en-US"}))}},tt,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Ke||ht?K.accent:K.accent+"10",color:Ke||ht?K.accentText:K.accent+"80"},disabled:!ht,onClick:()=>gt()},Xe,{children:t.jsx(y.default,{className:I.default("h-6 w-6 shrink-0",Y&&"scale-x-[-1] transform")})}))]})}))]})),he&&t.jsx(S.default,{error:he,className:"mt-3"})]}))}))}));E.displayName="Input",exports.default=E;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../Addons/Auth/hooks/useAuthContext.js"),o=require("../../../hooks/pickaxe/useDimensionContext.js"),i=require("../Addons/Document/hooks/useDocument.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("./History/index.js"),c=require("./Input.js"),u=require("../../Icons/attach-vertical.svg.js"),d=require("../../../common/cn.js"),m=require("../../../common/api/pickaxe.js"),x=require("lucide-react"),f=require("uuid"),h=require("../../Icons/trash-2.svg.js"),p=require("../../Icons/pencil.svg.js"),b=require("../../../hooks/pickaxe/useResponseContext.js");const j=({children:e,className:s})=>t.jsx("div",Object.assign({className:d.default("flex items-center gap-2 transition-all duration-200 select-none","rounded-[40px] h-[72px] border border-white/70 px-6 py-3 bg-white/10 backdrop-blur-md shadow-lg",s)},{children:e})),g=({text:e,icon:s,className:n,onClick:r})=>t.jsx("div",Object.assign({onClick:r,className:d.default("relative flex items-center justify-center px-3 h-full shrink-0 transition-all duration-200 rounded-[40px] border border-white/70 bg-[#FFFFFF1A]",n)},{children:t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20"},{children:[s&&t.jsx("img",{src:s,alt:"",className:"h-5 w-5 rounded-full object-cover"}),t.jsx("p",Object.assign({className:"text-sm font-medium truncate max-w-[150px] text-foreground"},{children:e}))]}))})),v=({text:n,className:r,onRename:o,onDelete:i})=>{const[a,l]=s.useState(!1),[c,u]=s.useState(!1),[m,f]=s.useState(n),[b,j]=s.useState(!1),g=s.useRef(null),v=s.useRef(null);s.useEffect((()=>{c||f(n)}),[n,c]),s.useEffect((()=>{const e=e=>{v.current&&!v.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const w=()=>e.__awaiter(void 0,void 0,void 0,(function*(){m.trim()&&(j(!0),yield o(m),j(!1),u(!1))})),y=()=>{f(n),u(!1)};return t.jsxs("div",Object.assign({ref:v,className:"relative z-40 h-full"},{children:[t.jsx("div",Object.assign({className:d.default("relative flex items-center justify-center px-3 h-full shrink-0 rounded-[40px] overflow-visible transition-all duration-200 cursor-pointer group border border-white/70 bg-[#FFFFFF1A]",r),onClick:e=>{e.stopPropagation(),c||a?a&&l(!1):l(!0)}},{children:c?t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[t.jsx("input",{autoFocus:!0,type:"text",value:m,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"===e.key&&w(),"Escape"===e.key&&y()},className:"bg-transparent border-b border-black/30 text-sm font-medium focus:outline-none w-full min-w-[80px] text-foreground"}),t.jsx("button",Object.assign({onClick:w,disabled:b,className:"p-1 rounded hover:bg-black/10 text-green-600"},{children:t.jsx(x.Check,{className:"h-4 w-4"})})),t.jsx("button",Object.assign({onClick:y,disabled:b,className:"p-1 rounded hover:bg-black/10 text-red-600"},{children:t.jsx(x.X,{className:"h-4 w-4"})}))]})):t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 max-w-[200px]"},{children:[t.jsx("p",Object.assign({className:"text-sm font-medium truncate text-foreground"},{children:n})),t.jsx(x.MoreHorizontal,{className:d.default("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity")})]}))})),a&&t.jsxs("div",Object.assign({className:"absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] border border-white/70 bg-neutral-400 backdrop-blur-md overflow-hidden animate-in fade-in zoom-in-95 duration-100",ref:g},{children:[t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),l(!1),u(!0)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b border-white/10 hover:bg-white/10"},{children:[t.jsx(p.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),l(!1),i()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:bg-white/10"},{children:[t.jsx(h.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))};exports.default=()=>{const{deploymentType:x,isNewChat:h,setIsNewChat:p,sessionId:w,setSessionId:y,pickaxeId:k,sender:N,colors:O,styles:C,pickaxe:F,isEmbed:D}=n.usePickaxeContext(),{isSent:_}=r.useAuthContext(),{width:I,height:S,setDimension:q}=o.useDimensionContext(),{setDocuments:E,onFileUpload:P}=i.useDocument(),{isGenerating:z}=b.useResponseContext(),A=a.useStyleFontSize(),[R,T]=s.useState(0),[H,L]=s.useState(!1),[M,B]=s.useState(!1),G=s.useRef(null),K=s.useRef(null),U=s.useRef(0),[X,J]=s.useState(null),[Q,V]=s.useState(!1),W="chat-input"===x&&h&&!_;s.useEffect((()=>()=>{E([])}),[]);const Y=s.useCallback((()=>{if(!k||!N)return;const t=(s=0)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{const t=yield m.default.post("/get_pickaxe_conversation",{sessionId:w,userId:N});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void $(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}s<20&&setTimeout((()=>t(s+1)),3e3)}));t()}),[k,N,w]);s.useEffect((()=>{z||h||!w||Y()}),[z,h,w,Y]),s.useEffect((()=>{if(!G.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:s}=t.contentRect;q(parseInt(e.toFixed(0)),parseInt(s.toFixed(0)))}}));return e.observe(G.current),()=>{e.disconnect()}}),[G.current]);const[Z,$]=s.useState("New Chat"),ee=(null==F?void 0:F.formtitle)||"Pickaxe",te=(null==F?void 0:F.coverphoto)||void 0,se=!W&&!D;return t.jsxs("div",Object.assign({ref:G,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),U.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&B(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),U.current-=1,0===U.current&&B(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),B(!1),U.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(p(!1),yield P(e))}))},{children:[M&&t.jsxs("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[t.jsx("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:t.jsx(u.default,{className:"h-10 w-10"})})),t.jsx("h3",Object.assign({className:d.default(A.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),t.jsx("p",Object.assign({className:d.default(A.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),W?t.jsx(c.default,{}):t.jsxs(t.Fragment,{children:[t.jsxs("div",Object.assign({className:d.default("flex flex-col w-full items-center h-full relative z-0",se?"pt-6":"")},{children:[se&&t.jsx("div",Object.assign({className:"w-full max-w-3xl px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500"},{children:t.jsxs(j,Object.assign({colors:O,styles:C},{children:[t.jsx(g,{text:ee,icon:te,colors:O,styles:C}),h||"New Chat"===Z?t.jsx(g,{text:Z,colors:O,styles:C}):t.jsx(v,{text:Z,sessionId:w,colors:O,styles:C,onRename:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(w)try{yield m.default.post("/edit_conversation_name",{sessionId:w,name:t,userId:N}),$(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(w&&window.confirm("Are you sure you want to delete this conversation?"))try{yield m.default.post("/delete_pickaxe_conversation",{sessionId:w,userId:N}),p(!0),y(f.v4()),$("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}}))})]}))})),t.jsx(l.default,{additionalScrollHeight:R,isForceHideInfo:S<=545||I<=350||H,isInputFocused:H,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){K.current&&K.current.onSubmit(t)})),smitheryAuthData:X,resubmitPrompt:()=>{J(null),V(!0)}})]})),t.jsx(c.default,{ref:K,onFocus:()=>L(!0),onBlur:()=>L(!1),onInputHeightChange:T,initSmitheryAuthData:e=>J(e),resubmitPrompt:Q})]})]}))};
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("../Addons/Auth/hooks/useAuthContext.js"),a=require("../../../hooks/pickaxe/useDimensionContext.js"),r=require("../Addons/Document/hooks/useDocument.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),l=require("./History/index.js"),c=require("./Input.js"),u=require("../../Icons/attach-vertical.svg.js"),d=require("../../../common/cn.js"),m=require("../../../common/api/pickaxe.js"),x=require("lucide-react"),f=require("uuid"),h=require("../../Icons/trash-2.svg.js"),p=require("../../Icons/pencil.svg.js"),v=require("../../../hooks/pickaxe/useResponseContext.js");const g=({text:e,icon:s,className:n,onClick:i})=>t.jsx("div",Object.assign({onClick:i,className:d.default("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 transition-all duration-200 cursor-pointer","glass",n)},{children:t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0"},{children:[s&&t.jsx("img",{src:s,alt:"",className:"h-5 w-5 shrink-0 rounded-full object-cover"}),t.jsx("p",Object.assign({className:"text-xs md:text-sm font-medium truncate max-w-[80px] md:max-w-[150px]"},{children:e}))]}))})),j=({text:n,className:i,onRename:a,onDelete:r,isDarkGlass:o})=>{const[l,c]=s.useState(!1),[u,m]=s.useState(!1),[f,v]=s.useState(n),[g,j]=s.useState(!1),b=s.useRef(null),w=s.useRef(null);s.useEffect((()=>{u||v(n)}),[n,u]),s.useEffect((()=>{const e=e=>{w.current&&!w.current.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const k=()=>e.__awaiter(void 0,void 0,void 0,(function*(){f.trim()&&(j(!0),yield a(f),j(!1),m(!1))})),y=()=>{v(n),m(!1)};return t.jsxs("div",Object.assign({ref:w,className:"relative z-40 h-full shrink min-w-0"},{children:[t.jsx("div",Object.assign({className:d.default("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 overflow-visible transition-all duration-200 cursor-pointer group","glass",i),onClick:e=>{e.stopPropagation(),u||l?l&&c(!1):c(!0)}},{children:u?t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-[100px] md:min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[t.jsx("input",{autoFocus:!0,type:"text",value:f,onChange:e=>v(e.target.value),onKeyDown:e=>{"Enter"===e.key&&k(),"Escape"===e.key&&y()},className:"bg-transparent border-b border-current text-xs md:text-sm font-medium focus:outline-none w-full min-w-[60px] md:min-w-[80px]",style:{color:"inherit"}}),t.jsx("button",Object.assign({onClick:k,disabled:g,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:t.jsx(x.Check,{className:"h-4 w-4"})})),t.jsx("button",Object.assign({onClick:y,disabled:g,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:t.jsx(x.X,{className:"h-4 w-4"})}))]})):t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0 max-w-[140px] md:max-w-[200px]"},{children:[t.jsx("p",Object.assign({className:"text-xs md:text-sm font-medium truncate"},{children:n})),t.jsx(x.MoreHorizontal,{className:d.default("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity shrink-0")})]}))})),l&&t.jsxs("div",Object.assign({className:d.default("absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] overflow-hidden animate-in fade-in zoom-in-95 duration-100",o?"bg-[#313131] text-white":"bg-white text-black"),ref:b},{children:[t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),c(!1),m(!0)},className:d.default("w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b hover:opacity-70",o?"border-current":"border-[#EBEAEB]")},{children:[t.jsx(p.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),c(!1),r()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:opacity-70"},{children:[t.jsx(h.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))};exports.default=()=>{const{deploymentType:x,isNewChat:h,setIsNewChat:p,sessionId:b,setSessionId:w,pickaxeId:k,sender:y,pickaxe:N,styles:C,isEmbed:D}=n.usePickaxeContext(),{isSent:O}=i.useAuthContext(),{width:_,height:S,setDimension:I}=a.useDimensionContext(),{setDocuments:q,onFileUpload:E}=r.useDocument(),{isGenerating:P,messages:z}=v.useResponseContext(),F=o.useStyleFontSize(),[R,A]=s.useState(0),[T,H]=s.useState(!1),[B,G]=s.useState(!1),L=s.useRef(null),M=s.useRef(null),K=s.useRef(0),[U,X]=s.useState(null),[J,Q]=s.useState(!1),V="chat-input"===x&&h&&!O;s.useEffect((()=>()=>{q([])}),[]);const W=s.useCallback((()=>{if(!k||!y)return;const t=(s=0)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{const t=yield m.default.post("/get_pickaxe_conversation",{sessionId:b,userId:y});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void Z(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}s<20&&setTimeout((()=>t(s+1)),3e3)}));t()}),[k,y,b]);s.useEffect((()=>{P||h||!b||W()}),[P,h,b,W]),s.useEffect((()=>{if(!L.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:s}=t.contentRect;I(parseInt(e.toFixed(0)),parseInt(s.toFixed(0)))}}));return e.observe(L.current),()=>{e.disconnect()}}),[L.current]);const[Y,Z]=s.useState("New Chat"),$=(null==N?void 0:N.formtitle)||"Pickaxe",ee=(null==N?void 0:N.coverphoto)||void 0,[te,se]=s.useState(!1);s.useEffect((()=>{const e=!V&&!D&&C.portalTheme&&(z.filter((e=>"user"===e.role)).length>0||T||!h);se(null!=e&&e)}),[z,T,h]);return t.jsxs("div",Object.assign({ref:L,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),K.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&G(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),K.current-=1,0===K.current&&G(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),G(!1),K.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(p(!1),yield E(e))}))},{children:[B&&t.jsxs("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[t.jsx("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:t.jsx(u.default,{className:"h-10 w-10"})})),t.jsx("h3",Object.assign({className:d.default(F.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),t.jsx("p",Object.assign({className:d.default(F.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),V?t.jsx(c.default,{}):t.jsxs(t.Fragment,{children:[te&&t.jsxs("div",Object.assign({className:d.default("direct-link"===x?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===C.portalTheme?"glass-dark ":"")},{children:[t.jsx(g,{text:$,icon:ee}),h||"New Chat"===Y?t.jsx(g,{text:Y}):t.jsx(j,{text:Y,sessionId:b,onRename:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(b)try{yield m.default.post("/edit_conversation_name",{sessionId:b,name:t,userId:y}),Z(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(b&&window.confirm("Are you sure you want to delete this conversation?"))try{yield m.default.post("/delete_pickaxe_conversation",{sessionId:b,userId:y}),p(!0),w(f.v4()),Z("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}})),isDarkGlass:"dark"===C.portalTheme})]})),t.jsx(l.default,{additionalScrollHeight:R,isForceHideInfo:S<=545||_<=350||T,isInputFocused:T,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){M.current&&M.current.onSubmit(t)})),smitheryAuthData:U,resubmitPrompt:()=>{X(null),Q(!0)}}),t.jsx(c.default,{ref:M,onFocus:()=>H(!0),onBlur:()=>H(!1),onInputHeightChange:A,initSmitheryAuthData:e=>X(e),resubmitPrompt:J})]})]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),i=require("react"),s=require("./Addons/Artifact/Provider.js"),o=require("./DimensionProvider.js"),r=require("./ResponseProvider.js"),n=require("./Addons/Document/Provider.js"),a=require("./Addons/Auth/Provider.js");function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}const d=i.createContext({});exports.PickaxeContext=d,exports.PickaxeProvider=({children:c,origin:u,sender:f,senderType:p,portalId:y,deploymentId:h,deploymentType:m,deploymentDimensions:b,deploymentMisc:g,styles:v,colors:x,limits:S={},misc:j={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:P,artifact:w={popupType:"auto"},responsiveBy:F="viewport",locale:k="en",opacity:I=1,forceMobile:C=!1,disableHtml:O=!1,disableJs:E=!1,disableCss:D=!1,loadFont:T=!0,isRtl:q=!1,isEmbed:H=!1,isDropShadow:L=!1,isEmailLogin:M=!1,allowGuestUsage:R=!0,onGenerateComplete:_})=>{const[A,B]=i.useState(""),[G,N]=i.useState(""),[U,W]=i.useState(""),[z,J]=i.useState(""),[Y,K]=i.useState(f),[Q,V]=i.useState(p),[X,Z]=i.useState(null),[$,ee]=i.useState(!1),[te,ie]=i.useState(!0),[se,oe]=i.useState(!0),[re,ne]=i.useState(!1);return i.useEffect((()=>{ee(!1)}),[null==v?void 0:v.font]),i.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&T&&!$&&(null==v?void 0:v.font)&&"Real Head Pro"!==v.font)try{(yield Promise.resolve().then((function(){return l(require("webfontloader"))}))).default.load({google:{families:[v.font]},active:()=>{ee(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),ee(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),ee(!0)}}))}),[T,$,null==v?void 0:v.font]),i.useEffect((()=>{K(f)}),[f]),t.jsx(d.Provider,Object.assign({value:Object.assign({origin:u,contextId:A,pickaxeId:G,sessionId:U,lastSessionId:z,sender:Y,senderType:Q,portalId:y,deploymentId:h,deploymentType:m,deploymentDimensions:b,deploymentMisc:g,pickaxe:X,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},v),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},x),misc:j,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website",copy:"Copy","file-limit-reached":"You have reached the file limit.",save:"Save","save-as":"Save as","please-enter-email-to-continue":"Please enter your email to continue:","enter-email-to-continue":"Enter here your email to continue",submit:"Submit",sending:"Sending...","check-your-inbox":"Check your inbox","we-sent-your-an-activation-link":"We sent you an activation link. Please be sure to check your spam folder too.",resend:"Resend",resending:"Resending...","chat-history":"Chat History","exit-chat-history":"Exit Chat History","no-history":"No history yet.","log-out":"Log Out","clear-form":"Clear form"},P),artifact:w,responsiveBy:F,locale:k,opacity:I,forceMobile:C,loadFont:T,disableHtml:O,disableJs:E,disableCss:D,isFontLoaded:$,isNewChat:te,isShowIceBreaker:se,isShowFeedbackMessage:re,isRtl:q,isEmbed:H,isDropShadow:L,isEmailLogin:M,allowGuestUsage:R,setContextId:B,setPickaxeId:N,setSessionId:W,setLastSessionId:J,setSender:K,setSenderType:V,setPickaxe:Z,setIsFontLoaded:ee,setIsNewChat:ie,setIsShowIceBreaker:oe,setIsShowFeedbackMessage:ne},_&&{onGenerateComplete:_})},{children:t.jsx(a.default,{children:t.jsx(o.default,{children:t.jsx(r.default,Object.assign({limits:S},{children:t.jsx(n.default,{children:t.jsx(s.ArtifactProvider,Object.assign({},w,{children:c}))})}))})})}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),i=require("react"),s=require("./Addons/Artifact/Provider.js"),o=require("./DimensionProvider.js"),r=require("./ResponseProvider.js"),n=require("./Addons/Document/Provider.js"),a=require("./Addons/Auth/Provider.js");function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}const d=i.createContext({});exports.PickaxeContext=d,exports.PickaxeProvider=({children:c,origin:u,sender:f,senderType:p,portalId:y,deploymentId:h,deploymentType:m,deploymentDimensions:b,deploymentMisc:g,styles:v,colors:x,limits:S={},misc:j={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:P,artifact:w={popupType:"auto"},responsiveBy:F="viewport",locale:k="en",opacity:I=1,forceMobile:C=!1,disableHtml:O=!1,disableJs:D=!1,disableCss:T=!1,loadFont:q=!0,isRtl:E=!1,isEmbed:H=!1,isDropShadow:M=!1,allowGuestUsage:R=!0,onGenerateComplete:_})=>{const[A,L]=i.useState(""),[B,G]=i.useState(""),[N,U]=i.useState(""),[W,z]=i.useState(""),[J,Y]=i.useState(f),[K,Q]=i.useState(p),[V,X]=i.useState(null),[Z,$]=i.useState(!1),[ee,te]=i.useState(!0),[ie,se]=i.useState(!0),[oe,re]=i.useState(!1);return i.useEffect((()=>{$(!1)}),[null==v?void 0:v.font]),i.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&q&&!Z&&(null==v?void 0:v.font)&&"Real Head Pro"!==v.font)try{(yield Promise.resolve().then((function(){return l(require("webfontloader"))}))).default.load({google:{families:[v.font]},active:()=>{$(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),$(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),$(!0)}}))}),[q,Z,null==v?void 0:v.font]),i.useEffect((()=>{Y(f)}),[f]),t.jsx(d.Provider,Object.assign({value:Object.assign({origin:u,contextId:A,pickaxeId:B,sessionId:N,lastSessionId:W,sender:J,senderType:K,portalId:y,deploymentId:h,deploymentType:m,deploymentDimensions:b,deploymentMisc:g,pickaxe:V,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},v),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},x),misc:j,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website",copy:"Copy","file-limit-reached":"You have reached the file limit.",save:"Save","save-as":"Save as","please-enter-email-to-continue":"Please enter your email to continue:","enter-email-to-continue":"Enter here your email to continue",submit:"Submit",sending:"Sending...","check-your-inbox":"Check your inbox","we-sent-your-an-activation-link":"We sent you an activation link. Please be sure to check your spam folder too.",resend:"Resend",resending:"Resending...","chat-history":"Chat History","exit-chat-history":"Exit Chat History","no-history":"No history yet.","log-out":"Log Out","clear-form":"Clear form"},P),artifact:w,responsiveBy:F,locale:k,opacity:I,forceMobile:C,loadFont:q,disableHtml:O,disableJs:D,disableCss:T,isFontLoaded:Z,isNewChat:ee,isShowIceBreaker:ie,isShowFeedbackMessage:oe,isRtl:E,isEmbed:H,isDropShadow:M,allowGuestUsage:R,setContextId:L,setPickaxeId:G,setSessionId:U,setLastSessionId:z,setSender:Y,setSenderType:Q,setPickaxe:X,setIsFontLoaded:$,setIsNewChat:te,setIsShowIceBreaker:se,setIsShowFeedbackMessage:re},_&&{onGenerateComplete:_})},{children:t.jsx(a.default,{children:t.jsx(o.default,{children:t.jsx(r.default,Object.assign({limits:S},{children:t.jsx(n.default,{children:t.jsx(s.ArtifactProvider,Object.assign({},w,{children:c}))})}))})})}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),i=require("react"),t=require("../../../hooks/pickaxe/usePickaxeContext.js"),a=require("./PickaxeButton.js"),r=require("./PickaxeCommon.js"),n=require("./PickaxeCurrency.js"),o=require("./PickaxeAvatar.js"),c=require("../Addons/Auth/hooks/useAuthContext.js"),l=require("../../../common/api/pickaxe.js"),d=require("../../../common/utils.js"),u=require("../../../hooks/pickaxe/useResponseContext.js");exports.default=({data:x,children:m,upgradeUrl:p})=>{var f;const{limitData:j}=u.useResponseContext(),{colors:b,sender:v,pickaxe:h}=t.usePickaxeContext(),{token:k}=c.useAuthContext(),y=i.useMemo((()=>{var e;return null!==(e=x.displayName)&&void 0!==e?e:x.name}),[x]),g=i.useMemo((()=>{var e;return null!==(e=x.displayDescription)&&void 0!==e?e:x.description}),[x]),O=i.useMemo((()=>{var e;const{price:s,priceInterval:i,currency:t}=x;if(!s)return{price:"Free",suffix:""};const a=r.intervalToSuffix(i,!0);return{price:`${(null!==(e=n.currencyOptions.find((e=>e.id===t)))&&void 0!==e?e:n.currencyOptions[0]).symbol}${s.toLocaleString()}`,suffix:a}}),[x]),w=i.useMemo((()=>{const{limit:e,limitInterval:s}=x;if(e===r.STUDIO_INFINITY_VALUE)return{limit:"Unlimited",suffix:""};const i=r.intervalToSuffix(s,!0);return{limit:e.toLocaleString(),suffix:i}}),[x]);return s.jsxs("div",Object.assign({className:"relative flex min-h-[260px] w-[220px] shrink-0 snap-center flex-col justify-between rounded-xl border p-4 shadow-sm",style:{backgroundColor:b.secondary,color:b.secondaryText}},{children:[m,s.jsxs("div",Object.assign({className:"flex flex-col"},{children:[s.jsxs("div",Object.assign({className:"flex flex-col"},{children:[s.jsxs(o.Avatar,Object.assign({className:"h-8 w-8"},{children:[s.jsx(o.AvatarImage,{src:null!==(f=x.image)&&void 0!==f?f:"",alt:y}),s.jsx(o.AvatarFallback,{})]})),s.jsx("p",Object.assign({className:"mt-2 text-sm font-semibold line-clamp-1",title:y},{children:y})),Boolean(g)&&s.jsx("p",Object.assign({className:"mt-1 text-[10px] opacity-70 line-clamp-2 leading-tight"},{children:g})),s.jsxs("p",Object.assign({className:"mt-2 text-base font-semibold"},{children:[O.price,s.jsx("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:O.suffix}))]}))]})),s.jsxs("div",Object.assign({className:"mt-3 flex flex-col border-t py-2",style:{borderTopColor:b.secondaryText}},{children:[s.jsx("span",Object.assign({className:"text-[10px] font-bold opacity-50"},{children:"USES"})),s.jsxs("p",Object.assign({className:"text-base font-semibold"},{children:[w.limit,s.jsx("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:w.suffix}))]}))]}))]})),s.jsx(a.default,Object.assign({variant:"primary",className:"w-full mt-2 min-h-[32px] text-xs",onClick:()=>{v||k?e.__awaiter(void 0,void 0,void 0,(function*(){try{const e=yield l.default.post("/access_group_checkout",{data:{studioUserId:v||void 0,studioId:null==h?void 0:h.studioid,accessGroupId:x.accessGroupId,successUrl:document.URL,isEmbed:d.isInIframe(),studioSessionToken:k}});if(e.data.success){const s=e.data.url;if(s)if(d.isInIframe())try{window.open(s,"_blank")}catch(e){window.open(s,"_blank")}else window.location.href=s;else window.location.reload()}else{const s=e.data.error;alert(s)}}catch(e){alert(e)}})):window.open(p||(null==j?void 0:j.limitLink))}},{children:x.ctaButtonText}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),i=require("react"),t=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("./PickaxeButton.js"),a=require("./PickaxeCommon.js"),n=require("./PickaxeCurrency.js"),o=require("./PickaxeAvatar.js"),c=require("../Addons/Auth/hooks/useAuthContext.js"),l=require("../../../common/api/pickaxe.js"),u=require("../../../common/utils.js"),d=require("../../../hooks/pickaxe/useResponseContext.js"),x=require("../Addons/Auth/hooks/useAuth.js");exports.default=({data:m,children:p,upgradeUrl:f})=>{var j;const{limitData:h}=d.useResponseContext(),{colors:v,sender:b,pickaxe:k}=t.usePickaxeContext(),{token:g}=c.useAuthContext(),{onOpenPricing:y}=x.useAuth(),O=i.useMemo((()=>{var e;return null!==(e=m.displayName)&&void 0!==e?e:m.name}),[m]),I=i.useMemo((()=>{var e;return null!==(e=m.displayDescription)&&void 0!==e?e:m.description}),[m]),w=i.useMemo((()=>{var e;const{price:s,priceInterval:i,currency:t}=m;if(!s)return{price:"Free",suffix:""};const r=a.intervalToSuffix(i,!0);return{price:`${(null!==(e=n.currencyOptions.find((e=>e.id===t)))&&void 0!==e?e:n.currencyOptions[0]).symbol}${s.toLocaleString()}`,suffix:r}}),[m]),N=i.useMemo((()=>{const{limit:e,limitInterval:s}=m;if(e===a.STUDIO_INFINITY_VALUE)return{limit:"Unlimited",suffix:""};const i=a.intervalToSuffix(s,!0);return{limit:e.toLocaleString(),suffix:i}}),[m]);return s.jsxs("div",Object.assign({className:"relative flex min-h-[260px] w-[220px] shrink-0 snap-center flex-col justify-between rounded-xl border p-4 shadow-sm",style:{backgroundColor:v.secondary,color:v.secondaryText}},{children:[p,s.jsxs("div",Object.assign({className:"flex flex-col"},{children:[s.jsxs("div",Object.assign({className:"flex flex-col"},{children:[s.jsxs(o.Avatar,Object.assign({className:"h-8 w-8"},{children:[s.jsx(o.AvatarImage,{src:null!==(j=m.image)&&void 0!==j?j:"",alt:O}),s.jsx(o.AvatarFallback,{})]})),s.jsx("p",Object.assign({className:"mt-2 text-sm font-semibold line-clamp-1",title:O},{children:O})),Boolean(I)&&s.jsx("p",Object.assign({className:"mt-1 text-[10px] opacity-70 line-clamp-2 leading-tight"},{children:I})),s.jsxs("p",Object.assign({className:"mt-2 text-base font-semibold"},{children:[w.price,s.jsx("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:w.suffix}))]}))]})),s.jsxs("div",Object.assign({className:"mt-3 flex flex-col border-t py-2",style:{borderTopColor:v.secondaryText}},{children:[s.jsx("span",Object.assign({className:"text-[10px] font-bold opacity-50"},{children:"USES"})),s.jsxs("p",Object.assign({className:"text-base font-semibold"},{children:[N.limit,s.jsx("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:N.suffix}))]}))]}))]})),s.jsx(r.default,Object.assign({variant:"primary",className:"w-full mt-2 min-h-[32px] text-xs",onClick:()=>{if(g)e.__awaiter(void 0,void 0,void 0,(function*(){try{const e=yield l.default.post("/access_group_checkout",{data:{studioUserId:b||void 0,studioId:null==k?void 0:k.studioid,accessGroupId:m.accessGroupId,successUrl:document.URL,isEmbed:u.isInIframe(),studioSessionToken:g}});if(e.data.success){const s=e.data.url;if(s)if(u.isInIframe())try{window.open(s,"_blank")}catch(e){window.open(s,"_blank")}else window.location.href=s;else window.location.reload()}else{const s=e.data.error;alert(s)}}catch(e){alert(e)}}));else{const e=f||`${null==h?void 0:h.limitLink}?redirectUrl=${document.URL}`;u.isInIframe()?y(f||(null==h?void 0:h.limitLink)):window.location.href=e}}},{children:m.ctaButtonText}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),r=require("framer-motion"),a=require("../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../hooks/pickaxe/useResponseContext.js"),l=require("../../../hooks/studio/useStyleFontSize.js"),i=require("../../../common/utils.js"),n=require("../../Icons/circle-exclamation.svg.js"),c=require("../../Core/SpringTransition.js"),u=require("../../Core/HtmlRenderer.js"),d=require("./PickaxeButton.js"),x=require("../../../common/cn.js"),p=require("../../../common/api/pickaxe.js"),m=require("../Addons/Auth/hooks/useAuthContext.js"),f=require("./AccessGroupCardPreview.js");const j=({price:e,uses:t,isSelected:r,onClick:a,colors:o})=>s.jsxs("button",Object.assign({onClick:a,className:x.default("flex items-center gap-2 rounded-xl border px-4 py-3 shadow-sm transition-all duration-200 shrink-0",r?"border-2":"border opacity-80 hover:opacity-100"),style:{backgroundColor:o.secondary,color:o.secondaryText,borderColor:r?o.secondaryText:"rgba(0,0,0,0.1)"}},{children:[s.jsxs("span",Object.assign({className:"text-xl font-bold"},{children:["$",e]})),s.jsxs("span",Object.assign({className:"text-sm opacity-70"},{children:["/ ",t.toLocaleString()," uses"]}))]}));exports.default=({className:b,iconClassName:h,htmlClassName:g})=>{var y,v;const{colors:w,pickaxe:k,sender:C}=a.usePickaxeContext(),{token:N}=m.useAuthContext(),{limitData:q}=o.useResponseContext(),O=l.useStyleFontSize(),[_,A]=t.useState(0),S=window.location.href.includes("_embed"),U=i.isInIframe()&&!S?"_self":"_top";if(t.useEffect((()=>{var e;(null===(e=null==q?void 0:q.buyUses)||void 0===e?void 0:e.length)&&A(0)}),[q]),!q)return null;const I=q.limitLink,P=q.limitCTA,G=Array.isArray(q.upgradeGroups)&&q.upgradeGroups.length>0,T=Array.isArray(q.buyUses)&&q.buyUses.length>0,L=T&&Array.isArray(q.buyUses)&&q.buyUses[_];return s.jsx(r.AnimatePresence,{children:s.jsxs(c.default,Object.assign({className:x.default("flex flex-col gap-5 w-full",b)},{children:[s.jsxs("div",Object.assign({className:"flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between rounded-lg p-3 bg-opacity-5",style:{backgroundColor:w.secondary}},{children:[s.jsxs("div",Object.assign({className:"flex gap-3 items-start"},{children:[s.jsx(n.default,{className:x.default("h-5 w-5 shrink-0 mt-0.5",h),style:{color:w.accent}}),s.jsx(u.default,{className:x.default(O.b2,"font-semibold leading-relaxed text-sm",g),style:{color:w.text},html:q.limitMessage||""})]})),P&&s.jsx("a",Object.assign({href:I,target:U,rel:"noreferrer",className:"shrink-0 w-full sm:w-auto"},{children:s.jsx(d.default,Object.assign({variant:"primary",className:"whitespace-nowrap min-h-[32px] w-full sm:w-auto text-sm"},{children:P}))}))]})),G&&s.jsxs("div",Object.assign({className:"flex flex-col gap-2"},{children:[s.jsx("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:w.text}},{children:"Available Plans"})),s.jsx("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-4 pt-1 snap-x scrollbar-thin"},{children:null===(y=q.upgradeGroups)||void 0===y?void 0:y.map(((e,t)=>s.jsx(f.default,{data:e},e.accessGroupId||t)))}))]})),T&&L&&s.jsxs("div",Object.assign({className:"flex flex-col gap-3"},{children:[s.jsx("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:w.text}},{children:"Buy Credits"})),s.jsx("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-2 pt-1 snap-x scrollbar-thin"},{children:null===(v=q.buyUses)||void 0===v?void 0:v.map(((e,t)=>s.jsx(j,{price:e.price,uses:e.uses,isSelected:t===_,onClick:()=>A(t),colors:w},t)))})),s.jsxs(d.default,Object.assign({variant:"primary",className:"w-full py-3 text-sm font-bold shadow-md",onClick:()=>{return s=L.uses,t=L.price,e.__awaiter(void 0,void 0,void 0,(function*(){try{const e=yield p.default.post("/get_extra_usage_payment_link",{data:{sender:C||void 0,studioSessionToken:N,studioId:null==k?void 0:k.studioid,cost:t,extraUses:s,successUrl:document.URL}});if(e.data.success){const s=e.data.url;if(i.isInIframe())try{window.open(s,"_blank")}catch(e){window.open(s,"_blank")}else window.location.href=s}else{const s=e.data.error;alert(s)}}catch(e){alert(e)}}));var s,t}},{children:["Buy ",L.uses.toLocaleString()," Uses for $",L.price]}))]}))]}))})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),r=require("framer-motion"),a=require("../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../common/utils.js"),n=require("../../Icons/circle-exclamation.svg.js"),c=require("../../Core/SpringTransition.js"),u=require("../../Core/HtmlRenderer.js"),d=require("./PickaxeButton.js"),x=require("../../../common/cn.js"),p=require("../../../common/api/pickaxe.js"),m=require("../Addons/Auth/hooks/useAuthContext.js"),f=require("./AccessGroupCardPreview.js"),j=require("../Addons/Auth/hooks/useAuth.js");const h=({price:e,uses:t,isSelected:r,onClick:a,colors:o})=>s.jsxs("button",Object.assign({onClick:a,className:x.default("flex items-center gap-2 rounded-xl border px-4 py-3 shadow-sm transition-all duration-200 shrink-0",r?"border-2":"border opacity-80 hover:opacity-100"),style:{backgroundColor:o.secondary,color:o.secondaryText,borderColor:r?o.secondaryText:"rgba(0,0,0,0.1)"}},{children:[s.jsxs("span",Object.assign({className:"text-xl font-bold"},{children:["$",e]})),s.jsxs("span",Object.assign({className:"text-sm opacity-70"},{children:["/ ",t.toLocaleString()," uses"]}))]}));exports.default=({className:b,iconClassName:g,htmlClassName:y})=>{var v,k;const{colors:w,pickaxe:C,sender:N}=a.usePickaxeContext(),{token:A}=m.useAuthContext(),{limitData:q}=o.useResponseContext(),O=i.useStyleFontSize(),[U,_]=t.useState(0),{onOpenPricing:S}=j.useAuth();if(t.useEffect((()=>{var e;(null===(e=null==q?void 0:q.buyUses)||void 0===e?void 0:e.length)&&_(0)}),[q]),!q)return null;const P=q.limitLink,I=q.limitCTA,G=Array.isArray(q.upgradeGroups)&&q.upgradeGroups.length>0,L=Array.isArray(q.buyUses)&&q.buyUses.length>0,R=L&&Array.isArray(q.buyUses)&&q.buyUses[U];return s.jsx(r.AnimatePresence,{children:s.jsxs(c.default,Object.assign({className:x.default("flex flex-col gap-5 w-full",b)},{children:[s.jsxs("div",Object.assign({className:"flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between rounded-lg p-3 bg-opacity-5",style:{backgroundColor:w.secondary}},{children:[s.jsxs("div",Object.assign({className:"flex gap-3 items-start"},{children:[s.jsx(n.default,{className:x.default("h-5 w-5 shrink-0 mt-0.5",g),style:{color:w.accent}}),s.jsx(u.default,{className:x.default(O.b2,"font-semibold leading-relaxed text-sm",y),style:{color:w.text},html:q.limitMessage||""})]})),I&&s.jsx(d.default,Object.assign({variant:"primary",className:"whitespace-nowrap min-h-[32px] w-full sm:w-auto text-sm",onClick:()=>{l.isInIframe()?A?window.open(P):S(P):window.location.href=`${P}?redirectUrl=${document.URL}`}},{children:I}))]})),G&&s.jsxs("div",Object.assign({className:"flex flex-col gap-2"},{children:[s.jsx("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:w.text}},{children:"Available Plans"})),s.jsx("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-4 pt-1 snap-x scrollbar-thin"},{children:null===(v=q.upgradeGroups)||void 0===v?void 0:v.map(((e,t)=>s.jsx(f.default,{data:e},e.accessGroupId||t)))}))]})),L&&R&&s.jsxs("div",Object.assign({className:"flex flex-col gap-3"},{children:[s.jsx("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:w.text}},{children:"Buy Credits"})),s.jsx("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-2 pt-1 snap-x scrollbar-thin"},{children:null===(k=q.buyUses)||void 0===k?void 0:k.map(((e,t)=>s.jsx(h,{price:e.price,uses:e.uses,isSelected:t===U,onClick:()=>_(t),colors:w},t)))})),s.jsxs(d.default,Object.assign({variant:"primary",className:"w-full py-3 text-sm font-bold shadow-md",onClick:()=>{return s=R.uses,t=R.price,e.__awaiter(void 0,void 0,void 0,(function*(){try{const e=yield p.default.post("/get_extra_usage_payment_link",{data:{sender:N||void 0,studioSessionToken:A,studioId:null==C?void 0:C.studioid,cost:t,extraUses:s,successUrl:document.URL}});if(e.data.success){const s=e.data.url;if(l.isInIframe())try{window.open(s,"_blank")}catch(e){window.open(s,"_blank")}else window.location.href=s}else{const s=e.data.error;alert(s)}}catch(e){alert(e)}}));var s,t}},{children:["Buy ",R.uses.toLocaleString()," Uses for $",R.price]}))]}))]}))})};
@@ -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"),l=require("./Addons/Auth/hooks/useAuthContext.js"),r=require("../../hooks/pickaxe/useResponseContext.js"),c=require("./Addons/Document/hooks/useDocumentContext.js"),o=require("./Addons/Artifact/hooks/useArtifactContext.js"),n=require("uuid"),d=require("./Addons/Scroll/Provider.js"),u=require("./common/PickaxeSkeleton.js"),x=require("./Chat/index.js"),m=require("./Form/index.js"),f=require("./Addons/Auth/index.js"),p=require("../../common/cn.js"),j=require("../../common/api/pickaxe.js"),h=require("./common/AccessGroupCardPreview.js");exports.Pickaxe=({pickaxeId:g,className:b})=>{const{sessionId:v,styles:w,colors:y,responsiveBy:k,deploymentType:q,isNewChat:N,isEmailLogin:O,isEmbed:C,opacity:A,deploymentId:_,sender:P,portalId:S,setContextId:I,setPickaxeId:E,setSessionId:D,setPickaxe:L}=i.usePickaxeContext(),{isLoggedOut:R,isSent:M,token:T}=l.useAuthContext(),{setMessages:U,setResponse:F,setError:G,setLimitData:$,setIsSwitchedToChat:B}=r.useResponseContext(),{setDocumentError:H}=c.useDocumentContext(),{setCurrentArtifact:W}=o.useArtifactContext(),[z,J]=a.useState(!1),[K,Q]=a.useState("loading"),[V,X]=a.useState([]),[Y,Z]=a.useState(null),ee=t.usePickaxe(),se="chat-input"===q&&N&&!M,te="chat-input"!==q||!M;a.useEffect((()=>{E(g)}),[g]),a.useEffect((()=>{if(!_&&!S||!ee.data)return;e.__awaiter(void 0,void 0,void 0,(function*(){var e;Q("loading");try{const s=yield j.default.post("/validate_studio_deployment",{data:{deploymentId:_,sender:P||void 0,studioSessionToken:T,portalId:S,studioId:null===(e=ee.data)||void 0===e?void 0:e.studioid}});s.data.success?Q("success"):"Login required."===s.data.message?(Q("login_required"),J(!0)):"Access denied."===s.data.message?(Q("access_denied"),J(!0)):"Upgrade required."===s.data.message?(Q("upgrade_required"),X(s.data.upgradeGroups||[]),Z(s.data.upgradeUrl),J(!0)):Q("login_required")}catch(e){console.error("Failed to validate deployment:",e),Q("success")}}))}),[_,P,T,S,ee.data]),a.useEffect((()=>{if(!ee.data)return;const e=ee.data.chatflag;D(e?n.v4():""),I(n.v4()),e?U([]):F(null),G(""),H(""),$(null),W(null),B(!1),L(ee.data),J(!0)}),[ee.data]),a.useEffect((()=>{G(""),H(""),$(null),U([]),F(null),W(null)}),[v]);const ae=a.useMemo((()=>{const e=null!=A?A:1;if(!y.primary||!y.primary.startsWith("#")||e<0||e>1)return y.primary;const s=Math.round(255*e).toString(16).padStart(2,"0");return`${y.primary}${s}`}),[y.primary,A]);if(!ee.data)return null;return s.jsx("div",Object.assign({className:p.default("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===w.theme&&"dark",b),style:Object.assign({backgroundColor:se?"transparent":ae,color:y.text},w.font&&"Real Head Pro"!==w.font&&{fontFamily:w.font})},{children:ee.isLoading||!z||"loading"===K?s.jsx("div",Object.assign({className:p.default("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===k?"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(u.default,{className:"w-[72px] h-[72px]"}),s.jsx(u.default,{className:"h-[20px] mt-6 w-full"}),s.jsx(u.default,{className:"h-[20px] mt-2 w-full"}),s.jsx(u.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(u.default,{className:p.default("w-full min-h-[48px]","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):"upgrade_required"===K?s.jsx("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:V&&V.length>0?s.jsxs("div",Object.assign({className:"flex flex-col items-center gap-6 w-full max-w-4xl"},{children:[s.jsxs("div",Object.assign({className:"text-center"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Upgrade Required"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:"Please upgrade to continue using this tool."}))]})),s.jsx("div",Object.assign({className:"flex flex-wrap justify-center gap-4 w-full"},{children:V.map(((e,t)=>s.jsx(h.default,{data:e,upgradeUrl:Y},e.id||t)))}))]})):s.jsxs("div",Object.assign({className:"text-center mb-8"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Access Locked"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:"This tool is locked to use. Contact owner for more information."}))]}))})):"login_required"===K&&C||O&&R&&te?s.jsx(f.default,{}):"login_required"!==K||C?"access_denied"===K?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:"Access Denied"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:"Contact tool owner to request access."}))]}))})):v?s.jsx(d.ScrollProvider,{children:s.jsx(x.default,{})}):s.jsx(d.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:"Access Denied"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:"Login is required."}))]}))}))}))};
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"),c=require("./Addons/Document/hooks/useDocumentContext.js"),o=require("./Addons/Artifact/hooks/useArtifactContext.js"),n=require("uuid"),d=require("./Addons/Scroll/Provider.js"),u=require("./common/PickaxeSkeleton.js"),x=require("./Chat/index.js"),m=require("./Form/index.js"),f=require("./Addons/Auth/index.js"),p=require("../../common/cn.js"),j=require("../../common/api/pickaxe.js"),h=require("./common/AccessGroupCardPreview.js"),g=require("./common/PickaxeAvatar.js"),v=require("../Icons/lock.svg.js");exports.Pickaxe=({pickaxeId:b,className:k})=>{const{sessionId:w,styles:y,colors:q,responsiveBy:N,deploymentType:O,isNewChat:A,isEmbed:C,opacity:_,deploymentId:P,sender:S,portalId:I,setContextId:E,setPickaxeId:R,setSessionId:D,setPickaxe:L}=i.usePickaxeContext(),{isSent:T,token:U}=r.useAuthContext(),{setMessages:$,setResponse:F,setError:G,setLimitData:M,setIsSwitchedToChat:B}=l.useResponseContext(),{setDocumentError:H}=c.useDocumentContext(),{setCurrentArtifact:W}=o.useArtifactContext(),[z,J]=a.useState(!1),[K,Q]=a.useState("loading"),[V,X]=a.useState([]),[Y,Z]=a.useState(null),ee=t.usePickaxe(),se="chat-input"===O&&A&&!T;a.useEffect((()=>{R(b)}),[b]);a.useEffect((()=>{if(!P&&!I||!ee.data)return;e.__awaiter(void 0,void 0,void 0,(function*(){var e;Q("loading");try{const s=yield j.default.post("/validate_studio_deployment",{data:{deploymentId:P,sender:S||void 0,studioSessionToken:U,portalId:I,studioId:null===(e=ee.data)||void 0===e?void 0:e.studioid}});s.data.success?Q("success"):"Login required."===s.data.message?(Q("login_required"),J(!0)):"Access denied."===s.data.message?(Q("access_denied"),X(s.data.upgradeGroups||[]),J(!0)):"Upgrade required."===s.data.message?(Q("upgrade_required"),X(s.data.upgradeGroups||[]),Z(s.data.upgradeUrl),J(!0)):Q("login_required")}catch(e){console.error("Failed to validate deployment:",e),Q("success")}}))}),[P,S,U,I,ee.data]),a.useEffect((()=>{if(!ee.data)return;const e=ee.data.chatflag;D(e?n.v4():""),E(n.v4()),e?$([]):F(null),G(""),H(""),M(null),W(null),B(!1),L(ee.data),J(!0)}),[ee.data]),a.useEffect((()=>{G(""),H(""),M(null),$([]),F(null),W(null)}),[w]);const te=a.useMemo((()=>{const e=null!=_?_:1;if(!q.primary||!q.primary.startsWith("#")||e<0||e>1)return q.primary;const s=Math.round(255*e).toString(16).padStart(2,"0");return`${q.primary}${s}`}),[q.primary,_]);if(!ee.data)return null;return s.jsx("div",Object.assign({className:p.default("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===y.theme&&"dark",k),style:Object.assign({backgroundColor:se?"transparent":te,color:q.text},y.font&&"Real Head Pro"!==y.font&&{fontFamily:y.font})},{children:ee.isLoading||!z||"loading"===K?s.jsx("div",Object.assign({className:p.default("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===N?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:s.jsxs("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[s.jsx(u.default,{className:"w-[72px] h-[72px]"}),s.jsx(u.default,{className:"h-[20px] mt-6 w-full"}),s.jsx(u.default,{className:"h-[20px] mt-2 w-full"}),s.jsx(u.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(u.default,{className:p.default("w-full min-h-[48px]","viewport"===N?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):"upgrade_required"===K?s.jsx("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:V&&V.length>0?s.jsxs("div",Object.assign({className:"flex flex-col items-center gap-6 w-full max-w-4xl"},{children:[s.jsxs("div",Object.assign({className:"text-center"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Upgrade Required"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:"Please upgrade to continue using this tool."}))]})),s.jsx("div",Object.assign({className:"flex flex-wrap justify-center gap-4 w-full"},{children:V.map(((e,t)=>s.jsx(h.default,{data:e,upgradeUrl:Y},e.id||t)))}))]})):s.jsxs("div",Object.assign({className:"text-center mb-8"},{children:[s.jsx("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Access Locked"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:"This tool is locked to use. Contact owner for more information."}))]}))})):"login_required"===K&&C?s.jsx(f.default,{}):"login_required"!==K||C?"access_denied"===K?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(g.Avatar,Object.assign({className:"h-[68px] w-[68px] mb-4"},{children:[s.jsx(g.AvatarImage,{src:null===(ae=ee.data)||void 0===ae?void 0:ae.coverphoto,alt:`${null===(ie=ee.data)||void 0===ie?void 0:ie.formtitle} Logo`}),s.jsx(g.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:"Access Denied"})),s.jsxs("div",Object.assign({className:"w-[400px] text-xl flex justify-center items-start"},{children:[s.jsx(v.default,{className:"h-6 w-6 mr-[-20px] shrink-0"}),s.jsx("p",Object.assign({className:"ml-1"},{children:"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:q.accent,color:q.accentText,borderRadius:y.cornerRadius},onClick:()=>{e.__awaiter(void 0,void 0,void 0,(function*(){var e;const s=V.map((e=>e.name));try{(yield j.default.post("/request_access",{data:{sender:S||void 0,studioSessionToken:U,studioId:null===(e=ee.data)||void 0===e?void 0:e.studioid,message:`Upgrade user's plan with these AGs: ${s.join(", ")}`}})).data.success?alert("Successfully requested access!"):alert("Couldn't request access")}catch(e){alert(`Couldn't request access. Error: ${e}`)}}))}},{children:"Request Access"})),s.jsx("span",Object.assign({className:"mt-4 mb-2"},{children:"or"})),s.jsx("span",Object.assign({className:"font-medium text-lg"},{children:"Sign in with a different account"}))]})):w?s.jsx(d.ScrollProvider,{children:s.jsx(x.default,{})}):s.jsx(d.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:"Access Denied"})),s.jsx("p",Object.assign({className:"opacity-80"},{children:"Login is required."}))]}))}))}));var ae,ie};
@@ -9,12 +9,14 @@ type AuthContextType = {
9
9
  isSending: boolean;
10
10
  isResendDisabled: boolean;
11
11
  isSent: boolean;
12
+ isPricingAuth: boolean;
12
13
  setEmailInput: SetState<string>;
13
14
  setToken: SetState<string | null>;
14
15
  setIsLoggingIn: SetState<boolean>;
15
16
  setIsSending: SetState<boolean>;
16
17
  setIsResendDisabled: SetState<boolean>;
17
18
  setIsSent: SetState<boolean>;
19
+ setIsPricingAuth: SetState<boolean>;
18
20
  };
19
21
  export interface IAuthProviderProps {
20
22
  children: ReactNode;
@@ -1,3 +1,4 @@
1
1
  export declare const useAuth: () => {
2
2
  onSend: (isResend?: boolean) => Promise<void>;
3
+ onOpenPricing: (link: string | undefined) => Promise<void>;
3
4
  };
@@ -10,6 +10,7 @@ export type PickaxeTranslations = {
10
10
  };
11
11
  export type PickaxeProviderStyles = {
12
12
  theme: "light" | "dark";
13
+ portalTheme?: "light" | "dark";
13
14
  font: string;
14
15
  fontSize: StudioFontSize;
15
16
  formFieldStyle: StudioFormFieldStyle;
@@ -35,7 +36,7 @@ export type PickaxeMisc = {
35
36
  isDescription: boolean;
36
37
  isHistory?: boolean;
37
38
  };
38
- export type PickaxeDeploymentEmbedType = "inline" | "fab" | "popup" | "chat-input";
39
+ export type PickaxeDeploymentEmbedType = "inline" | "fab" | "popup" | "chat-input" | "direct-link";
39
40
  export type PickaxeDeploymentDimensions = {
40
41
  width: {
41
42
  value: number;
@@ -87,7 +88,6 @@ type PickaxeContextType = {
87
88
  isRtl: boolean;
88
89
  isEmbed: boolean;
89
90
  isDropShadow: boolean;
90
- isEmailLogin: boolean;
91
91
  allowGuestUsage: boolean;
92
92
  setContextId: SetState<string>;
93
93
  setPickaxeId: SetState<string>;
@@ -129,10 +129,9 @@ export interface IPickaxeProviderProps {
129
129
  isRtl?: boolean;
130
130
  isEmbed?: boolean;
131
131
  isDropShadow?: boolean;
132
- isEmailLogin?: boolean;
133
132
  allowGuestUsage?: boolean;
134
133
  onGenerateComplete?: (responseId: string) => void;
135
134
  }
136
135
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
137
- export declare const PickaxeProvider: ({ children, origin, sender: _sender, senderType: _senderType, portalId, deploymentId, deploymentType, deploymentDimensions, deploymentMisc, styles, colors, limits, misc, translations, artifact, responsiveBy, locale, opacity, forceMobile, disableHtml, disableJs, disableCss, loadFont, isRtl, isEmbed, isDropShadow, isEmailLogin, allowGuestUsage, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
136
+ export declare const PickaxeProvider: ({ children, origin, sender: _sender, senderType: _senderType, portalId, deploymentId, deploymentType, deploymentDimensions, deploymentMisc, styles, colors, limits, misc, translations, artifact, responsiveBy, locale, opacity, forceMobile, disableHtml, disableJs, disableCss, loadFont, isRtl, isEmbed, isDropShadow, allowGuestUsage, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
138
137
  export {};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useState as s,createContext as n}from"react";const t=n({}),i=({children:n})=>{const[i,o]=s(""),[r,g]=s(null),[d,a]=s(!1),[l,I]=s(!1),[u,c]=s(!1),[m,p]=s(!1);return e(t.Provider,Object.assign({value:{emailInput:i,token:r,isLoggedIn:!!r,isLoggedOut:!r,isLoggingIn:d,isSending:l,isResendDisabled:u,isSent:m,setEmailInput:o,setToken:g,setIsLoggingIn:a,setIsSending:I,setIsResendDisabled:c,setIsSent:p}},{children:n}))};export{t as AuthContext,i as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useState as s,createContext as n}from"react";const i=n({}),t=({children:n})=>{const[t,r]=s(""),[g,o]=s(null),[d,a]=s(!1),[l,u]=s(!1),[I,c]=s(!1),[m,p]=s(!1),[h,L]=s(!1);return e(i.Provider,Object.assign({value:{emailInput:t,token:g,isLoggedIn:!!g,isLoggedOut:!g,isLoggingIn:d,isSending:I,isResendDisabled:m,isSent:h,isPricingAuth:l,setIsPricingAuth:u,setEmailInput:r,setToken:o,setIsLoggingIn:a,setIsSending:c,setIsResendDisabled:p,setIsSent:L}},{children:n}))};export{i as AuthContext,t as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{useEffect as o}from"react";import{usePickaxeContext as i}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as t}from"./useAuthContext.js";import{useAuthVerify as s}from"./useAuthVerify.js";import{getAuthToken as r,deleteAuthToken as n,setAuthToken as d}from"../../../../../common/utils.js";import a from"../../../../../common/api/pickaxe.js";import m from"../../../../../common/error.js";const u=()=>{const{deploymentId:u,pickaxe:l,isEmailLogin:c,setSender:f,setSenderType:p}=i(),{emailInput:g,isSending:I,isLoggedOut:k,setToken:w,setIsLoggingIn:y,setIsSending:h,setIsSent:v,setIsResendDisabled:E}=t(),S=s({token:r((null==l?void 0:l.studioid)||"")||"",enabled:c&&k,setIsLoggingIn:y});o((()=>{if("undefined"==typeof window)return;if(!S.data)return;const{success:e,token:o,error:i}=S.data;e&&!i?(w(o),f(void 0),p("STUDIO_USER")):n(`PXE-token-${null==l?void 0:l.studioid}`)}),[S.data,null==l?void 0:l.studioid]);return{onSend:o=>e(void 0,void 0,void 0,(function*(){try{if(!l)return;if(I)return;const e=g.trim().toLowerCase();if(!e)throw new Error("Email address cannot be empty.");if(!e.includes("@")||!e.includes("."))throw new Error("Please enter a valid email address.");if(!l.studioid)throw new Error(`Studio ID is missing for ${l.formid}. Please contact support.`);h(!0),o&&E(!0);const i=(yield a.post("/auth/email",Object.assign({pickaxeId:l.formid,studioId:l.studioid,email:e},u&&{deploymentId:u}))).data;if(!i.success)throw new Error(i.error||"Failed to send sign-in link.");h(!1),v(!0),o&&(yield new Promise((e=>setTimeout(e,3e4))),E(!1)),d(`PXE-token-${l.studioid}`,i.token)}catch(e){const o=m(e);alert(o)}finally{h(!1)}}))}};export{u as useAuth};
1
+ import{__awaiter as o}from"../../../../../_virtual/_tslib.js";import{useEffect as e}from"react";import{usePickaxeContext as t}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as i}from"./useAuthContext.js";import{useAuthVerify as r}from"./useAuthVerify.js";import{getAuthToken as n,deleteAuthToken as s,setAuthToken as d}from"../../../../../common/utils.js";import a from"../../../../../common/api/pickaxe.js";import u from"../../../../../common/error.js";import{useResponseContext as c}from"../../../../../hooks/pickaxe/useResponseContext.js";const m=()=>{const{deploymentId:m,pickaxe:l,setSender:f,setSenderType:p}=t(),{emailInput:k,isSending:g,isLoggedOut:w,isPricingAuth:I,setToken:h,setIsLoggingIn:v,setIsSending:y,setIsSent:x,setIsResendDisabled:E,setIsPricingAuth:P}=i(),S=r({token:n((null==l?void 0:l.studioid)||"")||"",enabled:I&&w,setIsLoggingIn:v}),{setLimitData:j}=c();e((()=>{if("undefined"==typeof window)return;if(!S.data)return;const{success:o,token:e,error:t}=S.data;if(!o||t)return s(`PXE-token-${null==l?void 0:l.studioid}`),void P(!1);o&&e&&(h(e),f(void 0),p("STUDIO_USER"),I&&(P(!1),j(null)))}),[S.data,null==l?void 0:l.studioid]);return{onSend:e=>o(void 0,void 0,void 0,(function*(){try{if(!l)return;if(g)return;const o=k.trim().toLowerCase();if(!o)throw new Error("Email address cannot be empty.");if(!o.includes("@")||!o.includes("."))throw new Error("Please enter a valid email address.");if(!l.studioid)throw new Error(`Studio ID is missing for ${l.formid}. Please contact support.`);y(!0),e&&E(!0);const t=(yield a.post("/auth/email",Object.assign({pickaxeId:l.formid,studioId:l.studioid,email:o},m&&{deploymentId:m}))).data;if(!t.success)throw new Error(t.error||"Failed to send sign-in link.");y(!1),x(!0),e&&(yield new Promise((o=>setTimeout(o,3e4))),E(!1)),d(`PXE-token-${l.studioid}`,t.token)}catch(o){const e=u(o);alert(e)}finally{y(!1)}})),onOpenPricing:e=>o(void 0,void 0,void 0,(function*(){try{if(!l)return;if(!l.studioid)throw new Error(`Studio ID is missing for ${l.formid}. Please contact support.`);const o=(yield a.post("/auth/token",{pickaxeId:l.formid,studioId:l.studioid})).data;if(!o.success)throw new Error(o.error||"Failed to create sign-in token.");d(`PXE-token-${l.studioid}`,o.token),P(!0),window.open(`${e}?embed_token=${o.token}`)}catch(o){const e=u(o);alert(e)}}))}};export{m as useAuth};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t,useEffect as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as n}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as l}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as c}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as m}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as d}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as p}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as u}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as h,motion as f}from"framer-motion";import g from"../../../Icons/lock.svg.js";import x from"../../../Core/ErrorAlert.js";import j from"../../common/PickaxeHead.js";import b from"../../common/PickaxeEmbedHead.js";import v from"../../common/PickaxeUpgradeCard.js";import y from"../../common/PickaxeSkeleton.js";import k from"../../common/PickaxeHistoryButton.js";import w from"../../Addons/Scroll/ScrollLockView.js";import N from"../../Addons/Artifact/Renderer/index.js";import O from"./Message.js";import C from"./CustomMessage.js";import S from"../../Addons/IceBreaker/index.js";import A from"../../common/PickaxeBranding.js";import P from"../../../../common/cn.js";const I=({additionalScrollHeight:I,smitheryAuthData:H,isForceHideInfo:L,isInputFocused:R,onSubmit:D,resubmitPrompt:B})=>{var E,T,F,z,M;const{sessionId:W,deploymentType:$,pickaxe:q,translations:U,misc:V,isNewChat:_,isRtl:G,isEmbed:J,isEmailLogin:K,isShowIceBreaker:Q,setSessionId:X,setLastSessionId:Y}=o(),{emailInput:Z,isLoggedOut:ee,isSending:se,isResendDisabled:ie,isSent:te}=n(),{onSend:ae}=l(),{scrollContainerRef:oe}=m(),{messages:ne,limitData:le,error:re}=r(),{height:ce,width:me}=c(),{currentArtifact:de,chatPopupType:pe,currentPopupType:ue}=u(),he=p(),fe=d(),ge=t((()=>(null==q?void 0:q.icebreakers)?q.icebreakers.slice(0,3):[]),[null==q?void 0:q.icebreakers]),xe=t((()=>{const e=!!he.data&&he.data.messages.length>1;return!L&&he.isSuccess&&_&&!e}),[L,he.isSuccess,_,he.data]),je=t((()=>!(null==q?void 0:q.chatflag)&&(null==q?void 0:q.enablechatresponses)&&ne.length>0),[q,ne]),be=t((()=>!!he.data&&he.data.messages.some((e=>"intromessage"===e.area))),[he.data]),ve="chat-input"===$&&K&&ee&&te,ye=Q&&!R&&!be&&xe&&me>767,ke=Q&&!R&&(be||me<=767),we=()=>{Y(W),X("")};return a((()=>{oe.current&&requestAnimationFrame((()=>{oe.current&&(oe.current.scrollTop=oe.current.scrollHeight)}))}),[I,oe]),e("div",Object.assign({ref:oe,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4"},{children:[s(h,{children:!!de&&"inline"===ue&&s(f.div,Object.assign({className:P("absolute top-0 z-20 w-full px-4 py-2",pe),style:{height:`calc(${ce-I}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(N,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:de.id,version:de.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[xe&&J&&s("div",Object.assign({className:P("absolute right-4 top-3 flex items-center gap-2","popup"===$&&"right-12")},{children:s(k,{tip:(null==U?void 0:U["chat-history"])||"Chat History",onClick:we})})),s(j,Object.assign({className:P("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",xe&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!ve&&{onIconClick:we})),J&&!he.isLoading&&s(b,Object.assign({className:P("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!xe&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==U?void 0:U["chat-history"])||"Chat History"},!ve&&{onIconClick:we,onHistoryClick:we})),e("div",Object.assign({className:P("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",J&&!he.isLoading&&!xe&&"mt-0")},{children:[ye&&s("div",Object.assign({className:P("grid grid-cols-3 gap-4",2===ge.length&&"grid-cols-2",1===ge.length&&"grid-cols-1")},{children:s(S,{type:"center",data:ge,onSend:D})})),ve?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(C,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(g,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:Z}))]}))})),s(C,Object.assign({chatRole:"assistant"},{children:e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(F=null==U?void 0:U["we-sent-your-an-activation-link"])&&void 0!==F?F:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{ie||se||ae(!0)}},{children:se?null!==(z=null==U?void 0:U.resending)&&void 0!==z?z:"Resending...":null!==(M=null==U?void 0:U.resend)&&void 0!==M?M:"Resend"}))]}))}))]}))})):s(i,{children:he.isLoading&&!(null==q?void 0:q.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[_&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(y,{className:"w-[72px] h-[72px]"}),s(y,{className:"h-[20px] mt-6 w-full"}),s(y,{className:"h-[20px] mt-2 w-full"}),s(y,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(y,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(y,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(y,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):he.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:P(fe.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):he.data||je?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[(null!==(T=null===(E=he.data)||void 0===E?void 0:E.messages)&&void 0!==T?T:[]).map(((e,i)=>s(O,{index:i,message:e},i))),ne.map(((e,i)=>{var t,a;return s(O,{smitheryData:H,resubmitPrompt:B,index:(null!==(a=null===(t=he.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:e,isLastMessage:i===ne.length-1},i)})),le?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(v,{})})):re?s("div",Object.assign({className:P("flex items-center gap-x-3",G?"justify-end":"justify-start")},{children:s(x,{error:re})})):null]})),e("div",Object.assign({className:P("flex flex-col",!V.isWhiteLabel||ke&&"mt-4")},{children:[!V.isWhiteLabel&&s(A,{containerClassName:P("justify-end",ke&&"mb-2")}),ke&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:ge,onSend:D})})),s(w,{})]}))]})):null})]}))]}))]}))};export{I as default};
1
+ import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{useMemo as t,useEffect as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as n}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as l}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as c}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as m}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as d}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as p}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as u}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as h,motion as f}from"framer-motion";import g from"../../../Icons/lock.svg.js";import x from"../../../Core/ErrorAlert.js";import j from"../../common/PickaxeHead.js";import b from"../../common/PickaxeEmbedHead.js";import v from"../../common/PickaxeUpgradeCard.js";import y from"../../common/PickaxeSkeleton.js";import k from"../../common/PickaxeHistoryButton.js";import w from"../../Addons/Scroll/ScrollLockView.js";import N from"../../Addons/Artifact/Renderer/index.js";import O from"./Message.js";import C from"./CustomMessage.js";import S from"../../Addons/IceBreaker/index.js";import A from"../../common/PickaxeBranding.js";import P from"../../../../common/cn.js";const I=({additionalScrollHeight:I,smitheryAuthData:H,isForceHideInfo:L,isInputFocused:R,onSubmit:D,resubmitPrompt:B})=>{var T,E,F,z,M;const{sessionId:W,deploymentType:$,pickaxe:q,translations:U,misc:V,isNewChat:_,isRtl:G,isEmbed:J,isShowIceBreaker:K,setSessionId:Q,setLastSessionId:X}=o(),{emailInput:Y,isLoggedOut:Z,isSending:ee,isResendDisabled:se,isSent:ie,isPricingAuth:te}=n(),{onSend:ae}=l(),{scrollContainerRef:oe}=m(),{messages:ne,limitData:le,error:re}=r(),{height:ce,width:me}=c(),{currentArtifact:de,chatPopupType:pe,currentPopupType:ue}=u(),he=p(),fe=d(),ge=t((()=>(null==q?void 0:q.icebreakers)?q.icebreakers.slice(0,3):[]),[null==q?void 0:q.icebreakers]),xe=t((()=>{const e=!!he.data&&he.data.messages.length>1;return!L&&he.isSuccess&&_&&!e}),[L,he.isSuccess,_,he.data]),je=t((()=>!(null==q?void 0:q.chatflag)&&(null==q?void 0:q.enablechatresponses)&&ne.length>0),[q,ne]),be=t((()=>!!he.data&&he.data.messages.some((e=>"intromessage"===e.area))),[he.data]),ve="chat-input"===$&&te&&Z&&ie,ye=K&&!R&&!be&&xe&&me>767,ke=K&&!R&&(be||me<=767),we=()=>{X(W),Q("")};return a((()=>{oe.current&&requestAnimationFrame((()=>{oe.current&&(oe.current.scrollTop=oe.current.scrollHeight)}))}),[I,oe]),e("div",Object.assign({ref:oe,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4"},{children:[s(h,{children:!!de&&"inline"===ue&&s(f.div,Object.assign({className:P("absolute top-0 z-20 w-full px-4 py-2",pe),style:{height:`calc(${ce-I}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(N,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:de.id,version:de.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[xe&&J&&s("div",Object.assign({className:P("absolute right-4 top-3 flex items-center gap-2","popup"===$&&"right-12")},{children:s(k,{tip:(null==U?void 0:U["chat-history"])||"Chat History",onClick:we})})),s(j,Object.assign({className:P("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",xe&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!ve&&{onIconClick:we})),J&&!he.isLoading&&s(b,Object.assign({className:P("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!xe&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==U?void 0:U["chat-history"])||"Chat History"},!ve&&{onIconClick:we,onHistoryClick:we})),e("div",Object.assign({className:P("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",J&&!he.isLoading&&!xe&&"mt-0")},{children:[ye&&s("div",Object.assign({className:P("grid grid-cols-3 gap-4",2===ge.length&&"grid-cols-2",1===ge.length&&"grid-cols-1")},{children:s(S,{type:"center",data:ge,onSend:D})})),ve?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(C,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(g,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:Y}))]}))})),s(C,Object.assign({chatRole:"assistant"},{children:e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(F=null==U?void 0:U["we-sent-your-an-activation-link"])&&void 0!==F?F:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{se||ee||ae(!0)}},{children:ee?null!==(z=null==U?void 0:U.resending)&&void 0!==z?z:"Resending...":null!==(M=null==U?void 0:U.resend)&&void 0!==M?M:"Resend"}))]}))}))]}))})):s(i,{children:he.isLoading&&!(null==q?void 0:q.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[_&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(y,{className:"w-[72px] h-[72px]"}),s(y,{className:"h-[20px] mt-6 w-full"}),s(y,{className:"h-[20px] mt-2 w-full"}),s(y,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(y,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(y,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(y,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):he.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:P(fe.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):he.data||je?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[(null!==(E=null===(T=he.data)||void 0===T?void 0:T.messages)&&void 0!==E?E:[]).map(((e,i)=>s(O,{index:i,message:e},i))),ne.map(((e,i)=>{var t,a;return s(O,{smitheryData:H,resubmitPrompt:B,index:(null!==(a=null===(t=he.data)||void 0===t?void 0:t.messages.length)&&void 0!==a?a:0)+i,message:e,isLastMessage:i===ne.length-1},i)})),le?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(v,{})})):re?s("div",Object.assign({className:P("flex items-center gap-x-3",G?"justify-end":"justify-start")},{children:s(x,{error:re})})):null]})),e("div",Object.assign({className:P("flex flex-col",!V.isWhiteLabel||ke&&"mt-4")},{children:[!V.isWhiteLabel&&s(A,{containerClassName:P("justify-end",ke&&"mb-2")}),ke&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:ge,onSend:D})})),s(w,{})]}))]})):null})]}))]}))]}))};export{I as default};
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,Fragment as o}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import"../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js";import u,{useSpeechRecognition as m}from"react-speech-recognition";import{usePickaxeContext as p}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as f}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as h}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as g}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as v}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as b}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as y}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as j}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as w}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as O}from"../../../hooks/core/useHover.js";import{useMediaQuery as k}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as S,allowedImageMimeTypes as N,additionalAllowedFileExtensions as I}from"../../../common/documents.js";import{createParser as C}from"eventsource-parser";import E from"../../Icons/attach-vertical.svg.js";import _ from"../../Icons/arrow-right.svg.js";import A from"../../Icons/microphone.svg.js";import T from"../../Icons/stop.svg.js";import D from"../Addons/Document/List.js";import P from"../../Core/Textarea.js";import R from"../../Core/ErrorAlert.js";import L from"../../../common/error.js";import $ from"../../../common/cn.js";import{initializeEmbedUserId as W}from"../../../common/utils.js";const B=i((({resubmitPrompt:i,onFocus:B,onBlur:H,onInputHeightChange:F,initSmitheryAuthData:J},U)=>{var M,V,K;const{origin:X,pickaxeId:z,sessionId:q,sender:G,senderType:Q,portalId:Y,deploymentId:Z,deploymentType:ee,pickaxe:te,styles:ne,colors:se,locale:oe,forceMobile:ie,isNewChat:re,isRtl:ae,isEmailLogin:le,isShowFeedbackMessage:ce,setIsNewChat:de,setIsShowIceBreaker:ue,onGenerateComplete:me}=p(),{token:pe,isLoggedOut:fe,isSent:he}=y(),{messages:ge,isGenerating:ve,setMessages:be,setStatus:ye,setLimitData:je,setError:xe}=f(),{documents:we,isUploading:Oe,documentError:ke,onFileUpload:Se,setDocuments:Ne,setDocumentError:Ie}=j(),{scrollStartSession:Ce,scrollEndSession:Ee,scrollToBottom:_e}=x({auto:!0}),{artifacts:Ae,currentPopupType:Te,setArtifacts:De,setCurrentArtifact:Pe}=w(),{height:Re}=b(),Le=v(),[$e,We]=r(""),[Be,He]=r(!1),[Fe,Je]=r(!1),Ue=a(null),Me=a(""),Ve=a(null),Ke=a(null),Xe=a(null),ze=a(null),qe=a(null),Ge=Math.max(.4*Re,100),{transcript:Qe,listening:Ye,resetTranscript:Ze,browserSupportsSpeechRecognition:et}=m(),[tt]=k("(max-width: 480px)"),nt=O(),{isHover:st}=nt,ot=e(nt,["isHover"]),it=O(),{isHover:rt}=it,at=e(it,["isHover"]),lt=O(),{isHover:ct}=lt,dt=e(lt,["isHover"]),ut=g(),mt=h(),pt="undefined"!=typeof window?window.location.hostname:"",ft="undefined"!=typeof window?window.location.href:"",ht="undefined"!=typeof window&&window.self!==window.top,gt=pt.includes("pickaxe.co")&&!ft.includes("https://studio.pickaxe.co/_embed")&&!ht,vt=null===(M=null==te?void 0:te.documentuploadtype)||void 0===M?void 0:M.startsWith("enduserupload"),bt=et&&(null==te?void 0:te.enablevoicetotext),yt="chat-input"===ee&&re&&!he,jt="chat-input"===ee&&le&&fe&&he,xt=null!==(V=null==te?void 0:te.placeholdertext)&&void 0!==V?V:ae?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",wt=Be||Fe,Ot=l((()=>{var e,t,n;return!!re&&(!!te&&(!Le.isLoading&&(!((null!==(t=null===(e=Le.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=te.icebreakers)||void 0===n?void 0:n.length)&&(!ce&&!yt)))))}),[te,re,ce,yt,Le.data,Le.isLoading]),kt=l((()=>{if(ve||Oe)return!1;const e=we.length>0&&we.every((e=>"finished"===e.status));return!(!$e.trim()&&!e)&&we.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ve,Oe,$e,we]);c(U,(()=>({onSubmit:St}))),d((()=>{ue(Ot)}),[Ot]),d((()=>{var e;if(i){const t=Array.from(ge),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;St(n,!0)}}),[i]),d((()=>{if(!ze.current||!F)return;const e=new ResizeObserver((e=>{for(const t of e)F(t.contentRect.height)}));return e.observe(ze.current),()=>{e.disconnect()}}),[F]),d((()=>{if(!Ye)return;const e=Me.current?`${Me.current} `:"";We(`${e}${Qe}`)}),[Qe,Ye]),d((()=>{if(!Ke.current)return;(()=>{if(!Ke.current)return;let e=Ke.current.scrollHeight>52;$e.includes("\n")||we.length?e=!0:$e.trim()||(e=!1),He(e)})()}),[$e,we]),d((()=>{const e=Ke.current,t=Xe.current;if(!e||!t||Be||$e.includes("\n"))return void Je(!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=$e||xt,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;Je(i>l)}),[$e,Be,xt]);const St=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o;try{if(ve||Oe)return;const i=we.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),r=i.map((e=>e.documentId)).filter(Boolean),a=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=r.length>0,c=null!=e?e:$e;if(!c&&!l)return;xe(""),Ie(""),je(null),We(""),de(!1),ye("fetching"),Ce(),_e();const d=null!==(s=null===(t=null==te?void 0:te.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&r.length>0,u=[...n?Array.from(ge.slice(0,ge.length-1)):Array.from(ge),...n?[]:[{id:ge.length+1,role:"user",parts:[{type:"text",content:c,isVisible:!0}],documentIds:d?r:[]}],{id:ge.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];be(u),_e(),d&&Ne([]);const m=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign(Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:X,pickaxeId:z,sessionId:q,senderType:Q,value:c},d&&{documentIds:r}),G&&{sender:G}),pe&&{studioSessionToken:pe}),!pe&&!G&&{sender:W()}),Y&&{portalId:Y}),Z&&{deploymentId:Z}),a.length>0&&{uploadedModelImages:a}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),gt&&{credentials:"include"})),p=yield m.json();if(!p.success){const e=new Error(p.error||"Failed to start generation");throw p.limitData&&(e.limitData=p.limitData),e}const f=p.submissionId;ye("streaming"),qe.current=new AbortController;const h=u.length-1,g=[];let v=[...null!=Ae?Ae:[]],b=0,y=!1,j="";for(;!y;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${f}?index=${b}`,{signal:null===(o=qe.current)||void 0===o?void 0:o.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();Ve.current=t;const n=new TextDecoder,s=C({onEvent:e=>{var t,n;if(e.event&&"ping"!==e.event&&b++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data).error||"Something went wrong.";return xe(t),void(y=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&J){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 y=!0,J({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 y=!0,J({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)j="",g.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)j+=s.delta,g[g.length-1].content=j;else if("text-end"===s.type)j="";else if("reasoning-start"===s.type)j="",g.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)j+=s.delta,g[g.length-1].content=j;else if("reasoning-end"===s.type)j="";else if(s.type.startsWith("data-")){const e=s;g.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}be([...u.slice(0,h),Object.assign(Object.assign({},u[u.length-1]),{id:ge.length+1,role:"assistant",parts:g})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),De([...v]),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),De(v),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),De(v),Te.startsWith("inline")||Pe({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");v=v.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),De(v)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);De(v.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);xe(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(y=!0)}else y=!0}});for(;;){const{value:e,done:o}=yield t.read();if(o)break;s.feed(n.decode(e))}y||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(y=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==me||me(q)}catch(e){if(e.limitData)je(e.limitData),xe("");else{let t=L(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later."),xe(t)}}finally{_e(),ye("idle"),Ee(),Ve.current=null}}));return jt?null:n("div",Object.assign({className:$("flex w-full flex-shrink-0 flex-col items-center",!yt&&"px-4 pb-8"),dir:ae?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:ze,className:$("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ne.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},mt),{maxHeight:`${Ge}px`,overflowY:"auto"})},{children:[Ye&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(K=se.accent)&&void 0!==K?K:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:se.text+"90"}},{children:"Listening..."}))]})),!ve&&we.length>0&&n(D,{className:"p-4 pb-0",isDisabled:ve}),n(P,Object.assign({ref:Ke,className:$(ut.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!$e.trim()&&!$e.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",ae?"text-right":"text-left",wt&&"mb-12",Ye&&"text-transparent"),value:$e,placeholder:xt,onChange:e=>{if(We(e),F){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void F(0);if(t>=11)return;let n=0;t>1&&(n=50),F(24*(t-1)+n)}},onKeyDown:e=>{ie||tt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Oe||ve||St()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),de(!1),yield Se(t))}))},B&&{onFocus:B},H&&{onBlur:H},{dir:ae?"rtl":"ltr"})),n("div",Object.assign({ref:Xe,className:$("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",wt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!wt&&mt.backgroundColor&&{backgroundColor:mt.backgroundColor}),{borderTopRightRadius:ne.cornerRadius+"px",borderBottomRightRadius:ne.cornerRadius+"px"})},{children:ve?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:()=>{qe.current&&(qe.current.abort(),qe.current=null),Ve.current&&(Ve.current.cancel(),Ve.current=null),ye("idle")},style:{backgroundColor:se.accent,color:se.accentText}},{children:n(T,{className:"h-4 w-4 shrink-0"})})):Ye?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:u.stopListening,style:{backgroundColor:se.accent,color:se.accentText}},{children:n(T,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[vt&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:rt?se.accent+"10":void 0,color:rt?se.accent:se.accent+"80"},disabled:Oe||ve,onClick:()=>{var e;return null===(e=Ue.current)||void 0===e?void 0:e.click()}},at,{children:[n("input",{id:"file-upload",ref:Ue,type:"file",accept:[...S,...N,...I].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){de(!1),yield Se(Array.from(e.target.files||[])),e.target.value=""}))}),n(E,{className:"h-6 w-6 shrink-0"})]})),bt&&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:Ye?se.accent:ct?se.accent+"10":void 0,color:Ye?se.accentText:ct?se.accent:se.accent+"80"},disabled:Oe||ve,onClick:()=>{Ye?u.stopListening():(Me.current=$e,Ze(),u.startListening({continuous:!0,interimResults:!0,language:oe||"en-US"}))}},dt,{children:n(A,{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:st||kt?se.accent:se.accent+"10",color:st||kt?se.accentText:se.accent+"80"},disabled:!kt,onClick:()=>St()},ot,{children:n(_,{className:$("h-6 w-6 shrink-0",ae&&"scale-x-[-1] transform")})}))]})}))]})),ke&&n(R,{error:ke,className:"mt-3"})]}))}))}));B.displayName="Input";export{B 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,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import"../../../node_modules/.pnpm/regenerator-runtime@0.14.1/node_modules/regenerator-runtime/runtime.js";import u,{useSpeechRecognition as m}from"react-speech-recognition";import{usePickaxeContext as p}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as f}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as h}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as g}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as v}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as b}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as y}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as j}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as w}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as O}from"../../../hooks/core/useHover.js";import{useMediaQuery as k}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as S,allowedImageMimeTypes as N,additionalAllowedFileExtensions as I}from"../../../common/documents.js";import{createParser as C}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import _ from"../../Icons/arrow-right.svg.js";import E from"../../Icons/microphone.svg.js";import T from"../../Icons/stop.svg.js";import P from"../Addons/Document/List.js";import D from"../../Core/Textarea.js";import R from"../../Core/ErrorAlert.js";import L from"../../../common/error.js";import $ from"../../../common/cn.js";import{initializeEmbedUserId as W}from"../../../common/utils.js";const B=i((({resubmitPrompt:i,onFocus:B,onBlur:H,onInputHeightChange:F,initSmitheryAuthData:J},U)=>{var M,V,K;const{origin:X,pickaxeId:z,sessionId:q,sender:G,senderType:Q,portalId:Y,deploymentId:Z,deploymentType:ee,pickaxe:te,styles:ne,colors:se,locale:oe,forceMobile:ie,isNewChat:re,isRtl:ae,isShowFeedbackMessage:le,setIsNewChat:ce,setIsShowIceBreaker:de,onGenerateComplete:ue}=p(),{token:me,isLoggedOut:pe,isSent:fe,isPricingAuth:he}=y(),{messages:ge,isGenerating:ve,setMessages:be,setStatus:ye,setLimitData:je,setError:xe}=f(),{documents:we,isUploading:Oe,documentError:ke,onFileUpload:Se,setDocuments:Ne,setDocumentError:Ie}=j(),{scrollStartSession:Ce,scrollEndSession:Ae,scrollToBottom:_e}=x({auto:!0}),{artifacts:Ee,currentPopupType:Te,setArtifacts:Pe,setCurrentArtifact:De}=w(),{height:Re}=b(),Le=v(),[$e,We]=r(""),[Be,He]=r(!1),[Fe,Je]=r(!1),Ue=a(null),Me=a(""),Ve=a(null),Ke=a(null),Xe=a(null),ze=a(null),qe=a(null),Ge=Math.max(.4*Re,100),{transcript:Qe,listening:Ye,resetTranscript:Ze,browserSupportsSpeechRecognition:et}=m(),[tt]=k("(max-width: 480px)"),nt=O(),{isHover:st}=nt,ot=e(nt,["isHover"]),it=O(),{isHover:rt}=it,at=e(it,["isHover"]),lt=O(),{isHover:ct}=lt,dt=e(lt,["isHover"]),ut=g(),mt=h(),pt="undefined"!=typeof window?window.location.hostname:"",ft="undefined"!=typeof window?window.location.href:"",ht="undefined"!=typeof window&&window.self!==window.top,gt=pt.includes("pickaxe.co")&&!ft.includes("https://studio.pickaxe.co/_embed")&&!ht,vt=null===(M=null==te?void 0:te.documentuploadtype)||void 0===M?void 0:M.startsWith("enduserupload"),bt=et&&(null==te?void 0:te.enablevoicetotext),yt="chat-input"===ee&&re&&!fe,jt="chat-input"===ee&&he&&pe&&fe,xt=null!==(V=null==te?void 0:te.placeholdertext)&&void 0!==V?V:ae?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",wt=Be||Fe,Ot=l((()=>{var e,t,n;return!!re&&(!!te&&(!Le.isLoading&&(!((null!==(t=null===(e=Le.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=te.icebreakers)||void 0===n?void 0:n.length)&&(!le&&!yt)))))}),[te,re,le,yt,Le.data,Le.isLoading]),kt=l((()=>{if(ve||Oe)return!1;const e=we.length>0&&we.every((e=>"finished"===e.status));return!(!$e.trim()&&!e)&&we.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ve,Oe,$e,we]);c(U,(()=>({onSubmit:St}))),d((()=>{de(Ot)}),[Ot]),d((()=>{var e;if(i){const t=Array.from(ge),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;St(n,!0)}}),[i]),d((()=>{if(!ze.current||!F)return;const e=new ResizeObserver((e=>{for(const t of e)F(t.contentRect.height)}));return e.observe(ze.current),()=>{e.disconnect()}}),[F]),d((()=>{if(!Ye)return;const e=Me.current?`${Me.current} `:"";We(`${e}${Qe}`)}),[Qe,Ye]),d((()=>{if(!Ke.current)return;(()=>{if(!Ke.current)return;let e=Ke.current.scrollHeight>52;$e.includes("\n")||we.length?e=!0:$e.trim()||(e=!1),He(e)})()}),[$e,we]),d((()=>{const e=Ke.current,t=Xe.current;if(!e||!t||Be||$e.includes("\n"))return void Je(!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=$e||xt,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;Je(i>l)}),[$e,Be,xt]);const St=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o;try{if(ve||Oe)return;const i=we.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),r=i.map((e=>e.documentId)).filter(Boolean),a=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=r.length>0,c=null!=e?e:$e;if(!c&&!l)return;xe(""),Ie(""),je(null),We(""),ce(!1),ye("fetching"),Ce(),_e();const d=null!==(s=null===(t=null==te?void 0:te.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&r.length>0,u=[...n?Array.from(ge.slice(0,ge.length-1)):Array.from(ge),...n?[]:[{id:ge.length+1,role:"user",parts:[{type:"text",content:c,isVisible:!0}],documentIds:d?r:[]}],{id:ge.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];be(u),_e(),d&&Ne([]);const m=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign(Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:X,pickaxeId:z,sessionId:q,senderType:Q,value:c},d&&{documentIds:r}),G&&{sender:G}),me&&{studioSessionToken:me}),!me&&!G&&{sender:W()}),Y&&{portalId:Y}),Z&&{deploymentId:Z}),a.length>0&&{uploadedModelImages:a}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),gt&&{credentials:"include"})),p=yield m.json();if(!p.success){const e=new Error(p.error||"Failed to start generation");throw p.limitData&&(e.limitData=p.limitData),e}const f=p.submissionId;ye("streaming"),qe.current=new AbortController;const h=u.length-1,g=[];let v=[...null!=Ee?Ee:[]],b=0,y=!1,j="";for(;!y;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${f}?index=${b}`,{signal:null===(o=qe.current)||void 0===o?void 0:o.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();Ve.current=t;const n=new TextDecoder,s=C({onEvent:e=>{var t,n;if(e.event&&"ping"!==e.event&&b++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data).error||"Something went wrong.";return xe(t),void(y=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&J){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 y=!0,J({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 y=!0,J({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)j="",g.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)j+=s.delta,g[g.length-1].content=j;else if("text-end"===s.type)j="";else if("reasoning-start"===s.type)j="",g.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)j+=s.delta,g[g.length-1].content=j;else if("reasoning-end"===s.type)j="";else if(s.type.startsWith("data-")){const e=s;g.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}be([...u.slice(0,h),Object.assign(Object.assign({},u[u.length-1]),{id:ge.length+1,role:"assistant",parts:g})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Pe([...v]),Te.startsWith("inline")||De({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Pe(v),Te.startsWith("inline")||De({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Pe(v),Te.startsWith("inline")||De({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");v=v.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Pe(v)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Pe(v.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);xe(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(y=!0)}else y=!0}});for(;;){const{value:e,done:o}=yield t.read();if(o)break;s.feed(n.decode(e))}y||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(y=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==ue||ue(q)}catch(e){if(e.limitData)je(e.limitData),xe("");else{let t=L(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later."),xe(t)}}finally{_e(),ye("idle"),Ae(),Ve.current=null}}));return jt?null:n("div",Object.assign({className:$("flex w-full flex-shrink-0 flex-col items-center",!yt&&"px-4 pb-8"),dir:ae?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:ze,className:$("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ne.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},mt),{maxHeight:`${Ge}px`,overflowY:"auto"})},{children:[Ye&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(K=se.accent)&&void 0!==K?K:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:se.text+"90"}},{children:"Listening..."}))]})),!ve&&we.length>0&&n(P,{className:"p-4 pb-0",isDisabled:ve}),n(D,Object.assign({ref:Ke,className:$(ut.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!$e.trim()&&!$e.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",ae?"text-right":"text-left",wt&&"mb-12",Ye&&"text-transparent"),value:$e,placeholder:xt,onChange:e=>{if(We(e),F){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void F(0);if(t>=11)return;let n=0;t>1&&(n=50),F(24*(t-1)+n)}},onKeyDown:e=>{ie||tt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Oe||ve||St()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),ce(!1),yield Se(t))}))},B&&{onFocus:B},H&&{onBlur:H},{dir:ae?"rtl":"ltr"})),n("div",Object.assign({ref:Xe,className:$("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",wt?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!wt&&mt.backgroundColor&&{backgroundColor:mt.backgroundColor}),{borderTopRightRadius:ne.cornerRadius+"px",borderBottomRightRadius:ne.cornerRadius+"px"})},{children:ve?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:()=>{qe.current&&(qe.current.abort(),qe.current=null),Ve.current&&(Ve.current.cancel(),Ve.current=null),ye("idle")},style:{backgroundColor:se.accent,color:se.accentText}},{children:n(T,{className:"h-4 w-4 shrink-0"})})):Ye?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:u.stopListening,style:{backgroundColor:se.accent,color:se.accentText}},{children:n(T,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[vt&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:rt?se.accent+"10":void 0,color:rt?se.accent:se.accent+"80"},disabled:Oe||ve,onClick:()=>{var e;return null===(e=Ue.current)||void 0===e?void 0:e.click()}},at,{children:[n("input",{id:"file-upload",ref:Ue,type:"file",accept:[...S,...N,...I].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){ce(!1),yield Se(Array.from(e.target.files||[])),e.target.value=""}))}),n(A,{className:"h-6 w-6 shrink-0"})]})),bt&&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:Ye?se.accent:ct?se.accent+"10":void 0,color:Ye?se.accentText:ct?se.accent:se.accent+"80"},disabled:Oe||ve,onClick:()=>{Ye?u.stopListening():(Me.current=$e,Ze(),u.startListening({continuous:!0,interimResults:!0,language:oe||"en-US"}))}},dt,{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:st||kt?se.accent:se.accent+"10",color:st||kt?se.accentText:se.accent+"80"},disabled:!kt,onClick:()=>St()},ot,{children:n(_,{className:$("h-6 w-6 shrink-0",ae&&"scale-x-[-1] transform")})}))]})}))]})),ke&&n(R,{error:ke,className:"mt-3"})]}))}))}));B.displayName="Input";export{B as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as s,useRef as r,useEffect as i,useCallback as a}from"react";import{usePickaxeContext as c}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as d}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as m}from"../Addons/Document/hooks/useDocument.js";import{useStyleFontSize as u}from"../../../hooks/studio/useStyleFontSize.js";import p from"./History/index.js";import h from"./Input.js";import f from"../../Icons/attach-vertical.svg.js";import b from"../../../common/cn.js";import g from"../../../common/api/pickaxe.js";import{Check as v,X as x,MoreHorizontal as w}from"lucide-react";import{v4 as j}from"uuid";import y from"../../Icons/trash-2.svg.js";import N from"../../Icons/pencil.svg.js";import{useResponseContext as k}from"../../../hooks/pickaxe/useResponseContext.js";const O=({children:e,className:t})=>o("div",Object.assign({className:b("flex items-center gap-2 transition-all duration-200 select-none","rounded-[40px] h-[72px] border border-white/70 px-6 py-3 bg-white/10 backdrop-blur-md shadow-lg",t)},{children:e})),F=({text:e,icon:n,className:s,onClick:r})=>o("div",Object.assign({onClick:r,className:b("relative flex items-center justify-center px-3 h-full shrink-0 transition-all duration-200 rounded-[40px] border border-white/70 bg-[#FFFFFF1A]",s)},{children:t("div",Object.assign({className:"flex items-center gap-2 z-20"},{children:[n&&o("img",{src:n,alt:"",className:"h-5 w-5 rounded-full object-cover"}),o("p",Object.assign({className:"text-sm font-medium truncate max-w-[150px] text-foreground"},{children:e}))]}))})),C=({text:n,className:a,onRename:c,onDelete:l})=>{const[d,m]=s(!1),[u,p]=s(!1),[h,f]=s(n),[g,j]=s(!1),k=r(null),O=r(null);i((()=>{u||f(n)}),[n,u]),i((()=>{const e=e=>{O.current&&!O.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const F=()=>e(void 0,void 0,void 0,(function*(){h.trim()&&(j(!0),yield c(h),j(!1),p(!1))})),C=()=>{f(n),p(!1)};return t("div",Object.assign({ref:O,className:"relative z-40 h-full"},{children:[o("div",Object.assign({className:b("relative flex items-center justify-center px-3 h-full shrink-0 rounded-[40px] overflow-visible transition-all duration-200 cursor-pointer group border border-white/70 bg-[#FFFFFF1A]",a),onClick:e=>{e.stopPropagation(),u||d?d&&m(!1):m(!0)}},{children:t("div",u?Object.assign({className:"flex items-center gap-2 z-20 min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[o("input",{autoFocus:!0,type:"text",value:h,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"===e.key&&F(),"Escape"===e.key&&C()},className:"bg-transparent border-b border-black/30 text-sm font-medium focus:outline-none w-full min-w-[80px] text-foreground"}),o("button",Object.assign({onClick:F,disabled:g,className:"p-1 rounded hover:bg-black/10 text-green-600"},{children:o(v,{className:"h-4 w-4"})})),o("button",Object.assign({onClick:C,disabled:g,className:"p-1 rounded hover:bg-black/10 text-red-600"},{children:o(x,{className:"h-4 w-4"})}))]}):Object.assign({className:"flex items-center gap-2 z-20 max-w-[200px]"},{children:[o("p",Object.assign({className:"text-sm font-medium truncate text-foreground"},{children:n})),o(w,{className:b("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity")})]}))})),d&&t("div",Object.assign({className:"absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] border border-white/70 bg-neutral-400 backdrop-blur-md overflow-hidden animate-in fade-in zoom-in-95 duration-100",ref:k},{children:[t("button",Object.assign({onClick:e=>{e.stopPropagation(),m(!1),p(!0)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b border-white/10 hover:bg-white/10"},{children:[o(N,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t("button",Object.assign({onClick:e=>{e.stopPropagation(),m(!1),l()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:bg-white/10"},{children:[o(y,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))},D=()=>{const{deploymentType:v,isNewChat:x,setIsNewChat:w,sessionId:y,setSessionId:N,pickaxeId:D,sender:I,colors:P,styles:z,pickaxe:A,isEmbed:E}=c(),{isSent:S}=l(),{width:_,height:R,setDimension:T}=d(),{setDocuments:H,onFileUpload:L}=m(),{isGenerating:B}=k(),G=u(),[K,U]=s(0),[q,J]=s(!1),[M,Q]=s(!1),V=r(null),W=r(null),X=r(0),[Y,Z]=s(null),[$,ee]=s(!1),te="chat-input"===v&&x&&!S;i((()=>()=>{H([])}),[]);const oe=a((()=>{if(!D||!I)return;const t=(o=0)=>e(void 0,void 0,void 0,(function*(){var e;try{const t=yield g.post("/get_pickaxe_conversation",{sessionId:y,userId:I});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void se(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}o<20&&setTimeout((()=>t(o+1)),3e3)}));t()}),[D,I,y]);i((()=>{B||x||!y||oe()}),[B,x,y,oe]),i((()=>{if(!V.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;T(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(V.current),()=>{e.disconnect()}}),[V.current]);const[ne,se]=s("New Chat"),re=(null==A?void 0:A.formtitle)||"Pickaxe",ie=(null==A?void 0:A.coverphoto)||void 0,ae=!te&&!E;return t("div",Object.assign({ref:V,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),X.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&Q(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),X.current-=1,0===X.current&&Q(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),Q(!1),X.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(w(!1),yield L(e))}))},{children:[M&&t("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[o("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:o(f,{className:"h-10 w-10"})})),o("h3",Object.assign({className:b(G.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),o("p",Object.assign({className:b(G.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),te?o(h,{}):t(n,{children:[t("div",Object.assign({className:b("flex flex-col w-full items-center h-full relative z-0",ae?"pt-6":"")},{children:[ae&&o("div",Object.assign({className:"w-full max-w-3xl px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500"},{children:t(O,Object.assign({colors:P,styles:z},{children:[o(F,{text:re,icon:ie,colors:P,styles:z}),x||"New Chat"===ne?o(F,{text:ne,colors:P,styles:z}):o(C,{text:ne,sessionId:y,colors:P,styles:z,onRename:t=>e(void 0,void 0,void 0,(function*(){if(y)try{yield g.post("/edit_conversation_name",{sessionId:y,name:t,userId:I}),se(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e(void 0,void 0,void 0,(function*(){if(y&&window.confirm("Are you sure you want to delete this conversation?"))try{yield g.post("/delete_pickaxe_conversation",{sessionId:y,userId:I}),w(!0),N(j()),se("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}}))})]}))})),o(p,{additionalScrollHeight:K,isForceHideInfo:R<=545||_<=350||q,isInputFocused:q,onSubmit:t=>e(void 0,void 0,void 0,(function*(){W.current&&W.current.onSubmit(t)})),smitheryAuthData:Y,resubmitPrompt:()=>{Z(null),ee(!0)}})]})),o(h,{ref:W,onFocus:()=>J(!0),onBlur:()=>J(!1),onInputHeightChange:U,initSmitheryAuthData:e=>Z(e),resubmitPrompt:$})]})]}))};export{D as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as i,useRef as s,useEffect as r,useCallback as a}from"react";import{usePickaxeContext as c}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as d}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as m}from"../Addons/Document/hooks/useDocument.js";import{useStyleFontSize as u}from"../../../hooks/studio/useStyleFontSize.js";import p from"./History/index.js";import h from"./Input.js";import f from"../../Icons/attach-vertical.svg.js";import x from"../../../common/cn.js";import g from"../../../common/api/pickaxe.js";import{Check as v,X as b,MoreHorizontal as w}from"lucide-react";import{v4 as k}from"uuid";import j from"../../Icons/trash-2.svg.js";import y from"../../Icons/pencil.svg.js";import{useResponseContext as N}from"../../../hooks/pickaxe/useResponseContext.js";const O=({text:e,icon:n,className:i,onClick:s})=>o("div",Object.assign({onClick:s,className:x("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 transition-all duration-200 cursor-pointer","glass",i)},{children:t("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0"},{children:[n&&o("img",{src:n,alt:"",className:"h-5 w-5 shrink-0 rounded-full object-cover"}),o("p",Object.assign({className:"text-xs md:text-sm font-medium truncate max-w-[80px] md:max-w-[150px]"},{children:e}))]}))})),D=({text:n,className:a,onRename:c,onDelete:l,isDarkGlass:d})=>{const[m,u]=i(!1),[p,h]=i(!1),[f,g]=i(n),[k,N]=i(!1),O=s(null),D=s(null);r((()=>{p||g(n)}),[n,p]),r((()=>{const e=e=>{D.current&&!D.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const C=()=>e(void 0,void 0,void 0,(function*(){f.trim()&&(N(!0),yield c(f),N(!1),h(!1))})),I=()=>{g(n),h(!1)};return t("div",Object.assign({ref:D,className:"relative z-40 h-full shrink min-w-0"},{children:[o("div",Object.assign({className:x("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 overflow-visible transition-all duration-200 cursor-pointer group","glass",a),onClick:e=>{e.stopPropagation(),p||m?m&&u(!1):u(!0)}},{children:t("div",p?Object.assign({className:"flex items-center gap-2 z-20 min-w-[100px] md:min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[o("input",{autoFocus:!0,type:"text",value:f,onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&C(),"Escape"===e.key&&I()},className:"bg-transparent border-b border-current text-xs md:text-sm font-medium focus:outline-none w-full min-w-[60px] md:min-w-[80px]",style:{color:"inherit"}}),o("button",Object.assign({onClick:C,disabled:k,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:o(v,{className:"h-4 w-4"})})),o("button",Object.assign({onClick:I,disabled:k,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:o(b,{className:"h-4 w-4"})}))]}):Object.assign({className:"flex items-center gap-2 z-20 min-w-0 max-w-[140px] md:max-w-[200px]"},{children:[o("p",Object.assign({className:"text-xs md:text-sm font-medium truncate"},{children:n})),o(w,{className:x("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity shrink-0")})]}))})),m&&t("div",Object.assign({className:x("absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] overflow-hidden animate-in fade-in zoom-in-95 duration-100",d?"bg-[#313131] text-white":"bg-white text-black"),ref:O},{children:[t("button",Object.assign({onClick:e=>{e.stopPropagation(),u(!1),h(!0)},className:x("w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b hover:opacity-70",d?"border-current":"border-[#EBEAEB]")},{children:[o(y,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t("button",Object.assign({onClick:e=>{e.stopPropagation(),u(!1),l()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:opacity-70"},{children:[o(j,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))},C=()=>{const{deploymentType:v,isNewChat:b,setIsNewChat:w,sessionId:j,setSessionId:y,pickaxeId:C,sender:I,pickaxe:E,styles:P,isEmbed:z}=c(),{isSent:F}=l(),{width:A,height:T,setDimension:S}=d(),{setDocuments:_,onFileUpload:R}=m(),{isGenerating:H,messages:B}=N(),G=u(),[L,K]=i(0),[U,q]=i(!1),[J,M]=i(!1),Q=s(null),V=s(null),W=s(0),[X,Y]=i(null),[Z,$]=i(!1),ee="chat-input"===v&&b&&!F;r((()=>()=>{_([])}),[]);const te=a((()=>{if(!C||!I)return;const t=(o=0)=>e(void 0,void 0,void 0,(function*(){var e;try{const t=yield g.post("/get_pickaxe_conversation",{sessionId:j,userId:I});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void ne(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}o<20&&setTimeout((()=>t(o+1)),3e3)}));t()}),[C,I,j]);r((()=>{H||b||!j||te()}),[H,b,j,te]),r((()=>{if(!Q.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;S(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(Q.current),()=>{e.disconnect()}}),[Q.current]);const[oe,ne]=i("New Chat"),ie=(null==E?void 0:E.formtitle)||"Pickaxe",se=(null==E?void 0:E.coverphoto)||void 0,[re,ae]=i(!1);r((()=>{const e=!ee&&!z&&P.portalTheme&&(B.filter((e=>"user"===e.role)).length>0||U||!b);ae(null!=e&&e)}),[B,U,b]);return t("div",Object.assign({ref:Q,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),W.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&M(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),W.current-=1,0===W.current&&M(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),M(!1),W.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(w(!1),yield R(e))}))},{children:[J&&t("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[o("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:o(f,{className:"h-10 w-10"})})),o("h3",Object.assign({className:x(G.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),o("p",Object.assign({className:x(G.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),ee?o(h,{}):t(n,{children:[re&&t("div",Object.assign({className:x("direct-link"===v?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===P.portalTheme?"glass-dark ":"")},{children:[o(O,{text:ie,icon:se}),b||"New Chat"===oe?o(O,{text:oe}):o(D,{text:oe,sessionId:j,onRename:t=>e(void 0,void 0,void 0,(function*(){if(j)try{yield g.post("/edit_conversation_name",{sessionId:j,name:t,userId:I}),ne(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e(void 0,void 0,void 0,(function*(){if(j&&window.confirm("Are you sure you want to delete this conversation?"))try{yield g.post("/delete_pickaxe_conversation",{sessionId:j,userId:I}),w(!0),y(k()),ne("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}})),isDarkGlass:"dark"===P.portalTheme})]})),o(p,{additionalScrollHeight:L,isForceHideInfo:T<=545||A<=350||U,isInputFocused:U,onSubmit:t=>e(void 0,void 0,void 0,(function*(){V.current&&V.current.onSubmit(t)})),smitheryAuthData:X,resubmitPrompt:()=>{Y(null),$(!0)}}),o(h,{ref:V,onFocus:()=>q(!0),onBlur:()=>q(!1),onInputHeightChange:K,initSmitheryAuthData:e=>Y(e),resubmitPrompt:Z})]})]}))};export{C as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as o}from"react/jsx-runtime";import{createContext as i,useState as t,useEffect as s}from"react";import{ArtifactProvider as n}from"./Addons/Artifact/Provider.js";import r from"./DimensionProvider.js";import a from"./ResponseProvider.js";import l from"./Addons/Document/Provider.js";import d from"./Addons/Auth/Provider.js";const c=i({}),m=({children:i,origin:m,sender:p,senderType:y,portalId:h,deploymentId:f,deploymentType:u,deploymentDimensions:b,deploymentMisc:g,styles:v,colors:F,limits:w={},misc:x={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:I,artifact:S={popupType:"auto"},responsiveBy:k="viewport",locale:P="en",opacity:j=1,forceMobile:C=!1,disableHtml:T=!1,disableJs:D=!1,disableCss:H=!1,loadFont:L=!0,isRtl:O=!1,isEmbed:R=!1,isDropShadow:E=!1,isEmailLogin:A=!1,allowGuestUsage:M=!0,onGenerateComplete:B})=>{const[G,N]=t(""),[U,W]=t(""),[J,_]=t(""),[z,Y]=t(""),[q,K]=t(p),[Q,V]=t(y),[X,Z]=t(null),[$,ee]=t(!1),[oe,ie]=t(!0),[te,se]=t(!0),[ne,re]=t(!1);return s((()=>{ee(!1)}),[null==v?void 0:v.font]),s((()=>{e(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&L&&!$&&(null==v?void 0:v.font)&&"Real Head Pro"!==v.font)try{(yield import("webfontloader")).default.load({google:{families:[v.font]},active:()=>{ee(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),ee(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),ee(!0)}}))}),[L,$,null==v?void 0:v.font]),s((()=>{K(p)}),[p]),o(c.Provider,Object.assign({value:Object.assign({origin:m,contextId:G,pickaxeId:U,sessionId:J,lastSessionId:z,sender:q,senderType:Q,portalId:h,deploymentId:f,deploymentType:u,deploymentDimensions:b,deploymentMisc:g,pickaxe:X,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},v),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},F),misc:x,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website",copy:"Copy","file-limit-reached":"You have reached the file limit.",save:"Save","save-as":"Save as","please-enter-email-to-continue":"Please enter your email to continue:","enter-email-to-continue":"Enter here your email to continue",submit:"Submit",sending:"Sending...","check-your-inbox":"Check your inbox","we-sent-your-an-activation-link":"We sent you an activation link. Please be sure to check your spam folder too.",resend:"Resend",resending:"Resending...","chat-history":"Chat History","exit-chat-history":"Exit Chat History","no-history":"No history yet.","log-out":"Log Out","clear-form":"Clear form"},I),artifact:S,responsiveBy:k,locale:P,opacity:j,forceMobile:C,loadFont:L,disableHtml:T,disableJs:D,disableCss:H,isFontLoaded:$,isNewChat:oe,isShowIceBreaker:te,isShowFeedbackMessage:ne,isRtl:O,isEmbed:R,isDropShadow:E,isEmailLogin:A,allowGuestUsage:M,setContextId:N,setPickaxeId:W,setSessionId:_,setLastSessionId:Y,setSender:K,setSenderType:V,setPickaxe:Z,setIsFontLoaded:ee,setIsNewChat:ie,setIsShowIceBreaker:se,setIsShowFeedbackMessage:re},B&&{onGenerateComplete:B})},{children:o(d,{children:o(r,{children:o(a,Object.assign({limits:w},{children:o(l,{children:o(n,Object.assign({},S,{children:i}))})}))})})}))};export{c as PickaxeContext,m as PickaxeProvider};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as o}from"react/jsx-runtime";import{createContext as i,useState as t,useEffect as s}from"react";import{ArtifactProvider as n}from"./Addons/Artifact/Provider.js";import r from"./DimensionProvider.js";import a from"./ResponseProvider.js";import l from"./Addons/Document/Provider.js";import d from"./Addons/Auth/Provider.js";const c=i({}),p=({children:i,origin:p,sender:m,senderType:y,portalId:h,deploymentId:f,deploymentType:u,deploymentDimensions:b,deploymentMisc:g,styles:v,colors:F,limits:w={},misc:x={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:I,artifact:S={popupType:"auto"},responsiveBy:k="viewport",locale:P="en",opacity:j=1,forceMobile:C=!1,disableHtml:T=!1,disableJs:D=!1,disableCss:H=!1,loadFont:O=!0,isRtl:R=!1,isEmbed:A=!1,isDropShadow:L=!1,allowGuestUsage:M=!0,onGenerateComplete:E})=>{const[B,G]=t(""),[N,U]=t(""),[W,J]=t(""),[_,z]=t(""),[Y,q]=t(m),[K,Q]=t(y),[V,X]=t(null),[Z,$]=t(!1),[ee,oe]=t(!0),[ie,te]=t(!0),[se,ne]=t(!1);return s((()=>{$(!1)}),[null==v?void 0:v.font]),s((()=>{e(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&O&&!Z&&(null==v?void 0:v.font)&&"Real Head Pro"!==v.font)try{(yield import("webfontloader")).default.load({google:{families:[v.font]},active:()=>{$(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),$(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),$(!0)}}))}),[O,Z,null==v?void 0:v.font]),s((()=>{q(m)}),[m]),o(c.Provider,Object.assign({value:Object.assign({origin:p,contextId:B,pickaxeId:N,sessionId:W,lastSessionId:_,sender:Y,senderType:K,portalId:h,deploymentId:f,deploymentType:u,deploymentDimensions:b,deploymentMisc:g,pickaxe:V,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},v),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},F),misc:x,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website",copy:"Copy","file-limit-reached":"You have reached the file limit.",save:"Save","save-as":"Save as","please-enter-email-to-continue":"Please enter your email to continue:","enter-email-to-continue":"Enter here your email to continue",submit:"Submit",sending:"Sending...","check-your-inbox":"Check your inbox","we-sent-your-an-activation-link":"We sent you an activation link. Please be sure to check your spam folder too.",resend:"Resend",resending:"Resending...","chat-history":"Chat History","exit-chat-history":"Exit Chat History","no-history":"No history yet.","log-out":"Log Out","clear-form":"Clear form"},I),artifact:S,responsiveBy:k,locale:P,opacity:j,forceMobile:C,loadFont:O,disableHtml:T,disableJs:D,disableCss:H,isFontLoaded:Z,isNewChat:ee,isShowIceBreaker:ie,isShowFeedbackMessage:se,isRtl:R,isEmbed:A,isDropShadow:L,allowGuestUsage:M,setContextId:G,setPickaxeId:U,setSessionId:J,setLastSessionId:z,setSender:q,setSenderType:Q,setPickaxe:X,setIsFontLoaded:$,setIsNewChat:oe,setIsShowIceBreaker:te,setIsShowFeedbackMessage:ne},E&&{onGenerateComplete:E})},{children:o(d,{children:o(r,{children:o(a,Object.assign({limits:w},{children:o(l,{children:o(n,Object.assign({},S,{children:i}))})}))})})}))};export{c as PickaxeContext,p as PickaxeProvider};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as i}from"react/jsx-runtime";import{useMemo as s}from"react";import{usePickaxeContext as o}from"../../../hooks/pickaxe/usePickaxeContext.js";import a from"./PickaxeButton.js";import{STUDIO_INFINITY_VALUE as r,intervalToSuffix as n}from"./PickaxeCommon.js";import{currencyOptions as c}from"./PickaxeCurrency.js";import{Avatar as l,AvatarImage as d,AvatarFallback as m}from"./PickaxeAvatar.js";import{useAuthContext as p}from"../Addons/Auth/hooks/useAuthContext.js";import u from"../../../common/api/pickaxe.js";import{isInIframe as f}from"../../../common/utils.js";import{useResponseContext as x}from"../../../hooks/pickaxe/useResponseContext.js";const b=({data:b,children:h,upgradeUrl:j})=>{var v;const{limitData:g}=x(),{colors:k,sender:y,pickaxe:w}=o(),{token:N}=p(),O=s((()=>{var e;return null!==(e=b.displayName)&&void 0!==e?e:b.name}),[b]),C=s((()=>{var e;return null!==(e=b.displayDescription)&&void 0!==e?e:b.description}),[b]),I=s((()=>{var e;const{price:t,priceInterval:i,currency:s}=b;if(!t)return{price:"Free",suffix:""};const o=n(i,!0);return{price:`${(null!==(e=c.find((e=>e.id===s)))&&void 0!==e?e:c[0]).symbol}${t.toLocaleString()}`,suffix:o}}),[b]),U=s((()=>{const{limit:e,limitInterval:t}=b;if(e===r)return{limit:"Unlimited",suffix:""};const i=n(t,!0);return{limit:e.toLocaleString(),suffix:i}}),[b]);return t("div",Object.assign({className:"relative flex min-h-[260px] w-[220px] shrink-0 snap-center flex-col justify-between rounded-xl border p-4 shadow-sm",style:{backgroundColor:k.secondary,color:k.secondaryText}},{children:[h,t("div",Object.assign({className:"flex flex-col"},{children:[t("div",Object.assign({className:"flex flex-col"},{children:[t(l,Object.assign({className:"h-8 w-8"},{children:[i(d,{src:null!==(v=b.image)&&void 0!==v?v:"",alt:O}),i(m,{})]})),i("p",Object.assign({className:"mt-2 text-sm font-semibold line-clamp-1",title:O},{children:O})),Boolean(C)&&i("p",Object.assign({className:"mt-1 text-[10px] opacity-70 line-clamp-2 leading-tight"},{children:C})),t("p",Object.assign({className:"mt-2 text-base font-semibold"},{children:[I.price,i("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:I.suffix}))]}))]})),t("div",Object.assign({className:"mt-3 flex flex-col border-t py-2",style:{borderTopColor:k.secondaryText}},{children:[i("span",Object.assign({className:"text-[10px] font-bold opacity-50"},{children:"USES"})),t("p",Object.assign({className:"text-base font-semibold"},{children:[U.limit,i("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:U.suffix}))]}))]}))]})),i(a,Object.assign({variant:"primary",className:"w-full mt-2 min-h-[32px] text-xs",onClick:()=>{y||N?e(void 0,void 0,void 0,(function*(){try{const e=yield u.post("/access_group_checkout",{data:{studioUserId:y||void 0,studioId:null==w?void 0:w.studioid,accessGroupId:b.accessGroupId,successUrl:document.URL,isEmbed:f(),studioSessionToken:N}});if(e.data.success){const t=e.data.url;if(t)if(f())try{window.open(t,"_blank")}catch(e){window.open(t,"_blank")}else window.location.href=t;else window.location.reload()}else{const t=e.data.error;alert(t)}}catch(e){alert(e)}})):window.open(j||(null==g?void 0:g.limitLink))}},{children:b.ctaButtonText}))]}))};export{b as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as i,jsx as t}from"react/jsx-runtime";import{useMemo as s}from"react";import{usePickaxeContext as o}from"../../../hooks/pickaxe/usePickaxeContext.js";import n from"./PickaxeButton.js";import{STUDIO_INFINITY_VALUE as r,intervalToSuffix as a}from"./PickaxeCommon.js";import{currencyOptions as c}from"./PickaxeCurrency.js";import{Avatar as l,AvatarImage as d,AvatarFallback as m}from"./PickaxeAvatar.js";import{useAuthContext as p}from"../Addons/Auth/hooks/useAuthContext.js";import u from"../../../common/api/pickaxe.js";import{isInIframe as f}from"../../../common/utils.js";import{useResponseContext as x}from"../../../hooks/pickaxe/useResponseContext.js";import{useAuth as h}from"../Addons/Auth/hooks/useAuth.js";const b=({data:b,children:j,upgradeUrl:v})=>{var k;const{limitData:g}=x(),{colors:y,sender:w,pickaxe:N}=o(),{token:O}=p(),{onOpenPricing:C}=h(),U=s((()=>{var e;return null!==(e=b.displayName)&&void 0!==e?e:b.name}),[b]),A=s((()=>{var e;return null!==(e=b.displayDescription)&&void 0!==e?e:b.description}),[b]),I=s((()=>{var e;const{price:i,priceInterval:t,currency:s}=b;if(!i)return{price:"Free",suffix:""};const o=a(t,!0);return{price:`${(null!==(e=c.find((e=>e.id===s)))&&void 0!==e?e:c[0]).symbol}${i.toLocaleString()}`,suffix:o}}),[b]),L=s((()=>{const{limit:e,limitInterval:i}=b;if(e===r)return{limit:"Unlimited",suffix:""};const t=a(i,!0);return{limit:e.toLocaleString(),suffix:t}}),[b]);return i("div",Object.assign({className:"relative flex min-h-[260px] w-[220px] shrink-0 snap-center flex-col justify-between rounded-xl border p-4 shadow-sm",style:{backgroundColor:y.secondary,color:y.secondaryText}},{children:[j,i("div",Object.assign({className:"flex flex-col"},{children:[i("div",Object.assign({className:"flex flex-col"},{children:[i(l,Object.assign({className:"h-8 w-8"},{children:[t(d,{src:null!==(k=b.image)&&void 0!==k?k:"",alt:U}),t(m,{})]})),t("p",Object.assign({className:"mt-2 text-sm font-semibold line-clamp-1",title:U},{children:U})),Boolean(A)&&t("p",Object.assign({className:"mt-1 text-[10px] opacity-70 line-clamp-2 leading-tight"},{children:A})),i("p",Object.assign({className:"mt-2 text-base font-semibold"},{children:[I.price,t("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:I.suffix}))]}))]})),i("div",Object.assign({className:"mt-3 flex flex-col border-t py-2",style:{borderTopColor:y.secondaryText}},{children:[t("span",Object.assign({className:"text-[10px] font-bold opacity-50"},{children:"USES"})),i("p",Object.assign({className:"text-base font-semibold"},{children:[L.limit,t("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:L.suffix}))]}))]}))]})),t(n,Object.assign({variant:"primary",className:"w-full mt-2 min-h-[32px] text-xs",onClick:()=>{if(O)e(void 0,void 0,void 0,(function*(){try{const e=yield u.post("/access_group_checkout",{data:{studioUserId:w||void 0,studioId:null==N?void 0:N.studioid,accessGroupId:b.accessGroupId,successUrl:document.URL,isEmbed:f(),studioSessionToken:O}});if(e.data.success){const i=e.data.url;if(i)if(f())try{window.open(i,"_blank")}catch(e){window.open(i,"_blank")}else window.location.href=i;else window.location.reload()}else{const i=e.data.error;alert(i)}}catch(e){alert(e)}}));else{const e=v||`${null==g?void 0:g.limitLink}?redirectUrl=${document.URL}`;f()?C(v||(null==g?void 0:g.limitLink)):window.location.href=e}}},{children:b.ctaButtonText}))]}))};export{b as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import{useState as r,useEffect as t}from"react";import{AnimatePresence as a}from"framer-motion";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as l}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as c}from"../../../hooks/studio/useStyleFontSize.js";import{isInIframe as n}from"../../../common/utils.js";import m from"../../Icons/circle-exclamation.svg.js";import d from"../../Core/SpringTransition.js";import p from"../../Core/HtmlRenderer.js";import u from"./PickaxeButton.js";import f from"../../../common/cn.js";import x from"../../../common/api/pickaxe.js";import{useAuthContext as b}from"../Addons/Auth/hooks/useAuthContext.js";import h from"./AccessGroupCardPreview.js";const g=({price:e,uses:s,isSelected:r,onClick:t,colors:a})=>o("button",Object.assign({onClick:t,className:f("flex items-center gap-2 rounded-xl border px-4 py-3 shadow-sm transition-all duration-200 shrink-0",r?"border-2":"border opacity-80 hover:opacity-100"),style:{backgroundColor:a.secondary,color:a.secondaryText,borderColor:r?a.secondaryText:"rgba(0,0,0,0.1)"}},{children:[o("span",Object.assign({className:"text-xl font-bold"},{children:["$",e]})),o("span",Object.assign({className:"text-sm opacity-70"},{children:["/ ",s.toLocaleString()," uses"]}))]})),y=({className:y,iconClassName:j,htmlClassName:v})=>{var w,k;const{colors:N,pickaxe:C,sender:O}=i(),{token:A}=b(),{limitData:_}=l(),U=c(),[S,G]=r(0),T=window.location.href.includes("_embed"),L=n()&&!T?"_self":"_top";if(t((()=>{var e;(null===(e=null==_?void 0:_.buyUses)||void 0===e?void 0:e.length)&&G(0)}),[_]),!_)return null;const P=_.limitLink,B=_.limitCTA,I=Array.isArray(_.upgradeGroups)&&_.upgradeGroups.length>0,R=Array.isArray(_.buyUses)&&_.buyUses.length>0,$=R&&Array.isArray(_.buyUses)&&_.buyUses[S];return s(a,{children:o(d,Object.assign({className:f("flex flex-col gap-5 w-full",y)},{children:[o("div",Object.assign({className:"flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between rounded-lg p-3 bg-opacity-5",style:{backgroundColor:N.secondary}},{children:[o("div",Object.assign({className:"flex gap-3 items-start"},{children:[s(m,{className:f("h-5 w-5 shrink-0 mt-0.5",j),style:{color:N.accent}}),s(p,{className:f(U.b2,"font-semibold leading-relaxed text-sm",v),style:{color:N.text},html:_.limitMessage||""})]})),B&&s("a",Object.assign({href:P,target:L,rel:"noreferrer",className:"shrink-0 w-full sm:w-auto"},{children:s(u,Object.assign({variant:"primary",className:"whitespace-nowrap min-h-[32px] w-full sm:w-auto text-sm"},{children:B}))}))]})),I&&o("div",Object.assign({className:"flex flex-col gap-2"},{children:[s("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:N.text}},{children:"Available Plans"})),s("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-4 pt-1 snap-x scrollbar-thin"},{children:null===(w=_.upgradeGroups)||void 0===w?void 0:w.map(((e,o)=>s(h,{data:e},e.accessGroupId||o)))}))]})),R&&$&&o("div",Object.assign({className:"flex flex-col gap-3"},{children:[s("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:N.text}},{children:"Buy Credits"})),s("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-2 pt-1 snap-x scrollbar-thin"},{children:null===(k=_.buyUses)||void 0===k?void 0:k.map(((e,o)=>s(g,{price:e.price,uses:e.uses,isSelected:o===S,onClick:()=>G(o),colors:N},o)))})),o(u,Object.assign({variant:"primary",className:"w-full py-3 text-sm font-bold shadow-md",onClick:()=>{return s=$.uses,o=$.price,e(void 0,void 0,void 0,(function*(){try{const e=yield x.post("/get_extra_usage_payment_link",{data:{sender:O||void 0,studioSessionToken:A,studioId:null==C?void 0:C.studioid,cost:o,extraUses:s,successUrl:document.URL}});if(e.data.success){const s=e.data.url;if(n())try{window.open(s,"_blank")}catch(e){window.open(s,"_blank")}else window.location.href=s}else{const s=e.data.error;alert(s)}}catch(e){alert(e)}}));var s,o}},{children:["Buy ",$.uses.toLocaleString()," Uses for $",$.price]}))]}))]}))})};export{y as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import{useState as t,useEffect as r}from"react";import{AnimatePresence as a}from"framer-motion";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as l}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as n}from"../../../hooks/studio/useStyleFontSize.js";import{isInIframe as c}from"../../../common/utils.js";import d from"../../Icons/circle-exclamation.svg.js";import m from"../../Core/SpringTransition.js";import p from"../../Core/HtmlRenderer.js";import u from"./PickaxeButton.js";import x from"../../../common/cn.js";import f from"../../../common/api/pickaxe.js";import{useAuthContext as h}from"../Addons/Auth/hooks/useAuthContext.js";import b from"./AccessGroupCardPreview.js";import{useAuth as g}from"../Addons/Auth/hooks/useAuth.js";const y=({price:e,uses:s,isSelected:t,onClick:r,colors:a})=>o("button",Object.assign({onClick:r,className:x("flex items-center gap-2 rounded-xl border px-4 py-3 shadow-sm transition-all duration-200 shrink-0",t?"border-2":"border opacity-80 hover:opacity-100"),style:{backgroundColor:a.secondary,color:a.secondaryText,borderColor:t?a.secondaryText:"rgba(0,0,0,0.1)"}},{children:[o("span",Object.assign({className:"text-xl font-bold"},{children:["$",e]})),o("span",Object.assign({className:"text-sm opacity-70"},{children:["/ ",s.toLocaleString()," uses"]}))]})),j=({className:j,iconClassName:v,htmlClassName:k})=>{var w,N;const{colors:C,pickaxe:A,sender:O}=i(),{token:U}=h(),{limitData:S}=l(),_=n(),[G,L]=t(0),{onOpenPricing:P}=g();if(r((()=>{var e;(null===(e=null==S?void 0:S.buyUses)||void 0===e?void 0:e.length)&&L(0)}),[S]),!S)return null;const T=S.limitLink,R=S.limitCTA,$=Array.isArray(S.upgradeGroups)&&S.upgradeGroups.length>0,B=Array.isArray(S.buyUses)&&S.buyUses.length>0,I=B&&Array.isArray(S.buyUses)&&S.buyUses[G];return s(a,{children:o(m,Object.assign({className:x("flex flex-col gap-5 w-full",j)},{children:[o("div",Object.assign({className:"flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between rounded-lg p-3 bg-opacity-5",style:{backgroundColor:C.secondary}},{children:[o("div",Object.assign({className:"flex gap-3 items-start"},{children:[s(d,{className:x("h-5 w-5 shrink-0 mt-0.5",v),style:{color:C.accent}}),s(p,{className:x(_.b2,"font-semibold leading-relaxed text-sm",k),style:{color:C.text},html:S.limitMessage||""})]})),R&&s(u,Object.assign({variant:"primary",className:"whitespace-nowrap min-h-[32px] w-full sm:w-auto text-sm",onClick:()=>{c()?U?window.open(T):P(T):window.location.href=`${T}?redirectUrl=${document.URL}`}},{children:R}))]})),$&&o("div",Object.assign({className:"flex flex-col gap-2"},{children:[s("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:C.text}},{children:"Available Plans"})),s("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-4 pt-1 snap-x scrollbar-thin"},{children:null===(w=S.upgradeGroups)||void 0===w?void 0:w.map(((e,o)=>s(b,{data:e},e.accessGroupId||o)))}))]})),B&&I&&o("div",Object.assign({className:"flex flex-col gap-3"},{children:[s("h3",Object.assign({className:"text-xs font-bold opacity-70 uppercase px-1",style:{color:C.text}},{children:"Buy Credits"})),s("div",Object.assign({className:"flex flex-row gap-3 overflow-x-auto pb-2 pt-1 snap-x scrollbar-thin"},{children:null===(N=S.buyUses)||void 0===N?void 0:N.map(((e,o)=>s(y,{price:e.price,uses:e.uses,isSelected:o===G,onClick:()=>L(o),colors:C},o)))})),o(u,Object.assign({variant:"primary",className:"w-full py-3 text-sm font-bold shadow-md",onClick:()=>{return s=I.uses,o=I.price,e(void 0,void 0,void 0,(function*(){try{const e=yield f.post("/get_extra_usage_payment_link",{data:{sender:O||void 0,studioSessionToken:U,studioId:null==A?void 0:A.studioid,cost:o,extraUses:s,successUrl:document.URL}});if(e.data.success){const s=e.data.url;if(c())try{window.open(s,"_blank")}catch(e){window.open(s,"_blank")}else window.location.href=s}else{const s=e.data.error;alert(s)}}catch(e){alert(e)}}));var s,o}},{children:["Buy ",I.uses.toLocaleString()," Uses for $",I.price]}))]}))]}))})};export{j as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as t,jsxs as s}from"react/jsx-runtime";import{usePickaxe as a}from"../../hooks/pickaxe/usePickaxe.js";import{useState as o,useEffect as i,useMemo as r}from"react";import{usePickaxeContext as l}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as c}from"./Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as n}from"../../hooks/pickaxe/useResponseContext.js";import{useDocumentContext as d}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 u}from"./Addons/Scroll/Provider.js";import f from"./common/PickaxeSkeleton.js";import x from"./Chat/index.js";import h 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 v from"./common/AccessGroupCardPreview.js";const w=({pickaxeId:w,className:y})=>{const{sessionId:N,styles:k,colors:O,responsiveBy:A,deploymentType:C,isNewChat:_,isEmailLogin:q,isEmbed:I,opacity:P,deploymentId:S,sender:L,portalId:D,setContextId:E,setPickaxeId:R,setSessionId:T,setPickaxe:U}=l(),{isLoggedOut:F,isSent:G,token:M}=c(),{setMessages:$,setResponse:B,setError:H,setLimitData:W,setIsSwitchedToChat:z}=n(),{setDocumentError:J}=d(),{setCurrentArtifact:K}=m(),[Q,V]=o(!1),[X,Y]=o("loading"),[Z,ee]=o([]),[te,se]=o(null),ae=a(),oe="chat-input"===C&&_&&!G,ie="chat-input"!==C||!G;i((()=>{R(w)}),[w]),i((()=>{if(!S&&!D||!ae.data)return;e(void 0,void 0,void 0,(function*(){var e;Y("loading");try{const t=yield b.post("/validate_studio_deployment",{data:{deploymentId:S,sender:L||void 0,studioSessionToken:M,portalId:D,studioId:null===(e=ae.data)||void 0===e?void 0:e.studioid}});t.data.success?Y("success"):"Login required."===t.data.message?(Y("login_required"),V(!0)):"Access denied."===t.data.message?(Y("access_denied"),V(!0)):"Upgrade required."===t.data.message?(Y("upgrade_required"),ee(t.data.upgradeGroups||[]),se(t.data.upgradeUrl),V(!0)):Y("login_required")}catch(e){console.error("Failed to validate deployment:",e),Y("success")}}))}),[S,L,M,D,ae.data]),i((()=>{if(!ae.data)return;const e=ae.data.chatflag;T(e?p():""),E(p()),e?$([]):B(null),H(""),J(""),W(null),K(null),z(!1),U(ae.data),V(!0)}),[ae.data]),i((()=>{H(""),J(""),W(null),$([]),B(null),K(null)}),[N]);const re=r((()=>{const e=null!=P?P:1;if(!O.primary||!O.primary.startsWith("#")||e<0||e>1)return O.primary;const t=Math.round(255*e).toString(16).padStart(2,"0");return`${O.primary}${t}`}),[O.primary,P]);if(!ae.data)return null;return t("div",Object.assign({className:j("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===k.theme&&"dark",y),style:Object.assign({backgroundColor:oe?"transparent":re,color:O.text},k.font&&"Real Head Pro"!==k.font&&{fontFamily:k.font})},{children:ae.isLoading||!Q||"loading"===X?t("div",Object.assign({className:j("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===A?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:s("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[t(f,{className:"w-[72px] h-[72px]"}),t(f,{className:"h-[20px] mt-6 w-full"}),t(f,{className:"h-[20px] mt-2 w-full"}),t(f,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),t("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:t(f,{className:j("w-full min-h-[48px]","viewport"===A?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):"upgrade_required"===X?t("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:Z&&Z.length>0?s("div",Object.assign({className:"flex flex-col items-center gap-6 w-full max-w-4xl"},{children:[s("div",Object.assign({className:"text-center"},{children:[t("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Upgrade Required"})),t("p",Object.assign({className:"opacity-80"},{children:"Please upgrade to continue using this tool."}))]})),t("div",Object.assign({className:"flex flex-wrap justify-center gap-4 w-full"},{children:Z.map(((e,s)=>t(v,{data:e,upgradeUrl:te},e.id||s)))}))]})):s("div",Object.assign({className:"text-center mb-8"},{children:[t("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Access Locked"})),t("p",Object.assign({className:"opacity-80"},{children:"This tool is locked to use. Contact owner for more information."}))]}))})):"login_required"===X&&I||q&&F&&ie?t(g,{}):"login_required"!==X||I?"access_denied"===X?t("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:s("div",Object.assign({className:"text-center mb-8"},{children:[t("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Access Denied"})),t("p",Object.assign({className:"opacity-80"},{children:"Contact tool owner to request access."}))]}))})):t(u,N?{children:t(x,{})}:{children:t(h,{})}):t("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:s("div",Object.assign({className:"text-center mb-8"},{children:[t("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Access Denied"})),t("p",Object.assign({className:"opacity-80"},{children:"Login is required."}))]}))}))}))};export{w as Pickaxe};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as s,jsxs as t}from"react/jsx-runtime";import{usePickaxe as a}from"../../hooks/pickaxe/usePickaxe.js";import{useState as o,useEffect as i,useMemo as r}from"react";import{usePickaxeContext as c}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"./Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as n}from"../../hooks/pickaxe/useResponseContext.js";import{useDocumentContext as d}from"./Addons/Document/hooks/useDocumentContext.js";import{useArtifactContext as m}from"./Addons/Artifact/hooks/useArtifactContext.js";import{v4 as u}from"uuid";import{ScrollProvider as p}from"./Addons/Scroll/Provider.js";import f from"./common/PickaxeSkeleton.js";import x from"./Chat/index.js";import h 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 v from"./common/AccessGroupCardPreview.js";import{Avatar as y,AvatarImage as k,AvatarFallback as w}from"./common/PickaxeAvatar.js";import N from"../Icons/lock.svg.js";const O=({pickaxeId:O,className:A})=>{const{sessionId:C,styles:q,colors:I,responsiveBy:_,deploymentType:P,isNewChat:S,isEmbed:R,opacity:D,deploymentId:L,sender:T,portalId:U,setContextId:$,setPickaxeId:E,setSessionId:G,setPickaxe:F}=c(),{isSent:M,token:B}=l(),{setMessages:H,setResponse:W,setError:z,setLimitData:J,setIsSwitchedToChat:K}=n(),{setDocumentError:Q}=d(),{setCurrentArtifact:V}=m(),[X,Y]=o(!1),[Z,ee]=o("loading"),[se,te]=o([]),[ae,oe]=o(null),ie=a(),re="chat-input"===P&&S&&!M;i((()=>{E(O)}),[O]);i((()=>{if(!L&&!U||!ie.data)return;e(void 0,void 0,void 0,(function*(){var e;ee("loading");try{const s=yield b.post("/validate_studio_deployment",{data:{deploymentId:L,sender:T||void 0,studioSessionToken:B,portalId:U,studioId:null===(e=ie.data)||void 0===e?void 0:e.studioid}});s.data.success?ee("success"):"Login required."===s.data.message?(ee("login_required"),Y(!0)):"Access denied."===s.data.message?(ee("access_denied"),te(s.data.upgradeGroups||[]),Y(!0)):"Upgrade required."===s.data.message?(ee("upgrade_required"),te(s.data.upgradeGroups||[]),oe(s.data.upgradeUrl),Y(!0)):ee("login_required")}catch(e){console.error("Failed to validate deployment:",e),ee("success")}}))}),[L,T,B,U,ie.data]),i((()=>{if(!ie.data)return;const e=ie.data.chatflag;G(e?u():""),$(u()),e?H([]):W(null),z(""),Q(""),J(null),V(null),K(!1),F(ie.data),Y(!0)}),[ie.data]),i((()=>{z(""),Q(""),J(null),H([]),W(null),V(null)}),[C]);const ce=r((()=>{const e=null!=D?D:1;if(!I.primary||!I.primary.startsWith("#")||e<0||e>1)return I.primary;const s=Math.round(255*e).toString(16).padStart(2,"0");return`${I.primary}${s}`}),[I.primary,D]);if(!ie.data)return null;return s("div",Object.assign({className:j("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===q.theme&&"dark",A),style:Object.assign({backgroundColor:re?"transparent":ce,color:I.text},q.font&&"Real Head Pro"!==q.font&&{fontFamily:q.font})},{children:ie.isLoading||!X||"loading"===Z?s("div",Object.assign({className:j("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===_?"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(f,{className:"w-[72px] h-[72px]"}),s(f,{className:"h-[20px] mt-6 w-full"}),s(f,{className:"h-[20px] mt-2 w-full"}),s(f,{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(f,{className:j("w-full min-h-[48px]","viewport"===_?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):"upgrade_required"===Z?s("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:se&&se.length>0?t("div",Object.assign({className:"flex flex-col items-center gap-6 w-full max-w-4xl"},{children:[t("div",Object.assign({className:"text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Upgrade Required"})),s("p",Object.assign({className:"opacity-80"},{children:"Please upgrade to continue using this tool."}))]})),s("div",Object.assign({className:"flex flex-wrap justify-center gap-4 w-full"},{children:se.map(((e,t)=>s(v,{data:e,upgradeUrl:ae},e.id||t)))}))]})):t("div",Object.assign({className:"text-center mb-8"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Access Locked"})),s("p",Object.assign({className:"opacity-80"},{children:"This tool is locked to use. Contact owner for more information."}))]}))})):"login_required"===Z&&R?s(g,{}):"login_required"!==Z||R?"access_denied"===Z?t("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:[t(y,Object.assign({className:"h-[68px] w-[68px] mb-4"},{children:[s(k,{src:null===(le=ie.data)||void 0===le?void 0:le.coverphoto,alt:`${null===(ne=ie.data)||void 0===ne?void 0:ne.formtitle} Logo`}),s(w,{})]})),t("div",Object.assign({className:"text-center mb-6"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:"Access Denied"})),t("div",Object.assign({className:"w-[400px] text-xl flex justify-center items-start"},{children:[s(N,{className:"h-6 w-6 mr-[-20px] shrink-0"}),s("p",Object.assign({className:"ml-1"},{children:"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:I.accent,color:I.accentText,borderRadius:q.cornerRadius},onClick:()=>{e(void 0,void 0,void 0,(function*(){var e;const s=se.map((e=>e.name));try{(yield b.post("/request_access",{data:{sender:T||void 0,studioSessionToken:B,studioId:null===(e=ie.data)||void 0===e?void 0:e.studioid,message:`Upgrade user's plan with these AGs: ${s.join(", ")}`}})).data.success?alert("Successfully requested access!"):alert("Couldn't request access")}catch(e){alert(`Couldn't request access. Error: ${e}`)}}))}},{children:"Request Access"})),s("span",Object.assign({className:"mt-4 mb-2"},{children:"or"})),s("span",Object.assign({className:"font-medium text-lg"},{children:"Sign in with a different account"}))]})):s(p,C?{children:s(x,{})}:{children:s(h,{})}):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:"Access Denied"})),s("p",Object.assign({className:"opacity-80"},{children:"Login is required."}))]}))}))}));var le,ne};export{O as Pickaxe};
@@ -9,12 +9,14 @@ type AuthContextType = {
9
9
  isSending: boolean;
10
10
  isResendDisabled: boolean;
11
11
  isSent: boolean;
12
+ isPricingAuth: boolean;
12
13
  setEmailInput: SetState<string>;
13
14
  setToken: SetState<string | null>;
14
15
  setIsLoggingIn: SetState<boolean>;
15
16
  setIsSending: SetState<boolean>;
16
17
  setIsResendDisabled: SetState<boolean>;
17
18
  setIsSent: SetState<boolean>;
19
+ setIsPricingAuth: SetState<boolean>;
18
20
  };
19
21
  export interface IAuthProviderProps {
20
22
  children: ReactNode;
@@ -1,3 +1,4 @@
1
1
  export declare const useAuth: () => {
2
2
  onSend: (isResend?: boolean) => Promise<void>;
3
+ onOpenPricing: (link: string | undefined) => Promise<void>;
3
4
  };
@@ -10,6 +10,7 @@ export type PickaxeTranslations = {
10
10
  };
11
11
  export type PickaxeProviderStyles = {
12
12
  theme: "light" | "dark";
13
+ portalTheme?: "light" | "dark";
13
14
  font: string;
14
15
  fontSize: StudioFontSize;
15
16
  formFieldStyle: StudioFormFieldStyle;
@@ -35,7 +36,7 @@ export type PickaxeMisc = {
35
36
  isDescription: boolean;
36
37
  isHistory?: boolean;
37
38
  };
38
- export type PickaxeDeploymentEmbedType = "inline" | "fab" | "popup" | "chat-input";
39
+ export type PickaxeDeploymentEmbedType = "inline" | "fab" | "popup" | "chat-input" | "direct-link";
39
40
  export type PickaxeDeploymentDimensions = {
40
41
  width: {
41
42
  value: number;
@@ -87,7 +88,6 @@ type PickaxeContextType = {
87
88
  isRtl: boolean;
88
89
  isEmbed: boolean;
89
90
  isDropShadow: boolean;
90
- isEmailLogin: boolean;
91
91
  allowGuestUsage: boolean;
92
92
  setContextId: SetState<string>;
93
93
  setPickaxeId: SetState<string>;
@@ -129,10 +129,9 @@ export interface IPickaxeProviderProps {
129
129
  isRtl?: boolean;
130
130
  isEmbed?: boolean;
131
131
  isDropShadow?: boolean;
132
- isEmailLogin?: boolean;
133
132
  allowGuestUsage?: boolean;
134
133
  onGenerateComplete?: (responseId: string) => void;
135
134
  }
136
135
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
137
- export declare const PickaxeProvider: ({ children, origin, sender: _sender, senderType: _senderType, portalId, deploymentId, deploymentType, deploymentDimensions, deploymentMisc, styles, colors, limits, misc, translations, artifact, responsiveBy, locale, opacity, forceMobile, disableHtml, disableJs, disableCss, loadFont, isRtl, isEmbed, isDropShadow, isEmailLogin, allowGuestUsage, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
136
+ export declare const PickaxeProvider: ({ children, origin, sender: _sender, senderType: _senderType, portalId, deploymentId, deploymentType, deploymentDimensions, deploymentMisc, styles, colors, limits, misc, translations, artifact, responsiveBy, locale, opacity, forceMobile, disableHtml, disableJs, disableCss, loadFont, isRtl, isEmbed, isDropShadow, allowGuestUsage, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
138
137
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "6.0.1-0",
3
+ "version": "6.0.1-10",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",