@pickaxeproject/react 3.16.0 → 3.18.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.
- package/dist/cjs/common/documents.js +1 -1
- package/dist/cjs/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/cjs/src/types/pickaxe.d.ts +1 -1
- package/dist/esm/common/documents.js +1 -1
- package/dist/esm/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/esm/src/types/pickaxe.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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"],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"],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"),
|
|
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 +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("../../../hooks/pickaxe/useResponseContext.js"),r=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"),m=require("../../../hooks/pickaxe/useSpeechRecognition.js"),h=require("../../../hooks/core/useHover.js"),g=require("../../../common/documents.js"),v=require("eventsource-parser"),p=require("../../Icons/attach-vertical.svg.js"),j=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),b=require("../../Icons/stop.svg.js"),y=require("../Addons/Document/List.js"),k=require("../../Core/Textarea.js"),w=require("../../Core/ErrorAlert.js"),O=require("../../../common/error.js"),I=require("../../../common/cn.js");const S=({colors:e})=>{var s;return t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full",style:{backgroundColor:null!==(s=e.accent)&&void 0!==s?s:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm",style:{color:e.text+"90"}},{children:"Listening..."}))]}))},N=s.forwardRef((({onFocus:N,onBlur:C,onInputHeightChange:q},A)=>{var _,E,H;const{formId:T,chatId:D,userId:L,studioUserId:R,embedUserId:F,deploymentId:M,deploymentType:W,pickaxe:U,styles:B,colors:J,isNewChat:P,isRtl:$,studioLang:G,isEmailLogin:z,isShowFeedbackMessage:K,setIsNewChat:Q,setIsShowIceBreaker:V,onGenerateComplete:X}=n.usePickaxeContext(),{token:Y,isLoggedOut:Z,isSent:ee}=l.useAuthContext(),{messages:te,status:se,limits:ne,isGenerating:ie,setMessages:re,setStatus:oe,setLimitData:ae,setError:le}=i.useResponseContext(),{documents:ce,isUploading:ue,isImageUploadAllowed:de,documentError:fe,onFileUpload:me,setDocuments:he,setDocumentError:ge}=u.useDocument(),{scrollStartSession:ve,scrollEndSession:pe,scrollToBottom:je}=d.useScroll({auto:!0}),{artifacts:xe,currentPopupType:be,setArtifacts:ye,setCurrentArtifact:ke}=f.useArtifactContext(),we=a.useConversation(),Oe=c.useSubmit(),[Ie,Se]=s.useState(""),Ne=s.useRef(null),{isSupported:Ce,isListening:qe,finalTranscript:Ae,interimTranscript:_e,startListening:Ee,stopListening:He}=m.useSpeechRecognition({lang:G||"en"}),Te=s.useRef(""),De=h.useHover(),{isHover:Le}=De,Re=e.__rest(De,["isHover"]),Fe=h.useHover(),{isHover:Me}=Fe,We=e.__rest(Fe,["isHover"]),Ue=h.useHover(),{isHover:Be}=Ue,Je=e.__rest(Ue,["isHover"]),Pe=h.useHover(),{isHover:$e}=Pe,Ge=e.__rest(Pe,["isHover"]),ze=o.useStyleFontSize(),Ke=r.useStyleInput(),Qe="chat-input"===W&&P&&!ee,Ve="chat-input"===W&&z&&Z&&ee,Xe=s.useMemo((()=>{var e,t,s;return!!P&&(!!U&&(!we.isLoading&&(!((null!==(t=null===(e=we.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=U.icebreakers)||void 0===s?void 0:s.length)&&(!K&&!Qe)))))}),[U,P,K,Qe,we.data,we.isLoading]),Ye=s.useMemo((()=>{if(ie||ue)return!1;const e=ce.length>0&&ce.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!Ie.trim()&&!e)&&ce.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[ie,ue,Ie,ce]);s.useEffect((()=>{V(Xe)}),[Xe]),s.useEffect((()=>{if(!qe)return;const e=`${Te.current} ${Ae} ${_e}`.trim();Se(e)}),[Ae,_e,qe]),s.useEffect((()=>{!qe&&Te.current&&(Se(`${Te.current} ${Ae}`.trim()),Te.current="")}),[qe,Ae]);const Ze=t=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,s;try{if("idle"!==se||ue||qe)return;const n=ce.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),i=n.length>0&&n.every((e=>e.startsWith("IMAGE-"))),r=null!=t?t:Ie;if(!r&&!i)return;le(""),ge(""),ae(null),Se(""),Q(!1),oe("fetching"),ve(),je();const o=null!==(s=null===(e=null==U?void 0:U.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==s&&s&&n.length>0,a=[...Array.from(te),Object.assign({id:te.length+1,role:"user",content:r},o&&{documentIds:n})];re(a),je(),o&&he([]);const l=(yield Oe.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:T,responseId:D,value:r},o&&{documentIds:n}),L&&{userId:L}),R&&{studioUserId:R}),F&&{embedUserId:F}),Y&&{studioSessionToken:Y}),M&&{deploymentId:M}))).body;if(!l)throw new Error("Streaming error");const c=a.length,u=new TextDecoder,d=l.getReader();let f="",m=!0,h=!1,g=[...null!=xe?xe:[]];const p=v.createParser({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");f+=t,re([...a.slice(0,c),{id:te.length+1,role:"assistant",content:f}])}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"})),ye(g),be.startsWith("inline")||ke({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"})),ye(g),be.startsWith("inline")||ke({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"})),ye(g),be.startsWith("inline")||ke({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");g=g.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),ye(g)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ye(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);le(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(m=!1)}});for(;m;){const{value:e,done:t}=yield d.read();if(t){m=!1;break}const s=u.decode(e);s&&(h||(oe("streaming"),h=!0),p.feed(s))}null==X||X(D)}catch(e){let t=O.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(ne).find((([e])=>t.includes(e)));s?ae(s[1]):le(t)}finally{je(),oe("idle"),pe()}}));return s.useImperativeHandle(A,(()=>({onSubmit:Ze}))),Ve?null:t.jsx("div",Object.assign({className:I.default("w-full flex flex-col items-center absolute bottom-0 left-0 z-1",!Qe&&"px-4 pb-4"),dir:$?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[t.jsxs("div",Object.assign({className:I.default("flex flex-col gap-y-3 px-4 py-3","block"===B.formFieldStyle&&"shadow"),style:Ke},{children:[qe&&t.jsx(S,{colors:J}),"idle"===se&&ce.length>0&&t.jsx(y.default,{isDisabled:"idle"!==se}),t.jsxs("div",Object.assign({className:I.default("flex items-end gap-x-2",$&&"flex-row-reverse")},{children:[t.jsx(k.default,Object.assign({className:I.default(ze.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!Ie.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",$?"text-right":"text-left",qe&&"text-transparent"),value:Ie,placeholder:null!==(_=null==U?void 0:U.placeholdertext)&&void 0!==_?_:$?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(Se(e),q){const t=(e.match(/\n/g)||[]).length+1;if(t>=11)return;q(24*(t-1))}},onKeyDown:e=>{"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ue||"idle"!==se||Ze()))}},N&&{onFocus:N},C&&{onBlur:C},{dir:$?"rtl":"ltr"})),t.jsx("div",Object.assign({className:"flex items-center gap-x-2"},{children:qe?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:He,style:{backgroundColor:$e?J.accent:J.accent+"10",color:$e?J.accentText:J.accent}},Ge,{children:t.jsx(b.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[null!==(H=null===(E=null==U?void 0:U.documentuploadtype)||void 0===E?void 0:E.startsWith("enduserupload"))&&void 0!==H&&H&&t.jsxs("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full transition-colors duration-200 ease-in-out",style:{backgroundColor:Me?J.accent+"10":void 0,color:Me?J.accent:J.accent+"80"},disabled:ue||"idle"!==se,onClick:()=>{var e;return null===(e=Ne.current)||void 0===e?void 0:e.click()}},We,{children:[t.jsx("input",{id:"file-upload",ref:Ne,type:"file",accept:[...g.allowedFileMimeTypes,...de?g.allowedImageMimeTypes:[],...g.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){Q(!1),yield me(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(p.default,{className:"h-6 w-6 shrink-0"})]})),Ce&&(null==U?void 0:U.enablevoicetotext)&&t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center \n justify-center rounded-full\n outline-none transition-colors \n duration-200 ease-in-out\n disabled:cursor-default",style:{backgroundColor:qe?J.accent:Be?J.accent+"10":void 0,color:qe?J.accentText:Be?J.accent:J.accent+"80"},disabled:ue||"idle"!==se,onClick:()=>{qe?He():(Te.current=Ie,Ee())}},Je,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full duration-200 transition-colors ease-in-out",style:{backgroundColor:Le||Ye?J.accent:J.accent+"10",color:Le||Ye?J.accentText:J.accent+"80"},disabled:"idle"!==se||ue,onClick:()=>Ze()},Re,{children:t.jsx(j.default,{className:I.default("h-6 w-6 shrink-0",$&&"transform scale-x-[-1]")})}))]})}))]}))]})),fe&&t.jsx(w.default,{error:fe,className:"mt-3"})]}))}))}));N.displayName="Input",exports.default=N;
|
|
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("../../../hooks/pickaxe/useResponseContext.js"),r=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"),m=require("../../../hooks/pickaxe/useSpeechRecognition.js"),h=require("../../../hooks/core/useHover.js"),g=require("../../../hooks/core/useMediaQuery.js"),v=require("../../../common/documents.js"),p=require("eventsource-parser"),x=require("../../Icons/attach-vertical.svg.js"),j=require("../../Icons/arrow-right.svg.js"),b=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"),I=require("../../../common/error.js"),S=require("../../../common/cn.js");const N=({colors:e})=>{var s;return t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full",style:{backgroundColor:null!==(s=e.accent)&&void 0!==s?s:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm",style:{color:e.text+"90"}},{children:"Listening..."}))]}))},C=s.forwardRef((({onFocus:C,onBlur:q,onInputHeightChange:A},_)=>{var E,H,T;const{formId:M,chatId:D,userId:L,studioUserId:R,embedUserId:F,deploymentId:W,deploymentType:U,pickaxe:B,styles:J,colors:P,studioLang:$,forceMobile:G,isNewChat:z,isRtl:K,isEmailLogin:Q,isShowFeedbackMessage:V,setIsNewChat:X,setIsShowIceBreaker:Y,onGenerateComplete:Z}=n.usePickaxeContext(),{token:ee,isLoggedOut:te,isSent:se}=l.useAuthContext(),{messages:ne,status:ie,limits:re,isGenerating:oe,setMessages:ae,setStatus:le,setLimitData:ce,setError:ue}=i.useResponseContext(),{documents:de,isUploading:fe,isImageUploadAllowed:me,documentError:he,onFileUpload:ge,setDocuments:ve,setDocumentError:pe}=u.useDocument(),{scrollStartSession:xe,scrollEndSession:je,scrollToBottom:be}=d.useScroll({auto:!0}),{artifacts:ye,currentPopupType:ke,setArtifacts:we,setCurrentArtifact:Oe}=f.useArtifactContext(),Ie=a.useConversation(),Se=c.useSubmit(),[Ne,Ce]=s.useState(""),qe=s.useRef(null),Ae=s.useRef(""),{isSupported:_e,isListening:Ee,finalTranscript:He,interimTranscript:Te,startListening:Me,stopListening:De}=m.useSpeechRecognition({lang:$||"en"}),[Le]=g.useMediaQuery("(max-width: 899px)"),Re=h.useHover(),{isHover:Fe}=Re,We=e.__rest(Re,["isHover"]),Ue=h.useHover(),{isHover:Be}=Ue,Je=e.__rest(Ue,["isHover"]),Pe=h.useHover(),{isHover:$e}=Pe,Ge=e.__rest(Pe,["isHover"]),ze=h.useHover(),{isHover:Ke}=ze,Qe=e.__rest(ze,["isHover"]),Ve=o.useStyleFontSize(),Xe=r.useStyleInput(),Ye="chat-input"===U&&z&&!se,Ze="chat-input"===U&&Q&&te&&se,et=s.useMemo((()=>{var e,t,s;return!!z&&(!!B&&(!Ie.isLoading&&(!((null!==(t=null===(e=Ie.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=B.icebreakers)||void 0===s?void 0:s.length)&&(!V&&!Ye)))))}),[B,z,V,Ye,Ie.data,Ie.isLoading]),tt=s.useMemo((()=>{if(oe||fe)return!1;const e=de.length>0&&de.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!Ne.trim()&&!e)&&de.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[oe,fe,Ne,de]);s.useEffect((()=>{Y(et)}),[et]),s.useEffect((()=>{if(!Ee)return;const e=`${Ae.current} ${He} ${Te}`.trim();Ce(e)}),[He,Te,Ee]),s.useEffect((()=>{!Ee&&Ae.current&&(Ce(`${Ae.current} ${He}`.trim()),Ae.current="")}),[Ee,He]);const st=t=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,s;try{if("idle"!==ie||fe||Ee)return;const n=de.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),i=n.length>0&&n.every((e=>e.startsWith("IMAGE-"))),r=null!=t?t:Ne;if(!r&&!i)return;ue(""),pe(""),ce(null),Ce(""),X(!1),le("fetching"),xe(),be();const o=null!==(s=null===(e=null==B?void 0:B.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==s&&s&&n.length>0,a=[...Array.from(ne),Object.assign({id:ne.length+1,role:"user",content:r},o&&{documentIds:n})];ae(a),be(),o&&ve([]);const l=(yield Se.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:M,responseId:D,value:r},o&&{documentIds:n}),L&&{userId:L}),R&&{studioUserId:R}),F&&{embedUserId:F}),ee&&{studioSessionToken:ee}),W&&{deploymentId:W}))).body;if(!l)throw new Error("Streaming error");const c=a.length,u=new TextDecoder,d=l.getReader();let f="",m=!0,h=!1,g=[...null!=ye?ye:[]];const v=p.createParser({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");f+=t,ae([...a.slice(0,c),{id:ne.length+1,role:"assistant",content:f}])}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"})),we(g),ke.startsWith("inline")||Oe({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"})),we(g),ke.startsWith("inline")||Oe({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"})),we(g),ke.startsWith("inline")||Oe({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)),we(g)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);we(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);ue(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(m=!1)}});for(;m;){const{value:e,done:t}=yield d.read();if(t){m=!1;break}const s=u.decode(e);s&&(h||(le("streaming"),h=!0),v.feed(s))}null==Z||Z(D)}catch(e){let t=I.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?ce(s[1]):ue(t)}finally{be(),le("idle"),je()}}));return s.useImperativeHandle(_,(()=>({onSubmit:st}))),Ze?null:t.jsx("div",Object.assign({className:S.default("w-full flex flex-col items-center absolute bottom-0 left-0 z-1",!Ye&&"px-4 pb-4"),dir:K?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[t.jsxs("div",Object.assign({className:S.default("flex flex-col gap-y-3 px-4 py-3","block"===J.formFieldStyle&&"shadow"),style:Xe},{children:[Ee&&t.jsx(N,{colors:P}),"idle"===ie&&de.length>0&&t.jsx(k.default,{isDisabled:"idle"!==ie}),t.jsxs("div",Object.assign({className:S.default("flex items-end gap-x-2",K&&"flex-row-reverse")},{children:[t.jsx(w.default,Object.assign({className:S.default(Ve.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!Ne.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",K?"text-right":"text-left",Ee&&"text-transparent"),value:Ne,placeholder:null!==(E=null==B?void 0:B.placeholdertext)&&void 0!==E?E:K?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(Ce(e),A){const t=(e.match(/\n/g)||[]).length+1;if(t>=11)return;A(24*(t-1))}},onKeyDown:e=>{G||Le||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),fe||"idle"!==ie||st()))}},C&&{onFocus:C},q&&{onBlur:q},{dir:K?"rtl":"ltr"})),t.jsx("div",Object.assign({className:"flex items-center gap-x-2"},{children:Ee?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:De,style:{backgroundColor:Ke?P.accent:P.accent+"10",color:Ke?P.accentText:P.accent}},Qe,{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[null!==(T=null===(H=null==B?void 0:B.documentuploadtype)||void 0===H?void 0:H.startsWith("enduserupload"))&&void 0!==T&&T&&t.jsxs("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full transition-colors duration-200 ease-in-out",style:{backgroundColor:Be?P.accent+"10":void 0,color:Be?P.accent:P.accent+"80"},disabled:fe||"idle"!==ie,onClick:()=>{var e;return null===(e=qe.current)||void 0===e?void 0:e.click()}},Je,{children:[t.jsx("input",{id:"file-upload",ref:qe,type:"file",accept:[...v.allowedFileMimeTypes,...me?v.allowedImageMimeTypes:[],...v.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){X(!1),yield ge(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(x.default,{className:"h-6 w-6 shrink-0"})]})),_e&&(null==B?void 0:B.enablevoicetotext)&&t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center \n justify-center rounded-full\n outline-none transition-colors \n duration-200 ease-in-out\n disabled:cursor-default",style:{backgroundColor:Ee?P.accent:$e?P.accent+"10":void 0,color:Ee?P.accentText:$e?P.accent:P.accent+"80"},disabled:fe||"idle"!==ie,onClick:()=>{Ee?De():(Ae.current=Ne,Me())}},Ge,{children:t.jsx(b.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full duration-200 transition-colors ease-in-out",style:{backgroundColor:Fe||tt?P.accent:P.accent+"10",color:Fe||tt?P.accentText:P.accent+"80"},disabled:"idle"!==ie||fe,onClick:()=>st()},We,{children:t.jsx(j.default,{className:S.default("h-6 w-6 shrink-0",K&&"transform scale-x-[-1]")})}))]})}))]}))]})),he&&t.jsx(O.default,{error:he,className:"mt-3"})]}))}))}));C.displayName="Input",exports.default=C;
|
|
@@ -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" | "
|
|
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";
|
|
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"],
|
|
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"],t=["image/png","image/jpeg","image/webp","image/gif"],o=[".md"];export{o as additionalAllowedFileExtensions,e as allowedFileMimeTypes,t as allowedImageMimeTypes};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{useMemo as t}from"react";import{usePickaxeContext as
|
|
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 +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 i,useState as r,useRef as a,useMemo as l,useEffect as c,useImperativeHandle 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 h}from"../../../hooks/pickaxe/useConversation.js";import{useAuthContext as g}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 x}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useSpeechRecognition as k}from"../../../hooks/pickaxe/useSpeechRecognition.js";import{useHover as y}from"../../../hooks/core/useHover.js";import{allowedFileMimeTypes as O,allowedImageMimeTypes as w,additionalAllowedFileExtensions as I}from"../../../common/documents.js";import{createParser as N}from"eventsource-parser";import S from"../../Icons/attach-vertical.svg.js";import C from"../../Icons/arrow-right.svg.js";import A from"../../Icons/microphone.svg.js";import E from"../../Icons/stop.svg.js";import L from"../Addons/Document/List.js";import T from"../../Core/Textarea.js";import D from"../../Core/ErrorAlert.js";import H from"../../../common/error.js";import W from"../../../common/cn.js";const U=({colors:e})=>{var t;return n("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 items-center gap-x-2"},{children:[s("span",{className:"h-2 w-2 animate-pulse rounded-full",style:{backgroundColor:null!==(t=e.accent)&&void 0!==t?t:"#ff0000"}}),s("span",Object.assign({className:"text-sm",style:{color:e.text+"90"}},{children:"Listening..."}))]}))},B=i((({onFocus:i,onBlur:B,onInputHeightChange:J},_)=>{var F,R,$;const{formId:G,chatId:M,userId:P,studioUserId:z,embedUserId:K,deploymentId:q,deploymentType:Q,pickaxe:V,styles:X,colors:Y,isNewChat:Z,isRtl:ee,studioLang:te,isEmailLogin:se,isShowFeedbackMessage:ne,setIsNewChat:oe,setIsShowIceBreaker:ie,onGenerateComplete:re}=u(),{token:ae,isLoggedOut:le,isSent:ce}=g(),{messages:de,status:ue,limits:me,isGenerating:fe,setMessages:pe,setStatus:he,setLimitData:ge,setError:ve}=m(),{documents:be,isUploading:je,isImageUploadAllowed:xe,documentError:ke,onFileUpload:ye,setDocuments:Oe,setDocumentError:we}=b(),{scrollStartSession:Ie,scrollEndSession:Ne,scrollToBottom:Se}=j({auto:!0}),{artifacts:Ce,currentPopupType:Ae,setArtifacts:Ee,setCurrentArtifact:Le}=x(),Te=h(),De=v(),[He,We]=r(""),Ue=a(null),{isSupported:Be,isListening:Je,finalTranscript:_e,interimTranscript:Fe,startListening:Re,stopListening:$e}=k({lang:te||"en"}),Ge=a(""),Me=y(),{isHover:Pe}=Me,ze=e(Me,["isHover"]),Ke=y(),{isHover:qe}=Ke,Qe=e(Ke,["isHover"]),Ve=y(),{isHover:Xe}=Ve,Ye=e(Ve,["isHover"]),Ze=y(),{isHover:et}=Ze,tt=e(Ze,["isHover"]),st=p(),nt=f(),ot="chat-input"===Q&&Z&&!ce,it="chat-input"===Q&&se&&le&&ce,rt=l((()=>{var e,t,s;return!!Z&&(!!V&&(!Te.isLoading&&(!((null!==(t=null===(e=Te.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)&&(!ne&&!ot)))))}),[V,Z,ne,ot,Te.data,Te.isLoading]),at=l((()=>{if(fe||je)return!1;const e=be.length>0&&be.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!He.trim()&&!e)&&be.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[fe,je,He,be]);c((()=>{ie(rt)}),[rt]),c((()=>{if(!Je)return;const e=`${Ge.current} ${_e} ${Fe}`.trim();We(e)}),[_e,Fe,Je]),c((()=>{!Je&&Ge.current&&(We(`${Ge.current} ${_e}`.trim()),Ge.current="")}),[Je,_e]);const lt=e=>t(void 0,void 0,void 0,(function*(){var t,s;try{if("idle"!==ue||je||Je)return;const n=be.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),o=n.length>0&&n.every((e=>e.startsWith("IMAGE-"))),i=null!=e?e:He;if(!i&&!o)return;ve(""),we(""),ge(null),We(""),oe(!1),he("fetching"),Ie(),Se();const r=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(de),Object.assign({id:de.length+1,role:"user",content:i},r&&{documentIds:n})];pe(a),Se(),r&&Oe([]);const l=(yield De.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:G,responseId:M,value:i},r&&{documentIds:n}),P&&{userId:P}),z&&{studioUserId:z}),K&&{embedUserId:K}),ae&&{studioSessionToken:ae}),q&&{deploymentId:q}))).body;if(!l)throw new Error("Streaming error");const c=a.length,d=new TextDecoder,u=l.getReader();let m="",f=!0,p=!1,h=[...null!=Ce?Ce:[]];const g=N({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");m+=t,pe([...a.slice(0,c),{id:de.length+1,role:"assistant",content:m}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ee(h),Ae.startsWith("inline")||Le({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ee(h),Ae.startsWith("inline")||Le({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ee(h),Ae.startsWith("inline")||Le({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");h=h.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Ee(h)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ee(h.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);ve(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(f=!1)}});for(;f;){const{value:e,done:t}=yield u.read();if(t){f=!1;break}const s=d.decode(e);s&&(p||(he("streaming"),p=!0),g.feed(s))}null==re||re(M)}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(me).find((([e])=>t.includes(e)));s?ge(s[1]):ve(t)}finally{Se(),he("idle"),Ne()}}));return d(_,(()=>({onSubmit:lt}))),it?null:s("div",Object.assign({className:W("w-full flex flex-col items-center absolute bottom-0 left-0 z-1",!ot&&"px-4 pb-4"),dir:ee?"rtl":"ltr"},{children:n("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[n("div",Object.assign({className:W("flex flex-col gap-y-3 px-4 py-3","block"===X.formFieldStyle&&"shadow"),style:nt},{children:[Je&&s(U,{colors:Y}),"idle"===ue&&be.length>0&&s(L,{isDisabled:"idle"!==ue}),n("div",Object.assign({className:W("flex items-end gap-x-2",ee&&"flex-row-reverse")},{children:[s(T,Object.assign({className:W(st.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!He.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",ee?"text-right":"text-left",Je&&"text-transparent"),value:He,placeholder:null!==(F=null==V?void 0:V.placeholdertext)&&void 0!==F?F:ee?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(We(e),J){const t=(e.match(/\n/g)||[]).length+1;if(t>=11)return;J(24*(t-1))}},onKeyDown:e=>{"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),je||"idle"!==ue||lt()))}},i&&{onFocus:i},B&&{onBlur:B},{dir:ee?"rtl":"ltr"})),s("div",Object.assign({className:"flex items-center gap-x-2"},{children:Je?s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:$e,style:{backgroundColor:et?Y.accent:Y.accent+"10",color:et?Y.accentText:Y.accent}},tt,{children:s(E,{className:"h-4 w-4 shrink-0"})})):n(o,{children:[null!==($=null===(R=null==V?void 0:V.documentuploadtype)||void 0===R?void 0:R.startsWith("enduserupload"))&&void 0!==$&&$&&n("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full transition-colors duration-200 ease-in-out",style:{backgroundColor:qe?Y.accent+"10":void 0,color:qe?Y.accent:Y.accent+"80"},disabled:je||"idle"!==ue,onClick:()=>{var e;return null===(e=Ue.current)||void 0===e?void 0:e.click()}},Qe,{children:[s("input",{id:"file-upload",ref:Ue,type:"file",accept:[...O,...xe?w:[],...I].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){oe(!1),yield ye(Array.from(e.target.files||[])),e.target.value=""}))}),s(S,{className:"h-6 w-6 shrink-0"})]})),Be&&(null==V?void 0:V.enablevoicetotext)&&s("button",Object.assign({className:"flex h-8 w-8 items-center \n justify-center rounded-full\n outline-none transition-colors \n duration-200 ease-in-out\n disabled:cursor-default",style:{backgroundColor:Je?Y.accent:Xe?Y.accent+"10":void 0,color:Je?Y.accentText:Xe?Y.accent:Y.accent+"80"},disabled:je||"idle"!==ue,onClick:()=>{Je?$e():(Ge.current=He,Re())}},Ye,{children:s(A,{className:"h-5 w-5 shrink-0"})})),s("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full duration-200 transition-colors ease-in-out",style:{backgroundColor:Pe||at?Y.accent:Y.accent+"10",color:Pe||at?Y.accentText:Y.accent+"80"},disabled:"idle"!==ue||je,onClick:()=>lt()},ze,{children:s(C,{className:W("h-6 w-6 shrink-0",ee&&"transform scale-x-[-1]")})}))]})}))]}))]})),ke&&s(D,{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 s,jsxs as o,Fragment as n}from"react/jsx-runtime";import{forwardRef as i,useState as r,useRef as a,useMemo as l,useEffect as c,useImperativeHandle 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 h}from"../../../hooks/pickaxe/useConversation.js";import{useAuthContext as g}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 x}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useSpeechRecognition as k}from"../../../hooks/pickaxe/useSpeechRecognition.js";import{useHover as y}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 E from"../../Icons/microphone.svg.js";import L from"../../Icons/stop.svg.js";import T from"../Addons/Document/List.js";import D from"../../Core/Textarea.js";import H from"../../Core/ErrorAlert.js";import W from"../../../common/error.js";import U from"../../../common/cn.js";const B=({colors:e})=>{var t;return o("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 items-center gap-x-2"},{children:[s("span",{className:"h-2 w-2 animate-pulse rounded-full",style:{backgroundColor:null!==(t=e.accent)&&void 0!==t?t:"#ff0000"}}),s("span",Object.assign({className:"text-sm",style:{color:e.text+"90"}},{children:"Listening..."}))]}))},J=i((({onFocus:i,onBlur:J,onInputHeightChange:_},F)=>{var M,R,$;const{formId:G,chatId:P,userId:z,studioUserId:K,embedUserId:Q,deploymentId:q,deploymentType:V,pickaxe:X,styles:Y,colors:Z,studioLang:ee,forceMobile:te,isNewChat:se,isRtl:oe,isEmailLogin:ne,isShowFeedbackMessage:ie,setIsNewChat:re,setIsShowIceBreaker:ae,onGenerateComplete:le}=u(),{token:ce,isLoggedOut:de,isSent:ue}=g(),{messages:me,status:fe,limits:pe,isGenerating:he,setMessages:ge,setStatus:ve,setLimitData:be,setError:je}=m(),{documents:xe,isUploading:ke,isImageUploadAllowed:ye,documentError:Oe,onFileUpload:we,setDocuments:Ie,setDocumentError:Ne}=b(),{scrollStartSession:Se,scrollEndSession:Ce,scrollToBottom:Ae}=j({auto:!0}),{artifacts:Ee,currentPopupType:Le,setArtifacts:Te,setCurrentArtifact:De}=x(),He=h(),We=v(),[Ue,Be]=r(""),Je=a(null),_e=a(""),{isSupported:Fe,isListening:Me,finalTranscript:Re,interimTranscript:$e,startListening:Ge,stopListening:Pe}=k({lang:ee||"en"}),[ze]=O("(max-width: 899px)"),Ke=y(),{isHover:Qe}=Ke,qe=e(Ke,["isHover"]),Ve=y(),{isHover:Xe}=Ve,Ye=e(Ve,["isHover"]),Ze=y(),{isHover:et}=Ze,tt=e(Ze,["isHover"]),st=y(),{isHover:ot}=st,nt=e(st,["isHover"]),it=p(),rt=f(),at="chat-input"===V&&se&&!ue,lt="chat-input"===V&&ne&&de&&ue,ct=l((()=>{var e,t,s;return!!se&&(!!X&&(!He.isLoading&&(!((null!==(t=null===(e=He.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=X.icebreakers)||void 0===s?void 0:s.length)&&(!ie&&!at)))))}),[X,se,ie,at,He.data,He.isLoading]),dt=l((()=>{if(he||ke)return!1;const e=xe.length>0&&xe.every((e=>{var t;return"finished"===e.status&&(null===(t=e.documentId)||void 0===t?void 0:t.startsWith("IMAGE-"))}));return!(!Ue.trim()&&!e)&&xe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[he,ke,Ue,xe]);c((()=>{ae(ct)}),[ct]),c((()=>{if(!Me)return;const e=`${_e.current} ${Re} ${$e}`.trim();Be(e)}),[Re,$e,Me]),c((()=>{!Me&&_e.current&&(Be(`${_e.current} ${Re}`.trim()),_e.current="")}),[Me,Re]);const ut=e=>t(void 0,void 0,void 0,(function*(){var t,s;try{if("idle"!==fe||ke||Me)return;const o=xe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),n=o.length>0&&o.every((e=>e.startsWith("IMAGE-"))),i=null!=e?e:Ue;if(!i&&!n)return;je(""),Ne(""),be(null),Be(""),re(!1),ve("fetching"),Se(),Ae();const r=null!==(s=null===(t=null==X?void 0:X.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&o.length>0,a=[...Array.from(me),Object.assign({id:me.length+1,role:"user",content:i},r&&{documentIds:o})];ge(a),Ae(),r&&Ie([]);const l=(yield We.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:G,responseId:P,value:i},r&&{documentIds:o}),z&&{userId:z}),K&&{studioUserId:K}),Q&&{embedUserId:Q}),ce&&{studioSessionToken:ce}),q&&{deploymentId:q}))).body;if(!l)throw new Error("Streaming error");const c=a.length,d=new TextDecoder,u=l.getReader();let m="",f=!0,p=!1,h=[...null!=Ee?Ee:[]];const g=S({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");m+=t,ge([...a.slice(0,c),{id:me.length+1,role:"assistant",content:m}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Te(h),Le.startsWith("inline")||De({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Te(h),Le.startsWith("inline")||De({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);h=h.filter((e=>!(e.id===t.id&&e.version===t.version))),h.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Te(h),Le.startsWith("inline")||De({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");h=h.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Te(h)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Te(h.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);je(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(f=!1)}});for(;f;){const{value:e,done:t}=yield u.read();if(t){f=!1;break}const s=d.decode(e);s&&(p||(ve("streaming"),p=!0),g.feed(s))}null==le||le(P)}catch(e){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 s=Object.entries(pe).find((([e])=>t.includes(e)));s?be(s[1]):je(t)}finally{Ae(),ve("idle"),Ce()}}));return d(F,(()=>({onSubmit:ut}))),lt?null:s("div",Object.assign({className:U("w-full flex flex-col items-center absolute bottom-0 left-0 z-1",!at&&"px-4 pb-4"),dir:oe?"rtl":"ltr"},{children:o("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[o("div",Object.assign({className:U("flex flex-col gap-y-3 px-4 py-3","block"===Y.formFieldStyle&&"shadow"),style:rt},{children:[Me&&s(B,{colors:Z}),"idle"===fe&&xe.length>0&&s(T,{isDisabled:"idle"!==fe}),o("div",Object.assign({className:U("flex items-end gap-x-2",oe&&"flex-row-reverse")},{children:[s(D,Object.assign({className:U(it.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!Ue.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",oe?"text-right":"text-left",Me&&"text-transparent"),value:Ue,placeholder:null!==(M=null==X?void 0:X.placeholdertext)&&void 0!==M?M:oe?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>{if(Be(e),_){const t=(e.match(/\n/g)||[]).length+1;if(t>=11)return;_(24*(t-1))}},onKeyDown:e=>{te||ze||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ke||"idle"!==fe||ut()))}},i&&{onFocus:i},J&&{onBlur:J},{dir:oe?"rtl":"ltr"})),s("div",Object.assign({className:"flex items-center gap-x-2"},{children:Me?s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Pe,style:{backgroundColor:ot?Z.accent:Z.accent+"10",color:ot?Z.accentText:Z.accent}},nt,{children:s(L,{className:"h-4 w-4 shrink-0"})})):o(n,{children:[null!==($=null===(R=null==X?void 0:X.documentuploadtype)||void 0===R?void 0:R.startsWith("enduserupload"))&&void 0!==$&&$&&o("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full transition-colors duration-200 ease-in-out",style:{backgroundColor:Xe?Z.accent+"10":void 0,color:Xe?Z.accent:Z.accent+"80"},disabled:ke||"idle"!==fe,onClick:()=>{var e;return null===(e=Je.current)||void 0===e?void 0:e.click()}},Ye,{children:[s("input",{id:"file-upload",ref:Je,type:"file",accept:[...w,...ye?I:[],...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){re(!1),yield we(Array.from(e.target.files||[])),e.target.value=""}))}),s(C,{className:"h-6 w-6 shrink-0"})]})),Fe&&(null==X?void 0:X.enablevoicetotext)&&s("button",Object.assign({className:"flex h-8 w-8 items-center \n justify-center rounded-full\n outline-none transition-colors \n duration-200 ease-in-out\n disabled:cursor-default",style:{backgroundColor:Me?Z.accent:et?Z.accent+"10":void 0,color:Me?Z.accentText:et?Z.accent:Z.accent+"80"},disabled:ke||"idle"!==fe,onClick:()=>{Me?Pe():(_e.current=Ue,Ge())}},tt,{children:s(E,{className:"h-5 w-5 shrink-0"})})),s("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full duration-200 transition-colors ease-in-out",style:{backgroundColor:Qe||dt?Z.accent:Z.accent+"10",color:Qe||dt?Z.accentText:Z.accent+"80"},disabled:"idle"!==fe||ke,onClick:()=>ut()},qe,{children:s(A,{className:U("h-6 w-6 shrink-0",oe&&"transform scale-x-[-1]")})}))]})}))]}))]})),Oe&&s(H,{error:Oe,className:"mt-3"})]}))}))}));J.displayName="Input";export{J as default};
|
|
@@ -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" | "
|
|
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";
|
|
7
7
|
export type Pickaxe = {
|
|
8
8
|
_id: string;
|
|
9
9
|
formid: string;
|