@pickaxeproject/react 6.23.10 → 6.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/cjs/components/Pickaxe/Addons/Auth/hooks/useAuthBootstrap.js +1 -1
  2. package/dist/cjs/components/Pickaxe/Addons/Document/Provider.js +1 -1
  3. package/dist/cjs/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
  4. package/dist/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
  5. package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Form/index.js +1 -1
  8. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  9. package/dist/cjs/components/Pickaxe/common/PickaxeEmbedHead.js +1 -1
  10. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.js +1 -0
  11. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.js +1 -0
  12. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.js +1 -0
  13. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  14. package/dist/cjs/components/Pickaxe/index.js +1 -1
  15. package/dist/cjs/hooks/pickaxe/usePickaxeAuth.js +1 -0
  16. package/dist/cjs/index.js +1 -1
  17. package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +1 -1
  18. package/dist/cjs/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1 -1
  19. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +3 -1
  20. package/dist/cjs/src/components/Pickaxe/common/PickaxeEmbedHead.d.ts +2 -1
  21. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.d.ts +20 -0
  22. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.d.ts +116 -0
  23. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.d.ts +15 -0
  24. package/dist/cjs/src/components/Pickaxe/index.d.ts +4 -1
  25. package/dist/cjs/src/hooks/pickaxe/usePickaxeAuth.d.ts +6 -0
  26. package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +2 -0
  27. package/dist/cjs/src/index.d.ts +1 -0
  28. package/dist/cjs/src/types/history.d.ts +30 -2
  29. package/dist/esm/components/Pickaxe/Addons/Auth/hooks/useAuthBootstrap.js +1 -1
  30. package/dist/esm/components/Pickaxe/Addons/Document/Provider.js +1 -1
  31. package/dist/esm/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
  32. package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
  33. package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
  34. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  35. package/dist/esm/components/Pickaxe/Form/index.js +1 -1
  36. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  37. package/dist/esm/components/Pickaxe/common/PickaxeEmbedHead.js +1 -1
  38. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.js +1 -0
  39. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.js +1 -0
  40. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.js +1 -0
  41. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  42. package/dist/esm/components/Pickaxe/index.js +1 -1
  43. package/dist/esm/hooks/pickaxe/usePickaxeAuth.js +1 -0
  44. package/dist/esm/index.js +1 -1
  45. package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +1 -1
  46. package/dist/esm/node_modules/.pnpm/@modelcontextprotocol_sdk@1.20.2/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1 -1
  47. package/dist/esm/src/components/Pickaxe/Provider.d.ts +3 -1
  48. package/dist/esm/src/components/Pickaxe/common/PickaxeEmbedHead.d.ts +2 -1
  49. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRender.d.ts +20 -0
  50. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/PickaxeJsonRenderCatalog.d.ts +116 -0
  51. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/VisualizationPart.d.ts +15 -0
  52. package/dist/esm/src/components/Pickaxe/index.d.ts +4 -1
  53. package/dist/esm/src/hooks/pickaxe/usePickaxeAuth.d.ts +6 -0
  54. package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +2 -0
  55. package/dist/esm/src/index.d.ts +1 -0
  56. package/dist/esm/src/types/history.d.ts +30 -2
  57. package/package.json +4 -2
  58. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +0 -1
  59. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +0 -1
  60. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +0 -1
  61. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +0 -1
  62. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +0 -1
  63. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +0 -1
  64. package/dist/cjs/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +0 -1
  65. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +0 -1
  66. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +0 -1
  67. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +0 -1
  68. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +0 -1
  69. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +0 -1
  70. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +0 -1
  71. package/dist/esm/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +0 -1
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{canChat as t}from"../../../../common/canChat.js";import{useMemo as o,useLayoutEffect as a}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as r}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as c}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as m}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as d}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as p}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as h}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as f,motion as g}from"framer-motion";import x from"../../../Icons/lock.svg.js";import j from"../../../Core/ErrorAlert.js";import v from"../../common/PickaxeHead.js";import b from"../../common/PickaxeEmbedHead.js";import y from"../../common/PickaxeUpgradeCard.js";import k from"../../common/PickaxeSkeleton.js";import w from"../../common/PickaxeHistoryButton.js";import N from"../../Addons/Scroll/ScrollLockView.js";import O from"../../Addons/Artifact/Renderer/index.js";import C from"./Message.js";import A from"./CustomMessage.js";import S from"../../Addons/IceBreaker/index.js";import P from"../../common/PickaxeBranding.js";import I from"../../../../common/cn.js";import{mergeConversationMessages as H}from"../../../../common/chatMessages.js";import L from"../../Addons/Auth/VerificationCodeForm.js";const R=({additionalScrollHeight:R,smitheryAuthData:D,isForceHideInfo:B,isInputFocused:T,onSubmit:E,resubmitPrompt:F})=>{var M,z,W,$,V;const{sessionId:U,deploymentType:_,pickaxe:q,translations:G,misc:J,isNewChat:K,isRtl:Q,isEmbed:X,isShowIceBreaker:Y,setSessionId:Z,setLastSessionId:ee}=n(),{emailInput:se,isLoggedOut:ie,isSending:te,isResendDisabled:oe,isSent:ae,isPricingAuth:ne}=l(),{onSend:le}=r(),{scrollContainerRef:re,isLocked:ce}=d(),{messages:me,limitData:de,error:pe}=c(),{height:ue,width:he}=m(),{currentArtifact:fe,chatPopupType:ge,currentPopupType:xe}=h(),je=u(),ve=p(),be=o((()=>(null==q?void 0:q.icebreakers)?q.icebreakers.slice(0,3):[]),[null==q?void 0:q.icebreakers]),ye=o((()=>{const e=!!je.data&&je.data.messages.length>1;return!B&&je.isSuccess&&K&&!e}),[B,je.isSuccess,K,je.data]),ke=o((()=>!(null==q?void 0:q.chatflag)&&(null==q?void 0:q.enablechatresponses)&&me.length>0),[q,me]),we=o((()=>!!je.data&&je.data.messages.some((e=>"intromessage"===e.area))),[je.data]),Ne="chat-input"===_&&ne&&ie&&ae,Oe=t(q),Ce=Oe&&Y&&!T&&!we&&ye&&he>767,Ae=Oe&&Y&&!T&&(we||he<=767),Se=o((()=>{var e,s;const i=null!==(s=null===(e=je.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];return H(me,i)}),[null===(M=je.data)||void 0===M?void 0:M.messages,me]),Pe=()=>{ee(U),Z("")};return a((()=>{if(!ce)return;const e=re.current;e&&(e.scrollTop=e.scrollHeight)}),[R,null===(z=je.data)||void 0===z?void 0:z.messages.length,ce,re,Se.length]),e("div",Object.assign({ref:re,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4 [overflow-anchor:none]"},{children:[s(f,{children:!!fe&&"inline"===xe&&s(g.div,Object.assign({className:I("absolute top-0 z-20 w-full px-4 py-2",ge),style:{height:`calc(${ue-R}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(O,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:fe.id,version:fe.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[ye&&X&&s("div",Object.assign({className:I("absolute right-4 top-3 flex items-center gap-2","popup"===_&&"right-12")},{children:s(w,{tip:(null==G?void 0:G["chat-history"])||"Chat History",onClick:Pe})})),s(v,Object.assign({className:I("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",ye&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!Ne&&{onIconClick:Pe})),X&&!je.isLoading&&s(b,Object.assign({className:I("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!ye&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==G?void 0:G["chat-history"])||"Chat History"},!Ne&&{onIconClick:Pe,onHistoryClick:Pe})),e("div",Object.assign({className:I("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",X&&!je.isLoading&&!ye&&"mt-0")},{children:[Ce&&s("div",Object.assign({className:I("grid grid-cols-3 gap-4",2===be.length&&"grid-cols-2",1===be.length&&"grid-cols-1")},{children:s(S,{type:"center",data:be,onSend:E})})),Ne?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(A,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(x,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:se}))]}))})),e(A,Object.assign({chatRole:"assistant"},{children:[e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(W=null==G?void 0:G["we-sent-your-an-activation-link"])&&void 0!==W?W:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{oe||te||le(!0)}},{children:te?null!==($=null==G?void 0:G.resending)&&void 0!==$?$:"Resending...":null!==(V=null==G?void 0:G.resend)&&void 0!==V?V:"Resend"}))]})),s(L,{compact:!0})]}))]}))})):s(i,{children:je.isLoading&&!(null==q?void 0:q.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[K&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(k,{className:"w-[72px] h-[72px]"}),s(k,{className:"h-[20px] mt-6 w-full"}),s(k,{className:"h-[20px] mt-2 w-full"}),s(k,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(k,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(k,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(k,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):je.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:I(ve.b2,"text-center font-semibold")},{children:[(null==G?void 0:G["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==G?void 0:G["contact-us"])||"contact us"}))," ",(null==G?void 0:G["for-help"])||"for help."]}))})):je.data||ke?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[Se.map(((e,i)=>s(C,{smitheryData:D,resubmitPrompt:F,index:i,message:e,isLastMessage:i===Se.length-1},`message-${i}`))),de?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(y,{})})):pe?s("div",Object.assign({className:I("flex items-center gap-x-3",Q?"justify-end":"justify-start")},{children:s(j,{error:pe})})):null]})),e("div",Object.assign({className:I("flex flex-col",!J.isWhiteLabel||Ae&&"mt-4")},{children:[!J.isWhiteLabel&&s(P,{containerClassName:I("justify-end",Ae&&"mb-2")}),Ae&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:be,onSend:E})})),s(N,{})]}))]})):null})]}))]}))]}))};export{R as default};
1
+ import{jsxs as e,jsx as s,Fragment as i}from"react/jsx-runtime";import{canChat as t}from"../../../../common/canChat.js";import{useMemo as o,useLayoutEffect as a}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"../../Addons/Auth/hooks/useAuthContext.js";import{useAuth as r}from"../../Addons/Auth/hooks/useAuth.js";import{useResponseContext as c}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as m}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as d}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as p}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../../hooks/pickaxe/useConversation.js";import{useArtifactContext as h}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{AnimatePresence as f,motion as g}from"framer-motion";import x from"../../../Icons/lock.svg.js";import j from"../../../Core/ErrorAlert.js";import v from"../../common/PickaxeHead.js";import b from"../../common/PickaxeEmbedHead.js";import y from"../../common/PickaxeUpgradeCard.js";import w from"../../common/PickaxeSkeleton.js";import k from"../../common/PickaxeHistoryButton.js";import N from"../../Addons/Scroll/ScrollLockView.js";import O from"../../Addons/Artifact/Renderer/index.js";import C from"./Message.js";import A from"./CustomMessage.js";import S from"../../Addons/IceBreaker/index.js";import P from"../../common/PickaxeBranding.js";import H from"../../../../common/cn.js";import{mergeConversationMessages as I}from"../../../../common/chatMessages.js";import L from"../../Addons/Auth/VerificationCodeForm.js";const R=({additionalScrollHeight:R,smitheryAuthData:D,isForceHideInfo:B,isInputFocused:E,onSubmit:T,resubmitPrompt:F})=>{var M,z,W,$,V;const{sessionId:U,deploymentType:_,pickaxe:q,translations:G,renderEmbedHeaderAction:J,misc:K,isNewChat:Q,isRtl:X,isEmbed:Y,isShowIceBreaker:Z,setSessionId:ee,setLastSessionId:se}=n(),{emailInput:ie,isLoggedOut:te,isSending:oe,isResendDisabled:ae,isSent:ne,isPricingAuth:le}=l(),{onSend:re}=r(),{scrollContainerRef:ce,isLocked:me}=d(),{messages:de,limitData:pe,error:ue}=c(),{height:he,width:fe}=m(),{currentArtifact:ge,chatPopupType:xe,currentPopupType:je}=h(),ve=u(),be=p(),ye=o((()=>(null==q?void 0:q.icebreakers)?q.icebreakers.slice(0,3):[]),[null==q?void 0:q.icebreakers]),we=o((()=>{const e=!!ve.data&&ve.data.messages.length>1;return!B&&ve.isSuccess&&Q&&!e}),[B,ve.isSuccess,Q,ve.data]),ke=o((()=>!(null==q?void 0:q.chatflag)&&(null==q?void 0:q.enablechatresponses)&&de.length>0),[q,de]),Ne=o((()=>!!ve.data&&ve.data.messages.some((e=>"intromessage"===e.area))),[ve.data]),Oe="chat-input"===_&&le&&te&&ne,Ce=t(q),Ae=Ce&&Z&&!E&&!Ne&&we&&fe>767,Se=Ce&&Z&&!E&&(Ne||fe<=767),Pe=o((()=>{var e,s;const i=null!==(s=null===(e=ve.data)||void 0===e?void 0:e.messages)&&void 0!==s?s:[];return I(de,i)}),[null===(M=ve.data)||void 0===M?void 0:M.messages,de]),He=()=>{se(U),ee("")};return a((()=>{if(!me)return;const e=ce.current;e&&(e.scrollTop=e.scrollHeight)}),[R,null===(z=ve.data)||void 0===z?void 0:z.messages.length,me,ce,Pe.length]),e("div",Object.assign({ref:ce,className:"flex flex-1 w-full flex-col items-center overflow-y-auto pb-4 scrollbar scrollbar-thin min-h-0 mb-4 [overflow-anchor:none]"},{children:[s(f,{children:!!ge&&"inline"===je&&s(g.div,Object.assign({className:H("absolute top-0 z-20 w-full px-4 py-2",xe),style:{height:`calc(${he-R}px - 80px)`},initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeOut"}},{children:s(O,{type:"inline",className:"pxe-artifact-inline h-full shadow",artifact:{id:ge.id,version:ge.version}})}))}),e("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px]"},{children:[we&&Y&&e("div",Object.assign({className:H("absolute right-4 top-3 flex items-center gap-2","popup"===_&&"right-12")},{children:[s(k,{tip:(null==G?void 0:G["chat-history"])||"Chat History",onClick:He}),null==J?void 0:J()]})),s(v,Object.assign({className:H("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",we&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500},!Oe&&{onIconClick:He})),Y&&!ve.isLoading&&s(b,Object.assign({showHeaderAction:!we,className:H("opacity-0 transition-all duration-500 ease-in-out h-0 w-full sticky top-0 z-10",!we&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",historyBtnTip:(null==G?void 0:G["chat-history"])||"Chat History"},!Oe&&{onIconClick:He,onHistoryClick:He})),e("div",Object.assign({className:H("flex flex-col flex-grow mt-6 transition-all duration-300 ease-in-out w-full px-4",Y&&!ve.isLoading&&!we&&"mt-0")},{children:[Ae&&s("div",Object.assign({className:H("grid grid-cols-3 gap-4",2===ye.length&&"grid-cols-2",1===ye.length&&"grid-cols-1")},{children:s(S,{type:"center",data:ye,onSend:T})})),Oe?s("div",Object.assign({className:"flex flex-col w-full"},{children:e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[s(A,Object.assign({chatRole:"user"},{children:e("div",Object.assign({className:"flex items-center gap-x-3"},{children:[s(x,{className:"h-6 w-6 shrink-0"}),s("p",Object.assign({className:"font-semilight"},{children:ie}))]}))})),e(A,Object.assign({chatRole:"assistant"},{children:[e("p",Object.assign({className:"py-3 font-semilight"},{children:[`${null!==(W=null==G?void 0:G["we-sent-your-an-activation-link"])&&void 0!==W?W:"We sent you an activation link. Please be sure to check your spam folder too."} `,s("span",Object.assign({className:"underline underline-offset-2 cursor-pointer",onClick:()=>{ae||oe||re(!0)}},{children:oe?null!==($=null==G?void 0:G.resending)&&void 0!==$?$:"Resending...":null!==(V=null==G?void 0:G.resend)&&void 0!==V?V:"Resend"}))]})),s(L,{compact:!0})]}))]}))})):s(i,{children:ve.isLoading&&!(null==q?void 0:q.enablechatresponses)?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[Q&&e("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[s(w,{className:"w-[72px] h-[72px]"}),s(w,{className:"h-[20px] mt-6 w-full"}),s(w,{className:"h-[20px] mt-2 w-full"}),s(w,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),s(w,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),s(w,{className:"h-[150px] w-[70%] animate-pulse rounded"}),s(w,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):ve.isError?s("div",Object.assign({className:"flex w-full justify-center"},{children:e("p",Object.assign({className:H(be.b2,"text-center font-semibold")},{children:[(null==G?void 0:G["something-went-wrong-please-try-again"])||"Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:(null==G?void 0:G["contact-us"])||"contact us"}))," ",(null==G?void 0:G["for-help"])||"for help."]}))})):ve.data||ke?e("div",Object.assign({className:"flex flex-col w-full flex-grow justify-between"},{children:[e("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[Pe.map(((e,i)=>s(C,{smitheryData:D,resubmitPrompt:F,index:i,message:e,isLastMessage:i===Pe.length-1},`message-${i}`))),pe?s("div",Object.assign({className:"flex max-w-[100%] items-center gap-x-3"},{children:s(y,{})})):ue?s("div",Object.assign({className:H("flex items-center gap-x-3",X?"justify-end":"justify-start")},{children:s(j,{error:ue})})):null]})),e("div",Object.assign({className:H("flex flex-col",!K.isWhiteLabel||Se&&"mt-4")},{children:[!K.isWhiteLabel&&s(P,{containerClassName:H("justify-end",Se&&"mb-2")}),Se&&s("div",Object.assign({className:"flex flex-col items-end gap-2"},{children:s(S,{type:"right",data:ye,onSend:T})})),s(N,{})]}))]})):null})]}))]}))]}))};export{R as default};
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{canChat as i}from"../../../common/canChat.js";import{useEndUserModel as r}from"../../../hooks/pickaxe/useEndUserModel.js";import a from"../common/EndUserModelPicker.js";import{updateStreamTextPart as l,upsertActionApprovalPart as d}from"../../../common/actionApproval.js";import{forwardRef as c,useState as u,useRef as p,useCallback as m,useEffect as g,useMemo as f,useImperativeHandle as v}from"react";import{usePickaxeContext as h}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as b}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as y}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as x}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as j}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as I}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as w}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as k}from"../Addons/Document/hooks/useDocument.js";import{useScroll as O}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as N}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as S}from"../../../hooks/core/useHover.js";import{useMediaQuery as C}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as E,allowedImageMimeTypes as _,additionalAllowedFileExtensions as T}from"../../../common/documents.js";import{createParser as U}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import P from"../../Icons/arrow-right.svg.js";import D from"../../Icons/microphone.svg.js";import L from"../../Icons/message-clock.svg.js";import M from"../../Icons/stop.svg.js";import R from"../../Icons/trash.svg.js";import $ from"../../Icons/pencil.svg.js";import B from"../Addons/Document/List.js";import X from"../../Core/Textarea.js";import K from"../../Core/ErrorAlert.js";import F from"../../Core/Menu/index.js";import G from"../../Core/Menu/Button.js";import V from"../../Core/Menu/List.js";import H from"../../../common/error.js";import{pickaxeApi2 as W}from"../../../common/api/pickaxe.js";import{getValidationFailure as q}from"../../../common/validation.js";import J from"../../../common/cn.js";import{buildUpgradeUrl as z,openAuthenticatedPricingUrl as Q,initializeEmbedUserId as Y}from"../../../common/utils.js";import{getPickaxeConfigMetadata as Z}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as ee}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as te,fireDeploymentFirstMessageSubmittedWebhook as ne}from"../../../common/deploymentWebhooks.js";import{useStudio as oe}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as se}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as ie}from"../common/PickaxeCommon.js";const re=(e,t)=>{const n=e.find((e=>e.id===t));return n?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:n.predecessorSubmissionId}):e)):e},ae=e=>"string"==typeof e&&e.trim().length>0,le=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,de=e=>e.map((e=>Object.assign({},e))),ce=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),ue=(e,t)=>{if(e&&"object"==typeof e)return e[t]},pe=(e,t)=>{const n=ue(e,t);return ae(n)?n:null},me=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ge=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(ue(e,"uses"))?ue(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>ae(e)?{type:"deployment",id:e}:ae(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(s=null!==(o=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==o?o:i.find((e=>e.id===r.id)))&&void 0!==s?s:null;return{scope:r,record:a}},fe=c((({resubmitPrompt:c,onFocus:ue,onBlur:fe,onInputHeightChange:ve,initSmitheryAuthData:he},be)=>{var ye,xe,je,Ie,we,ke,Oe,Ne,Se,Ce,Ee,_e,Te,Ue,Ae,Pe,De,Le;const{origin:Me,pickaxeId:Re,sessionId:$e,sender:Be,senderType:Xe,portalId:Ke,deploymentId:Fe,deploymentType:Ge,pickaxe:Ve,styles:He,colors:We,translations:qe,locale:Je,forceMobile:ze,isNewChat:Qe,isRtl:Ye,isEmbed:Ze,isShowFeedbackMessage:et,accessGroup:tt,setIsNewChat:nt,setIsShowIceBreaker:ot,setValidationStatus:st,setValidationUpgradeGroups:it,setValidationUpgradeUrl:rt,setAccessGroup:at,onUpgrade:lt,onGenerateComplete:dt}=h(),{value:ct,enabled:ut}=r(),{token:pt,isLoggedOut:mt,isSent:gt,isPricingAuth:ft}=w(),{messages:vt,isGenerating:ht,setMessages:bt,setStatus:yt,setLimitData:xt,setError:jt,setActionApprovalToken:It}=b(),{documents:wt,isUploading:kt,documentError:Ot,onFileUpload:Nt,setDocuments:St,setDocumentError:Ct}=k(),{studio:Et}=oe(),[_t]=C("(max-width: 480px)"),{scrollStartSession:Tt,scrollEndSession:Ut,scrollToBottom:At}=O({auto:!0,smooth:!(ze||_t)}),{artifacts:Pt,currentPopupType:Dt,setArtifacts:Lt,setCurrentArtifact:Mt}=N(),{height:Rt}=I(),$t=j(),[Bt,Xt]=u((()=>ee([Fe,Re]).chatInput)),[Kt,Ft]=u(!1),[Gt,Vt]=u(!1),[Ht,Wt]=u(!1),[qt,Jt]=u(!1),[zt,Qt]=u([]),[Yt,Zt]=u(!1),[en,tn]=u(null),[nn,on]=u(null),[sn,rn]=u(null),[an,ln]=u(null),[dn,cn]=u(!1),[un,pn]=u(!1),[mn,gn]=u(0),fn=p(null),vn=p(""),hn=p(null),bn=p(null),yn=p(null),xn=p([]),jn=p(null),In=p(null),wn=p(null),kn=p(null),On=p(new Set),Nn=p(null),Sn=Math.max(.4*Rt,100),{speechTranscript:Cn,isSpeechListening:En,isSpeechProcessing:_n,isSpeechSupported:Tn,onStartListening:Un,onStopListening:An}=se(),Pn=S(),{isHover:Dn}=Pn,Ln=e(Pn,["isHover"]),Mn=S(),{isHover:Rn}=Mn,$n=e(Mn,["isHover"]),Bn=S(),{isHover:Xn}=Bn,Kn=e(Bn,["isHover"]),Fn=x(),Gn=y(),Vn="undefined"!=typeof window?window.location.hostname:"",Hn="undefined"!=typeof window?window.location.href:"",Wn="undefined"!=typeof window&&window.self!==window.top,qn=Vn.includes("pickaxe.co")&&!Hn.includes("https://studio.pickaxe.co/_embed")&&!Wn,Jn=null!==(xe=null===(ye=null==Ve?void 0:Ve.documentuploadtype)||void 0===ye?void 0:ye.startsWith("enduserupload"))&&void 0!==xe&&xe,zn=Tn&&(null==Ve?void 0:Ve.enablevoicetotext),Qn=En&&!Bt.trim(),Yn=ae(Fe),Zn="chat-input"===Ge&&Qe&&!gt,eo="chat-input"===Ge&&ft&&mt&&gt,to=m((e=>{const t=q(e);return!!t&&(jt(""),xt(null),st(t.status),at(t.accessGroup),it(t.upgradeGroups),rt(t.upgradeUrl),!0)}),[jt,It,xt,st,it,rt,at]),no=null!==(je=null==Ve?void 0:Ve.placeholdertext)&&void 0!==je?je:Ye?"بماذا تريد أن تتحدث؟":(null==qe?void 0:qe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",oo=Kt||Gt,so=m((()=>t(void 0,void 0,void 0,(function*(){cn(!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==Ve?void 0:Ve.studioid},pt?{studioSessionToken:pt}:Be?{sender:Be}:{sender:Y()}))},(!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}})),qn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(rn(t.studioUser),ln(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{cn(!0)}}))),[qn,null==Ve?void 0:Ve.studioid,Be,pt]);g((()=>{so()}),[so]);const io=Number(null!==(Ie=null==tt?void 0:tt.limit)&&void 0!==Ie?Ie:0),ro="string"==typeof(null==tt?void 0:tt.limitInterval)?tt.limitInterval:null,ao=!!(null==Et?void 0:Et.data.usage)&&Et.data.usage.isCredits,lo=f((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=Ke?Ke:pe(sn,"portalId"))&&void 0!==e?e:pe(sn,"portalid"))&&void 0!==t?t:pe(tt,"portalId"))&&void 0!==n?n:pe(tt,"portalid"))&&void 0!==o?o:pe(Ve,"portalId"))&&void 0!==s?s:pe(Ve,"portalid")}),[tt,Ke,Ve,sn]),co=f((()=>ge({studioUser:sn,deploymentId:Fe,portalId:lo})),[Fe,lo,sn]);g((()=>{Yn&&Qe&&$e&&On.current.add($e)}),[Qe,$e,Yn]);const uo=m((()=>{var e,t,n;return{studioId:null==Ve?void 0:Ve.studioid,userEmail:pe(sn,"email"),userId:null!==(e=pe(sn,"userId"))&&void 0!==e?e:pe(sn,"userid"),sessionId:$e,deploymentId:Fe,deploymentType:Ge,portalId:lo,accessGroupId:null!==(t=null==tt?void 0:tt.accessGroupId)&&void 0!==t?t:null,pickaxeId:Re,sender:Be,senderType:Xe,origin:Me,metadata:null!==(n=Z(Fe))&&void 0!==n?n:null}}),[null==tt?void 0:tt.accessGroupId,Fe,Ge,Me,null==Ve?void 0:Ve.studioid,Re,lo,Be,Xe,$e,sn]),po=m((()=>!!(Yn&&dn&&$e)&&(!!On.current.has($e)&&(te(uo()),On.current.delete($e),!0))),[uo,dn,$e,Yn]);g((()=>{if(!dn||!$e)return;po();const e=Nn.current;(null==e?void 0:e.sessionId)===$e&&(ne(Object.assign(Object.assign(Object.assign({},e),uo()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Nn.current=null)}),[po,uo,dn,$e]);const mo={currentUses:me(null==sn?void 0:sn.currentUses),extraUses:me(null==sn?void 0:sn.extraUses)},go=co.scope?{currentUses:null!==(ke=me(null===(we=co.record)||void 0===we?void 0:we.currentUses))&&void 0!==ke?ke:0,extraUses:null!==(Ne=me(null===(Oe=co.record)||void 0===Oe?void 0:Oe.extraUses))&&void 0!==Ne?Ne:0}:{currentUses:0,extraUses:0},fo=pe(sn,"type"),vo="guest"===fo||!fo&&mt?go:mo;g((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(ao&&(null===(t=null==Et?void 0:Et.data)||void 0===t?void 0:t.workspaceId))try{const t=yield W.get(`/cost_per_run?workspaceId=${Et.data.workspaceId}`,{withCredentials:!1});e&&gn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&gn(0)}else e&&gn(0)})),()=>{e=!1}}),[ao,null===(Se=null==Et?void 0:Et.data)||void 0===Se?void 0:Se.workspaceId]);const ho=(({accessGroupType:e,currentUses:t,extraUses:n,limit:o,limitInterval:s})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===s?o===ie?ie:Math.max(0,o-i):o===ie||r===ie?ie:"one_time"===s?Math.max(0,r-i):Math.max(0,o-i)+r})({accessGroupType:null==tt?void 0:tt.type,currentUses:vo.currentUses,extraUses:vo.extraUses,limit:io,limitInterval:ro}),bo=ho===ie?ie:Math.max(0,Math.ceil(ho)),yo=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=t?t:0);return"public"===e&&"one_time"===o?n===ie?ie:Math.max(0,n):n===ie||s===ie?ie:"one_time"===o?Math.max(0,s):Math.max(0,n)+Math.max(0,s)})({accessGroupType:null==tt?void 0:tt.type,extraUses:vo.extraUses,limit:io,limitInterval:ro}),xo=yo===ie?ie:Math.ceil(.05*yo),jo=ao?Math.ceil(5*mn):5,Io=xo===ie?ie:Math.max(xo,jo),wo=f((()=>!!sn&&(!un&&(bo!==ie&&(!(yo<=0||bo>=yo)&&bo<=Io)))),[un,Io,bo,sn,yo]),ko=Boolean(null==tt?void 0:tt.hideUpgradeOptions),Oo=Boolean(!ko&&((null===(Ce=null==tt?void 0:tt.upgrade)||void 0===Ce?void 0:Ce.isBuyMoreUses)||(null===(Ee=null==tt?void 0:tt.upgrade)||void 0===Ee?void 0:Ee.isLinkToCustomURL)||(null===(_e=null==tt?void 0:tt.upgrade)||void 0===_e?void 0:_e.isUpgradeToAnotherGroup)&&(null===(Te=tt.upgrade.accessGroupIds)||void 0===Te?void 0:Te.length))),No=!ko&&(null===(Ue=null==tt?void 0:tt.upgrade)||void 0===Ue?void 0:Ue.isLinkToCustomURL)&&"string"==typeof tt.upgrade.limitLink&&tt.upgrade.limitLink.trim().length>0?tt.upgrade.limitLink.trim():null,So=No&&"string"==typeof(null===(Ae=null==tt?void 0:tt.upgrade)||void 0===Ae?void 0:Ae.limitCTA)&&tt.upgrade.limitCTA.trim().length>0?tt.upgrade.limitCTA:(null==qe?void 0:qe["pricing.upgrade"])||(null==qe?void 0:qe.upgrade)||"Upgrade",Co=f((()=>{var e,t,n;return!!Qe&&(!!Ve&&(!$t.isLoading&&(!((null!==(t=null===(e=$t.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ve.icebreakers)||void 0===n?void 0:n.length)&&(!et&&!Zn)))))}),[Ve,Qe,et,Zn,$t.data,$t.isLoading]),Eo=f((()=>{if(kt||Ht)return!1;const e=Jn&&wt.length>0&&wt.every((e=>"finished"===e.status));return!(!Bt.trim()&&!e)&&wt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Jn,kt,Ht,Bt,wt]);v(be,(()=>({onSubmit:Po}))),g((()=>{ot(Co)}),[Co]),g((()=>{var e;if(c){const t=Array.from(vt),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Po(n,!0)}}),[c]),g((()=>{if(!wn.current||!ve)return;const e=new ResizeObserver((e=>{for(const t of e)ve(t.contentRect.height)}));return e.observe(wn.current),()=>{e.disconnect()}}),[ve]),g((()=>{if(!En)return;const e=vn.current?`${vn.current} `:"";Xt(`${e}${Cn}`)}),[Cn,En]),g((()=>{if(!jn.current)return;(()=>{if(!jn.current)return;let e=jn.current.scrollHeight>52;Bt.includes("\n")||wt.length?e=!0:Bt.trim()||(e=!1),Ft(e)})()}),[Bt,wt]),g((()=>{const e=jn.current,t=In.current;if(!e||!t||ut||Kt||Bt.includes("\n"))return void Vt(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=Bt||no,document.body.appendChild(s);const i=s.offsetWidth;s.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Vt(i>l)}),[Bt,Kt,no,ut]);const _o=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:bn.current))return!1;const t=de(xn.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},qn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),To=e=>{yn.current=e,kn.current&&(kn.current.abort(),kn.current=null),hn.current&&(hn.current.cancel().catch((()=>{})),hn.current=null)},Uo=e=>t(void 0,void 0,void 0,(function*(){const t=Date.now()+3e4;for(;Date.now()<t;){try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${e}`,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}))},qn&&{credentials:"include"}));if(t.ok){if((yield t.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),Ao=()=>{const e=bn.current;e&&!Ht&&!kt&&Bt.trim()&&(Qt((t=>{var n,o;return[...t,{id:le(),message:Bt,predecessorSubmissionId:null!==(o=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==o?o:e}]})),Xt(""))},Po=(e,n=!1,o=!1,s,r=!1)=>t(void 0,void 0,void 0,(function*(){var t,a,c,u,p;if(!i(Ve))return;let m=null;try{if(ht&&!o||kt)return;const i=wt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),g=i.map((e=>e.documentId)).filter(Boolean),f=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),v=null!=e?e:Bt,h=null!==(a=null===(t=null==Ve?void 0:Ve.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==a&&a&&g.length>0;if(!v&&!h)return;jt(""),Ct(""),xt(null),Xt(""),nt(!1),Jt(!1),yt("fetching"),Tt(),At();const b=n?vt.slice(0,vt.length-1):vt,y=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(b),x=y+(n?0:1),j={id:x,role:"assistant",parts:[],documentIds:[]},I=[...b,...n?[]:[{id:y,role:"user",parts:[{type:"text",content:v,isVisible:!0}],documentIds:h?g:[]}],j];bt(I),At(),h&&St([]);const w=Z(Fe),k=null!=s?s:le();m=k,bn.current=k,yn.current=null,xn.current=[];const O=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:ct||void 0,origin:Me,pickaxeId:Re,sessionId:$e,submissionId:k},r&&{interactionType:"steer"}),{senderType:Xe,value:v}),h&&{documentIds:g}),Be&&{sender:Be}),pt&&{studioSessionToken:pt}),!pt&&!Be&&{sender:Y()}),lo&&{portalId:lo}),Fe&&{deploymentId:Fe}),w&&{metadata:w}),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()})},qn&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(to(N))return;throw new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation")}It(null!==(c=N.actionApprovalToken)&&void 0!==c?c:null);const S=null!==(u=N.submissionId)&&void 0!==u?u:k;m=S,bn.current=S;const C=()=>yn.current===S;if(C())return;Yn&&Qe&&$e&&On.current.add($e);const E=Object.assign(Object.assign({},uo()),{message:v,documentIds:h?g:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=w?w:null});dn?(po(),ne(E)):Nn.current=E,yt("streaming"),kn.current=new AbortController;const _=[];let T=[...null!=Pt?Pt:[]],A=0,P=!1,D="";for(;!P;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${S}?index=${A}`,{signal:null===(p=kn.current)||void 0===p?void 0:p.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();hn.current=t;const n=new TextDecoder,o=U({onEvent:e=>{var t,n;if(C())P=!0;else if(e.event&&"ping"!==e.event&&A++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong"])||"Something went wrong.";return to(t)||jt(n),void(P=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("finish"===o.type)return void Jt(!0);if("data-error"===o.type&&he){const e=o.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"smithery",smitheryId:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw P=!0,he({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 P=!0,he({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===o.type)D="",_.push({type:"text",content:"",isVisible:null===(t=o.isVisible)||void 0===t||t});else if("text-delta"===o.type)D+=o.delta,l(_,"text",D);else if("text-end"===o.type)D="";else if("reasoning-start"===o.type)D="",_.push({type:"reasoning",content:"",isVisible:null===(n=o.isVisible)||void 0===n||n});else if("reasoning-delta"===o.type)D+=o.delta,l(_,"reasoning",D);else if("reasoning-end"===o.type)D="";else if(o.type.startsWith("data-")){const e=o;"data-action-approval"===e.type?d(_,e.data):_.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}xn.current=de(_);const s=de(_);bt((e=>{const t=e.findIndex((e=>e.id===x)),n=Object.assign(Object.assign({},j),{parts:s});return-1===t?[...e,n]:e.map(((e,o)=>o===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt([...T]),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");T=T.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Lt(T)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Lt(T.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 xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(to(t))return void(P=!0);jt(n)}else"stop"===e.event&&(P=!0)}else P=!0}});for(;;){if(C()){P=!0,t.cancel().catch((()=>{}));break}const{value:e,done:s}=yield t.read();if(C()){P=!0,t.cancel().catch((()=>{}));break}if(s)break;o.feed(n.decode(e))}P||C()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||ce(e)||C())return void(P=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==dt||dt($e)}catch(e){if(ce(e))return;if(e.limitData)xt(e.limitData),jt("");else{let t=H(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==qe?void 0:qe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),to(t)||jt(t)}}finally{const e=!m||bn.current===m;At(),e&&(yt("idle"),Ut(),hn.current=null),m&&e&&(bn.current=null,xn.current=[]),yield so()}}));return g((()=>{if(ht||Ht||Yt||0===zt.length)return;const e=zt[0];Zt(!0),tn(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield Uo(e.predecessorSubmissionId)))return void jt((null==qe?void 0:qe["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Qt((t=>t.filter((t=>t.id!==e.id)))),yield Po(e.message,!1,!0,e.id)}finally{Zt(!1),tn(null)}}))}),[ht,Yt,Ht,zt]),eo?null:n("div",Object.assign({className:J("flex w-full flex-shrink-0 flex-col items-center",!Zn&&"px-4 pb-8"),dir:Ye?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[zt.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:We.text+"18",backgroundColor:null!==(Pe=Gn.backgroundColor)&&void 0!==Pe?Pe:We.text+"08",color:We.text,borderTopLeftRadius:Math.max(He.cornerRadius-4,12),borderTopRightRadius:Math.max(He.cornerRadius-4,12)}},{children:zt.map(((e,i)=>{var r;return o("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<zt.length-1?{borderBottom:`1px solid ${We.text}12`}:void 0},{children:[n(L,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),n("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:e.message},{children:e.message})),nn===e.id||en===e.id?o("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[n("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),nn===e.id?(null==qe?void 0:qe.steering)||"Steering...":(null==qe?void 0:qe.starting)||"Starting..."]})):o(s,{children:[o("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:Ht||!ht,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=bn.current;if(!t||Ht)return;const n=zt.findIndex((t=>t.id===e.id));if(-1===n)return;Wt(!0),on(e.id),jt(""),To(t);let o=!1;try{if(!(yield _o(t)))throw new Error((null==qe?void 0:qe["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield Uo(t)))throw new Error((null==qe?void 0:qe["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");yt("idle"),Qt((t=>t.filter((t=>t.id!==e.id)))),o=!0,Wt(!1),on(null),yield Po(e.message,!1,!0,e.id,!0)}catch(t){yt("idle"),o&&Qt((t=>{if(t.some((t=>t.id===e.id)))return t;const o=[...t];return o.splice(n,0,e),o})),jt(H(t))}finally{Wt(!1),on(null)}}))})(e)},"aria-label":`${(null==qe?void 0:qe["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==qe?void 0:qe.steer)||"Steer"]})),n("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:Ht,onClick:()=>{return t=e.id,void Qt((e=>re(e,t)));var t},"aria-label":`${(null==qe?void 0:qe["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(R,{className:"h-4 w-4","aria-hidden":"true"})})),o(F,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n(G,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Ht,role:"button",tabIndex:Ht?-1:0,"aria-haspopup":"menu","aria-label":(null==qe?void 0:qe["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:o("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[n("circle",{cx:"5",cy:"12",r:"1.6"}),n("circle",{cx:"12",cy:"12",r:"1.6"}),n("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),n(V,Object.assign({role:"menu",align:Ye?"bottom-start":"bottom-end",positionStrategy:Ze?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Gn.backgroundColor)&&void 0!==r?r:We.primary,color:We.text,borderRadius:"12px"},border:`1px solid ${We.text}20`},{children:o("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=>{Qt((t=>re(t,e.id))),Xt(e.message),requestAnimationFrame((()=>{const t=jn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n($,{className:"h-4 w-4 shrink-0"}),(null==qe?void 0:qe["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),o("div",Object.assign({ref:wn,className:J("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===He.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Gn),{maxHeight:`${Sn}px`,overflowY:"auto"})},{children:[wo&&o("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Gn.backgroundColor?`${Gn.backgroundColor}E6`:void 0,borderColor:We.text+"20",color:We.text,borderTopRightRadius:He.cornerRadius+"px",borderTopLeftRadius:He.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[bo.toLocaleString()," ",ao?(null==qe?void 0:qe.credits)||"Credits":(null==qe?void 0:qe.uses)||"Uses"," ",(null==qe?void 0:qe.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[Oo&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:We.accent,color:We.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),No)return void window.open(No,"_blank","noopener,noreferrer");if(lt)return void lt();const t=z({baseUrl:an,accessGroupId:null==tt?void 0:tt.accessGroupId});t&&Q({deploymentId:Fe,pricingUrl:t,studioId:null==Ve?void 0:Ve.studioid,studioSessionToken:pt})}},{children:So})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>pn(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!ht&&wt.length>0&&n(B,{className:"p-4 pb-0",isDisabled:ht}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Qn&&o("div",Object.assign({className:J(ut?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Ye?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(De=We.accent)&&void 0!==De?De:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:We.text+"90"}},{children:(null==qe?void 0:qe.listening)||"Listening..."}))]})),n(X,Object.assign({ref:jn,className:J(Fn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Bt.trim()&&!Bt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ye?"text-right":"text-left",!ut&&oo&&"mb-12"),value:Bt,placeholder:Qn?"":no,onChange:e=>{Xt(e)},onKeyDown:e=>{ze||_t||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),kt||Ht||(ht?Ao():Po())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!Jn)return;e.preventDefault(),nt(!1),yield Nt(t)}}))},ue&&{onFocus:ue},fe&&{onBlur:fe},{dir:Ye?"rtl":"ltr"})),o("div",Object.assign({ref:In,className:ut?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":J("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",oo?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!oo&&Gn.backgroundColor&&{backgroundColor:Gn.backgroundColor}),{borderTopRightRadius:He.cornerRadius+"px",borderBottomRightRadius:He.cornerRadius+"px"})},{children:[!ht&&!En&&Jn&&o("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Rn?We.accent+"10":void 0,color:Rn?We.accent:We.accent+"80"},disabled:kt||ht,"aria-label":null!==(Le=null==qe?void 0:qe["attach-files"])&&void 0!==Le?Le:"Attach files",onClick:()=>{var e;return null===(e=fn.current)||void 0===e?void 0:e.click()}},$n,{children:[n("input",{id:"file-upload",ref:fn,type:"file",accept:[...E,..._,...T].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){nt(!1),yield Nt(Array.from(e.target.files||[])),e.target.value=""}))}),n(A,{className:"h-6 w-6 shrink-0"})]})),n(a,{compact:!0}),ht&&!qt?o(s,{children:[n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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=bn.current;e&&(To(e),_o(e)),yt("idle")},style:{backgroundColor:We.accent+"10",color:We.accent}},{children:n(M,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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:Ht||kt||!Bt.trim(),onClick:Ao,style:{backgroundColor:Bt.trim()?We.accent:We.accent+"10",color:Bt.trim()?We.accentText:We.accent+"80"}},{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]}):En?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:An,style:{backgroundColor:We.accent,color:We.accentText}},{children:n(M,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[zn&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:En?We.accent:Xn?We.accent+"10":void 0,color:En?We.accentText:Xn?We.accent:We.accent+"80"},disabled:kt||ht||_n,onClick:()=>{En?An():(vn.current=Bt,Un(Je||"en-US"))}},Kn,{children:n(D,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Dn||Eo?We.accent:We.accent+"10",color:Dn||Eo?We.accentText:We.accent+"80"},disabled:!Eo,onClick:()=>Po()},Ln,{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]})]}))]}))]})),Ot&&n(K,{error:Ot,className:"mt-3"})]}))}))}));fe.displayName="Input";export{fe as default};
1
+ import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{canChat as i}from"../../../common/canChat.js";import{useEndUserModel as r}from"../../../hooks/pickaxe/useEndUserModel.js";import a from"../common/EndUserModelPicker.js";import{updateStreamTextPart as l,upsertActionApprovalPart as d}from"../../../common/actionApproval.js";import{forwardRef as c,useState as u,useRef as p,useCallback as m,useEffect as g,useMemo as f,useImperativeHandle as v}from"react";import{usePickaxeContext as h}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as b}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as y}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as x}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as j}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as I}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as w}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as k}from"../Addons/Document/hooks/useDocument.js";import{useScroll as O}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as N}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as S}from"../../../hooks/core/useHover.js";import{useMediaQuery as C}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as E,allowedImageMimeTypes as _,additionalAllowedFileExtensions as T}from"../../../common/documents.js";import{createParser as U}from"eventsource-parser";import A from"../../Icons/attach-vertical.svg.js";import P from"../../Icons/arrow-right.svg.js";import D from"../../Icons/microphone.svg.js";import L from"../../Icons/message-clock.svg.js";import M from"../../Icons/stop.svg.js";import R from"../../Icons/trash.svg.js";import $ from"../../Icons/pencil.svg.js";import B from"../Addons/Document/List.js";import X from"../../Core/Textarea.js";import K from"../../Core/ErrorAlert.js";import F from"../../Core/Menu/index.js";import G from"../../Core/Menu/Button.js";import V from"../../Core/Menu/List.js";import H from"../../../common/error.js";import{pickaxeApi2 as W}from"../../../common/api/pickaxe.js";import{getValidationFailure as q}from"../../../common/validation.js";import J from"../../../common/cn.js";import{buildUpgradeUrl as z,openAuthenticatedPricingUrl as Q,initializeEmbedUserId as Y}from"../../../common/utils.js";import{getPickaxeConfigMetadata as Z}from"../../../common/pickaxeConfig.js";import{readAgentPrefill as ee}from"../../../common/agentPrefill.js";import{fireDeploymentSessionInitializedWebhook as te,fireDeploymentFirstMessageSubmittedWebhook as ne}from"../../../common/deploymentWebhooks.js";import{useStudio as oe}from"../../../hooks/studio/useStudio.js";import{useSpeechToText as se}from"../../../hooks/pickaxe/useSpeechToText.js";import{STUDIO_INFINITY_VALUE as ie}from"../common/PickaxeCommon.js";const re=(e,t)=>{const n=e.find((e=>e.id===t));return n?e.filter((e=>e.id!==t)).map((e=>e.predecessorSubmissionId===t?Object.assign(Object.assign({},e),{predecessorSubmissionId:n.predecessorSubmissionId}):e)):e},ae=e=>"string"==typeof e&&e.trim().length>0,le=()=>"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`,de=e=>e.map((e=>Object.assign({},e))),ce=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),ue=(e,t)=>{if(e&&"object"==typeof e)return e[t]},pe=(e,t)=>{const n=ue(e,t);return ae(n)?n:null},me=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ge=({studioUser:e,deploymentId:t,portalId:n})=>{var o,s;const i=Array.isArray(ue(e,"uses"))?ue(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>ae(e)?{type:"deployment",id:e}:ae(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(s=null!==(o=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==o?o:i.find((e=>e.id===r.id)))&&void 0!==s?s:null;return{scope:r,record:a}},fe=c((({resubmitPrompt:c,onFocus:ue,onBlur:fe,onInputHeightChange:ve,initSmitheryAuthData:he},be)=>{var ye,xe,je,Ie,we,ke,Oe,Ne,Se,Ce,Ee,_e,Te,Ue,Ae,Pe,De,Le;const{origin:Me,pickaxeId:Re,sessionId:$e,sender:Be,senderType:Xe,portalId:Ke,deploymentId:Fe,deploymentType:Ge,pickaxe:Ve,styles:He,colors:We,translations:qe,locale:Je,forceMobile:ze,isNewChat:Qe,isRtl:Ye,isEmbed:Ze,isShowFeedbackMessage:et,accessGroup:tt,setIsNewChat:nt,setIsShowIceBreaker:ot,setValidationStatus:st,setValidationUpgradeGroups:it,setValidationUpgradeUrl:rt,setAccessGroup:at,onUpgrade:lt,onGenerateComplete:dt}=h(),{value:ct,enabled:ut}=r(),{token:pt,isLoggedOut:mt,isSent:gt,isPricingAuth:ft}=w(),{messages:vt,isGenerating:ht,setMessages:bt,setStatus:yt,setLimitData:xt,setError:jt,setActionApprovalToken:It}=b(),{documents:wt,isUploading:kt,documentError:Ot,onFileUpload:Nt,setDocuments:St,setDocumentError:Ct}=k(),{studio:Et}=oe(),[_t]=C("(max-width: 480px)"),{scrollStartSession:Tt,scrollEndSession:Ut,scrollToBottom:At}=O({auto:!0,smooth:!(ze||_t)}),{artifacts:Pt,currentPopupType:Dt,setArtifacts:Lt,setCurrentArtifact:Mt}=N(),{height:Rt}=I(),$t=j(),[Bt,Xt]=u((()=>ee([Fe,Re]).chatInput)),[Kt,Ft]=u(!1),[Gt,Vt]=u(!1),[Ht,Wt]=u(!1),[qt,Jt]=u(!1),[zt,Qt]=u([]),[Yt,Zt]=u(!1),[en,tn]=u(null),[nn,on]=u(null),[sn,rn]=u(null),[an,ln]=u(null),[dn,cn]=u(!1),[un,pn]=u(!1),[mn,gn]=u(0),fn=p(null),vn=p(""),hn=p(null),bn=p(null),yn=p(null),xn=p([]),jn=p(null),In=p(null),wn=p(null),kn=p(null),On=p(new Set),Nn=p(null),Sn=Math.max(.4*Rt,100),{speechTranscript:Cn,isSpeechListening:En,isSpeechProcessing:_n,isSpeechSupported:Tn,onStartListening:Un,onStopListening:An}=se(),Pn=S(),{isHover:Dn}=Pn,Ln=e(Pn,["isHover"]),Mn=S(),{isHover:Rn}=Mn,$n=e(Mn,["isHover"]),Bn=S(),{isHover:Xn}=Bn,Kn=e(Bn,["isHover"]),Fn=x(),Gn=y(),Vn="undefined"!=typeof window?window.location.hostname:"",Hn="undefined"!=typeof window?window.location.href:"",Wn="undefined"!=typeof window&&window.self!==window.top,qn=Vn.includes("pickaxe.co")&&!Hn.includes("https://studio.pickaxe.co/_embed")&&!Wn,Jn=null!==(xe=null===(ye=null==Ve?void 0:Ve.documentuploadtype)||void 0===ye?void 0:ye.startsWith("enduserupload"))&&void 0!==xe&&xe,zn=Tn&&(null==Ve?void 0:Ve.enablevoicetotext),Qn=En&&!Bt.trim(),Yn=ae(Fe),Zn="chat-input"===Ge&&Qe&&!gt,eo="chat-input"===Ge&&ft&&mt&&gt,to=m((e=>{const t=q(e);return!!t&&(jt(""),xt(null),st(t.status),at(t.accessGroup),it(t.upgradeGroups),rt(t.upgradeUrl),!0)}),[jt,It,xt,st,it,rt,at]),no=null!==(je=null==Ve?void 0:Ve.placeholdertext)&&void 0!==je?je:Ye?"بماذا تريد أن تتحدث؟":(null==qe?void 0:qe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",oo=Kt||Gt,so=m((()=>t(void 0,void 0,void 0,(function*(){cn(!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==Ve?void 0:Ve.studioid},pt?{studioSessionToken:pt}:Be?{sender:Be}:{sender:Y()}))},(!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}})),qn&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(rn(t.studioUser),ln(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{cn(!0)}}))),[qn,null==Ve?void 0:Ve.studioid,Be,pt]);g((()=>{so()}),[so]);const io=Number(null!==(Ie=null==tt?void 0:tt.limit)&&void 0!==Ie?Ie:0),ro="string"==typeof(null==tt?void 0:tt.limitInterval)?tt.limitInterval:null,ao=!!(null==Et?void 0:Et.data.usage)&&Et.data.usage.isCredits,lo=f((()=>{var e,t,n,o,s;return null!==(s=null!==(o=null!==(n=null!==(t=null!==(e=null!=Ke?Ke:pe(sn,"portalId"))&&void 0!==e?e:pe(sn,"portalid"))&&void 0!==t?t:pe(tt,"portalId"))&&void 0!==n?n:pe(tt,"portalid"))&&void 0!==o?o:pe(Ve,"portalId"))&&void 0!==s?s:pe(Ve,"portalid")}),[tt,Ke,Ve,sn]),co=f((()=>ge({studioUser:sn,deploymentId:Fe,portalId:lo})),[Fe,lo,sn]);g((()=>{Yn&&Qe&&$e&&On.current.add($e)}),[Qe,$e,Yn]);const uo=m((()=>{var e,t,n;return{studioId:null==Ve?void 0:Ve.studioid,userEmail:pe(sn,"email"),userId:null!==(e=pe(sn,"userId"))&&void 0!==e?e:pe(sn,"userid"),sessionId:$e,deploymentId:Fe,deploymentType:Ge,portalId:lo,accessGroupId:null!==(t=null==tt?void 0:tt.accessGroupId)&&void 0!==t?t:null,pickaxeId:Re,sender:Be,senderType:Xe,origin:Me,metadata:null!==(n=Z(Fe))&&void 0!==n?n:null}}),[null==tt?void 0:tt.accessGroupId,Fe,Ge,Me,null==Ve?void 0:Ve.studioid,Re,lo,Be,Xe,$e,sn]),po=m((()=>!!(Yn&&dn&&$e)&&(!!On.current.has($e)&&(te(uo()),On.current.delete($e),!0))),[uo,dn,$e,Yn]);g((()=>{if(!dn||!$e)return;po();const e=Nn.current;(null==e?void 0:e.sessionId)===$e&&(ne(Object.assign(Object.assign(Object.assign({},e),uo()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Nn.current=null)}),[po,uo,dn,$e]);const mo={currentUses:me(null==sn?void 0:sn.currentUses),extraUses:me(null==sn?void 0:sn.extraUses)},go=co.scope?{currentUses:null!==(ke=me(null===(we=co.record)||void 0===we?void 0:we.currentUses))&&void 0!==ke?ke:0,extraUses:null!==(Ne=me(null===(Oe=co.record)||void 0===Oe?void 0:Oe.extraUses))&&void 0!==Ne?Ne:0}:{currentUses:0,extraUses:0},fo=pe(sn,"type"),vo="guest"===fo||!fo&&mt?go:mo;g((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(ao&&(null===(t=null==Et?void 0:Et.data)||void 0===t?void 0:t.workspaceId))try{const t=yield W.get(`/cost_per_run?workspaceId=${Et.data.workspaceId}`,{withCredentials:!1});e&&gn(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&gn(0)}else e&&gn(0)})),()=>{e=!1}}),[ao,null===(Se=null==Et?void 0:Et.data)||void 0===Se?void 0:Se.workspaceId]);const ho=(({accessGroupType:e,currentUses:t,extraUses:n,limit:o,limitInterval:s})=>{const i=Number(null!=t?t:0),r=Number(null!=n?n:0);return"public"===e&&"one_time"===s?o===ie?ie:Math.max(0,o-i):o===ie||r===ie?ie:"one_time"===s?Math.max(0,r):Math.max(0,o-i)+r})({accessGroupType:null==tt?void 0:tt.type,currentUses:vo.currentUses,extraUses:vo.extraUses,limit:io,limitInterval:ro}),bo=ho===ie?ie:Math.max(0,Math.ceil(ho)),yo=(({accessGroupType:e,extraUses:t,limit:n,limitInterval:o})=>{const s=Number(null!=t?t:0);return"public"===e&&"one_time"===o?n===ie?ie:Math.max(0,n):n===ie||s===ie?ie:"one_time"===o?Math.max(0,s):Math.max(0,n)+Math.max(0,s)})({accessGroupType:null==tt?void 0:tt.type,extraUses:vo.extraUses,limit:io,limitInterval:ro}),xo=yo===ie?ie:Math.ceil(.05*yo),jo=ao?Math.ceil(5*mn):5,Io=xo===ie?ie:Math.max(xo,jo),wo=f((()=>!!sn&&(!un&&(bo!==ie&&(!(yo<=0||bo>=yo)&&bo<=Io)))),[un,Io,bo,sn,yo]),ko=Boolean(null==tt?void 0:tt.hideUpgradeOptions),Oo=Boolean(!ko&&((null===(Ce=null==tt?void 0:tt.upgrade)||void 0===Ce?void 0:Ce.isBuyMoreUses)||(null===(Ee=null==tt?void 0:tt.upgrade)||void 0===Ee?void 0:Ee.isLinkToCustomURL)||(null===(_e=null==tt?void 0:tt.upgrade)||void 0===_e?void 0:_e.isUpgradeToAnotherGroup)&&(null===(Te=tt.upgrade.accessGroupIds)||void 0===Te?void 0:Te.length))),No=!ko&&(null===(Ue=null==tt?void 0:tt.upgrade)||void 0===Ue?void 0:Ue.isLinkToCustomURL)&&"string"==typeof tt.upgrade.limitLink&&tt.upgrade.limitLink.trim().length>0?tt.upgrade.limitLink.trim():null,So=No&&"string"==typeof(null===(Ae=null==tt?void 0:tt.upgrade)||void 0===Ae?void 0:Ae.limitCTA)&&tt.upgrade.limitCTA.trim().length>0?tt.upgrade.limitCTA:(null==qe?void 0:qe["pricing.upgrade"])||(null==qe?void 0:qe.upgrade)||"Upgrade",Co=f((()=>{var e,t,n;return!!Qe&&(!!Ve&&(!$t.isLoading&&(!((null!==(t=null===(e=$t.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Ve.icebreakers)||void 0===n?void 0:n.length)&&(!et&&!Zn)))))}),[Ve,Qe,et,Zn,$t.data,$t.isLoading]),Eo=f((()=>{if(kt||Ht)return!1;const e=Jn&&wt.length>0&&wt.every((e=>"finished"===e.status));return!(!Bt.trim()&&!e)&&wt.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Jn,kt,Ht,Bt,wt]);v(be,(()=>({onSubmit:Po}))),g((()=>{ot(Co)}),[Co]),g((()=>{var e;if(c){const t=Array.from(vt),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Po(n,!0)}}),[c]),g((()=>{if(!wn.current||!ve)return;const e=new ResizeObserver((e=>{for(const t of e)ve(t.contentRect.height)}));return e.observe(wn.current),()=>{e.disconnect()}}),[ve]),g((()=>{if(!En)return;const e=vn.current?`${vn.current} `:"";Xt(`${e}${Cn}`)}),[Cn,En]),g((()=>{if(!jn.current)return;(()=>{if(!jn.current)return;let e=jn.current.scrollHeight>52;Bt.includes("\n")||wt.length?e=!0:Bt.trim()||(e=!1),Ft(e)})()}),[Bt,wt]),g((()=>{const e=jn.current,t=In.current;if(!e||!t||ut||Kt||Bt.includes("\n"))return void Vt(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=Bt||no,document.body.appendChild(s);const i=s.offsetWidth;s.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;Vt(i>l)}),[Bt,Kt,no,ut]);const _o=e=>t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:bn.current))return!1;const t=de(xn.current);try{return(yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()}),body:JSON.stringify({outputMessageParts:t})},qn&&{credentials:"include"}))).ok}catch(e){return console.warn("Failed to cancel submission",e),!1}})),To=e=>{yn.current=e,kn.current&&(kn.current.abort(),kn.current=null),hn.current&&(hn.current.cancel().catch((()=>{})),hn.current=null)},Uo=e=>t(void 0,void 0,void 0,(function*(){const t=Date.now()+3e4;for(;Date.now()<t;){try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/status/${e}`,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}))},qn&&{credentials:"include"}));if(t.ok){if((yield t.json()).terminal)return!0}}catch(e){console.warn("Failed to read submission status",e)}yield new Promise((e=>setTimeout(e,250)))}return!1})),Ao=()=>{const e=bn.current;e&&!Ht&&!kt&&Bt.trim()&&(Qt((t=>{var n,o;return[...t,{id:le(),message:Bt,predecessorSubmissionId:null!==(o=null===(n=t[t.length-1])||void 0===n?void 0:n.id)&&void 0!==o?o:e}]})),Xt(""))},Po=(e,n=!1,o=!1,s,r=!1)=>t(void 0,void 0,void 0,(function*(){var t,a,c,u,p;if(!i(Ve))return;let m=null;try{if(ht&&!o||kt)return;const i=wt.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),g=i.map((e=>e.documentId)).filter(Boolean),f=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),v=null!=e?e:Bt,h=null!==(a=null===(t=null==Ve?void 0:Ve.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==a&&a&&g.length>0;if(!v&&!h)return;jt(""),Ct(""),xt(null),Xt(""),nt(!1),Jt(!1),yt("fetching"),Tt(),At();const b=n?vt.slice(0,vt.length-1):vt,y=(e=>e.reduce(((e,t)=>Math.max(e,t.id)),0)+1)(b),x=y+(n?0:1),j={id:x,role:"assistant",parts:[],documentIds:[]},I=[...b,...n?[]:[{id:y,role:"user",parts:[{type:"text",content:v,isVisible:!0}],documentIds:h?g:[]}],j];bt(I),At(),h&&St([]);const w=Z(Fe),k=null!=s?s:le();m=k,bn.current=k,yn.current=null,xn.current=[];const O=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({supportsActionConfirmation:!0,selectedModel:ct||void 0,origin:Me,pickaxeId:Re,sessionId:$e,submissionId:k},r&&{interactionType:"steer"}),{senderType:Xe,value:v}),h&&{documentIds:g}),Be&&{sender:Be}),pt&&{studioSessionToken:pt}),!pt&&!Be&&{sender:Y()}),lo&&{portalId:lo}),Fe&&{deploymentId:Fe}),w&&{metadata:w}),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()})},qn&&{credentials:"include"})),N=yield O.json();if(!N.success){if(N.limitData){const e=new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=N.limitData,e}if(to(N))return;throw new Error(N.error||N.message||(null==qe?void 0:qe["failed-to-start-generation"])||"Failed to start generation")}It(null!==(c=N.actionApprovalToken)&&void 0!==c?c:null);const S=null!==(u=N.submissionId)&&void 0!==u?u:k;m=S,bn.current=S;const C=()=>yn.current===S;if(C())return;Yn&&Qe&&$e&&On.current.add($e);const E=Object.assign(Object.assign({},uo()),{message:v,documentIds:h?g:[],uploadedModelImages:h?f:[],hasUploadedDocuments:h,isHidden:n,metadata:null!=w?w:null});dn?(po(),ne(E)):Nn.current=E,yt("streaming"),kn.current=new AbortController;const _=[];let T=[...null!=Pt?Pt:[]],A=0,P=!1,D="";for(;!P;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/stream/${S}?index=${A}`,{signal:null===(p=kn.current)||void 0===p?void 0:p.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();hn.current=t;const n=new TextDecoder,o=U({onEvent:e=>{var t,n;if(C())P=!0;else if(e.event&&"ping"!==e.event&&A++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong"])||"Something went wrong.";return to(t)||jt(n),void(P=!0)}if("delta"===e.event){const o=JSON.parse(e.data);if("finish"===o.type)return void Jt(!0);if("data-error"===o.type&&he){const e=o.data.error;if("string"==typeof e){const t=/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e),n=/['"]type['"]\s*:\s*['"]unauthorized_composio['"]/.test(e);if(t){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"smithery",smitheryId:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}else if(n){const t=e.match(/['"]toolkitSlug['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),o=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&o&&o[1])throw P=!0,he({provider:"composio",toolkitSlug:t[1],serverId:n[1],name:o[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw P=!0,he({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 P=!0,he({provider:"composio",toolkitSlug:t.toolkitSlug,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===o.type)D="",_.push({type:"text",content:"",isVisible:null===(t=o.isVisible)||void 0===t||t});else if("text-delta"===o.type)D+=o.delta,l(_,"text",D);else if("text-end"===o.type)D="";else if("reasoning-start"===o.type)D="",_.push({type:"reasoning",content:"",isVisible:null===(n=o.isVisible)||void 0===n||n});else if("reasoning-delta"===o.type)D+=o.delta,l(_,"reasoning",D);else if("reasoning-end"===o.type)D="";else if(o.type.startsWith("data-")){const e=o;"data-action-approval"===e.type?d(_,e.data):_.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}xn.current=de(_);const s=de(_);bt((e=>{const t=e.findIndex((e=>e.id===x)),n=Object.assign(Object.assign({},j),{parts:s});return-1===t?[...e,n]:e.map(((e,o)=>o===t?n:e))}))}else if("artifact_created"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt([...T]),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);T=T.filter((e=>!(e.id===t.id&&e.version===t.version))),T.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Lt(T),Dt.startsWith("inline")||Mt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");T=T.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Lt(T)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Lt(T.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 xt(t.limitData),jt(""),void(P=!0);const n=t.error||t.message||(null==qe?void 0:qe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(to(t))return void(P=!0);jt(n)}else"stop"===e.event&&(P=!0)}else P=!0}});for(;;){if(C()){P=!0,t.cancel().catch((()=>{}));break}const{value:e,done:s}=yield t.read();if(C()){P=!0,t.cancel().catch((()=>{}));break}if(s)break;o.feed(n.decode(e))}P||C()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||ce(e)||C())return void(P=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==dt||dt($e)}catch(e){if(ce(e))return;if(e.limitData)xt(e.limitData),jt("");else{let t=H(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==qe?void 0:qe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),to(t)||jt(t)}}finally{const e=!m||bn.current===m;At(),e&&(yt("idle"),Ut(),hn.current=null),m&&e&&(bn.current=null,xn.current=[]),yield so()}}));return g((()=>{if(ht||Ht||Yt||0===zt.length)return;const e=zt[0];Zt(!0),tn(e.id),t(void 0,void 0,void 0,(function*(){try{if(!(yield Uo(e.predecessorSubmissionId)))return void jt((null==qe?void 0:qe["queued-message-waiting"])||"A queued message is waiting for the previous response to finish.");Qt((t=>t.filter((t=>t.id!==e.id)))),yield Po(e.message,!1,!0,e.id)}finally{Zt(!1),tn(null)}}))}),[ht,Yt,Ht,zt]),eo?null:n("div",Object.assign({className:J("flex w-full flex-shrink-0 flex-col items-center",!Zn&&"px-4 pb-8"),dir:Ye?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[zt.length>0&&n("div",Object.assign({className:"mx-3 -mb-3 overflow-hidden border pb-3",style:{borderColor:We.text+"18",backgroundColor:null!==(Pe=Gn.backgroundColor)&&void 0!==Pe?Pe:We.text+"08",color:We.text,borderTopLeftRadius:Math.max(He.cornerRadius-4,12),borderTopRightRadius:Math.max(He.cornerRadius-4,12)}},{children:zt.map(((e,i)=>{var r;return o("div",Object.assign({className:"flex min-h-10 items-center gap-2 px-3 py-2",style:i<zt.length-1?{borderBottom:`1px solid ${We.text}12`}:void 0},{children:[n(L,{className:"h-4 w-4 shrink-0 opacity-50","aria-hidden":"true"}),n("span",Object.assign({className:"min-w-0 flex-1 truncate text-sm",title:e.message},{children:e.message})),nn===e.id||en===e.id?o("span",Object.assign({className:"flex shrink-0 items-center gap-1.5 px-2 py-1 text-xs opacity-60","aria-live":"polite"},{children:[n("span",{className:"h-3 w-3 animate-spin rounded-full border border-current border-r-transparent","aria-hidden":"true"}),nn===e.id?(null==qe?void 0:qe.steering)||"Steering...":(null==qe?void 0:qe.starting)||"Starting..."]})):o(s,{children:[o("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:Ht||!ht,onClick:()=>{(e=>{t(void 0,void 0,void 0,(function*(){const t=bn.current;if(!t||Ht)return;const n=zt.findIndex((t=>t.id===e.id));if(-1===n)return;Wt(!0),on(e.id),jt(""),To(t);let o=!1;try{if(!(yield _o(t)))throw new Error((null==qe?void 0:qe["failed-to-interrupt-current-response"])||"Failed to interrupt the current response.");if(!(yield Uo(t)))throw new Error((null==qe?void 0:qe["current-response-still-stopping"])||"The current response is still stopping. Please send your message again in a moment.");yt("idle"),Qt((t=>t.filter((t=>t.id!==e.id)))),o=!0,Wt(!1),on(null),yield Po(e.message,!1,!0,e.id,!0)}catch(t){yt("idle"),o&&Qt((t=>{if(t.some((t=>t.id===e.id)))return t;const o=[...t];return o.splice(n,0,e),o})),jt(H(t))}finally{Wt(!1),on(null)}}))})(e)},"aria-label":`${(null==qe?void 0:qe["steer-with"])||"Steer with"}: ${e.message}`},{children:[n("span",Object.assign({"aria-hidden":"true"},{children:"↳ "})),(null==qe?void 0:qe.steer)||"Steer"]})),n("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:Ht,onClick:()=>{return t=e.id,void Qt((e=>re(e,t)));var t},"aria-label":`${(null==qe?void 0:qe["remove-queued-message"])||"Remove queued message"}: ${e.message}`},{children:n(R,{className:"h-4 w-4","aria-hidden":"true"})})),o(F,Object.assign({id:`queued-message-menu-${e.id}`,className:"shrink-0"},{children:[n(G,Object.assign({className:"flex h-7 w-7 items-center justify-center rounded-md opacity-50 transition-opacity hover:opacity-100",isDisabled:Ht,role:"button",tabIndex:Ht?-1:0,"aria-haspopup":"menu","aria-label":(null==qe?void 0:qe["more-options"])||"More options",onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),e.currentTarget.click())}},{children:o("svg",Object.assign({viewBox:"0 0 24 24",className:"h-4 w-4",fill:"currentColor","aria-hidden":"true"},{children:[n("circle",{cx:"5",cy:"12",r:"1.6"}),n("circle",{cx:"12",cy:"12",r:"1.6"}),n("circle",{cx:"19",cy:"12",r:"1.6"})]}))})),n(V,Object.assign({role:"menu",align:Ye?"bottom-start":"bottom-end",positionStrategy:Ze?"absolute":"fixed",width:"auto",className:"p-1 text-sm shadow-xl",style:{backgroundColor:null!==(r=Gn.backgroundColor)&&void 0!==r?r:We.primary,color:We.text,borderRadius:"12px"},border:`1px solid ${We.text}20`},{children:o("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=>{Qt((t=>re(t,e.id))),Xt(e.message),requestAnimationFrame((()=>{const t=jn.current;t&&(t.focus(),t.setSelectionRange(e.message.length,e.message.length))}))})(e)},{children:[n($,{className:"h-4 w-4 shrink-0"}),(null==qe?void 0:qe["edit-message"])||"Edit message"]}))}))]}))]})]}),e.id)}))})),o("div",Object.assign({ref:wn,className:J("relative z-10 flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===He.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Gn),{maxHeight:`${Sn}px`,overflowY:"auto"})},{children:[wo&&o("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Gn.backgroundColor?`${Gn.backgroundColor}E6`:void 0,borderColor:We.text+"20",color:We.text,borderTopRightRadius:He.cornerRadius+"px",borderTopLeftRadius:He.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:o("span",{children:[bo.toLocaleString()," ",ao?(null==qe?void 0:qe.credits)||"Credits":(null==qe?void 0:qe.uses)||"Uses"," ",(null==qe?void 0:qe.remaining)||"remaining"]})})),o("div",Object.assign({className:"flex items-center gap-3"},{children:[Oo&&n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:We.accent,color:We.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),No)return void window.open(No,"_blank","noopener,noreferrer");if(lt)return void lt();const t=z({baseUrl:an,accessGroupId:null==tt?void 0:tt.accessGroupId});t&&Q({deploymentId:Fe,pricingUrl:t,studioId:null==Ve?void 0:Ve.studioid,studioSessionToken:pt})}},{children:So})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>pn(!0)},{children:n("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!ht&&wt.length>0&&n(B,{className:"p-4 pb-0",isDisabled:ht}),o("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Qn&&o("div",Object.assign({className:J(ut?"top-6":"top-1/2","pointer-events-none absolute z-10 flex -translate-y-1/2 select-none items-center gap-x-2",Ye?"right-4":"left-4")},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(De=We.accent)&&void 0!==De?De:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:We.text+"90"}},{children:(null==qe?void 0:qe.listening)||"Listening..."}))]})),n(X,Object.assign({ref:jn,className:J(Fn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Bt.trim()&&!Bt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ye?"text-right":"text-left",!ut&&oo&&"mb-12"),value:Bt,placeholder:Qn?"":no,onChange:e=>{Xt(e)},onKeyDown:e=>{ze||_t||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),kt||Ht||(ht?Ao():Po())))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!Jn)return;e.preventDefault(),nt(!1),yield Nt(t)}}))},ue&&{onFocus:ue},fe&&{onBlur:fe},{dir:Ye?"rtl":"ltr"})),o("div",Object.assign({ref:In,className:ut?"relative flex w-full items-center gap-2 px-3 pb-2 [&>button]:shrink-0 [&>button]:mr-0":J("flex items-center gap-2 absolute z-2 transition-all duration-200 ease-in-out",oo?"bottom-3 right-2":"right-0 top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!oo&&Gn.backgroundColor&&{backgroundColor:Gn.backgroundColor}),{borderTopRightRadius:He.cornerRadius+"px",borderBottomRightRadius:He.cornerRadius+"px"})},{children:[!ht&&!En&&Jn&&o("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Rn?We.accent+"10":void 0,color:Rn?We.accent:We.accent+"80"},disabled:kt||ht,"aria-label":null!==(Le=null==qe?void 0:qe["attach-files"])&&void 0!==Le?Le:"Attach files",onClick:()=>{var e;return null===(e=fn.current)||void 0===e?void 0:e.click()}},$n,{children:[n("input",{id:"file-upload",ref:fn,type:"file",accept:[...E,..._,...T].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){nt(!1),yield Nt(Array.from(e.target.files||[])),e.target.value=""}))}),n(A,{className:"h-6 w-6 shrink-0"})]})),n(a,{compact:!0}),ht&&!qt?o(s,{children:[n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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=bn.current;e&&(To(e),_o(e)),yt("idle")},style:{backgroundColor:We.accent+"10",color:We.accent}},{children:n(M,{className:"h-4 w-4 shrink-0"})})),n("button",Object.assign({"aria-label":(null==qe?void 0:qe["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:Ht||kt||!Bt.trim(),onClick:Ao,style:{backgroundColor:Bt.trim()?We.accent:We.accent+"10",color:Bt.trim()?We.accentText:We.accent+"80"}},{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]}):En?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:An,style:{backgroundColor:We.accent,color:We.accentText}},{children:n(M,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[zn&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:En?We.accent:Xn?We.accent+"10":void 0,color:En?We.accentText:Xn?We.accent:We.accent+"80"},disabled:kt||ht||_n,onClick:()=>{En?An():(vn.current=Bt,Un(Je||"en-US"))}},Kn,{children:n(D,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Dn||Eo?We.accent:We.accent+"10",color:Dn||Eo?We.accentText:We.accent+"80"},disabled:!Eo,onClick:()=>Po()},Ln,{children:n(P,{className:J("h-6 w-6 shrink-0",Ye&&"scale-x-[-1] transform")})}))]})]}))]}))]})),Ot&&n(K,{error:Ot,className:"mt-3"})]}))}))}));fe.displayName="Input";export{fe as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useRef as l,useState as i,useEffect as s,useCallback as n}from"react";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import a from"../../../hooks/core/useScrollToBottomVisibility.js";import{useStyleFontSize as c}from"../../../hooks/studio/useStyleFontSize.js";import m from"../common/PickaxeHead.js";import d from"../common/PickaxeEmbedHead.js";import f from"../common/PickaxeMCPButton.js";import u from"../common/ScrollToBottomButton.js";import p from"./History/index.js";import x from"./NewChat.js";import v from"./Questions/index.js";import h from"../../../common/cn.js";import{NavPill as b}from"../Addons/Navbar/NavPill.js";const j=()=>{const{lastSessionId:j,pickaxe:g,responsiveBy:w,translations:y,isEmbed:k,mcpEnabled:N,deploymentType:O,styles:E,setLastSessionId:L,setSessionId:C}=r(),B=(null==g?void 0:g.formtitle)||"Pickaxe",S=(null==g?void 0:g.coverphoto)||void 0,P=c(),H=l(null),T=l(null),[M,z]=i(!0),I=k&&(null==g?void 0:g.chatflag),{hasScrollableContent:R,isNearBottom:D}=a(H,{targetRef:T,activeOffset:48},[Boolean(null==g?void 0:g.chatflag)]);s((()=>{D&&z(!0)}),[D]),s((()=>{const e=H.current;if(!e)return;const t=()=>{z(!1)};return e.addEventListener("mousedown",t),e.addEventListener("touchmove",t,{passive:!0}),e.addEventListener("wheel",t,{passive:!0}),e.addEventListener("DOMMouseScroll",t),e.addEventListener("mousewheel",t),()=>{e.removeEventListener("mousedown",t),e.removeEventListener("touchmove",t),e.removeEventListener("wheel",t),e.removeEventListener("DOMMouseScroll",t),e.removeEventListener("mousewheel",t)}}),[]);const V=n((()=>{if(!H.current||!T.current)return;const e=H.current.getBoundingClientRect(),t=T.current.getBoundingClientRect().bottom-e.top+H.current.scrollTop;z(!0),H.current.scrollTo({top:Math.max(0,t-H.current.clientHeight),behavior:"smooth"})}),[]),A=n((()=>{z(!1)}),[]);return e("div",Object.assign({className:h("relative flex h-full w-full flex-col items-center overflow-hidden")},{children:[e("div",Object.assign({ref:H,className:h("flex h-full w-full flex-col items-center overflow-y-auto","pt-0","viewport"===w?"min-[767px]:pb-10":"@[767px]/pickaxe-root:pb-10")},{children:[!k&&t("div",Object.assign({className:h("direct-link"===O?"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"===E.portalTheme?"glass-dark ":"")},{children:t(b,{text:B,icon:S,onClick:()=>{C(j),L("")}})})),!k&&N?t("div",Object.assign({className:"pointer-events-none absolute left-1/2 top-4 z-40 flex w-full max-w-[700px] -translate-x-1/2 justify-end"},{children:t("div",Object.assign({className:"pointer-events-auto"},{children:t(f,{})}))})):null,I?e(o,{children:[t(d,{className:"sticky top-0 z-10 w-full",historyBtnTip:(null==y?void 0:y["exit-chat-history"])||"Exit Chat History",onHistoryClick:()=>C(j)}),t("div",Object.assign({className:"relative flex min-h-[56px] w-full justify-end rounded-tl-lg rounded-tr-lg border-y p-4"},{children:t("p",Object.assign({className:h(P.b1,"absolute left-1/2 -translate-x-1/2 select-none text-center")},{children:(null==y?void 0:y["chat-history"])||"Chat History"}))}))]}):e("div",Object.assign({className:"flex w-full max-w-[700px] flex-col"},{children:[k&&N?t("div",Object.assign({className:"flex w-full justify-end"},{children:t("div",Object.assign({className:h("mr-3 flex","popup"===O&&"pr-10")},{children:t(f,{})}))})):null,t(m,{})]})),t("div",Object.assign({className:h("flex w-full min-h-0 flex-col items-center",I?"px-4":"px-6")},{children:t("div",Object.assign({className:"flex h-full w-full max-w-[700px] flex-col"},{children:e("div",Object.assign({className:h("flex h-full flex-col gap-y-8","viewport"===w?"min-[767px]:mt-4":"@[767px]/pickaxe-root:mt-4")},{children:[t("div",Object.assign({ref:T,className:"flex flex-col"},{children:(null==g?void 0:g.chatflag)?t(x,{}):t(v,{onLongInputPaste:A})})),t(p,{})]}))}))}))]})),t(u,{bottom:30,isVisible:R&&!M&&!D,onClick:V})]}))};export{j as default};
1
+ import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useRef as l,useState as i,useEffect as s,useCallback as n}from"react";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import a from"../../../hooks/core/useScrollToBottomVisibility.js";import{useStyleFontSize as c}from"../../../hooks/studio/useStyleFontSize.js";import m from"../common/PickaxeHead.js";import d from"../common/PickaxeEmbedHead.js";import f from"../common/PickaxeMCPButton.js";import u from"../common/ScrollToBottomButton.js";import p from"./History/index.js";import x from"./NewChat.js";import v from"./Questions/index.js";import h from"../../../common/cn.js";import{NavPill as b}from"../Addons/Navbar/NavPill.js";const j=()=>{const{lastSessionId:j,pickaxe:g,responsiveBy:w,translations:y,isEmbed:k,mcpEnabled:N,renderEmbedHeaderAction:O,deploymentType:E,styles:L,setLastSessionId:C,setSessionId:B}=r(),S=(null==g?void 0:g.formtitle)||"Pickaxe",H=(null==g?void 0:g.coverphoto)||void 0,P=c(),T=l(null),M=l(null),[z,I]=i(!0),R=k&&(null==g?void 0:g.chatflag),{hasScrollableContent:A,isNearBottom:D}=a(T,{targetRef:M,activeOffset:48},[Boolean(null==g?void 0:g.chatflag)]);s((()=>{D&&I(!0)}),[D]),s((()=>{const e=T.current;if(!e)return;const t=()=>{I(!1)};return e.addEventListener("mousedown",t),e.addEventListener("touchmove",t,{passive:!0}),e.addEventListener("wheel",t,{passive:!0}),e.addEventListener("DOMMouseScroll",t),e.addEventListener("mousewheel",t),()=>{e.removeEventListener("mousedown",t),e.removeEventListener("touchmove",t),e.removeEventListener("wheel",t),e.removeEventListener("DOMMouseScroll",t),e.removeEventListener("mousewheel",t)}}),[]);const V=n((()=>{if(!T.current||!M.current)return;const e=T.current.getBoundingClientRect(),t=M.current.getBoundingClientRect().bottom-e.top+T.current.scrollTop;I(!0),T.current.scrollTo({top:Math.max(0,t-T.current.clientHeight),behavior:"smooth"})}),[]),F=n((()=>{I(!1)}),[]);return e("div",Object.assign({className:h("relative flex h-full w-full flex-col items-center overflow-hidden")},{children:[e("div",Object.assign({ref:T,className:h("flex h-full w-full flex-col items-center overflow-y-auto","pt-0","viewport"===w?"min-[767px]:pb-10":"@[767px]/pickaxe-root:pb-10")},{children:[!k&&t("div",Object.assign({className:h("direct-link"===E?"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"===L.portalTheme?"glass-dark ":"")},{children:t(b,{text:S,icon:H,onClick:()=>{B(j),C("")}})})),!k&&N?t("div",Object.assign({className:"pointer-events-none absolute left-1/2 top-4 z-40 flex w-full max-w-[700px] -translate-x-1/2 justify-end"},{children:t("div",Object.assign({className:"pointer-events-auto"},{children:t(f,{})}))})):null,R?e(o,{children:[t(d,{className:"sticky top-0 z-10 w-full",historyBtnTip:(null==y?void 0:y["exit-chat-history"])||"Exit Chat History",onHistoryClick:()=>B(j)}),t("div",Object.assign({className:"relative flex min-h-[56px] w-full justify-end rounded-tl-lg rounded-tr-lg border-y p-4"},{children:t("p",Object.assign({className:h(P.b1,"absolute left-1/2 -translate-x-1/2 select-none text-center")},{children:(null==y?void 0:y["chat-history"])||"Chat History"}))}))]}):e("div",Object.assign({className:"flex w-full max-w-[700px] flex-col"},{children:[k&&(N||O)?t("div",Object.assign({className:"flex w-full justify-end"},{children:e("div",Object.assign({className:h("mr-3 flex","popup"===E&&"pr-10")},{children:[t(f,{}),null==O?void 0:O()]}))})):null,t(m,{})]})),t("div",Object.assign({className:h("flex w-full min-h-0 flex-col items-center",R?"px-4":"px-6")},{children:t("div",Object.assign({className:"flex h-full w-full max-w-[700px] flex-col"},{children:e("div",Object.assign({className:h("flex h-full flex-col gap-y-8","viewport"===w?"min-[767px]:mt-4":"@[767px]/pickaxe-root:mt-4")},{children:[t("div",Object.assign({ref:M,className:"flex flex-col"},{children:(null==g?void 0:g.chatflag)?t(x,{}):t(v,{onLongInputPaste:F})})),t(p,{})]}))}))}))]})),t(u,{bottom:30,isVisible:A&&!z&&!D,onClick:V})]}))};export{j as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as t}from"react/jsx-runtime";import{createContext as i,useState as o,useEffect as n}from"react";import{ArtifactProvider as a}from"./Addons/Artifact/Provider.js";import s from"./DimensionProvider.js";import r from"./ResponseProvider.js";import l from"./Addons/Document/Provider.js";import d from"./Addons/Auth/Provider.js";const c=i({}),p=({children:i,renderResponseAction:p,origin:u,sender:m,senderType:g,deploymentId:f,portalId:h,deploymentType:y,deploymentDimensions:v,deploymentMisc:b,styles:w,colors:k,limits:S={},misc:C={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0,isResponseDownload:!1},translations:I,artifact:P={popupType:"auto"},responsiveBy:F="viewport",locale:A="en",opacity:x=1,forceMobile:T=!1,disableHtml:D=!1,disableJs:U=!1,disableCss:q=!1,loadFont:R=!0,isRtl:O=!1,isEmbed:M=!1,mcpEnabled:j=!1,mcpGuestId:E,studioSessionToken:L,isDropShadow:G=!1,allowGuestUsage:H=!0,persistActiveConversation:W=!1,preventInitialSessionId:B=!1,onUpgrade:N,onGenerateComplete:V,onSessionIdChange:Y})=>{const[X,J]=o(""),[_,z]=o(""),[Q,K]=o(""),[Z,$]=o(""),[ee,te]=o(m),[ie,oe]=o(null),[ne,ae]=o(g),[se,re]=o("loading"),[le,de]=o([]),[ce,pe]=o(null),[ue,me]=o(null),[ge,fe]=o(null),[he,ye]=o(null),[ve,be]=o("");n((()=>be("")),[_]);const[we,ke]=o(!1),[Se,Ce]=o(!0),[Ie,Pe]=o(!0),[Fe,Ae]=o(!1);return n((()=>{ke(!1)}),[null==w?void 0:w.font]),n((()=>{e(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&R&&!we&&(null==w?void 0:w.font)&&"Real Head Pro"!==w.font)try{(yield import("webfontloader")).default.load({google:{families:[w.font]},active:()=>{ke(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),ke(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),ke(!0)}}))}),[R,we,null==w?void 0:w.font]),n((()=>{te(m)}),[m]),t(c.Provider,Object.assign({value:Object.assign(Object.assign({origin:u,contextId:X,pickaxeId:_,sessionId:Q,lastSessionId:Z,sender:ee,senderType:ne,portalId:h,deploymentId:f,deploymentType:y,validationStatus:se,validationUpgradeGroups:le,validationUpgradeUrl:ce,deploymentDimensions:v,deploymentMisc:b,accessGroup:ie,pickaxe:he,selectedModel:ve,setSelectedModel:be,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},w),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},k),misc:C,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."},I),artifact:P,renderResponseAction:p,responsiveBy:F,locale:A,opacity:x,forceMobile:T,loadFont:R,disableHtml:D,disableJs:U,disableCss:q,isFontLoaded:we,isNewChat:Se,isShowIceBreaker:Ie,isShowFeedbackMessage:Fe,isRtl:O,isEmbed:M,mcpEnabled:j,mcpGuestId:E,isDropShadow:G,allowGuestUsage:H,persistActiveConversation:W,clientSecret:ge,stripeAccountId:ue,preventInitialSessionId:B,setClientSecret:fe,setStripeAccountId:me,setContextId:J,setValidationStatus:re,setValidationUpgradeGroups:de,setValidationUpgradeUrl:pe,setPickaxeId:z,setSessionId:e=>{K((t=>{const i="function"==typeof e?e(t):e;return null==Y||Y(i),i}))},setLastSessionId:$,setSender:te,setSenderType:ae,setAccessGroup:oe,setPickaxe:ye,setIsFontLoaded:ke,setIsNewChat:Ce,setIsShowIceBreaker:Pe,setIsShowFeedbackMessage:Ae},N&&{onUpgrade:N}),V&&{onGenerateComplete:V})},{children:t(d,Object.assign({initialToken:L},{children:t(s,{children:t(r,Object.assign({limits:S},{children:t(l,{children:t(a,Object.assign({},P,{children:i}))})}))})}))}))};export{c as PickaxeContext,p as PickaxeProvider};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as t}from"react/jsx-runtime";import{createContext as i,useState as o,useEffect as n}from"react";import{ArtifactProvider as a}from"./Addons/Artifact/Provider.js";import s from"./DimensionProvider.js";import r from"./ResponseProvider.js";import d from"./Addons/Document/Provider.js";import l from"./Addons/Auth/Provider.js";const c=i({}),p=({children:i,renderResponseAction:p,renderEmbedHeaderAction:u,origin:m,sender:g,senderType:f,deploymentId:h,portalId:y,deploymentType:b,deploymentDimensions:v,deploymentMisc:w,styles:k,colors:S,limits:C={},misc:I={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0,isResponseDownload:!1},translations:P,artifact:A={popupType:"auto"},responsiveBy:F="viewport",locale:x="en",opacity:T=1,forceMobile:D=!1,disableHtml:U=!1,disableJs:q=!1,disableCss:R=!1,loadFont:E=!0,isRtl:O=!1,isEmbed:M=!1,mcpEnabled:j=!1,mcpGuestId:L,studioSessionToken:G,isDropShadow:H=!1,allowGuestUsage:W=!0,persistActiveConversation:B=!1,preventInitialSessionId:N=!1,onUpgrade:V,onGenerateComplete:Y,onSessionIdChange:X})=>{const[J,_]=o(""),[z,Q]=o(""),[K,Z]=o(""),[$,ee]=o(""),[te,ie]=o(g),[oe,ne]=o(null),[ae,se]=o(f),[re,de]=o("loading"),[le,ce]=o([]),[pe,ue]=o(null),[me,ge]=o(null),[fe,he]=o(null),[ye,be]=o(null),[ve,we]=o("");n((()=>we("")),[z]);const[ke,Se]=o(!1),[Ce,Ie]=o(!0),[Pe,Ae]=o(!0),[Fe,xe]=o(!1);return n((()=>{Se(!1)}),[null==k?void 0:k.font]),n((()=>{e(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&E&&!ke&&(null==k?void 0:k.font)&&"Real Head Pro"!==k.font)try{(yield import("webfontloader")).default.load({google:{families:[k.font]},active:()=>{Se(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),Se(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),Se(!0)}}))}),[E,ke,null==k?void 0:k.font]),n((()=>{ie(g)}),[g]),t(c.Provider,Object.assign({value:Object.assign(Object.assign({origin:m,contextId:J,pickaxeId:z,sessionId:K,lastSessionId:$,sender:te,senderType:ae,portalId:y,deploymentId:h,deploymentType:b,validationStatus:re,validationUpgradeGroups:le,validationUpgradeUrl:pe,deploymentDimensions:v,deploymentMisc:w,accessGroup:oe,pickaxe:ye,selectedModel:ve,setSelectedModel:we,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"},S),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."},P),artifact:A,renderResponseAction:p,renderEmbedHeaderAction:u,responsiveBy:F,locale:x,opacity:T,forceMobile:D,loadFont:E,disableHtml:U,disableJs:q,disableCss:R,isFontLoaded:ke,isNewChat:Ce,isShowIceBreaker:Pe,isShowFeedbackMessage:Fe,isRtl:O,isEmbed:M,mcpEnabled:j,mcpGuestId:L,isDropShadow:H,allowGuestUsage:W,persistActiveConversation:B,clientSecret:fe,stripeAccountId:me,preventInitialSessionId:N,setClientSecret:he,setStripeAccountId:ge,setContextId:_,setValidationStatus:de,setValidationUpgradeGroups:ce,setValidationUpgradeUrl:ue,setPickaxeId:Q,setSessionId:e=>{Z((t=>{const i="function"==typeof e?e(t):e;return null==X||X(i),i}))},setLastSessionId:ee,setSender:ie,setSenderType:se,setAccessGroup:ne,setPickaxe:be,setIsFontLoaded:Se,setIsNewChat:Ie,setIsShowIceBreaker:Ae,setIsShowFeedbackMessage:xe},V&&{onUpgrade:V}),Y&&{onGenerateComplete:Y})},{children:t(l,Object.assign({initialToken:G},{children:t(s,{children:t(r,Object.assign({limits:C},{children:t(d,{children:t(a,Object.assign({},A,{children:i}))})}))})}))}))};export{c as PickaxeContext,p as PickaxeProvider};
@@ -1 +1 @@
1
- import{jsxs as o,jsx as i}from"react/jsx-runtime";import{useMemo as t}from"react";import{usePickaxeContext as e}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as s}from"../Addons/Auth/hooks/useAuthContext.js";import{useStyleFontSize as r}from"../../../hooks/studio/useStyleFontSize.js";import l from"./PickaxeIcon.js";import n from"./PickaxeHistoryButton.js";import c from"./PickaxeLogoutButton.js";import a from"./PickaxeMCPButton.js";import m from"../../../common/cn.js";const p=({className:p,iconClassName:u,historyBtnTip:d,onIconClick:f,onHistoryClick:x})=>{const{deploymentType:h,pickaxe:g,misc:k,colors:j,translations:b,mcpEnabled:y}=e(),{isLoggedIn:v}=s(),C=y,P=r(),N=t((()=>({title:(null==g?void 0:g.formtitle)||"",description:(null==g?void 0:g.formdescription)||""})),[g]);return k.isTitle||k.isDescription||!k.isWhiteLabel||C?o("div",Object.assign({className:m("flex min-h-[56px] items-center justify-between gap-4 px-4",p),style:{backgroundColor:j.secondary,color:j.secondaryText}},{children:[o("div",Object.assign({className:"flex items-center gap-4"},{children:[k.isProfileImage&&i(l,Object.assign({src:null==g?void 0:g.coverphoto,alt:`${null==g?void 0:g.formtitle}'s Profile Picture`,width:32,height:32,className:m("h-[32px] w-[32px] shrink-0 rounded-full",u,!!f&&"cursor-pointer")},f&&{onClick:f})),k.isTitle&&i("p",Object.assign({className:m(P.b1)},{children:N.title}))]})),x||C?o("div",Object.assign({className:m("popup"===h&&"pr-10","flex items-center gap-1")},{children:[C?i(a,{}):null,x?i(n,{tip:d,onClick:x}):null,v&&x&&i(c,{tip:(null==b?void 0:b["log-out"])||"Log Out"})]})):null]})):null};export{p as default};
1
+ import{jsxs as o,jsx as e}from"react/jsx-runtime";import{useMemo as i}from"react";import{usePickaxeContext as t}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as s}from"../Addons/Auth/hooks/useAuthContext.js";import{useStyleFontSize as n}from"../../../hooks/studio/useStyleFontSize.js";import r from"./PickaxeIcon.js";import l from"./PickaxeHistoryButton.js";import c from"./PickaxeLogoutButton.js";import a from"./PickaxeMCPButton.js";import m from"../../../common/cn.js";const p=({className:p,showHeaderAction:u=!0,iconClassName:d,historyBtnTip:f,onIconClick:h,onHistoryClick:x})=>{const{deploymentType:k,pickaxe:g,misc:j,colors:b,translations:v,mcpEnabled:y,renderEmbedHeaderAction:C}=t(),{isLoggedIn:P}=s(),N=y,O=u?null==C?void 0:C():null,w=n(),A=i((()=>({title:(null==g?void 0:g.formtitle)||"",description:(null==g?void 0:g.formdescription)||""})),[g]);return j.isTitle||j.isDescription||!j.isWhiteLabel||N||O?o("div",Object.assign({className:m("flex min-h-[56px] items-center justify-between gap-4 px-4",p),style:{backgroundColor:b.secondary,color:b.secondaryText}},{children:[o("div",Object.assign({className:"flex min-w-0 items-center gap-4"},{children:[j.isProfileImage&&e(r,Object.assign({src:null==g?void 0:g.coverphoto,alt:`${null==g?void 0:g.formtitle}'s Profile Picture`,width:32,height:32,className:m("h-[32px] w-[32px] shrink-0 rounded-full",d,!!h&&"cursor-pointer")},h&&{onClick:h})),j.isTitle&&e("p",Object.assign({className:m(w.b1,"truncate")},{children:A.title}))]})),x||N||O?o("div",Object.assign({className:m("popup"===k&&"pr-10","flex shrink-0 items-center gap-1")},{children:[N?e(a,{}):null,x?e(l,{tip:f,onClick:x}):null,O,P&&x&&e(c,{tip:(null==v?void 0:v["log-out"])||"Log Out"})]})):null]})):null};export{p as default};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{setByPath as r,getByPath as n}from"@json-render/core";import{useState as a}from"react";import{PICKAXE_JSON_RENDER_CATALOG as l}from"./PickaxeJsonRenderCatalog.js";const o=e=>{const t=Number(e);return Number.isFinite(t)?t:0},s=e=>{switch(e){case"positive":return"#16a34a";case"warning":return"#d97706";case"negative":return"#dc2626";case"neutral":case"muted":return"var(--pickaxe-viz-muted)";default:return"var(--pickaxe-viz-accent)"}},c={add:({left:e,right:t})=>o(e)+o(t),subtract:({left:e,right:t})=>o(e)-o(t),multiply:({left:e,right:t})=>o(e)*o(t),divide:({left:e,right:t})=>{const i=o(t);return 0===i?0:o(e)/i},percentage:({value:e,total:t})=>{const i=o(t);return 0===i?0:o(e)/i*100},round:({value:e,digits:t})=>{const i=Math.min(6,Math.max(0,Math.trunc(o(t))));return Number(o(e).toFixed(i))},formatCurrency:({value:e,currency:t})=>new Intl.NumberFormat(void 0,{style:"currency",currency:"string"==typeof t&&/^[A-Z]{3}$/.test(t)?t:"USD",maximumFractionDigits:2}).format(o(e)),formatPercent:({value:e,digits:t})=>`${o(e).toFixed(Math.min(4,Math.max(0,Math.trunc(o(t)))))}%`},d=e=>JSON.parse(JSON.stringify(e)),u=(e,t)=>{if(Array.isArray(e))return e.map((e=>u(e,t)));if(!e||"object"!=typeof e)return e;const i=e;if("string"==typeof i.$state)return n(t,i.$state);if("string"==typeof i.$bindState)return n(t,i.$bindState);if("string"==typeof i.$computed){const e=c[i.$computed];if(!e)return;const r=u(i.args||{},t);return e(r&&"object"==typeof r?r:{})}if("string"==typeof i.$template)return i.$template.replace(/\$\{(\/[^}]+)\}/g,((e,i)=>{const r=n(t,i);return null==r?"":String(r)}));if("$cond"in i){const e=i.$cond,r=e&&"object"==typeof e?(()=>{const i=e,r="string"==typeof i.$state?n(t,i.$state):u(e,t);return"eq"in i?r===u(i.eq,t):!0===i.not?!r:Boolean(r)})():Boolean(u(e,t));return u(r?i.$then:i.$else,t)}return Object.fromEntries(Object.entries(i).map((([e,i])=>[e,u(i,t)])))},p=e=>{if("string"==typeof e)try{const t=new URL(e);return["http:","https:"].includes(t.protocol)?t.href:void 0}catch(e){return}},g=e=>{switch(e){case"small":return 8;case"large":return 20;default:return 12}},h={margin:0,width:"100%",boxSizing:"border-box",padding:"16px clamp(12px, 3vw, 20px)",border:"1px solid var(--pickaxe-viz-border)",borderRadius:"var(--pickaxe-viz-radius)",background:"var(--pickaxe-viz-surface)",boxShadow:"0 10px 30px rgba(0, 0, 0, 0.06)"},b={marginBottom:14,fontSize:16,fontWeight:650,letterSpacing:"-0.01em"},v={display:"block",width:"100%",height:"auto",overflow:"visible"},x={marginTop:12,paddingTop:12,borderTop:"1px solid var(--pickaxe-viz-border)",color:"var(--pickaxe-viz-muted)",fontSize:13,lineHeight:1.5},f=({props:i})=>{const r=Array.isArray(i.points)?i.points:[],n="string"==typeof i.title?i.title:void 0,a="string"==typeof i.description?i.description:void 0,l=i.type;if(!r.length)return null;if("bar"===l){const i=640,l=58,c=Math.max(130,r.length*l+8),d=r.map((e=>o(e.value))),u=Math.max(1,...d.map(Math.abs));return t("figure",Object.assign({style:h,"aria-label":n||"Bar chart"},{children:[n?e("figcaption",Object.assign({style:b},{children:n})):null,t("svg",Object.assign({style:v,viewBox:`0 0 ${i} ${c}`,role:"img"},{children:[a?e("desc",{children:a}):null,r.map(((i,r)=>{const n=d[r],a=r*l;return t("g",{children:[e("title",{children:`${i.label}: ${n}`}),e("text",Object.assign({x:"0",y:a+16,fill:"currentColor",fontSize:"14",fontWeight:"600"},{children:i.label})),e("text",Object.assign({x:"640",y:a+16,fill:"currentColor",fontSize:"13",textAnchor:"end",opacity:"0.72"},{children:n.toLocaleString()})),e("rect",{x:"0",y:a+26,width:"640",height:"16",rx:"8",fill:"var(--pickaxe-viz-track)"}),e("rect",{x:"0",y:a+26,width:Math.abs(n)/u*640,height:"16",rx:"8",fill:s(i.tone)})]},`${i.label}-${r}`)}))]})),a?e("div",Object.assign({style:x},{children:a})):null]}))}if("line"===l||"area"===l){const i=640,c=320,d=42,u=r.map((e=>o(e.value))),p=Math.min(0,...u),g=Math.max(1,...u),f=e=>d+e/Math.max(1,r.length-1)*(i-2*d),y=e=>c-d-(e-p)/(g-p||1)*(c-2*d),m=r.map(((e,t)=>`${t?"L":"M"} ${f(t)} ${y(o(e.value))}`)).join(" "),j=`${m} L ${f(r.length-1)} ${c-d} L ${f(0)} ${c-d} Z`;return t("figure",Object.assign({style:h,"aria-label":n||`${l} chart`},{children:[n?e("figcaption",Object.assign({style:b},{children:n})):null,t("svg",Object.assign({style:v,viewBox:`0 0 ${i} ${c}`,role:"img"},{children:[a?e("desc",{children:a}):null,[0,1,2,3,4].map((t=>{const r=d+t/4*(c-2*d);return e("line",{x1:d,y1:r,x2:i-d,y2:r,stroke:"currentColor",opacity:"0.1"},t)})),"area"===l?e("path",{d:j,fill:"var(--pickaxe-viz-accent)",opacity:"0.14"}):null,e("path",{d:m,fill:"none",stroke:"var(--pickaxe-viz-accent)",strokeWidth:"3",strokeLinejoin:"round",strokeLinecap:"round"}),r.map(((i,r)=>t("g",{children:[e("title",{children:`${i.label}: ${u[r]}`}),e("circle",{cx:f(r),cy:y(u[r]),r:"5",fill:s(i.tone)}),e("text",Object.assign({x:f(r),y:c-14,textAnchor:"middle",fill:"currentColor",fontSize:"11",opacity:"0.72"},{children:i.label}))]},`${i.label}-${r}`)))]})),a?e("div",Object.assign({style:x},{children:a})):null]}))}if("pie"===l){const i=r.reduce(((e,t)=>e+Math.max(0,o(t.value))),0)||1;let l=-Math.PI/2;const c=["accent","positive","warning","negative","neutral"];return t("figure",Object.assign({style:h,"aria-label":n||"Pie chart"},{children:[n?e("figcaption",Object.assign({style:b},{children:n})):null,t("div",Object.assign({style:{display:"grid",gridTemplateColumns:"minmax(160px, 0.8fr) minmax(150px, 1fr)",alignItems:"center",gap:18}},{children:[e("svg",Object.assign({style:v,viewBox:"0 0 240 240",role:"img"},{children:r.map(((t,r)=>{const n=Math.max(0,o(t.value)),a=l,d=n/i*Math.PI*2;l+=d;const u=d>Math.PI?1:0,p=120+92*Math.cos(a),g=120+92*Math.sin(a),h=120+92*Math.cos(l),b=120+92*Math.sin(l),v=d>=1.999*Math.PI?"M 120 28 A 92 92 0 1 1 119.99 28 Z":`M 120 120 L ${p} ${g} A 92 92 0 ${u} 1 ${h} ${b} Z`;return e("path",Object.assign({d:v,fill:s(t.tone||c[r%c.length]),stroke:"var(--pickaxe-viz-surface)",strokeWidth:"2"},{children:e("title",{children:`${t.label}: ${n}`})}),`${t.label}-${r}`)}))})),e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:8}},{children:r.map(((i,r)=>t("div",Object.assign({style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,fontSize:13}},{children:[t("span",Object.assign({style:{display:"flex",alignItems:"center",gap:7}},{children:[e("span",{style:{width:9,height:9,borderRadius:999,background:s(i.tone||c[r%c.length])}}),i.label]})),e("strong",{children:o(i.value).toLocaleString()})]}),`${i.label}-${r}`)))}))]})),a?e("div",Object.assign({style:x},{children:a})):null]}))}if("ternary"===l){const l=i.corners&&"object"==typeof i.corners?i.corners:{},c=(e,t,r)=>{const n=l[e]&&"object"==typeof l[e]?l[e]:{};return{label:"string"==typeof n.label?n.label:"string"==typeof i[t]?i[t]:r,description:"string"==typeof n.description?n.description:""}},d=c("top","aLabel","A"),u=c("left","bLabel","B"),p=c("right","cLabel","C"),g={a:{x:360,y:94},b:{x:84,y:414},c:{x:636,y:414}},f=(e,t)=>{switch(e){case"left":return{dx:-t-7,dy:5,anchor:"end"};case"top":return{dx:0,dy:-t-7,anchor:"middle"};case"bottom":return{dx:0,dy:t+16,anchor:"middle"};default:return{dx:t+7,dy:5,anchor:"start"}}};return t("figure",Object.assign({style:h,"aria-label":n||"Ternary chart"},{children:[n?e("figcaption",Object.assign({style:b},{children:n})):null,t("svg",Object.assign({style:v,viewBox:"0 0 720 500",role:"img"},{children:[a?e("desc",{children:a}):null,e("path",{d:`M ${g.a.x} ${g.a.y} L ${g.b.x} ${g.b.y} L ${g.c.x} ${g.c.y} Z`,fill:"var(--pickaxe-viz-accent)",fillOpacity:"0.04",stroke:"currentColor",strokeOpacity:"0.45",strokeWidth:"2"}),r.map(((i,r)=>{const n=Math.max(0,o(i.a)),a=Math.max(0,o(i.b)),l=Math.max(0,o(i.c)),c=n+a+l||1,h=(n*g.a.x+a*g.b.x+l*g.c.x)/c,b=(n*g.a.y+a*g.b.y+l*g.c.y)/c,v=Math.min(18,Math.max(5,o(i.size)||7)),x=f(i.labelPosition,v);return t("g",{children:[e("title",{children:`${i.label}: ${n} ${d.label}, ${a} ${u.label}, ${l} ${p.label}`}),e("circle",{cx:h,cy:b,r:v,fill:s(i.tone)}),e("text",Object.assign({x:h+x.dx,y:b+x.dy,fill:"currentColor",fontSize:"14",fontWeight:"600",textAnchor:x.anchor},{children:i.label}))]},`${i.label}-${r}`)})),e("text",Object.assign({x:g.a.x,y:"28",textAnchor:"middle",fill:"currentColor",fontSize:"17",fontWeight:"700"},{children:d.label})),d.description?e("text",Object.assign({x:g.a.x,y:"51",textAnchor:"middle",fill:"currentColor",fontSize:"13",opacity:"0.72"},{children:d.description})):null,e("text",Object.assign({x:g.b.x,y:"449",textAnchor:"start",fill:"currentColor",fontSize:"17",fontWeight:"700"},{children:u.label})),u.description?e("text",Object.assign({x:g.b.x,y:"472",textAnchor:"start",fill:"currentColor",fontSize:"13",opacity:"0.72"},{children:u.description})):null,e("text",Object.assign({x:g.c.x,y:"449",textAnchor:"end",fill:"currentColor",fontSize:"17",fontWeight:"700"},{children:p.label})),p.description?e("text",Object.assign({x:g.c.x,y:"472",textAnchor:"end",fill:"currentColor",fontSize:"13",opacity:"0.72"},{children:p.description})):null]})),a?e("div",Object.assign({style:x},{children:a})):null]}))}const c=52,d=r.map((e=>o(e.x))),u=r.map((e=>o(e.y))),p=Math.min(...d),g=Math.max(...d),f=Math.min(...u),y=Math.max(...u),m=e=>c+(e-p)/(g-p||1)*536,j=e=>288-(e-f)/(y-f||1)*236;return t("figure",Object.assign({style:h,"aria-label":n||"Scatter chart"},{children:[n?e("figcaption",Object.assign({style:b},{children:n})):null,t("svg",Object.assign({style:v,viewBox:"0 0 640 340",role:"img"},{children:[a?e("desc",{children:a}):null,e("line",{x1:c,y1:288,x2:588,y2:288,stroke:"currentColor",opacity:"0.4"}),e("line",{x1:c,y1:c,x2:c,y2:288,stroke:"currentColor",opacity:"0.4"}),r.map(((i,r)=>{const n=d[r],a=u[r],l=Math.min(15,Math.max(5,o(i.size)||7));return t("g",{children:[e("title",{children:`${i.label}: ${n}, ${a}`}),e("circle",{cx:m(n),cy:j(a),r:l,fill:s(i.tone)}),e("text",Object.assign({x:m(n)+l+5,y:j(a)+5,fill:"currentColor",fontSize:"13"},{children:i.label}))]},`${i.label}-${r}`)})),i.xLabel?e("text",Object.assign({x:320,y:330,textAnchor:"middle",fill:"currentColor",fontSize:"13"},{children:String(i.xLabel)})):null,i.yLabel?e("text",Object.assign({x:"16",y:170,textAnchor:"middle",fill:"currentColor",fontSize:"13",transform:"rotate(-90 16 170)"},{children:String(i.yLabel)})):null]})),a?e("div",Object.assign({style:x},{children:a})):null]}))},y=Object.fromEntries(Object.keys(l).map((i=>[i,r=>((i,r,n,a,l,c)=>{var d,u,h,b,v,x,y,m,j,S,O,k,z,$,w,M,A,C,W,T,L,B,N;const R={width:"100%",boxSizing:"border-box",border:"1px solid var(--pickaxe-viz-border)",borderRadius:"var(--pickaxe-viz-radius)",background:"var(--pickaxe-viz-surface)",color:"inherit",padding:"11px 13px",font:"inherit",fontVariantNumeric:"tabular-nums",boxShadow:"inset 0 1px 2px rgba(0, 0, 0, 0.04)"};if("Column"===i)return e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:g(r.gap),minWidth:0}},{children:n}));if("Row"===i)return e("div",Object.assign({style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:g(r.gap),minWidth:0}},{children:n}));if("Grid"===i)return e("div",Object.assign({style:{display:"grid",gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, ${Number(r.columns)>2?150:210}px), 1fr))`,gap:g(r.gap),minWidth:0}},{children:n}));if("Card"===i)return e("div",Object.assign({style:{border:"1px solid var(--pickaxe-viz-border)",borderRadius:"var(--pickaxe-viz-radius)",padding:"clamp(14px, 3vw, 20px)",background:"var(--pickaxe-viz-surface)",boxShadow:"0 10px 30px rgba(0, 0, 0, 0.06)"}},{children:n}));if("Section"===i)return t("section",Object.assign({style:{display:"flex",flexDirection:"column",gap:12}},{children:[e("div",Object.assign({style:{fontSize:18,fontWeight:700,letterSpacing:"-0.02em"}},{children:String(null!==(d=r.title)&&void 0!==d?d:"")})),r.description?e("div",Object.assign({style:{color:"var(--pickaxe-viz-muted)",fontSize:14}},{children:String(r.description)})):null,n]}));if("Accordion"===i)return t("details",Object.assign({open:Boolean(r.defaultOpen),style:{border:"1px solid var(--pickaxe-viz-border)",borderRadius:"var(--pickaxe-viz-radius)",background:"var(--pickaxe-viz-surface)",padding:"12px 14px"}},{children:[e("summary",Object.assign({style:{cursor:"pointer",fontWeight:650}},{children:String(null!==(u=r.title)&&void 0!==u?u:"Details")})),e("div",Object.assign({style:{marginTop:12}},{children:n}))]}));if("Divider"===i)return e("hr",{style:{width:"100%",border:0,borderTop:"1px solid var(--pickaxe-viz-border)",margin:"4px 0"}});if("Spacer"===i)return e("div",{"aria-hidden":"true",style:{height:Math.max(4,o(r.size)||16)}});if("Badge"===i)return e("span",Object.assign({style:{display:"inline-flex",width:"fit-content",alignItems:"center",borderRadius:999,padding:"4px 9px",background:"var(--pickaxe-viz-track)",color:s(r.tone),fontSize:12,fontWeight:700}},{children:String(null!==(h=r.text)&&void 0!==h?h:"")}));if("Alert"===i)return t("div",Object.assign({role:"note",style:{borderLeft:`4px solid ${s(r.tone)}`,borderRadius:"var(--pickaxe-viz-radius)",padding:"12px 14px",background:"var(--pickaxe-viz-surface)",lineHeight:1.5}},{children:[r.title?e("strong",{children:String(r.title)}):null,e("div",{children:String(null!==(b=r.message)&&void 0!==b?b:"")})]}));if("Image"===i){const t=p(r.src);return t?e("img",{src:t,alt:String(null!==(v=r.alt)&&void 0!==v?v:""),style:{display:"block",width:"100%",maxHeight:o(r.maxHeight)||420,objectFit:"contain"===r.fit?"contain":"cover",borderRadius:"var(--pickaxe-viz-radius)"}}):null}if("Link"===i){const t=p(r.href);return t?e("a",Object.assign({href:t,target:"_blank",rel:"noreferrer",style:{color:"var(--pickaxe-viz-accent)"}},{children:String(null!==(x=r.text)&&void 0!==x?x:t)})):null}if("List"===i){const t=Array.isArray(r.items)?r.items:[],i=r.ordered?"ol":"ul";return e(i,Object.assign({style:{margin:0,paddingLeft:22,lineHeight:1.6}},{children:t.map(((t,i)=>e("li",{children:String(t)},`${String(t)}-${i}`)))}))}if("Table"===i){const i=Array.isArray(r.columns)?r.columns:[],n=Array.isArray(r.rows)?r.rows:[];return e("div",Object.assign({style:{width:"100%",overflowX:"auto"}},{children:t("table",Object.assign({style:{width:"100%",borderCollapse:"collapse",fontSize:14}},{children:[e("thead",{children:e("tr",{children:i.map(((t,i)=>{var r,n;return e("th",Object.assign({style:{padding:"9px 10px",borderBottom:"1px solid var(--pickaxe-viz-border)",textAlign:"left",color:"var(--pickaxe-viz-muted)",fontWeight:650}},{children:String(null!==(n=null!==(r=t.label)&&void 0!==r?r:t.key)&&void 0!==n?n:"")}),`${String(t.key)}-${i}`)}))})}),e("tbody",{children:n.map(((t,r)=>e("tr",{children:i.map(((i,r)=>{var n;return e("td",Object.assign({style:{padding:"10px",borderBottom:"1px solid var(--pickaxe-viz-border)"}},{children:String(null!==(n=t[String(i.key)])&&void 0!==n?n:"")}),r)}))},r)))})]}))}))}if("Text"===i)return e("div",Object.assign({style:{fontSize:"caption"===r.variant?13:15,opacity:"caption"===r.variant?.7:1,lineHeight:1.55,color:"muted"===r.tone||"neutral"===r.tone?"var(--pickaxe-viz-muted)":void 0}},{children:String(null!==(y=r.text)&&void 0!==y?y:"")}));if("Heading"===i){const t=Math.min(4,Math.max(1,o(r.level)||2));return e(`h${t}`,Object.assign({style:{margin:0,fontSize:`${Math.max(18,30-3*t)}px`,lineHeight:1.2,letterSpacing:"-0.025em"}},{children:String(null!==(m=r.text)&&void 0!==m?m:"")}))}if("NumberInput"===i)return t("label",Object.assign({style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},{children:[e("span",Object.assign({style:{fontSize:14,fontWeight:500}},{children:String(null!==(j=r.label)&&void 0!==j?j:"Value")})),e("input",{"aria-label":String(null!==(S=r.label)&&void 0!==S?S:"Value"),type:"number",value:o(r.value),min:"number"==typeof r.min?r.min:void 0,max:"number"==typeof r.max?r.max:void 0,step:"number"==typeof r.step?r.step:"any",style:R,onChange:e=>(null==a?void 0:a.value)&&Number.isFinite(e.currentTarget.valueAsNumber)&&l.set(a.value,e.currentTarget.valueAsNumber)})]}));if("TextInput"===i||"TextArea"===i){const n=String(null!==(O=r.label)&&void 0!==O?O:"Value"),s={"aria-label":n,value:String(null!==(k=r.value)&&void 0!==k?k:""),placeholder:"string"==typeof r.placeholder?r.placeholder:void 0,style:Object.assign(Object.assign({},R),{resize:"TextArea"===i?"vertical":void 0}),onChange:e=>(null==a?void 0:a.value)&&l.set(a.value,e.currentTarget.value)};return t("label",Object.assign({style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},{children:[e("span",Object.assign({style:{fontSize:14,fontWeight:500}},{children:n})),"TextArea"===i?e("textarea",Object.assign({},s,{rows:Math.max(2,o(r.rows)||4)})):e("input",Object.assign({},s,{type:"text"}))]}))}if("Select"===i){const i=Array.isArray(r.options)?r.options:[];return t("label",Object.assign({style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},{children:[e("span",Object.assign({style:{fontSize:14,fontWeight:500}},{children:String(null!==(z=r.label)&&void 0!==z?z:"Select")})),e("select",Object.assign({value:String(null!==($=r.value)&&void 0!==$?$:""),style:R,onChange:e=>(null==a?void 0:a.value)&&l.set(a.value,e.currentTarget.value)},{children:i.map(((t,i)=>{var r,n,a;return e("option",Object.assign({value:String(null!==(r=t.value)&&void 0!==r?r:"")},{children:String(null!==(a=null!==(n=t.label)&&void 0!==n?n:t.value)&&void 0!==a?a:"")}),`${String(t.value)}-${i}`)}))}))]}))}if("Checkbox"===i||"Toggle"===i)return t("label",Object.assign({style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",fontSize:14,fontWeight:500}},{children:[e("input",{type:"checkbox",role:"Toggle"===i?"switch":void 0,checked:Boolean(r.value),style:{width:18,height:18,accentColor:"var(--pickaxe-viz-accent)"},onChange:e=>(null==a?void 0:a.value)&&l.set(a.value,e.currentTarget.checked)}),String(null!==(w=r.label)&&void 0!==w?w:"Option")]}));if("Tabs"===i){const t=Array.isArray(r.options)?r.options:[];return e("div",Object.assign({role:"tablist","aria-label":String(null!==(M=r.label)&&void 0!==M?M:"Tabs"),style:{display:"flex",flexWrap:"wrap",gap:6}},{children:t.map(((t,i)=>{var n,o,s;const c=String(null!==(n=t.value)&&void 0!==n?n:i),d=String(null!==(o=r.value)&&void 0!==o?o:"")===c;return e("button",Object.assign({type:"button",role:"tab","aria-selected":d,style:{border:"1px solid "+(d?"var(--pickaxe-viz-accent)":"var(--pickaxe-viz-border)"),borderRadius:999,padding:"7px 12px",background:d?"var(--pickaxe-viz-accent)":"var(--pickaxe-viz-surface)",color:d?"var(--pickaxe-viz-accent-text, #fff)":"inherit",cursor:"pointer"},onClick:()=>(null==a?void 0:a.value)&&l.set(a.value,c)},{children:String(null!==(s=t.label)&&void 0!==s?s:c)}),c)}))}))}if("Button"===i)return e("button",Object.assign({type:"button",style:{width:r.fullWidth?"100%":"fit-content",border:"outline"===r.variant?"1px solid var(--pickaxe-viz-border)":0,borderRadius:"var(--pickaxe-viz-radius)",padding:"9px 14px",background:"outline"===r.variant?"transparent":"var(--pickaxe-viz-accent)",color:"outline"===r.variant?"inherit":"var(--pickaxe-viz-accent-text, #fff)",font:"inherit",fontWeight:650,cursor:"pointer"},onClick:()=>c("press")},{children:String(null!==(A=r.text)&&void 0!==A?A:"Continue")}));if("Slider"===i){const i=o(r.value);return t("label",Object.assign({style:{display:"flex",flexDirection:"column",gap:10}},{children:[t("span",Object.assign({style:{display:"flex",justifyContent:"space-between",gap:12,fontSize:14,fontWeight:500}},{children:[e("span",{children:String(null!==(C=r.label)&&void 0!==C?C:"Value")}),e("span",Object.assign({style:{fontVariantNumeric:"tabular-nums"}},{children:i}))]})),e("input",{"aria-label":String(null!==(W=r.label)&&void 0!==W?W:"Value"),type:"range",value:i,min:o(r.min),max:o(r.max),step:o(r.step)||1,style:{width:"100%",accentColor:"var(--pickaxe-viz-accent)"},onChange:e=>(null==a?void 0:a.value)&&Number.isFinite(e.currentTarget.valueAsNumber)&&l.set(a.value,e.currentTarget.valueAsNumber)})]}))}if("Metric"===i)return t("div",Object.assign({style:{minWidth:0,border:"1px solid var(--pickaxe-viz-border)",borderRadius:"var(--pickaxe-viz-radius)",padding:16,background:"var(--pickaxe-viz-surface)",boxShadow:"0 8px 24px rgba(0, 0, 0, 0.05)"}},{children:[e("div",Object.assign({style:{fontSize:12,fontWeight:650,letterSpacing:"0.045em",textTransform:"uppercase",color:"var(--pickaxe-viz-muted)"}},{children:String(null!==(T=r.label)&&void 0!==T?T:"")})),e("div",Object.assign({style:{marginTop:4,overflowWrap:"anywhere",fontSize:"clamp(24px, 5vw, 32px)",fontWeight:700,letterSpacing:"-0.035em",fontVariantNumeric:"tabular-nums",color:s(r.tone)}},{children:String(null!==(L=r.value)&&void 0!==L?L:"")}))]}));if("ProgressBar"===i){const i=o(r.value),n=Math.max(0,o(r.max)),a=n>0?Math.min(100,Math.max(0,i/n*100)):0;return t("div",Object.assign({style:{width:"100%",boxSizing:"border-box",padding:"4px 0"}},{children:[t("div",Object.assign({style:{display:"flex",justifyContent:"space-between",gap:12,marginBottom:8,fontSize:14}},{children:[e("span",{children:String(null!==(B=r.label)&&void 0!==B?B:"")}),t("span",Object.assign({style:{opacity:.75,fontVariantNumeric:"tabular-nums"}},{children:[i,"/",n]}))]})),e("div",Object.assign({role:"progressbar","aria-label":String(null!==(N=r.label)&&void 0!==N?N:"Progress"),"aria-valuemin":0,"aria-valuemax":n,"aria-valuenow":i,style:{width:"100%",height:12,overflow:"hidden",borderRadius:999,background:"var(--pickaxe-viz-track)"}},{children:e("div",{style:{width:`${a}%`,height:"100%",borderRadius:999,background:s(r.tone),transition:"width 150ms ease"}})}))]}))}return"Chart"===i?e(f,{props:r}):null})(i,r.props,r.children,r.bindings,r.store,r.emit)]))),m=({spec:t,elementKey:r,state:a,store:l,ancestors:s})=>{if(s.has(r))return null;const c=t.elements[r];if(!c||!((e,t)=>{if(void 0===e)return!0;if(e&&"object"==typeof e){const i=e;if("string"==typeof i.$state){const e=n(t,i.$state);if("eq"in i)return e===u(i.eq,t);if(!0===i.not)return!e}}return Boolean(u(e,t))})(c.visible,a))return null;const d=(e=>Object.fromEntries(Object.entries(e).flatMap((([e,t])=>t&&"object"==typeof t&&"string"==typeof t.$bindState?[[e,t.$bindState]]:[]))))(c.props),p=((e,t)=>u(e,t))(c.props,a),g=y[c.type];if(!g)return null;const h=new Set(s).add(r),b=c.children.map((i=>e(m,{spec:t,elementKey:i,state:a,store:l,ancestors:h},i)));return e(i,{children:g({props:p,children:b,bindings:d,store:l,emit:e=>{var t;return((e,t,i)=>{if(!e||!e.params)return;const r=e.params.statePath;if("string"!=typeof r||!r.startsWith("/"))return;const a=u(e.params.value,t);if("setState"===e.action)return void i.set(r,a);const l=n(t,r);if("pushState"!==e.action){if("removeState"===e.action&&Array.isArray(l)){const n=o(u(e.params.index,t));i.set(r,l.filter(((e,t)=>t!==n)))}}else i.set(r,[...Array.isArray(l)?l:[],a])})(null===(t=c.on)||void 0===t?void 0:t[e],a,l)}})})},j=({spec:t})=>{const[i,n]=a((()=>d(t.state||{}))),l={set(e,t){n((i=>{const n=d(i);return r(n,e,t),n}))}};return e("div",Object.assign({style:{width:"100%",minWidth:0,color:"inherit",fontFamily:"inherit"}},{children:e(m,{spec:t,elementKey:t.root,state:i,store:l,ancestors:new Set})}))};export{j as PickaxeJsonRender};
@@ -0,0 +1 @@
1
+ const e={Column:{container:!0,description:"Vertical stack layout"},Row:{container:!0,description:"Wrapping horizontal layout"},Grid:{container:!0,description:"Responsive grid layout"},Card:{container:!0,description:"Elevated content group"},Section:{container:!0,description:"Titled content section"},Accordion:{container:!0,description:"Collapsible content section"},Text:{container:!1,description:"Body or caption text"},Heading:{container:!1,description:"Semantic heading"},Divider:{container:!1,description:"Visual separator"},Spacer:{container:!1,description:"Responsive empty space"},Badge:{container:!1,description:"Compact status label"},Alert:{container:!1,description:"Highlighted message"},Image:{container:!1,description:"Remote image with alt text"},Link:{container:!1,description:"Safe external link"},List:{container:!1,description:"Ordered or unordered text list"},Table:{container:!1,description:"Tabular records with columns"},NumberInput:{container:!1,description:"Bound numeric input"},Slider:{container:!1,description:"Bound numeric range input"},TextInput:{container:!1,description:"Bound single-line text input"},TextArea:{container:!1,description:"Bound multiline text input"},Select:{container:!1,description:"Bound option selector"},Checkbox:{container:!1,description:"Bound boolean checkbox"},Toggle:{container:!1,description:"Bound boolean switch"},Button:{container:!1,description:"Local state action button"},Tabs:{container:!1,description:"Bound tab selector"},Metric:{container:!1,description:"Key performance indicator"},ProgressBar:{container:!1,description:"Progress toward a maximum"},Chart:{container:!1,description:"Bar, line, area, scatter, pie, or labeled ternary positioning chart"}},n=new Set(Object.keys(e));export{e as PICKAXE_JSON_RENDER_CATALOG,n as PICKAXE_JSON_RENDER_COMPONENT_TYPES};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useMemo as a,useState as i,useEffect as n,Component as o}from"react";import{PICKAXE_JSON_RENDER_COMPONENT_TYPES as s}from"./PickaxeJsonRenderCatalog.js";const l=e=>"string"==typeof e?e.trim():"",c=e=>{if(!e||e.length>1e6)return{error:"This visualization is unavailable.",fallbackText:"The visualization could not be displayed."};let t;try{t=JSON.parse(e)}catch(t){return{error:"This visualization is unavailable.",fallbackText:e}}if(!t||"object"!=typeof t)return{error:"This visualization is unavailable.",fallbackText:"The visualization could not be displayed."};const r=t,a=l(r.title)||"Visualization",i=l(r.fallbackText)||"The visualization could not be displayed.";return"ready"!==r.status?{error:"This visualization is unavailable.",fallbackText:i,title:a}:"json-render"===r.protocol&&"0.21"===r.protocolVersion&&l(r.surfaceId)&&(e=>{if(!e||"object"!=typeof e)return!1;const t=e;if("string"!=typeof t.root||!t.root)return!1;if(!t.elements||"object"!=typeof t.elements||Array.isArray(t.elements))return!1;if(void 0!==t.state&&(!t.state||"object"!=typeof t.state||Array.isArray(t.state)))return!1;const r=t.elements,a=Object.keys(r);if(!a.length||a.length>500||!r[t.root])return!1;for(const e of Object.values(r)){if(!e||"object"!=typeof e||Array.isArray(e))return!1;const t=e;if(!s.has(l(t.type)))return!1;if(!t.props||"object"!=typeof t.props||Array.isArray(t.props))return!1;if(!Array.isArray(t.children)||t.children.length>200||t.children.some((e=>"string"!=typeof e||!r[e])))return!1}const i=new Set,n=new Set,o=new Map,c=(e,t)=>{var a;if(t>40)return!1;if(i.has(e))return!1;if((null!==(a=o.get(e))&&void 0!==a?a:0)>=t)return!0;o.set(e,t),i.add(e);const s=r[e];for(const e of s.children)if(!c(e,t+1))return!1;return i.delete(e),n.add(e),!0};return c(t.root,1)&&n.size===a.length})(r.spec)?{data:r}:{error:"This visualization format is unsupported.",fallbackText:i,title:a}},d=({title:a,text:i,embedded:n=!1})=>{const{colors:o,styles:s}=r(),l=n?o.secondaryText:o.text;return t("div",Object.assign({role:"note",style:{display:"flex",alignItems:"flex-start",gap:14,width:"100%",boxSizing:"border-box",margin:n?0:"12px 0",border:`1px solid ${l}2b`,borderRadius:Math.max(s.cornerRadius,14),padding:"clamp(14px, 3vw, 18px)",background:n?o.secondary:o.primary,color:l,boxShadow:n?"none":"0 12px 32px rgba(0, 0, 0, 0.07)"}},{children:[e("div",Object.assign({"aria-hidden":"true",style:{display:"grid",placeItems:"center",width:36,height:36,flex:"0 0 auto",borderRadius:10,background:o.accent,color:o.accentText}},{children:e("svg",Object.assign({width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},{children:e("path",{d:"M3 15.5V11m5 4.5V7m5 8.5V4.5m4 11H2",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})}))})),t("div",Object.assign({style:{minWidth:0,flex:1}},{children:[e("div",Object.assign({style:{marginBottom:a?4:6,fontSize:11,fontWeight:700,letterSpacing:"0.075em",textTransform:"uppercase",opacity:.58}},{children:"Visualization summary"})),a?e("div",Object.assign({style:{marginBottom:6,fontSize:16,fontWeight:700,letterSpacing:"-0.015em"}},{children:a})):null,e("div",Object.assign({style:{fontSize:14,lineHeight:1.55,overflowWrap:"anywhere",opacity:.78}},{children:i}))]}))]}))};class u extends o{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{failed:!1}})}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){console.warn("[pickaxe] failed to render json-render visualization",e,t)}render(){return this.state.failed?this.props.fallback:this.props.children}}const p=({content:o})=>{const{colors:s,styles:l}=r(),p=a((()=>c(o)),[o]),[f,x]=i({status:"loading"});if(n((()=>{if(!p.data)return void x({status:"error"});let e=!1;return x({status:"loading"}),import("./PickaxeJsonRender.js").then((({PickaxeJsonRender:t})=>{e||x({status:"ready",Renderer:t})})).catch((t=>{e||(console.warn("[pickaxe] rejected invalid json-render visualization",t),x({status:"error"}))})),()=>{e=!0}}),[p]),!p.data||"error"===f.status){const t=p.data?p.data.title:p.title,r=p.data?p.data.fallbackText:p.fallbackText;return e(d,{title:t,text:r})}const b={"--pickaxe-viz-surface":s.secondary,"--pickaxe-viz-muted":s.secondaryText,"--pickaxe-viz-accent":s.accent,"--pickaxe-viz-accent-text":s.accentText,"--pickaxe-viz-border":`${s.text}33`,"--pickaxe-viz-track":`${s.text}20`,"--pickaxe-viz-radius":`${Math.max(l.cornerRadius,12)}px`},h=e(d,{title:p.data.title,text:p.data.fallbackText,embedded:!0}),g="ready"===f.status?f.Renderer:null;return t("section",Object.assign({"aria-label":p.data.title,style:Object.assign(Object.assign({},b),{width:"100%",boxSizing:"border-box",overflow:"hidden",margin:"12px 0",border:`1px solid ${s.text}33`,borderRadius:Math.max(l.cornerRadius,16),padding:"clamp(16px, 4vw, 24px)",background:s.primary,boxShadow:"0 16px 42px rgba(0, 0, 0, 0.08)"})},{children:[t("div",Object.assign({style:{display:"flex",alignItems:"center",gap:10,marginBottom:18,fontSize:16,fontWeight:700,letterSpacing:"-0.015em"}},{children:[e("span",{"aria-hidden":"true",style:{width:4,height:20,flex:"0 0 auto",borderRadius:999,background:s.accent}}),e("span",{children:p.data.title})]})),g?e(u,Object.assign({fallback:h},{children:e(g,{spec:p.data.spec},p.data.visualizationId)})):e("div",Object.assign({"aria-live":"polite",style:{opacity:.6}},{children:"Loading visualization…"}))]}))};export{p as default,c as parseVisualizationPart};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{ActionApprovalPart as t}from"./ActionApprovalPart.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useRef as i,Suspense as o,lazy as s}from"react";import{PickaxeMarkdownRenderer as r}from"../PickaxeMarkdown/Renderer.js";import a,{isGeneratedFileUrl as l,normalizeMarkdownUrl as c,getFilePreviewInfo as p,shouldSuppressRichPreviewForUrl as u,shouldRenderFilePreview as m}from"../PickaxeMarkdown/Components/A/FilePreview.js";import{safeJSONParse as d}from"../../../../common/utils.js";import f from"../../../../common/cn.js";const v=s((()=>import("./TextPart/index.js"))),g=s((()=>import("./ReasoningPart/index.js"))),w=s((()=>import("./ActionToolCaptionPart/index.js"))),h=s((()=>import("./ReasoningCaptionPart/index.js"))),y=/(!?)\[([^\]\n]+)\]\((https?:\/\/[^\s)]+|www\.[^\s)]+)\)/g,j=e=>{const t=new Set;for(const n of e){if("data-tool-assets"!==n.type)continue;const e=d(n.content);if(null==e?void 0:e.assets)for(const n of e.assets)n.value&&!l(n.value)&&t.add(c(n.value))}return t},x=({className:s,parts:l,isStreaming:x=!1,actionApproval:k})=>{const{actionApproval:P}=n(),b=null!=k?k:P,R=i(new Set);R.current=new Set;const A=j(l),N=l.reduce(((e,t,n)=>t.isVisible?n:e),-1);return e("div",Object.assign({className:f("flex flex-col gap-2",s)},{children:e(o,Object.assign({fallback:e("div",{})},{children:l.map(((n,i)=>{if(!n.isVisible)return null;if("data-action-approval"===n.type)return e(t,{content:n.content,isStreaming:x,approval:b},i);if("text"===n.type){const t=((e,t,n)=>{var i,o;const s=[];let r=0;for(const a of e.matchAll(y)){const l=null!==(i=a.index)&&void 0!==i?i:0,d=a[0],f="!"===a[1],v=null===(o=a[2])||void 0===o?void 0:o.trim(),g=a[3],w=p(g);if(!w)continue;if(u(w.url,n))continue;l>r&&s.push({type:"markdown",value:e.slice(r,l)});const h=v&&c(v)!==w.url?v:void 0;m(w,t)?s.push({type:"preview",key:`${w.url}-${l}`,fileInfo:w,displayName:h}):s.push({type:"markdown",value:f?d:`[${v||w.fileName}](${w.url})`}),r=l+d.length}return r<e.length&&s.push({type:"markdown",value:e.slice(r)}),s.length?s:[{type:"markdown",value:e}]})(n.content,R,A);return e(v,{children:t.map(((t,n)=>"preview"===t.type?e(a,{fileInfo:t.fileInfo,displayName:t.displayName},t.key):t.value?e(r,{value:t.value,filePreviewSeenRef:R,suppressedRichPreviewUrls:A},n):null))},i)}if("reasoning"===n.type)return e(g,Object.assign({isReasoning:i===l.length-1},{children:e(r,{value:n.content,suppressedRichPreviewUrls:A})}),i);if("data-action-tool-caption"===n.type){const t=d(n.content),o=i===N;return e(w,Object.assign({},t&&t,{isLoading:x&&o,isVisible:o}),i)}if("data-reasoning-caption"===n.type){const t=d(n.content),o=i===N;return e(h,Object.assign({},t&&t,{isLoading:x&&o,isVisible:o}),i)}return null}))}))}))};export{x as default,j as getSuppressedRichPreviewUrls};
1
+ import{jsx as e}from"react/jsx-runtime";import{ActionApprovalPart as t}from"./ActionApprovalPart.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useRef as i,Suspense as o,lazy as r}from"react";import{PickaxeMarkdownRenderer as s}from"../PickaxeMarkdown/Renderer.js";import a,{isGeneratedFileUrl as l,normalizeMarkdownUrl as c,getFilePreviewInfo as p,shouldSuppressRichPreviewForUrl as u,shouldRenderFilePreview as m}from"../PickaxeMarkdown/Components/A/FilePreview.js";import{safeJSONParse as d}from"../../../../common/utils.js";import f from"../../../../common/cn.js";const v=r((()=>import("./TextPart/index.js"))),g=r((()=>import("./ReasoningPart/index.js"))),w=r((()=>import("./ActionToolCaptionPart/index.js"))),y=r((()=>import("./ReasoningCaptionPart/index.js"))),h=r((()=>import("./VisualizationPart.js"))),j=/(!?)\[([^\]\n]+)\]\((https?:\/\/[^\s)]+|www\.[^\s)]+)\)/g,x=e=>{const t=new Set;for(const n of e){if("data-tool-assets"!==n.type)continue;const e=d(n.content);if(null==e?void 0:e.assets)for(const n of e.assets)n.value&&!l(n.value)&&t.add(c(n.value))}return t},k=({className:r,parts:l,isStreaming:k=!1,actionApproval:P})=>{const{actionApproval:b}=n(),R=null!=P?P:b,A=i(new Set);A.current=new Set;const N=x(l),S=l.reduce(((e,t,n)=>t.isVisible?n:e),-1);return e("div",Object.assign({className:f("flex flex-col gap-2",r)},{children:e(o,Object.assign({fallback:e("div",{})},{children:l.map(((n,i)=>{if(!n.isVisible)return null;if("data-action-approval"===n.type)return e(t,{content:n.content,isStreaming:k,approval:R},i);if("data-visualization"===n.type)return e(h,{content:n.content},i);if("text"===n.type){const t=((e,t,n)=>{var i,o;const r=[];let s=0;for(const a of e.matchAll(j)){const l=null!==(i=a.index)&&void 0!==i?i:0,d=a[0],f="!"===a[1],v=null===(o=a[2])||void 0===o?void 0:o.trim(),g=a[3],w=p(g);if(!w)continue;if(u(w.url,n))continue;l>s&&r.push({type:"markdown",value:e.slice(s,l)});const y=v&&c(v)!==w.url?v:void 0;m(w,t)?r.push({type:"preview",key:`${w.url}-${l}`,fileInfo:w,displayName:y}):r.push({type:"markdown",value:f?d:`[${v||w.fileName}](${w.url})`}),s=l+d.length}return s<e.length&&r.push({type:"markdown",value:e.slice(s)}),r.length?r:[{type:"markdown",value:e}]})(n.content,A,N);return e(v,{children:t.map(((t,n)=>"preview"===t.type?e(a,{fileInfo:t.fileInfo,displayName:t.displayName},t.key):t.value?e(s,{value:t.value,filePreviewSeenRef:A,suppressedRichPreviewUrls:N},n):null))},i)}if("reasoning"===n.type)return e(g,Object.assign({isReasoning:i===l.length-1},{children:e(s,{value:n.content,suppressedRichPreviewUrls:N})}),i);if("data-action-tool-caption"===n.type){const t=d(n.content),o=i===S;return e(w,Object.assign({},t&&t,{isLoading:k&&o,isVisible:o}),i)}if("data-reasoning-caption"===n.type){const t=d(n.content),o=i===S;return e(y,Object.assign({},t&&t,{isLoading:k&&o,isVisible:o}),i)}return null}))}))}))};export{k as default,x as getSuppressedRichPreviewUrls};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as s,jsxs as t}from"react/jsx-runtime";import{usePickaxe as o}from"../../hooks/pickaxe/usePickaxe.js";import{useState as i,useMemo as a,useEffect as r,useCallback as n}from"react";import{usePickaxeContext as l}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as c}from"./Addons/Auth/hooks/useAuthContext.js";import{useAuthBootstrap as d}from"./Addons/Auth/hooks/useAuthBootstrap.js";import{useResponseContext as u}from"../../hooks/pickaxe/useResponseContext.js";import{useDocumentContext as m}from"./Addons/Document/hooks/useDocumentContext.js";import{useArtifactContext as p}from"./Addons/Artifact/hooks/useArtifactContext.js";import{v4 as f}from"uuid";import{ScrollProvider as g}from"./Addons/Scroll/Provider.js";import x from"./common/PickaxeSkeleton.js";import h from"./Chat/index.js";import v from"./Form/index.js";import b from"./Addons/Auth/index.js";import j from"../../common/cn.js";import{pickaxeApi2 as k}from"../../common/api/pickaxe.js";import y from"../../common/error.js";import{getValidationFailure as w}from"../../common/validation.js";import N from"./common/AccessGroupCardPreview.js";import I from"./common/HorizontalScrollCue.js";import O from"./common/PickaxeButton.js";import{Avatar as C,AvatarImage as A,AvatarFallback as S}from"./common/PickaxeAvatar.js";import _ from"../Icons/lock.svg.js";import{EmbeddedCheckoutProvider as q,EmbeddedCheckout as U}from"../../node_modules/.pnpm/@stripe_react-stripe-js@4.0.2_@stripe_stripe-js@7.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@stripe/react-stripe-js/dist/react-stripe.esm.mjs.js";import{loadStripe as L}from"../../node_modules/.pnpm/@stripe_stripe-js@7.9.0/node_modules/@stripe/stripe-js/dist/index.mjs.js";import{clearAuthenticatedEmbedSession as P,writeAuthenticatedEmbedSession as T,readAuthenticatedEmbedSession as G}from"../../common/embedSession.js";import{emitPendingEmbedCheckout as R,emitEmbedCheckout as E}from"../../common/embedAuthEvents.js";const B=({className:e})=>s("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e},{children:s("polyline",{points:"15 18 9 12 15 6"})})),D=({pickaxeId:D,className:M})=>{var $,F,V,z,H;const{sessionId:W,styles:J,colors:K,responsiveBy:X,deploymentType:Y,isNewChat:Q,isEmbed:Z,opacity:ee,deploymentId:se,pickaxeId:te,sender:oe,portalId:ie,validationStatus:ae,validationUpgradeGroups:re,validationUpgradeUrl:ne,accessGroup:le,stripeAccountId:ce,clientSecret:de,translations:ue,preventInitialSessionId:me,persistActiveConversation:pe,setClientSecret:fe,setStripeAccountId:ge,setValidationStatus:xe,setValidationUpgradeGroups:he,setValidationUpgradeUrl:ve,setContextId:be,setPickaxeId:je,setSessionId:ke,setLastSessionId:ye,setIsNewChat:we,setPickaxe:Ne,setAccessGroup:Ie}=l(),{emailInput:Oe,isSent:Ce,token:Ae,isAuthBootstrapComplete:Se}=c(),{setMessages:_e,setResponse:qe,setError:Ue,setLimitData:Le,setIsSwitchedToChat:Pe}=u(),{setDocumentError:Te}=m(),{setCurrentArtifact:Ge}=p(),[Re,Ee]=i(!1),Be=o();d();const De=a((()=>{var e;return{deploymentId:se,pickaxeId:te,studioId:(null===(e=Be.data)||void 0===e?void 0:e.studioid)||""}}),[se,null===($=Be.data)||void 0===$?void 0:$.studioid,te]);r((()=>{Z&&De.pickaxeId&&De.studioId&&R(De,Ae)}),[De,Z,Ae]);const Me=n((()=>{Z&&De.pickaxeId&&De.studioId&&E(De,de||void 0)}),[De,de,Z]),$e=Boolean(Z&&se&&pe&&!me&&(null===(F=Be.data)||void 0===F?void 0:F.chatflag)&&!Be.data.enablechatresponses),Fe=$e?Ae:null,Ve=!$e||Se,ze="chat-input"===Y&&Q&&!Ce,He=a((()=>ce?L(process.env.NEXT_PUBLIC_STRIPE_KEY,{stripeAccount:ce}):null),[ce]);r((()=>{je(D)}),[D]);r((()=>{if(!se&&!ie||!Be.data)return;if(!Se)return;if("stripe_checkout"===ae)return;e(void 0,void 0,void 0,(function*(){var e;xe("loading");try{const s=yield k.post("/access/validate",{data:{deploymentId:se,sender:oe||void 0,studioSessionToken:Ae,portalId:ie,studioId:null===(e=Be.data)||void 0===e?void 0:e.studioid}});if(s.data.success)xe("success"),he([]),ve(null),Ie(((e,s)=>e&&s?Object.assign(Object.assign({},e),{hideUpgradeOptions:!0}):e)(s.data.accessGroup,s.data.hideUpgradeOptions));else{const e=w(s.data);if(!e)return xe("login_required"),he([]),void ve(null);xe(e.status),Ie(e.accessGroup),he(e.upgradeGroups),ve(e.upgradeUrl),Ee(!0)}}catch(e){console.error("Failed to validate deployment:",e),xe("success")}}))}),[se,Se,oe,Ae,ie,Be.data]),r((()=>{if(!Be.data)return;const s=Be.data;Ne(s);const t=s.chatflag;if(!Ve)return void Ee(!1);let o=!1;return e(void 0,void 0,void 0,(function*(){let e="";if(Fe&&se){const t={deploymentId:se,pickaxeId:s.formid,authToken:Fe},o=G(t);if(null==o?void 0:o.sessionId)try{const t=new URLSearchParams({pickaxeId:s.formid,sessionId:o.sessionId,deploymentId:se,studioSessionToken:Fe,resume:"true"});yield k.get(`/conversation?${t.toString()}`),e=o.sessionId}catch(e){P(t)}}o||(me||(ke(e||(t?f():"")),ye(e),we(!e)),be(f()),t?_e([]):qe(null),Ue(""),Te(""),Le(null),Ge(null),Pe(!1),Ee(!0))})),()=>{o=!0}}),[$e,se,Z,Ve,Fe,pe,Be.data,me]),r((()=>{var e;if(!Z||!se||!Ae||!(null===(e=Be.data)||void 0===e?void 0:e.formid)||me)return;const s={deploymentId:se,pickaxeId:Be.data.formid,authToken:Ae};pe&&Be.data.chatflag&&!Be.data.enablechatresponses&&!Q&&W?T(Object.assign(Object.assign({},s),{sessionId:W})):P(s)}),[se,Z,Q,pe,null===(V=Be.data)||void 0===V?void 0:V.chatflag,null===(z=Be.data)||void 0===z?void 0:z.enablechatresponses,null===(H=Be.data)||void 0===H?void 0:H.formid,me,W,Ae]),r((()=>{Ue(""),Te(""),Le(null),_e([]),qe(null),Ge(null)}),[W]);const We=a((()=>{const e=null!=ee?ee:1;if(!K.primary||!K.primary.startsWith("#")||e<0||e>1)return K.primary;const s=Math.round(255*e).toString(16).padStart(2,"0");return`${K.primary}${s}`}),[K.primary,ee]);if(!Be.data)return null;return s("div",Object.assign({className:j("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===J.theme&&"dark",M),style:Object.assign({backgroundColor:ze?"transparent":We,color:K.text},J.font&&"Real Head Pro"!==J.font&&{fontFamily:J.font})},{children:(()=>{var o,i,a,r,n;if("stripe_checkout"===ae&&de&&He)return t("div",Object.assign({className:"absolute inset-0 z-[999] flex flex-col w-full h-full overflow-hidden",style:{backgroundColor:K.secondary||"#ffffff",color:K.secondaryText||"#000000"}},{children:[s("div",Object.assign({className:"flex items-center p-4 border-b border-gray-100 shrink-0"},{children:t("button",Object.assign({onClick:()=>{fe&&fe(null),ge&&ge(null),xe("success")},className:"flex items-center gap-2 text-sm font-semibold opacity-70 hover:opacity-100 transition-opacity",style:{color:K.text}},{children:[s(B,{className:"w-5 h-5"}),s("span",{children:(null==ue?void 0:ue.back)||"Back"})]}))})),s("div",Object.assign({className:"flex-1 w-full h-full overflow-y-auto [&>div]:h-full"},{children:s(q,Object.assign({stripe:He,options:{clientSecret:de,onComplete:Me}},{children:s(U,{})}))}))]}));if(Be.isLoading||!Re||"loading"===ae)return s("div",Object.assign({className:j("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===X?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:t("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[s(x,{className:"w-[72px] h-[72px]"}),s(x,{className:"h-[20px] mt-6 w-full"}),s(x,{className:"h-[20px] mt-2 w-full"}),s(x,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),s("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:s(x,{className:j("w-full min-h-[48px]","viewport"===X?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))}));if("upgrade_required"===ae){const e=null==le?void 0:le.hideUpgradeOptions,r=!e&&re.length>0,n=!e&&(null===(o=null==le?void 0:le.upgrade)||void 0===o?void 0:o.isLinkToCustomURL)&&"string"==typeof le.upgrade.limitLink&&le.upgrade.limitLink.trim().length>0?le.upgrade.limitLink.trim():null,l="string"==typeof(null===(i=null==le?void 0:le.upgrade)||void 0===i?void 0:i.limitMessage)&&le.upgrade.limitMessage.trim().length>0?le.upgrade.limitMessage:(null==ue?void 0:ue["please-upgrade-to-continue-using-this-tool"])||"Please upgrade to continue using this tool.",c="string"==typeof(null===(a=null==le?void 0:le.upgrade)||void 0===a?void 0:a.limitCTA)&&le.upgrade.limitCTA.trim().length>0?le.upgrade.limitCTA:(null==ue?void 0:ue["pricing.upgrade"])||(null==ue?void 0:ue.upgrade)||"Upgrade";return s("div",Object.assign({className:"flex h-full min-h-0 w-full items-start justify-center overflow-y-auto p-4"},{children:t("div",n?Object.assign({className:"m-auto flex max-w-[640px] flex-col items-center gap-4 text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==ue?void 0:ue["upgrade-required"])||"Upgrade Required"})),s("p",Object.assign({className:"opacity-80"},{children:l})),s(O,Object.assign({variant:"primary",className:"min-h-[40px] px-5 text-sm",onClick:()=>{window.open(n,"_blank","noopener,noreferrer")}},{children:c}))]}):r?Object.assign({className:"flex w-full max-w-4xl flex-col items-center gap-6 py-6"},{children:[t("div",Object.assign({className:"max-w-[640px] text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2 break-words"},{children:(null==ue?void 0:ue["upgrade-required"])||"Upgrade Required"})),s("p",Object.assign({className:"break-words opacity-80"},{children:(null==ue?void 0:ue["please-upgrade-to-continue-using-this-tool"])||"Please upgrade to continue using this tool."}))]})),s(I,Object.assign({className:"w-full",contentClassName:j("gap-4 pb-4",re.length<=3&&("viewport"===X?"min-[767px]:justify-center":"@[767px]/pickaxe-root:justify-center"))},{children:re.map(((e,t)=>s(N,{data:e,upgradeUrl:ne},e.accessGroupId||e.id||t)))}))]}):e?Object.assign({className:"m-auto flex max-w-[640px] flex-col items-center gap-4 text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==ue?void 0:ue["upgrade-required"])||"Upgrade Required"})),s("p",Object.assign({className:"opacity-80"},{children:l}))]}):Object.assign({className:"m-auto flex max-w-[640px] flex-col items-center gap-4 text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==ue?void 0:ue["access-locked"])||"Access Locked"})),s("p",Object.assign({className:"opacity-80"},{children:(null==ue?void 0:ue["this-tool-is-locked-contact-owner"])||"This tool is locked to use. Contact owner for more information."}))]}))}))}return"login_required"===ae&&Z?s(b,{}):"login_required"!==ae||Z?"access_denied"===ae?t("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:[t(C,Object.assign({className:"h-[68px] w-[68px] mb-4"},{children:[s(A,{src:null===(r=Be.data)||void 0===r?void 0:r.coverphoto,alt:`${null===(n=Be.data)||void 0===n?void 0:n.formtitle} Logo`}),s(S,{})]})),t("div",Object.assign({className:"text-center mb-6"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==ue?void 0:ue["access-denied"])||"Access Denied"})),t("div",Object.assign({className:"w-[400px] text-xl flex justify-center items-start"},{children:[s(_,{className:"h-6 w-6 mr-[-20px] shrink-0"}),s("p",Object.assign({className:"ml-1"},{children:(null==ue?void 0:ue["no-access-request-access"])||"It looks like you don't have access to these resources. Please request access to continue."}))]}))]})),s("button",Object.assign({className:"px-6 py-2 font-medium rounded-md transition-colors",style:{backgroundColor:K.accent,color:K.accentText,borderRadius:J.cornerRadius},onClick:()=>{e(void 0,void 0,void 0,(function*(){var e,s;const t=(null==le?void 0:le.accessGroupId)?[le.accessGroupId]:[],o=Oe.trim().toLowerCase();if(o)try{const i=yield k.post("/access/request",{data:{email:o,studioId:null===(e=Be.data)||void 0===e?void 0:e.studioid,message:JSON.stringify({toolId:null===(s=Be.data)||void 0===s?void 0:s.formid,deploymentId:se,accessGroupIds:t})}});i.data.success?alert((null==ue?void 0:ue["access-requested-successfully"])||"Successfully requested access!"):alert(i.data.error)}catch(e){const s=y(e);alert(((null==ue?void 0:ue["request-access-error"])||"Couldn't request access. Error: {error}").replace("{error}",s||String(e)))}else alert((null==ue?void 0:ue["email-address-cannot-be-empty"])||"Email address cannot be empty.")}))}},{children:(null==ue?void 0:ue["request-access"])||"Request Access"})),s("span",Object.assign({className:"mt-4 mb-2"},{children:(null==ue?void 0:ue.or)||"or"})),s("span",Object.assign({className:"font-medium text-lg"},{children:(null==ue?void 0:ue["sign-in-with-different-account"])||"Sign in with a different account"}))]})):s(g,W?{children:s(h,{})}:{children:s(v,{})}):s("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:t("div",Object.assign({className:"text-center mb-8"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==ue?void 0:ue["access-denied"])||"Access Denied"})),s("p",Object.assign({className:"opacity-80"},{children:(null==ue?void 0:ue["login-is-required"])||"Login is required."}))]}))}))})()}))};export{D as Pickaxe};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as s,jsxs as t,Fragment as o}from"react/jsx-runtime";import{usePickaxe as i}from"../../hooks/pickaxe/usePickaxe.js";import{useState as a,useMemo as r,useEffect as n,useCallback as l}from"react";import{usePickaxeContext as c}from"../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as d}from"./Addons/Auth/hooks/useAuthContext.js";import{useAuthBootstrap as u}from"./Addons/Auth/hooks/useAuthBootstrap.js";import{useResponseContext as m}from"../../hooks/pickaxe/useResponseContext.js";import{useDocumentContext as p}from"./Addons/Document/hooks/useDocumentContext.js";import{useArtifactContext as f}from"./Addons/Artifact/hooks/useArtifactContext.js";import{v4 as g}from"uuid";import{ScrollProvider as h}from"./Addons/Scroll/Provider.js";import x from"./common/PickaxeSkeleton.js";import v from"./Chat/index.js";import b from"./Form/index.js";import j from"./Addons/Auth/index.js";import k from"../../common/cn.js";import{pickaxeApi2 as y}from"../../common/api/pickaxe.js";import w from"../../common/error.js";import{getValidationFailure as N}from"../../common/validation.js";import O from"./common/AccessGroupCardPreview.js";import I from"./common/HorizontalScrollCue.js";import C from"./common/PickaxeButton.js";import{Avatar as A,AvatarImage as S,AvatarFallback as _}from"./common/PickaxeAvatar.js";import q from"../Icons/lock.svg.js";import{EmbeddedCheckoutProvider as U,EmbeddedCheckout as L}from"../../node_modules/.pnpm/@stripe_react-stripe-js@4.0.2_@stripe_stripe-js@7.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@stripe/react-stripe-js/dist/react-stripe.esm.mjs.js";import{loadStripe as P}from"../../node_modules/.pnpm/@stripe_stripe-js@7.9.0/node_modules/@stripe/stripe-js/dist/index.mjs.js";import{clearAuthenticatedEmbedSession as T,writeAuthenticatedEmbedSession as G,readAuthenticatedEmbedSession as R}from"../../common/embedSession.js";import{emitPendingEmbedCheckout as E,emitEmbedCheckout as B}from"../../common/embedAuthEvents.js";const D=({className:e})=>s("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e},{children:s("polyline",{points:"15 18 9 12 15 6"})})),M=({pickaxeId:M,className:V,embedView:$})=>{var F,z,H,W,J;const{sessionId:K,styles:X,colors:Y,responsiveBy:Q,deploymentType:Z,isNewChat:ee,isEmbed:se,opacity:te,deploymentId:oe,pickaxeId:ie,sender:ae,portalId:re,validationStatus:ne,validationUpgradeGroups:le,validationUpgradeUrl:ce,accessGroup:de,stripeAccountId:ue,clientSecret:me,translations:pe,preventInitialSessionId:fe,persistActiveConversation:ge,setClientSecret:he,setStripeAccountId:xe,setValidationStatus:ve,setValidationUpgradeGroups:be,setValidationUpgradeUrl:je,setContextId:ke,setPickaxeId:ye,setSessionId:we,setLastSessionId:Ne,setIsNewChat:Oe,setPickaxe:Ie,setAccessGroup:Ce}=c(),{emailInput:Ae,isSent:Se,token:_e,isAuthBootstrapComplete:qe}=d(),{setMessages:Ue,setResponse:Le,setError:Pe,setLimitData:Te,setIsSwitchedToChat:Ge}=m(),{setDocumentError:Re}=p(),{setCurrentArtifact:Ee}=f(),[Be,De]=a(!1),Me=i();u();const Ve=r((()=>{var e;return{deploymentId:oe,pickaxeId:ie,studioId:(null===(e=Me.data)||void 0===e?void 0:e.studioid)||""}}),[oe,null===(F=Me.data)||void 0===F?void 0:F.studioid,ie]);n((()=>{se&&Ve.pickaxeId&&Ve.studioId&&E(Ve,_e)}),[Ve,se,_e]);const $e=l((()=>{se&&Ve.pickaxeId&&Ve.studioId&&B(Ve,me||void 0)}),[Ve,me,se]),Fe=Boolean(se&&oe&&ge&&!fe&&(null===(z=Me.data)||void 0===z?void 0:z.chatflag)&&!Me.data.enablechatresponses),ze=Fe?_e:null,He=!Fe||qe,We="chat-input"===Z&&ee&&!Se,Je=r((()=>ue?P(process.env.NEXT_PUBLIC_STRIPE_KEY,{stripeAccount:ue}):null),[ue]);n((()=>{ye(M)}),[M]);n((()=>{if(!oe&&!re||!Me.data)return;if(!qe)return;if("stripe_checkout"===ne)return;e(void 0,void 0,void 0,(function*(){var e;ve("loading");try{const s=yield y.post("/access/validate",{data:{deploymentId:oe,sender:ae||void 0,studioSessionToken:_e,portalId:re,studioId:null===(e=Me.data)||void 0===e?void 0:e.studioid}});if(s.data.success)ve("success"),be([]),je(null),Ce(((e,s)=>e&&s?Object.assign(Object.assign({},e),{hideUpgradeOptions:!0}):e)(s.data.accessGroup,s.data.hideUpgradeOptions));else{const e=N(s.data);if(!e)return ve("login_required"),be([]),void je(null);ve(e.status),Ce(e.accessGroup),be(e.upgradeGroups),je(e.upgradeUrl),De(!0)}}catch(e){console.error("Failed to validate deployment:",e),ve("success")}}))}),[oe,qe,ae,_e,re,Me.data]),n((()=>{if(!Me.data)return;const s=Me.data;Ie(s);const t=s.chatflag;if(!He)return void De(!1);let o=!1;return e(void 0,void 0,void 0,(function*(){let e="";if(ze&&oe){const t={deploymentId:oe,pickaxeId:s.formid,authToken:ze},o=R(t);if(null==o?void 0:o.sessionId)try{const t=new URLSearchParams({pickaxeId:s.formid,sessionId:o.sessionId,deploymentId:oe,studioSessionToken:ze,resume:"true"});yield y.get(`/conversation?${t.toString()}`),e=o.sessionId}catch(e){T(t)}}o||(fe||(we(e||(t?g():"")),Ne(e),Oe(!e)),ke(g()),t?Ue([]):Le(null),Pe(""),Re(""),Te(null),Ee(null),Ge(!1),De(!0))})),()=>{o=!0}}),[Fe,oe,se,He,ze,ge,Me.data,fe]),n((()=>{var e;if(!se||!oe||!_e||!(null===(e=Me.data)||void 0===e?void 0:e.formid)||fe)return;const s={deploymentId:oe,pickaxeId:Me.data.formid,authToken:_e};ge&&Me.data.chatflag&&!Me.data.enablechatresponses&&!ee&&K?G(Object.assign(Object.assign({},s),{sessionId:K})):T(s)}),[oe,se,ee,ge,null===(H=Me.data)||void 0===H?void 0:H.chatflag,null===(W=Me.data)||void 0===W?void 0:W.enablechatresponses,null===(J=Me.data)||void 0===J?void 0:J.formid,fe,K,_e]),n((()=>{Pe(""),Re(""),Te(null),Ue([]),Le(null),Ee(null)}),[K]);const Ke=r((()=>{const e=null!=te?te:1;if(!Y.primary||!Y.primary.startsWith("#")||e<0||e>1)return Y.primary;const s=Math.round(255*e).toString(16).padStart(2,"0");return`${Y.primary}${s}`}),[Y.primary,te]);if(!Me.data)return null;const Xe=()=>{var o,i,a,r,n;if("stripe_checkout"===ne&&me&&Je)return t("div",Object.assign({className:"absolute inset-0 z-[999] flex flex-col w-full h-full overflow-hidden",style:{backgroundColor:Y.secondary||"#ffffff",color:Y.secondaryText||"#000000"}},{children:[s("div",Object.assign({className:"flex items-center p-4 border-b border-gray-100 shrink-0"},{children:t("button",Object.assign({onClick:()=>{he&&he(null),xe&&xe(null),ve("success")},className:"flex items-center gap-2 text-sm font-semibold opacity-70 hover:opacity-100 transition-opacity",style:{color:Y.text}},{children:[s(D,{className:"w-5 h-5"}),s("span",{children:(null==pe?void 0:pe.back)||"Back"})]}))})),s("div",Object.assign({className:"flex-1 w-full h-full overflow-y-auto [&>div]:h-full"},{children:s(U,Object.assign({stripe:Je,options:{clientSecret:me,onComplete:$e}},{children:s(L,{})}))}))]}));if(Me.isLoading||!Be||"loading"===ne)return s("div",Object.assign({className:k("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===Q?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:t("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[s(x,{className:"w-[72px] h-[72px]"}),s(x,{className:"h-[20px] mt-6 w-full"}),s(x,{className:"h-[20px] mt-2 w-full"}),s(x,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),s("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:s(x,{className:k("w-full min-h-[48px]","viewport"===Q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))}));if("upgrade_required"===ne){const e=null==de?void 0:de.hideUpgradeOptions,r=!e&&le.length>0,n=!e&&(null===(o=null==de?void 0:de.upgrade)||void 0===o?void 0:o.isLinkToCustomURL)&&"string"==typeof de.upgrade.limitLink&&de.upgrade.limitLink.trim().length>0?de.upgrade.limitLink.trim():null,l="string"==typeof(null===(i=null==de?void 0:de.upgrade)||void 0===i?void 0:i.limitMessage)&&de.upgrade.limitMessage.trim().length>0?de.upgrade.limitMessage:(null==pe?void 0:pe["please-upgrade-to-continue-using-this-tool"])||"Please upgrade to continue using this tool.",c="string"==typeof(null===(a=null==de?void 0:de.upgrade)||void 0===a?void 0:a.limitCTA)&&de.upgrade.limitCTA.trim().length>0?de.upgrade.limitCTA:(null==pe?void 0:pe["pricing.upgrade"])||(null==pe?void 0:pe.upgrade)||"Upgrade";return s("div",Object.assign({className:"flex h-full min-h-0 w-full items-start justify-center overflow-y-auto p-4"},{children:t("div",n?Object.assign({className:"m-auto flex max-w-[640px] flex-col items-center gap-4 text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==pe?void 0:pe["upgrade-required"])||"Upgrade Required"})),s("p",Object.assign({className:"opacity-80"},{children:l})),s(C,Object.assign({variant:"primary",className:"min-h-[40px] px-5 text-sm",onClick:()=>{window.open(n,"_blank","noopener,noreferrer")}},{children:c}))]}):r?Object.assign({className:"flex w-full max-w-4xl flex-col items-center gap-6 py-6"},{children:[t("div",Object.assign({className:"max-w-[640px] text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2 break-words"},{children:(null==pe?void 0:pe["upgrade-required"])||"Upgrade Required"})),s("p",Object.assign({className:"break-words opacity-80"},{children:(null==pe?void 0:pe["please-upgrade-to-continue-using-this-tool"])||"Please upgrade to continue using this tool."}))]})),s(I,Object.assign({className:"w-full",contentClassName:k("gap-4 pb-4",le.length<=3&&("viewport"===Q?"min-[767px]:justify-center":"@[767px]/pickaxe-root:justify-center"))},{children:le.map(((e,t)=>s(O,{data:e,upgradeUrl:ce},e.accessGroupId||e.id||t)))}))]}):e?Object.assign({className:"m-auto flex max-w-[640px] flex-col items-center gap-4 text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==pe?void 0:pe["upgrade-required"])||"Upgrade Required"})),s("p",Object.assign({className:"opacity-80"},{children:l}))]}):Object.assign({className:"m-auto flex max-w-[640px] flex-col items-center gap-4 text-center"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==pe?void 0:pe["access-locked"])||"Access Locked"})),s("p",Object.assign({className:"opacity-80"},{children:(null==pe?void 0:pe["this-tool-is-locked-contact-owner"])||"This tool is locked to use. Contact owner for more information."}))]}))}))}return"login_required"===ne&&se?s(j,{}):"login_required"!==ne||se?"access_denied"===ne?t("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:[t(A,Object.assign({className:"h-[68px] w-[68px] mb-4"},{children:[s(S,{src:null===(r=Me.data)||void 0===r?void 0:r.coverphoto,alt:`${null===(n=Me.data)||void 0===n?void 0:n.formtitle} Logo`}),s(_,{})]})),t("div",Object.assign({className:"text-center mb-6"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==pe?void 0:pe["access-denied"])||"Access Denied"})),t("div",Object.assign({className:"w-[400px] text-xl flex justify-center items-start"},{children:[s(q,{className:"h-6 w-6 mr-[-20px] shrink-0"}),s("p",Object.assign({className:"ml-1"},{children:(null==pe?void 0:pe["no-access-request-access"])||"It looks like you don't have access to these resources. Please request access to continue."}))]}))]})),s("button",Object.assign({className:"px-6 py-2 font-medium rounded-md transition-colors",style:{backgroundColor:Y.accent,color:Y.accentText,borderRadius:X.cornerRadius},onClick:()=>{e(void 0,void 0,void 0,(function*(){var e,s;const t=(null==de?void 0:de.accessGroupId)?[de.accessGroupId]:[],o=Ae.trim().toLowerCase();if(o)try{const i=yield y.post("/access/request",{data:{email:o,studioId:null===(e=Me.data)||void 0===e?void 0:e.studioid,message:JSON.stringify({toolId:null===(s=Me.data)||void 0===s?void 0:s.formid,deploymentId:oe,accessGroupIds:t})}});i.data.success?alert((null==pe?void 0:pe["access-requested-successfully"])||"Successfully requested access!"):alert(i.data.error)}catch(e){const s=w(e);alert(((null==pe?void 0:pe["request-access-error"])||"Couldn't request access. Error: {error}").replace("{error}",s||String(e)))}else alert((null==pe?void 0:pe["email-address-cannot-be-empty"])||"Email address cannot be empty.")}))}},{children:(null==pe?void 0:pe["request-access"])||"Request Access"})),s("span",Object.assign({className:"mt-4 mb-2"},{children:(null==pe?void 0:pe.or)||"or"})),s("span",Object.assign({className:"font-medium text-lg"},{children:(null==pe?void 0:pe["sign-in-with-different-account"])||"Sign in with a different account"}))]})):s(h,K?{children:s(v,{})}:{children:s(b,{})}):s("div",Object.assign({className:"flex flex-col items-center justify-center w-full h-full p-4 overflow-y-auto"},{children:t("div",Object.assign({className:"text-center mb-8"},{children:[s("h2",Object.assign({className:"text-2xl font-bold mb-2"},{children:(null==pe?void 0:pe["access-denied"])||"Access Denied"})),s("p",Object.assign({className:"opacity-80"},{children:(null==pe?void 0:pe["login-is-required"])||"Login is required."}))]}))}))};return s("div",Object.assign({className:k("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full","dark"===X.theme&&"dark",V),style:Object.assign({backgroundColor:We?"transparent":Ke,color:Y.text},X.font&&"Real Head Pro"!==X.font&&{fontFamily:X.font})},{children:se?t(o,{children:[s("div",Object.assign({style:{display:$?"none":"contents"},"aria-hidden":!!$||void 0},{children:Xe()})),$]}):Xe()}))};export{M as Pickaxe};
@@ -0,0 +1 @@
1
+ import{useAuthContext as t}from"../../components/Pickaxe/Addons/Auth/hooks/useAuthContext.js";const o=()=>{const{token:o,isAuthBootstrapComplete:e}=t();return{token:o,isAuthBootstrapComplete:e}};export{o as usePickaxeAuth};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{Pickaxe}from"./components/Pickaxe/index.js";export{PickaxeContext,PickaxeProvider}from"./components/Pickaxe/Provider.js";export{ResponseContext}from"./components/Pickaxe/ResponseProvider.js";export{ScrollContext,ScrollProvider}from"./components/Pickaxe/Addons/Scroll/Provider.js";export{PickaxeMarkdown,PickaxeMarkdownContext}from"./components/Pickaxe/common/PickaxeMarkdown/index.js";export{PickaxeMarkdownRenderer}from"./components/Pickaxe/common/PickaxeMarkdown/Renderer.js";export{default as PickaxeMessageParts}from"./components/Pickaxe/common/PickaxeMessageParts/index.js";export{default as PickaxeDownloadButton}from"./components/Pickaxe/common/PickaxeDownloadButton.js";export{default as PickaxeCopyButton}from"./components/Pickaxe/common/PickaxeCopyButton.js";export{prepareResponseDownloadText}from"./common/responseDownload.js";export{normalizeMessageParts}from"./common/chatMessages.js";export{findResponseArtifacts}from"./common/responseDownloadArtifacts.js";export{useConversation}from"./hooks/pickaxe/useConversation.js";export{useHistory}from"./hooks/pickaxe/useHistory.js";export{useInstantPickaxe,usePickaxe}from"./hooks/pickaxe/usePickaxe.js";export{usePickaxeContext}from"./hooks/pickaxe/usePickaxeContext.js";export{useResponseContext}from"./hooks/pickaxe/useResponseContext.js";export{useDimensionContext}from"./hooks/pickaxe/useDimensionContext.js";export{useSubmitDocument}from"./hooks/pickaxe/useSubmitDocument.js";export{Inline}from"./components/EmbedPreview/Inline.js";export{FAB,FABButton}from"./components/EmbedPreview/FAB.js";export{Popup,PopupCTAButton}from"./components/EmbedPreview/Popup.js";export{ChatInput,ChatInputWrapper}from"./components/EmbedPreview/ChatInput.js";export{PickaxeArtifact}from"./components/Pickaxe/Addons/Artifact/index.js";export{default as PickaxeArtifactRenderer}from"./components/Pickaxe/Addons/Artifact/Renderer/index.js";export{ArtifactContext,ArtifactProvider}from"./components/Pickaxe/Addons/Artifact/Provider.js";export{useArtifactContext}from"./components/Pickaxe/Addons/Artifact/hooks/useArtifactContext.js";export{useArtifact}from"./components/Pickaxe/Addons/Artifact/hooks/useArtifact.js";export{ActionApprovalPart}from"./components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.js";
1
+ export{Pickaxe}from"./components/Pickaxe/index.js";export{PickaxeContext,PickaxeProvider}from"./components/Pickaxe/Provider.js";export{ResponseContext}from"./components/Pickaxe/ResponseProvider.js";export{ScrollContext,ScrollProvider}from"./components/Pickaxe/Addons/Scroll/Provider.js";export{PickaxeMarkdown,PickaxeMarkdownContext}from"./components/Pickaxe/common/PickaxeMarkdown/index.js";export{PickaxeMarkdownRenderer}from"./components/Pickaxe/common/PickaxeMarkdown/Renderer.js";export{default as PickaxeMessageParts}from"./components/Pickaxe/common/PickaxeMessageParts/index.js";export{default as PickaxeDownloadButton}from"./components/Pickaxe/common/PickaxeDownloadButton.js";export{default as PickaxeCopyButton}from"./components/Pickaxe/common/PickaxeCopyButton.js";export{prepareResponseDownloadText}from"./common/responseDownload.js";export{normalizeMessageParts}from"./common/chatMessages.js";export{findResponseArtifacts}from"./common/responseDownloadArtifacts.js";export{useConversation}from"./hooks/pickaxe/useConversation.js";export{useHistory}from"./hooks/pickaxe/useHistory.js";export{useInstantPickaxe,usePickaxe}from"./hooks/pickaxe/usePickaxe.js";export{usePickaxeContext}from"./hooks/pickaxe/usePickaxeContext.js";export{usePickaxeAuth}from"./hooks/pickaxe/usePickaxeAuth.js";export{useResponseContext}from"./hooks/pickaxe/useResponseContext.js";export{useDimensionContext}from"./hooks/pickaxe/useDimensionContext.js";export{useSubmitDocument}from"./hooks/pickaxe/useSubmitDocument.js";export{Inline}from"./components/EmbedPreview/Inline.js";export{FAB,FABButton}from"./components/EmbedPreview/FAB.js";export{Popup,PopupCTAButton}from"./components/EmbedPreview/Popup.js";export{ChatInput,ChatInputWrapper}from"./components/EmbedPreview/ChatInput.js";export{PickaxeArtifact}from"./components/Pickaxe/Addons/Artifact/index.js";export{default as PickaxeArtifactRenderer}from"./components/Pickaxe/Addons/Artifact/Renderer/index.js";export{ArtifactContext,ArtifactProvider}from"./components/Pickaxe/Addons/Artifact/Provider.js";export{useArtifactContext}from"./components/Pickaxe/Addons/Artifact/hooks/useArtifactContext.js";export{useArtifact}from"./components/Pickaxe/Addons/Artifact/hooks/useArtifact.js";export{ActionApprovalPart}from"./components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.js";