@pickaxeproject/react 0.0.43 → 0.0.45

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 (33) hide show
  1. package/dist/cjs/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
  2. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  3. package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
  4. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.js +1 -1
  5. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/index.js +1 -1
  6. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/common/Action.js +1 -1
  7. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/common/LinkPreview.js +1 -0
  8. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  9. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/index.js +1 -1
  10. package/dist/cjs/hooks/pickaxe/useSubmitDocument.js +1 -1
  11. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.d.ts +1 -1
  12. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/common/LinkPreview.d.ts +6 -0
  13. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +2 -1
  14. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.d.ts +11 -9
  15. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/index.d.ts +17 -9
  16. package/dist/cjs/src/hooks/pickaxe/useSubmitDocument.d.ts +21 -9
  17. package/dist/esm/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
  18. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  19. package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
  20. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.js +1 -1
  21. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/index.js +1 -1
  22. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/common/Action.js +1 -1
  23. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/common/LinkPreview.js +1 -0
  24. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  25. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/index.js +1 -1
  26. package/dist/esm/hooks/pickaxe/useSubmitDocument.js +1 -1
  27. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.d.ts +1 -1
  28. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/common/LinkPreview.d.ts +6 -0
  29. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +2 -1
  30. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.d.ts +11 -9
  31. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/index.d.ts +17 -9
  32. package/dist/esm/src/hooks/pickaxe/useSubmitDocument.d.ts +21 -9
  33. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react"),o=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../../../../hooks/pickaxe/useSubmitDocument.js"),n=require("./useDocumentContext.js"),i=require("../../../../../common/documents.js"),r=require("../../../../../common/error.js");const a=["gpt-4o","gpt-4o-mini"];exports.useDocument=({onQuestionChange:u}={})=>{const{pickaxe:d}=o.usePickaxeContext(),l=n.useDocumentContext(),c=s.useSubmitDocument(),m=t.useMemo((()=>{var e;return a.includes(null!==(e=null==d?void 0:d.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[d]);return Object.assign(Object.assign({},l),{isImageUploadAllowed:m,onFileUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(l.setDocumentError(""),!t.length)return null;const e=t[0];try{const o=[...i.allowedFileMimeTypes,...m?i.allowedImageMimeTypes:[]],s=t.some((e=>!o.includes(e.type)));if(s){throw new Error(m?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, or PPTX files. Please try again.")}l.setIsUploading(!0),l.setIsShowList(!0),l.upsertDocuments([{type:"document",id:e.name,name:e.name,status:"uploading"}]);const n=yield c.document(e),{success:r,documentid:a,error:d}=n;if(!r)throw new Error(null!=d?d:"Document processing failed, please try again.");null==u||u({input:e.name,documentId:a});const p=a.startsWith("IMAGE-")?"image":"document";return l.upsertDocuments([{type:p,id:e.name,name:e.name,status:"finished",documentId:a}]),{type:p,id:e.name,name:e.name,status:"finished",documentId:a}}catch(t){const o=r.default(t);return console.log("[onFileUpload] Error",o),o.includes("You can only upload")?(l.setDocumentError(o),null):(l.editDocument({type:"document",id:e.name,name:e.name,status:"failed",error:o}),{type:"document",id:e.name,name:e.name,status:"failed",error:o})}finally{l.setIsUploading(!1)}})),onWebsiteUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){l.setDocumentError("");let e=t.trim();if(!e)return null;e.startsWith("http://")&&(e=e.replace("http://","https://")),e.startsWith("https://")||(e=`https://${e}`);try{if(!e.includes("."))throw new Error("Please paste a valid website URL or Youtube video link to add to the knowledge base.");l.setIsUploading(!0),l.setIsShowList(!0),l.setWebsiteLink(""),l.upsertDocuments([{type:"website",id:e,name:e,status:"uploading"}]);const t=yield c.website(e),{success:o,documentid:s}=t;if(!o)throw new Error("Website processing failed, please try again.");return l.upsertDocuments([{type:"website",id:e,name:e,status:"finished",documentId:s}]),{type:"website",id:e,name:e,status:"finished",documentId:s}}catch(t){const o=r.default(t);return console.log("[onWebsiteUpload] Error",o),o.includes("Please paste a valid website URL")?(l.setDocumentError(o),null):(l.editDocument({type:"website",id:e,name:e,status:"failed",error:o}),{type:"website",id:e,name:e,status:"failed",error:o})}finally{l.setIsUploading(!1)}})),onEditDocumentByDocId:l.editDocumentByDocId})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react"),o=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../../../../hooks/pickaxe/useSubmitDocument.js"),n=require("./useDocumentContext.js"),i=require("../../../../../common/documents.js"),r=require("../../../../../common/error.js");const a=["gpt-4o","gpt-4o-mini"];exports.useDocument=({onQuestionChange:u}={})=>{const{formId:d,chatId:l,pickaxe:c}=o.usePickaxeContext(),m=n.useDocumentContext(),p=s.useSubmitDocument(),f=t.useMemo((()=>{var e;return a.includes(null!==(e=null==c?void 0:c.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[c]);return Object.assign(Object.assign({},m),{isImageUploadAllowed:f,onFileUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(m.setDocumentError(""),!t.length)return null;const e=t[0];try{const o=[...i.allowedFileMimeTypes,...f?i.allowedImageMimeTypes:[]],s=t.some((e=>!o.includes(e.type)));if(s){throw new Error(f?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, or PPTX files. Please try again.")}m.setIsUploading(!0),m.setIsShowList(!0),m.upsertDocuments([{type:"document",id:e.name,name:e.name,status:"uploading"}]);const n=yield p.document({formId:d,responseId:l,file:e}),{success:r,documentId:a,error:c}=n;if(!r)throw new Error(null!=c?c:"Document processing failed, please try again.");null==u||u({input:e.name,documentId:a});const y=a.startsWith("IMAGE-")?"image":"document";return m.upsertDocuments([{type:y,id:e.name,name:e.name,status:"finished",documentId:a}]),{type:y,id:e.name,name:e.name,status:"finished",documentId:a}}catch(t){const o=r.default(t);return console.log("[onFileUpload] Error",o),o.includes("You can only upload")?(m.setDocumentError(o),null):(m.editDocument({type:"document",id:e.name,name:e.name,status:"failed",error:o}),{type:"document",id:e.name,name:e.name,status:"failed",error:o})}finally{m.setIsUploading(!1)}})),onWebsiteUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){m.setDocumentError("");let e=t.trim();if(!e)return null;e.startsWith("http://")&&(e=e.replace("http://","https://")),e.startsWith("https://")||(e=`https://${e}`);try{if(!e.includes("."))throw new Error("Please paste a valid website URL or Youtube video link to add to the knowledge base.");m.setIsUploading(!0),m.setIsShowList(!0),m.setWebsiteLink(""),m.upsertDocuments([{type:"website",id:e,name:e,status:"uploading"}]);const t=yield p.website({formId:d,responseId:l,website:e}),{success:o,documentId:s}=t;if(!o)throw new Error("Website processing failed, please try again.");return m.upsertDocuments([{type:"website",id:e,name:e,status:"finished",documentId:s}]),{type:"website",id:e,name:e,status:"finished",documentId:s}}catch(t){const o=r.default(t);return console.log("[onWebsiteUpload] Error",o),o.includes("Please paste a valid website URL")?(m.setDocumentError(o),null):(m.editDocument({type:"website",id:e,name:e,status:"failed",error:o}),{type:"website",id:e,name:e,status:"failed",error:o})}finally{m.setIsUploading(!1)}})),onEditDocumentByDocId:m.editDocumentByDocId})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../hooks/core/useMediaQuery.js"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),d=require("../../../hooks/pickaxe/useSubmit.js"),u=require("../../../hooks/pickaxe/useSubmitResult.js"),c=require("../Addons/Document/hooks/useDocument.js"),m=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../../../common/documents.js"),h=require("../../../common/api/streamer.js"),x=require("../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js"),f=require("../../Icons/attach.svg.js"),g=require("../../Icons/send.svg.js"),v=require("../Addons/IceBreaker/index.js"),b=require("../../../common/error.js"),j=require("../../../common/cn.js");exports.default=()=>{var y;const{formId:k,chatId:I,userId:w,studioUserId:q,pickaxe:S,colors:D,responsiveBy:O,isNewChat:C,forceMobile:N,setIsNewChat:_,setIsShowIceBreaker:A,onGenerateComplete:E}=r.usePickaxeContext(),{messages:M,status:R,limits:U,setMessages:z,setStatus:B,setLimitData:F,setError:T}=i.useResponseContext(),{documents:P,isUploading:L,isImageUploadAllowed:K,upsertDocuments:Q,onFileUpload:W,onEditDocumentByDocId:G}=c.useDocument(),{isScrollIncreasing:V,scrollToBottom:H,scrollStart:J,scrollEnd:X}=m.useScroll(),Y=l.useConversation(),Z=d.useSubmit(),$=u.useSubmitResult(),[ee,se]=t.useState(""),te=t.useRef(null),[oe]=o.useMediaQuery("(max-width: 767px)"),re=n.useStyleInput(),ie=a.useStyleFontSize({type:"body"}),ne=t.useMemo((()=>{var e,s,t;return!!C&&(!!S&&(!Y.isLoading&&(!((null!==(s=null===(e=Y.data)||void 0===e?void 0:e.messages.length)&&void 0!==s?s:0)>1)&&!!(null===(t=S.icebreakers)||void 0===t?void 0:t.length))))}),[S,C,Y.data,Y.isLoading]);t.useEffect((()=>{A(ne)}),[ne]);const ae=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(L)return;F(null),T(""),_(!1);const e=null!=s?s:ee;if(!e||"fetching"===R||"streaming"===R)return;const t=new Date;se("");const o="enduserupload"===(null==S?void 0:S.documentuploadtype),r=P.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),i=r.length?r[r.length-1].documentId:"";B("fetching");const n=[...M,{id:M.length+1,role:"user",content:e}];z(n),J(),H();const{success:a,data:l,usedDocumentIds:d,newDocumentId:u,newDocumentName:c,isInsertedFile:m,error:p}=yield Z.mutateAsync(Object.assign(Object.assign({formId:k,responseId:I,value:e},o&&i&&{documentId:i}),q&&{studioUserId:q}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");m&&i&&G({documentId:i,isInsertedAsRaw:!0}),u&&c&&Q([{type:"website",id:c,name:c,status:"finished",documentId:u}]),H();const x=(yield h.streamer({formId:k,responseId:I,data:l})).body;if(!x)throw new Error("Streaming error");const f=x.getReader(),g=new TextDecoder,v=n.length;let b="",j=!0;for(B("streaming");j;){const{value:e,done:s}=yield f.read();j=!s;if(b+=g.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",b),b)z([...n.slice(0,v),{id:M.length+1,role:"assistant",content:b}]),V&&H();else if(!j&&!b)throw new Error("Server error")}const y=new Date;b&&(H(),B("idle"),yield $.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:k,responseId:I,documentIds:d},w&&{userId:w}),q&&{studioUserId:q}),q&&(null==S?void 0:S.studioid)&&{studioId:S.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:b,sentAt:y}]})),null==E||E(I))}catch(e){let s=b.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(U).find((([e])=>s.includes(e)));t?F(t[1]):T(s),H()}finally{B("idle"),X()}}));return s.jsxs("div",Object.assign({className:j.default("fixed flex w-full flex-col bottom-0 left-0","viewport"===O?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[ne&&s.jsx(v.default,{data:(null==S?void 0:S.icebreakers)||[],style:{backgroundColor:D.secondary,color:D.secondaryText},isMobile:N||oe,onSend:ae}),s.jsxs("div",Object.assign({style:re,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==S?void 0:S.documentuploadtype)&&s.jsxs("div",Object.assign({className:"tooltip"},{children:[s.jsx("input",{id:"file-upload",ref:te,type:"file",accept:[...p.allowedFileMimeTypes,...K?p.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield W(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:L,onClick:()=>{var e;return null===(e=te.current)||void 0===e?void 0:e.click()}},{children:s.jsx(f.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]})),s.jsx(x.default,{className:j.default(ie("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!ee.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:ee,placeholder:null!==(y=null==S?void 0:S.placeholdertext)&&void 0!==y?y:"What do you want to talk about?",onChange:e=>se(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ae())}}),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==R||L,onClick:()=>ae()},{children:s.jsx(g.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../hooks/core/useMediaQuery.js"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),d=require("../../../hooks/pickaxe/useSubmit.js"),u=require("../../../hooks/pickaxe/useSubmitResult.js"),c=require("../Addons/Document/hooks/useDocument.js"),m=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../../../common/documents.js"),h=require("../../../common/api/streamer.js"),x=require("../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js"),f=require("../../Icons/attach.svg.js"),g=require("../../Icons/send.svg.js"),v=require("../Addons/IceBreaker/index.js"),b=require("../../../common/error.js"),j=require("../../../common/cn.js");exports.default=()=>{var y;const{formId:k,chatId:I,userId:w,studioUserId:q,pickaxe:S,colors:D,responsiveBy:O,isNewChat:C,forceMobile:N,setIsNewChat:_,setIsShowIceBreaker:A,onGenerateComplete:E}=r.usePickaxeContext(),{messages:M,status:R,limits:U,setMessages:z,setStatus:B,setLimitData:F,setError:T}=i.useResponseContext(),{documents:P,isUploading:L,isImageUploadAllowed:K,upsertDocuments:Q,onFileUpload:W,onEditDocumentByDocId:G}=c.useDocument(),{isScrollIncreasing:V,scrollToBottom:H,scrollStart:J,scrollEnd:X}=m.useScroll(),Y=l.useConversation(),Z=d.useSubmit(),$=u.useSubmitResult(),[ee,se]=t.useState(""),te=t.useRef(null),[oe]=o.useMediaQuery("(max-width: 767px)"),re=n.useStyleInput(),ie=a.useStyleFontSize({type:"body"}),ne=t.useMemo((()=>{var e,s,t;return!!C&&(!!S&&(!Y.isLoading&&(!((null!==(s=null===(e=Y.data)||void 0===e?void 0:e.messages.length)&&void 0!==s?s:0)>1)&&!!(null===(t=S.icebreakers)||void 0===t?void 0:t.length))))}),[S,C,Y.data,Y.isLoading]);t.useEffect((()=>{A(ne)}),[ne]);const ae=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(L)return;F(null),T(""),_(!1);const e=null!=s?s:ee;if(!e||"fetching"===R||"streaming"===R)return;const t=new Date;se("");const o="enduserupload"===(null==S?void 0:S.documentuploadtype),r=P.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),i=r.length?r[r.length-1].documentId:"";B("fetching");const n=[...M,{id:M.length+1,role:"user",content:e}];z(n),J(),H();const{success:a,data:l,usedDocumentIds:d,newDocumentId:u,newDocumentName:c,isInsertedFile:m,error:p}=yield Z.mutateAsync(Object.assign(Object.assign({formId:k,responseId:I,value:e},o&&i&&{documentId:i}),q&&{studioUserId:q}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");m&&i&&G({documentId:i,isInsertedAsRaw:!0}),u&&c&&Q([{type:"website",id:c,name:c,status:"finished",documentId:u}]),H();const x=(yield h.streamer({formId:k,responseId:I,data:l})).body;if(!x)throw new Error("Streaming error");const f=x.getReader(),g=new TextDecoder,v=n.length;let b="",j=!0;for(B("streaming");j;){const{value:e,done:s}=yield f.read();j=!s;if(b+=g.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",b),b)z([...n.slice(0,v),{id:M.length+1,role:"assistant",content:b}]),V&&H();else if(!j&&!b)throw new Error("Server error")}const y=new Date;b&&(H(),B("idle"),yield $.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:k,responseId:I,documentIds:d},w&&{userId:w}),q&&{studioUserId:q}),q&&(null==S?void 0:S.studioid)&&{studioId:S.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:b,sentAt:y}]})),null==E||E(I))}catch(e){let s=b.default(e)||"";s&&!s.includes("Unexpected token 'A',")||(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(U).find((([e])=>s.includes(e)));t?F(t[1]):T(s),H()}finally{B("idle"),X()}}));return s.jsxs("div",Object.assign({className:j.default("fixed flex w-full flex-col bottom-0 left-0","viewport"===O?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[ne&&s.jsx(v.default,{data:(null==S?void 0:S.icebreakers)||[],style:{backgroundColor:D.secondary,color:D.secondaryText},isMobile:N||oe,onSend:ae}),s.jsxs("div",Object.assign({style:re,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==S?void 0:S.documentuploadtype)&&s.jsxs("div",Object.assign({className:"tooltip"},{children:[s.jsx("input",{id:"file-upload",ref:te,type:"file",accept:[...p.allowedFileMimeTypes,...K?p.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield W(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:L,onClick:()=>{var e;return null===(e=te.current)||void 0===e?void 0:e.click()}},{children:s.jsx(f.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]})),s.jsx(x.default,{className:j.default(ie("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!ee.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:ee,placeholder:null!==(y=null==S?void 0:S.placeholdertext)&&void 0!==y?y:"What do you want to talk about?",onChange:e=>se(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ae())}}),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==R||L,onClick:()=>ae()},{children:s.jsx(g.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../../hooks/pickaxe/useSubmit.js"),n=require("../../../../hooks/pickaxe/useSubmitResult.js"),u=require("../../Addons/Document/hooks/useDocument.js"),l=require("../../Addons/Scroll/hooks/useScroll.js"),a=require("../../../../common/api/streamer.js"),d=require("../../../../common/utils.js"),c=require("@nem035/gpt-3-encoder"),m=require("../../common/PickaxeButton.js"),p=require("../../../../common/error.js"),g=require("../../../../common/cn.js");exports.default=({questions:f})=>{const{formId:x,userId:h,studioUserId:w,pickaxe:j,isShowHistory:b,responsiveBy:q,setIsShowHistory:v,onGenerateComplete:k}=o.usePickaxeContext(),{status:I,limits:y,setResponse:O,setStatus:S,setLimitData:E,setError:R}=r.useResponseContext(),{documents:C,websiteLink:D,isUploading:P,onWebsiteUpload:U,setDocumentError:A}=u.useDocument(),{isScrollIncreasing:_,scrollToContainer:N,scrollToBottom:T,scrollStart:L,scrollEnd:B}=l.useScroll(),H=i.useSubmit(),M=n.useSubmitResult(),[W,F]=t.useState(!1);return s.jsxs("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[s.jsx(m.default,Object.assign({className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||W||"fetching"===I||"streaming"===I,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{if(P||W||"fetching"===I||"streaming"===I)return;E(null),A("");const s="enduserupload"===(null==j?void 0:j.documentuploadtype),t=f.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),o=C.filter((e=>"finished"===e.status)),r=d.extractUrlsFromText(D),i=C.map((e=>e.name)),n=r.filter((e=>!i.includes(e)));if(n.length){const e=n[n.length-1],s=yield U(e);s&&(o.push(s),F(!0),yield new Promise((e=>setTimeout(e,5e3))),F(!1))}else if(t&&s&&!o.length)return void A("Please paste a valid website/video link or drag a file to add to the knowledge base.");R("");const u=["Multiple Choice","Checkbox"];for(const e of f){if(c.encode(e.input).length>e.maxLength&&!u.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const l=o.length?o[o.length-1]:null;let m={};f.forEach((e=>m=Object.assign(Object.assign({},m),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==l?void 0:l.name)||"":e.input}))),S("fetching");const{success:p,responseId:g,data:b,usedDocumentIds:q,rawUserInput:v,error:y}=yield H.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:m},s&&l&&{documentId:null!==(e=l.documentId)&&void 0!==e?e:""}),w&&{studioUserId:w}));if(!p)throw new Error(null!=y?y:"An error occurred, please try again.");L();const N=(yield a.streamer({formId:x,responseId:g,data:b})).body;if(!N)throw new Error("Streaming error");const B=N.getReader(),G=new TextDecoder;let K="",V=!0;O(null);const Y=f.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;V;){const{value:e,done:s}=yield B.read();V=!s;if(K+=G.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",K),K)S("streaming"),O({formId:x,responseId:g,documentIds:q,messages:[],questions:Y,questionPrompt:v,questionResponse:K,createdAt:new Date}),_&&T();else if(!V&&!K)throw new Error("Server error")}K&&(T(),S("idle"),yield M.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:g,documentIds:q},h&&{userId:h}),w&&{studioUserId:w}),w&&(null==j?void 0:j.studioid)&&{studioId:j.studioid}),{questions:Y,questionPrompt:v,questionResponse:K})),null==k||k(g))}catch(e){let s=p.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(y).find((([e])=>s.includes(e)));t?E(t[1]):R(s),F(!1),N()}finally{S("idle"),B()}}))},{children:W?"Processing...":P?"Uploading...":"fetching"===I||"streaming"===I?"Loading...":"Submit"})),!b&&s.jsx(m.default,Object.assign({variant:"transparent-text",className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../../hooks/pickaxe/useSubmit.js"),n=require("../../../../hooks/pickaxe/useSubmitResult.js"),u=require("../../Addons/Document/hooks/useDocument.js"),l=require("../../Addons/Scroll/hooks/useScroll.js"),a=require("../../../../common/api/streamer.js"),d=require("../../../../common/utils.js"),c=require("@nem035/gpt-3-encoder"),m=require("../../common/PickaxeButton.js"),p=require("../../../../common/error.js"),g=require("../../../../common/cn.js");exports.default=({questions:f})=>{const{formId:x,userId:h,studioUserId:w,pickaxe:j,isShowHistory:b,responsiveBy:q,setIsShowHistory:v,onGenerateComplete:k}=o.usePickaxeContext(),{status:I,limits:y,setResponse:O,setStatus:S,setLimitData:E,setError:R}=r.useResponseContext(),{documents:C,websiteLink:D,isUploading:P,onWebsiteUpload:U,setDocumentError:A}=u.useDocument(),{isScrollIncreasing:_,scrollToContainer:N,scrollToBottom:T,scrollStart:L,scrollEnd:B}=l.useScroll(),H=i.useSubmit(),M=n.useSubmitResult(),[W,F]=t.useState(!1);return s.jsxs("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[s.jsx(m.default,Object.assign({className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||W||"fetching"===I||"streaming"===I,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{if(P||W||"fetching"===I||"streaming"===I)return;E(null),A("");const s="enduserupload"===(null==j?void 0:j.documentuploadtype),t=f.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),o=C.filter((e=>"finished"===e.status)),r=d.extractUrlsFromText(D),i=C.map((e=>e.name)),n=r.filter((e=>!i.includes(e)));if(n.length){const e=n[n.length-1],s=yield U(e);s&&(o.push(s),F(!0),yield new Promise((e=>setTimeout(e,5e3))),F(!1))}else if(t&&s&&!o.length)return void A("Please paste a valid website/video link or drag a file to add to the knowledge base.");R("");const u=["Multiple Choice","Checkbox"];for(const e of f){if(c.encode(e.input).length>e.maxLength&&!u.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const l=o.length?o[o.length-1]:null;let m={};f.forEach((e=>m=Object.assign(Object.assign({},m),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==l?void 0:l.name)||"":e.input}))),S("fetching");const{success:p,responseId:g,data:b,usedDocumentIds:q,rawUserInput:v,error:y}=yield H.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:m},s&&l&&{documentId:null!==(e=l.documentId)&&void 0!==e?e:""}),w&&{studioUserId:w}));if(!p)throw new Error(null!=y?y:"An error occurred, please try again.");L();const N=(yield a.streamer({formId:x,responseId:g,data:b})).body;if(!N)throw new Error("Streaming error");const B=N.getReader(),G=new TextDecoder;let K="",V=!0;O(null);const Y=f.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;V;){const{value:e,done:s}=yield B.read();V=!s;if(K+=G.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",K),K)S("streaming"),O({formId:x,responseId:g,documentIds:q,messages:[],questions:Y,questionPrompt:v,questionResponse:K,createdAt:new Date}),_&&T();else if(!V&&!K)throw new Error("Server error")}K&&(T(),S("idle"),yield M.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:g,documentIds:q},h&&{userId:h}),w&&{studioUserId:w}),w&&(null==j?void 0:j.studioid)&&{studioId:j.studioid}),{questions:Y,questionPrompt:v,questionResponse:K})),null==k||k(g))}catch(e){let s=p.default(e)||"";s&&!s.includes("Unexpected token 'A',")||(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(y).find((([e])=>s.includes(e)));t?E(t[1]):R(s),F(!1),N()}finally{S("idle"),B()}}))},{children:W?"Processing...":P?"Uploading...":"fetching"===I||"streaming"===I?"Loading...":"Submit"})),!b&&s.jsx(m.default,Object.assign({variant:"transparent-text",className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../hooks/usePickaxeMarkdownContext.js"),r=require("../common/Action.js"),s=require("../Img/index.js");exports.default=({node:i,href:n="",children:o})=>{const{accentColor:a,linkPreviews:l,actions:c}=t.usePickaxeMarkdownContext(),u=(n||"").startsWith("www.")?`https://${n}`:n,d=u.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(d&&(null==d?void 0:d[1]))return e.jsx("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center"}},{children:e.jsx("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${d[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return u.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?e.jsx(s.default,{src:u,alt:"string"==typeof o?o:"Markdown Image"}):c&&u.includes("pickaxe")&&(u.includes("/api/fn/result")||u.includes("/api/function_call_results"))?e.jsx(r.default,{jobUrl:u}):e.jsx("a",Object.assign({href:u,target:"_blank",rel:"noopener noreferrer"},l&&{className:"marked-link-possible-preview-render"},{style:{color:a,fontWeight:600}},{children:o}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),s=require("@tanstack/react-query"),o=require("../../hooks/usePickaxeMarkdownContext.js"),i=require("../common/Action.js"),n=require("../Img/index.js"),a=require("../../../../../../common/api/utils.js"),u=require("../../../../../../common/error.js");exports.default=({node:l,href:c="",children:d})=>{const{accentColor:f,websiteMetadatas:p,linkPreviews:m,actions:h,setWebsiteMetadatas:w}=o.usePickaxeMarkdownContext(),b=c.startsWith("http://")?`https://${c.slice(7)}`:c.startsWith("www.")?`https://${c}`:c;s.useQuery({queryKey:[b],queryFn:()=>(t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if("development"===process.env.NODE_ENV&&console.log("[getWebsiteMetadata]",t),!t)return null;if(!t.startsWith("https"))return null;const e=["/api/function_call_results","/api/fn/result","https://prod-pickaxe-assets.s3.amazonaws.com"];if(t.includes("pickaxe")&&e.some((e=>t.includes(e))))return null;const r=(yield a.default.get(`/metadata?url=${encodeURIComponent(t)}`)).data;if(r.error)throw new Error(r.error||"Failed to fetch metadata");return r}catch(e){const t=u.default(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",t),null}})))(b),enabled:"undefined"!=typeof window&&m&&!!b&&!p.some((e=>e.href===b)),retry:2,onSuccess:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t&&(p.some((e=>e.href===t.href))||w((e=>[...e,t])))}))}),r.useEffect((()=>{m&&b&&p.some((e=>e.href===b))}),[m,b,p]);const j=b.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(j&&(null==j?void 0:j[1]))return t.jsx("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center"}},{children:t.jsx("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${j[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return b.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?t.jsx(n.default,{src:b,alt:"string"==typeof d?d:"Markdown Image"}):h&&b.includes("pickaxe")&&(b.includes("/api/fn/result")||b.includes("/api/function_call_results"))?t.jsx(i.default,{jobUrl:b}):t.jsx("a",Object.assign({href:b,target:"_blank",rel:"noopener noreferrer",style:{color:f,fontWeight:600}},{children:d}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),o=require("react/jsx-runtime"),r=require("react"),s=require("../../hooks/usePickaxeMarkdownContext.js"),t=require("../../../../../../hooks/core/useHover.js"),i=require("framer-motion"),n=require("../../../../../../common/utils.js"),a=require("../../../../../Icons/download.svg.js"),l=require("../../../PickaxeCopyButton.js"),d=require("./ImgModal.js");exports.default=({node:c,src:u,alt:x})=>{const{accentColor:p}=s.usePickaxeMarkdownContext(),[b,g]=r.useState(!1),[h,j]=r.useState(!1),m=t.useHover(),{isHover:k}=m,v=e.__rest(m,["isHover"]),w={hidden:{opacity:0,y:-10,pointerEvents:"none"},visible:{opacity:1,y:0,pointerEvents:"auto"}},y=()=>o.jsxs("div",Object.assign({style:{position:"relative"}},{children:[o.jsxs(i.motion.div,Object.assign({initial:"hidden",animate:k?"visible":"hidden",variants:w,style:{position:"absolute",display:"flex",gap:"0.4rem",top:"10px",right:"10px",color:"#FFF"}},{children:[o.jsx(i.motion.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:p+"07"},whileHover:{backgroundColor:p||"#000000"},whileTap:{scale:.95},onClick:e=>{e.stopPropagation(),window.open(u,"_blank")}},{children:o.jsx(a.default,{width:24,height:24,style:{color:n.getContrastColor(p||"#000000"),flexShrink:0}})})),o.jsx(i.motion.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:p+"07"},whileHover:{backgroundColor:p||"#000000"},whileTap:{scale:.95},onClick:e=>e.stopPropagation()},{children:o.jsx(l.default,{color:n.getContrastColor(p||"#000000"),iconClassName:"w-6 h-6",text:u||""})}))]})),o.jsx("img",{src:u,alt:x,style:{borderRadius:"8px",width:"100%",transition:"box-shadow 0.3s ease",boxShadow:k?"inset 0px 4px 10px rgba(0, 0, 0, 0.5)":"none"},onError:()=>g(!0),onClick:()=>j(!0)})]}));return o.jsxs("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center",overflow:"hidden",borderRadius:"8px",transition:"transform 0.3s ease, box-shadow 0.3s ease",transform:k?"translateY(-5px)":"translateY(0)"}},v,{children:[b?o.jsx("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):o.jsx(y,{}),h&&o.jsx(d.default,Object.assign({isOpen:h,onChangeIsOpen:j},{children:o.jsx(y,{})}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),o=require("react/jsx-runtime"),r=require("react"),s=require("../../hooks/usePickaxeMarkdownContext.js"),t=require("../../../../../../hooks/core/useHover.js"),i=require("framer-motion"),n=require("../../../../../../common/utils.js"),a=require("../../../../../Icons/download.svg.js"),l=require("../../../PickaxeCopyButton.js"),d=require("./ImgModal.js");exports.default=({node:c,src:u,alt:x})=>{const{accentColor:p}=s.usePickaxeMarkdownContext(),[b,g]=r.useState(!1),[h,j]=r.useState(!1),m=t.useHover(),{isHover:k}=m,v=e.__rest(m,["isHover"]),w={hidden:{opacity:0,y:-10,pointerEvents:"none"},visible:{opacity:1,y:0,pointerEvents:"auto"}},y=()=>o.jsxs("div",Object.assign({style:{position:"relative"}},{children:[o.jsxs(i.motion.div,Object.assign({initial:"hidden",animate:k?"visible":"hidden",variants:w,style:{position:"absolute",display:"flex",gap:"0.4rem",top:"10px",right:"10px",color:"#FFF"}},{children:[o.jsx(i.motion.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:p+"07"},whileHover:{backgroundColor:p},whileTap:{scale:.95},onClick:e=>{e.stopPropagation(),window.open(u,"_blank")}},{children:o.jsx(a.default,{width:24,height:24,style:{color:n.getContrastColor(p),flexShrink:0}})})),o.jsx(i.motion.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:p+"07"},whileHover:{backgroundColor:p},whileTap:{scale:.95},onClick:e=>e.stopPropagation()},{children:o.jsx(l.default,{color:n.getContrastColor(p),iconClassName:"w-6 h-6",text:u||""})}))]})),o.jsx("img",{src:u,alt:x,style:{borderRadius:"8px",width:"100%",transition:"box-shadow 0.3s ease",boxShadow:k?"inset 0px 4px 10px rgba(0, 0, 0, 0.5)":"none"},onError:()=>g(!0),onClick:()=>j(!0)})]}));return o.jsxs("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center",overflow:"hidden",borderRadius:"8px",transition:"transform 0.3s ease, box-shadow 0.3s ease",transform:k?"translateY(-5px)":"translateY(0)"}},v,{children:[b?o.jsx("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):o.jsx(y,{}),h&&o.jsx(d.default,Object.assign({isOpen:h,onChangeIsOpen:j},{children:o.jsx(y,{})}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),i=require("@tanstack/react-query"),o=require("../../hooks/usePickaxeMarkdownContext.js"),a=require("../../../../../../common/lotties/loader-black.js"),n=require("../../../../../../common/lotties/loader-white.js"),s=require("../../../PickaxeLottie.js"),d=require("../../../../../../common/api/streamer.js"),c=require("../../Renderer.js"),l=require("framer-motion"),u=require("../../../../../../common/api/utils.js"),m=require("../../../../../../common/error.js");exports.default=({jobUrl:v})=>{var j,p,x,y;const{theme:f}=o.usePickaxeMarkdownContext(),[h,b]=r.useState(""),[g,k]=r.useState(""),q=r.useRef(null),w=i.useQuery({queryKey:[v],queryFn:()=>(t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!t||t.includes("undefined"))throw new Error("Invalid action job URL");const e=yield fetch(t);return yield e.json()}catch(e){const t=m.default(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",t),{success:!1,error:t}}})))(v),enabled:"undefined"!=typeof window,retry:10,onSuccess:t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(k(""),!t.success)return;if("text"in t)return void b(t.text||"");if(!("fcid"in t)){const e=(yield d.streamer({formId:t.formId,responseId:t.responseId,data:t.encodedData})).body;if(!e)return;let r=!0,i="";const o=e.getReader(),a=new TextDecoder;for(;r;){const{value:e,done:t}=yield o.read();r=!t;i+=a.decode(e),b(i)}return b(i),yield u.default.post("/fn/update",{id:t.jobId,data:Object.assign(Object.assign({},t),{text:i})}),void console.log("[Action] streaming done")}yield new Promise((e=>setTimeout(e,3e3))),w.refetch(),"development"===process.env.NODE_ENV&&console.log(`[Action] refetching <${v}>`)}catch(e){k(m.default(e))}}))});return t.jsx("div",Object.assign({ref:q,className:"pxe-action"},{children:t.jsx(l.AnimatePresence,{children:g||w.error||(null===(j=w.data)||void 0===j?void 0:j.error)?t.jsxs(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:[t.jsx("blockquote",Object.assign({style:{lineHeight:"20px",borderLeft:"4px solid #FF0000",color:"#FF0000",paddingLeft:"1rem",marginBottom:"1rem"}},{children:g||(null===(p=w.data)||void 0===p?void 0:p.error)||"Failed to process, please try again."})),(null===(x=w.data)||void 0===x?void 0:x.traceback)&&t.jsxs(t.Fragment,{children:[t.jsxs("p",Object.assign({style:{color:"#FF0000"}},{children:["Traceback:"," "]})),t.jsx(c.PickaxeMarkdownRenderer,{value:`\`\`\`js\n${null===(y=w.data)||void 0===y?void 0:y.traceback}\n\`\`\``})]})]})):h?t.jsx(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:t.jsx(c.PickaxeMarkdownRenderer,{value:h})})):t.jsx(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3}},{children:t.jsx(s.PickaxeLottie,{id:"dark"===f?"loader-white":"loader-black",getJson:()=>e.__awaiter(void 0,void 0,void 0,(function*(){return"dark"===f?n.loaderWhite:a.loaderBlack})),autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}})}))})}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),i=require("@tanstack/react-query"),o=require("../../hooks/usePickaxeMarkdownContext.js"),a=require("../../../../../../common/lotties/loader-black.js"),n=require("../../../../../../common/lotties/loader-white.js"),s=require("../../../../../../common/api/streamer.js"),d=require("../../../PickaxeLottie.js"),c=require("../../Renderer.js"),l=require("framer-motion"),u=require("../../../../../../common/api/utils.js"),m=require("../../../../../../common/error.js");exports.default=({jobUrl:v})=>{var j,p,x,y;const{theme:f}=o.usePickaxeMarkdownContext(),[h,b]=r.useState(""),[g,k]=r.useState(""),q=r.useRef(null),w=i.useQuery({queryKey:[v],queryFn:()=>(t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!t||t.includes("undefined"))throw new Error("Invalid action job URL");const e=yield fetch(t);return yield e.json()}catch(e){const t=m.default(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",t),{success:!1,error:t}}})))(v),enabled:"undefined"!=typeof window,retry:10,onSuccess:t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(k(""),!t.success)return;if("text"in t)return void b(t.text||"");if(!("fcid"in t)){const e=(yield s.streamer({formId:t.formId,responseId:t.responseId,data:t.encodedData})).body;if(!e)return;let r=!0,i="";const o=e.getReader(),a=new TextDecoder;for(;r;){const{value:e,done:t}=yield o.read();r=!t;i+=a.decode(e),b(i)}return b(i),yield u.default.post("/fn/update",{id:t.jobId,data:Object.assign(Object.assign({},t),{text:i})}),void console.log("[Action] streaming done")}yield new Promise((e=>setTimeout(e,3e3))),w.refetch(),"development"===process.env.NODE_ENV&&console.log(`[Action] refetching <${v}>`)}catch(e){k(m.default(e))}}))});return t.jsx("div",Object.assign({ref:q,className:"pxe-action"},{children:t.jsx(l.AnimatePresence,{children:g||w.error||(null===(j=w.data)||void 0===j?void 0:j.error)?t.jsxs(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:[t.jsx("blockquote",Object.assign({style:{lineHeight:"20px",borderLeft:"4px solid #FF0000",color:"#FF0000",paddingLeft:"1rem",marginBottom:"1rem"}},{children:g||(null===(p=w.data)||void 0===p?void 0:p.error)||"Failed to process, please try again."})),(null===(x=w.data)||void 0===x?void 0:x.traceback)&&t.jsxs(t.Fragment,{children:[t.jsxs("p",Object.assign({style:{color:"#FF0000"}},{children:["Traceback:"," "]})),t.jsx(c.PickaxeMarkdownRenderer,{value:`\`\`\`js\n${null===(y=w.data)||void 0===y?void 0:y.traceback}\n\`\`\``,recursion:!0})]})]})):h?t.jsx(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:t.jsx(c.PickaxeMarkdownRenderer,{value:h,recursion:!0})})):t.jsx(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3}},{children:t.jsx(d.PickaxeLottie,{id:"dark"===f?"loader-white":"loader-black",getJson:()=>e.__awaiter(void 0,void 0,void 0,(function*(){return"dark"===f?n.loaderWhite:a.loaderBlack})),autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}})}))})}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("../../../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("framer-motion");exports.default=({data:r})=>{const{colors:o}=i.usePickaxeContext();return e.jsxs(t.motion.a,Object.assign({initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:10},transition:{duration:.3},whileHover:{scale:1.02},whileTap:{scale:.98},style:{display:"flex",flexDirection:"column",backgroundColor:o.primary,color:o.text,borderRadius:"15px 15px 15px 10px",overflow:"hidden",minHeight:r.image?"145px":"auto",maxWidth:"220px",width:"100%"},href:r.href,target:"_blank",rel:"noopener noreferrer"},{children:[!!r.image&&e.jsx("div",{style:{backgroundImage:`url("${r.image}")`,backgroundSize:"cover",backgroundPosition:"center",flex:1}}),e.jsxs("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:"0.2rem",fontSize:"14px",padding:"0.25rem 1rem"}},{children:[e.jsx("p",Object.assign({style:{fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},{children:r.title})),e.jsx("p",Object.assign({style:{fontWeight:350,opacity:.6,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},{children:r.description||"No description found"}))]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),t=require("./hooks/usePickaxeMarkdownContext.js"),r=require("react-markdown"),s=require("remark-gfm"),n=require("remark-math"),l=require("rehype-katex"),d=require("./Custom/A/index.js"),a=require("./Custom/P/index.js"),o=require("./Custom/Img/index.js"),c=require("./Custom/Iframe/index.js"),h=require("./Custom/Code/index.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=u(r),j=u(s),x=u(n),g=u(l);exports.PickaxeMarkdownRenderer=({className:r,style:s,value:n})=>{const{theme:l}=t.usePickaxeMarkdownContext(),u=i.useRef(null),f={h1:({node:i,children:t})=>e.jsx("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:t})),h2:({node:i,children:t})=>e.jsx("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:t})),h3:({node:i,children:t})=>e.jsx("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:t})),h4:({node:i,children:t})=>e.jsx("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:t})),h5:({node:i,children:t})=>e.jsx("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:t})),p:a.default,a:d.default,ol:({node:i,children:t})=>e.jsx("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),ul:({node:i,children:t})=>e.jsx("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),li:({node:i,children:t})=>e.jsx("li",{children:t}),table:({children:i})=>e.jsx("div",Object.assign({className:"overflow-auto"},{children:e.jsx("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:i}))})),th:({node:i,children:t})=>e.jsx("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:t})),tr:({node:i,children:t})=>e.jsx("tr",Object.assign({style:{border:"dark"===l?"1px solid #30363D":"1px solid #D0D7DE"}},{children:t})),td:({node:i,children:t})=>e.jsx("td",Object.assign({style:{padding:"0.75em 1em"}},{children:t})),code:h.default,blockquote:({node:i,children:t})=>e.jsx("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===l?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===l?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:t})),img:o.default,iframe:c.default};return e.jsx("div",Object.assign({className:"pxe-markdown",ref:u,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},s)},{children:e.jsx(m.default,Object.assign({},r&&{className:r},{components:f,remarkPlugins:[j.default,x.default],rehypePlugins:[g.default]},{children:(null!=n?n:"").replace(/\u200B/g,"")}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),t=require("./hooks/usePickaxeMarkdownContext.js"),r=require("react-markdown"),s=require("remark-gfm"),n=require("remark-math"),l=require("rehype-katex"),d=require("./Custom/A/index.js"),a=require("./Custom/P/index.js"),o=require("./Custom/Img/index.js"),c=require("./Custom/Iframe/index.js"),h=require("./Custom/Code/index.js"),u=require("./Custom/common/LinkPreview.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var j=m(r),x=m(s),g=m(n),f=m(l);exports.PickaxeMarkdownRenderer=({className:r,style:s,value:n,recursion:l=!1})=>{const{theme:m,websiteMetadatas:p}=t.usePickaxeMarkdownContext(),b=i.useRef(null),y={h1:({node:i,children:t})=>e.jsx("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:t})),h2:({node:i,children:t})=>e.jsx("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:t})),h3:({node:i,children:t})=>e.jsx("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:t})),h4:({node:i,children:t})=>e.jsx("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:t})),h5:({node:i,children:t})=>e.jsx("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:t})),p:a.default,a:d.default,ol:({node:i,children:t})=>e.jsx("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),ul:({node:i,children:t})=>e.jsx("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),li:({node:i,children:t})=>e.jsx("li",{children:t}),table:({children:i})=>e.jsx("div",Object.assign({className:"overflow-auto"},{children:e.jsx("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:i}))})),th:({node:i,children:t})=>e.jsx("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:t})),tr:({node:i,children:t})=>e.jsx("tr",Object.assign({style:{border:"dark"===m?"1px solid #30363D":"1px solid #D0D7DE"}},{children:t})),td:({node:i,children:t})=>e.jsx("td",Object.assign({style:{padding:"0.75em 1em"}},{children:t})),code:h.default,blockquote:({node:i,children:t})=>e.jsx("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===m?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===m?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:t})),img:o.default,iframe:c.default};return e.jsxs("div",Object.assign({className:"pxe-markdown",ref:b,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},s)},{children:[e.jsx(j.default,Object.assign({},r&&{className:r},{components:y,remarkPlugins:[x.default,g.default],rehypePlugins:[f.default]},{children:(null!=n?n:"").replace(/\u200B/g,"")})),!l&&p.length>0&&e.jsx("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:"2rem"}},{children:p.map(((i,t)=>e.jsx(u.default,{data:i},t)))}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var o=require("react/jsx-runtime"),e=require("react");const r=e.createContext({}),t=({children:t,theme:n="light",syntaxTheme:c,accentColor:a="#228DD7",linkPreviews:l=!1,actions:i=!1})=>{const[s,d]=e.useState(n),[p,u]=e.useState(a),[C,F]=e.useState(l),[g,m]=e.useState(i);return o.jsx(r.Provider,Object.assign({value:{theme:s,syntaxTheme:c||{'code[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em",background:"#1d1f21"},':not(pre) > code[class*="language-"]':{background:"#1d1f21",padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6",textDecoration:"underline"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:"#fd971f",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},accentColor:p,linkPreviews:C,actions:g,setTheme:d,setAccentColor:u,setLinkPreviews:F,setActions:m}},{children:t}))};exports.PickaxeMarkdown=t,exports.PickaxeMarkdownContext=r,exports.default=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),o=require("react");const r=o.createContext({}),t=({children:t,theme:n="light",syntaxTheme:a,accentColor:c="#228DD7",linkPreviews:l=!1,actions:i=!1})=>{const[s,d]=o.useState(n),[p,u]=o.useState(c),[C,F]=o.useState([]),[g,m]=o.useState(l),[h,b]=o.useState(i);return e.jsx(r.Provider,Object.assign({value:{theme:s,syntaxTheme:a||{'code[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em",background:"#1d1f21"},':not(pre) > code[class*="language-"]':{background:"#1d1f21",padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6",textDecoration:"underline"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:"#fd971f",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},accentColor:p,websiteMetadatas:C,linkPreviews:g,actions:h,setTheme:d,setAccentColor:u,setWebsiteMetadatas:F,setLinkPreviews:m,setActions:b}},{children:t}))};exports.PickaxeMarkdown=t,exports.PickaxeMarkdownContext=r,exports.default=t;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),o=require("./usePickaxeContext.js"),r=require("../../common/utils.js");exports.useSubmitDocument=()=>{const{formId:t,chatId:n}=o.usePickaxeContext();return{document:o=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!t)throw new Error("formId not found.");const r=process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL;if(!r)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL not found.");const s=o.name.split(".").pop(),i=o.type,d=yield fetch(`${r}/get_document_upload_url?extension=${s}&mimeType=${i}`),{error:c,documentId:a,s3Folder:u,url:l,fields:_}=yield d.json();if(c)throw new Error(c);const f=Object.assign(Object.assign({},_),{file:o}),m=new FormData;Object.entries(f).forEach((([e,o])=>{m.append(e,o)}));const p=yield fetch(l,{method:"POST",body:m});if(!p.ok)throw new Error(p.statusText);const h=`${l}${_.key}`;if(process.env.NODE_ENV&&"development"!==process.env.NODE_ENV||console.log("s3Url",h),i.startsWith("image"))return{success:!0,documentid:`IMAGE-${a}-${u}`};const w=yield fetch(`${r}/process_document`,{method:"POST",body:JSON.stringify(Object.assign({formId:t,documentId:a,s3Folder:u,fileName:o.name},!!n&&{chatId:n})),headers:{"Content-Type":"application/json"}}),O=yield w.json();if(!O.success)throw new Error(null!==(e=O.error)&&void 0!==e?e:"Failed processing document, please try again.");return O})),website:o=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!t)throw new Error("formId not found.");const s=process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL;if(!s)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL not found.");const i=r.generateId(20),d=yield fetch(`${s}/process_document`,{method:"POST",body:JSON.stringify(Object.assign({documentId:i,formId:t,website:o},!!n&&{chatId:n})),headers:{"Content-Type":"application/json"}}),c=yield d.json();if(!c.success)throw new Error(null!==(e=c.error)&&void 0!==e?e:"Failed processing website, please try again.");return c}))}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),s=require("../../common/utils.js");exports.useSubmitDocument=()=>({document:({formId:s,workspaceId:o,responseId:t,file:n,isKnowledge:i,isBlocking:r})=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,c;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const d=n.name.split(".").pop(),a=n.type,_=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_upload_url?formid=${s}&mimetype=${a}&extension=${d}`),l=yield _.json();if(!l.success)throw new Error(null!==(e=l.error)&&void 0!==e?e:"Failed to get presigned URL, try again or contact support.");const p=new FormData;Object.entries(Object.assign(Object.assign({},l.fields),{file:n})).forEach((([e,s])=>{p.append(e,s)}));const u=yield fetch(l.url,{method:"POST",body:p});if(!u.ok)throw new Error(u.statusText);const O=`${l.url}${l.fields.key}`;if("development"===process.env.NODE_ENV&&console.log("[S3URL]",O),a.startsWith("image"))return{success:!0,documentId:`IMAGE-${l.documentId}-${l.folder}`};const g=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:s},o&&{workspaceId:o}),{documentId:l.documentId}),t&&{responseId:t}),{fileName:n.name,fileSize:n.size}),i&&{isKnowledge:i}),r&&{isBlocking:r})),headers:{"Content-Type":"application/json"}}),f=yield g.json();if(!f.success)throw new Error(null!==(c=f.error)&&void 0!==c?c:"Failed processing document, try again or contact support.");return f})),website:({formId:o,workspaceId:t,responseId:n,website:i,isKnowledge:r,isBlocking:c})=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const d=s.generateId(20),a=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o},t&&{workspaceId:t}),{documentId:d}),n&&{responseId:n}),{website:i}),r&&{isKnowledge:r}),c&&{isBlocking:c})),headers:{"Content-Type":"application/json"}}),_=yield a.json();if(!_.success)throw new Error(null!==(e=_.error)&&void 0!==e?e:"Failed processing website, try again or contact support.");return _}))});
@@ -1,4 +1,4 @@
1
- import type { FC, ComponentPropsWithoutRef } from "react";
2
1
  import type { Node } from "../../Renderer";
2
+ import { FC, ComponentPropsWithoutRef } from "react";
3
3
  declare const A: FC<ComponentPropsWithoutRef<"a"> & Node>;
4
4
  export default A;
@@ -0,0 +1,6 @@
1
+ import type { WebsiteMetadata } from "../..";
2
+ interface LinkPreviewProps {
3
+ data: WebsiteMetadata;
4
+ }
5
+ declare const LinkPreview: ({ data }: LinkPreviewProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default LinkPreview;
@@ -3,9 +3,10 @@ interface PickaxeMarkdownRendererProps {
3
3
  className?: string;
4
4
  style?: CSSProperties;
5
5
  value?: string | null;
6
+ recursion?: boolean;
6
7
  }
7
8
  export type Node = {
8
9
  node?: any;
9
10
  };
10
- export declare const PickaxeMarkdownRenderer: ({ className, style, value, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const PickaxeMarkdownRenderer: ({ className, style, value, recursion, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
11
12
  export {};
@@ -1,12 +1,14 @@
1
1
  /// <reference types="react" />
2
2
  export declare const usePickaxeMarkdownContext: () => {
3
- theme?: import("..").PickaxeMarkdownTheme | undefined;
4
- syntaxTheme?: Record<string, import("react").CSSProperties> | undefined;
5
- accentColor?: string | undefined;
6
- linkPreviews?: boolean | undefined;
7
- actions?: boolean | undefined;
8
- setTheme?: import("../../../../../types/common").SetState<import("..").PickaxeMarkdownTheme> | undefined;
9
- setAccentColor?: import("../../../../../types/common").SetState<string> | undefined;
10
- setLinkPreviews?: import("../../../../../types/common").SetState<boolean> | undefined;
11
- setActions?: import("../../../../../types/common").SetState<boolean> | undefined;
3
+ theme: import("..").PickaxeMarkdownTheme;
4
+ syntaxTheme: Record<string, import("react").CSSProperties>;
5
+ accentColor: string;
6
+ websiteMetadatas: import("..").WebsiteMetadata[];
7
+ linkPreviews: boolean;
8
+ actions: boolean;
9
+ setTheme: import("../../../../../types/common").SetState<import("..").PickaxeMarkdownTheme>;
10
+ setAccentColor: import("../../../../../types/common").SetState<string>;
11
+ setWebsiteMetadatas: import("../../../../../types/common").SetState<import("..").WebsiteMetadata[]>;
12
+ setLinkPreviews: import("../../../../../types/common").SetState<boolean>;
13
+ setActions: import("../../../../../types/common").SetState<boolean>;
12
14
  };
@@ -1,16 +1,24 @@
1
1
  import type { SetState } from "../../../../types/common";
2
2
  import { type CSSProperties, type ReactNode } from "react";
3
3
  export type PickaxeMarkdownTheme = "light" | "dark";
4
+ export type WebsiteMetadata = {
5
+ title: string;
6
+ description: string;
7
+ image: string;
8
+ href: string;
9
+ };
4
10
  type PickaxeMarkdownContextType = {
5
- theme?: PickaxeMarkdownTheme;
6
- syntaxTheme?: Record<string, CSSProperties>;
7
- accentColor?: string;
8
- linkPreviews?: boolean;
9
- actions?: boolean;
10
- setTheme?: SetState<PickaxeMarkdownTheme>;
11
- setAccentColor?: SetState<string>;
12
- setLinkPreviews?: SetState<boolean>;
13
- setActions?: SetState<boolean>;
11
+ theme: PickaxeMarkdownTheme;
12
+ syntaxTheme: Record<string, CSSProperties>;
13
+ accentColor: string;
14
+ websiteMetadatas: WebsiteMetadata[];
15
+ linkPreviews: boolean;
16
+ actions: boolean;
17
+ setTheme: SetState<PickaxeMarkdownTheme>;
18
+ setAccentColor: SetState<string>;
19
+ setWebsiteMetadatas: SetState<WebsiteMetadata[]>;
20
+ setLinkPreviews: SetState<boolean>;
21
+ setActions: SetState<boolean>;
14
22
  };
15
23
  interface PickaxeMarkdownProps {
16
24
  children: ReactNode;
@@ -1,16 +1,28 @@
1
1
  export declare const useSubmitDocument: () => {
2
- document: (file: File) => Promise<{
2
+ document: ({ formId, workspaceId, responseId, file, isKnowledge, isBlocking, }: {
3
+ formId: string;
4
+ workspaceId?: string | undefined;
5
+ responseId?: string | undefined;
6
+ file: File;
7
+ isKnowledge?: boolean | undefined;
8
+ isBlocking?: boolean | undefined;
9
+ }) => Promise<{
3
10
  success: boolean;
4
- documentid: string;
5
- error?: string | undefined;
11
+ documentId: string;
12
+ chunkCount?: number;
13
+ error?: string;
6
14
  }>;
7
- website: (website: string) => Promise<{
15
+ website: ({ formId, workspaceId, responseId, website, isKnowledge, isBlocking, }: {
16
+ formId: string;
17
+ workspaceId?: string | undefined;
18
+ responseId?: string | undefined;
19
+ website: string;
20
+ isKnowledge?: boolean | undefined;
21
+ isBlocking?: boolean | undefined;
22
+ }) => Promise<{
8
23
  success: boolean;
9
- numchunks: number;
10
- pages: number;
11
- documentid: string;
12
- name: string;
13
- call_id: string;
24
+ documentId: string;
25
+ chunkCount?: number | undefined;
14
26
  error?: string | undefined;
15
27
  }>;
16
28
  };
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{useMemo as t}from"react";import{usePickaxeContext as o}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useSubmitDocument as n}from"../../../../../hooks/pickaxe/useSubmitDocument.js";import{useDocumentContext as s}from"./useDocumentContext.js";import{allowedFileMimeTypes as i,allowedImageMimeTypes as r}from"../../../../../common/documents.js";import a from"../../../../../common/error.js";const u=["gpt-4o","gpt-4o-mini"],d=({onQuestionChange:d}={})=>{const{pickaxe:l}=o(),m=s(),c=n(),p=t((()=>{var e;return u.includes(null!==(e=null==l?void 0:l.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[l]);return Object.assign(Object.assign({},m),{isImageUploadAllowed:p,onFileUpload:t=>e(void 0,void 0,void 0,(function*(){if(m.setDocumentError(""),!t.length)return null;const e=t[0];try{const o=[...i,...p?r:[]],n=t.some((e=>!o.includes(e.type)));if(n){throw new Error(p?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, or PPTX files. Please try again.")}m.setIsUploading(!0),m.setIsShowList(!0),m.upsertDocuments([{type:"document",id:e.name,name:e.name,status:"uploading"}]);const s=yield c.document(e),{success:a,documentid:u,error:l}=s;if(!a)throw new Error(null!=l?l:"Document processing failed, please try again.");null==d||d({input:e.name,documentId:u});const f=u.startsWith("IMAGE-")?"image":"document";return m.upsertDocuments([{type:f,id:e.name,name:e.name,status:"finished",documentId:u}]),{type:f,id:e.name,name:e.name,status:"finished",documentId:u}}catch(t){const o=a(t);return console.log("[onFileUpload] Error",o),o.includes("You can only upload")?(m.setDocumentError(o),null):(m.editDocument({type:"document",id:e.name,name:e.name,status:"failed",error:o}),{type:"document",id:e.name,name:e.name,status:"failed",error:o})}finally{m.setIsUploading(!1)}})),onWebsiteUpload:t=>e(void 0,void 0,void 0,(function*(){m.setDocumentError("");let e=t.trim();if(!e)return null;e.startsWith("http://")&&(e=e.replace("http://","https://")),e.startsWith("https://")||(e=`https://${e}`);try{if(!e.includes("."))throw new Error("Please paste a valid website URL or Youtube video link to add to the knowledge base.");m.setIsUploading(!0),m.setIsShowList(!0),m.setWebsiteLink(""),m.upsertDocuments([{type:"website",id:e,name:e,status:"uploading"}]);const t=yield c.website(e),{success:o,documentid:n}=t;if(!o)throw new Error("Website processing failed, please try again.");return m.upsertDocuments([{type:"website",id:e,name:e,status:"finished",documentId:n}]),{type:"website",id:e,name:e,status:"finished",documentId:n}}catch(t){const o=a(t);return console.log("[onWebsiteUpload] Error",o),o.includes("Please paste a valid website URL")?(m.setDocumentError(o),null):(m.editDocument({type:"website",id:e,name:e,status:"failed",error:o}),{type:"website",id:e,name:e,status:"failed",error:o})}finally{m.setIsUploading(!1)}})),onEditDocumentByDocId:m.editDocumentByDocId})};export{d as useDocument};
1
+ import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{useMemo as t}from"react";import{usePickaxeContext as o}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useSubmitDocument as n}from"../../../../../hooks/pickaxe/useSubmitDocument.js";import{useDocumentContext as s}from"./useDocumentContext.js";import{allowedFileMimeTypes as i,allowedImageMimeTypes as r}from"../../../../../common/documents.js";import a from"../../../../../common/error.js";const d=["gpt-4o","gpt-4o-mini"],u=({onQuestionChange:u}={})=>{const{formId:l,chatId:m,pickaxe:c}=o(),p=s(),f=n(),h=t((()=>{var e;return d.includes(null!==(e=null==c?void 0:c.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[c]);return Object.assign(Object.assign({},p),{isImageUploadAllowed:h,onFileUpload:t=>e(void 0,void 0,void 0,(function*(){if(p.setDocumentError(""),!t.length)return null;const e=t[0];try{const o=[...i,...h?r:[]],n=t.some((e=>!o.includes(e.type)));if(n){throw new Error(h?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, or PPTX files. Please try again.")}p.setIsUploading(!0),p.setIsShowList(!0),p.upsertDocuments([{type:"document",id:e.name,name:e.name,status:"uploading"}]);const s=yield f.document({formId:l,responseId:m,file:e}),{success:a,documentId:d,error:c}=s;if(!a)throw new Error(null!=c?c:"Document processing failed, please try again.");null==u||u({input:e.name,documentId:d});const y=d.startsWith("IMAGE-")?"image":"document";return p.upsertDocuments([{type:y,id:e.name,name:e.name,status:"finished",documentId:d}]),{type:y,id:e.name,name:e.name,status:"finished",documentId:d}}catch(t){const o=a(t);return console.log("[onFileUpload] Error",o),o.includes("You can only upload")?(p.setDocumentError(o),null):(p.editDocument({type:"document",id:e.name,name:e.name,status:"failed",error:o}),{type:"document",id:e.name,name:e.name,status:"failed",error:o})}finally{p.setIsUploading(!1)}})),onWebsiteUpload:t=>e(void 0,void 0,void 0,(function*(){p.setDocumentError("");let e=t.trim();if(!e)return null;e.startsWith("http://")&&(e=e.replace("http://","https://")),e.startsWith("https://")||(e=`https://${e}`);try{if(!e.includes("."))throw new Error("Please paste a valid website URL or Youtube video link to add to the knowledge base.");p.setIsUploading(!0),p.setIsShowList(!0),p.setWebsiteLink(""),p.upsertDocuments([{type:"website",id:e,name:e,status:"uploading"}]);const t=yield f.website({formId:l,responseId:m,website:e}),{success:o,documentId:n}=t;if(!o)throw new Error("Website processing failed, please try again.");return p.upsertDocuments([{type:"website",id:e,name:e,status:"finished",documentId:n}]),{type:"website",id:e,name:e,status:"finished",documentId:n}}catch(t){const o=a(t);return console.log("[onWebsiteUpload] Error",o),o.includes("Please paste a valid website URL")?(p.setDocumentError(o),null):(p.editDocument({type:"website",id:e,name:e,status:"failed",error:o}),{type:"website",id:e,name:e,status:"failed",error:o})}finally{p.setIsUploading(!1)}})),onEditDocumentByDocId:p.editDocumentByDocId})};export{u as useDocument};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as r,useMemo as n,useEffect as i}from"react";import{useMediaQuery as a}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as l}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as d}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as c}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as p}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as f}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as h}from"../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as v,allowedImageMimeTypes as x}from"../../../common/documents.js";import{streamer as b}from"../../../common/api/streamer.js";import y from"../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js";import k from"../../Icons/attach.svg.js";import I from"../../Icons/send.svg.js";import j from"../Addons/IceBreaker/index.js";import w from"../../../common/error.js";import D from"../../../common/cn.js";const N=()=>{var N;const{formId:O,chatId:S,userId:A,studioUserId:C,pickaxe:E,colors:_,responsiveBy:U,isNewChat:R,forceMobile:z,setIsNewChat:B,setIsShowIceBreaker:M,onGenerateComplete:F}=l(),{messages:L,status:T,limits:K,setMessages:P,setStatus:W,setLimitData:G,setError:Q}=d(),{documents:V,isUploading:q,isImageUploadAllowed:H,upsertDocuments:J,onFileUpload:X,onEditDocumentByDocId:Y}=h(),{isScrollIncreasing:Z,scrollToBottom:$,scrollStart:ee,scrollEnd:oe}=g(),te=u(),se=p(),re=f(),[ne,ie]=s(""),ae=r(null),[le]=a("(max-width: 767px)"),de=c(),ce=m({type:"body"}),me=n((()=>{var e,o,t;return!!R&&(!!E&&(!te.isLoading&&(!((null!==(o=null===(e=te.data)||void 0===e?void 0:e.messages.length)&&void 0!==o?o:0)>1)&&!!(null===(t=E.icebreakers)||void 0===t?void 0:t.length))))}),[E,R,te.data,te.isLoading]);i((()=>{M(me)}),[me]);const ue=o=>e(void 0,void 0,void 0,(function*(){try{if(q)return;G(null),Q(""),B(!1);const e=null!=o?o:ne;if(!e||"fetching"===T||"streaming"===T)return;const t=new Date;ie("");const s="enduserupload"===(null==E?void 0:E.documentuploadtype),r=V.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),n=r.length?r[r.length-1].documentId:"";W("fetching");const i=[...L,{id:L.length+1,role:"user",content:e}];P(i),ee(),$();const{success:a,data:l,usedDocumentIds:d,newDocumentId:c,newDocumentName:m,isInsertedFile:u,error:p}=yield se.mutateAsync(Object.assign(Object.assign({formId:O,responseId:S,value:e},s&&n&&{documentId:n}),C&&{studioUserId:C}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");u&&n&&Y({documentId:n,isInsertedAsRaw:!0}),c&&m&&J([{type:"website",id:m,name:m,status:"finished",documentId:c}]),$();const f=(yield b({formId:O,responseId:S,data:l})).body;if(!f)throw new Error("Streaming error");const h=f.getReader(),g=new TextDecoder,v=i.length;let x="",y=!0;for(W("streaming");y;){const{value:e,done:o}=yield h.read();y=!o;if(x+=g.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",x),x)P([...i.slice(0,v),{id:L.length+1,role:"assistant",content:x}]),Z&&$();else if(!y&&!x)throw new Error("Server error")}const k=new Date;x&&($(),W("idle"),yield re.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:O,responseId:S,documentIds:d},A&&{userId:A}),C&&{studioUserId:C}),C&&(null==E?void 0:E.studioid)&&{studioId:E.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:x,sentAt:k}]})),null==F||F(S))}catch(e){let o=w(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(K).find((([e])=>o.includes(e)));t?G(t[1]):Q(o),$()}finally{W("idle"),oe()}}));return o("div",Object.assign({className:D("fixed flex w-full flex-col bottom-0 left-0","viewport"===U?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[me&&t(j,{data:(null==E?void 0:E.icebreakers)||[],style:{backgroundColor:_.secondary,color:_.secondaryText},isMobile:z||le,onSend:ue}),o("div",Object.assign({style:de,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==E?void 0:E.documentuploadtype)&&o("div",Object.assign({className:"tooltip"},{children:[t("input",{id:"file-upload",ref:ae,type:"file",accept:[...v,...H?x:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:o=>e(void 0,void 0,void 0,(function*(){yield X(Array.from(o.target.files||[])),o.target.value=""}))}),t("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:q,onClick:()=>{var e;return null===(e=ae.current)||void 0===e?void 0:e.click()}},{children:t(k,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]})),t(y,{className:D(ce("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!ne.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:ne,placeholder:null!==(N=null==E?void 0:E.placeholdertext)&&void 0!==N?N:"What do you want to talk about?",onChange:e=>ie(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ue())}}),t("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==T||q,onClick:()=>ue()},{children:t(I,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]}))]}))};export{N as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as r,useMemo as n,useEffect as i}from"react";import{useMediaQuery as a}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as l}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as d}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as c}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as p}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as f}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as h}from"../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as v,allowedImageMimeTypes as x}from"../../../common/documents.js";import{streamer as b}from"../../../common/api/streamer.js";import y from"../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js";import k from"../../Icons/attach.svg.js";import I from"../../Icons/send.svg.js";import j from"../Addons/IceBreaker/index.js";import w from"../../../common/error.js";import D from"../../../common/cn.js";const N=()=>{var N;const{formId:O,chatId:S,userId:A,studioUserId:C,pickaxe:E,colors:_,responsiveBy:U,isNewChat:R,forceMobile:z,setIsNewChat:B,setIsShowIceBreaker:M,onGenerateComplete:F}=l(),{messages:L,status:T,limits:K,setMessages:P,setStatus:W,setLimitData:G,setError:Q}=d(),{documents:V,isUploading:q,isImageUploadAllowed:H,upsertDocuments:J,onFileUpload:X,onEditDocumentByDocId:Y}=h(),{isScrollIncreasing:Z,scrollToBottom:$,scrollStart:ee,scrollEnd:oe}=g(),te=u(),se=p(),re=f(),[ne,ie]=s(""),ae=r(null),[le]=a("(max-width: 767px)"),de=c(),ce=m({type:"body"}),me=n((()=>{var e,o,t;return!!R&&(!!E&&(!te.isLoading&&(!((null!==(o=null===(e=te.data)||void 0===e?void 0:e.messages.length)&&void 0!==o?o:0)>1)&&!!(null===(t=E.icebreakers)||void 0===t?void 0:t.length))))}),[E,R,te.data,te.isLoading]);i((()=>{M(me)}),[me]);const ue=o=>e(void 0,void 0,void 0,(function*(){try{if(q)return;G(null),Q(""),B(!1);const e=null!=o?o:ne;if(!e||"fetching"===T||"streaming"===T)return;const t=new Date;ie("");const s="enduserupload"===(null==E?void 0:E.documentuploadtype),r=V.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),n=r.length?r[r.length-1].documentId:"";W("fetching");const i=[...L,{id:L.length+1,role:"user",content:e}];P(i),ee(),$();const{success:a,data:l,usedDocumentIds:d,newDocumentId:c,newDocumentName:m,isInsertedFile:u,error:p}=yield se.mutateAsync(Object.assign(Object.assign({formId:O,responseId:S,value:e},s&&n&&{documentId:n}),C&&{studioUserId:C}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");u&&n&&Y({documentId:n,isInsertedAsRaw:!0}),c&&m&&J([{type:"website",id:m,name:m,status:"finished",documentId:c}]),$();const f=(yield b({formId:O,responseId:S,data:l})).body;if(!f)throw new Error("Streaming error");const h=f.getReader(),g=new TextDecoder,v=i.length;let x="",y=!0;for(W("streaming");y;){const{value:e,done:o}=yield h.read();y=!o;if(x+=g.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",x),x)P([...i.slice(0,v),{id:L.length+1,role:"assistant",content:x}]),Z&&$();else if(!y&&!x)throw new Error("Server error")}const k=new Date;x&&($(),W("idle"),yield re.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:O,responseId:S,documentIds:d},A&&{userId:A}),C&&{studioUserId:C}),C&&(null==E?void 0:E.studioid)&&{studioId:E.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:x,sentAt:k}]})),null==F||F(S))}catch(e){let o=w(e)||"";o&&!o.includes("Unexpected token 'A',")||(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(K).find((([e])=>o.includes(e)));t?G(t[1]):Q(o),$()}finally{W("idle"),oe()}}));return o("div",Object.assign({className:D("fixed flex w-full flex-col bottom-0 left-0","viewport"===U?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[me&&t(j,{data:(null==E?void 0:E.icebreakers)||[],style:{backgroundColor:_.secondary,color:_.secondaryText},isMobile:z||le,onSend:ue}),o("div",Object.assign({style:de,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==E?void 0:E.documentuploadtype)&&o("div",Object.assign({className:"tooltip"},{children:[t("input",{id:"file-upload",ref:ae,type:"file",accept:[...v,...H?x:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:o=>e(void 0,void 0,void 0,(function*(){yield X(Array.from(o.target.files||[])),o.target.value=""}))}),t("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:q,onClick:()=>{var e;return null===(e=ae.current)||void 0===e?void 0:e.click()}},{children:t(k,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]})),t(y,{className:D(ce("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!ne.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:ne,placeholder:null!==(N=null==E?void 0:E.placeholdertext)&&void 0!==N?N:"What do you want to talk about?",onChange:e=>ie(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ue())}}),t("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==T||q,onClick:()=>ue()},{children:t(I,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]}))]}))};export{N as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as n}from"../../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as d}from"../../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as a}from"../../Addons/Scroll/hooks/useScroll.js";import{streamer as m}from"../../../../common/api/streamer.js";import{extractUrlsFromText as c}from"../../../../common/utils.js";import{encode as u}from"@nem035/gpt-3-encoder";import p from"../../common/PickaxeButton.js";import f from"../../../../common/error.js";import g from"../../../../common/cn.js";const h=({questions:h})=>{const{formId:x,userId:w,studioUserId:j,pickaxe:b,isShowHistory:I,responsiveBy:k,setIsShowHistory:v,onGenerateComplete:y}=i(),{status:O,limits:S,setResponse:q,setStatus:E,setLimitData:D,setError:R}=r(),{documents:U,websiteLink:C,isUploading:P,onWebsiteUpload:A,setDocumentError:N}=l(),{isScrollIncreasing:L,scrollToContainer:T,scrollToBottom:B,scrollStart:_,scrollEnd:H}=a(),W=n(),G=d(),[K,M]=s(!1);return o("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[t(p,Object.assign({className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||K||"fetching"===O||"streaming"===O,onClick:()=>e(void 0,void 0,void 0,(function*(){var e;try{if(P||K||"fetching"===O||"streaming"===O)return;D(null),N("");const o="enduserupload"===(null==b?void 0:b.documentuploadtype),t=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),s=U.filter((e=>"finished"===e.status)),i=c(C),r=U.map((e=>e.name)),n=i.filter((e=>!r.includes(e)));if(n.length){const e=n[n.length-1],o=yield A(e);o&&(s.push(o),M(!0),yield new Promise((e=>setTimeout(e,5e3))),M(!1))}else if(t&&o&&!s.length)return void N("Please paste a valid website/video link or drag a file to add to the knowledge base.");R("");const d=["Multiple Choice","Checkbox"];for(const e of h){if(u(e.input).length>e.maxLength&&!d.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const l=s.length?s[s.length-1]:null;let a={};h.forEach((e=>a=Object.assign(Object.assign({},a),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==l?void 0:l.name)||"":e.input}))),E("fetching");const{success:p,responseId:f,data:g,usedDocumentIds:I,rawUserInput:k,error:v}=yield W.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:a},o&&l&&{documentId:null!==(e=l.documentId)&&void 0!==e?e:""}),j&&{studioUserId:j}));if(!p)throw new Error(null!=v?v:"An error occurred, please try again.");_();const S=(yield m({formId:x,responseId:f,data:g})).body;if(!S)throw new Error("Streaming error");const T=S.getReader(),H=new TextDecoder;let V="",Y=!0;q(null);const z=h.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;Y;){const{value:e,done:o}=yield T.read();Y=!o;if(V+=H.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",V),V)E("streaming"),q({formId:x,responseId:f,documentIds:I,messages:[],questions:z,questionPrompt:k,questionResponse:V,createdAt:new Date}),L&&B();else if(!Y&&!V)throw new Error("Server error")}V&&(B(),E("idle"),yield G.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:f,documentIds:I},w&&{userId:w}),j&&{studioUserId:j}),j&&(null==b?void 0:b.studioid)&&{studioId:b.studioid}),{questions:z,questionPrompt:k,questionResponse:V})),null==y||y(f))}catch(e){let o=f(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(S).find((([e])=>o.includes(e)));t?D(t[1]):R(o),M(!1),T()}finally{E("idle"),H()}}))},{children:K?"Processing...":P?"Uploading...":"fetching"===O||"streaming"===O?"Loading...":"Submit"})),!I&&t(p,Object.assign({variant:"transparent-text",className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};export{h as default};
1
+ import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as n}from"../../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as d}from"../../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as a}from"../../Addons/Scroll/hooks/useScroll.js";import{streamer as m}from"../../../../common/api/streamer.js";import{extractUrlsFromText as c}from"../../../../common/utils.js";import{encode as u}from"@nem035/gpt-3-encoder";import p from"../../common/PickaxeButton.js";import f from"../../../../common/error.js";import g from"../../../../common/cn.js";const h=({questions:h})=>{const{formId:x,userId:w,studioUserId:j,pickaxe:b,isShowHistory:I,responsiveBy:k,setIsShowHistory:v,onGenerateComplete:y}=i(),{status:O,limits:S,setResponse:q,setStatus:E,setLimitData:D,setError:R}=r(),{documents:U,websiteLink:C,isUploading:P,onWebsiteUpload:A,setDocumentError:N}=l(),{isScrollIncreasing:L,scrollToContainer:T,scrollToBottom:B,scrollStart:_,scrollEnd:H}=a(),W=n(),G=d(),[K,M]=s(!1);return o("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[t(p,Object.assign({className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||K||"fetching"===O||"streaming"===O,onClick:()=>e(void 0,void 0,void 0,(function*(){var e;try{if(P||K||"fetching"===O||"streaming"===O)return;D(null),N("");const o="enduserupload"===(null==b?void 0:b.documentuploadtype),t=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),s=U.filter((e=>"finished"===e.status)),i=c(C),r=U.map((e=>e.name)),n=i.filter((e=>!r.includes(e)));if(n.length){const e=n[n.length-1],o=yield A(e);o&&(s.push(o),M(!0),yield new Promise((e=>setTimeout(e,5e3))),M(!1))}else if(t&&o&&!s.length)return void N("Please paste a valid website/video link or drag a file to add to the knowledge base.");R("");const d=["Multiple Choice","Checkbox"];for(const e of h){if(u(e.input).length>e.maxLength&&!d.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const l=s.length?s[s.length-1]:null;let a={};h.forEach((e=>a=Object.assign(Object.assign({},a),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==l?void 0:l.name)||"":e.input}))),E("fetching");const{success:p,responseId:f,data:g,usedDocumentIds:I,rawUserInput:k,error:v}=yield W.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:a},o&&l&&{documentId:null!==(e=l.documentId)&&void 0!==e?e:""}),j&&{studioUserId:j}));if(!p)throw new Error(null!=v?v:"An error occurred, please try again.");_();const S=(yield m({formId:x,responseId:f,data:g})).body;if(!S)throw new Error("Streaming error");const T=S.getReader(),H=new TextDecoder;let V="",Y=!0;q(null);const z=h.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;Y;){const{value:e,done:o}=yield T.read();Y=!o;if(V+=H.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",V),V)E("streaming"),q({formId:x,responseId:f,documentIds:I,messages:[],questions:z,questionPrompt:k,questionResponse:V,createdAt:new Date}),L&&B();else if(!Y&&!V)throw new Error("Server error")}V&&(B(),E("idle"),yield G.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:f,documentIds:I},w&&{userId:w}),j&&{studioUserId:j}),j&&(null==b?void 0:b.studioid)&&{studioId:b.studioid}),{questions:z,questionPrompt:k,questionResponse:V})),null==y||y(f))}catch(e){let o=f(e)||"";o&&!o.includes("Unexpected token 'A',")||(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(S).find((([e])=>o.includes(e)));t?D(t[1]):R(o),M(!1),T()}finally{E("idle"),H()}}))},{children:K?"Processing...":P?"Uploading...":"fetching"===O||"streaming"===O?"Loading...":"Submit"})),!I&&t(p,Object.assign({variant:"transparent-text",className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};export{h as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{usePickaxeMarkdownContext as t}from"../../hooks/usePickaxeMarkdownContext.js";import r from"../common/Action.js";import i from"../Img/index.js";const o=({node:o,href:n="",children:s})=>{const{accentColor:a,linkPreviews:l,actions:c}=t(),m=(n||"").startsWith("www.")?`https://${n}`:n,d=m.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(d&&(null==d?void 0:d[1]))return e("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center"}},{children:e("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${d[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return m.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?e(i,{src:m,alt:"string"==typeof s?s:"Markdown Image"}):c&&m.includes("pickaxe")&&(m.includes("/api/fn/result")||m.includes("/api/function_call_results"))?e(r,{jobUrl:m}):e("a",Object.assign({href:m,target:"_blank",rel:"noopener noreferrer"},l&&{className:"marked-link-possible-preview-render"},{style:{color:a,fontWeight:600}},{children:s}))};export{o as default};
1
+ import{__awaiter as e}from"../../../../../../_virtual/_tslib.js";import{jsx as t}from"react/jsx-runtime";import{useEffect as r}from"react";import{useQuery as o}from"@tanstack/react-query";import{usePickaxeMarkdownContext as s}from"../../hooks/usePickaxeMarkdownContext.js";import n from"../common/Action.js";import i from"../Img/index.js";import a from"../../../../../../common/api/utils.js";import c from"../../../../../../common/error.js";const l=({node:l,href:m="",children:u})=>{const{accentColor:d,websiteMetadatas:f,linkPreviews:p,actions:h,setWebsiteMetadatas:w}=s(),b=m.startsWith("http://")?`https://${m.slice(7)}`:m.startsWith("www.")?`https://${m}`:m;o({queryKey:[b],queryFn:()=>(t=>e(void 0,void 0,void 0,(function*(){try{if("development"===process.env.NODE_ENV&&console.log("[getWebsiteMetadata]",t),!t)return null;if(!t.startsWith("https"))return null;const e=["/api/function_call_results","/api/fn/result","https://prod-pickaxe-assets.s3.amazonaws.com"];if(t.includes("pickaxe")&&e.some((e=>t.includes(e))))return null;const r=(yield a.get(`/metadata?url=${encodeURIComponent(t)}`)).data;if(r.error)throw new Error(r.error||"Failed to fetch metadata");return r}catch(e){const t=c(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",t),null}})))(b),enabled:"undefined"!=typeof window&&p&&!!b&&!f.some((e=>e.href===b)),retry:2,onSuccess:t=>e(void 0,void 0,void 0,(function*(){t&&(f.some((e=>e.href===t.href))||w((e=>[...e,t])))}))}),r((()=>{p&&b&&f.some((e=>e.href===b))}),[p,b,f]);const g=b.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(g&&(null==g?void 0:g[1]))return t("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center"}},{children:t("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${g[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return b.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?t(i,{src:b,alt:"string"==typeof u?u:"Markdown Image"}):h&&b.includes("pickaxe")&&(b.includes("/api/fn/result")||b.includes("/api/function_call_results"))?t(n,{jobUrl:b}):t("a",Object.assign({href:b,target:"_blank",rel:"noopener noreferrer",style:{color:d,fontWeight:600}},{children:u}))};export{l as default};
@@ -1 +1 @@
1
- import{__rest as o}from"../../../../../../_virtual/_tslib.js";import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useState as i}from"react";import{usePickaxeMarkdownContext as t}from"../../hooks/usePickaxeMarkdownContext.js";import{useHover as n}from"../../../../../../hooks/core/useHover.js";import{motion as s}from"framer-motion";import{getContrastColor as a}from"../../../../../../common/utils.js";import l from"../../../../../Icons/download.svg.js";import d from"../../../PickaxeCopyButton.js";import p from"./ImgModal.js";const c=({node:c,src:m,alt:b})=>{const{accentColor:h}=t(),[g,x]=i(!1),[u,f]=i(!1),k=n(),{isHover:w}=k,y=o(k,["isHover"]),v={hidden:{opacity:0,y:-10,pointerEvents:"none"},visible:{opacity:1,y:0,pointerEvents:"auto"}},j=()=>e("div",Object.assign({style:{position:"relative"}},{children:[e(s.div,Object.assign({initial:"hidden",animate:w?"visible":"hidden",variants:v,style:{position:"absolute",display:"flex",gap:"0.4rem",top:"10px",right:"10px",color:"#FFF"}},{children:[r(s.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:h+"07"},whileHover:{backgroundColor:h||"#000000"},whileTap:{scale:.95},onClick:o=>{o.stopPropagation(),window.open(m,"_blank")}},{children:r(l,{width:24,height:24,style:{color:a(h||"#000000"),flexShrink:0}})})),r(s.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:h+"07"},whileHover:{backgroundColor:h||"#000000"},whileTap:{scale:.95},onClick:o=>o.stopPropagation()},{children:r(d,{color:a(h||"#000000"),iconClassName:"w-6 h-6",text:m||""})}))]})),r("img",{src:m,alt:b,style:{borderRadius:"8px",width:"100%",transition:"box-shadow 0.3s ease",boxShadow:w?"inset 0px 4px 10px rgba(0, 0, 0, 0.5)":"none"},onError:()=>x(!0),onClick:()=>f(!0)})]}));return e("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center",overflow:"hidden",borderRadius:"8px",transition:"transform 0.3s ease, box-shadow 0.3s ease",transform:w?"translateY(-5px)":"translateY(0)"}},y,{children:[g?r("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):r(j,{}),u&&r(p,Object.assign({isOpen:u,onChangeIsOpen:f},{children:r(j,{})}))]}))};export{c as default};
1
+ import{__rest as o}from"../../../../../../_virtual/_tslib.js";import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useState as i}from"react";import{usePickaxeMarkdownContext as t}from"../../hooks/usePickaxeMarkdownContext.js";import{useHover as n}from"../../../../../../hooks/core/useHover.js";import{motion as s}from"framer-motion";import{getContrastColor as a}from"../../../../../../common/utils.js";import l from"../../../../../Icons/download.svg.js";import d from"../../../PickaxeCopyButton.js";import p from"./ImgModal.js";const c=({node:c,src:m,alt:b})=>{const{accentColor:h}=t(),[g,x]=i(!1),[u,f]=i(!1),k=n(),{isHover:w}=k,y=o(k,["isHover"]),v={hidden:{opacity:0,y:-10,pointerEvents:"none"},visible:{opacity:1,y:0,pointerEvents:"auto"}},j=()=>e("div",Object.assign({style:{position:"relative"}},{children:[e(s.div,Object.assign({initial:"hidden",animate:w?"visible":"hidden",variants:v,style:{position:"absolute",display:"flex",gap:"0.4rem",top:"10px",right:"10px",color:"#FFF"}},{children:[r(s.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:h+"07"},whileHover:{backgroundColor:h},whileTap:{scale:.95},onClick:o=>{o.stopPropagation(),window.open(m,"_blank")}},{children:r(l,{width:24,height:24,style:{color:a(h),flexShrink:0}})})),r(s.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:h+"07"},whileHover:{backgroundColor:h},whileTap:{scale:.95},onClick:o=>o.stopPropagation()},{children:r(d,{color:a(h),iconClassName:"w-6 h-6",text:m||""})}))]})),r("img",{src:m,alt:b,style:{borderRadius:"8px",width:"100%",transition:"box-shadow 0.3s ease",boxShadow:w?"inset 0px 4px 10px rgba(0, 0, 0, 0.5)":"none"},onError:()=>x(!0),onClick:()=>f(!0)})]}));return e("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center",overflow:"hidden",borderRadius:"8px",transition:"transform 0.3s ease, box-shadow 0.3s ease",transform:w?"translateY(-5px)":"translateY(0)"}},y,{children:[g?r("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):r(j,{}),u&&r(p,Object.assign({isOpen:u,onChangeIsOpen:f},{children:r(j,{})}))]}))};export{c as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../../../_virtual/_tslib.js";import{jsx as o,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useState as r,useRef as n}from"react";import{useQuery as a}from"@tanstack/react-query";import{usePickaxeMarkdownContext as d}from"../../hooks/usePickaxeMarkdownContext.js";import{loaderBlack as c}from"../../../../../../common/lotties/loader-black.js";import{loaderWhite as s}from"../../../../../../common/lotties/loader-white.js";import{PickaxeLottie as l}from"../../../PickaxeLottie.js";import{streamer as m}from"../../../../../../common/api/streamer.js";import{PickaxeMarkdownRenderer as p}from"../../Renderer.js";import{AnimatePresence as u,motion as f}from"framer-motion";import v from"../../../../../../common/api/utils.js";import y from"../../../../../../common/error.js";const h=({jobUrl:h})=>{var j,b,g,x;const{theme:k}=d(),[w,O]=r(""),[F,N]=r(""),E=n(null),I=a({queryKey:[h],queryFn:()=>(o=>e(void 0,void 0,void 0,(function*(){try{if(!o||o.includes("undefined"))throw new Error("Invalid action job URL");const e=yield fetch(o);return yield e.json()}catch(e){const o=y(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",o),{success:!1,error:o}}})))(h),enabled:"undefined"!=typeof window,retry:10,onSuccess:o=>e(void 0,void 0,void 0,(function*(){try{if(N(""),!o.success)return;if("text"in o)return void O(o.text||"");if(!("fcid"in o)){const e=(yield m({formId:o.formId,responseId:o.responseId,data:o.encodedData})).body;if(!e)return;let t=!0,i="";const r=e.getReader(),n=new TextDecoder;for(;t;){const{value:e,done:o}=yield r.read();t=!o;i+=n.decode(e),O(i)}return O(i),yield v.post("/fn/update",{id:o.jobId,data:Object.assign(Object.assign({},o),{text:i})}),void console.log("[Action] streaming done")}yield new Promise((e=>setTimeout(e,3e3))),I.refetch(),"development"===process.env.NODE_ENV&&console.log(`[Action] refetching <${h}>`)}catch(e){N(y(e))}}))});return o("div",Object.assign({ref:E,className:"pxe-action"},{children:o(u,{children:F||I.error||(null===(j=I.data)||void 0===j?void 0:j.error)?t(f.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:[o("blockquote",Object.assign({style:{lineHeight:"20px",borderLeft:"4px solid #FF0000",color:"#FF0000",paddingLeft:"1rem",marginBottom:"1rem"}},{children:F||(null===(b=I.data)||void 0===b?void 0:b.error)||"Failed to process, please try again."})),(null===(g=I.data)||void 0===g?void 0:g.traceback)&&t(i,{children:[t("p",Object.assign({style:{color:"#FF0000"}},{children:["Traceback:"," "]})),o(p,{value:`\`\`\`js\n${null===(x=I.data)||void 0===x?void 0:x.traceback}\n\`\`\``})]})]})):o(f.div,w?Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:o(p,{value:w})}):Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3}},{children:o(l,{id:"dark"===k?"loader-white":"loader-black",getJson:()=>e(void 0,void 0,void 0,(function*(){return"dark"===k?s:c})),autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}})}))})}))};export{h as default};
1
+ import{__awaiter as e}from"../../../../../../_virtual/_tslib.js";import{jsx as o,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useState as r,useRef as n}from"react";import{useQuery as a}from"@tanstack/react-query";import{usePickaxeMarkdownContext as c}from"../../hooks/usePickaxeMarkdownContext.js";import{loaderBlack as d}from"../../../../../../common/lotties/loader-black.js";import{loaderWhite as s}from"../../../../../../common/lotties/loader-white.js";import{streamer as l}from"../../../../../../common/api/streamer.js";import{PickaxeLottie as m}from"../../../PickaxeLottie.js";import{PickaxeMarkdownRenderer as p}from"../../Renderer.js";import{AnimatePresence as u,motion as f}from"framer-motion";import v from"../../../../../../common/api/utils.js";import y from"../../../../../../common/error.js";const h=({jobUrl:h})=>{var j,b,g,x;const{theme:k}=c(),[w,O]=r(""),[F,N]=r(""),E=n(null),I=a({queryKey:[h],queryFn:()=>(o=>e(void 0,void 0,void 0,(function*(){try{if(!o||o.includes("undefined"))throw new Error("Invalid action job URL");const e=yield fetch(o);return yield e.json()}catch(e){const o=y(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",o),{success:!1,error:o}}})))(h),enabled:"undefined"!=typeof window,retry:10,onSuccess:o=>e(void 0,void 0,void 0,(function*(){try{if(N(""),!o.success)return;if("text"in o)return void O(o.text||"");if(!("fcid"in o)){const e=(yield l({formId:o.formId,responseId:o.responseId,data:o.encodedData})).body;if(!e)return;let t=!0,i="";const r=e.getReader(),n=new TextDecoder;for(;t;){const{value:e,done:o}=yield r.read();t=!o;i+=n.decode(e),O(i)}return O(i),yield v.post("/fn/update",{id:o.jobId,data:Object.assign(Object.assign({},o),{text:i})}),void console.log("[Action] streaming done")}yield new Promise((e=>setTimeout(e,3e3))),I.refetch(),"development"===process.env.NODE_ENV&&console.log(`[Action] refetching <${h}>`)}catch(e){N(y(e))}}))});return o("div",Object.assign({ref:E,className:"pxe-action"},{children:o(u,{children:F||I.error||(null===(j=I.data)||void 0===j?void 0:j.error)?t(f.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:[o("blockquote",Object.assign({style:{lineHeight:"20px",borderLeft:"4px solid #FF0000",color:"#FF0000",paddingLeft:"1rem",marginBottom:"1rem"}},{children:F||(null===(b=I.data)||void 0===b?void 0:b.error)||"Failed to process, please try again."})),(null===(g=I.data)||void 0===g?void 0:g.traceback)&&t(i,{children:[t("p",Object.assign({style:{color:"#FF0000"}},{children:["Traceback:"," "]})),o(p,{value:`\`\`\`js\n${null===(x=I.data)||void 0===x?void 0:x.traceback}\n\`\`\``,recursion:!0})]})]})):o(f.div,w?Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:o(p,{value:w,recursion:!0})}):Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3}},{children:o(m,{id:"dark"===k?"loader-white":"loader-black",getJson:()=>e(void 0,void 0,void 0,(function*(){return"dark"===k?s:d})),autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}})}))})}))};export{h as default};
@@ -0,0 +1 @@
1
+ import{jsxs as e,jsx as i}from"react/jsx-runtime";import{usePickaxeContext as o}from"../../../../../../hooks/pickaxe/usePickaxeContext.js";import{motion as t}from"framer-motion";const r=({data:r})=>{const{colors:a}=o();return e(t.a,Object.assign({initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:10},transition:{duration:.3},whileHover:{scale:1.02},whileTap:{scale:.98},style:{display:"flex",flexDirection:"column",backgroundColor:a.primary,color:a.text,borderRadius:"15px 15px 15px 10px",overflow:"hidden",minHeight:r.image?"145px":"auto",maxWidth:"220px",width:"100%"},href:r.href,target:"_blank",rel:"noopener noreferrer"},{children:[!!r.image&&i("div",{style:{backgroundImage:`url("${r.image}")`,backgroundSize:"cover",backgroundPosition:"center",flex:1}}),e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:"0.2rem",fontSize:"14px",padding:"0.25rem 1rem"}},{children:[i("p",Object.assign({style:{fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},{children:r.title})),i("p",Object.assign({style:{fontWeight:350,opacity:.6,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},{children:r.description||"No description found"}))]}))]}))};export{r as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useRef as i}from"react";import{usePickaxeMarkdownContext as t}from"./hooks/usePickaxeMarkdownContext.js";import r from"react-markdown";import n from"remark-gfm";import l from"remark-math";import s from"rehype-katex";import o from"./Custom/A/index.js";import d from"./Custom/P/index.js";import m from"./Custom/Img/index.js";import c from"./Custom/Iframe/index.js";import a from"./Custom/Code/index.js";const h=({className:h,style:g,value:p})=>{const{theme:f}=t(),b=i(null),j={h1:({node:i,children:t})=>e("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:t})),h2:({node:i,children:t})=>e("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:t})),h3:({node:i,children:t})=>e("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:t})),h4:({node:i,children:t})=>e("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:t})),h5:({node:i,children:t})=>e("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:t})),p:d,a:o,ol:({node:i,children:t})=>e("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),ul:({node:i,children:t})=>e("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),li:({node:i,children:t})=>e("li",{children:t}),table:({children:i})=>e("div",Object.assign({className:"overflow-auto"},{children:e("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:i}))})),th:({node:i,children:t})=>e("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:t})),tr:({node:i,children:t})=>e("tr",Object.assign({style:{border:"dark"===f?"1px solid #30363D":"1px solid #D0D7DE"}},{children:t})),td:({node:i,children:t})=>e("td",Object.assign({style:{padding:"0.75em 1em"}},{children:t})),code:a,blockquote:({node:i,children:t})=>e("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===f?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===f?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:t})),img:m,iframe:c};return e("div",Object.assign({className:"pxe-markdown",ref:b,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},g)},{children:e(r,Object.assign({},h&&{className:h},{components:j,remarkPlugins:[n,l],rehypePlugins:[s]},{children:(null!=p?p:"").replace(/\u200B/g,"")}))}))};export{h as PickaxeMarkdownRenderer};
1
+ import{jsxs as e,jsx as i}from"react/jsx-runtime";import{useRef as t}from"react";import{usePickaxeMarkdownContext as r}from"./hooks/usePickaxeMarkdownContext.js";import n from"react-markdown";import l from"remark-gfm";import s from"remark-math";import o from"rehype-katex";import d from"./Custom/A/index.js";import m from"./Custom/P/index.js";import c from"./Custom/Img/index.js";import a from"./Custom/Iframe/index.js";import h from"./Custom/Code/index.js";import g from"./Custom/common/LinkPreview.js";const p=({className:p,style:f,value:b,recursion:j=!1})=>{const{theme:y,websiteMetadatas:u}=r(),x=t(null),O={h1:({node:e,children:t})=>i("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:t})),h2:({node:e,children:t})=>i("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:t})),h3:({node:e,children:t})=>i("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:t})),h4:({node:e,children:t})=>i("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:t})),h5:({node:e,children:t})=>i("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:t})),p:m,a:d,ol:({node:e,children:t})=>i("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),ul:({node:e,children:t})=>i("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),li:({node:e,children:t})=>i("li",{children:t}),table:({children:e})=>i("div",Object.assign({className:"overflow-auto"},{children:i("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:e}))})),th:({node:e,children:t})=>i("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:t})),tr:({node:e,children:t})=>i("tr",Object.assign({style:{border:"dark"===y?"1px solid #30363D":"1px solid #D0D7DE"}},{children:t})),td:({node:e,children:t})=>i("td",Object.assign({style:{padding:"0.75em 1em"}},{children:t})),code:h,blockquote:({node:e,children:t})=>i("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===y?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===y?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:t})),img:c,iframe:a};return e("div",Object.assign({className:"pxe-markdown",ref:x,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},f)},{children:[i(n,Object.assign({},p&&{className:p},{components:O,remarkPlugins:[l,s],rehypePlugins:[o]},{children:(null!=b?b:"").replace(/\u200B/g,"")})),!j&&u.length>0&&i("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:"2rem"}},{children:u.map(((e,t)=>i(g,{data:e},t)))}))]}))};export{p as PickaxeMarkdownRenderer};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{createContext as e,useState as r}from"react";const n=e({}),t=({children:e,theme:t="light",syntaxTheme:c,accentColor:l="#228DD7",linkPreviews:a=!1,actions:i=!1})=>{const[s,d]=r(t),[p,m]=r(l),[C,F]=r(a),[g,h]=r(i);return o(n.Provider,Object.assign({value:{theme:s,syntaxTheme:c||{'code[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em",background:"#1d1f21"},':not(pre) > code[class*="language-"]':{background:"#1d1f21",padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6",textDecoration:"underline"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:"#fd971f",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},accentColor:p,linkPreviews:C,actions:g,setTheme:d,setAccentColor:m,setLinkPreviews:F,setActions:h}},{children:e}))};export{t as PickaxeMarkdown,n as PickaxeMarkdownContext,t as default};
1
+ import{jsx as o}from"react/jsx-runtime";import{createContext as e,useState as r}from"react";const n=e({}),t=({children:e,theme:t="light",syntaxTheme:a,accentColor:c="#228DD7",linkPreviews:l=!1,actions:i=!1})=>{const[s,d]=r(t),[p,m]=r(c),[C,F]=r([]),[g,h]=r(l),[u,b]=r(i);return o(n.Provider,Object.assign({value:{theme:s,syntaxTheme:a||{'code[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#c5c8c6",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",borderRadius:"0.3em",background:"#1d1f21"},':not(pre) > code[class*="language-"]':{background:"#1d1f21",padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6",textDecoration:"underline"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:"#fd971f",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},accentColor:p,websiteMetadatas:C,linkPreviews:g,actions:u,setTheme:d,setAccentColor:m,setWebsiteMetadatas:F,setLinkPreviews:h,setActions:b}},{children:e}))};export{t as PickaxeMarkdown,n as PickaxeMarkdownContext,t as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{usePickaxeContext as o}from"./usePickaxeContext.js";import{generateId as r}from"../../common/utils.js";const t=()=>{const{formId:t,chatId:n}=o();return{document:o=>e(void 0,void 0,void 0,(function*(){var e;if(!t)throw new Error("formId not found.");const r=process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL;if(!r)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL not found.");const s=o.name.split(".").pop(),i=o.type,d=yield fetch(`${r}/get_document_upload_url?extension=${s}&mimeType=${i}`),{error:c,documentId:a,s3Folder:f,url:l,fields:m}=yield d.json();if(c)throw new Error(c);const u=Object.assign(Object.assign({},m),{file:o}),p=new FormData;Object.entries(u).forEach((([e,o])=>{p.append(e,o)}));const _=yield fetch(l,{method:"POST",body:p});if(!_.ok)throw new Error(_.statusText);const h=`${l}${m.key}`;if(process.env.NODE_ENV&&"development"!==process.env.NODE_ENV||console.log("s3Url",h),i.startsWith("image"))return{success:!0,documentid:`IMAGE-${a}-${f}`};const w=yield fetch(`${r}/process_document`,{method:"POST",body:JSON.stringify(Object.assign({formId:t,documentId:a,s3Folder:f,fileName:o.name},!!n&&{chatId:n})),headers:{"Content-Type":"application/json"}}),O=yield w.json();if(!O.success)throw new Error(null!==(e=O.error)&&void 0!==e?e:"Failed processing document, please try again.");return O})),website:o=>e(void 0,void 0,void 0,(function*(){var e;if(!t)throw new Error("formId not found.");const s=process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL;if(!s)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL not found.");const i=r(20),d=yield fetch(`${s}/process_document`,{method:"POST",body:JSON.stringify(Object.assign({documentId:i,formId:t,website:o},!!n&&{chatId:n})),headers:{"Content-Type":"application/json"}}),c=yield d.json();if(!c.success)throw new Error(null!==(e=c.error)&&void 0!==e?e:"Failed processing website, please try again.");return c}))}};export{t as useSubmitDocument};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{generateId as s}from"../../common/utils.js";const o=()=>({document:({formId:s,workspaceId:o,responseId:n,file:t,isKnowledge:i,isBlocking:r})=>e(void 0,void 0,void 0,(function*(){var e,c;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const d=t.name.split(".").pop(),a=t.type,l=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_upload_url?formid=${s}&mimetype=${a}&extension=${d}`),p=yield l.json();if(!p.success)throw new Error(null!==(e=p.error)&&void 0!==e?e:"Failed to get presigned URL, try again or contact support.");const _=new FormData;Object.entries(Object.assign(Object.assign({},p.fields),{file:t})).forEach((([e,s])=>{_.append(e,s)}));const O=yield fetch(p.url,{method:"POST",body:_});if(!O.ok)throw new Error(O.statusText);const g=`${p.url}${p.fields.key}`;if("development"===process.env.NODE_ENV&&console.log("[S3URL]",g),a.startsWith("image"))return{success:!0,documentId:`IMAGE-${p.documentId}-${p.folder}`};const f=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:s},o&&{workspaceId:o}),{documentId:p.documentId}),n&&{responseId:n}),{fileName:t.name,fileSize:t.size}),i&&{isKnowledge:i}),r&&{isBlocking:r})),headers:{"Content-Type":"application/json"}}),m=yield f.json();if(!m.success)throw new Error(null!==(c=m.error)&&void 0!==c?c:"Failed processing document, try again or contact support.");return m})),website:({formId:o,workspaceId:n,responseId:t,website:i,isKnowledge:r,isBlocking:c})=>e(void 0,void 0,void 0,(function*(){var e;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const d=s(20),a=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o},n&&{workspaceId:n}),{documentId:d}),t&&{responseId:t}),{website:i}),r&&{isKnowledge:r}),c&&{isBlocking:c})),headers:{"Content-Type":"application/json"}}),l=yield a.json();if(!l.success)throw new Error(null!==(e=l.error)&&void 0!==e?e:"Failed processing website, try again or contact support.");return l}))});export{o as useSubmitDocument};
@@ -1,4 +1,4 @@
1
- import type { FC, ComponentPropsWithoutRef } from "react";
2
1
  import type { Node } from "../../Renderer";
2
+ import { FC, ComponentPropsWithoutRef } from "react";
3
3
  declare const A: FC<ComponentPropsWithoutRef<"a"> & Node>;
4
4
  export default A;
@@ -0,0 +1,6 @@
1
+ import type { WebsiteMetadata } from "../..";
2
+ interface LinkPreviewProps {
3
+ data: WebsiteMetadata;
4
+ }
5
+ declare const LinkPreview: ({ data }: LinkPreviewProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default LinkPreview;
@@ -3,9 +3,10 @@ interface PickaxeMarkdownRendererProps {
3
3
  className?: string;
4
4
  style?: CSSProperties;
5
5
  value?: string | null;
6
+ recursion?: boolean;
6
7
  }
7
8
  export type Node = {
8
9
  node?: any;
9
10
  };
10
- export declare const PickaxeMarkdownRenderer: ({ className, style, value, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const PickaxeMarkdownRenderer: ({ className, style, value, recursion, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
11
12
  export {};
@@ -1,12 +1,14 @@
1
1
  /// <reference types="react" />
2
2
  export declare const usePickaxeMarkdownContext: () => {
3
- theme?: import("..").PickaxeMarkdownTheme | undefined;
4
- syntaxTheme?: Record<string, import("react").CSSProperties> | undefined;
5
- accentColor?: string | undefined;
6
- linkPreviews?: boolean | undefined;
7
- actions?: boolean | undefined;
8
- setTheme?: import("../../../../../types/common").SetState<import("..").PickaxeMarkdownTheme> | undefined;
9
- setAccentColor?: import("../../../../../types/common").SetState<string> | undefined;
10
- setLinkPreviews?: import("../../../../../types/common").SetState<boolean> | undefined;
11
- setActions?: import("../../../../../types/common").SetState<boolean> | undefined;
3
+ theme: import("..").PickaxeMarkdownTheme;
4
+ syntaxTheme: Record<string, import("react").CSSProperties>;
5
+ accentColor: string;
6
+ websiteMetadatas: import("..").WebsiteMetadata[];
7
+ linkPreviews: boolean;
8
+ actions: boolean;
9
+ setTheme: import("../../../../../types/common").SetState<import("..").PickaxeMarkdownTheme>;
10
+ setAccentColor: import("../../../../../types/common").SetState<string>;
11
+ setWebsiteMetadatas: import("../../../../../types/common").SetState<import("..").WebsiteMetadata[]>;
12
+ setLinkPreviews: import("../../../../../types/common").SetState<boolean>;
13
+ setActions: import("../../../../../types/common").SetState<boolean>;
12
14
  };
@@ -1,16 +1,24 @@
1
1
  import type { SetState } from "../../../../types/common";
2
2
  import { type CSSProperties, type ReactNode } from "react";
3
3
  export type PickaxeMarkdownTheme = "light" | "dark";
4
+ export type WebsiteMetadata = {
5
+ title: string;
6
+ description: string;
7
+ image: string;
8
+ href: string;
9
+ };
4
10
  type PickaxeMarkdownContextType = {
5
- theme?: PickaxeMarkdownTheme;
6
- syntaxTheme?: Record<string, CSSProperties>;
7
- accentColor?: string;
8
- linkPreviews?: boolean;
9
- actions?: boolean;
10
- setTheme?: SetState<PickaxeMarkdownTheme>;
11
- setAccentColor?: SetState<string>;
12
- setLinkPreviews?: SetState<boolean>;
13
- setActions?: SetState<boolean>;
11
+ theme: PickaxeMarkdownTheme;
12
+ syntaxTheme: Record<string, CSSProperties>;
13
+ accentColor: string;
14
+ websiteMetadatas: WebsiteMetadata[];
15
+ linkPreviews: boolean;
16
+ actions: boolean;
17
+ setTheme: SetState<PickaxeMarkdownTheme>;
18
+ setAccentColor: SetState<string>;
19
+ setWebsiteMetadatas: SetState<WebsiteMetadata[]>;
20
+ setLinkPreviews: SetState<boolean>;
21
+ setActions: SetState<boolean>;
14
22
  };
15
23
  interface PickaxeMarkdownProps {
16
24
  children: ReactNode;
@@ -1,16 +1,28 @@
1
1
  export declare const useSubmitDocument: () => {
2
- document: (file: File) => Promise<{
2
+ document: ({ formId, workspaceId, responseId, file, isKnowledge, isBlocking, }: {
3
+ formId: string;
4
+ workspaceId?: string | undefined;
5
+ responseId?: string | undefined;
6
+ file: File;
7
+ isKnowledge?: boolean | undefined;
8
+ isBlocking?: boolean | undefined;
9
+ }) => Promise<{
3
10
  success: boolean;
4
- documentid: string;
5
- error?: string | undefined;
11
+ documentId: string;
12
+ chunkCount?: number;
13
+ error?: string;
6
14
  }>;
7
- website: (website: string) => Promise<{
15
+ website: ({ formId, workspaceId, responseId, website, isKnowledge, isBlocking, }: {
16
+ formId: string;
17
+ workspaceId?: string | undefined;
18
+ responseId?: string | undefined;
19
+ website: string;
20
+ isKnowledge?: boolean | undefined;
21
+ isBlocking?: boolean | undefined;
22
+ }) => Promise<{
8
23
  success: boolean;
9
- numchunks: number;
10
- pages: number;
11
- documentid: string;
12
- name: string;
13
- call_id: string;
24
+ documentId: string;
25
+ chunkCount?: number | undefined;
14
26
  error?: string | undefined;
15
27
  }>;
16
28
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "0.0.43",
3
+ "version": "0.0.45",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",