@pickaxeproject/react 6.24.8 → 6.24.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 (39) hide show
  1. package/dist/cjs/common/mcpApp.js +1 -0
  2. package/dist/cjs/common/mcpTranslations.js +1 -0
  3. package/dist/cjs/components/Icons/arrow-up-right.svg.js +1 -0
  4. package/dist/cjs/components/Icons/computer.svg.js +1 -0
  5. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
  8. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  9. package/dist/cjs/components/Pickaxe/common/MCPClientIcon.js +1 -0
  10. package/dist/cjs/components/Pickaxe/common/PickaxeMCPButton.js +1 -1
  11. package/dist/cjs/components/Pickaxe/common/SmitheryConnectView.js +1 -1
  12. package/dist/cjs/prose.css +1 -1
  13. package/dist/cjs/src/common/mcpApp.d.ts +9 -0
  14. package/dist/cjs/src/common/mcpTranslations.d.ts +39 -0
  15. package/dist/cjs/src/components/Pickaxe/Chat/Input.d.ts +1 -1
  16. package/dist/cjs/src/components/Pickaxe/common/MCPClientIcon.d.ts +7 -0
  17. package/dist/cjs/src/components/Pickaxe/common/PickaxeMCPButton.d.ts +1 -0
  18. package/dist/esm/common/mcpApp.js +1 -0
  19. package/dist/esm/common/mcpTranslations.js +1 -0
  20. package/dist/esm/components/Icons/arrow-up-right.svg.js +1 -0
  21. package/dist/esm/components/Icons/computer.svg.js +1 -0
  22. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  23. package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
  24. package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
  25. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  26. package/dist/esm/components/Pickaxe/common/MCPClientIcon.js +1 -0
  27. package/dist/esm/components/Pickaxe/common/PickaxeMCPButton.js +1 -1
  28. package/dist/esm/components/Pickaxe/common/SmitheryConnectView.js +1 -1
  29. package/dist/esm/prose.css +1 -1
  30. package/dist/esm/src/common/mcpApp.d.ts +9 -0
  31. package/dist/esm/src/common/mcpTranslations.d.ts +39 -0
  32. package/dist/esm/src/components/Pickaxe/Chat/Input.d.ts +1 -1
  33. package/dist/esm/src/components/Pickaxe/common/MCPClientIcon.d.ts +7 -0
  34. package/dist/esm/src/components/Pickaxe/common/PickaxeMCPButton.d.ts +1 -0
  35. package/package.json +2 -1
  36. package/dist/cjs/components/Core/Modal/CloseButton.js +0 -1
  37. package/dist/cjs/components/Icons/terminal.svg.js +0 -1
  38. package/dist/esm/components/Core/Modal/CloseButton.js +0 -1
  39. package/dist/esm/components/Icons/terminal.svg.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./mcpTranslations.js");const o={claude:{name:"Claude Code",placementKey:"mcp-setup-prompt-claude-placement",urlPrefix:"claude://code/new?q=",downloadName:"Claude Desktop",downloadUrl:"https://claude.com/download"},codex:{name:"Codex",placementKey:"mcp-setup-prompt-codex-placement",urlPrefix:"codex://threads/new?prompt=",downloadName:"Codex",downloadUrl:"https://chatgpt.com/download/"},cursor:{name:"Cursor",placementKey:"mcp-setup-prompt-cursor-placement",urlPrefix:"cursor://anysphere.cursor-deeplink/prompt?text=",downloadName:"Cursor",downloadUrl:"https://cursor.com/download"},vscode:{name:"VS Code",placementKey:"mcp-setup-prompt-vscode-placement",urlPrefix:"vscode://agents/new?prompt=",downloadName:"VS Code",downloadUrl:"https://code.visualstudio.com/download"}};exports.createMCPAppSetup=function(p,r,t,a){const n=o[p],m=(o,p)=>e.translateMCP(a,o,p),d=[m("mcp-setup-prompt-intro",{app:n.name}),m("mcp-setup-prompt-server-name",{name:"pickaxe"}),m("mcp-setup-prompt-transport",{transport:"Streamable HTTP"}),m("mcp-setup-prompt-url",{url:JSON.stringify(r)}),m("mcp-setup-prompt-authorization",{authorization:JSON.stringify(`Bearer ${t}`)}),m(n.placementKey),m("mcp-setup-prompt-preserve"),m("mcp-setup-prompt-private"),m("mcp-setup-prompt-verify")].join("\n"),c=`${n.urlPrefix}${encodeURIComponent(d)}`,l=c.length>1e4,s=l?m("mcp-setup-prompt-short",{app:n.name}):d;return{prompt:d,url:l?`${n.urlPrefix}${encodeURIComponent(s)}`:c,requiresPaste:l,downloadName:n.downloadName,downloadUrl:n.downloadUrl}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e={"mcp-use-with-ai-app":"Use with an AI app","mcp-connect-agent":"Connect this agent via MCP","mcp-dropdown-description":"Use this agent in your favorite AI app","mcp-open-claude":"Open in Claude","mcp-open-codex":"Connect Codex","mcp-open-cursor":"Open in Cursor","mcp-open-vscode":"VS Code","mcp-manual-setup":"Other Agents/ Manual setup","mcp-copy-configuration":"Copy MCP configuration","mcp-configuration-copied":"Configuration copied.","mcp-preparing-configuration":"Preparing your private configuration…","mcp-configuration-unavailable":"Unable to prepare your connection.","mcp-try-again":"Try again","mcp-copy-failed":"Could not copy. Select and copy the configuration below.","mcp-paste-setup-prompt":"Your app will open with a short setup prompt. Copy the full prompt below and paste it into the app before sending.","mcp-review-setup-prompt":"Review and send the setup prompt in your app. If it did not open, download the app or copy the prompt below.","mcp-app-did-not-open":"App didn’t open?","mcp-download-app":"Download {app}","mcp-setup-prompt-copied":"Setup prompt copied. Paste it into your AI app, then review and send it.","mcp-copy-setup-prompt":"Copy setup prompt","mcp-documentation-help":"Documentation & Help","mcp-setup-prompt-intro":"Add this Pickaxe MCP server to my local {app} app.","mcp-setup-prompt-server-name":"Server name: {name}","mcp-setup-prompt-transport":"Transport: {transport}","mcp-setup-prompt-url":"URL: {url}","mcp-setup-prompt-authorization":"Authorization header: {authorization}","mcp-setup-prompt-claude-placement":"Add a user-scoped HTTP MCP server using Claude Code's MCP configuration or CLI.","mcp-setup-prompt-codex-placement":"Update the user's ~/.codex/config.toml with an mcp_servers entry using url and http_headers.","mcp-setup-prompt-cursor-placement":"Update the user's ~/.cursor/mcp.json, adding the server under mcpServers with url and headers.","mcp-setup-prompt-vscode-placement":"Locate this OS/profile's user mcp.json and add the server under servers with type http, url, and headers.","mcp-setup-prompt-preserve":"Preserve all existing servers and settings. If pickaxe already points to another endpoint, choose a unique server name instead of replacing it.","mcp-setup-prompt-private":"Keep this credential private in local user configuration, never project files or Git, and do not repeat it in your reply.","mcp-setup-prompt-verify":"Verify the connection if available, then report whether it is connected or a reload/restart is required.","mcp-setup-prompt-short":"Help me add a Pickaxe MCP server to my local {app} app. I will paste the full setup prompt next."};exports.MCP_TRANSLATION_DEFAULTS=e,exports.translateMCP=function(p,t,o={}){var r;return(null!==(r=null==p?void 0:p[t])&&void 0!==r?r:e[t]).replace(/\{(\w+)\}/g,((e,p)=>Object.prototype.hasOwnProperty.call(o,p)?o[p]:e))};
@@ -0,0 +1 @@
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r,t=e(require("react"));function n(){return n=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(null,arguments)}var o=e=>t.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},e),r||(r=t.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 17 17 7M7 7h10v10"})));exports.default=o;
@@ -0,0 +1 @@
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t,r=e(require("react"));function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},n.apply(null,arguments)}var c=e=>r.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},e),t||(t=r.createElement("path",{fill:"#171717",d:"M16.667 15.417c.916 0 1.658-.75 1.658-1.667l.008-9.167c0-.916-.75-1.666-1.666-1.666H3.333c-.916 0-1.666.75-1.666 1.666v9.167c0 .917.75 1.667 1.666 1.667H0c0 .916.75 1.666 1.667 1.666h16.666c.917 0 1.667-.75 1.667-1.666zM3.333 4.583h13.334v9.167H3.333zM10 16.25a.836.836 0 0 1-.833-.833c0-.459.375-.834.833-.834s.833.375.833.834a.836.836 0 0 1-.833.833"})));exports.default=c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("../../../common/canChat.js"),n=require("../../../hooks/pickaxe/useEndUserModel.js"),i=require("../common/EndUserModelPicker.js"),r=require("../../../common/actionApproval.js"),o=require("react"),a=require("../../../hooks/pickaxe/usePickaxeContext.js"),l=require("../../../hooks/pickaxe/useResponseContext.js"),d=require("../../../hooks/studio/useStyleInput.js"),c=require("../../../hooks/studio/useStyleFontSize.js"),u=require("../../../hooks/pickaxe/useConversation.js"),p=require("../../../hooks/pickaxe/useDimensionContext.js"),m=require("../Addons/Auth/hooks/useAuthContext.js"),f=require("../Addons/Document/hooks/useDocument.js"),g=require("../Addons/Scroll/hooks/useScroll.js"),v=require("../Addons/Artifact/hooks/useArtifactContext.js"),h=require("../../../hooks/core/useHover.js"),b=require("../../../hooks/core/useMediaQuery.js"),x=require("../../../common/documents.js"),y=require("eventsource-parser"),I=require("../../Icons/attach-vertical.svg.js"),j=require("../../Icons/arrow-right.svg.js"),S=require("../../Icons/microphone.svg.js"),N=require("../../Icons/message-clock.svg.js"),w=require("../../Icons/stop.svg.js"),O=require("../../Icons/trash.svg.js"),k=require("../../Icons/pencil.svg.js"),_=require("../Addons/Document/List.js"),T=require("../../Core/Textarea.js"),E=require("../../Core/ErrorAlert.js"),C=require("../../Core/Menu/index.js"),U=require("../../Core/Menu/Button.js"),A=require("../../Core/Menu/List.js"),D=require("../../../common/error.js"),P=require("../../../common/api/pickaxe.js"),L=require("../../../common/validation.js"),q=require("../../../common/cn.js"),M=require("../../../common/utils.js"),R=require("../../../common/pickaxeConfig.js"),F=require("../../../common/agentPrefill.js"),V=require("../../../common/deploymentWebhooks.js"),$=require("../../../hooks/studio/useStudio.js"),B=require("../../../hooks/pickaxe/useSpeechToText.js"),X=require("../common/PickaxeCommon.js");const K=(e,t)=>{const s=e.find((e=>e.id===t));return s?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:s.predecessorSubmissionId}):e)):e},G=e=>"string"==typeof e&&e.trim().length>0,H=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,Y=e=>e.map((e=>Object.assign({},e))),W=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),z=(e,t)=>{if(e&&"object"==typeof e)return e[t]},J=(e,t)=>{const s=z(e,t);return G(s)?s:null},Q=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},Z=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const r=Array.isArray(z(e,"uses"))?z(e,"uses"):[],o=(({deploymentId:e,portalId:t})=>G(e)?{type:"deployment",id:e}:G(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!o)return{scope:o,record:null};const a=null!==(i=null!==(n=r.find((e=>e.id===o.id&&e.type===o.type)))&&void 0!==n?n:r.find((e=>e.id===o.id)))&&void 0!==i?i:null;return{scope:o,record:a}},ee=o.forwardRef((({resubmitPrompt:z,onFocus:ee,onBlur:te,onInputHeightChange:se,initSmitheryAuthData:ne},ie)=>{var re,oe,ae,le,de,ce,ue,pe,me,fe,ge,ve,he,be,xe,ye,Ie,je;const{origin:Se,pickaxeId:Ne,sessionId:we,sender:Oe,senderType:ke,portalId:_e,deploymentId:Te,deploymentType:Ee,pickaxe:Ce,styles:Ue,colors:Ae,translations:De,locale:Pe,forceMobile:Le,isNewChat:qe,isRtl:Me,isEmbed:Re,isShowFeedbackMessage:Fe,accessGroup:Ve,setIsNewChat:$e,setIsShowIceBreaker:Be,setValidationStatus:Xe,setValidationUpgradeGroups:Ke,setValidationUpgradeUrl:Ge,setAccessGroup:He,onUpgrade:Ye,onGenerateComplete:We}=a.usePickaxeContext(),{value:ze,enabled:Je}=n.useEndUserModel(),{token:Qe,isLoggedOut:Ze,isSent:et,isPricingAuth:tt}=m.useAuthContext(),{messages:st,isGenerating:nt,setMessages:it,setStatus:rt,setLimitData:ot,setError:at,setActionApprovalToken:lt}=l.useResponseContext(),{documents:dt,isUploading:ct,documentError:ut,onFileUpload:pt,setDocuments:mt,setDocumentError:ft}=f.useDocument(),{studio:gt}=$.useStudio(),[vt]=b.useMediaQuery("(max-width: 480px)"),{scrollStartSession:ht,scrollEndSession:bt,scrollToBottom:xt}=g.useScroll({auto:!0,smooth:!(Le||vt)}),{artifacts:yt,currentPopupType:It,setArtifacts:jt,setCurrentArtifact:St}=v.useArtifactContext(),{height:Nt}=p.useDimensionContext(),wt=u.useConversation(),[Ot,kt]=o.useState((()=>F.readAgentPrefill([Te,Ne]).chatInput)),[_t,Tt]=o.useState(null),[Et,Ct]=o.useState(!1),[Ut,At]=o.useState(!1),[Dt,Pt]=o.useState(!1),[Lt,qt]=o.useState(!1),[Mt,Rt]=o.useState([]),[Ft,Vt]=o.useState(!1),[$t,Bt]=o.useState(null),[Xt,Kt]=o.useState(null),[Gt,Ht]=o.useState(null),[Yt,Wt]=o.useState(null),[zt,Jt]=o.useState(!1),[Qt,Zt]=o.useState(!1),[es,ts]=o.useState(0),ss=o.useRef(null),ns=o.useRef(""),is=o.useRef(null),rs=o.useRef(null),os=o.useRef(null),as=o.useRef([]),ls=o.useRef(null),ds=o.useRef(null),cs=o.useRef(null),us=o.useRef(null),ps=o.useRef(new Set),ms=o.useRef(null),fs=Math.max(.4*Nt,100),{speechTranscript:gs,isSpeechListening:vs,isSpeechProcessing:hs,isSpeechSupported:bs,getSpeechTranscriptSnapshot:xs,speechTranscriptRevision:ys,resetSpeechTranscript:Is,onStartListening:js,onStopListening:Ss}=B.useSpeechToText(),Ns=h.useHover(),{isHover:ws}=Ns,Os=e.__rest(Ns,["isHover"]),ks=h.useHover(),{isHover:_s}=ks,Ts=e.__rest(ks,["isHover"]),Es=h.useHover(),{isHover:Cs}=Es,Us=e.__rest(Es,["isHover"]),As=c.useStyleFontSize(),Ds=d.useStyleInput(),Ps="undefined"!=typeof window?window.location.hostname:"",Ls="undefined"!=typeof window?window.location.href:"",qs="undefined"!=typeof window&&window.self!==window.top,Ms=Ps.includes("pickaxe.co")&&!Ls.includes("https://studio.pickaxe.co/_embed")&&!qs,Rs=null!==(oe=null===(re=null==Ce?void 0:Ce.documentuploadtype)||void 0===re?void 0:re.startsWith("enduserupload"))&&void 0!==oe&&oe,Fs=bs&&(null==Ce?void 0:Ce.enablevoicetotext),Vs=vs&&!Ot.trim(),$s=G(Te),Bs="chat-input"===Ee&&qe&&!et,Xs="chat-input"===Ee&&tt&&Ze&&et,Ks=o.useCallback((e=>{const t=L.getValidationFailure(e);return!!t&&(at(""),ot(null),Xe(t.status),He(t.accessGroup),Ke(t.upgradeGroups),Ge(t.upgradeUrl),!0)}),[at,lt,ot,Xe,Ke,Ge,He]),Gs=null!==(ae=null==Ce?void 0:Ce.placeholdertext)&&void 0!==ae?ae:Me?"بماذا تريد أن تتحدث؟":(null==De?void 0:De["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Hs=Et||Ut,Ys=o.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){Jt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Ce?void 0:Ce.studioid},Qe?{studioSessionToken:Qe}:Oe?{sender:Oe}:{sender:M.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Ms&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(Ht(t.studioUser),Wt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{Jt(!0)}}))),[Ms,null==Ce?void 0:Ce.studioid,Oe,Qe]);o.useEffect((()=>{Ys()}),[Ys]);const Ws=Number(null!==(le=null==Ve?void 0:Ve.limit)&&void 0!==le?le:0),zs="string"==typeof(null==Ve?void 0:Ve.limitInterval)?Ve.limitInterval:null,Js=!!(null==gt?void 0:gt.data.usage)&&gt.data.usage.isCredits,Qs=o.useMemo((()=>{var e,t,s,n,i;return null!==(i=null!==(n=null!==(s=null!==(t=null!==(e=null!=_e?_e:J(Gt,"portalId"))&&void 0!==e?e:J(Gt,"portalid"))&&void 0!==t?t:J(Ve,"portalId"))&&void 0!==s?s:J(Ve,"portalid"))&&void 0!==n?n:J(Ce,"portalId"))&&void 0!==i?i:J(Ce,"portalid")}),[Ve,_e,Ce,Gt]),Zs=o.useMemo((()=>Z({studioUser:Gt,deploymentId:Te,portalId:Qs})),[Te,Qs,Gt]);o.useEffect((()=>{$s&&qe&&we&&ps.current.add(we)}),[qe,we,$s]);const en=o.useCallback((()=>{var e,t,s;return{studioId:null==Ce?void 0:Ce.studioid,userEmail:J(Gt,"email"),userId:null!==(e=J(Gt,"userId"))&&void 0!==e?e:J(Gt,"userid"),sessionId:we,deploymentId:Te,deploymentType:Ee,portalId:Qs,accessGroupId:null!==(t=null==Ve?void 0:Ve.accessGroupId)&&void 0!==t?t:null,pickaxeId:Ne,sender:Oe,senderType:ke,origin:Se,metadata:null!==(s=R.getPickaxeConfigMetadata(Te))&&void 0!==s?s:null}}),[null==Ve?void 0:Ve.accessGroupId,Te,Ee,Se,null==Ce?void 0:Ce.studioid,Ne,Qs,Oe,ke,we,Gt]),tn=o.useCallback((()=>!!($s&&zt&&we)&&(!!ps.current.has(we)&&(V.fireDeploymentSessionInitializedWebhook(en()),ps.current.delete(we),!0))),[en,zt,we,$s]);o.useEffect((()=>{if(!zt||!we)return;tn();const e=ms.current;(null==e?void 0:e.sessionId)===we&&(V.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),en()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),ms.current=null)}),[tn,en,zt,we]);const sn={currentUses:Q(null==Gt?void 0:Gt.currentUses),extraUses:Q(null==Gt?void 0:Gt.extraUses)},nn=Zs.scope?{currentUses:null!==(ce=Q(null===(de=Zs.record)||void 0===de?void 0:de.currentUses))&&void 0!==ce?ce:0,extraUses:null!==(pe=Q(null===(ue=Zs.record)||void 0===ue?void 0:ue.extraUses))&&void 0!==pe?pe:0}:{currentUses:0,extraUses:0},rn=J(Gt,"type"),on="guest"===rn||!rn&&Ze?nn:sn;o.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(Js&&(null===(e=null==gt?void 0:gt.data)||void 0===e?void 0:e.workspaceId))try{const e=yield P.pickaxeApi2.get(`/cost_per_run?workspaceId=${gt.data.workspaceId}`,{withCredentials:!1});t&&ts(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&ts(0)}else t&&ts(0)})),()=>{t=!1}}),[Js,null===(me=null==gt?void 0:gt.data)||void 0===me?void 0:me.workspaceId]);const an=(({accessGroupType:e,currentUses:t,extraUses:s,limit:n,limitInterval:i})=>{const r=Number(null!=t?t:0),o=Number(null!=s?s:0);return"public"===e&&"one_time"===i?n===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(0,n-r):n===X.STUDIO_INFINITY_VALUE||o===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:"one_time"===i?Math.max(0,o):Math.max(0,n-r)+o})({accessGroupType:null==Ve?void 0:Ve.type,currentUses:on.currentUses,extraUses:on.extraUses,limit:Ws,limitInterval:zs}),ln=an===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(an)),dn=(({accessGroupType:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=t?t:0);return"public"===e&&"one_time"===n?s===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(0,s):s===X.STUDIO_INFINITY_VALUE||i===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,i):Math.max(0,s)+Math.max(0,i)})({accessGroupType:null==Ve?void 0:Ve.type,extraUses:on.extraUses,limit:Ws,limitInterval:zs}),cn=dn===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.ceil(.05*dn),un=Js?Math.ceil(5*es):5,pn=cn===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(cn,un),mn=o.useMemo((()=>!!Gt&&(!Qt&&(ln!==X.STUDIO_INFINITY_VALUE&&(!(dn<=0||ln>=dn)&&ln<=pn)))),[Qt,pn,ln,Gt,dn]),fn=Boolean(null==Ve?void 0:Ve.hideUpgradeOptions),gn=Boolean(!fn&&((null===(fe=null==Ve?void 0:Ve.upgrade)||void 0===fe?void 0:fe.isBuyMoreUses)||(null===(ge=null==Ve?void 0:Ve.upgrade)||void 0===ge?void 0:ge.isLinkToCustomURL)||(null===(ve=null==Ve?void 0:Ve.upgrade)||void 0===ve?void 0:ve.isUpgradeToAnotherGroup)&&(null===(he=Ve.upgrade.accessGroupIds)||void 0===he?void 0:he.length))),vn=!fn&&(null===(be=null==Ve?void 0:Ve.upgrade)||void 0===be?void 0:be.isLinkToCustomURL)&&"string"==typeof Ve.upgrade.limitLink&&Ve.upgrade.limitLink.trim().length>0?Ve.upgrade.limitLink.trim():null,hn=vn&&"string"==typeof(null===(xe=null==Ve?void 0:Ve.upgrade)||void 0===xe?void 0:xe.limitCTA)&&Ve.upgrade.limitCTA.trim().length>0?Ve.upgrade.limitCTA:(null==De?void 0:De["pricing.upgrade"])||(null==De?void 0:De.upgrade)||"Upgrade",bn=o.useMemo((()=>{var e,t,s;return!!qe&&(!!Ce&&(!wt.isLoading&&(!((null!==(t=null===(e=wt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=Ce.icebreakers)||void 0===s?void 0:s.length)&&(!Fe&&!Bs)))))}),[Ce,qe,Fe,Bs,wt.data,wt.isLoading]),xn=o.useMemo((()=>{if(ct||Dt)return!1;const e=Rs&&dt.length>0&&dt.every((e=>"finished"===e.status));return!(!Ot.trim()&&!e)&&dt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Rs,ct,Dt,Ot,dt]);o.useImperativeHandle(ie,(()=>({onSubmit:wn}))),o.useEffect((()=>{Be(bn)}),[bn]),o.useEffect((()=>{var e;if(z){const t=Array.from(st),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;wn(s,!0)}}),[z]),o.useEffect((()=>{if(!cs.current||!se)return;const e=new ResizeObserver((e=>{for(const t of e)se(t.contentRect.height)}));return e.observe(cs.current),()=>{e.disconnect()}}),[se]),o.useEffect((()=>{if(!vs)return;const e=ns.current?`${ns.current} `:"",t=xs();Tt(t),kt(`${e}${t.text}`)}),[gs,ys,vs,xs]);const yn=()=>{ns.current="",Is(_t),Tt(null)};o.useEffect((()=>{if(!ls.current)return;(()=>{if(!ls.current)return;let e=ls.current.scrollHeight>52;Ot.includes("\n")||dt.length?e=!0:Ot.trim()||(e=!1),Ct(e)})()}),[Ot,dt]),o.useEffect((()=>{const e=ls.current,t=ds.current;if(!e||!t||Je||Et||Ot.includes("\n"))return void At(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,i=document.createElement("span");Object.assign(i.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),i.textContent=Ot||Gs,document.body.appendChild(i);const r=i.offsetWidth;i.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;At(r>l)}),[Ot,Et,Gs,Je]);const In=t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:rs.current))return!1;const e=Y(as.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${t}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:e})},Ms&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),jn=e=>{os.current=e,us.current&&(us.current.abort(),us.current=null),is.current&&(is.current.cancel().catch((()=>{})),is.current=null)},Sn=t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Date.now()+3e4;for(;Date.now()<e;){try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${t}`,Object.assign({headers:Object.assign({"Cache-Control":"no-cache"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}))},Ms&&{credentials:"include"}));if(e.ok){if((yield e.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),Nn=()=>{const e=rs.current;e&&!Dt&&!ct&&Ot.trim()&&(yn(),Rt((t=>{var s,n;return[...t,{id:H(),message:Ot,predecessorSubmissionId:null!==(n=null===(s=t[t.length-1])||void 0===s?void 0:s.id)&&void 0!==n?n:e}]})),kt(""))},wn=(t,n=!1,i=!1,o,a=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,l,d,c,u;if(!s.canChat(Ce))return;let p=null;try{if(nt&&!i||ct)return;const s=dt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),m=s.map((e=>e.documentId)).filter(Boolean),f=s.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),g=null!=t?t:Ot,v=null!==(l=null===(e=null==Ce?void 0:Ce.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==l&&l&&m.length>0;if(!g.trim()&&!v)return;if((vs||hs)&&!g.trim())return;o||(yn(),kt("")),at(""),ft(""),ot(null),$e(!1),qt(!1),rt("fetching"),ht(),xt();const h=n?st.slice(0,st.length-1):st,b=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(h),x=b+(n?0:1),I={id:x,role:"assistant",parts:[],documentIds:[]},j=[...h,...n?[]:[{id:b,role:"user",parts:[{type:"text",content:g,isVisible:!0}],documentIds:v?m:[]}],I];it(j),xt(),v&&mt([]);const S=R.getPickaxeConfigMetadata(Te),N=null!=o?o:H();p=N,rs.current=N,os.current=null,as.current=[];const w=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:ze||void 0,origin:Se,pickaxeId:Ne,sessionId:we,submissionId:N},a&&{interactionType:"steer"}),{senderType:ke,value:g}),v&&{documentIds:m}),Oe&&{sender:Oe}),Qe&&{studioSessionToken:Qe}),!Qe&&!Oe&&{sender:M.initializeEmbedUserId()}),Qs&&{portalId:Qs}),Te&&{deploymentId:Te}),S&&{metadata:S}),v&&f.length>0?{uploadedModelImages:f}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Ms&&{credentials:"include"})),O=yield w.json();if(!O.success){if(O.limitData){const e=new Error(O.error||O.message||(null==De?void 0:De["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=O.limitData,e}if(Ks(O))return;throw new Error(O.error||O.message||(null==De?void 0:De["failed-to-start-generation"])||"Failed to start generation")}lt(null!==(d=O.actionApprovalToken)&&void 0!==d?d:null);const k=null!==(c=O.submissionId)&&void 0!==c?c:N;p=k,rs.current=k;const _=()=>os.current===k;if(_())return;$s&&qe&&we&&ps.current.add(we);const T=Object.assign(Object.assign({},en()),{message:g,documentIds:v?m:[],uploadedModelImages:v?f:[],hasUploadedDocuments:v,isHidden:n,metadata:null!=S?S:null});zt?(tn(),V.fireDeploymentFirstMessageSubmittedWebhook(T)):ms.current=T,rt("streaming"),us.current=new AbortController;const E=[];let C=[...null!=yt?yt:[]],U=0,A=!1,D="";for(;!A;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${k}?index=${U}`,{signal:null===(u=us.current)||void 0===u?void 0:u.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();is.current=t;const s=new TextDecoder,n=y.createParser({onEvent:e=>{var t,s;if(_())A=!0;else if(e.event&&"ping"!==e.event&&U++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return ot(t.limitData),at(""),void(A=!0);const s=t.error||t.message||(null==De?void 0:De["something-went-wrong"])||"Something went wrong.";return Ks(t)||at(s),void(A=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("finish"===n.type)return void qt(!0);if("data-error"===n.type&&ne){const e=n.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),s=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw A=!0,ne({provider:"smithery",smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}else if(s){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw A=!0,ne({provider:"composio",toolkitSlug:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw A=!0,ne({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw A=!0,ne({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)D="",E.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)D+=n.delta,r.updateStreamTextPart(E,"text",D);else if("text-end"===n.type)D="";else if("reasoning-start"===n.type)D="",E.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)D+=n.delta,r.updateStreamTextPart(E,"reasoning",D);else if("reasoning-end"===n.type)D="";else if(n.type.startsWith("data-")){const e=n;"data-action-approval"===e.type?r.upsertActionApprovalPart(E,e.data):E.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}as.current=Y(E);const i=Y(E);it((e=>{const t=e.findIndex((e=>e.id===x)),s=Object.assign(Object.assign({},I),{parts:i});return-1===t?[...e,s]:e.map(((e,n)=>n===t?s:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);C=C.filter((e=>!(e.id===t.id&&e.version===t.version))),C.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),jt([...C]),It.startsWith("inline")||St({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);C=C.filter((e=>!(e.id===t.id&&e.version===t.version))),C.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),jt(C),It.startsWith("inline")||St({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);C=C.filter((e=>!(e.id===t.id&&e.version===t.version))),C.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),jt(C),It.startsWith("inline")||St({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");C=C.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),jt(C)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);jt(C.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return ot(t.limitData),at(""),void(A=!0);const s=t.error||t.message||(null==De?void 0:De["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(Ks(t))return void(A=!0);at(s)}else"stop"===e.event&&(A=!0)}else A=!0}});for(;;){if(_()){A=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(_()){A=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}A||_()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||W(e)||_())return void(A=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==We||We(we)}catch(e){if(W(e))return;if(e.limitData)ot(e.limitData),at("");else{let t=D.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==De?void 0:De["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),Ks(t)||at(t)}}finally{const e=!p||rs.current===p;xt(),e&&(rt("idle"),bt(),is.current=null),p&&e&&(rs.current=null,as.current=[]),yield Ys()}}));return o.useEffect((()=>{if(nt||Dt||Ft||0===Mt.length)return;const t=Mt[0];Vt(!0),Bt(t.id),e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!(yield Sn(t.predecessorSubmissionId)))return void at((null==De?void 0:De["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Rt((e=>e.filter((e=>e.id!==t.id)))),yield wn(t.message,!1,!0,t.id)}finally{Vt(!1),Bt(null)}}))}),[nt,Ft,Dt,Mt]),Xs?null:t.jsx("div",Object.assign({className:q.default("flex w-full flex-shrink-0 flex-col items-center",!Bs&&"px-4 pb-8"),dir:Me?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[Mt.length>0&&t.jsx("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:Ae.text+"18",backgroundColor:null!==(ye=Ds.backgroundColor)&&void 0!==ye?ye:Ae.text+"08",color:Ae.text,borderTopLeftRadius:Math.max(Ue.cornerRadius-4,12),borderTopRightRadius:Math.max(Ue.cornerRadius-4,12)}},{children:Mt.map(((s,n)=>{var i;return t.jsxs("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:n<Mt.length-1?{borderBottom:`1px solid ${Ae.text}12`}:void 0},{children:[t.jsx(N.default,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),t.jsx("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:s.message},{children:s.message})),Xt===s.id||$t===s.id?t.jsxs("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[t.jsx("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),Xt===s.id?(null==De?void 0:De.steering)||"Steering...":(null==De?void 0:De.starting)||"Starting..."]})):t.jsxs(t.Fragment,{children:[t.jsxs("button",Object.assign({type:"button",className:"shrink-0 rounded-md px-2 py-1 text-xs font-medium opacity-70 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-40",disabled:Dt||!nt,onClick:()=>{(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){const e=rs.current;if(!e||Dt)return;const s=Mt.findIndex((e=>e.id===t.id));if(-1===s)return;Pt(!0),Kt(t.id),at(""),jn(e);let n=!1;try{if(!(yield In(e)))throw new Error((null==De?void 0:De["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield Sn(e)))throw new Error((null==De?void 0:De["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");rt("idle"),Rt((e=>e.filter((e=>e.id!==t.id)))),n=!0,Pt(!1),Kt(null),yield wn(t.message,!1,!0,t.id,!0)}catch(e){rt("idle"),n&&Rt((e=>{if(e.some((e=>e.id===t.id)))return e;const n=[...e];return n.splice(s,0,t),n})),at(D.default(e))}finally{Pt(!1),Kt(null)}}))})(s)},"aria-label":`${(null==De?void 0:De["steer-with"])||"Steer with"}: ${s.message}`},{children:[t.jsx("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==De?void 0:De.steer)||"Steer"]})),t.jsx("button",Object.assign({type:"button",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-30",disabled:Dt,onClick:()=>{return e=s.id,void Rt((t=>K(t,e)));var e},"aria-label":`${(null==De?void 0:De["remove-queued-message"])||"Remove queued message"}: ${s.message}`},{children:t.jsx(O.default,{className:"h-4 w-4","aria-hidden":"true"})})),t.jsxs(C.default,Object.assign({id:`queued-message-menu-${s.id}`,className:"shrink-0"},{children:[t.jsx(U.default,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Dt,role:"button",tabIndex:Dt?-1:0,"aria-haspopup":"menu","aria-label":(null==De?void 0:De["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:t.jsxs("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[t.jsx("circle",{cx:"5",cy:"12",r:"1.6"}),t.jsx("circle",{cx:"12",cy:"12",r:"1.6"}),t.jsx("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),t.jsx(A.default,Object.assign({role:"menu",align:Me?"bottom-start":"bottom-end",positionStrategy:Re?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(i=Ds.backgroundColor)&&void 0!==i?i:Ae.primary,color:Ae.text,borderRadius:"12px"},border:`1px solid ${Ae.text}20`},{children:t.jsxs("button",Object.assign({type:"button",role:"menuitem",className:"flex min-w-36 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-black/5 dark:hover:bg-white/10",onClick:()=>(e=>{Rt((t=>K(t,e.id))),kt(e.message),requestAnimationFrame((()=>{const t=ls.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(s)},{children:[t.jsx(k.default,{className:"h-4 w-4 shrink-0"}),(null==De?void 0:De["edit-message"])||"Edit message"]}))}))]}))]})]}),s.id)}))})),t.jsxs("div",Object.assign({ref:cs,className:q.default("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Ue.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Ds),{maxHeight:`${fs}px`,overflowY:"auto"})},{children:[mn&&t.jsxs("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Ds.backgroundColor?`${Ds.backgroundColor}E6`:void 0,borderColor:Ae.text+"20",color:Ae.text,borderTopRightRadius:Ue.cornerRadius+"px",borderTopLeftRadius:Ue.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[ln.toLocaleString()," ",Js?(null==De?void 0:De.credits)||"Credits":(null==De?void 0:De.uses)||"Uses"," ",(null==De?void 0:De.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[gn&&t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Ae.accent,color:Ae.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),vn)return void window.open(vn,"_blank","noopener,noreferrer");if(Ye)return void Ye();const t=M.buildUpgradeUrl({baseUrl:Yt,accessGroupId:null==Ve?void 0:Ve.accessGroupId});t&&M.openAuthenticatedPricingUrl({deploymentId:Te,pricingUrl:t,studioId:null==Ce?void 0:Ce.studioid,studioSessionToken:Qe})}},{children:hn})),t.jsx("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>Zt(!0)},{children:t.jsx("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!nt&&dt.length>0&&t.jsx(_.default,{className:"p-4 pb-0",isDisabled:nt}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Vs&&t.jsxs("div",Object.assign({className:q.default(Je?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Me?"right-4":"left-4")},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(Ie=Ae.accent)&&void 0!==Ie?Ie:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Ae.text+"90"}},{children:(null==De?void 0:De.listening)||"Listening..."}))]})),t.jsx(T.default,Object.assign({ref:ls,className:q.default(As.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ot.trim()&&!Ot.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Me?"text-right":"text-left",!Je&&Hs&&"mb-12"),value:Ot,placeholder:Vs?"":Gs,onChange:e=>{kt(e)},onKeyDown:e=>{Le||vt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ct||Dt||(nt?Nn():wn())))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!Rs)return;t.preventDefault(),$e(!1),yield pt(e)}}))},ee&&{onFocus:ee},te&&{onBlur:te},{dir:Me?"rtl":"ltr"})),t.jsxs("div",Object.assign({ref:ds,className:Je?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":q.default("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",Hs?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Hs&&Ds.backgroundColor&&{backgroundColor:Ds.backgroundColor}),{borderTopRightRadius:Ue.cornerRadius+"px",borderBottomRightRadius:Ue.cornerRadius+"px"})},{children:[!nt&&!vs&&Rs&&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:_s?Ae.accent+"10":void 0,color:_s?Ae.accent:Ae.accent+"80"},disabled:ct||nt,"aria-label":null!==(je=null==De?void 0:De["attach-files"])&&void 0!==je?je:"Attach files",onClick:()=>{var e;return null===(e=ss.current)||void 0===e?void 0:e.click()}},Ts,{children:[t.jsx("input",{id:"file-upload",ref:ss,type:"file",accept:[...x.allowedFileMimeTypes,...x.allowedImageMimeTypes,...x.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){$e(!1),yield pt(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(I.default,{className:"h-6 w-6 shrink-0"})]})),t.jsx(i.default,{compact:!0}),nt&&!Lt?t.jsxs(t.Fragment,{children:[(vs||hs)&&t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["stop-listening"])||"Stop listening",title:(null==De?void 0:De["stop-listening"])||"Stop listening",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Ss()},disabled:hs,style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:t.jsx(S.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["stop-response"])||"Stop response",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=rs.current;e&&(jn(e),In(e)),rt("idle")},style:{backgroundColor:Ae.accent+"10",color:Ae.accent}},{children:t.jsx(w.default,{className:"h-4 w-4 shrink-0"})})),t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["queue-message"])||"Queue message",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",disabled:Dt||ct||!Ot.trim(),onClick:Nn,style:{backgroundColor:Ot.trim()?Ae.accent:Ae.accent+"10",color:Ot.trim()?Ae.accentText:Ae.accent+"80"}},{children:t.jsx(j.default,{className:q.default("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]}):vs||hs?t.jsxs(t.Fragment,{children:[t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["stop-listening"])||"Stop listening",className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Ss()},disabled:hs,style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:t.jsx(w.default,{className:"h-4 w-4 shrink-0"})})),Ot.trim()&&t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["send-message"])||"Send message",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",disabled:!xn,onClick:()=>{wn()},style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:t.jsx(j.default,{className:q.default("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]}):t.jsxs(t.Fragment,{children:[Fs&&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:vs?Ae.accent:Cs?Ae.accent+"10":void 0,color:vs?Ae.accentText:Cs?Ae.accent:Ae.accent+"80"},disabled:ct||nt||hs,onClick:()=>{vs?Ss():(Tt(null),ns.current=Ot,js(Pe||"en-US"))}},Us,{children:t.jsx(S.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:ws||xn?Ae.accent:Ae.accent+"10",color:ws||xn?Ae.accentText:Ae.accent+"80"},disabled:!xn,onClick:()=>wn()},Os,{children:t.jsx(j.default,{className:q.default("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]})]}))]}))]})),ut&&t.jsx(E.default,{error:ut,className:"mt-3"})]}))}))}));ee.displayName="Input",exports.default=ee;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("../../../common/canChat.js"),n=require("../../../hooks/pickaxe/useEndUserModel.js"),i=require("../common/EndUserModelPicker.js"),r=require("../../../common/actionApproval.js"),o=require("react"),a=require("../../../hooks/pickaxe/usePickaxeContext.js"),l=require("../../../hooks/pickaxe/useResponseContext.js"),d=require("../../../hooks/studio/useStyleInput.js"),c=require("../../../hooks/studio/useStyleFontSize.js"),u=require("../../../hooks/pickaxe/useConversation.js"),p=require("../../../hooks/pickaxe/useDimensionContext.js"),m=require("../Addons/Auth/hooks/useAuthContext.js"),f=require("../Addons/Document/hooks/useDocument.js"),g=require("../Addons/Scroll/hooks/useScroll.js"),h=require("../Addons/Artifact/hooks/useArtifactContext.js"),v=require("../../../hooks/core/useHover.js"),b=require("../../../hooks/core/useMediaQuery.js"),x=require("../../../common/documents.js"),y=require("eventsource-parser"),I=require("../../Icons/attach-vertical.svg.js"),j=require("../../Icons/arrow-right.svg.js"),S=require("../../Icons/microphone.svg.js"),w=require("../../Icons/message-clock.svg.js"),N=require("../../Icons/stop.svg.js"),O=require("../../Icons/trash.svg.js"),_=require("../../Icons/pencil.svg.js"),k=require("../Addons/Document/List.js"),T=require("../../Core/Textarea.js"),E=require("../../Core/ErrorAlert.js"),C=require("../../Core/Menu/index.js"),U=require("../../Core/Menu/Button.js"),A=require("../../Core/Menu/List.js"),D=require("../../../common/error.js"),P=require("../../../common/api/pickaxe.js"),L=require("../../../common/validation.js"),q=require("../../../common/cn.js"),M=require("../../../common/utils.js"),R=require("../../../common/pickaxeConfig.js"),F=require("../../../common/agentPrefill.js"),V=require("../../../common/deploymentWebhooks.js"),$=require("../../../hooks/studio/useStudio.js"),B=require("../../../hooks/pickaxe/useSpeechToText.js"),X=require("../common/PickaxeCommon.js");const K=(e,t)=>{const s=e.find((e=>e.id===t));return s?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:s.predecessorSubmissionId}):e)):e},G=e=>"string"==typeof e&&e.trim().length>0,H=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,Y=e=>e.map((e=>Object.assign({},e))),W=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),z=(e,t)=>{if(e&&"object"==typeof e)return e[t]},J=(e,t)=>{const s=z(e,t);return G(s)?s:null},Q=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},Z=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const r=Array.isArray(z(e,"uses"))?z(e,"uses"):[],o=(({deploymentId:e,portalId:t})=>G(e)?{type:"deployment",id:e}:G(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!o)return{scope:o,record:null};const a=null!==(i=null!==(n=r.find((e=>e.id===o.id&&e.type===o.type)))&&void 0!==n?n:r.find((e=>e.id===o.id)))&&void 0!==i?i:null;return{scope:o,record:a}},ee=o.forwardRef((({resubmitPrompt:z,onFocus:ee,onBlur:te,onInputHeightChange:se,initSmitheryAuthData:ne},ie)=>{var re,oe,ae,le,de,ce,ue,pe,me,fe,ge,he,ve,be,xe,ye,Ie,je;const{origin:Se,pickaxeId:we,sessionId:Ne,sender:Oe,senderType:_e,portalId:ke,deploymentId:Te,deploymentType:Ee,pickaxe:Ce,styles:Ue,colors:Ae,translations:De,locale:Pe,forceMobile:Le,isNewChat:qe,isRtl:Me,isEmbed:Re,isShowFeedbackMessage:Fe,accessGroup:Ve,setIsNewChat:$e,setIsShowIceBreaker:Be,setValidationStatus:Xe,setValidationUpgradeGroups:Ke,setValidationUpgradeUrl:Ge,setAccessGroup:He,onUpgrade:Ye,onGenerateComplete:We}=a.usePickaxeContext(),{value:ze,enabled:Je}=n.useEndUserModel(),{token:Qe,isLoggedOut:Ze,isSent:et,isPricingAuth:tt}=m.useAuthContext(),{messages:st,isGenerating:nt,setMessages:it,setStatus:rt,setLimitData:ot,setError:at,setActionApprovalToken:lt}=l.useResponseContext(),{documents:dt,isUploading:ct,documentError:ut,onFileUpload:pt,setDocuments:mt,setDocumentError:ft}=f.useDocument(),{studio:gt}=$.useStudio(),[ht]=b.useMediaQuery("(max-width: 480px)"),{scrollStartSession:vt,scrollEndSession:bt,scrollToBottom:xt}=g.useScroll({auto:!0,smooth:!(Le||ht)}),{artifacts:yt,currentPopupType:It,setArtifacts:jt,setCurrentArtifact:St}=h.useArtifactContext(),{height:wt}=p.useDimensionContext(),Nt=u.useConversation(),[Ot,_t]=o.useState((()=>F.readAgentPrefill([Te,we]).chatInput)),[kt,Tt]=o.useState(null),[Et,Ct]=o.useState(!1),[Ut,At]=o.useState(!1),[Dt,Pt]=o.useState(!1),[Lt,qt]=o.useState(!1),[Mt,Rt]=o.useState([]),[Ft,Vt]=o.useState(!1),[$t,Bt]=o.useState(null),[Xt,Kt]=o.useState(null),[Gt,Ht]=o.useState(null),[Yt,Wt]=o.useState(null),[zt,Jt]=o.useState(!1),[Qt,Zt]=o.useState(!1),[es,ts]=o.useState(0),ss=o.useRef(null),ns=o.useRef(""),is=o.useRef(null),rs=o.useRef(null),os=o.useRef(null),as=o.useRef([]),ls=o.useRef(null),ds=o.useRef(null),cs=o.useRef(null),us=o.useRef(null),ps=o.useRef(new Set),ms=o.useRef(null),fs=Math.max(.4*wt,100),{speechTranscript:gs,isSpeechListening:hs,isSpeechProcessing:vs,isSpeechSupported:bs,getSpeechTranscriptSnapshot:xs,speechTranscriptRevision:ys,resetSpeechTranscript:Is,onStartListening:js,onStopListening:Ss}=B.useSpeechToText(),ws=v.useHover(),{isHover:Ns}=ws,Os=e.__rest(ws,["isHover"]),_s=v.useHover(),{isHover:ks}=_s,Ts=e.__rest(_s,["isHover"]),Es=v.useHover(),{isHover:Cs}=Es,Us=e.__rest(Es,["isHover"]),As=c.useStyleFontSize(),Ds=d.useStyleInput(),Ps="undefined"!=typeof window?window.location.hostname:"",Ls="undefined"!=typeof window?window.location.href:"",qs="undefined"!=typeof window&&window.self!==window.top,Ms=Ps.includes("pickaxe.co")&&!Ls.includes("https://studio.pickaxe.co/_embed")&&!qs,Rs=null!==(oe=null===(re=null==Ce?void 0:Ce.documentuploadtype)||void 0===re?void 0:re.startsWith("enduserupload"))&&void 0!==oe&&oe,Fs=bs&&(null==Ce?void 0:Ce.enablevoicetotext),Vs=hs&&!Ot.trim(),$s=G(Te),Bs="chat-input"===Ee&&qe&&!et,Xs="chat-input"===Ee&&tt&&Ze&&et,Ks=o.useCallback((e=>{const t=L.getValidationFailure(e);return!!t&&(at(""),ot(null),Xe(t.status),He(t.accessGroup),Ke(t.upgradeGroups),Ge(t.upgradeUrl),!0)}),[at,lt,ot,Xe,Ke,Ge,He]),Gs=null!==(ae=null==Ce?void 0:Ce.placeholdertext)&&void 0!==ae?ae:Me?"بماذا تريد أن تتحدث؟":(null==De?void 0:De["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Hs=Et||Ut,Ys=o.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){Jt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==Ce?void 0:Ce.studioid},Qe?{studioSessionToken:Qe}:Oe?{sender:Oe}:{sender:M.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Ms&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(Ht(t.studioUser),Wt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{Jt(!0)}}))),[Ms,null==Ce?void 0:Ce.studioid,Oe,Qe]);o.useEffect((()=>{Ys()}),[Ys]);const Ws=Number(null!==(le=null==Ve?void 0:Ve.limit)&&void 0!==le?le:0),zs="string"==typeof(null==Ve?void 0:Ve.limitInterval)?Ve.limitInterval:null,Js=!!(null==gt?void 0:gt.data.usage)&&gt.data.usage.isCredits,Qs=o.useMemo((()=>{var e,t,s,n,i;return null!==(i=null!==(n=null!==(s=null!==(t=null!==(e=null!=ke?ke:J(Gt,"portalId"))&&void 0!==e?e:J(Gt,"portalid"))&&void 0!==t?t:J(Ve,"portalId"))&&void 0!==s?s:J(Ve,"portalid"))&&void 0!==n?n:J(Ce,"portalId"))&&void 0!==i?i:J(Ce,"portalid")}),[Ve,ke,Ce,Gt]),Zs=o.useMemo((()=>Z({studioUser:Gt,deploymentId:Te,portalId:Qs})),[Te,Qs,Gt]);o.useEffect((()=>{$s&&qe&&Ne&&ps.current.add(Ne)}),[qe,Ne,$s]);const en=o.useCallback((()=>{var e,t,s;return{studioId:null==Ce?void 0:Ce.studioid,userEmail:J(Gt,"email"),userId:null!==(e=J(Gt,"userId"))&&void 0!==e?e:J(Gt,"userid"),sessionId:Ne,deploymentId:Te,deploymentType:Ee,portalId:Qs,accessGroupId:null!==(t=null==Ve?void 0:Ve.accessGroupId)&&void 0!==t?t:null,pickaxeId:we,sender:Oe,senderType:_e,origin:Se,metadata:null!==(s=R.getPickaxeConfigMetadata(Te))&&void 0!==s?s:null}}),[null==Ve?void 0:Ve.accessGroupId,Te,Ee,Se,null==Ce?void 0:Ce.studioid,we,Qs,Oe,_e,Ne,Gt]),tn=o.useCallback((()=>!!($s&&zt&&Ne)&&(!!ps.current.has(Ne)&&(V.fireDeploymentSessionInitializedWebhook(en()),ps.current.delete(Ne),!0))),[en,zt,Ne,$s]);o.useEffect((()=>{if(!zt||!Ne)return;tn();const e=ms.current;(null==e?void 0:e.sessionId)===Ne&&(V.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),en()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),ms.current=null)}),[tn,en,zt,Ne]);const sn={currentUses:Q(null==Gt?void 0:Gt.currentUses),extraUses:Q(null==Gt?void 0:Gt.extraUses)},nn=Zs.scope?{currentUses:null!==(ce=Q(null===(de=Zs.record)||void 0===de?void 0:de.currentUses))&&void 0!==ce?ce:0,extraUses:null!==(pe=Q(null===(ue=Zs.record)||void 0===ue?void 0:ue.extraUses))&&void 0!==pe?pe:0}:{currentUses:0,extraUses:0},rn=J(Gt,"type"),on="guest"===rn||!rn&&Ze?nn:sn;o.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(Js&&(null===(e=null==gt?void 0:gt.data)||void 0===e?void 0:e.workspaceId))try{const e=yield P.pickaxeApi2.get(`/cost_per_run?workspaceId=${gt.data.workspaceId}`,{withCredentials:!1});t&&ts(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&ts(0)}else t&&ts(0)})),()=>{t=!1}}),[Js,null===(me=null==gt?void 0:gt.data)||void 0===me?void 0:me.workspaceId]);const an=(({accessGroupType:e,currentUses:t,extraUses:s,limit:n,limitInterval:i})=>{const r=Number(null!=t?t:0),o=Number(null!=s?s:0);return"public"===e&&"one_time"===i?n===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(0,n-r):n===X.STUDIO_INFINITY_VALUE||o===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:"one_time"===i?Math.max(0,o):Math.max(0,n-r)+o})({accessGroupType:null==Ve?void 0:Ve.type,currentUses:on.currentUses,extraUses:on.extraUses,limit:Ws,limitInterval:zs}),ln=an===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(an)),dn=(({accessGroupType:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=t?t:0);return"public"===e&&"one_time"===n?s===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(0,s):s===X.STUDIO_INFINITY_VALUE||i===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,i):Math.max(0,s)+Math.max(0,i)})({accessGroupType:null==Ve?void 0:Ve.type,extraUses:on.extraUses,limit:Ws,limitInterval:zs}),cn=dn===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.ceil(.05*dn),un=Js?Math.ceil(5*es):5,pn=cn===X.STUDIO_INFINITY_VALUE?X.STUDIO_INFINITY_VALUE:Math.max(cn,un),mn=o.useMemo((()=>!!Gt&&(!Qt&&(ln!==X.STUDIO_INFINITY_VALUE&&(!(dn<=0||ln>=dn)&&ln<=pn)))),[Qt,pn,ln,Gt,dn]),fn=Boolean(null==Ve?void 0:Ve.hideUpgradeOptions),gn=Boolean(!fn&&((null===(fe=null==Ve?void 0:Ve.upgrade)||void 0===fe?void 0:fe.isBuyMoreUses)||(null===(ge=null==Ve?void 0:Ve.upgrade)||void 0===ge?void 0:ge.isLinkToCustomURL)||(null===(he=null==Ve?void 0:Ve.upgrade)||void 0===he?void 0:he.isUpgradeToAnotherGroup)&&(null===(ve=Ve.upgrade.accessGroupIds)||void 0===ve?void 0:ve.length))),hn=!fn&&(null===(be=null==Ve?void 0:Ve.upgrade)||void 0===be?void 0:be.isLinkToCustomURL)&&"string"==typeof Ve.upgrade.limitLink&&Ve.upgrade.limitLink.trim().length>0?Ve.upgrade.limitLink.trim():null,vn=hn&&"string"==typeof(null===(xe=null==Ve?void 0:Ve.upgrade)||void 0===xe?void 0:xe.limitCTA)&&Ve.upgrade.limitCTA.trim().length>0?Ve.upgrade.limitCTA:(null==De?void 0:De["pricing.upgrade"])||(null==De?void 0:De.upgrade)||"Upgrade",bn=o.useMemo((()=>{var e,t,s;return!!qe&&(!!Ce&&(!Nt.isLoading&&(!((null!==(t=null===(e=Nt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=Ce.icebreakers)||void 0===s?void 0:s.length)&&(!Fe&&!Bs)))))}),[Ce,qe,Fe,Bs,Nt.data,Nt.isLoading]),xn=o.useMemo((()=>{if(ct||Dt)return!1;const e=Rs&&dt.length>0&&dt.every((e=>"finished"===e.status));return!(!Ot.trim()&&!e)&&dt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Rs,ct,Dt,Ot,dt]);o.useImperativeHandle(ie,(()=>({onSubmit:Nn}))),o.useEffect((()=>{Be(bn)}),[bn]),o.useEffect((()=>{var e;if(z){const t=Array.from(st),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Nn(s,!0)}}),[z]),o.useEffect((()=>{if(!cs.current||!se)return;const e=new ResizeObserver((e=>{for(const t of e)se(t.contentRect.height)}));return e.observe(cs.current),()=>{e.disconnect()}}),[se]),o.useEffect((()=>{if(!hs)return;const e=ns.current?`${ns.current} `:"",t=xs();Tt(t),_t(`${e}${t.text}`)}),[gs,ys,hs,xs]);const yn=()=>{ns.current="",Is(kt),Tt(null)};o.useEffect((()=>{if(!ls.current)return;(()=>{if(!ls.current)return;let e=ls.current.scrollHeight>52;Ot.includes("\n")||dt.length?e=!0:Ot.trim()||(e=!1),Ct(e)})()}),[Ot,dt]),o.useEffect((()=>{const e=ls.current,t=ds.current;if(!e||!t||Je||Et||Ot.includes("\n"))return void At(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,i=document.createElement("span");Object.assign(i.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),i.textContent=Ot||Gs,document.body.appendChild(i);const r=i.offsetWidth;i.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;At(r>l)}),[Ot,Et,Gs,Je]);const In=t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!(t=null!=t?t:rs.current))return!1;const e=Y(as.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${t}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:e})},Ms&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),jn=e=>{os.current=e,us.current&&(us.current.abort(),us.current=null),is.current&&(is.current.cancel().catch((()=>{})),is.current=null)},Sn=t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Date.now()+3e4;for(;Date.now()<e;){try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${t}`,Object.assign({headers:Object.assign({"Cache-Control":"no-cache"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}))},Ms&&{credentials:"include"}));if(e.ok){if((yield e.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),wn=()=>{const e=rs.current;e&&!Dt&&!ct&&Ot.trim()&&(yn(),Rt((t=>{var s,n;return[...t,{id:H(),message:Ot,predecessorSubmissionId:null!==(n=null===(s=t[t.length-1])||void 0===s?void 0:s.id)&&void 0!==n?n:e}]})),_t(""))},Nn=(t,n=!1,i=!1,o,a=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,l,d,c,u;if(!s.canChat(Ce))return;let p=null;try{if(nt&&!i||ct)return;const s=dt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),m=s.map((e=>e.documentId)).filter(Boolean),f=s.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),g=null!=t?t:Ot,h=null!==(l=null===(e=null==Ce?void 0:Ce.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==l&&l&&m.length>0;if(!g.trim()&&!h)return;if((hs||vs)&&!g.trim())return;o||(yn(),_t("")),at(""),ft(""),ot(null),$e(!1),qt(!1),rt("fetching"),vt(),xt();const v=n?st.slice(0,st.length-1):st,b=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(v),x=b+(n?0:1),I={id:x,role:"assistant",parts:[],documentIds:[]},j=[...v,...n?[]:[{id:b,role:"user",parts:[{type:"text",content:g,isVisible:!0}],documentIds:h?m:[]}],I];it(j),xt(),h&&mt([]);const S=R.getPickaxeConfigMetadata(Te),w=null!=o?o:H();p=w,rs.current=w,os.current=null,as.current=[];const N=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:ze||void 0,origin:Se,pickaxeId:we,sessionId:Ne,submissionId:w},a&&{interactionType:"steer"}),{senderType:_e,value:g}),h&&{documentIds:m}),Oe&&{sender:Oe}),Qe&&{studioSessionToken:Qe}),!Qe&&!Oe&&{sender:M.initializeEmbedUserId()}),Qs&&{portalId:Qs}),Te&&{deploymentId:Te}),S&&{metadata:S}),h&&f.length>0?{uploadedModelImages:f}:{})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Ms&&{credentials:"include"})),O=yield N.json();if(!O.success){if(O.limitData){const e=new Error(O.error||O.message||(null==De?void 0:De["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=O.limitData,e}if(Ks(O))return;throw new Error(O.error||O.message||(null==De?void 0:De["failed-to-start-generation"])||"Failed to start generation")}lt(null!==(d=O.actionApprovalToken)&&void 0!==d?d:null);const _=null!==(c=O.submissionId)&&void 0!==c?c:w;p=_,rs.current=_;const k=()=>os.current===_;if(k())return;$s&&qe&&Ne&&ps.current.add(Ne);const T=Object.assign(Object.assign({},en()),{message:g,documentIds:h?m:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=S?S:null});zt?(tn(),V.fireDeploymentFirstMessageSubmittedWebhook(T)):ms.current=T,rt("streaming"),us.current=new AbortController;const E=[];let C=[...null!=yt?yt:[]],U=0,A=!1,D="";for(;!A;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${_}?index=${U}`,{signal:null===(u=us.current)||void 0===u?void 0:u.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();is.current=t;const s=new TextDecoder,n=y.createParser({onEvent:e=>{var t,s;if(k())A=!0;else if(e.event&&"ping"!==e.event&&U++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return ot(t.limitData),at(""),void(A=!0);const s=t.error||t.message||(null==De?void 0:De["something-went-wrong"])||"Something went wrong.";return Ks(t)||at(s),void(A=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("finish"===n.type)return void qt(!0);if("data-error"===n.type){const e=n.data.error;if("object"==typeof e&&null!==e&&("mcp_auth_expired"===e.type||"mcp_owner_connection_required"===e.type||"mcp_connection_check_failed"===e.type))throw at("string"==typeof e.message?e.message:(null==De?void 0:De["something-went-wrong"])||"Something went wrong."),A=!0,new Error("STOP_STREAM");if(!ne)return;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),s=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw A=!0,ne({provider:"smithery",smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}else if(s){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw A=!0,ne({provider:"composio",toolkitSlug:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw A=!0,ne({provider:"smithery",smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM");if("unauthorized_composio"===t.type&&t.toolkitSlug&&t.serverId&&t.name)throw A=!0,ne({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)D="",E.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)D+=n.delta,r.updateStreamTextPart(E,"text",D);else if("text-end"===n.type)D="";else if("reasoning-start"===n.type)D="",E.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)D+=n.delta,r.updateStreamTextPart(E,"reasoning",D);else if("reasoning-end"===n.type)D="";else if(n.type.startsWith("data-")){const e=n;"data-action-approval"===e.type?r.upsertActionApprovalPart(E,e.data):E.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}as.current=Y(E);const i=Y(E);it((e=>{const t=e.findIndex((e=>e.id===x)),s=Object.assign(Object.assign({},I),{parts:i});return-1===t?[...e,s]:e.map(((e,n)=>n===t?s:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);C=C.filter((e=>!(e.id===t.id&&e.version===t.version))),C.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),jt([...C]),It.startsWith("inline")||St({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);C=C.filter((e=>!(e.id===t.id&&e.version===t.version))),C.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),jt(C),It.startsWith("inline")||St({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);C=C.filter((e=>!(e.id===t.id&&e.version===t.version))),C.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),jt(C),It.startsWith("inline")||St({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");C=C.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),jt(C)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);jt(C.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return ot(t.limitData),at(""),void(A=!0);const s=t.error||t.message||(null==De?void 0:De["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(Ks(t))return void(A=!0);at(s)}else"stop"===e.event&&(A=!0)}else A=!0}});for(;;){if(k()){A=!0,t.cancel().catch((()=>{}));break}const{value:e,done:i}=yield t.read();if(k()){A=!0,t.cancel().catch((()=>{}));break}if(i)break;n.feed(s.decode(e))}A||k()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||W(e)||k())return void(A=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==We||We(Ne)}catch(e){if(W(e))return;if(e.limitData)ot(e.limitData),at("");else{let t=D.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==De?void 0:De["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),Ks(t)||at(t)}}finally{const e=!p||rs.current===p;xt(),e&&(rt("idle"),bt(),is.current=null),p&&e&&(rs.current=null,as.current=[]),yield Ys()}}));return o.useEffect((()=>{if(nt||Dt||Ft||0===Mt.length)return;const t=Mt[0];Vt(!0),Bt(t.id),e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!(yield Sn(t.predecessorSubmissionId)))return void at((null==De?void 0:De["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Rt((e=>e.filter((e=>e.id!==t.id)))),yield Nn(t.message,!1,!0,t.id)}finally{Vt(!1),Bt(null)}}))}),[nt,Ft,Dt,Mt]),Xs?null:t.jsx("div",Object.assign({className:q.default("flex w-full flex-shrink-0 flex-col items-center",!Bs&&"px-4 pb-8"),dir:Me?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[Mt.length>0&&t.jsx("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:Ae.text+"18",backgroundColor:null!==(ye=Ds.backgroundColor)&&void 0!==ye?ye:Ae.text+"08",color:Ae.text,borderTopLeftRadius:Math.max(Ue.cornerRadius-4,12),borderTopRightRadius:Math.max(Ue.cornerRadius-4,12)}},{children:Mt.map(((s,n)=>{var i;return t.jsxs("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:n<Mt.length-1?{borderBottom:`1px solid ${Ae.text}12`}:void 0},{children:[t.jsx(w.default,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),t.jsx("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:s.message},{children:s.message})),Xt===s.id||$t===s.id?t.jsxs("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[t.jsx("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),Xt===s.id?(null==De?void 0:De.steering)||"Steering...":(null==De?void 0:De.starting)||"Starting..."]})):t.jsxs(t.Fragment,{children:[t.jsxs("button",Object.assign({type:"button",className:"shrink-0 rounded-md px-2 py-1 text-xs font-medium opacity-70 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-40",disabled:Dt||!nt,onClick:()=>{(t=>{e.__awaiter(void 0,void 0,void 0,(function*(){const e=rs.current;if(!e||Dt)return;const s=Mt.findIndex((e=>e.id===t.id));if(-1===s)return;Pt(!0),Kt(t.id),at(""),jn(e);let n=!1;try{if(!(yield In(e)))throw new Error((null==De?void 0:De["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield Sn(e)))throw new Error((null==De?void 0:De["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");rt("idle"),Rt((e=>e.filter((e=>e.id!==t.id)))),n=!0,Pt(!1),Kt(null),yield Nn(t.message,!1,!0,t.id,!0)}catch(e){rt("idle"),n&&Rt((e=>{if(e.some((e=>e.id===t.id)))return e;const n=[...e];return n.splice(s,0,t),n})),at(D.default(e))}finally{Pt(!1),Kt(null)}}))})(s)},"aria-label":`${(null==De?void 0:De["steer-with"])||"Steer with"}: ${s.message}`},{children:[t.jsx("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==De?void 0:De.steer)||"Steer"]})),t.jsx("button",Object.assign({type:"button",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100 disabled:cursor-default disabled:opacity-30",disabled:Dt,onClick:()=>{return e=s.id,void Rt((t=>K(t,e)));var e},"aria-label":`${(null==De?void 0:De["remove-queued-message"])||"Remove queued message"}: ${s.message}`},{children:t.jsx(O.default,{className:"h-4 w-4","aria-hidden":"true"})})),t.jsxs(C.default,Object.assign({id:`queued-message-menu-${s.id}`,className:"shrink-0"},{children:[t.jsx(U.default,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Dt,role:"button",tabIndex:Dt?-1:0,"aria-haspopup":"menu","aria-label":(null==De?void 0:De["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:t.jsxs("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[t.jsx("circle",{cx:"5",cy:"12",r:"1.6"}),t.jsx("circle",{cx:"12",cy:"12",r:"1.6"}),t.jsx("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),t.jsx(A.default,Object.assign({role:"menu",align:Me?"bottom-start":"bottom-end",positionStrategy:Re?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(i=Ds.backgroundColor)&&void 0!==i?i:Ae.primary,color:Ae.text,borderRadius:"12px"},border:`1px solid ${Ae.text}20`},{children:t.jsxs("button",Object.assign({type:"button",role:"menuitem",className:"flex min-w-36 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors hover:bg-black/5 dark:hover:bg-white/10",onClick:()=>(e=>{Rt((t=>K(t,e.id))),_t(e.message),requestAnimationFrame((()=>{const t=ls.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(s)},{children:[t.jsx(_.default,{className:"h-4 w-4 shrink-0"}),(null==De?void 0:De["edit-message"])||"Edit message"]}))}))]}))]})]}),s.id)}))})),t.jsxs("div",Object.assign({ref:cs,className:q.default("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Ue.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Ds),{maxHeight:`${fs}px`,overflowY:"auto"})},{children:[mn&&t.jsxs("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Ds.backgroundColor?`${Ds.backgroundColor}E6`:void 0,borderColor:Ae.text+"20",color:Ae.text,borderTopRightRadius:Ue.cornerRadius+"px",borderTopLeftRadius:Ue.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[ln.toLocaleString()," ",Js?(null==De?void 0:De.credits)||"Credits":(null==De?void 0:De.uses)||"Uses"," ",(null==De?void 0:De.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[gn&&t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Ae.accent,color:Ae.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),hn)return void window.open(hn,"_blank","noopener,noreferrer");if(Ye)return void Ye();const t=M.buildUpgradeUrl({baseUrl:Yt,accessGroupId:null==Ve?void 0:Ve.accessGroupId});t&&M.openAuthenticatedPricingUrl({deploymentId:Te,pricingUrl:t,studioId:null==Ce?void 0:Ce.studioid,studioSessionToken:Qe})}},{children:vn})),t.jsx("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>Zt(!0)},{children:t.jsx("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!nt&&dt.length>0&&t.jsx(k.default,{className:"p-4 pb-0",isDisabled:nt}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Vs&&t.jsxs("div",Object.assign({className:q.default(Je?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Me?"right-4":"left-4")},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(Ie=Ae.accent)&&void 0!==Ie?Ie:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Ae.text+"90"}},{children:(null==De?void 0:De.listening)||"Listening..."}))]})),t.jsx(T.default,Object.assign({ref:ls,className:q.default(As.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ot.trim()&&!Ot.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Me?"text-right":"text-left",!Je&&Hs&&"mb-12"),value:Ot,placeholder:Vs?"":Gs,onChange:e=>{_t(e)},onKeyDown:e=>{Le||ht||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ct||Dt||(nt?wn():Nn())))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);if(e.length>0){if(!Rs)return;t.preventDefault(),$e(!1),yield pt(e)}}))},ee&&{onFocus:ee},te&&{onBlur:te},{dir:Me?"rtl":"ltr"})),t.jsxs("div",Object.assign({ref:ds,className:Je?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":q.default("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",Hs?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Hs&&Ds.backgroundColor&&{backgroundColor:Ds.backgroundColor}),{borderTopRightRadius:Ue.cornerRadius+"px",borderBottomRightRadius:Ue.cornerRadius+"px"})},{children:[!nt&&!hs&&Rs&&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:ks?Ae.accent+"10":void 0,color:ks?Ae.accent:Ae.accent+"80"},disabled:ct||nt,"aria-label":null!==(je=null==De?void 0:De["attach-files"])&&void 0!==je?je:"Attach files",onClick:()=>{var e;return null===(e=ss.current)||void 0===e?void 0:e.click()}},Ts,{children:[t.jsx("input",{id:"file-upload",ref:ss,type:"file",accept:[...x.allowedFileMimeTypes,...x.allowedImageMimeTypes,...x.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){$e(!1),yield pt(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(I.default,{className:"h-6 w-6 shrink-0"})]})),t.jsx(i.default,{compact:!0}),nt&&!Lt?t.jsxs(t.Fragment,{children:[(hs||vs)&&t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["stop-listening"])||"Stop listening",title:(null==De?void 0:De["stop-listening"])||"Stop listening",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Ss()},disabled:vs,style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:t.jsx(S.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["stop-response"])||"Stop response",className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=rs.current;e&&(jn(e),In(e)),rt("idle")},style:{backgroundColor:Ae.accent+"10",color:Ae.accent}},{children:t.jsx(N.default,{className:"h-4 w-4 shrink-0"})})),t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["queue-message"])||"Queue message",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",disabled:Dt||ct||!Ot.trim(),onClick:wn,style:{backgroundColor:Ot.trim()?Ae.accent:Ae.accent+"10",color:Ot.trim()?Ae.accentText:Ae.accent+"80"}},{children:t.jsx(j.default,{className:q.default("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]}):hs||vs?t.jsxs(t.Fragment,{children:[t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["stop-listening"])||"Stop listening",className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Ss()},disabled:vs,style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:t.jsx(N.default,{className:"h-4 w-4 shrink-0"})})),Ot.trim()&&t.jsx("button",Object.assign({"aria-label":(null==De?void 0:De["send-message"])||"Send message",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",disabled:!xn,onClick:()=>{Nn()},style:{backgroundColor:Ae.accent,color:Ae.accentText}},{children:t.jsx(j.default,{className:q.default("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]}):t.jsxs(t.Fragment,{children:[Fs&&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:hs?Ae.accent:Cs?Ae.accent+"10":void 0,color:hs?Ae.accentText:Cs?Ae.accent:Ae.accent+"80"},disabled:ct||nt||vs,onClick:()=>{hs?Ss():(Tt(null),ns.current=Ot,js(Pe||"en-US"))}},Us,{children:t.jsx(S.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:Ns||xn?Ae.accent:Ae.accent+"10",color:Ns||xn?Ae.accentText:Ae.accent+"80"},disabled:!xn,onClick:()=>Nn()},Os,{children:t.jsx(j.default,{className:q.default("h-6 w-6 shrink-0",Me&&"scale-x-[-1] transform")})}))]})]}))]}))]})),ut&&t.jsx(E.default,{error:ut,className:"mt-3"})]}))}))}));ee.displayName="Input",exports.default=ee;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),o=require("../../../common/canChat.js"),s=require("react"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),n=require("../Addons/Auth/hooks/useAuthContext.js"),r=require("../../../hooks/pickaxe/useDimensionContext.js"),a=require("../Addons/Document/hooks/useDocument.js"),l=require("../Addons/Scroll/hooks/useScroll.js"),u=require("../../../hooks/studio/useStyleFontSize.js"),c=require("../../../hooks/core/useScrollToBottomVisibility.js"),d=require("./History/index.js"),f=require("./Input.js"),m=require("../../Icons/attach-vertical.svg.js"),h=require("../../../common/cn.js"),p=require("../../../common/api/pickaxe.js"),v=require("uuid"),x=require("../../Core/StudioTip.js"),j=require("../common/ScrollToBottomButton.js"),b=require("../common/PickaxeMCPButton.js"),g=require("../../../hooks/pickaxe/useResponseContext.js"),k=require("../Addons/Navbar/NavPill.js"),y=require("../../Icons/history.svg.js");exports.default=()=>{var S,w;const{deploymentType:C,isNewChat:q,setIsNewChat:D,sessionId:I,setSessionId:N,setLastSessionId:T,pickaxeId:P,sender:A,pickaxe:O,styles:_,isEmbed:F,mcpEnabled:E,translations:R}=i.usePickaxeContext(),{isSent:z,token:B}=n.useAuthContext(),{width:H,height:G,setDimension:L}=r.useDimensionContext(),{setDocuments:M,onFileUpload:V}=a.useDocument(),{scrollContainerRef:U,scrollToBottom:W}=l.useScroll({listen:!1}),{isGenerating:J,messages:K}=g.useResponseContext(),Q=u.useStyleFontSize(),[X,Y]=s.useState(0),[Z,$]=s.useState(!1),[ee,te]=s.useState(!1),oe=s.useRef(null),se=s.useRef(null),ie=s.useRef(0),[ne,re]=s.useState(null),[ae,le]=s.useState(!1),ue=(null==R?void 0:R["new-chat"])||"New chat",ce=o.canChat(O),de=ce&&"chat-input"===C&&q&&!z,fe=ce&&null!==(w=null===(S=null==O?void 0:O.documentuploadtype)||void 0===S?void 0:S.startsWith("enduserupload"))&&void 0!==w&&w,{hasScrollableContent:me,isNearBottom:he}=c.default(U,{},[de]);s.useEffect((()=>()=>{M([])}),[]);const pe=s.useCallback((()=>{if(!P||!A&&!B)return;const t=(o=0)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{const t=yield p.pickaxeApi2.post("/conversation/title",Object.assign({sessionId:I},B?{studioSessionToken:B}:A?{userId:A}:{}));if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void xe(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()}),[P,A,I,B]);s.useEffect((()=>{J||q||!I||pe()}),[J,q,I,pe]),s.useEffect((()=>{if(!oe.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;L(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(oe.current),()=>{e.disconnect()}}),[L]);const[ve,xe]=s.useState(ue),je=(null==O?void 0:O.formtitle)||"Pickaxe",be=(null==O?void 0:O.coverphoto)||void 0,[ge,ke]=s.useState(!1);s.useEffect((()=>{const e=!de&&!F&&_.portalTheme&&(K.filter((e=>"user"===e.role)).length>0||Z||!q);ke(null!=e&&e)}),[de,F,Z,q,K,_.portalTheme]);const ye=s.useCallback((()=>{W({force:!0,behavior:"auto"})}),[W]);return t.jsxs("div",Object.assign({ref:oe,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),fe&&(ie.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&te(!0))},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),fe&&(ie.current-=1,0===ie.current&&te(!1))},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(t.preventDefault(),t.stopPropagation(),te(!1),ie.current=0,!fe)return;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(D(!1),yield V(e))}))},{children:[ee&&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(m.default,{className:"h-10 w-10"})})),t.jsx("h3",Object.assign({className:h.default(Q.h3,"mt-6 font-semibold text-c-primary text-black")},{children:(null==R?void 0:R["drop-files-to-upload"])||"Drop files to upload"})),t.jsx("p",Object.assign({className:h.default(Q.b2,"mt-2 opacity-60 text-black")},{children:(null==R?void 0:R["add-anything-to-the-conversation"])||"Add anything to the conversation"}))]})),!F&&E?t.jsx("div",Object.assign({className:"pointer-events-none absolute left-1/2 top-4 z-40 flex w-full max-w-[800px] -translate-x-1/2 justify-end px-4"},{children:t.jsx("div",Object.assign({className:"pointer-events-auto"},{children:t.jsx(b.default,{})}))})):null,de?t.jsx(f.default,{}):t.jsxs(t.Fragment,{children:[ge&&t.jsxs("div",Object.assign({className:h.default("direct-link"===C?"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"===_.portalTheme?"glass-dark ":"")},{children:[t.jsx(k.NavPill,{text:je,icon:be}),q||ve===ue?t.jsx(k.NavPill,{text:ve}):t.jsx(k.EditableNavPill,{text:ve,sessionId:I,onRename:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(I)try{yield p.pickaxeApi2.patch("/conversation/title",Object.assign({sessionId:I,name:t},B?{studioSessionToken:B}:A?{userId:A}:{})),xe(t)}catch(e){console.error("Error renaming chat:",e),alert((null==R?void 0:R["failed-rename-chat"])||"Failed to rename chat.")}})),onDelete:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(I&&window.confirm((null==R?void 0:R["delete-confirm"])||"Are you sure you want to delete this conversation?"))try{yield p.pickaxeApi2.delete("/conversation",{data:Object.assign({sessionId:I},B?{studioSessionToken:B}:A?{userId:A}:{})}),D(!0),N(ce?v.v4():""),xe(ue)}catch(e){console.error("Error deleting chat:",e),alert((null==R?void 0:R["failed-delete-chat"])||"Failed to delete chat.")}})),isDarkGlass:"dark"===_.portalTheme}),t.jsx(x.StudioTip,Object.assign({content:R["chat-history"]||"Chat History",align:"bottom",containerClassName:"inline-flex shrink-0"},{children:t.jsx(k.HistoryPill,{icon:t.jsx(y.default,{}),onClick:()=>{N(""),T(I)}})}))]})),t.jsx(d.default,{additionalScrollHeight:X,isForceHideInfo:G<=545||H<=350||Z,isInputFocused:Z,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){ce&&se.current&&se.current.onSubmit(t)})),smitheryAuthData:ne,resubmitPrompt:()=>{re(null),le(!0)}}),t.jsx(j.default,{isVisible:me&&!he,bottom:X+65,onClick:ye}),ce&&t.jsx(f.default,{ref:se,onFocus:()=>$(!0),onBlur:()=>$(!1),onInputHeightChange:Y,initSmitheryAuthData:e=>re(e),resubmitPrompt:ae})]})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),o=require("../../../common/canChat.js"),s=require("react"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),n=require("../Addons/Auth/hooks/useAuthContext.js"),r=require("../../../hooks/pickaxe/useDimensionContext.js"),a=require("../Addons/Document/hooks/useDocument.js"),l=require("../Addons/Scroll/hooks/useScroll.js"),u=require("../../../hooks/studio/useStyleFontSize.js"),c=require("../../../hooks/core/useScrollToBottomVisibility.js"),d=require("./History/index.js"),f=require("./Input.js"),m=require("../../Icons/attach-vertical.svg.js"),h=require("../../../common/cn.js"),p=require("../../../common/api/pickaxe.js"),v=require("uuid"),x=require("../../Core/StudioTip.js"),j=require("../common/ScrollToBottomButton.js"),b=require("../common/PickaxeMCPButton.js"),g=require("../../../hooks/pickaxe/useResponseContext.js"),k=require("../Addons/Navbar/NavPill.js"),y=require("../../Icons/history.svg.js");exports.default=()=>{var S,w;const{deploymentType:C,isNewChat:q,setIsNewChat:D,sessionId:I,setSessionId:N,setLastSessionId:T,pickaxeId:P,sender:A,pickaxe:O,styles:_,isEmbed:F,mcpEnabled:E,translations:R}=i.usePickaxeContext(),{isSent:z,token:B}=n.useAuthContext(),{width:H,height:G,setDimension:L}=r.useDimensionContext(),{setDocuments:M,onFileUpload:V}=a.useDocument(),{scrollContainerRef:U,scrollToBottom:W}=l.useScroll({listen:!1}),{isGenerating:J,messages:K}=g.useResponseContext(),Q=u.useStyleFontSize(),[X,Y]=s.useState(0),[Z,$]=s.useState(!1),[ee,te]=s.useState(!1),oe=s.useRef(null),se=s.useRef(null),ie=s.useRef(0),[ne,re]=s.useState(null),[ae,le]=s.useState(0),ue=(null==R?void 0:R["new-chat"])||"New chat",ce=o.canChat(O),de=ce&&"chat-input"===C&&q&&!z,fe=ce&&null!==(w=null===(S=null==O?void 0:O.documentuploadtype)||void 0===S?void 0:S.startsWith("enduserupload"))&&void 0!==w&&w,{hasScrollableContent:me,isNearBottom:he}=c.default(U,{},[de]);s.useEffect((()=>()=>{M([])}),[]);const pe=s.useCallback((()=>{if(!P||!A&&!B)return;const t=(o=0)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{const t=yield p.pickaxeApi2.post("/conversation/title",Object.assign({sessionId:I},B?{studioSessionToken:B}:A?{userId:A}:{}));if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void xe(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()}),[P,A,I,B]);s.useEffect((()=>{J||q||!I||pe()}),[J,q,I,pe]),s.useEffect((()=>{if(!oe.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;L(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(oe.current),()=>{e.disconnect()}}),[L]);const[ve,xe]=s.useState(ue),je=(null==O?void 0:O.formtitle)||"Pickaxe",be=(null==O?void 0:O.coverphoto)||void 0,[ge,ke]=s.useState(!1);s.useEffect((()=>{const e=!de&&!F&&_.portalTheme&&(K.filter((e=>"user"===e.role)).length>0||Z||!q);ke(null!=e&&e)}),[de,F,Z,q,K,_.portalTheme]);const ye=s.useCallback((()=>{W({force:!0,behavior:"auto"})}),[W]);return t.jsxs("div",Object.assign({ref:oe,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),fe&&(ie.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&te(!0))},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),fe&&(ie.current-=1,0===ie.current&&te(!1))},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(t.preventDefault(),t.stopPropagation(),te(!1),ie.current=0,!fe)return;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(D(!1),yield V(e))}))},{children:[ee&&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(m.default,{className:"h-10 w-10"})})),t.jsx("h3",Object.assign({className:h.default(Q.h3,"mt-6 font-semibold text-c-primary text-black")},{children:(null==R?void 0:R["drop-files-to-upload"])||"Drop files to upload"})),t.jsx("p",Object.assign({className:h.default(Q.b2,"mt-2 opacity-60 text-black")},{children:(null==R?void 0:R["add-anything-to-the-conversation"])||"Add anything to the conversation"}))]})),!F&&E?t.jsx("div",Object.assign({className:"pointer-events-none absolute left-1/2 top-4 z-40 flex w-full max-w-[800px] -translate-x-1/2 justify-end px-4"},{children:t.jsx("div",Object.assign({className:"pointer-events-auto"},{children:t.jsx(b.default,{})}))})):null,de?t.jsx(f.default,{}):t.jsxs(t.Fragment,{children:[ge&&t.jsxs("div",Object.assign({className:h.default("direct-link"===C?"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"===_.portalTheme?"glass-dark ":"")},{children:[t.jsx(k.NavPill,{text:je,icon:be}),q||ve===ue?t.jsx(k.NavPill,{text:ve}):t.jsx(k.EditableNavPill,{text:ve,sessionId:I,onRename:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(I)try{yield p.pickaxeApi2.patch("/conversation/title",Object.assign({sessionId:I,name:t},B?{studioSessionToken:B}:A?{userId:A}:{})),xe(t)}catch(e){console.error("Error renaming chat:",e),alert((null==R?void 0:R["failed-rename-chat"])||"Failed to rename chat.")}})),onDelete:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(I&&window.confirm((null==R?void 0:R["delete-confirm"])||"Are you sure you want to delete this conversation?"))try{yield p.pickaxeApi2.delete("/conversation",{data:Object.assign({sessionId:I},B?{studioSessionToken:B}:A?{userId:A}:{})}),D(!0),N(ce?v.v4():""),xe(ue)}catch(e){console.error("Error deleting chat:",e),alert((null==R?void 0:R["failed-delete-chat"])||"Failed to delete chat.")}})),isDarkGlass:"dark"===_.portalTheme}),t.jsx(x.StudioTip,Object.assign({content:R["chat-history"]||"Chat History",align:"bottom",containerClassName:"inline-flex shrink-0"},{children:t.jsx(k.HistoryPill,{icon:t.jsx(y.default,{}),onClick:()=>{N(""),T(I)}})}))]})),t.jsx(d.default,{additionalScrollHeight:X,isForceHideInfo:G<=545||H<=350||Z,isInputFocused:Z,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){ce&&se.current&&se.current.onSubmit(t)})),smitheryAuthData:ne,resubmitPrompt:()=>{re(null),le((e=>e+1))}}),t.jsx(j.default,{isVisible:me&&!he,bottom:X+65,onClick:ye}),ce&&t.jsx(f.default,{ref:se,onFocus:()=>$(!0),onBlur:()=>$(!1),onInputHeightChange:Y,initSmitheryAuthData:e=>re(e),resubmitPrompt:ae})]})]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("../../../../common/formQuestionValidation.js"),n=require("../../../../hooks/pickaxe/useEndUserModel.js"),i=require("../../common/EndUserModelPicker.js"),o=require("../../../../common/actionApproval.js"),r=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),l=require("../../Addons/Auth/hooks/useAuthContext.js"),d=require("../../../../hooks/pickaxe/useResponseContext.js"),u=require("../../Addons/Document/hooks/useDocument.js"),c=require("../../Addons/Scroll/hooks/useScroll.js"),p=require("../../Addons/Artifact/hooks/useArtifactContext.js"),m=require("../../../../common/utils.js"),f=require("eventsource-parser"),g=require("../../common/PickaxeBranding.js"),v=require("../../common/PickaxeButton.js"),h=require("../../../../common/error.js"),x=require("../../../../common/validation.js");exports.default=({navigation:b,paged:j=!1,questions:y,resetQuestions:O,onInvalidQuestion:w})=>{var S;const{origin:k,pickaxeId:I,sender:A,senderType:C,portalId:P,deploymentId:E,pickaxe:q,misc:_,translations:N,isRtl:T,setSessionId:U,setIsNewChat:D,setValidationStatus:L,setValidationUpgradeGroups:R,setValidationUpgradeUrl:V,setAccessGroup:B,onGenerateComplete:J}=a.usePickaxeContext(),{value:K}=n.useEndUserModel(),{token:W}=l.useAuthContext(),{isGenerating:X,setResponse:M,setMessages:G,setStatus:F,setLimitData:Q,setError:$,setActionApprovalToken:z,setIsSwitchedToChat:Y}=d.useResponseContext(),{documents:H,websiteLink:Z,isUploading:ee,onWebsiteUpload:te,setDocuments:se,setDocumentError:ne}=u.useDocument(),{scrollStartSession:ie,scrollEndSession:oe,scrollToTarget:re}=c.useScroll({auto:!(null==q?void 0:q.enablechatresponses)}),{artifacts:ae,currentPopupType:le,setArtifacts:de,setCurrentArtifact:ue}=p.useArtifactContext(),[ce,pe]=r.useState(!1),[me,fe]=r.useState(!1),ge=r.useRef(null),ve=e=>{const t=x.getValidationFailure(e);return!!t&&($(""),Q(null),L(t.status),B(t.accessGroup),R(t.upgradeGroups),V(t.upgradeUrl),!0)},he=r.useMemo((()=>y.some((e=>("Short Answer"===e.type||"Long Answer"===e.type||"long"===e.type||"short"===e.type||"Checkbox"===e.type||"Knowledge Upload"===e.type||e.id.includes("documentupload"))&&e.input.length>0))),[y])&&t.jsx(v.default,Object.assign({variant:"transparent-text",className:"min-h-[42px] px-5",isDisabled:ee||X||ce,onClick:O},{children:(null==N?void 0:N["form.clear-form"])||(null==N?void 0:N["clear-form"])||"Clear form"}));return t.jsxs("div",Object.assign({className:j?"flex flex-col gap-4":"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:T?"rtl":"ltr"},{children:[j&&t.jsx(i.default,{}),t.jsxs("div",Object.assign({className:j?"flex flex-wrap items-center justify-end gap-2":"flex items-center flex-grow flex-wrap gap-2"},{children:[!j&&t.jsx(i.default,{}),j&&b&&t.jsx("div",Object.assign({className:"me-auto shrink-0"},{children:b})),j&&he,t.jsx(v.default,Object.assign({className:"px-5 min-h-[42px]",isDisabled:ee||X||ce,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,t,n,i,r;try{if(X||ee||ce)return;$(""),ne(""),Q(null),M(null);for(const t of y){const n=s.getFormQuestionError(t);if(n)throw null==w||w(t.id),new Error(null!==(e=null==N?void 0:N[n])&&void 0!==e?e:"response-too-long"===n?"One or more of your responses is too long!":"You must fill out all required fields.")}const a=H.filter((e=>"finished"===e.status)),l=H.map((e=>e.name)),d=null!==(n=null===(t=null==q?void 0:q.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==n&&n,u=y.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),c=m.extractUrlsFromText(Z).filter((e=>!l.includes(e)));if(c.length){const e=c[c.length-1];pe(!0);const t=yield te(e);t&&(a.push(t),yield new Promise((e=>setTimeout(e,5e3)))),pe(!1)}else if(u&&d&&!a.length)return null==w||w("userinput:documentupload"),void ne((null==N?void 0:N["document-upload-required"])||"Please paste a valid website/video link or drag a file to add to the knowledge base.");const p=a.map((e=>e.documentId||"")).filter(Boolean),g=d&&p.length>0,v={};y.forEach((e=>{v[e.id]="Knowledge Upload"===e.type||e.id.includes("documentupload")?a.map((e=>e.name)).join(",")||"":e.input})),fe(!1),F("fetching"),ie(),re();const h=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,{method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:K||void 0,origin:k,pickaxeId:I,senderType:C,valueObj:v},g&&{documentIds:p}),A&&{sender:A}),W&&{studioSessionToken:W}),!W&&!A&&{sender:m.initializeEmbedUserId()}),P&&{portalId:P}),E&&{deploymentId:E}))}),x=yield h.json();if(!x.success){const e=new Error(x.error||x.message||(null==N?void 0:N["failed-to-start-generation"])||"Failed to start generation");if(x.limitData)throw e.limitData=x.limitData,e;if(ve(x))return;throw e}if(!x.submissionId||!x.sessionId)throw new Error((null==N?void 0:N["failed-to-start-generation"])||"Failed to start generation");z(null!==(i=x.actionApprovalToken)&&void 0!==i?i:null);const b=x.submissionId,j=x.sessionId,O={sessionId:j,documentIds:g?p:[],question:{inputs:y.map((e=>({id:e.id,question:e.main,answer:e.input}))),responseParts:[]},messageCount:0,sentAt:new Date};M(O),(null==q?void 0:q.enablechatresponses)&&(U(j),D(!1),Y(!0),G([{id:0,role:"assistant",parts:[],documentIds:[],responseReference:"form-result"}])),g&&se([]),F("streaming"),ge.current=new AbortController;const S=[];let _=[...null!=ae?ae:[]],T=0,L=!1,R="";for(;!L;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${b}?index=${T}`,{signal:null===(r=ge.current)||void 0===r?void 0:r.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader(),s=new TextDecoder,n=f.createParser({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&T++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Q(t.limitData),$(""),void(L=!0);const s=t.error||t.message||(null==N?void 0:N["something-went-wrong"])||"Something went wrong.";return ve(t)||$(s),void(L=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("finish"===n.type)return void fe(!0);if("text-start"===n.type)R="",S.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)R+=n.delta,o.updateStreamTextPart(S,"text",R);else if("text-end"===n.type)R="";else if("reasoning-start"===n.type)R="",S.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)R+=n.delta,o.updateStreamTextPart(S,"reasoning",R);else if("reasoning-end"===n.type)R="";else if(n.type.startsWith("data-")){const e=n;"data-action-approval"===e.type?o.upsertActionApprovalPart(S,e.data):S.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}const i=Object.assign(Object.assign({},O),{question:Object.assign(Object.assign({},O.question),{responseParts:[...S]})});M(i),(null==q?void 0:q.enablechatresponses)&&G([{id:0,responseReference:"form-result",role:"assistant",parts:[...S],documentIds:[]}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),de([..._]),le.startsWith("inline")||ue({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),de([..._]),le.startsWith("inline")||ue({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);_=_.filter((e=>!(e.id===t.id&&e.version===t.version))),_.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),de([..._]),le.startsWith("inline")||ue({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");_=_.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),de([..._])}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);de(_.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}}else L=!0}});for(;;){const{value:e,done:i}=yield t.read();if(i)break;n.feed(s.decode(e))}L||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if(e instanceof Error&&"AbortError"===e.name)return void(L=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==J||J(j)}catch(e){if((e=>e instanceof Error&&Boolean(e.limitData))(e))return Q(e.limitData),$(""),void re();let t=h.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==N?void 0:N["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),ve(t)||$(t),re()}finally{F("idle"),pe(!1),oe()}}))},{children:ce?(null==N?void 0:N.processing)||"Processing...":ee?(null==N?void 0:N.uploading)||"Uploading...":X&&!me?(null==N?void 0:N.loading)||"Loading...":null!==(S=null==q?void 0:q.submittext)&&void 0!==S?S:"Submit"})),!j&&he]})),!_.isWhiteLabel&&t.jsx(g.default,{containerClassName:"justify-end"})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("../../../../common/formQuestionValidation.js"),n=require("../../../../hooks/pickaxe/useEndUserModel.js"),i=require("../../common/EndUserModelPicker.js"),o=require("../../../../common/actionApproval.js"),r=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),l=require("../../Addons/Auth/hooks/useAuthContext.js"),d=require("../../../../hooks/pickaxe/useResponseContext.js"),u=require("../../Addons/Document/hooks/useDocument.js"),c=require("../../Addons/Scroll/hooks/useScroll.js"),p=require("../../Addons/Artifact/hooks/useArtifactContext.js"),m=require("../../../../common/utils.js"),f=require("eventsource-parser"),g=require("../../common/PickaxeBranding.js"),v=require("../../common/PickaxeButton.js"),h=require("../../../../common/error.js"),b=require("../../../../common/validation.js");exports.default=({navigation:x,paged:j=!1,questions:y,resetQuestions:O,onInvalidQuestion:w})=>{var S;const{origin:_,pickaxeId:k,sender:I,senderType:C,portalId:A,deploymentId:P,pickaxe:q,misc:E,translations:N,isRtl:T,setSessionId:U,setIsNewChat:D,setValidationStatus:L,setValidationUpgradeGroups:R,setValidationUpgradeUrl:V,setAccessGroup:B,onGenerateComplete:J}=a.usePickaxeContext(),{value:K}=n.useEndUserModel(),{token:W}=l.useAuthContext(),{isGenerating:X,setResponse:M,setMessages:G,setStatus:F,setLimitData:Q,setError:$,setActionApprovalToken:z,setIsSwitchedToChat:Y}=d.useResponseContext(),{documents:H,websiteLink:Z,isUploading:ee,onWebsiteUpload:te,setDocuments:se,setDocumentError:ne}=u.useDocument(),{scrollStartSession:ie,scrollEndSession:oe,scrollToTarget:re}=c.useScroll({auto:!(null==q?void 0:q.enablechatresponses)}),{artifacts:ae,currentPopupType:le,setArtifacts:de,setCurrentArtifact:ue}=p.useArtifactContext(),[ce,pe]=r.useState(!1),[me,fe]=r.useState(!1),ge=r.useRef(null),ve=e=>{const t=b.getValidationFailure(e);return!!t&&($(""),Q(null),L(t.status),B(t.accessGroup),R(t.upgradeGroups),V(t.upgradeUrl),!0)},he=r.useMemo((()=>y.some((e=>("Short Answer"===e.type||"Long Answer"===e.type||"long"===e.type||"short"===e.type||"Checkbox"===e.type||"Knowledge Upload"===e.type||e.id.includes("documentupload"))&&e.input.length>0))),[y])&&t.jsx(v.default,Object.assign({variant:"transparent-text",className:"min-h-[42px] px-5",isDisabled:ee||X||ce,onClick:O},{children:(null==N?void 0:N["form.clear-form"])||(null==N?void 0:N["clear-form"])||"Clear form"}));return t.jsxs("div",Object.assign({className:j?"flex flex-col gap-4":"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:T?"rtl":"ltr"},{children:[j&&t.jsx(i.default,{}),t.jsxs("div",Object.assign({className:j?"flex flex-wrap items-center justify-end gap-2":"flex items-center flex-grow flex-wrap gap-2"},{children:[!j&&t.jsx(i.default,{}),j&&x&&t.jsx("div",Object.assign({className:"me-auto shrink-0"},{children:x})),j&&he,t.jsx(v.default,Object.assign({className:"px-5 min-h-[42px]",isDisabled:ee||X||ce,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,t,n,i,r;try{if(X||ee||ce)return;$(""),ne(""),Q(null),M(null);for(const t of y){const n=s.getFormQuestionError(t);if(n)throw null==w||w(t.id),new Error(null!==(e=null==N?void 0:N[n])&&void 0!==e?e:"response-too-long"===n?"One or more of your responses is too long!":"You must fill out all required fields.")}const a=H.filter((e=>"finished"===e.status)),l=H.map((e=>e.name)),d=null!==(n=null===(t=null==q?void 0:q.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==n&&n,u=y.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),c=m.extractUrlsFromText(Z).filter((e=>!l.includes(e)));if(c.length){const e=c[c.length-1];pe(!0);const t=yield te(e);t&&(a.push(t),yield new Promise((e=>setTimeout(e,5e3)))),pe(!1)}else if(u&&d&&!a.length)return null==w||w("userinput:documentupload"),void ne((null==N?void 0:N["document-upload-required"])||"Please paste a valid website/video link or drag a file to add to the knowledge base.");const p=a.map((e=>e.documentId||"")).filter(Boolean),g=d&&p.length>0,v={};y.forEach((e=>{v[e.id]="Knowledge Upload"===e.type||e.id.includes("documentupload")?a.map((e=>e.name)).join(",")||"":e.input})),fe(!1),F("fetching"),ie(),re();const h=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,{method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:K||void 0,origin:_,pickaxeId:k,senderType:C,valueObj:v},g&&{documentIds:p}),I&&{sender:I}),W&&{studioSessionToken:W}),!W&&!I&&{sender:m.initializeEmbedUserId()}),A&&{portalId:A}),P&&{deploymentId:P}))}),b=yield h.json();if(!b.success){const e=new Error(b.error||b.message||(null==N?void 0:N["failed-to-start-generation"])||"Failed to start generation");if(b.limitData)throw e.limitData=b.limitData,e;if(ve(b))return;throw e}if(!b.submissionId||!b.sessionId)throw new Error((null==N?void 0:N["failed-to-start-generation"])||"Failed to start generation");z(null!==(i=b.actionApprovalToken)&&void 0!==i?i:null);const x=b.submissionId,j=b.sessionId,O={sessionId:j,documentIds:g?p:[],question:{inputs:y.map((e=>({id:e.id,question:e.main,answer:e.input}))),responseParts:[]},messageCount:0,sentAt:new Date};M(O),(null==q?void 0:q.enablechatresponses)&&(U(j),D(!1),Y(!0),G([{id:0,role:"assistant",parts:[],documentIds:[],responseReference:"form-result"}])),g&&se([]),F("streaming"),ge.current=new AbortController;const S=[];let E=[...null!=ae?ae:[]],T=0,L=!1,R="";for(;!L;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${x}?index=${T}`,{signal:null===(r=ge.current)||void 0===r?void 0:r.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader(),s=new TextDecoder,n=f.createParser({onEvent:e=>{var t,s,n;if(e.event&&"ping"!==e.event&&T++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return Q(t.limitData),$(""),void(L=!0);const s=t.error||t.message||(null==N?void 0:N["something-went-wrong"])||"Something went wrong.";return ve(t)||$(s),void(L=!0)}if("delta"===e.event){const i=JSON.parse(e.data);if("data-error"===i.type){const e=null===(t=i.data)||void 0===t?void 0:t.error;if("object"==typeof e&&null!==e){const t=e;if("mcp_auth_expired"===t.type||"mcp_owner_connection_required"===t.type||"mcp_connection_check_failed"===t.type)return $("string"==typeof t.message?t.message:(null==N?void 0:N["something-went-wrong"])||"Something went wrong."),void(L=!0);if("unauthorized_composio"===t.type||"unauthorized_smithery"===t.type)return $((null==N?void 0:N["mcp-connect-in-chat-before-form"])||"Connect this integration in chat before submitting this form."),void(L=!0)}}if("finish"===i.type)return void fe(!0);if("text-start"===i.type)R="",S.push({type:"text",content:"",isVisible:null===(s=i.isVisible)||void 0===s||s});else if("text-delta"===i.type)R+=i.delta,o.updateStreamTextPart(S,"text",R);else if("text-end"===i.type)R="";else if("reasoning-start"===i.type)R="",S.push({type:"reasoning",content:"",isVisible:null===(n=i.isVisible)||void 0===n||n});else if("reasoning-delta"===i.type)R+=i.delta,o.updateStreamTextPart(S,"reasoning",R);else if("reasoning-end"===i.type)R="";else if(i.type.startsWith("data-")){const e=i;"data-action-approval"===e.type?o.upsertActionApprovalPart(S,e.data):S.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}const r=Object.assign(Object.assign({},O),{question:Object.assign(Object.assign({},O.question),{responseParts:[...S]})});M(r),(null==q?void 0:q.enablechatresponses)&&G([{id:0,responseReference:"form-result",role:"assistant",parts:[...S],documentIds:[]}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);E=E.filter((e=>!(e.id===t.id&&e.version===t.version))),E.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),de([...E]),le.startsWith("inline")||ue({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);E=E.filter((e=>!(e.id===t.id&&e.version===t.version))),E.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),de([...E]),le.startsWith("inline")||ue({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);E=E.filter((e=>!(e.id===t.id&&e.version===t.version))),E.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),de([...E]),le.startsWith("inline")||ue({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");E=E.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),de([...E])}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);de(E.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}}else L=!0}});for(;;){const{value:e,done:i}=yield t.read();if(i)break;n.feed(s.decode(e))}L||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if(e instanceof Error&&"AbortError"===e.name)return void(L=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==J||J(j)}catch(e){if((e=>e instanceof Error&&Boolean(e.limitData))(e))return Q(e.limitData),$(""),void re();let t=h.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==N?void 0:N["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),ve(t)||$(t),re()}finally{F("idle"),pe(!1),oe()}}))},{children:ce?(null==N?void 0:N.processing)||"Processing...":ee?(null==N?void 0:N.uploading)||"Uploading...":X&&!me?(null==N?void 0:N.loading)||"Loading...":null!==(S=null==q?void 0:q.submittext)&&void 0!==S?S:"Submit"})),!j&&he]})),!E.isWhiteLabel&&t.jsx(g.default,{containerClassName:"justify-end"})]}))};
@@ -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"),o=require("./Addons/Artifact/Provider.js"),n=require("./DimensionProvider.js"),a=require("./ResponseProvider.js"),s=require("./Addons/Document/Provider.js"),r=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 o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,o.get?o:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}const d={isOpen:!1,guestToken:null,isPreparing:!1,prepareError:!1},c=i.createContext({});exports.PickaxeContext=c,exports.PickaxeProvider=({children:u,renderResponseAction:p,renderEmbedHeaderAction:f,origin:g,sender:m,senderType:h,deploymentId:y,portalId:b,deploymentType:v,deploymentDimensions:w,deploymentMisc:S,styles:k,colors:P,limits:C={},misc:I={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0,isResponseDownload:!1},translations:x,artifact:A={popupType:"auto"},responsiveBy:F="viewport",locale:q="en",opacity:O=1,forceMobile:j=!1,disableHtml:D=!1,disableJs:T=!1,disableCss:E=!1,loadFont:R=!0,isRtl:U=!1,isEmbed:M=!1,mcpEnabled:L=!1,mcpInitiallyOpen:G=!1,mcpGuestId:H,studioSessionToken:W,isDropShadow:_=!1,allowGuestUsage:B=!0,persistActiveConversation:N=!1,preventInitialSessionId:V=!1,onUpgrade:Y,onGenerateComplete:X,onSessionIdChange:z})=>{const[J,Q]=i.useState(""),[K,Z]=i.useState(""),[$,ee]=i.useState(""),[te,ie]=i.useState(""),[oe,ne]=i.useState(m),[ae,se]=i.useState(null),[re,le]=i.useState(h),[de,ce]=i.useState("loading"),[ue,pe]=i.useState([]),[fe,ge]=i.useState(null),[me,he]=i.useState(null),[ye,be]=i.useState(null),[ve,we]=i.useState(null),[Se,ke]=i.useState("");i.useEffect((()=>ke("")),[K]);const[Pe,Ce]=i.useState(!1),[Ie,xe]=i.useState(!0),[Ae,Fe]=i.useState(!0),[qe,Oe]=i.useState(!1),[je,De]=i.useState({}),Te=i.useRef(new Set).current,Ee=i.useRef(new Set).current,Re=y||"",Ue=i.useCallback((e=>{De((t=>Object.assign(Object.assign({},t),{[Re]:"function"==typeof e?e(t[Re]||d):e})))}),[Re]);return i.useEffect((()=>{Ce(!1)}),[null==k?void 0:k.font]),i.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&R&&!Pe&&(null==k?void 0:k.font)&&"Real Head Pro"!==k.font)try{(yield Promise.resolve().then((function(){return l(require("webfontloader"))}))).default.load({google:{families:[k.font]},active:()=>{Ce(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),Ce(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),Ce(!0)}}))}),[R,Pe,null==k?void 0:k.font]),i.useEffect((()=>{ne(m)}),[m]),t.jsx(c.Provider,Object.assign({value:Object.assign(Object.assign({origin:g,contextId:J,pickaxeId:K,sessionId:$,lastSessionId:te,sender:oe,senderType:re,portalId:b,deploymentId:y,deploymentType:v,validationStatus:de,validationUpgradeGroups:ue,validationUpgradeUrl:fe,deploymentDimensions:w,deploymentMisc:S,accessGroup:ae,pickaxe:ve,selectedModel:Se,setSelectedModel:ke,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},k),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},P),misc:I,translations:Object.assign({"form-next":"Next","form-progress":"Form progress","form-page-progress":"Question {current} of {total}","action-confirmation-needed":"Confirmation needed","action-confirmation-unavailable":"Confirmation unavailable","action-approved":"Approved","action-declined":"Declined","action-expired":"Expired","action-not-run":"Not run","action-label":"Action: {name}","action-confirmation-description":"Review this action before it runs. Your decision applies only to this call.","action-inputs":"Action inputs","decline-action":"Decline","approve-action":"Approve action","action-confirmation-resolved":"This confirmation has expired or already been resolved.","action-decision-failed":"Could not save your decision. Please try again.","ai-model":"AI model","default-ai-model":"Default ({model})","attach-files":"Attach files","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.","something-wrong-occured":"Something wrong occurred",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...","enter-verification-code":"Or enter the 6-digit code from the email","verification-code-session-missing":"Your login request could not be found. Please resend the email.","verification-code-invalid":"Invalid verification code.",verifying:"Verifying...",verify:"Verify","chat-history":"Chat History","exit-chat-history":"Exit Chat History","no-history":"No history yet.","mcp-use-with-ai-app":"Use with an AI app","mcp-use-agent-in-ai-app":"Use this agent in your AI app","mcp-connect-description":"Connect through MCP. Requests will be sent as your signed-in Studio user.","mcp-ai-app":"AI app","mcp-copy-configuration":"Copy MCP configuration","mcp-private-configuration-note":"Keep this configuration private. It contains your Studio session token and stops working when that session expires.","log-out":"Log Out","clear-form":"Clear form","form.clear-form":"Clear form",expand:"Expand","expand-artifact":"Expand artifact",collapse:"Collapse","collapse-artifact":"Collapse artifact",close:"Close","close-artifact":"Close artifact",download:"Download","copy-artifact-content":"Copy artifact content","download-artifact-content":"Download artifact content","delete-confirm":"Are you sure you want to delete this conversation?",other:"Other","select-options":"Select option(s)","select-an-option":"Select an option","type-your-answer":"Type your answer...",cancel:"Cancel","rename-chat":"Rename chat","delete-chat":"Delete chat","conversation-name":"Conversation name","not-available":"n/a","open-chat":"Open Chat",copied:"Copied!","copy-assistant-message":"Copy assistant message","failed-delete-conversation":"Failed to delete conversation.","failed-update-name":"Failed to update name.","failed-rename-chat":"Failed to rename chat.","failed-delete-chat":"Failed to delete chat.","drop-files-to-upload":"Drop files to upload","add-anything-to-the-conversation":"Add anything to the conversation","something-went-wrong-please-try-again":"Something went wrong. Please try again, or","contact-us":"contact us","for-help":"for help.",back:"Back","upgrade-required":"Upgrade Required","please-upgrade-to-continue-using-this-tool":"Please upgrade to continue using this tool.","access-locked":"Access Locked","this-tool-is-locked-contact-owner":"This tool is locked to use. Contact owner for more information.","access-denied":"Access Denied","login-is-required":"Login is required.","no-access-request-access":"It looks like you don't have access to these resources. Please request access to continue.","request-access":"Request Access",or:"or","sign-in-with-different-account":"Sign in with a different account","access-requested-successfully":"Successfully requested access!","open-tool":"Open Tool","fab-icon":"FAB Icon","iframe-artifact-fallback":"Iframe is not supported, please view this artifact in a browser that supports it.","html-preview":"HTML preview","image-link-is-broken":"[Image link is broken]","download-video":"Download Video","available-plans":"Available Plans",buy:"Buy",credits:"Credits",uses:"Uses",credits_upper:"CREDITS",uses_upper:"USES",free:"Free","pricing.free":"Free",unlimited:"Unlimited","pricing.unlimited":"Unlimited","authentication-required":"Authentication Required","smithery-auth-description-prefix":"The tool you are trying to use requires authentication with",dismiss:"Dismiss",connect:"Connect",connecting:"Connecting...","auth-failed":"Auth failed","failed-to-finalize-authentication":"Failed to finalize authentication.","must-be-logged-in-to-connect-smithery":"You must be logged in to connect Smithery MCPs.","feedback-dislike-input-placeholder":"Write here...","feedback-submit":"Submit","feedback-thanks":"Thanks for the feedback!","feedback-like-title":"What went right?","feedback-dislike-title":"What went wrong?","feedback-dislike-message":"Help us improve our answers","what-do-you-want-to-talk-about":"What do you want to talk about?","failed-to-start-generation":"Failed to start generation","response-too-long":"One or more of your responses is too long!","required-fields-missing":"You must fill out all required fields.","something-went-wrong":"Something went wrong.","something-went-wrong-try-again":"Something went wrong, please try again.","high-traffic-try-again-later":"Oops! We're experiencing high traffic at the moment. Please try again later.","queue-message":"Queue message","stop-response":"Stop response",steer:"Steer","steer-with":"Steer with",steering:"Steering...",starting:"Starting...","remove-queued-message":"Remove queued message","edit-message":"Edit message","more-options":"More options","failed-to-interrupt-current-response":"Failed to interrupt the current response.","current-response-still-stopping":"The current response is still stopping. Please send your message again in a moment.","queued-message-waiting":"A queued message is waiting for the previous response to finish.",listening:"Listening...",remaining:"remaining",upgrade:"Upgrade","pricing.upgrade":"Upgrade","email-address-cannot-be-empty":"Email address cannot be empty.","please-enter-valid-email-address":"Please enter a valid email address.","failed-to-send-sign-in-link":"Failed to send sign-in link.",tool:"Tool","document-processing-failed":"Document processing failed","invalid-upload-file-types":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, HTML, XML, PNG, JPEG, WEBP, GIF, or M4A files. Please try again.","invalid-website-or-youtube-link":"Please paste a valid website URL or Youtube video link to add to the knowledge base.","website-processing-failed":"Website processing failed, please try again.","invalid-website-url":"Please paste a valid website URL","document-upload-required":"Please paste a valid website/video link or drag a file to add to the knowledge base.",thinking:"Thinking...",thought:"Thought","thought-for":"Thought for",seconds:"seconds","untitled-artifact":"Untitled Artifact",created:"Created",updated:"Updated",rewrote:"Rewrote",artifact:"Artifact","iframe-not-supported-use-different-browser":"Iframe not supported, use a different browser."},x),artifact:A,renderResponseAction:p,renderEmbedHeaderAction:f,responsiveBy:F,locale:q,opacity:O,forceMobile:j,loadFont:R,disableHtml:D,disableJs:T,disableCss:E,isFontLoaded:Pe,isNewChat:Ie,isShowIceBreaker:Ae,isShowFeedbackMessage:qe,isRtl:U,isEmbed:M,mcpEnabled:L,mcpInitiallyOpen:G,mcpGuestId:H,mcpDialog:je[Re]||d,setMCPDialog:Ue,mcpInitiallyOpenedDeployments:Te,mcpPreparingDeployments:Ee,isDropShadow:_,allowGuestUsage:B,persistActiveConversation:N,clientSecret:ye,stripeAccountId:me,preventInitialSessionId:V,setClientSecret:be,setStripeAccountId:he,setContextId:Q,setValidationStatus:ce,setValidationUpgradeGroups:pe,setValidationUpgradeUrl:ge,setPickaxeId:Z,setSessionId:e=>{ee((t=>{const i="function"==typeof e?e(t):e;return null==z||z(i),i}))},setLastSessionId:ie,setSender:ne,setSenderType:le,setAccessGroup:se,setPickaxe:we,setIsFontLoaded:Ce,setIsNewChat:xe,setIsShowIceBreaker:Fe,setIsShowFeedbackMessage:Oe},Y&&{onUpgrade:Y}),X&&{onGenerateComplete:X})},{children:t.jsx(r.default,Object.assign({initialToken:W},{children:t.jsx(n.default,{children:t.jsx(a.default,Object.assign({limits:C},{children:t.jsx(s.default,{children:t.jsx(o.ArtifactProvider,Object.assign({},A,{children:u}))})}))})}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),i=require("react"),o=require("./Addons/Artifact/Provider.js"),n=require("./DimensionProvider.js"),a=require("./ResponseProvider.js"),s=require("./Addons/Document/Provider.js"),r=require("./Addons/Auth/Provider.js"),l=require("../../common/mcpTranslations.js");function d(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,o.get?o:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}const c={isOpen:!1,guestToken:null,isPreparing:!1,prepareError:!1},u=i.createContext({});exports.PickaxeContext=u,exports.PickaxeProvider=({children:p,renderResponseAction:f,renderEmbedHeaderAction:g,origin:m,sender:h,senderType:y,deploymentId:b,portalId:v,deploymentType:w,deploymentDimensions:S,deploymentMisc:k,styles:P,colors:C,limits:I={},misc:x={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0,isResponseDownload:!1},translations:A,artifact:F={popupType:"auto"},responsiveBy:T="viewport",locale:q="en",opacity:O=1,forceMobile:j=!1,disableHtml:D=!1,disableJs:E=!1,disableCss:R=!1,loadFont:U=!0,isRtl:M=!1,isEmbed:L=!1,mcpEnabled:G=!1,mcpInitiallyOpen:H=!1,mcpGuestId:_,studioSessionToken:N,isDropShadow:W=!1,allowGuestUsage:B=!0,persistActiveConversation:V=!1,preventInitialSessionId:Y=!1,onUpgrade:X,onGenerateComplete:z,onSessionIdChange:J})=>{const[Q,K]=i.useState(""),[Z,$]=i.useState(""),[ee,te]=i.useState(""),[ie,oe]=i.useState(""),[ne,ae]=i.useState(h),[se,re]=i.useState(null),[le,de]=i.useState(y),[ce,ue]=i.useState("loading"),[pe,fe]=i.useState([]),[ge,me]=i.useState(null),[he,ye]=i.useState(null),[be,ve]=i.useState(null),[we,Se]=i.useState(null),[ke,Pe]=i.useState("");i.useEffect((()=>Pe("")),[Z]);const[Ce,Ie]=i.useState(!1),[xe,Ae]=i.useState(!0),[Fe,Te]=i.useState(!0),[qe,Oe]=i.useState(!1),[je,De]=i.useState({}),Ee=i.useRef(new Set).current,Re=i.useRef(new Set).current,Ue=b||"",Me=i.useCallback((e=>{De((t=>Object.assign(Object.assign({},t),{[Ue]:"function"==typeof e?e(t[Ue]||c):e})))}),[Ue]);return i.useEffect((()=>{Ie(!1)}),[null==P?void 0:P.font]),i.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&U&&!Ce&&(null==P?void 0:P.font)&&"Real Head Pro"!==P.font)try{(yield Promise.resolve().then((function(){return d(require("webfontloader"))}))).default.load({google:{families:[P.font]},active:()=>{Ie(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),Ie(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),Ie(!0)}}))}),[U,Ce,null==P?void 0:P.font]),i.useEffect((()=>{ae(h)}),[h]),t.jsx(u.Provider,Object.assign({value:Object.assign(Object.assign({origin:m,contextId:Q,pickaxeId:Z,sessionId:ee,lastSessionId:ie,sender:ne,senderType:le,portalId:v,deploymentId:b,deploymentType:w,validationStatus:ce,validationUpgradeGroups:pe,validationUpgradeUrl:ge,deploymentDimensions:S,deploymentMisc:k,accessGroup:se,pickaxe:we,selectedModel:ke,setSelectedModel:Pe,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},P),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},C),misc:x,translations:Object.assign(Object.assign({"form-next":"Next","form-progress":"Form progress","form-page-progress":"Question {current} of {total}","action-confirmation-needed":"Confirmation needed","action-confirmation-unavailable":"Confirmation unavailable","action-approved":"Approved","action-declined":"Declined","action-expired":"Expired","action-not-run":"Not run","action-label":"Action: {name}","action-confirmation-description":"Review this action before it runs. Your decision applies only to this call.","action-inputs":"Action inputs","decline-action":"Decline","approve-action":"Approve action","action-confirmation-resolved":"This confirmation has expired or already been resolved.","action-decision-failed":"Could not save your decision. Please try again.","ai-model":"AI model","default-ai-model":"Default ({model})","attach-files":"Attach files","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.","something-wrong-occured":"Something wrong occurred",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...","enter-verification-code":"Or enter the 6-digit code from the email","verification-code-session-missing":"Your login request could not be found. Please resend the email.","verification-code-invalid":"Invalid verification code.",verifying:"Verifying...",verify:"Verify","chat-history":"Chat History","exit-chat-history":"Exit Chat History","no-history":"No history yet.","mcp-use-agent-in-ai-app":"Use this agent in your AI app","mcp-connect-description":"Connect through MCP. Requests will be sent as your signed-in Studio user.","mcp-ai-app":"AI app","mcp-private-configuration-note":"Keep this configuration private. It contains your Studio session token and stops working when that session expires.","log-out":"Log Out","clear-form":"Clear form","form.clear-form":"Clear form",expand:"Expand","expand-artifact":"Expand artifact",collapse:"Collapse","collapse-artifact":"Collapse artifact",close:"Close","close-artifact":"Close artifact",download:"Download","copy-artifact-content":"Copy artifact content","download-artifact-content":"Download artifact content","delete-confirm":"Are you sure you want to delete this conversation?",other:"Other","select-options":"Select option(s)","select-an-option":"Select an option","type-your-answer":"Type your answer...",cancel:"Cancel","rename-chat":"Rename chat","delete-chat":"Delete chat","conversation-name":"Conversation name","not-available":"n/a","open-chat":"Open Chat",copied:"Copied!","copy-assistant-message":"Copy assistant message","failed-delete-conversation":"Failed to delete conversation.","failed-update-name":"Failed to update name.","failed-rename-chat":"Failed to rename chat.","failed-delete-chat":"Failed to delete chat.","drop-files-to-upload":"Drop files to upload","add-anything-to-the-conversation":"Add anything to the conversation","something-went-wrong-please-try-again":"Something went wrong. Please try again, or","contact-us":"contact us","for-help":"for help.",back:"Back","upgrade-required":"Upgrade Required","please-upgrade-to-continue-using-this-tool":"Please upgrade to continue using this tool.","access-locked":"Access Locked","this-tool-is-locked-contact-owner":"This tool is locked to use. Contact owner for more information.","access-denied":"Access Denied","login-is-required":"Login is required.","no-access-request-access":"It looks like you don't have access to these resources. Please request access to continue.","request-access":"Request Access",or:"or","sign-in-with-different-account":"Sign in with a different account","access-requested-successfully":"Successfully requested access!","open-tool":"Open Tool","fab-icon":"FAB Icon","iframe-artifact-fallback":"Iframe is not supported, please view this artifact in a browser that supports it.","html-preview":"HTML preview","image-link-is-broken":"[Image link is broken]","download-video":"Download Video","available-plans":"Available Plans",buy:"Buy",credits:"Credits",uses:"Uses",credits_upper:"CREDITS",uses_upper:"USES",free:"Free","pricing.free":"Free",unlimited:"Unlimited","pricing.unlimited":"Unlimited","authentication-required":"Authentication Required","smithery-auth-description-prefix":"The tool you are trying to use requires authentication with",dismiss:"Dismiss",connect:"Connect",connecting:"Connecting...","auth-failed":"Auth failed","failed-to-finalize-authentication":"Failed to finalize authentication.","must-be-logged-in-to-connect-smithery":"You must be logged in to connect Smithery MCPs.","feedback-dislike-input-placeholder":"Write here...","feedback-submit":"Submit","feedback-thanks":"Thanks for the feedback!","feedback-like-title":"What went right?","feedback-dislike-title":"What went wrong?","feedback-dislike-message":"Help us improve our answers","what-do-you-want-to-talk-about":"What do you want to talk about?","failed-to-start-generation":"Failed to start generation","response-too-long":"One or more of your responses is too long!","required-fields-missing":"You must fill out all required fields.","something-went-wrong":"Something went wrong.","something-went-wrong-try-again":"Something went wrong, please try again.","high-traffic-try-again-later":"Oops! We're experiencing high traffic at the moment. Please try again later.","queue-message":"Queue message","stop-response":"Stop response",steer:"Steer","steer-with":"Steer with",steering:"Steering...",starting:"Starting...","remove-queued-message":"Remove queued message","edit-message":"Edit message","more-options":"More options","failed-to-interrupt-current-response":"Failed to interrupt the current response.","current-response-still-stopping":"The current response is still stopping. Please send your message again in a moment.","queued-message-waiting":"A queued message is waiting for the previous response to finish.",listening:"Listening...",remaining:"remaining",upgrade:"Upgrade","pricing.upgrade":"Upgrade","email-address-cannot-be-empty":"Email address cannot be empty.","please-enter-valid-email-address":"Please enter a valid email address.","failed-to-send-sign-in-link":"Failed to send sign-in link.",tool:"Tool","document-processing-failed":"Document processing failed","invalid-upload-file-types":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, HTML, XML, PNG, JPEG, WEBP, GIF, or M4A files. Please try again.","invalid-website-or-youtube-link":"Please paste a valid website URL or Youtube video link to add to the knowledge base.","website-processing-failed":"Website processing failed, please try again.","invalid-website-url":"Please paste a valid website URL","document-upload-required":"Please paste a valid website/video link or drag a file to add to the knowledge base.",thinking:"Thinking...",thought:"Thought","thought-for":"Thought for",seconds:"seconds","untitled-artifact":"Untitled Artifact",created:"Created",updated:"Updated",rewrote:"Rewrote",artifact:"Artifact","iframe-not-supported-use-different-browser":"Iframe not supported, use a different browser."},l.MCP_TRANSLATION_DEFAULTS),A),artifact:F,renderResponseAction:f,renderEmbedHeaderAction:g,responsiveBy:T,locale:q,opacity:O,forceMobile:j,loadFont:U,disableHtml:D,disableJs:E,disableCss:R,isFontLoaded:Ce,isNewChat:xe,isShowIceBreaker:Fe,isShowFeedbackMessage:qe,isRtl:M,isEmbed:L,mcpEnabled:G,mcpInitiallyOpen:H,mcpGuestId:_,mcpDialog:je[Ue]||c,setMCPDialog:Me,mcpInitiallyOpenedDeployments:Ee,mcpPreparingDeployments:Re,isDropShadow:W,allowGuestUsage:B,persistActiveConversation:V,clientSecret:be,stripeAccountId:he,preventInitialSessionId:Y,setClientSecret:ve,setStripeAccountId:ye,setContextId:K,setValidationStatus:ue,setValidationUpgradeGroups:fe,setValidationUpgradeUrl:me,setPickaxeId:$,setSessionId:e=>{te((t=>{const i="function"==typeof e?e(t):e;return null==J||J(i),i}))},setLastSessionId:oe,setSender:ae,setSenderType:de,setAccessGroup:re,setPickaxe:Se,setIsFontLoaded:Ie,setIsNewChat:Ae,setIsShowIceBreaker:Te,setIsShowFeedbackMessage:Oe},X&&{onUpgrade:X}),z&&{onGenerateComplete:z})},{children:t.jsx(r.default,Object.assign({initialToken:N},{children:t.jsx(n.default,{children:t.jsx(a.default,Object.assign({limits:I},{children:t.jsx(s.default,{children:t.jsx(o.ArtifactProvider,Object.assign({},F,{children:p}))})}))})}))}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");exports.default=({client:l,className:r})=>e.jsxs("svg",Object.assign({className:r,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},{children:["claude"===l&&e.jsx("g",Object.assign({stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"},{children:e.jsx("path",{d:"m12 12-1.5-10M12 12l3-9.5M12 12l6.8-7.4M12 12l9.5-3.4M12 12l10 .5M12 12l8.5 5M12 12l5.5 8.5M12 12l1.3 10M12 12l-2.8 9.7M12 12l-6.5 7.6M12 12l-9.6 3.8M12 12l-10-.2M12 12l-8.6-5M12 12 6.6 3.6"})})),"codex"===l&&e.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M8.1 3.2a5.4 5.4 0 0 1 8.9 1.9 4.5 4.5 0 0 1 4.5 5.5 5 5 0 0 1-1.2 8.8 5.4 5.4 0 0 1-7.6 2 5.3 5.3 0 0 1-7.9-2.7 4.7 4.7 0 0 1-2.7-8.4 5.1 5.1 0 0 1 6-7.1Zm-.3 5.1L6.5 9.4l2.6 3-2.6 3 1.3 1.1 3.5-4.1-3.5-4.1Zm5.1 6.1v1.8h4.3v-1.8h-4.3Z"}),"cursor"===l&&e.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"m12 1.5 10 5.7v11.6l-10 5.7-10-5.7V7.2l10-5.7Zm0 1.8L3.7 8 12 12.8 20.3 8 12 3.3Zm.8 10.9v8l7.6-4.4V9.6l-7.6 4.6Z",transform:"translate(0 -.5)"}),"vscode"===l&&e.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"m16.6 1.5 5.7 2.4v16.2l-5.7 2.4-9-8.2-4.2 3.2-2.2-1.1V7.6l2.2-1.1 4.2 3.2 9-8.2Zm-.2 4.9-5.8 5.6 5.8 5.6V6.4ZM3.5 9.2v5.6L6.4 12 3.5 9.2Z"})]}));
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),a=require("react"),t=require("copy-to-clipboard"),r=require("framer-motion"),i=require("../../Icons/terminal.svg.js"),o=require("../../Icons/copy.svg.js"),n=require("../../Icons/check.svg.js"),c=require("../../Icons/chevron-down.svg.js"),l=require("../../../common/api/utils.js"),d=require("../../../common/api/api.js"),u=require("../../../common/utils.js"),p=require("../../Core/Modal/index.js"),m=require("../../Core/Modal/Body.js"),h=require("../../Core/Modal/CloseButton.js"),g=require("../../../hooks/pickaxe/usePickaxeContext.js"),b=require("../../../hooks/studio/useStyleFontSize.js"),j=require("../Addons/Auth/hooks/useAuthContext.js"),x=require("./PickaxeSimpleButton.js");function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=y(t);const v={codex:"Codex",claude:"Claude Code",cursor:"Cursor",vscode:"VS Code",other:"Other"};exports.default=()=>{const{colors:t,styles:y,deploymentId:C,deploymentType:O,mcpEnabled:k,mcpInitiallyOpen:w,mcpGuestId:N,mcpDialog:I,setMCPDialog:q,mcpInitiallyOpenedDeployments:P,mcpPreparingDeployments:$,pickaxeId:A,sender:R,translations:M}=g.usePickaxeContext(),{token:S,isAuthBootstrapComplete:_}=j.useAuthContext(),z=b.useStyleFontSize(),{isOpen:E,guestToken:T,isPreparing:U,prepareError:B}=I,[L,D]=a.useState(!1),[F,G]=a.useState(!1),[J,W]=a.useState("codex"),H=(e,s)=>{var a;return null!==(a=null==M?void 0:M[e])&&void 0!==a?a:s},K=a.useMemo((()=>{if(!C)return"";const e=process.env.NEXT_PUBLIC_API_MCP_URL||"https://mcp.pickaxe.co",s=new URL(e),a=s.pathname.replace(/\/+$/,"");return s.pathname=a.endsWith("/deployment")?a:`${a}/deployment`,s.searchParams.set("id",C),s.toString()}),[C]),V=S||T,X=a.useMemo((()=>{if(!V)return"";const e=`Bearer ${V}`;return"codex"===J?`[mcp_servers.pickaxe]\nurl = "${K}"\nhttp_headers = { Authorization = "${e}" }`:"claude"===J?`claude mcp add --transport http --scope user pickaxe "${K}" --header "Authorization: ${e}"`:"vscode"===J?JSON.stringify({servers:{pickaxe:{type:"http",url:K,headers:{Authorization:e}}}},null,2):"cursor"===J?JSON.stringify({mcpServers:{pickaxe:{url:K,headers:{Authorization:e}}}},null,2):`URL: ${K}\nAuthorization: ${e}`}),[J,K,V]),Q=a.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(k&&C&&(q((e=>Object.assign(Object.assign({},e),{isOpen:!0}))),!V&&!$.has(C))){$.add(C),q((e=>Object.assign(Object.assign({},e),{isPreparing:!0,prepareError:!1})));try{const e=N||R||u.initializeEmbedUserId(),s=yield l.default.post("/pickaxe/mcp-session",{deploymentId:C,guestId:e});if(!s.data.success||!s.data.token)throw new Error("Guest MCP session was not created");q((e=>Object.assign(Object.assign({},e),{guestToken:s.data.token})))}catch(e){console.error("[pxe] failed to prepare MCP configuration",e),q((e=>Object.assign(Object.assign({},e),{prepareError:!0})))}finally{$.delete(C),q((e=>Object.assign(Object.assign({},e),{isPreparing:!1})))}}}))),[C,k,N,$,R,V,q]);if(a.useEffect((()=>{w&&k&&C&&_&&!P.has(C)&&(P.add(C),Q())}),[C,_,k,w,P,Q]),!k||!C)return null;return s.jsxs(s.Fragment,{children:[s.jsxs("div",Object.assign({className:"relative"},{children:[s.jsxs(x.default,Object.assign({className:"h-8 w-8 shrink-0 justify-center rounded-full",color:t.accent,onClick:()=>{P.add(C),d.api2.post("/track",{event:"useWithAIAppClick",guestId:N||R||u.initializeEmbedUserId(),metadata:{pickaxeId:A,deploymentId:C,deploymentType:O||"unknown",surface:"react"}}).catch((()=>{})),Q()},onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1)},{children:[s.jsx(i.default,{className:"h-5 w-5"}),s.jsx("span",Object.assign({className:"sr-only"},{children:H("mcp-use-with-ai-app","Use with an AI app")}))]})),s.jsx(r.AnimatePresence,{children:L?s.jsx(r.motion.div,Object.assign({className:"absolute right-0 top-10 z-20 w-max rounded px-3 py-2 text-xs font-medium",style:{background:t.accent,color:t.accentText},initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8}},{children:H("mcp-use-with-ai-app","Use with an AI app")})):null})]})),s.jsx(p.default,Object.assign({isOpen:E,onChange:e=>q((s=>Object.assign(Object.assign({},s),{isOpen:e})))},{children:s.jsx(m.default,Object.assign({portalClassName:"dark"===y.theme?"dark":void 0,wrapperClassName:"mx-4 w-[min(92vw,560px)]",className:"w-full overflow-hidden p-0",style:Object.assign({backgroundColor:t.secondary,borderColor:`${t.accent}40`,borderRadius:y.cornerRadius,color:t.secondaryText},"Real Head Pro"!==y.font&&{fontFamily:y.font})},{children:s.jsxs("div",Object.assign({className:"flex flex-col gap-5 p-6"},{children:[s.jsxs("div",Object.assign({className:"flex items-start justify-between gap-4"},{children:[s.jsxs("div",{children:[s.jsx("h2",Object.assign({className:`${z.h4} font-semibold`},{children:H("mcp-use-agent-in-ai-app","Use this agent in your AI app")})),s.jsx("p",Object.assign({className:`${z.b3} mt-1 opacity-70`},{children:H(S?"mcp-connect-description":"mcp-connect-description-guest",S?"Connect through MCP. Requests will be sent as your signed-in Studio user.":"Connect through MCP. Requests will be sent as this visitor.")}))]}),s.jsx(h.default,{className:"shrink-0"})]})),s.jsxs("label",Object.assign({className:`${z.l2} flex flex-col gap-2 font-medium`},{children:[H("mcp-ai-app","AI app"),s.jsxs("div",Object.assign({className:"relative"},{children:[s.jsx("select",Object.assign({className:"w-full appearance-none border py-2 pl-3 pr-10 outline-none",style:{backgroundColor:t.primary,borderColor:`${t.accent}40`,borderRadius:y.cornerRadius,color:t.text},value:J,onChange:e=>W(e.target.value)},{children:Object.entries(v).map((([e,a])=>s.jsx("option",Object.assign({value:e},{children:"other"===e?H("other","Other"):a}),e)))})),s.jsx(c.default,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2",style:{color:t.text}})]}))]})),U?s.jsx("div",Object.assign({className:"min-h-24 animate-pulse border p-4",role:"status",style:{backgroundColor:t.primary,borderColor:`${t.accent}40`,borderRadius:y.cornerRadius}},{children:s.jsx("span",Object.assign({className:"sr-only"},{children:H("mcp-preparing-configuration","Preparing your private configuration…")}))})):B?s.jsx("p",Object.assign({className:`${z.b3} border p-4`,style:{backgroundColor:t.primary,borderColor:`${t.accent}40`,borderRadius:y.cornerRadius,color:t.text}},{children:H("mcp-configuration-unavailable","This private configuration is unavailable. Close and try again.")})):X?s.jsxs("div",Object.assign({className:"relative min-w-0"},{children:[s.jsx("pre",Object.assign({className:"max-h-64 w-full overflow-auto whitespace-pre-wrap break-all border p-4 pr-12 text-xs",style:{backgroundColor:t.primary,borderColor:`${t.accent}40`,borderRadius:y.cornerRadius,color:t.text}},{children:X})),s.jsx("button",Object.assign({type:"button",className:"absolute right-3 top-3 border p-2 transition-opacity hover:opacity-70",style:{backgroundColor:t.accent,borderColor:t.accent,borderRadius:y.cornerRadius,color:t.accentText},"aria-label":H("mcp-copy-configuration","Copy MCP configuration"),onClick:()=>{X&&(f.default(X),G(!0),window.setTimeout((()=>G(!1)),1800))}},{children:F?s.jsx(n.default,{className:"h-4 w-4"}):s.jsx(o.default,{className:"h-4 w-4"})}))]})):null,s.jsx("p",Object.assign({className:`${z.b4} opacity-60`},{children:H("mcp-private-configuration-note","Keep this configuration private. It contains your Studio session token and stops working when that session expires.")}))]}))}))}))]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),n=require("react"),i=require("react-dom"),s=require("copy-to-clipboard"),a=require("framer-motion"),r=require("../../Icons/computer.svg.js"),o=require("../../Icons/copy.svg.js"),c=require("../../Icons/check.svg.js"),l=require("../../Icons/x.svg.js"),d=require("../../Icons/arrow-up-right.svg.js"),p=require("../../../common/api/utils.js"),u=require("../../../common/api/api.js"),m=require("../../../common/utils.js"),v=require("../../../common/mcpApp.js"),h=require("../../../common/mcpTranslations.js"),x=require("../../../hooks/pickaxe/usePickaxeContext.js"),j=require("../Addons/Auth/hooks/useAuthContext.js"),b=require("./MCPClientIcon.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var g=f(s);const y=[{id:"claude",labelKey:"mcp-open-claude"},{id:"codex",labelKey:"mcp-open-codex"},{id:"cursor",labelKey:"mcp-open-cursor"},{id:"vscode",labelKey:"mcp-open-vscode"}],w="undefined"!=typeof window?n.useLayoutEffect:n.useEffect;exports.default=()=>{var s,f,O,k,E;const{colors:C,deploymentId:N,deploymentType:P,mcpEnabled:I,mcpInitiallyOpen:q,mcpGuestId:L,mcpDialog:M,setMCPDialog:A,mcpInitiallyOpenedDeployments:$,mcpPreparingDeployments:S,pickaxeId:_,translations:T,sender:R,isRtl:z}=x.usePickaxeContext(),{token:D,isAuthBootstrapComplete:F}=j.useAuthContext(),{isOpen:U,guestToken:H,isPreparing:K,prepareError:V}=M,[B]=n.useState((()=>`mcp-${m.randomStr(12)}`)),W=a.useReducedMotion(),G=n.useRef(null),X=n.useRef(null),J=n.useRef(),[Q,Y]=n.useState(!1),[Z,ee]=n.useState(!1),[te,ne]=n.useState(null),[ie,se]=n.useState(null),[ae,re]=n.useState(null),oe=(e,t)=>h.translateMCP(T,e,t),ce=n.useMemo((()=>{if(!N)return"";const e=process.env.NEXT_PUBLIC_API_MCP_URL||"https://mcp.pickaxe.co",t=new URL(e),n=t.pathname.replace(/\/+$/,"");return t.pathname=n.endsWith("/deployment")?n:`${n}/deployment`,t.searchParams.set("id",N),t.toString()}),[N]),le=D||H,de=n.useMemo((()=>ie&&le?v.createMCPAppSetup(ie,ce,le,T):null),[ie,ce,le,T]),pe=le?`URL: ${ce}\nAuthorization: Bearer ${le}`:"",ue=null!==ae,me=n.useCallback(((e=!1)=>{var t;A((e=>Object.assign(Object.assign({},e),{isOpen:!1}))),Y(!1),e&&(null===(t=G.current)||void 0===t||t.focus({preventScroll:!0}))}),[A]);n.useEffect((()=>()=>clearTimeout(J.current)),[]),w((()=>{var e,t;if(!U||!I)return;const n=()=>{var e,t,n,i;const s=G.current,a=X.current;if(!s||!a)return;const r=window.visualViewport,o=null!==(e=null==r?void 0:r.offsetTop)&&void 0!==e?e:0,c=null!==(t=null==r?void 0:r.offsetLeft)&&void 0!==t?t:0,l=null!==(n=null==r?void 0:r.height)&&void 0!==n?n:window.innerHeight,d=null!==(i=null==r?void 0:r.width)&&void 0!==i?i:document.documentElement.clientWidth,p=s.getBoundingClientRect();if(p.bottom<o||p.top>o+l)return void me();const u=Math.min(420,Math.max(0,d-24)),m=o+l-p.bottom-8-12,v=p.top-o-8-12,h=m<a.scrollHeight&&v>m,x=Math.max(0,h?v:m),j=Math.min(a.scrollHeight+2,x),b={top:h?p.top-8-j:p.bottom+8,left:Math.max(c+12,Math.min(z?p.left:p.right-u,c+d-u-12)),width:u,maxHeight:x,above:h,fontFamily:getComputedStyle(s).fontFamily};re((e=>e&&Object.entries(b).every((([t,n])=>e[t]===n))?e:b))};let i=0;const s=()=>{cancelAnimationFrame(i),i=requestAnimationFrame(n)};n();const a=new ResizeObserver(s);return X.current&&a.observe(X.current),G.current&&a.observe(G.current),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),null===(e=window.visualViewport)||void 0===e||e.addEventListener("resize",s),null===(t=window.visualViewport)||void 0===t||t.addEventListener("scroll",s),()=>{var e,t;a.disconnect(),cancelAnimationFrame(i),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0),null===(e=window.visualViewport)||void 0===e||e.removeEventListener("resize",s),null===(t=window.visualViewport)||void 0===t||t.removeEventListener("scroll",s)}}),[U,I,z,me]),w((()=>{var e;U&&ue&&(null===(e=X.current)||void 0===e||e.focus({preventScroll:!0}))}),[U,ue]),n.useEffect((()=>{if(!U)return;const e=e=>{(e=>{var t,n;return e instanceof Node&&((null===(t=G.current)||void 0===t?void 0:t.contains(e))||(null===(n=X.current)||void 0===n?void 0:n.contains(e)))})(e.target)||me()},t=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),me(!0))};return document.addEventListener("pointerdown",e),document.addEventListener("focusin",e),document.addEventListener("keydown",t,!0),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("focusin",e),document.removeEventListener("keydown",t,!0)}}),[U,me]);const ve=n.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(I&&N&&(A((e=>Object.assign(Object.assign({},e),{isOpen:!0}))),!le&&!S.has(N))){S.add(N),A((e=>Object.assign(Object.assign({},e),{isPreparing:!0,prepareError:!1})));try{const e=L||R||m.initializeEmbedUserId(),t=yield p.default.post("/pickaxe/mcp-session",{deploymentId:N,guestId:e});if(!t.data.success||!t.data.token)throw new Error("Guest MCP session was not created");A((e=>Object.assign(Object.assign({},e),{guestToken:t.data.token})))}catch(e){console.error("[pxe] failed to prepare MCP configuration",e),A((e=>Object.assign(Object.assign({},e),{prepareError:!0})))}finally{S.delete(N),A((e=>Object.assign(Object.assign({},e),{isPreparing:!1})))}}}))),[N,I,L,S,R,le,A]);n.useEffect((()=>{q&&I&&N&&F&&!$.has(N)&&($.add(N),ve())}),[N,F,I,q,$,ve]);const he=()=>{N&&(U?me():($.add(N),u.api2.post("/track",{event:"useWithAIAppClick",guestId:L||R||m.initializeEmbedUserId(),metadata:{pickaxeId:_,deploymentId:N,deploymentType:P||"unknown",surface:"react"}}).catch((()=>{})),Y(!1),ee(!1),ne(null),se(null),re(null),ve()))},xe=e=>{if(!e)return!1;const t=g.default(e);return t||ne("mcp-copy-failed"),t};return I&&N?t.jsxs("div",Object.assign({className:"pickaxe-mcp relative shrink-0"},{children:[t.jsx("button",Object.assign({ref:G,type:"button",className:"pxe-mcp-trigger flex h-8 w-8 items-center justify-center rounded-full opacity-100 transition-opacity duration-300 ease-in-out hover:opacity-70 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",style:{color:C.accent},"aria-label":oe("mcp-use-with-ai-app"),"aria-haspopup":"dialog","aria-expanded":U,"aria-controls":U?`${B}-dropdown`:void 0,onClick:e=>{e.stopPropagation(),he()},onKeyDown:e=>{var t;"ArrowDown"===e.key&&(e.preventDefault(),U?null===(t=X.current)||void 0===t||t.focus({preventScroll:!0}):he())},onMouseEnter:()=>Y(!0),onMouseLeave:()=>Y(!1)},{children:t.jsx(r.default,{className:"h-5 w-5","aria-hidden":"true"})})),t.jsx(a.AnimatePresence,{children:Q&&!U?t.jsx(a.motion.div,Object.assign({className:"pointer-events-none absolute right-0 top-10 z-20 w-max rounded px-3 py-2 text-xs font-medium",style:{background:C.accent,color:C.accentText},initial:{opacity:0,y:W?0:-4},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:W?0:.15}},{children:oe("mcp-use-with-ai-app")})):null}),"undefined"!=typeof document&&i.createPortal(t.jsx("div",Object.assign({className:"pickaxe-mcp",dir:z?"rtl":"ltr",style:{fontFamily:null==ae?void 0:ae.fontFamily}},{children:t.jsx(a.AnimatePresence,{children:U?t.jsxs(a.motion.div,Object.assign({ref:X,id:`${B}-dropdown`,role:"dialog","aria-labelledby":`${B}-title`,"aria-describedby":`${B}-description`,tabIndex:-1,className:"pxe-mcp-dropdown",style:{top:null!==(s=null==ae?void 0:ae.top)&&void 0!==s?s:0,left:null!==(f=null==ae?void 0:ae.left)&&void 0!==f?f:0,width:null!==(O=null==ae?void 0:ae.width)&&void 0!==O?O:"min(420px, calc(100vw - 24px))",maxHeight:null!==(k=null==ae?void 0:ae.maxHeight)&&void 0!==k?k:"calc(100dvh - 24px)",visibility:ae?"visible":"hidden",transformOrigin:`${z?"left":"right"} ${(null==ae?void 0:ae.above)?"bottom":"top"}`},initial:{opacity:0,y:W?0:-6,scale:W?1:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:W?0:-4,scale:W?1:.98},transition:{duration:W?0:.18,ease:[.16,1,.3,1]},onClick:e=>e.stopPropagation()},{children:[t.jsxs("header",Object.assign({className:"pxe-mcp-header"},{children:[t.jsx("div",Object.assign({className:"pxe-mcp-computer"},{children:t.jsx(r.default,{"aria-hidden":"true"})})),t.jsxs("div",Object.assign({className:"pxe-mcp-heading"},{children:[t.jsx("h2",Object.assign({id:`${B}-title`},{children:oe("mcp-connect-agent")})),t.jsx("p",Object.assign({id:`${B}-description`},{children:oe("mcp-dropdown-description")}))]})),t.jsx("button",Object.assign({type:"button",className:"pxe-mcp-close","aria-label":null!==(E=null==T?void 0:T.close)&&void 0!==E?E:"Close",onClick:()=>me(!0)},{children:t.jsx(l.default,{"aria-hidden":"true"})}))]})),t.jsx("div",Object.assign({className:"pxe-mcp-clients","aria-busy":K},{children:y.map((e=>t.jsxs("button",Object.assign({type:"button",className:`pxe-mcp-client pxe-mcp-client-${e.id}`,disabled:!le||K,onClick:()=>(e=>{if(!le)return;const t=v.createMCPAppSetup(e,ce,le,T);se(e),ne(t.requiresPaste?"mcp-paste-setup-prompt":"mcp-review-setup-prompt"),window.location.href=t.url})(e.id)},{children:[t.jsx(b.default,{client:e.id}),t.jsx("span",{children:oe(e.labelKey)})]}),e.id)))})),t.jsxs("section",Object.assign({className:"pxe-mcp-manual","aria-labelledby":`${B}-manual`},{children:[t.jsx("h3",Object.assign({id:`${B}-manual`},{children:oe("mcp-manual-setup")})),t.jsx("div",Object.assign({className:"pxe-mcp-configuration"},{children:K?t.jsx("div",Object.assign({className:"pxe-mcp-loading",role:"status"},{children:oe("mcp-preparing-configuration")})):V&&!le?t.jsxs("div",Object.assign({className:"pxe-mcp-error",role:"alert"},{children:[t.jsx("p",{children:oe("mcp-configuration-unavailable")}),t.jsx("button",Object.assign({type:"button",onClick:()=>{var e;null===(e=X.current)||void 0===e||e.focus({preventScroll:!0}),ve()}},{children:oe("mcp-try-again")}))]})):t.jsxs("div",Object.assign({dir:"ltr"},{children:[t.jsx("pre",{children:pe}),t.jsx("button",Object.assign({type:"button",className:"pxe-mcp-copy",disabled:!pe,"aria-label":oe(Z?"mcp-configuration-copied":"mcp-copy-configuration"),onClick:()=>{xe(pe)&&(ee(!0),ne("mcp-configuration-copied"),clearTimeout(J.current),J.current=setTimeout((()=>ee(!1)),1800))}},{children:Z?t.jsx(c.default,{"aria-hidden":"true"}):t.jsx(o.default,{"aria-hidden":"true"})}))]}))})),t.jsx("p",Object.assign({className:"pxe-mcp-status",role:"status","aria-live":"polite"},{children:te?oe(te):""})),de?t.jsxs("div",Object.assign({className:"pxe-mcp-app-fallback"},{children:[t.jsx("p",{children:oe("mcp-app-did-not-open")}),t.jsxs("div",Object.assign({className:"pxe-mcp-fallback-actions"},{children:[t.jsxs("a",Object.assign({href:de.downloadUrl,target:"_blank",rel:"noopener noreferrer"},{children:[t.jsx("span",{children:oe("mcp-download-app",{app:de.downloadName})}),t.jsx(d.default,{"aria-hidden":"true"})]})),t.jsxs("button",Object.assign({type:"button",className:"pxe-mcp-copy-prompt",onClick:()=>{xe(de.prompt)&&ne("mcp-setup-prompt-copied")}},{children:[t.jsx(o.default,{"aria-hidden":"true"}),t.jsx("span",{children:oe("mcp-copy-setup-prompt")})]}))]}))]})):null]})),t.jsxs("a",Object.assign({className:"pxe-mcp-help",href:"https://modelcontextprotocol.io/docs",target:"_blank",rel:"noopener noreferrer"},{children:[t.jsx("span",{children:oe("mcp-documentation-help")}),t.jsx(d.default,{"aria-hidden":"true"})]}))]})):null})})),document.body)]})):null};
@@ -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"),o=require("../../../common/error.js"),s=require("../../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js"),r=require("../../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js"),n=require("../../Core/Button.js"),a=require("../../Core/ErrorAlert.js"),l=require("./SmitheryAuthProvider.js"),c=require("uuid"),d=require("../../../common/api/api.js"),u=require("../../../common/api/pickaxe.js"),m=require("../../../hooks/pickaxe/usePickaxeContext.js"),p=require("../../../common/fernet.js");exports.default=({serverId:v,smitheryId:h,name:x,resubmitPrompt:f})=>{const{sender:g,translations:j,colors:_}=m.usePickaxeContext(),[b,k]=i.useState(!0),[y,O]=i.useState(!1),[N,I]=i.useState(null),S=i.useRef(null),q=i.useMemo((()=>c.v4()),[]);i.useEffect((()=>{let t=null;return y&&(t=setInterval((()=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=yield d.api2.post("/oauth/handshake/check",{sessionId:q}),{success:i,code:o}=e.data;if("failed"===o)return I((null==j?void 0:j["auth-failed"])||"Auth failed"),O(!1),void(t&&clearInterval(t));if(o&&i){t&&clearInterval(t);try{if(!S.current)throw new Error("Transport not available for finalization.");yield S.current.finishAuth(o)}catch(e){return console.error(e),I((null==j?void 0:j["failed-to-finalize-authentication"])||"Failed to finalize authentication."),void O(!1)}const e=localStorage.getItem("mcp_tokens"),i=localStorage.getItem("mcp_client");e&&i&&C(JSON.parse(e),JSON.parse(i))}}))),1e3)),()=>{t&&clearInterval(t)}}),[y]);const C=(t,i)=>e.__awaiter(void 0,void 0,void 0,(function*(){try{yield u.pickaxeApi2.post("/mcp/user/save",{tokens:yield p.encryptFernet(JSON.stringify(t)),clientId:i.client_id,serverId:v,userId:g},Object.assign(Object.assign({},(!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}})),u.isPickaxeDomain&&{credentials:"include"})),localStorage.removeItem("mcp_tokens"),localStorage.removeItem("mcp_client"),k(!1),f()}catch(e){I(o.default(e))}}));return b?t.jsxs("div",Object.assign({className:"w-full bg-white border border-c-sep rounded-lg shadow-sm p-4 flex flex-col gap-4"},{children:[t.jsxs("div",Object.assign({className:"flex flex-col gap-1"},{children:[t.jsx("h3",Object.assign({className:"font-semibold text-black/80 text-lg"},{children:(null==j?void 0:j["authentication-required"])||"Authentication Required"})),t.jsxs("p",Object.assign({className:"text-black/60 text-sm"},{children:[(null==j?void 0:j["smithery-auth-description-prefix"])||"The tool you are trying to use requires authentication with"," ",t.jsx("span",Object.assign({className:"font-semibold text-black/80"},{children:x||h})),"."]}))]})),N&&t.jsx(a.default,{error:N}),t.jsxs("div",Object.assign({className:"flex justify-end gap-2"},{children:[t.jsx(n.default,Object.assign({variant:"secondary",onClick:()=>k(!1),className:"text-sm px-3 h-9"},{children:(null==j?void 0:j.dismiss)||"Dismiss"})),t.jsx(n.default,Object.assign({variant:"primary",loadingText:(null==j?void 0:j.connecting)||"Connecting...",isLoading:y,style:{borderColor:_.accent,backgroundColor:_.accent,color:_.accentText},onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!y)if("LOGGED OUT"!==g)try{I(null),O(!0);const e=new l.SmitheryAuthProvider(q),t=new r.StreamableHTTPClientTransport(new URL(`https://server.smithery.ai/${h}/mcp`),{authProvider:e});S.current=t;const i=new s.Client({name:"Pickaxe",version:"1.0.0"});yield i.connect(t)}catch(e){console.log(o.default(e))}else I((null==j?void 0:j["must-be-logged-in-to-connect-smithery"])||"You must be logged in to connect Smithery MCPs.")})),className:"text-sm px-3 h-9 hover:opacity-90"},{children:(null==j?void 0:j.connect)||"Connect"}))]}))]})):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),i=require("../../../common/error.js"),o=require("../../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js"),n=require("../../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js"),r=require("../../Core/Button.js"),a=require("../../Core/ErrorAlert.js"),c=require("./SmitheryAuthProvider.js"),l=require("uuid"),d=require("../../../common/api/api.js"),u=require("../../../common/api/pickaxe.js"),m=require("../../../hooks/pickaxe/usePickaxeContext.js"),p=require("../Addons/Auth/hooks/useAuthContext.js"),h=require("../../../common/fernet.js");exports.default=({serverId:v,smitheryId:x,name:f,resubmitPrompt:g})=>{const{sender:j,pickaxe:b,translations:_,colors:k}=m.usePickaxeContext(),{token:O}=p.useAuthContext(),[y,I]=s.useState(!0),[N,S]=s.useState(!1),[C,q]=s.useState(null),E=s.useRef(null),P=s.useMemo((()=>l.v4()),[]);s.useEffect((()=>{let t=null;return N&&(t=setInterval((()=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=yield d.api2.post("/oauth/handshake/check",{sessionId:P}),{success:s,code:i}=e.data;if("failed"===i)return q((null==_?void 0:_["auth-failed"])||"Auth failed"),S(!1),void(t&&clearInterval(t));if(i&&s){t&&clearInterval(t);try{if(!E.current)throw new Error("Transport not available for finalization.");yield E.current.finishAuth(i)}catch(e){return console.error(e),q((null==_?void 0:_["failed-to-finalize-authentication"])||"Failed to finalize authentication."),void S(!1)}const e=localStorage.getItem("mcp_tokens"),s=localStorage.getItem("mcp_client");e&&s&&T(JSON.parse(e),JSON.parse(s))}}))),1e3)),()=>{t&&clearInterval(t)}}),[N]);const T=(t,s)=>e.__awaiter(void 0,void 0,void 0,(function*(){try{yield u.pickaxeApi2.post("/mcp/user/save",Object.assign(Object.assign({tokens:yield h.encryptFernet(JSON.stringify(t)),clientId:s.client_id,serverId:v},j&&"LOGGED OUT"!==j&&{userId:j}),O&&{studioId:null==b?void 0:b.studioid,studioSessionToken:O}),Object.assign(Object.assign({},(!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}})),u.isPickaxeDomain&&{credentials:"include"})),localStorage.removeItem("mcp_tokens"),localStorage.removeItem("mcp_client"),I(!1),g()}catch(e){q(i.default(e))}}));return y?t.jsxs("div",Object.assign({className:"w-full bg-white border border-c-sep rounded-lg shadow-sm p-4 flex flex-col gap-4"},{children:[t.jsxs("div",Object.assign({className:"flex flex-col gap-1"},{children:[t.jsx("h3",Object.assign({className:"font-semibold text-black/80 text-lg"},{children:(null==_?void 0:_["authentication-required"])||"Authentication Required"})),t.jsxs("p",Object.assign({className:"text-black/60 text-sm"},{children:[(null==_?void 0:_["smithery-auth-description-prefix"])||"The tool you are trying to use requires authentication with"," ",t.jsx("span",Object.assign({className:"font-semibold text-black/80"},{children:f||x})),"."]}))]})),C&&t.jsx(a.default,{error:C}),t.jsxs("div",Object.assign({className:"flex justify-end gap-2"},{children:[t.jsx(r.default,Object.assign({variant:"secondary",onClick:()=>I(!1),className:"text-sm px-3 h-9"},{children:(null==_?void 0:_.dismiss)||"Dismiss"})),t.jsx(r.default,Object.assign({variant:"primary",loadingText:(null==_?void 0:_.connecting)||"Connecting...",isLoading:N,style:{borderColor:k.accent,backgroundColor:k.accent,color:k.accentText},onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!N)if(O||"LOGGED OUT"!==j)try{q(null),S(!0);const e=new c.SmitheryAuthProvider(P),t=new n.StreamableHTTPClientTransport(new URL(`https://server.smithery.ai/${x}/mcp`),{authProvider:e});E.current=t;const s=new o.Client({name:"Pickaxe",version:"1.0.0"});yield s.connect(t)}catch(e){console.log(i.default(e))}else q((null==_?void 0:_["must-be-logged-in-to-connect-smithery"])||"You must be logged in to connect Smithery MCPs.")})),className:"text-sm px-3 h-9 hover:opacity-90"},{children:(null==_?void 0:_.connect)||"Connect"}))]}))]})):null};
@@ -1 +1 @@
1
- .pxe-prose p:not(.pxe-artifact-create-header p){font-weight:350}.pxe-prose p:not(:only-child):not(.pxe-artifact-create-header p){margin-bottom:.75rem}.pxe-prose a{font-weight:600;text-decoration:underline;text-underline-offset:.2rem}.pxe-prose iframe:not(.pxe-artifact-renderer iframe){margin-bottom:1.5rem}.pxe-prose blockquote{margin-bottom:2.5rem;padding-bottom:.25rem;padding-left:1rem;padding-top:.25rem}.pxe-prose hr{margin-bottom:1.5rem}.pxe-prose .pxe-markdown-image,.pxe-prose .pxe-markdown-video{margin-bottom:1.5rem;margin-top:1.5rem}.pxe-prose .pxe-markdown-video{display:flex;justify-content:center;width:100%}.pxe-prose .pxe-markdown-code{margin-bottom:1.5rem}.pxe-prose ol{list-style-type:decimal}.pxe-prose ol,.pxe-prose ul{list-style-position:inside;margin-bottom:1.5rem;padding-left:1rem}.pxe-prose ul{list-style-type:disc}.pxe-prose li{margin:10px 10px 14px}.pxe-prose li>p{display:inline}.pxe-prose .pxe-markdown-table{overflow:auto;position:relative}.pxe-prose .pxe-markdown-table:not(:only-child){margin-bottom:2.5rem}.pxe-prose table{font-size:.875rem;line-height:1.24rem;table-layout:fixed}.pxe-prose th{font-weight:600;text-align:left}.pxe-prose td,.pxe-prose th{padding:.75em 1em}.pxe-prose h1{font-size:2.25rem;line-height:2.5rem;margin-bottom:1.5rem}.pxe-prose h2{font-size:1.875rem;line-height:2.25rem;margin-bottom:1.5rem}.pxe-prose h3{font-size:1.5rem;line-height:2rem;margin-bottom:1.5rem}.pxe-prose h4{font-size:1.25rem}.pxe-prose h4,.pxe-prose h5{line-height:1.75rem;margin-bottom:1rem}.pxe-prose h5{font-size:1.125rem}.pxe-prose h2:not(:first-child){margin-top:2.5rem}.pxe-prose h3:not(:first-child),.pxe-prose h4:not(:first-child){margin-top:1rem}.pxe-prose pre{max-width:100%;overflow-x:auto}.pxe-prose>pre:not(:first-child){margin-top:1rem}.pxe-prose .pxe-markdown-code{display:flex;flex-direction:column}.pxe-prose .pxe-markdown-code>div:first-child{background-color:#1d1f21;border-radius:.3em;display:flex;flex-direction:column;max-width:min-content;padding-top:1em;position:relative}.pxe-prose .pxe-markdown-code>div:first-child>div:first-child{display:flex;justify-content:flex-end;padding:0 1em}.pxe-prose .pxe-markdown-code>div:first-child>div:last-child{overflow:auto}.pxe-prose .pxe-action[data-action-id]:not(:nth-child(2)){margin-top:1rem}.pxe-prose .pxe-markdown-code-inline{background-color:#1d1f21;border-radius:.3em;color:#fff;font-size:10pt;padding:.15em .4em}.pxe-link-previews{display:flex;flex-direction:column;gap:2rem}.pxe-prose>p:first-child>.pxe-markdown-image,.pxe-prose>p:first-child>.pxe-markdown-video{margin-top:0}.pxe-prose .pxe-blink{animation:blink 1s ease-in-out infinite}.pxe-prose .pxe-red{color:red}.pxe-prose .pxe-action-error,.pxe-prose .pxe-artifact-error{display:flex;flex-direction:column}.pxe-prose .pxe-animated-token{animation:fadeIn .3s ease-out forwards;display:inline-block;opacity:0}.pxe-prose .pxe-spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateX(5px)}to{opacity:1;transform:translateX(0)}}@keyframes blink{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ .pxe-prose p:not(.pxe-artifact-create-header p){font-weight:350}.pxe-prose p:not(:only-child):not(.pxe-artifact-create-header p){margin-bottom:.75rem}.pxe-prose a{font-weight:600;text-decoration:underline;text-underline-offset:.2rem}.pxe-prose iframe:not(.pxe-artifact-renderer iframe){margin-bottom:1.5rem}.pxe-prose blockquote{margin-bottom:2.5rem;padding-bottom:.25rem;padding-left:1rem;padding-top:.25rem}.pxe-prose hr{margin-bottom:1.5rem}.pxe-prose .pxe-markdown-image,.pxe-prose .pxe-markdown-video{margin-bottom:1.5rem;margin-top:1.5rem}.pxe-prose .pxe-markdown-video{display:flex;justify-content:center;width:100%}.pxe-prose .pxe-markdown-code{margin-bottom:1.5rem}.pxe-prose ol{list-style-type:decimal}.pxe-prose ol,.pxe-prose ul{list-style-position:inside;margin-bottom:1.5rem;padding-left:1rem}.pxe-prose ul{list-style-type:disc}.pxe-prose li{margin:10px 10px 14px}.pxe-prose li>p{display:inline}.pxe-prose .pxe-markdown-table{overflow:auto;position:relative}.pxe-prose .pxe-markdown-table:not(:only-child){margin-bottom:2.5rem}.pxe-prose table{font-size:.875rem;line-height:1.24rem;table-layout:fixed}.pxe-prose th{font-weight:600;text-align:left}.pxe-prose td,.pxe-prose th{padding:.75em 1em}.pxe-prose h1{font-size:2.25rem;line-height:2.5rem;margin-bottom:1.5rem}.pxe-prose h2{font-size:1.875rem;line-height:2.25rem;margin-bottom:1.5rem}.pxe-prose h3{font-size:1.5rem;line-height:2rem;margin-bottom:1.5rem}.pxe-prose h4{font-size:1.25rem}.pxe-prose h4,.pxe-prose h5{line-height:1.75rem;margin-bottom:1rem}.pxe-prose h5{font-size:1.125rem}.pxe-prose h2:not(:first-child){margin-top:2.5rem}.pxe-prose h3:not(:first-child),.pxe-prose h4:not(:first-child){margin-top:1rem}.pxe-prose pre{max-width:100%;overflow-x:auto}.pxe-prose>pre:not(:first-child){margin-top:1rem}.pxe-prose .pxe-markdown-code{display:flex;flex-direction:column}.pxe-prose .pxe-markdown-code>div:first-child{background-color:#1d1f21;border-radius:.3em;display:flex;flex-direction:column;max-width:min-content;padding-top:1em;position:relative}.pxe-prose .pxe-markdown-code>div:first-child>div:first-child{display:flex;justify-content:flex-end;padding:0 1em}.pxe-prose .pxe-markdown-code>div:first-child>div:last-child{overflow:auto}.pxe-prose .pxe-action[data-action-id]:not(:nth-child(2)){margin-top:1rem}.pxe-prose .pxe-markdown-code-inline{background-color:#1d1f21;border-radius:.3em;color:#fff;font-size:10pt;padding:.15em .4em}.pxe-link-previews{display:flex;flex-direction:column;gap:2rem}.pxe-prose>p:first-child>.pxe-markdown-image,.pxe-prose>p:first-child>.pxe-markdown-video{margin-top:0}.pxe-prose .pxe-blink{animation:blink 1s ease-in-out infinite}.pxe-prose .pxe-red{color:red}.pxe-prose .pxe-action-error,.pxe-prose .pxe-artifact-error{display:flex;flex-direction:column}.pxe-prose .pxe-animated-token{animation:fadeIn .3s ease-out forwards;display:inline-block;opacity:0}.pxe-prose .pxe-spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateX(5px)}to{opacity:1;transform:translateX(0)}}@keyframes blink{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pickaxe-mcp{font-family:inherit}.pickaxe-mcp,.pickaxe-mcp *,.pickaxe-mcp :after,.pickaxe-mcp :before{box-sizing:border-box}.pickaxe-mcp button{background:none;border:0;color:inherit;cursor:pointer;font:inherit;margin:0;padding:0;text-transform:none}.pickaxe-mcp a{color:inherit;text-decoration:none}.pickaxe-mcp svg{display:block}.pickaxe-mcp .pxe-mcp-trigger svg{height:20px;width:20px}.pickaxe-mcp .pxe-mcp-computer svg path,.pickaxe-mcp .pxe-mcp-trigger svg path{fill:currentColor}.pickaxe-mcp .pxe-mcp-dropdown{--pxe-mcp-text:#171717;--pxe-mcp-border:#e3e3eb;--pxe-mcp-muted:#858593;--pxe-mcp-soft:#f5f4f5;background:#fff;border:1px solid var(--pxe-mcp-border);border-radius:22px;box-shadow:0 12px 36px -12px #1414232e,0 2px 8px #1414230a;box-sizing:border-box;color:var(--pxe-mcp-text);container:pxe-mcp/inline-size;font-size:16px;line-height:1.4;outline:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 26px;position:fixed;scrollbar-width:thin;text-align:start;z-index:1400}.pickaxe-mcp .pxe-mcp-dropdown a,.pickaxe-mcp .pxe-mcp-dropdown button{-webkit-tap-highlight-color:transparent}.pickaxe-mcp .pxe-mcp-dropdown a:focus-visible,.pickaxe-mcp .pxe-mcp-dropdown button:focus-visible{outline:2px solid var(--pxe-mcp-muted);outline-offset:3px}.pickaxe-mcp .pxe-mcp-header{align-items:center;display:flex;gap:12px;padding:10px 8px 22px}.pickaxe-mcp .pxe-mcp-computer{align-items:center;background:var(--pxe-mcp-soft);border-radius:50%;display:flex;flex:0 0 52px;height:52px;justify-content:center;width:52px}.pickaxe-mcp .pxe-mcp-computer svg{height:24px;width:24px}.pickaxe-mcp .pxe-mcp-heading{min-width:0}.pickaxe-mcp .pxe-mcp-heading h2{font-size:18px;font-weight:600;line-height:1.25;margin:0}.pickaxe-mcp .pxe-mcp-heading p{color:var(--pxe-mcp-muted);font-size:16px;line-height:1.3;margin:3px 0 0}.pickaxe-mcp .pxe-mcp-close{align-items:center;align-self:flex-start;border-radius:8px;color:inherit;display:flex;flex:0 0 28px;height:28px;justify-content:center;margin:-6px -6px 0 auto;transition:background-color .15s ease;width:28px}.pickaxe-mcp .pxe-mcp-close svg{height:20px;width:20px}.pickaxe-mcp .pxe-mcp-close:hover{background:var(--pxe-mcp-soft)}.pickaxe-mcp .pxe-mcp-clients{border-block:1px solid var(--pxe-mcp-border);display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));padding:16px 4px}.pickaxe-mcp .pxe-mcp-client{align-items:center;border:1px solid var(--pxe-mcp-border);border-radius:11px;color:inherit;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;line-height:1.25;min-height:44px;min-width:0;padding:9px 10px;transition:background-color .15s ease,opacity .15s ease,transform .15s ease}.pickaxe-mcp .pxe-mcp-client svg{flex:0 0 22px;height:22px;width:22px}.pickaxe-mcp .pxe-mcp-client-claude{background:#c98260;border-color:#c98260;color:#fff}.pickaxe-mcp .pxe-mcp-client-codex{background:#090909;color:#fff}.pickaxe-mcp .pxe-mcp-client:hover:not(:disabled){opacity:.85}.pickaxe-mcp .pxe-mcp-client:active:not(:disabled){transform:translateY(1px)}.pickaxe-mcp .pxe-mcp-client:disabled{cursor:wait;opacity:.5}.pickaxe-mcp .pxe-mcp-manual{padding:18px 8px 0}.pickaxe-mcp .pxe-mcp-manual h3{font-size:18px;font-weight:400;line-height:1.4;margin:0 0 6px}.pickaxe-mcp .pxe-mcp-configuration{background:var(--pxe-mcp-soft);border:1px solid var(--pxe-mcp-border);border-radius:8px;min-height:84px;min-width:0;position:relative}.pickaxe-mcp .pxe-mcp-configuration pre{font:inherit;font-size:11px;line-height:1.55;margin:0;overflow-wrap:anywhere;padding-block:10px;padding-inline:12px 36px;white-space:pre-wrap}.pickaxe-mcp .pxe-mcp-copy{align-items:center;border-radius:4px;color:var(--pxe-mcp-muted);display:flex;height:24px;inset-inline-end:8px;justify-content:center;position:absolute;top:8px;transition:color .15s ease;width:24px}.pickaxe-mcp .pxe-mcp-copy svg{height:20px;width:20px}.pickaxe-mcp .pxe-mcp-copy:hover{color:var(--pxe-mcp-text)}.pickaxe-mcp .pxe-mcp-error,.pickaxe-mcp .pxe-mcp-loading{color:var(--pxe-mcp-muted);font-size:12px;padding:12px}.pickaxe-mcp .pxe-mcp-error p{margin:0}.pickaxe-mcp .pxe-mcp-error button{color:var(--pxe-mcp-text);font-weight:600;margin-top:8px;text-decoration:underline}.pickaxe-mcp .pxe-mcp-status{color:var(--pxe-mcp-muted);font-size:12px;line-height:1.5;margin:8px 0 0}.pickaxe-mcp .pxe-mcp-status:empty{margin:0}.pickaxe-mcp .pxe-mcp-app-fallback{border:1px solid var(--pxe-mcp-border);border-radius:8px;margin-top:12px;padding:10px 12px}.pickaxe-mcp .pxe-mcp-app-fallback p{color:var(--pxe-mcp-muted);font-size:12px;margin:0 0 4px}.pickaxe-mcp .pxe-mcp-fallback-actions{column-gap:16px;display:flex;flex-wrap:wrap;row-gap:4px}.pickaxe-mcp .pxe-mcp-copy-prompt,.pickaxe-mcp .pxe-mcp-fallback-actions a{align-items:center;color:var(--pxe-mcp-text);display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding-block:4px;text-decoration:underline;text-underline-offset:3px}.pickaxe-mcp .pxe-mcp-fallback-actions svg{height:14px;width:14px}.pickaxe-mcp .pxe-mcp-help{align-items:center;border:2px solid var(--pxe-mcp-soft);border-radius:14px;color:var(--pxe-mcp-text);display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin:16px 8px 0;min-height:48px;opacity:.75;padding:10px;text-decoration:none;transition:opacity .15s ease,background-color .15s ease}.pickaxe-mcp .pxe-mcp-help svg{height:20px;width:20px}.pickaxe-mcp .pxe-mcp-help:hover{background:var(--pxe-mcp-soft);opacity:1}@container pxe-mcp (max-width: 350px){.pickaxe-mcp .pxe-mcp-client{font-size:14px;gap:6px;padding-inline:8px}.pickaxe-mcp .pxe-mcp-client svg{flex-basis:20px;height:20px;width:20px}}@media (prefers-reduced-motion:reduce){.pickaxe-mcp .pxe-mcp-dropdown a,.pickaxe-mcp .pxe-mcp-dropdown button{transition:none}}
@@ -0,0 +1,9 @@
1
+ import { type MCPTranslations } from "./mcpTranslations";
2
+ export type MCPClient = "claude" | "codex" | "cursor" | "vscode";
3
+ export declare function createMCPAppSetup(client: MCPClient, mcpUrl: string, sessionToken: string, translations?: MCPTranslations): {
4
+ prompt: string;
5
+ url: string;
6
+ requiresPaste: boolean;
7
+ downloadName: string;
8
+ downloadUrl: string;
9
+ };