@pickaxeproject/react 3.22.0 → 3.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.additionalAllowedFileExtensions=[".md"],exports.allowedFileMimeTypes=["application/pdf","text/plain","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/csv","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/markdown","application/xml","text/xml","audio/mpeg","video/mp4"],exports.allowedImageMimeTypes=["image/png","image/jpeg","image/webp","image/gif"];
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.additionalAllowedFileExtensions=[".md"],exports.allowedFileMimeTypes=["application/pdf","text/plain","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/csv","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/markdown","application/xml","text/xml","audio/mpeg","video/mp4","video/quicktime","video/x-quicktime","video/avi","video/x-msvideo","video/x-matroska"],exports.allowedImageMimeTypes=["image/png","image/jpeg","image/webp","image/gif"];
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react"),s=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../Auth/hooks/useAuthContext.js"),i=require("../../../../../hooks/pickaxe/useSubmitDocument.js"),n=require("./useDocumentContext.js"),r=require("../../../../../common/documents.js"),a=require("uuid"),u=require("../../../../../common/error.js");const d=["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5-mini","gpt-5-nano","gpt-5-chat-latest","o1","o4-mini","o3","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-2.5-pro-preview-05-06","gemini-2.5-flash-preview-05-20","claude-3-7-sonnet-20250219","claude-sonnet-4-20250514","claude-opus-4-20250514","claude-opus-4-1-20250805","claude-sonnet-4-5-20250929","grok-4-latest","grok-4-fast-non-reasoning-latest","grok-4-fast-reasoning-latest","sonar","sonar-pro","sonar-reasoning","sonar-reasoning-pro"];exports.useDocument=({onQuestionChange:l}={})=>{const{formId:c,chatId:p,sessionId:m,pickaxe:g,studioUserId:f}=s.usePickaxeContext(),{token:w}=o.useAuthContext(),h=n.useDocumentContext(),I=i.useSubmitDocument(),b=t.useMemo((()=>{var e;return d.includes(null!==(e=null==g?void 0:g.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[g]),v=e=>{const t=[...r.allowedFileMimeTypes,...b?r.allowedImageMimeTypes:[]];if(e.some((e=>{var s;if(console.log(e.type),t.includes(e.type))return!1;if(""===e.type){const t=null===(s=e.name.split(".").pop())||void 0===s?void 0:s.toLowerCase();if(t&&r.additionalAllowedFileExtensions.includes(`.${t}`))return!1}return!0}))){const e=new Error(b?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, XML, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, or XML files. Please try again."),t=u.default(e);return h.setDocumentError(t),!0}return!1};return Object.assign(Object.assign({},h),{isImageUploadAllowed:b,onFileUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(h.setDocumentError(""),!t.length)return null;if(v(t))return null;h.setIsUploading(!0),h.setIsShowList(!0);const s=t.map((e=>({file:e,id:a.v4()})));s.forEach((({file:e,id:t})=>{h.addDocument({type:"document",id:t,size:e.size,name:e.name,status:"uploading"})}));const o=s.map((({file:t,id:s})=>e.__awaiter(void 0,void 0,void 0,(function*(){try{const{success:e,documentId:o,error:i}=yield I.document(Object.assign(Object.assign(Object.assign({formId:c,responseId:p,file:t,sessionId:m},(null==g?void 0:g.workspaceid)&&{workspaceId:g.workspaceid}),f&&{studioUserId:f}),w&&{studioSessionToken:w}));if(!e)throw new Error(null!=i?i:"Document processing failed");null==l||l({input:t.name,documentId:o});const n=o.startsWith("IMAGE-");return h.editDocument({id:s,type:n?"image":"document",name:t.name,size:t.size,status:"finished",documentId:o}),{name:t.name,documentId:o}}catch(e){const o=u.default(e);return h.editDocument({id:s,name:t.name,size:t.size,status:"failed",error:o}),{error:o}}}))));yield Promise.allSettled(o),h.setIsUploading(!1)})),onWebsiteUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){h.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.");h.setIsUploading(!0),h.setIsShowList(!0),h.setWebsiteLink(""),h.setDocuments([{type:"website",id:e,size:0,name:e,status:"uploading"}]);const t=yield I.website(Object.assign(Object.assign(Object.assign({formId:c,responseId:p,website:e},(null==g?void 0:g.workspaceid)&&{workspaceId:g.workspaceid}),f&&{studioUserId:f}),w&&{studioSessionToken:w})),{success:s,documentId:o}=t;if(!s)throw new Error("Website processing failed, please try again.");h.setDocuments([{type:"website",id:e,size:0,name:e,status:"finished",documentId:o}]);return{type:"website",id:e,name:e,size:0,status:"finished",documentId:o}}catch(t){const s=u.default(t);if(console.log("[onWebsiteUpload] Error",s),s.includes("Please paste a valid website URL"))return h.setDocumentError(s),null;h.editDocument({type:"website",id:e,size:0,name:e,status:"failed",error:s});return{type:"website",id:e,size:0,name:e,status:"failed",error:s}}finally{h.setIsUploading(!1)}}))})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react"),s=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../Auth/hooks/useAuthContext.js"),i=require("../../../../../hooks/pickaxe/useSubmitDocument.js"),n=require("./useDocumentContext.js"),r=require("../../../../../common/documents.js"),a=require("uuid"),u=require("../../../../../common/error.js");const d=["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5-mini","gpt-5-nano","gpt-5-chat-latest","o1","o4-mini","o3","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-2.5-pro-preview-05-06","gemini-2.5-flash-preview-05-20","claude-3-7-sonnet-20250219","claude-sonnet-4-20250514","claude-opus-4-20250514","claude-opus-4-1-20250805","claude-sonnet-4-5-20250929","claude-haiku-4-5-20251001","grok-4-latest","grok-4-fast-non-reasoning-latest","grok-4-fast-reasoning-latest","sonar","sonar-pro","sonar-reasoning","sonar-reasoning-pro"];exports.useDocument=({onQuestionChange:l}={})=>{const{formId:c,chatId:p,sessionId:m,pickaxe:g,studioUserId:f}=s.usePickaxeContext(),{token:w}=o.useAuthContext(),h=n.useDocumentContext(),I=i.useSubmitDocument(),b=t.useMemo((()=>{var e;return d.includes(null!==(e=null==g?void 0:g.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[g]),v=e=>{const t=[...r.allowedFileMimeTypes,...b?r.allowedImageMimeTypes:[]];if(e.some((e=>{var s;if(console.log(e.type),t.includes(e.type))return!1;if(""===e.type){const t=null===(s=e.name.split(".").pop())||void 0===s?void 0:s.toLowerCase();if(t&&r.additionalAllowedFileExtensions.includes(`.${t}`))return!1}return!0}))){const e=new Error(b?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, XML, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, or XML files. Please try again."),t=u.default(e);return h.setDocumentError(t),!0}return!1};return Object.assign(Object.assign({},h),{isImageUploadAllowed:b,onFileUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(h.setDocumentError(""),!t.length)return null;if(v(t))return null;h.setIsUploading(!0),h.setIsShowList(!0);const s=t.map((e=>({file:e,id:a.v4()})));s.forEach((({file:e,id:t})=>{h.addDocument({type:"document",id:t,size:e.size,name:e.name,status:"uploading"})}));const o=s.map((({file:t,id:s})=>e.__awaiter(void 0,void 0,void 0,(function*(){try{const{success:e,documentId:o,error:i}=yield I.document(Object.assign(Object.assign(Object.assign({formId:c,responseId:p,file:t,sessionId:m},(null==g?void 0:g.workspaceid)&&{workspaceId:g.workspaceid}),f&&{studioUserId:f}),w&&{studioSessionToken:w}));if(!e)throw new Error(null!=i?i:"Document processing failed");null==l||l({input:t.name,documentId:o});const n=o.startsWith("IMAGE-");return h.editDocument({id:s,type:n?"image":"document",name:t.name,size:t.size,status:"finished",documentId:o}),{name:t.name,documentId:o}}catch(e){const o=u.default(e);return h.editDocument({id:s,name:t.name,size:t.size,status:"failed",error:o}),{error:o}}}))));yield Promise.allSettled(o),h.setIsUploading(!1)})),onWebsiteUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){h.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.");h.setIsUploading(!0),h.setIsShowList(!0),h.setWebsiteLink(""),h.setDocuments([{type:"website",id:e,size:0,name:e,status:"uploading"}]);const t=yield I.website(Object.assign(Object.assign(Object.assign({formId:c,responseId:p,website:e},(null==g?void 0:g.workspaceid)&&{workspaceId:g.workspaceid}),f&&{studioUserId:f}),w&&{studioSessionToken:w})),{success:s,documentId:o}=t;if(!s)throw new Error("Website processing failed, please try again.");h.setDocuments([{type:"website",id:e,size:0,name:e,status:"finished",documentId:o}]);return{type:"website",id:e,name:e,size:0,status:"finished",documentId:o}}catch(t){const s=u.default(t);if(console.log("[onWebsiteUpload] Error",s),s.includes("Please paste a valid website URL"))return h.setDocumentError(s),null;h.editDocument({type:"website",id:e,size:0,name:e,status:"failed",error:s});return{type:"website",id:e,size:0,name:e,status:"failed",error:s}}finally{h.setIsUploading(!1)}}))})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../hooks/studio/useStyleInput.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),a=require("../../../hooks/pickaxe/useConversation.js"),l=require("../Addons/Auth/hooks/useAuthContext.js"),c=require("../../../hooks/pickaxe/useSubmit.js"),u=require("../Addons/Document/hooks/useDocument.js"),d=require("../Addons/Scroll/hooks/useScroll.js"),f=require("../Addons/Artifact/hooks/useArtifactContext.js"),g=require("../../../hooks/pickaxe/useSpeechRecognition.js"),p=require("../../../hooks/core/useHover.js"),m=require("../../../hooks/core/useMediaQuery.js"),h=require("../../../common/documents.js"),v=require("eventsource-parser"),j=require("../../Icons/attach-vertical.svg.js"),b=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),k=require("../Addons/Document/List.js"),w=require("../../Core/Textarea.js"),O=require("../../Core/ErrorAlert.js"),S=require("../../../common/error.js"),I=require("../../../common/cn.js");const C=s.forwardRef((({onFocus:C,onBlur:N,onInputHeightChange:q},A)=>{var E,_,D;const{formId:R,chatId:T,userId:H,studioUserId:L,embedUserId:M,deploymentId:P,deploymentType:F,pickaxe:W,styles:B,colors:U,studioLang:J,forceMobile:$,isNewChat:z,isRtl:G,isEmailLogin:K,isShowFeedbackMessage:Q,setIsNewChat:V,setIsShowIceBreaker:X,onGenerateComplete:Y}=n.usePickaxeContext(),{token:Z,isLoggedOut:ee,isSent:te}=l.useAuthContext(),{messages:se,status:ne,limits:re,isGenerating:ie,setMessages:oe,setStatus:ae,setLimitData:le,setError:ce}=r.useResponseContext(),{documents:ue,isUploading:de,isImageUploadAllowed:fe,documentError:ge,onFileUpload:pe,setDocuments:me,setDocumentError:he}=u.useDocument(),{scrollStartSession:ve,scrollEndSession:je,scrollToBottom:be}=d.useScroll({auto:!0}),{artifacts:xe,currentPopupType:ye,setArtifacts:ke,setCurrentArtifact:we}=f.useArtifactContext(),Oe=a.useConversation(),Se=c.useSubmit(),[Ie,Ce]=s.useState(""),[Ne,qe]=s.useState(!1),Ae=s.useRef(null),Ee=s.useRef(""),_e=s.useRef(null),De=s.useRef(null),{isSupported:Re,isListening:Te,finalTranscript:He,interimTranscript:Le,startListening:Me,stopListening:Pe}=g.useSpeechRecognition({lang:J||"en"}),[Fe]=m.useMediaQuery("(max-width: 899px)"),We=p.useHover(),{isHover:Be}=We,Ue=e.__rest(We,["isHover"]),Je=p.useHover(),{isHover:$e}=Je,ze=e.__rest(Je,["isHover"]),Ge=p.useHover(),{isHover:Ke}=Ge,Qe=e.__rest(Ge,["isHover"]),[Ve,Xe]=s.useState(!1),Ye=o.useStyleFontSize(),Ze=i.useStyleInput(),et=null===(E=null==W?void 0:W.documentuploadtype)||void 0===E?void 0:E.startsWith("enduserupload"),tt=Re&&(null==W?void 0:W.enablevoicetotext),st="chat-input"===F&&z&&!te,nt="chat-input"===F&&K&&ee&&te,rt=s.useMemo((()=>{var e,t,s;return!!z&&(!!W&&(!Oe.isLoading&&(!((null!==(t=null===(e=Oe.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=W.icebreakers)||void 0===s?void 0:s.length)&&(!Q&&!st)))))}),[W,z,Q,st,Oe.data,Oe.isLoading]),it=s.useMemo((()=>{if(ie||de)return!1;const e=ue.length>0&&ue.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!Ie.trim()&&!e)&&ue.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ie,de,Ie,ue]);s.useImperativeHandle(A,(()=>({onSubmit:ot}))),s.useEffect((()=>{X(rt)}),[rt]),s.useEffect((()=>{if(!Te)return;const e=`${Ee.current} ${He} ${Le}`.trim();Ce(e)}),[He,Le,Te]),s.useEffect((()=>{!Te&&Ee.current&&(Ce(`${Ee.current} ${He}`.trim()),Ee.current="")}),[Te,He]),s.useEffect((()=>{if(!De.current)return;(()=>{if(!De.current)return;let e=De.current.scrollHeight>52;Ie.includes("\n")||ue.length?e=!0:Ie.trim()||(e=!1),qe(e)})()}),[Ie,ue]);const ot=t=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,s;try{if("idle"!==ne||de)return;const n=ue.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),r=n.length>0&&n.every((e=>e.startsWith("IMAGE-"))),i=null!=t?t:Ie;if(!i&&!r)return;ce(""),he(""),le(null),Ce(""),V(!1),ae("fetching"),ve(),be();const o=null!==(s=null===(e=null==W?void 0:W.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==s&&s&&n.length>0,a=[...Array.from(se),Object.assign({id:se.length+1,role:"user",content:i},o&&{documentIds:n})];oe(a),be(),o&&me([]);const l=(yield Se.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:R,responseId:T,value:i},o&&{documentIds:n}),H&&{userId:H}),L&&{studioUserId:L}),M&&{embedUserId:M}),Z&&{studioSessionToken:Z}),P&&{deploymentId:P}))).body;if(!l)throw new Error("Streaming error");const c=a.length,u=new TextDecoder;_e.current=l.getReader();let d="",f=!0,g=!1,p=[...null!=xe?xe:[]];const m=v.createParser({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");d+=t,oe([...a.slice(0,c),{id:se.length+1,role:"assistant",content:d}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ke(p),ye.startsWith("inline")||we({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),ke(p),ye.startsWith("inline")||we({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ke(p),ye.startsWith("inline")||we({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");p=p.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),ke(p)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ke(p.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);ce(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(f=!1)}});for(;f&&_e.current;){const{value:e,done:t}=yield _e.current.read();if(t){f=!1;break}const s=u.decode(e);s&&(g||(ae("streaming"),g=!0),m.feed(s))}null==Y||Y(T)}catch(e){if("AbortError"===e.name)return void console.log("Stream stopped by user.");let t=S.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(re).find((([e])=>t.includes(e)));s?le(s[1]):ce(t)}finally{be(),ae("idle"),je(),_e.current=null}}));return nt?null:t.jsx("div",Object.assign({className:I.default("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!st&&"px-4 pb-4"),dir:G?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({className:I.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===B.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Ze),Ve&&{backgroundColor:"#EEEEEE"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),Xe(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),Xe(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),Xe(!0)},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),Xe(!1);const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(V(!1),yield pe(e))}))},{children:[Te&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(_=U.accent)&&void 0!==_?_:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:U.text+"90"}},{children:"Listening..."}))]})),"idle"===ne&&ue.length>0&&t.jsx(k.default,{className:"p-4 pb-0",isDisabled:"idle"!==ne}),t.jsx(w.default,Object.assign({ref:De,className:I.default(Ye.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ie.trim()&&!Ie.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap",G?"text-right":"text-left",Ne&&"mb-12",Te&&"text-transparent"),value:Ie,placeholder:null!==(D=null==W?void 0:W.placeholdertext)&&void 0!==D?D:G?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(Ce(e),q){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void q(0);if(t>=11)return;let s=0;t>1&&(s=50),q(24*(t-1)+s)}},onKeyDown:e=>{$||Fe||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),de||"idle"!==ne||ot()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),V(!1),yield pe(e))}))},C&&{onFocus:C},N&&{onBlur:N},{dir:G?"rtl":"ltr"})),t.jsx("div",Object.assign({className:I.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",Ne?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Ne&&{backgroundColor:U.secondary}),{borderTopRightRadius:B.cornerRadius+"px",borderBottomRightRadius:B.cornerRadius+"px"})},{children:ie?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{_e.current&&(_e.current.cancel(),_e.current=null),ae("idle")},style:{backgroundColor:U.accent,color:U.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):Te?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Pe,style:{backgroundColor:U.accent,color:U.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[et&&t.jsxs("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:$e?U.accent+"10":void 0,color:$e?U.accent:U.accent+"80"},disabled:de||"idle"!==ne,onClick:()=>{var e;return null===(e=Ae.current)||void 0===e?void 0:e.click()}},ze,{children:[t.jsx("input",{id:"file-upload",ref:Ae,type:"file",accept:[...h.allowedFileMimeTypes,...fe?h.allowedImageMimeTypes:[],...h.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){V(!1),yield pe(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(j.default,{className:"h-6 w-6 shrink-0"})]})),tt&&t.jsx("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Te?U.accent:Ke?U.accent+"10":void 0,color:Te?U.accentText:Ke?U.accent:U.accent+"80"},disabled:de||"idle"!==ne,onClick:()=>{Te?Pe():(Ee.current=Ie,Me())}},Qe,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Be||it?U.accent:U.accent+"10",color:Be||it?U.accentText:U.accent+"80"},disabled:!it,onClick:()=>ot()},Ue,{children:t.jsx(b.default,{className:I.default("h-6 w-6 shrink-0",G&&"scale-x-[-1] transform")})}))]})}))]})),ge&&t.jsx(O.default,{error:ge,className:"mt-3"})]}))}))}));C.displayName="Input",exports.default=C;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../hooks/studio/useStyleInput.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),a=require("../../../hooks/pickaxe/useConversation.js"),l=require("../Addons/Auth/hooks/useAuthContext.js"),c=require("../../../hooks/pickaxe/useSubmit.js"),u=require("../Addons/Document/hooks/useDocument.js"),d=require("../Addons/Scroll/hooks/useScroll.js"),f=require("../Addons/Artifact/hooks/useArtifactContext.js"),p=require("../../../hooks/pickaxe/useSpeechRecognition.js"),g=require("../../../hooks/core/useHover.js"),m=require("../../../hooks/core/useMediaQuery.js"),h=require("../../../common/documents.js"),v=require("eventsource-parser"),b=require("../../Icons/attach-vertical.svg.js"),j=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),k=require("../Addons/Document/List.js"),w=require("../../Core/Textarea.js"),O=require("../../Core/ErrorAlert.js"),S=require("../../../common/error.js"),C=require("../../../common/cn.js");const I=s.forwardRef((({onFocus:I,onBlur:N,onInputHeightChange:q},A)=>{var E,_,D;const{formId:R,chatId:T,userId:H,studioUserId:F,embedUserId:L,deploymentId:W,deploymentType:M,pickaxe:P,styles:$,colors:B,studioLang:U,forceMobile:J,isNewChat:z,isRtl:G,isEmailLogin:K,isShowFeedbackMessage:Q,setIsNewChat:V,setIsShowIceBreaker:X,onGenerateComplete:Y}=n.usePickaxeContext(),{token:Z,isLoggedOut:ee,isSent:te}=l.useAuthContext(),{messages:se,status:ne,limits:re,isGenerating:ie,setMessages:oe,setStatus:ae,setLimitData:le,setError:ce}=r.useResponseContext(),{documents:ue,isUploading:de,isImageUploadAllowed:fe,documentError:pe,onFileUpload:ge,setDocuments:me,setDocumentError:he}=u.useDocument(),{scrollStartSession:ve,scrollEndSession:be,scrollToBottom:je}=d.useScroll({auto:!0}),{artifacts:xe,currentPopupType:ye,setArtifacts:ke,setCurrentArtifact:we}=f.useArtifactContext(),Oe=a.useConversation(),Se=c.useSubmit(),[Ce,Ie]=s.useState(""),[Ne,qe]=s.useState(!1),[Ae,Ee]=s.useState(!1),_e=s.useRef(null),De=s.useRef(""),Re=s.useRef(null),Te=s.useRef(null),He=s.useRef(null),{isSupported:Fe,isListening:Le,finalTranscript:We,interimTranscript:Me,startListening:Pe,stopListening:$e}=p.useSpeechRecognition({lang:U||"en"}),[Be]=m.useMediaQuery("(max-width: 899px)"),Ue=g.useHover(),{isHover:Je}=Ue,ze=e.__rest(Ue,["isHover"]),Ge=g.useHover(),{isHover:Ke}=Ge,Qe=e.__rest(Ge,["isHover"]),Ve=g.useHover(),{isHover:Xe}=Ve,Ye=e.__rest(Ve,["isHover"]),[Ze,et]=s.useState(!1),tt=o.useStyleFontSize(),st=i.useStyleInput(),nt=null===(E=null==P?void 0:P.documentuploadtype)||void 0===E?void 0:E.startsWith("enduserupload"),rt=Fe&&(null==P?void 0:P.enablevoicetotext),it="chat-input"===M&&z&&!te,ot="chat-input"===M&&K&&ee&&te,at=Ne||Ae,lt=s.useMemo((()=>{var e,t,s;return!!z&&(!!P&&(!Oe.isLoading&&(!((null!==(t=null===(e=Oe.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=P.icebreakers)||void 0===s?void 0:s.length)&&(!Q&&!it)))))}),[P,z,Q,it,Oe.data,Oe.isLoading]),ct=s.useMemo((()=>{if(ie||de)return!1;const e=ue.length>0&&ue.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!Ce.trim()&&!e)&&ue.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ie,de,Ce,ue]);s.useImperativeHandle(A,(()=>({onSubmit:ut}))),s.useEffect((()=>{X(lt)}),[lt]),s.useEffect((()=>{if(!Le)return;const e=`${De.current} ${We} ${Me}`.trim();Ie(e)}),[We,Me,Le]),s.useEffect((()=>{!Le&&De.current&&(Ie(`${De.current} ${We}`.trim()),De.current="")}),[Le,We]),s.useEffect((()=>{if(!Te.current)return;(()=>{if(!Te.current)return;let e=Te.current.scrollHeight>52;Ce.includes("\n")||ue.length?e=!0:Ce.trim()||(e=!1),qe(e)})()}),[Ce,ue]),s.useEffect((()=>{const e=Te.current,t=He.current;if(!e||!t||Ne||Ce.includes("\n"))return void Ee(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,r=document.createElement("span");Object.assign(r.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),r.textContent=Ce,document.body.appendChild(r);const i=r.offsetWidth;r.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;Ee(i>l)}),[Ce,Ne]);const ut=t=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,s;try{if("idle"!==ne||de)return;const n=ue.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),r=n.length>0&&n.every((e=>e.startsWith("IMAGE-"))),i=null!=t?t:Ce;if(!i&&!r)return;ce(""),he(""),le(null),Ie(""),V(!1),ae("fetching"),ve(),je();const o=null!==(s=null===(e=null==P?void 0:P.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==s&&s&&n.length>0,a=[...Array.from(se),Object.assign({id:se.length+1,role:"user",content:i},o&&{documentIds:n})];oe(a),je(),o&&me([]);const l=(yield Se.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:R,responseId:T,value:i},o&&{documentIds:n}),H&&{userId:H}),F&&{studioUserId:F}),L&&{embedUserId:L}),Z&&{studioSessionToken:Z}),W&&{deploymentId:W}))).body;if(!l)throw new Error("Streaming error");const c=a.length,u=new TextDecoder;Re.current=l.getReader();let d="",f=!0,p=!1,g=[...null!=xe?xe:[]];const m=v.createParser({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");d+=t,oe([...a.slice(0,c),{id:se.length+1,role:"assistant",content:d}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ke(g),ye.startsWith("inline")||we({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),ke(g),ye.startsWith("inline")||we({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);g=g.filter((e=>!(e.id===t.id&&e.version===t.version))),g.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ke(g),ye.startsWith("inline")||we({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");g=g.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),ke(g)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ke(g.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);ce(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(f=!1)}});for(;f&&Re.current;){const{value:e,done:t}=yield Re.current.read();if(t){f=!1;break}const s=u.decode(e);s&&(p||(ae("streaming"),p=!0),m.feed(s))}null==Y||Y(T)}catch(e){if("AbortError"===e.name)return void console.log("Stream stopped by user.");let t=S.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(re).find((([e])=>t.includes(e)));s?le(s[1]):ce(t)}finally{je(),ae("idle"),be(),Re.current=null}}));return ot?null:t.jsx("div",Object.assign({className:C.default("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!it&&"px-4 pb-4"),dir:G?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({className:C.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===$.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},st),Ze&&{backgroundColor:"#EEEEEE"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),et(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),et(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),et(!0)},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),et(!1);const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(V(!1),yield ge(e))}))},{children:[Le&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(_=B.accent)&&void 0!==_?_:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:B.text+"90"}},{children:"Listening..."}))]})),"idle"===ne&&ue.length>0&&t.jsx(k.default,{className:"p-4 pb-0",isDisabled:"idle"!==ne}),t.jsx(w.default,Object.assign({ref:Te,className:C.default(tt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Ce.trim()&&!Ce.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap",G?"text-right":"text-left",at&&"mb-12",Le&&"text-transparent"),value:Ce,placeholder:null!==(D=null==P?void 0:P.placeholdertext)&&void 0!==D?D:G?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(Ie(e),q){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void q(0);if(t>=11)return;let s=0;t>1&&(s=50),q(24*(t-1)+s)}},onKeyDown:e=>{J||Be||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),de||"idle"!==ne||ut()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),V(!1),yield ge(e))}))},I&&{onFocus:I},N&&{onBlur:N},{dir:G?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:He,className:C.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",at?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!at&&st.backgroundColor&&{backgroundColor:st.backgroundColor}),{borderTopRightRadius:$.cornerRadius+"px",borderBottomRightRadius:$.cornerRadius+"px"})},{children:ie?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Re.current&&(Re.current.cancel(),Re.current=null),ae("idle")},style:{backgroundColor:B.accent,color:B.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):Le?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:$e,style:{backgroundColor:B.accent,color:B.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[nt&&t.jsxs("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Ke?B.accent+"10":void 0,color:Ke?B.accent:B.accent+"80"},disabled:de||"idle"!==ne,onClick:()=>{var e;return null===(e=_e.current)||void 0===e?void 0:e.click()}},Qe,{children:[t.jsx("input",{id:"file-upload",ref:_e,type:"file",accept:[...h.allowedFileMimeTypes,...fe?h.allowedImageMimeTypes:[],...h.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){V(!1),yield ge(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(b.default,{className:"h-6 w-6 shrink-0"})]})),rt&&t.jsx("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Le?B.accent:Xe?B.accent+"10":void 0,color:Le?B.accentText:Xe?B.accent:B.accent+"80"},disabled:de||"idle"!==ne,onClick:()=>{Le?$e():(De.current=Ce,Pe())}},Ye,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Je||ct?B.accent:B.accent+"10",color:Je||ct?B.accentText:B.accent+"80"},disabled:!ct,onClick:()=>ut()},ze,{children:t.jsx(j.default,{className:C.default("h-6 w-6 shrink-0",G&&"scale-x-[-1] transform")})}))]})}))]})),pe&&t.jsx(O.default,{error:pe,className:"mt-3"})]}))}))}));I.displayName="Input",exports.default=I;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../Addons/Auth/hooks/useAuthContext.js"),o=require("../../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../../hooks/pickaxe/useSubmit.js"),a=require("../../Addons/Document/hooks/useDocument.js"),d=require("../../Addons/Scroll/hooks/useScroll.js"),l=require("../../Addons/Artifact/hooks/useArtifactContext.js"),u=require("../../../../common/utils.js"),c=require("@nem035/gpt-3-encoder"),p=require("eventsource-parser"),m=require("../../common/PickaxeBranding.js"),f=require("../../common/PickaxeButton.js"),g=require("../../../../common/error.js");exports.default=({questions:h})=>{var v;const{formId:b,userId:j,studioUserId:x,embedUserId:O,deploymentId:k,pickaxe:w,misc:q,translations:S,isRtl:y,setChatId:I,setIsNewChat:C,onGenerateComplete:A}=n.usePickaxeContext(),{token:N}=i.useAuthContext(),{status:P,limits:_,isGenerating:D,setResponse:R,setMessages:U,setStatus:E,setLimitData:J,setError:T}=o.useResponseContext(),{documents:W,websiteLink:B,isUploading:L,onWebsiteUpload:M,setDocuments:G,setDocumentError:F}=a.useDocument(),{scrollStartSession:K,scrollEndSession:X,scrollToTarget:Y}=d.useScroll({auto:!(null==w?void 0:w.enablechatresponses)}),{artifacts:z,currentPopupType:H,setArtifacts:Q,setCurrentArtifact:V}=l.useArtifactContext(),Z=r.useSubmit(),[$,ee]=s.useState(!1);return t.jsxs("div",Object.assign({className:"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:y?"rtl":"ltr"},{children:[t.jsx("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:t.jsx(f.default,Object.assign({className:"px-5 min-h-[42px]",isDisabled:L||"idle"!==P||D||$,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,t;try{if("idle"!==P||L||$)return;T(""),F(""),J(null),R(null);const s=["Multiple Choice","Checkbox"];for(const e of h){if(c.encode(e.input).length>e.maxLength&&!s.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 n=W.filter((e=>"finished"===e.status)),i=W.map((e=>e.name)),o=null!==(t=null===(e=null==w?void 0:w.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==t&&t,r=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),a=u.extractUrlsFromText(B).filter((e=>!i.includes(e)));if(a.length){const e=a[a.length-1];ee(!0);const t=yield M(e);t&&(n.push(t),yield new Promise((e=>setTimeout(e,5e3)))),ee(!1)}else if(r&&o&&!n.length)return void F("Please paste a valid website/video link or drag a file to add to the knowledge base.");const d=n.map((e=>e.documentId)).filter(Boolean),l=o&&d.length>0;let m={};h.forEach((e=>m=Object.assign(Object.assign({},m),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?n.map((e=>e.name)).join(",")||"":e.input}))),E("fetching"),K(),Y();const f=yield Z.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:b,valueObj:m},l&&{documentIds:d}),j&&{userId:j}),x&&{studioUserId:x}),O&&{embedUserId:O}),N&&{studioSessionToken:N}),k&&{deploymentId:k})),g=f.body;if(!g)throw new Error("Streaming error");const v=f.headers.get("X-Pickaxe-Response-Id");if(!v)throw new Error("Response ID not found");const q=new TextDecoder,S=g.getReader();let y="",_=!0,D=!1,X=[...null!=z?z:[]];const te=p.createParser({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");y+=t,R({formId:b,responseId:v,documentIds:d,questions:h.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:y,messageCount:0,sentAt:new Date}),(null==w?void 0:w.enablechatresponses)&&U([{id:0,role:"assistant",content:y}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);X=X.filter((e=>!(e.id===t.id&&e.version===t.version))),X.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Q(X),H.startsWith("inline")||V({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);X=X.filter((e=>!(e.id===t.id&&e.version===t.version))),X.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Q(X),H.startsWith("inline")||V({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);X=X.filter((e=>!(e.id===t.id&&e.version===t.version))),X.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Q(X),H.startsWith("inline")||V({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");X=X.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Q(X)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Q(X.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);T(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(_=!1)}});for(;_;){const{value:e,done:t}=yield S.read();if(t){_=!1;break}const s=q.decode(e);s&&(D||(E("streaming"),D=!0,l&&G([]),(null==w?void 0:w.enablechatresponses)&&(I(v),C(!1))),te.feed(s))}null==A||A(v)}catch(e){let t=g.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(_).find((([e])=>t.includes(e)));s?J(s[1]):T(t),Y()}finally{E("idle"),ee(!1),X()}}))},{children:$?(null==S?void 0:S.processing)||"Processing...":L?(null==S?void 0:S.uploading)||"Uploading...":"fetching"===P||"streaming"===P?(null==S?void 0:S.loading)||"Loading...":null!==(v=null==w?void 0:w.submittext)&&void 0!==v?v:"Submit"}))})),!q.isWhiteLabel&&t.jsx(m.default,{containerClassName:"justify-end"})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),i=require("../../../../hooks/pickaxe/usePickaxeContext.js"),n=require("../../Addons/Auth/hooks/useAuthContext.js"),o=require("../../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../../hooks/pickaxe/useSubmit.js"),a=require("../../Addons/Document/hooks/useDocument.js"),d=require("../../Addons/Scroll/hooks/useScroll.js"),l=require("../../Addons/Artifact/hooks/useArtifactContext.js"),u=require("../../../../common/utils.js"),c=require("@nem035/gpt-3-encoder"),p=require("eventsource-parser"),m=require("../../common/PickaxeBranding.js"),f=require("../../common/PickaxeButton.js"),g=require("../../../../common/error.js");exports.default=({questions:h,resetQuestions:v})=>{var b;const{formId:j,userId:x,studioUserId:O,embedUserId:k,deploymentId:w,pickaxe:q,misc:S,translations:y,isRtl:C,setChatId:I,setIsNewChat:A,onGenerateComplete:N}=i.usePickaxeContext(),{token:P}=n.useAuthContext(),{status:D,limits:_,isGenerating:R,setResponse:U,setMessages:E,setStatus:J,setLimitData:T,setError:W}=o.useResponseContext(),{documents:B,websiteLink:L,isUploading:M,onWebsiteUpload:G,setDocuments:F,setDocumentError:K}=a.useDocument(),{scrollStartSession:Q,scrollEndSession:X,scrollToTarget:Y}=d.useScroll({auto:!(null==q?void 0:q.enablechatresponses)}),{artifacts:z,currentPopupType:H,setArtifacts:V,setCurrentArtifact:Z}=l.useArtifactContext(),$=r.useSubmit(),[ee,te]=s.useState(!1);return t.jsxs("div",Object.assign({className:"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:C?"rtl":"ltr"},{children:[t.jsxs("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[t.jsx(f.default,Object.assign({className:"px-5 min-h-[42px]",isDisabled:M||"idle"!==D||R||ee,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,t;try{if("idle"!==D||M||ee)return;W(""),K(""),T(null),U(null);const s=["Multiple Choice","Checkbox"];for(const e of h){if(c.encode(e.input).length>e.maxLength&&!s.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 i=B.filter((e=>"finished"===e.status)),n=B.map((e=>e.name)),o=null!==(t=null===(e=null==q?void 0:q.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==t&&t,r=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),a=u.extractUrlsFromText(L).filter((e=>!n.includes(e)));if(a.length){const e=a[a.length-1];te(!0);const t=yield G(e);t&&(i.push(t),yield new Promise((e=>setTimeout(e,5e3)))),te(!1)}else if(r&&o&&!i.length)return void K("Please paste a valid website/video link or drag a file to add to the knowledge base.");const d=i.map((e=>e.documentId)).filter(Boolean),l=o&&d.length>0;let m={};h.forEach((e=>m=Object.assign(Object.assign({},m),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?i.map((e=>e.name)).join(",")||"":e.input}))),J("fetching"),Q(),Y();const f=yield $.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:j,valueObj:m},l&&{documentIds:d}),x&&{userId:x}),O&&{studioUserId:O}),k&&{embedUserId:k}),P&&{studioSessionToken:P}),w&&{deploymentId:w})),g=f.body;if(!g)throw new Error("Streaming error");const v=f.headers.get("X-Pickaxe-Response-Id");if(!v)throw new Error("Response ID not found");const b=new TextDecoder,S=g.getReader();let y="",C=!0,_=!1,R=[...null!=z?z:[]];const X=p.createParser({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");y+=t,U({formId:j,responseId:v,documentIds:d,questions:h.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:y,messageCount:0,sentAt:new Date}),(null==q?void 0:q.enablechatresponses)&&E([{id:0,role:"assistant",content:y}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);R=R.filter((e=>!(e.id===t.id&&e.version===t.version))),R.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),V(R),H.startsWith("inline")||Z({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);R=R.filter((e=>!(e.id===t.id&&e.version===t.version))),R.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),V(R),H.startsWith("inline")||Z({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);R=R.filter((e=>!(e.id===t.id&&e.version===t.version))),R.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),V(R),H.startsWith("inline")||Z({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");R=R.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),V(R)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);V(R.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);W(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(C=!1)}});for(;C;){const{value:e,done:t}=yield S.read();if(t){C=!1;break}const s=b.decode(e);s&&(_||(J("streaming"),_=!0,l&&F([]),(null==q?void 0:q.enablechatresponses)&&(I(v),A(!1))),X.feed(s))}null==N||N(v)}catch(e){let t=g.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(_).find((([e])=>t.includes(e)));s?T(s[1]):W(t),Y()}finally{J("idle"),te(!1),X()}}))},{children:ee?(null==y?void 0:y.processing)||"Processing...":M?(null==y?void 0:y.uploading)||"Uploading...":"fetching"===D||"streaming"===D?(null==y?void 0:y.loading)||"Loading...":null!==(b=null==q?void 0:q.submittext)&&void 0!==b?b:"Submit"})),t.jsx(f.default,Object.assign({className:"min-h-[42px] px-5",isDisabled:M||"idle"!==D||R||ee,onClick:v},{children:"Clear form"}))]})),!S.isWhiteLabel&&t.jsx(m.default,{containerClassName:"justify-end"})]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../../hooks/pickaxe/useResponseContext.js"),s=require("../../../Core/ErrorAlert.js"),a=require("../../common/PickaxeUpgradeCard.js"),u=require("./Input.js"),d=require("./Option.js"),n=require("./Document.js"),o=require("./Checkbox.js"),l=require("./Submit.js");exports.default=()=>{const{pickaxe:p,translations:c}=r.usePickaxeContext(),{error:x}=i.useResponseContext(),[j,f]=t.useState([]),m=e=>{f((t=>t.map((t=>t.id===e.id?e:t))))};return t.useEffect((()=>{if(!p)return;if(!p._questions)return;const e=new Date("2025-10-16T23:10:00Z"),t=!p.updatedAt||new Date(p.updatedAt)<e;f(p._questions.map(((e,r)=>{var i;let s="";if("Knowledge Upload"===e.type||"userinput:documentupload"===e.id)s="";else if("Multiple Choice"===e.type){const t=e.example.split("S3P32X");t.includes(s)||(s=t[0])}let a=e.secondary||"";return t&&(a=e.secondary||("Knowledge Upload"===e.type?null!==(i=null==c?void 0:c["form-doc-placeholder"])&&void 0!==i?i:"Paste a website/video link or drag a file":e.example)||""),Object.assign(Object.assign({order:r+1,id:e.id,type:e.type,main:e.main,example:e.example,input:s,length:0,maxLength:parseInt(e.answerlength),placeholder:a},e.isRequired&&{isRequired:"string"==typeof e.isRequired?"true"===e.isRequired:e.isRequired}),e.isDropdown&&{isDropdown:"string"==typeof e.isDropdown?"true"===e.isDropdown:e.isDropdown})})))}),[p]),e.jsxs("div",Object.assign({className:"mt-8 flex flex-col gap-y-8 max-lg:px-4"},{children:[j.map(((r,i)=>"Multiple Choice"===r.type?e.jsx(t.Fragment,{children:e.jsx(d.default,{field:r,update:m})},i):"Checkbox"===r.type?e.jsx(t.Fragment,{children:e.jsx(o.default,{field:r,update:m})},i):"userinput:documentupload"===r.id?e.jsx(t.Fragment,{children:e.jsx(n.default,{field:r,update:m})},i):e.jsx(t.Fragment,{children:e.jsx(u.default,{field:r,update:m})},i))),e.jsx(s.default,{error:x}),e.jsx(a.default,{}),e.jsx(l.default,{questions:j,update:m})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../Core/ErrorAlert.js"),u=require("../../common/PickaxeUpgradeCard.js"),a=require("./Input.js"),o=require("./Option.js"),d=require("./Document.js"),n=require("./Checkbox.js"),l=require("./Submit.js");exports.default=()=>{const{pickaxe:p,translations:c}=r.usePickaxeContext(),{error:x}=s.useResponseContext(),[j,m]=t.useState([]),[f,q]=t.useState([]),g=e=>{m((t=>t.map((t=>t.id===e.id?e:t))))},h=t.useMemo((()=>f),[f]);return t.useEffect((()=>{if(!p)return;if(!p._questions)return;const e=new Date("2025-10-16T23:10:00Z"),t=!p.updatedAt||new Date(p.updatedAt)<e,r=p._questions.map(((e,r)=>{var s;let i="";if("Knowledge Upload"===e.type||"userinput:documentupload"===e.id)i="";else if("Multiple Choice"===e.type){const t=e.example.split("S3P32X");t.includes(i)||(i=t[0])}let u=e.secondary||"";return t&&(u=e.secondary||("Knowledge Upload"===e.type?null!==(s=null==c?void 0:c["form-doc-placeholder"])&&void 0!==s?s:"Paste a website/video link or drag a file":e.example)||""),Object.assign(Object.assign({order:r+1,id:e.id,type:e.type,main:e.main,example:e.example,input:i,length:0,maxLength:parseInt(e.answerlength),placeholder:u},e.isRequired&&{isRequired:"string"==typeof e.isRequired?"true"===e.isRequired:e.isRequired}),e.isDropdown&&{isDropdown:"string"==typeof e.isDropdown?"true"===e.isDropdown:e.isDropdown})}));m(r),q(r)}),[p]),e.jsxs("div",Object.assign({className:"mt-8 flex flex-col gap-y-8 max-lg:px-4"},{children:[j.map(((r,s)=>"Multiple Choice"===r.type?e.jsx(t.Fragment,{children:e.jsx(o.default,{field:r,update:g})},s):"Checkbox"===r.type?e.jsx(t.Fragment,{children:e.jsx(n.default,{field:r,update:g})},s):"userinput:documentupload"===r.id?e.jsx(t.Fragment,{children:e.jsx(d.default,{field:r,update:g})},s):e.jsx(t.Fragment,{children:e.jsx(a.default,{field:r,update:g})},s))),e.jsx(i.default,{error:x}),e.jsx(u.default,{}),e.jsx(l.default,{questions:j,update:g,resetQuestions:()=>m(h)})]}))};
@@ -2,6 +2,7 @@ import type { MemoryStoredQuestionField } from "../../../../types/form";
2
2
  interface SubmitProps {
3
3
  questions: MemoryStoredQuestionField[];
4
4
  update: (questions: MemoryStoredQuestionField) => void;
5
+ resetQuestions: () => void;
5
6
  }
6
- declare const Submit: ({ questions }: SubmitProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const Submit: ({ questions, resetQuestions }: SubmitProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export default Submit;
@@ -3,7 +3,7 @@ export type PickaxeImageOrText = "text" | "image";
3
3
  export type PickaxePrivacySetting = "public" | "unlisted" | "private" | "deleted";
4
4
  export type PickaxeCloneable = "true" | "false";
5
5
  export type PickaxeDocumentUploadType = "ownerupload" | "enduserupload" | "enduserupload-user";
6
- export type PickaxeModel = "gpt-3.5-turbo" | "gpt-4-1106-preview" | "mistral-small" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-chat-latest" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4o-mini" | "gpt-4o" | "gpt-4" | "o3-mini" | "o1" | "o3" | "o4-mini" | "gemini-2.5-flash-preview-05-20" | "gemini-2.5-pro-preview-05-06" | "gemini-2.0-flash" | "gemini-2.0-flash-lite" | "gemini-1.5-pro" | "gemini-1.5-flash" | "deepseek-chat" | "mistral-large-latest" | "claude-sonnet-4-5-20250929" | "claude-opus-4-1-20250805" | "claude-opus-4-20250514" | "claude-sonnet-4-20250514" | "claude-3-7-sonnet-20250219" | "claude-3-opus-20240229" | "grok-4-fast-reasoning-latest" | "grok-4-fast-non-reasoning-latest" | "grok-4-latest" | "grok-3-latest" | "llama-3-uncensored" | "sonar" | "sonar-pro" | "sonar-reasoning" | "sonar-reasoning-pro" | "sonar-deep-research";
6
+ export type PickaxeModel = "gpt-3.5-turbo" | "gpt-4-1106-preview" | "mistral-small" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-chat-latest" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4o-mini" | "gpt-4o" | "gpt-4" | "o3-mini" | "o1" | "o3" | "o4-mini" | "gemini-2.5-flash-preview-05-20" | "gemini-2.5-pro-preview-05-06" | "gemini-2.0-flash" | "gemini-2.0-flash-lite" | "gemini-1.5-pro" | "gemini-1.5-flash" | "deepseek-chat" | "mistral-large-latest" | "claude-sonnet-4-5-20250929" | "claude-haiku-4-5-20251001" | "claude-opus-4-1-20250805" | "claude-opus-4-20250514" | "claude-sonnet-4-20250514" | "claude-3-7-sonnet-20250219" | "claude-3-opus-20240229" | "grok-4-fast-reasoning-latest" | "grok-4-fast-non-reasoning-latest" | "grok-4-latest" | "grok-3-latest" | "llama-3-uncensored" | "sonar" | "sonar-pro" | "sonar-reasoning" | "sonar-reasoning-pro" | "sonar-deep-research";
7
7
  export type Pickaxe = {
8
8
  _id: string;
9
9
  formid: string;
@@ -1 +1 @@
1
- const e=["application/pdf","text/plain","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/csv","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/markdown","application/xml","text/xml","audio/mpeg","video/mp4"],o=["image/png","image/jpeg","image/webp","image/gif"],t=[".md"];export{t as additionalAllowedFileExtensions,e as allowedFileMimeTypes,o as allowedImageMimeTypes};
1
+ const e=["application/pdf","text/plain","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/csv","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/markdown","application/xml","text/xml","audio/mpeg","video/mp4","video/quicktime","video/x-quicktime","video/avi","video/x-msvideo","video/x-matroska"],i=["image/png","image/jpeg","image/webp","image/gif"],o=[".md"];export{o as additionalAllowedFileExtensions,e as allowedFileMimeTypes,i as allowedImageMimeTypes};
@@ -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{useAuthContext as s}from"../../Auth/hooks/useAuthContext.js";import{useSubmitDocument as i}from"../../../../../hooks/pickaxe/useSubmitDocument.js";import{useDocumentContext as n}from"./useDocumentContext.js";import{additionalAllowedFileExtensions as r,allowedFileMimeTypes as a,allowedImageMimeTypes as d}from"../../../../../common/documents.js";import{v4 as u}from"uuid";import l from"../../../../../common/error.js";const c=["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5-mini","gpt-5-nano","gpt-5-chat-latest","o1","o4-mini","o3","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-2.5-pro-preview-05-06","gemini-2.5-flash-preview-05-20","claude-3-7-sonnet-20250219","claude-sonnet-4-20250514","claude-opus-4-20250514","claude-opus-4-1-20250805","claude-sonnet-4-5-20250929","grok-4-latest","grok-4-fast-non-reasoning-latest","grok-4-fast-reasoning-latest","sonar","sonar-pro","sonar-reasoning","sonar-reasoning-pro"],m=({onQuestionChange:m}={})=>{const{formId:p,chatId:f,sessionId:g,pickaxe:h,studioUserId:w}=o(),{token:I}=s(),b=n(),v=i(),k=t((()=>{var e;return c.includes(null!==(e=null==h?void 0:h.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[h]),y=e=>{const t=[...a,...k?d:[]];if(e.some((e=>{var o;if(console.log(e.type),t.includes(e.type))return!1;if(""===e.type){const t=null===(o=e.name.split(".").pop())||void 0===o?void 0:o.toLowerCase();if(t&&r.includes(`.${t}`))return!1}return!0}))){const e=new Error(k?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, XML, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, or XML files. Please try again."),t=l(e);return b.setDocumentError(t),!0}return!1};return Object.assign(Object.assign({},b),{isImageUploadAllowed:k,onFileUpload:t=>e(void 0,void 0,void 0,(function*(){if(b.setDocumentError(""),!t.length)return null;if(y(t))return null;b.setIsUploading(!0),b.setIsShowList(!0);const o=t.map((e=>({file:e,id:u()})));o.forEach((({file:e,id:t})=>{b.addDocument({type:"document",id:t,size:e.size,name:e.name,status:"uploading"})}));const s=o.map((({file:t,id:o})=>e(void 0,void 0,void 0,(function*(){try{const{success:e,documentId:s,error:i}=yield v.document(Object.assign(Object.assign(Object.assign({formId:p,responseId:f,file:t,sessionId:g},(null==h?void 0:h.workspaceid)&&{workspaceId:h.workspaceid}),w&&{studioUserId:w}),I&&{studioSessionToken:I}));if(!e)throw new Error(null!=i?i:"Document processing failed");null==m||m({input:t.name,documentId:s});const n=s.startsWith("IMAGE-");return b.editDocument({id:o,type:n?"image":"document",name:t.name,size:t.size,status:"finished",documentId:s}),{name:t.name,documentId:s}}catch(e){const s=l(e);return b.editDocument({id:o,name:t.name,size:t.size,status:"failed",error:s}),{error:s}}}))));yield Promise.allSettled(s),b.setIsUploading(!1)})),onWebsiteUpload:t=>e(void 0,void 0,void 0,(function*(){b.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.");b.setIsUploading(!0),b.setIsShowList(!0),b.setWebsiteLink(""),b.setDocuments([{type:"website",id:e,size:0,name:e,status:"uploading"}]);const t=yield v.website(Object.assign(Object.assign(Object.assign({formId:p,responseId:f,website:e},(null==h?void 0:h.workspaceid)&&{workspaceId:h.workspaceid}),w&&{studioUserId:w}),I&&{studioSessionToken:I})),{success:o,documentId:s}=t;if(!o)throw new Error("Website processing failed, please try again.");b.setDocuments([{type:"website",id:e,size:0,name:e,status:"finished",documentId:s}]);return{type:"website",id:e,name:e,size:0,status:"finished",documentId:s}}catch(t){const o=l(t);if(console.log("[onWebsiteUpload] Error",o),o.includes("Please paste a valid website URL"))return b.setDocumentError(o),null;b.editDocument({type:"website",id:e,size:0,name:e,status:"failed",error:o});return{type:"website",id:e,size:0,name:e,status:"failed",error:o}}finally{b.setIsUploading(!1)}}))})};export{m 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{useAuthContext as s}from"../../Auth/hooks/useAuthContext.js";import{useSubmitDocument as i}from"../../../../../hooks/pickaxe/useSubmitDocument.js";import{useDocumentContext as n}from"./useDocumentContext.js";import{additionalAllowedFileExtensions as r,allowedFileMimeTypes as a,allowedImageMimeTypes as d}from"../../../../../common/documents.js";import{v4 as u}from"uuid";import l from"../../../../../common/error.js";const c=["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5-mini","gpt-5-nano","gpt-5-chat-latest","o1","o4-mini","o3","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-2.5-pro-preview-05-06","gemini-2.5-flash-preview-05-20","claude-3-7-sonnet-20250219","claude-sonnet-4-20250514","claude-opus-4-20250514","claude-opus-4-1-20250805","claude-sonnet-4-5-20250929","claude-haiku-4-5-20251001","grok-4-latest","grok-4-fast-non-reasoning-latest","grok-4-fast-reasoning-latest","sonar","sonar-pro","sonar-reasoning","sonar-reasoning-pro"],m=({onQuestionChange:m}={})=>{const{formId:p,chatId:f,sessionId:g,pickaxe:h,studioUserId:w}=o(),{token:I}=s(),b=n(),k=i(),v=t((()=>{var e;return c.includes(null!==(e=null==h?void 0:h.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[h]),y=e=>{const t=[...a,...v?d:[]];if(e.some((e=>{var o;if(console.log(e.type),t.includes(e.type))return!1;if(""===e.type){const t=null===(o=e.name.split(".").pop())||void 0===o?void 0:o.toLowerCase();if(t&&r.includes(`.${t}`))return!1}return!0}))){const e=new Error(v?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, XML, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, MD, or XML files. Please try again."),t=l(e);return b.setDocumentError(t),!0}return!1};return Object.assign(Object.assign({},b),{isImageUploadAllowed:v,onFileUpload:t=>e(void 0,void 0,void 0,(function*(){if(b.setDocumentError(""),!t.length)return null;if(y(t))return null;b.setIsUploading(!0),b.setIsShowList(!0);const o=t.map((e=>({file:e,id:u()})));o.forEach((({file:e,id:t})=>{b.addDocument({type:"document",id:t,size:e.size,name:e.name,status:"uploading"})}));const s=o.map((({file:t,id:o})=>e(void 0,void 0,void 0,(function*(){try{const{success:e,documentId:s,error:i}=yield k.document(Object.assign(Object.assign(Object.assign({formId:p,responseId:f,file:t,sessionId:g},(null==h?void 0:h.workspaceid)&&{workspaceId:h.workspaceid}),w&&{studioUserId:w}),I&&{studioSessionToken:I}));if(!e)throw new Error(null!=i?i:"Document processing failed");null==m||m({input:t.name,documentId:s});const n=s.startsWith("IMAGE-");return b.editDocument({id:o,type:n?"image":"document",name:t.name,size:t.size,status:"finished",documentId:s}),{name:t.name,documentId:s}}catch(e){const s=l(e);return b.editDocument({id:o,name:t.name,size:t.size,status:"failed",error:s}),{error:s}}}))));yield Promise.allSettled(s),b.setIsUploading(!1)})),onWebsiteUpload:t=>e(void 0,void 0,void 0,(function*(){b.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.");b.setIsUploading(!0),b.setIsShowList(!0),b.setWebsiteLink(""),b.setDocuments([{type:"website",id:e,size:0,name:e,status:"uploading"}]);const t=yield k.website(Object.assign(Object.assign(Object.assign({formId:p,responseId:f,website:e},(null==h?void 0:h.workspaceid)&&{workspaceId:h.workspaceid}),w&&{studioUserId:w}),I&&{studioSessionToken:I})),{success:o,documentId:s}=t;if(!o)throw new Error("Website processing failed, please try again.");b.setDocuments([{type:"website",id:e,size:0,name:e,status:"finished",documentId:s}]);return{type:"website",id:e,name:e,size:0,status:"finished",documentId:s}}catch(t){const o=l(t);if(console.log("[onWebsiteUpload] Error",o),o.includes("Please paste a valid website URL"))return b.setDocumentError(o),null;b.editDocument({type:"website",id:e,size:0,name:e,status:"failed",error:o});return{type:"website",id:e,size:0,name:e,status:"failed",error:o}}finally{b.setIsUploading(!1)}}))})};export{m as useDocument};
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as s,jsxs as n,Fragment as o}from"react/jsx-runtime";import{forwardRef as r,useState as i,useRef as a,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import{usePickaxeContext as u}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as m}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as p}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as g}from"../../../hooks/pickaxe/useConversation.js";import{useAuthContext as h}from"../Addons/Auth/hooks/useAuthContext.js";import{useSubmit as v}from"../../../hooks/pickaxe/useSubmit.js";import{useDocument as b}from"../Addons/Document/hooks/useDocument.js";import{useScroll as j}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as y}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useSpeechRecognition as x}from"../../../hooks/pickaxe/useSpeechRecognition.js";import{useHover as k}from"../../../hooks/core/useHover.js";import{useMediaQuery as O}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as w,allowedImageMimeTypes as I,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as S}from"eventsource-parser";import C from"../../Icons/attach-vertical.svg.js";import A from"../../Icons/arrow-right.svg.js";import D from"../../Icons/microphone.svg.js";import E from"../../Icons/stop.svg.js";import T from"../Addons/Document/List.js";import L from"../../Core/Textarea.js";import R from"../../Core/ErrorAlert.js";import H from"../../../common/error.js";import W from"../../../common/cn.js";const B=r((({onFocus:r,onBlur:B,onInputHeightChange:P},U)=>{var J,_,F;const{formId:M,chatId:$,userId:G,studioUserId:z,embedUserId:K,deploymentId:Q,deploymentType:q,pickaxe:V,styles:X,colors:Y,studioLang:Z,forceMobile:ee,isNewChat:te,isRtl:se,isEmailLogin:ne,isShowFeedbackMessage:oe,setIsNewChat:re,setIsShowIceBreaker:ie,onGenerateComplete:ae}=u(),{token:le,isLoggedOut:ce,isSent:de}=h(),{messages:ue,status:me,limits:fe,isGenerating:pe,setMessages:ge,setStatus:he,setLimitData:ve,setError:be}=m(),{documents:je,isUploading:ye,isImageUploadAllowed:xe,documentError:ke,onFileUpload:Oe,setDocuments:we,setDocumentError:Ie}=b(),{scrollStartSession:Ne,scrollEndSession:Se,scrollToBottom:Ce}=j({auto:!0}),{artifacts:Ae,currentPopupType:De,setArtifacts:Ee,setCurrentArtifact:Te}=y(),Le=g(),Re=v(),[He,We]=i(""),[Be,Pe]=i(!1),Ue=a(null),Je=a(""),_e=a(null),Fe=a(null),{isSupported:Me,isListening:$e,finalTranscript:Ge,interimTranscript:ze,startListening:Ke,stopListening:Qe}=x({lang:Z||"en"}),[qe]=O("(max-width: 899px)"),Ve=k(),{isHover:Xe}=Ve,Ye=e(Ve,["isHover"]),Ze=k(),{isHover:et}=Ze,tt=e(Ze,["isHover"]),st=k(),{isHover:nt}=st,ot=e(st,["isHover"]),[rt,it]=i(!1),at=p(),lt=f(),ct=null===(J=null==V?void 0:V.documentuploadtype)||void 0===J?void 0:J.startsWith("enduserupload"),dt=Me&&(null==V?void 0:V.enablevoicetotext),ut="chat-input"===q&&te&&!de,mt="chat-input"===q&&ne&&ce&&de,ft=l((()=>{var e,t,s;return!!te&&(!!V&&(!Le.isLoading&&(!((null!==(t=null===(e=Le.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=V.icebreakers)||void 0===s?void 0:s.length)&&(!oe&&!ut)))))}),[V,te,oe,ut,Le.data,Le.isLoading]),pt=l((()=>{if(pe||ye)return!1;const e=je.length>0&&je.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!He.trim()&&!e)&&je.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[pe,ye,He,je]);c(U,(()=>({onSubmit:gt}))),d((()=>{ie(ft)}),[ft]),d((()=>{if(!$e)return;const e=`${Je.current} ${Ge} ${ze}`.trim();We(e)}),[Ge,ze,$e]),d((()=>{!$e&&Je.current&&(We(`${Je.current} ${Ge}`.trim()),Je.current="")}),[$e,Ge]),d((()=>{if(!Fe.current)return;(()=>{if(!Fe.current)return;let e=Fe.current.scrollHeight>52;He.includes("\n")||je.length?e=!0:He.trim()||(e=!1),Pe(e)})()}),[He,je]);const gt=e=>t(void 0,void 0,void 0,(function*(){var t,s;try{if("idle"!==me||ye)return;const n=je.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),o=n.length>0&&n.every((e=>e.startsWith("IMAGE-"))),r=null!=e?e:He;if(!r&&!o)return;be(""),Ie(""),ve(null),We(""),re(!1),he("fetching"),Ne(),Ce();const i=null!==(s=null===(t=null==V?void 0:V.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&n.length>0,a=[...Array.from(ue),Object.assign({id:ue.length+1,role:"user",content:r},i&&{documentIds:n})];ge(a),Ce(),i&&we([]);const l=(yield Re.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:M,responseId:$,value:r},i&&{documentIds:n}),G&&{userId:G}),z&&{studioUserId:z}),K&&{embedUserId:K}),le&&{studioSessionToken:le}),Q&&{deploymentId:Q}))).body;if(!l)throw new Error("Streaming error");const c=a.length,d=new TextDecoder;_e.current=l.getReader();let u="",m=!0,f=!1,p=[...null!=Ae?Ae:[]];const g=S({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");u+=t,ge([...a.slice(0,c),{id:ue.length+1,role:"assistant",content:u}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ee(p),De.startsWith("inline")||Te({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ee(p),De.startsWith("inline")||Te({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ee(p),De.startsWith("inline")||Te({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");p=p.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Ee(p)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ee(p.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);be(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(m=!1)}});for(;m&&_e.current;){const{value:e,done:t}=yield _e.current.read();if(t){m=!1;break}const s=d.decode(e);s&&(f||(he("streaming"),f=!0),g.feed(s))}null==ae||ae($)}catch(e){if("AbortError"===e.name)return void console.log("Stream stopped by user.");let t=H(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(fe).find((([e])=>t.includes(e)));s?ve(s[1]):be(t)}finally{Ce(),he("idle"),Se(),_e.current=null}}));return mt?null:s("div",Object.assign({className:W("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!ut&&"px-4 pb-4"),dir:se?"rtl":"ltr"},{children:n("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[n("div",Object.assign({className:W("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===X.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},lt),rt&&{backgroundColor:"#EEEEEE"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),it(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),it(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),it(!0)},onDrop:e=>t(void 0,void 0,void 0,(function*(){e.preventDefault(),e.stopPropagation(),it(!1);const t=Array.from(e.dataTransfer.files||[]);t.length>0&&(re(!1),yield Oe(t))}))},{children:[$e&&n("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[s("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(_=Y.accent)&&void 0!==_?_:"#ff0000"}}),s("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Y.text+"90"}},{children:"Listening..."}))]})),"idle"===me&&je.length>0&&s(T,{className:"p-4 pb-0",isDisabled:"idle"!==me}),s(L,Object.assign({ref:Fe,className:W(at.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!He.trim()&&!He.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap",se?"text-right":"text-left",Be&&"mb-12",$e&&"text-transparent"),value:He,placeholder:null!==(F=null==V?void 0:V.placeholdertext)&&void 0!==F?F:se?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(We(e),P){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void P(0);if(t>=11)return;let s=0;t>1&&(s=50),P(24*(t-1)+s)}},onKeyDown:e=>{ee||qe||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ye||"idle"!==me||gt()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),re(!1),yield Oe(t))}))},r&&{onFocus:r},B&&{onBlur:B},{dir:se?"rtl":"ltr"})),s("div",Object.assign({className:W("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",Be?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Be&&{backgroundColor:Y.secondary}),{borderTopRightRadius:X.cornerRadius+"px",borderBottomRightRadius:X.cornerRadius+"px"})},{children:pe?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{_e.current&&(_e.current.cancel(),_e.current=null),he("idle")},style:{backgroundColor:Y.accent,color:Y.accentText}},{children:s(E,{className:"h-4 w-4 shrink-0"})})):$e?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Qe,style:{backgroundColor:Y.accent,color:Y.accentText}},{children:s(E,{className:"h-4 w-4 shrink-0"})})):n(o,{children:[ct&&n("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:et?Y.accent+"10":void 0,color:et?Y.accent:Y.accent+"80"},disabled:ye||"idle"!==me,onClick:()=>{var e;return null===(e=Ue.current)||void 0===e?void 0:e.click()}},tt,{children:[s("input",{id:"file-upload",ref:Ue,type:"file",accept:[...w,...xe?I:[],...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){re(!1),yield Oe(Array.from(e.target.files||[])),e.target.value=""}))}),s(C,{className:"h-6 w-6 shrink-0"})]})),dt&&s("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:$e?Y.accent:nt?Y.accent+"10":void 0,color:$e?Y.accentText:nt?Y.accent:Y.accent+"80"},disabled:ye||"idle"!==me,onClick:()=>{$e?Qe():(Je.current=He,Ke())}},ot,{children:s(D,{className:"h-5 w-5 shrink-0"})})),s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Xe||pt?Y.accent:Y.accent+"10",color:Xe||pt?Y.accentText:Y.accent+"80"},disabled:!pt,onClick:()=>gt()},Ye,{children:s(A,{className:W("h-6 w-6 shrink-0",se&&"scale-x-[-1] transform")})}))]})}))]})),ke&&s(R,{error:ke,className:"mt-3"})]}))}))}));B.displayName="Input";export{B as default};
1
+ import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as o,Fragment as s}from"react/jsx-runtime";import{forwardRef as r,useState as i,useRef as a,useMemo as l,useImperativeHandle as c,useEffect as d}from"react";import{usePickaxeContext as u}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as m}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as p}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as g}from"../../../hooks/pickaxe/useConversation.js";import{useAuthContext as h}from"../Addons/Auth/hooks/useAuthContext.js";import{useSubmit as v}from"../../../hooks/pickaxe/useSubmit.js";import{useDocument as b}from"../Addons/Document/hooks/useDocument.js";import{useScroll as j}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as y}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useSpeechRecognition as x}from"../../../hooks/pickaxe/useSpeechRecognition.js";import{useHover as k}from"../../../hooks/core/useHover.js";import{useMediaQuery as O}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as w,allowedImageMimeTypes as S,additionalAllowedFileExtensions as C}from"../../../common/documents.js";import{createParser as I}from"eventsource-parser";import N from"../../Icons/attach-vertical.svg.js";import A from"../../Icons/arrow-right.svg.js";import D from"../../Icons/microphone.svg.js";import E from"../../Icons/stop.svg.js";import T from"../Addons/Document/List.js";import L from"../../Core/Textarea.js";import R from"../../Core/ErrorAlert.js";import W from"../../../common/error.js";import $ from"../../../common/cn.js";const H=r((({onFocus:r,onBlur:H,onInputHeightChange:F},B)=>{var P,U,J;const{formId:_,chatId:M,userId:z,studioUserId:G,embedUserId:K,deploymentId:Q,deploymentType:V,pickaxe:q,styles:X,colors:Y,studioLang:Z,forceMobile:ee,isNewChat:te,isRtl:ne,isEmailLogin:oe,isShowFeedbackMessage:se,setIsNewChat:re,setIsShowIceBreaker:ie,onGenerateComplete:ae}=u(),{token:le,isLoggedOut:ce,isSent:de}=h(),{messages:ue,status:me,limits:fe,isGenerating:pe,setMessages:ge,setStatus:he,setLimitData:ve,setError:be}=m(),{documents:je,isUploading:ye,isImageUploadAllowed:xe,documentError:ke,onFileUpload:Oe,setDocuments:we,setDocumentError:Se}=b(),{scrollStartSession:Ce,scrollEndSession:Ie,scrollToBottom:Ne}=j({auto:!0}),{artifacts:Ae,currentPopupType:De,setArtifacts:Ee,setCurrentArtifact:Te}=y(),Le=g(),Re=v(),[We,$e]=i(""),[He,Fe]=i(!1),[Be,Pe]=i(!1),Ue=a(null),Je=a(""),_e=a(null),Me=a(null),ze=a(null),{isSupported:Ge,isListening:Ke,finalTranscript:Qe,interimTranscript:Ve,startListening:qe,stopListening:Xe}=x({lang:Z||"en"}),[Ye]=O("(max-width: 899px)"),Ze=k(),{isHover:et}=Ze,tt=e(Ze,["isHover"]),nt=k(),{isHover:ot}=nt,st=e(nt,["isHover"]),rt=k(),{isHover:it}=rt,at=e(rt,["isHover"]),[lt,ct]=i(!1),dt=p(),ut=f(),mt=null===(P=null==q?void 0:q.documentuploadtype)||void 0===P?void 0:P.startsWith("enduserupload"),ft=Ge&&(null==q?void 0:q.enablevoicetotext),pt="chat-input"===V&&te&&!de,gt="chat-input"===V&&oe&&ce&&de,ht=He||Be,vt=l((()=>{var e,t,n;return!!te&&(!!q&&(!Le.isLoading&&(!((null!==(t=null===(e=Le.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=q.icebreakers)||void 0===n?void 0:n.length)&&(!se&&!pt)))))}),[q,te,se,pt,Le.data,Le.isLoading]),bt=l((()=>{if(pe||ye)return!1;const e=je.length>0&&je.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!We.trim()&&!e)&&je.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[pe,ye,We,je]);c(B,(()=>({onSubmit:jt}))),d((()=>{ie(vt)}),[vt]),d((()=>{if(!Ke)return;const e=`${Je.current} ${Qe} ${Ve}`.trim();$e(e)}),[Qe,Ve,Ke]),d((()=>{!Ke&&Je.current&&($e(`${Je.current} ${Qe}`.trim()),Je.current="")}),[Ke,Qe]),d((()=>{if(!Me.current)return;(()=>{if(!Me.current)return;let e=Me.current.scrollHeight>52;We.includes("\n")||je.length?e=!0:We.trim()||(e=!1),Fe(e)})()}),[We,je]),d((()=>{const e=Me.current,t=ze.current;if(!e||!t||He||We.includes("\n"))return void Pe(!1);const n=window.getComputedStyle(e),o=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,s=document.createElement("span");Object.assign(s.style,{font:o,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),s.textContent=We,document.body.appendChild(s);const r=s.offsetWidth;s.remove();const i=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-i-a-t.offsetWidth;Pe(r>l)}),[We,He]);const jt=e=>t(void 0,void 0,void 0,(function*(){var t,n;try{if("idle"!==me||ye)return;const o=je.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),s=o.length>0&&o.every((e=>e.startsWith("IMAGE-"))),r=null!=e?e:We;if(!r&&!s)return;be(""),Se(""),ve(null),$e(""),re(!1),he("fetching"),Ce(),Ne();const i=null!==(n=null===(t=null==q?void 0:q.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==n&&n&&o.length>0,a=[...Array.from(ue),Object.assign({id:ue.length+1,role:"user",content:r},i&&{documentIds:o})];ge(a),Ne(),i&&we([]);const l=(yield Re.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:_,responseId:M,value:r},i&&{documentIds:o}),z&&{userId:z}),G&&{studioUserId:G}),K&&{embedUserId:K}),le&&{studioSessionToken:le}),Q&&{deploymentId:Q}))).body;if(!l)throw new Error("Streaming error");const c=a.length,d=new TextDecoder;_e.current=l.getReader();let u="",m=!0,f=!1,p=[...null!=Ae?Ae:[]];const g=I({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");u+=t,ge([...a.slice(0,c),{id:ue.length+1,role:"assistant",content:u}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ee(p),De.startsWith("inline")||Te({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ee(p),De.startsWith("inline")||Te({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);p=p.filter((e=>!(e.id===t.id&&e.version===t.version))),p.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ee(p),De.startsWith("inline")||Te({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");p=p.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),Ee(p)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ee(p.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);be(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(m=!1)}});for(;m&&_e.current;){const{value:e,done:t}=yield _e.current.read();if(t){m=!1;break}const n=d.decode(e);n&&(f||(he("streaming"),f=!0),g.feed(n))}null==ae||ae(M)}catch(e){if("AbortError"===e.name)return void console.log("Stream stopped by user.");let t=W(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const n=Object.entries(fe).find((([e])=>t.includes(e)));n?ve(n[1]):be(t)}finally{Ne(),he("idle"),Ie(),_e.current=null}}));return gt?null:n("div",Object.assign({className:$("z-1 absolute bottom-0 left-0 flex w-full flex-col items-center",!pt&&"px-4 pb-4"),dir:ne?"rtl":"ltr"},{children:o("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[o("div",Object.assign({className:$("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===X.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},ut),lt&&{backgroundColor:"#EEEEEE"}),onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),ct(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),ct(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),ct(!0)},onDrop:e=>t(void 0,void 0,void 0,(function*(){e.preventDefault(),e.stopPropagation(),ct(!1);const t=Array.from(e.dataTransfer.files||[]);t.length>0&&(re(!1),yield Oe(t))}))},{children:[Ke&&o("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(U=Y.accent)&&void 0!==U?U:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Y.text+"90"}},{children:"Listening..."}))]})),"idle"===me&&je.length>0&&n(T,{className:"p-4 pb-0",isDisabled:"idle"!==me}),n(L,Object.assign({ref:Me,className:$(dt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!We.trim()&&!We.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap",ne?"text-right":"text-left",ht&&"mb-12",Ke&&"text-transparent"),value:We,placeholder:null!==(J=null==q?void 0:q.placeholdertext)&&void 0!==J?J:ne?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if($e(e),F){const t=(e.match(/\n/g)||[]).length+1;if(!e)return void F(0);if(t>=11)return;let n=0;t>1&&(n=50),F(24*(t-1)+n)}},onKeyDown:e=>{ee||Ye||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ye||"idle"!==me||jt()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),re(!1),yield Oe(t))}))},r&&{onFocus:r},H&&{onBlur:H},{dir:ne?"rtl":"ltr"})),n("div",Object.assign({ref:ze,className:$("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",ht?"mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ht&&ut.backgroundColor&&{backgroundColor:ut.backgroundColor}),{borderTopRightRadius:X.cornerRadius+"px",borderBottomRightRadius:X.cornerRadius+"px"})},{children:pe?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{_e.current&&(_e.current.cancel(),_e.current=null),he("idle")},style:{backgroundColor:Y.accent,color:Y.accentText}},{children:n(E,{className:"h-4 w-4 shrink-0"})})):Ke?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Xe,style:{backgroundColor:Y.accent,color:Y.accentText}},{children:n(E,{className:"h-4 w-4 shrink-0"})})):o(s,{children:[mt&&o("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:ot?Y.accent+"10":void 0,color:ot?Y.accent:Y.accent+"80"},disabled:ye||"idle"!==me,onClick:()=>{var e;return null===(e=Ue.current)||void 0===e?void 0:e.click()}},st,{children:[n("input",{id:"file-upload",ref:Ue,type:"file",accept:[...w,...xe?S:[],...C].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){re(!1),yield Oe(Array.from(e.target.files||[])),e.target.value=""}))}),n(N,{className:"h-6 w-6 shrink-0"})]})),ft&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Ke?Y.accent:it?Y.accent+"10":void 0,color:Ke?Y.accentText:it?Y.accent:Y.accent+"80"},disabled:ye||"idle"!==me,onClick:()=>{Ke?Xe():(Je.current=We,qe())}},at,{children:n(D,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:et||bt?Y.accent:Y.accent+"10",color:et||bt?Y.accentText:Y.accent+"80"},disabled:!bt,onClick:()=>jt()},tt,{children:n(A,{className:$("h-6 w-6 shrink-0",ne&&"scale-x-[-1] transform")})}))]})}))]})),ke&&n(R,{error:ke,className:"mt-3"})]}))}))}));H.displayName="Input";export{H as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as t,jsx as s}from"react/jsx-runtime";import{useState as n}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as o}from"../../Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as a}from"../../../../hooks/pickaxe/useSubmit.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as l}from"../../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as c}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{extractUrlsFromText as u}from"../../../../common/utils.js";import{encode as m}from"@nem035/gpt-3-encoder";import{createParser as p}from"eventsource-parser";import f from"../../common/PickaxeBranding.js";import g from"../../common/PickaxeButton.js";import h from"../../../../common/error.js";const v=({questions:v})=>{var b;const{formId:j,userId:O,studioUserId:x,embedUserId:k,deploymentId:w,pickaxe:y,misc:I,translations:S,isRtl:A,setChatId:C,setIsNewChat:N,onGenerateComplete:D}=i(),{token:E}=o(),{status:P,limits:R,isGenerating:U,setResponse:q,setMessages:J,setStatus:W,setLimitData:_,setError:T}=r(),{documents:B,websiteLink:L,isUploading:G,onWebsiteUpload:M,setDocuments:K,setDocumentError:X}=d(),{scrollStartSession:Y,scrollEndSession:z,scrollToTarget:F}=l({auto:!(null==y?void 0:y.enablechatresponses)}),{artifacts:H,currentPopupType:Q,setArtifacts:V,setCurrentArtifact:Z}=c(),$=a(),[ee,te]=n(!1);return t("div",Object.assign({className:"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:A?"rtl":"ltr"},{children:[s("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:s(g,Object.assign({className:"px-5 min-h-[42px]",isDisabled:G||"idle"!==P||U||ee,onClick:()=>e(void 0,void 0,void 0,(function*(){var e,t;try{if("idle"!==P||G||ee)return;T(""),X(""),_(null),q(null);const s=["Multiple Choice","Checkbox"];for(const e of v){if(m(e.input).length>e.maxLength&&!s.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 n=B.filter((e=>"finished"===e.status)),i=B.map((e=>e.name)),o=null!==(t=null===(e=null==y?void 0:y.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==t&&t,r=v.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),a=u(L).filter((e=>!i.includes(e)));if(a.length){const e=a[a.length-1];te(!0);const t=yield M(e);t&&(n.push(t),yield new Promise((e=>setTimeout(e,5e3)))),te(!1)}else if(r&&o&&!n.length)return void X("Please paste a valid website/video link or drag a file to add to the knowledge base.");const d=n.map((e=>e.documentId)).filter(Boolean),l=o&&d.length>0;let c={};v.forEach((e=>c=Object.assign(Object.assign({},c),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?n.map((e=>e.name)).join(",")||"":e.input}))),W("fetching"),Y(),F();const f=yield $.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:j,valueObj:c},l&&{documentIds:d}),O&&{userId:O}),x&&{studioUserId:x}),k&&{embedUserId:k}),E&&{studioSessionToken:E}),w&&{deploymentId:w})),g=f.body;if(!g)throw new Error("Streaming error");const h=f.headers.get("X-Pickaxe-Response-Id");if(!h)throw new Error("Response ID not found");const b=new TextDecoder,I=g.getReader();let S="",A=!0,R=!1,U=[...null!=H?H:[]];const z=p({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");S+=t,q({formId:j,responseId:h,documentIds:d,questions:v.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:S,messageCount:0,sentAt:new Date}),(null==y?void 0:y.enablechatresponses)&&J([{id:0,role:"assistant",content:S}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),V(U),Q.startsWith("inline")||Z({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),V(U),Q.startsWith("inline")||Z({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),V(U),Q.startsWith("inline")||Z({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");U=U.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),V(U)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);V(U.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);T(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(A=!1)}});for(;A;){const{value:e,done:t}=yield I.read();if(t){A=!1;break}const s=b.decode(e);s&&(R||(W("streaming"),R=!0,l&&K([]),(null==y?void 0:y.enablechatresponses)&&(C(h),N(!1))),z.feed(s))}null==D||D(h)}catch(e){let t=h(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(R).find((([e])=>t.includes(e)));s?_(s[1]):T(t),F()}finally{W("idle"),te(!1),z()}}))},{children:ee?(null==S?void 0:S.processing)||"Processing...":G?(null==S?void 0:S.uploading)||"Uploading...":"fetching"===P||"streaming"===P?(null==S?void 0:S.loading)||"Loading...":null!==(b=null==y?void 0:y.submittext)&&void 0!==b?b:"Submit"}))})),!I.isWhiteLabel&&s(f,{containerClassName:"justify-end"})]}))};export{v as default};
1
+ import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as t,jsx as s}from"react/jsx-runtime";import{useState as i}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as o}from"../../Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as a}from"../../../../hooks/pickaxe/useSubmit.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as l}from"../../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as c}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{extractUrlsFromText as u}from"../../../../common/utils.js";import{encode as m}from"@nem035/gpt-3-encoder";import{createParser as p}from"eventsource-parser";import f from"../../common/PickaxeBranding.js";import g from"../../common/PickaxeButton.js";import h from"../../../../common/error.js";const v=({questions:v,resetQuestions:b})=>{var j;const{formId:O,userId:x,studioUserId:k,embedUserId:w,deploymentId:y,pickaxe:I,misc:S,translations:C,isRtl:A,setChatId:N,setIsNewChat:D,onGenerateComplete:E}=n(),{token:P}=o(),{status:R,limits:U,isGenerating:q,setResponse:J,setMessages:W,setStatus:_,setLimitData:T,setError:B}=r(),{documents:L,websiteLink:G,isUploading:M,onWebsiteUpload:K,setDocuments:Q,setDocumentError:X}=d(),{scrollStartSession:Y,scrollEndSession:z,scrollToTarget:F}=l({auto:!(null==I?void 0:I.enablechatresponses)}),{artifacts:H,currentPopupType:V,setArtifacts:Z,setCurrentArtifact:$}=c(),ee=a(),[te,se]=i(!1);return t("div",Object.assign({className:"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:A?"rtl":"ltr"},{children:[t("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[s(g,Object.assign({className:"px-5 min-h-[42px]",isDisabled:M||"idle"!==R||q||te,onClick:()=>e(void 0,void 0,void 0,(function*(){var e,t;try{if("idle"!==R||M||te)return;B(""),X(""),T(null),J(null);const s=["Multiple Choice","Checkbox"];for(const e of v){if(m(e.input).length>e.maxLength&&!s.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 i=L.filter((e=>"finished"===e.status)),n=L.map((e=>e.name)),o=null!==(t=null===(e=null==I?void 0:I.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==t&&t,r=v.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),a=u(G).filter((e=>!n.includes(e)));if(a.length){const e=a[a.length-1];se(!0);const t=yield K(e);t&&(i.push(t),yield new Promise((e=>setTimeout(e,5e3)))),se(!1)}else if(r&&o&&!i.length)return void X("Please paste a valid website/video link or drag a file to add to the knowledge base.");const d=i.map((e=>e.documentId)).filter(Boolean),l=o&&d.length>0;let c={};v.forEach((e=>c=Object.assign(Object.assign({},c),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?i.map((e=>e.name)).join(",")||"":e.input}))),_("fetching"),Y(),F();const f=yield ee.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:O,valueObj:c},l&&{documentIds:d}),x&&{userId:x}),k&&{studioUserId:k}),w&&{embedUserId:w}),P&&{studioSessionToken:P}),y&&{deploymentId:y})),g=f.body;if(!g)throw new Error("Streaming error");const h=f.headers.get("X-Pickaxe-Response-Id");if(!h)throw new Error("Response ID not found");const b=new TextDecoder,j=g.getReader();let S="",C=!0,A=!1,U=[...null!=H?H:[]];const q=p({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");S+=t,J({formId:O,responseId:h,documentIds:d,questions:v.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:S,messageCount:0,sentAt:new Date}),(null==I?void 0:I.enablechatresponses)&&W([{id:0,role:"assistant",content:S}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Z(U),V.startsWith("inline")||$({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Z(U),V.startsWith("inline")||$({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);U=U.filter((e=>!(e.id===t.id&&e.version===t.version))),U.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Z(U),V.startsWith("inline")||$({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");U=U.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Z(U)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Z(U.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data);B(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(C=!1)}});for(;C;){const{value:e,done:t}=yield j.read();if(t){C=!1;break}const s=b.decode(e);s&&(A||(_("streaming"),A=!0,l&&Q([]),(null==I?void 0:I.enablechatresponses)&&(N(h),D(!1))),q.feed(s))}null==E||E(h)}catch(e){let t=h(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(U).find((([e])=>t.includes(e)));s?T(s[1]):B(t),F()}finally{_("idle"),se(!1),z()}}))},{children:te?(null==C?void 0:C.processing)||"Processing...":M?(null==C?void 0:C.uploading)||"Uploading...":"fetching"===R||"streaming"===R?(null==C?void 0:C.loading)||"Loading...":null!==(j=null==I?void 0:I.submittext)&&void 0!==j?j:"Submit"})),s(g,Object.assign({className:"min-h-[42px] px-5",isDisabled:M||"idle"!==R||q||te,onClick:b},{children:"Clear form"}))]})),!S.isWhiteLabel&&s(f,{containerClassName:"justify-end"})]}))};export{v as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useState as t,useEffect as r,Fragment as i}from"react";import{usePickaxeContext as p}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as s}from"../../../../hooks/pickaxe/useResponseContext.js";import n from"../../../Core/ErrorAlert.js";import d from"../../common/PickaxeUpgradeCard.js";import a from"./Input.js";import l from"./Option.js";import m from"./Document.js";import u from"./Checkbox.js";import c from"./Submit.js";const f=()=>{const{pickaxe:f,translations:x}=p(),{error:h}=s(),[g,j]=t([]),y=e=>{j((o=>o.map((o=>o.id===e.id?e:o))))};return r((()=>{if(!f)return;if(!f._questions)return;const e=new Date("2025-10-16T23:10:00Z"),o=!f.updatedAt||new Date(f.updatedAt)<e;j(f._questions.map(((e,t)=>{var r;let i="";if("Knowledge Upload"===e.type||"userinput:documentupload"===e.id)i="";else if("Multiple Choice"===e.type){const o=e.example.split("S3P32X");o.includes(i)||(i=o[0])}let p=e.secondary||"";return o&&(p=e.secondary||("Knowledge Upload"===e.type?null!==(r=null==x?void 0:x["form-doc-placeholder"])&&void 0!==r?r:"Paste a website/video link or drag a file":e.example)||""),Object.assign(Object.assign({order:t+1,id:e.id,type:e.type,main:e.main,example:e.example,input:i,length:0,maxLength:parseInt(e.answerlength),placeholder:p},e.isRequired&&{isRequired:"string"==typeof e.isRequired?"true"===e.isRequired:e.isRequired}),e.isDropdown&&{isDropdown:"string"==typeof e.isDropdown?"true"===e.isDropdown:e.isDropdown})})))}),[f]),e("div",Object.assign({className:"mt-8 flex flex-col gap-y-8 max-lg:px-4"},{children:[g.map(((e,t)=>"Multiple Choice"===e.type?o(i,{children:o(l,{field:e,update:y})},t):"Checkbox"===e.type?o(i,{children:o(u,{field:e,update:y})},t):"userinput:documentupload"===e.id?o(i,{children:o(m,{field:e,update:y})},t):o(i,{children:o(a,{field:e,update:y})},t))),o(n,{error:h}),o(d,{}),o(c,{questions:g,update:y})]}))};export{f as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as o,useMemo as r,useEffect as i,Fragment as s}from"react";import{usePickaxeContext as p}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import d from"../../../Core/ErrorAlert.js";import a from"../../common/PickaxeUpgradeCard.js";import l from"./Input.js";import m from"./Option.js";import u from"./Document.js";import c from"./Checkbox.js";import f from"./Submit.js";const x=()=>{const{pickaxe:x,translations:h}=p(),{error:g}=n(),[j,y]=o([]),[w,k]=o([]),q=e=>{y((t=>t.map((t=>t.id===e.id?e:t))))},C=r((()=>w),[w]);return i((()=>{if(!x)return;if(!x._questions)return;const e=new Date("2025-10-16T23:10:00Z"),t=!x.updatedAt||new Date(x.updatedAt)<e,o=x._questions.map(((e,o)=>{var r;let i="";if("Knowledge Upload"===e.type||"userinput:documentupload"===e.id)i="";else if("Multiple Choice"===e.type){const t=e.example.split("S3P32X");t.includes(i)||(i=t[0])}let s=e.secondary||"";return t&&(s=e.secondary||("Knowledge Upload"===e.type?null!==(r=null==h?void 0:h["form-doc-placeholder"])&&void 0!==r?r:"Paste a website/video link or drag a file":e.example)||""),Object.assign(Object.assign({order:o+1,id:e.id,type:e.type,main:e.main,example:e.example,input:i,length:0,maxLength:parseInt(e.answerlength),placeholder:s},e.isRequired&&{isRequired:"string"==typeof e.isRequired?"true"===e.isRequired:e.isRequired}),e.isDropdown&&{isDropdown:"string"==typeof e.isDropdown?"true"===e.isDropdown:e.isDropdown})}));y(o),k(o)}),[x]),e("div",Object.assign({className:"mt-8 flex flex-col gap-y-8 max-lg:px-4"},{children:[j.map(((e,o)=>"Multiple Choice"===e.type?t(s,{children:t(m,{field:e,update:q})},o):"Checkbox"===e.type?t(s,{children:t(c,{field:e,update:q})},o):"userinput:documentupload"===e.id?t(s,{children:t(u,{field:e,update:q})},o):t(s,{children:t(l,{field:e,update:q})},o))),t(d,{error:g}),t(a,{}),t(f,{questions:j,update:q,resetQuestions:()=>y(C)})]}))};export{x as default};
@@ -2,6 +2,7 @@ import type { MemoryStoredQuestionField } from "../../../../types/form";
2
2
  interface SubmitProps {
3
3
  questions: MemoryStoredQuestionField[];
4
4
  update: (questions: MemoryStoredQuestionField) => void;
5
+ resetQuestions: () => void;
5
6
  }
6
- declare const Submit: ({ questions }: SubmitProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const Submit: ({ questions, resetQuestions }: SubmitProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export default Submit;
@@ -3,7 +3,7 @@ export type PickaxeImageOrText = "text" | "image";
3
3
  export type PickaxePrivacySetting = "public" | "unlisted" | "private" | "deleted";
4
4
  export type PickaxeCloneable = "true" | "false";
5
5
  export type PickaxeDocumentUploadType = "ownerupload" | "enduserupload" | "enduserupload-user";
6
- export type PickaxeModel = "gpt-3.5-turbo" | "gpt-4-1106-preview" | "mistral-small" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-chat-latest" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4o-mini" | "gpt-4o" | "gpt-4" | "o3-mini" | "o1" | "o3" | "o4-mini" | "gemini-2.5-flash-preview-05-20" | "gemini-2.5-pro-preview-05-06" | "gemini-2.0-flash" | "gemini-2.0-flash-lite" | "gemini-1.5-pro" | "gemini-1.5-flash" | "deepseek-chat" | "mistral-large-latest" | "claude-sonnet-4-5-20250929" | "claude-opus-4-1-20250805" | "claude-opus-4-20250514" | "claude-sonnet-4-20250514" | "claude-3-7-sonnet-20250219" | "claude-3-opus-20240229" | "grok-4-fast-reasoning-latest" | "grok-4-fast-non-reasoning-latest" | "grok-4-latest" | "grok-3-latest" | "llama-3-uncensored" | "sonar" | "sonar-pro" | "sonar-reasoning" | "sonar-reasoning-pro" | "sonar-deep-research";
6
+ export type PickaxeModel = "gpt-3.5-turbo" | "gpt-4-1106-preview" | "mistral-small" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-chat-latest" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4o-mini" | "gpt-4o" | "gpt-4" | "o3-mini" | "o1" | "o3" | "o4-mini" | "gemini-2.5-flash-preview-05-20" | "gemini-2.5-pro-preview-05-06" | "gemini-2.0-flash" | "gemini-2.0-flash-lite" | "gemini-1.5-pro" | "gemini-1.5-flash" | "deepseek-chat" | "mistral-large-latest" | "claude-sonnet-4-5-20250929" | "claude-haiku-4-5-20251001" | "claude-opus-4-1-20250805" | "claude-opus-4-20250514" | "claude-sonnet-4-20250514" | "claude-3-7-sonnet-20250219" | "claude-3-opus-20240229" | "grok-4-fast-reasoning-latest" | "grok-4-fast-non-reasoning-latest" | "grok-4-latest" | "grok-3-latest" | "llama-3-uncensored" | "sonar" | "sonar-pro" | "sonar-reasoning" | "sonar-reasoning-pro" | "sonar-deep-research";
7
7
  export type Pickaxe = {
8
8
  _id: string;
9
9
  formid: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "3.22.0",
3
+ "version": "3.23.0",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",