@pickaxeproject/react 2.7.3 → 2.8.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/README.md +9 -0
- package/dist/cjs/components/Icons/{link.svg.js → circle-info.svg.js} +1 -1
- package/dist/cjs/components/Pickaxe/Addons/Document/List.js +1 -0
- package/dist/cjs/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
- package/dist/cjs/components/Pickaxe/Addons/Document/hooks/useDocumentData.js +1 -0
- package/dist/cjs/components/Pickaxe/Chat/History/Document.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/Questions/Document.js +1 -1
- package/dist/cjs/components/Pickaxe/Provider.js +1 -1
- package/dist/cjs/src/components/Pickaxe/Addons/Document/List.d.ts +2 -1
- package/dist/esm/components/Icons/{link.svg.js → circle-info.svg.js} +1 -1
- package/dist/esm/components/Pickaxe/Addons/Document/List.js +1 -0
- package/dist/esm/components/Pickaxe/Addons/Document/hooks/useDocument.js +1 -1
- package/dist/esm/components/Pickaxe/Addons/Document/hooks/useDocumentData.js +1 -0
- package/dist/esm/components/Pickaxe/Chat/History/Document.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/esm/components/Pickaxe/Form/Questions/Document.js +1 -1
- package/dist/esm/components/Pickaxe/Provider.js +1 -1
- package/dist/esm/src/components/Pickaxe/Addons/Document/List.d.ts +2 -1
- package/package.json +1 -1
- package/dist/cjs/hooks/pickaxe/useDocumentData.js +0 -1
- package/dist/esm/hooks/pickaxe/useDocumentData.js +0 -1
- /package/dist/cjs/src/{hooks/pickaxe → components/Pickaxe/Addons/Document/hooks}/useDocumentData.d.ts +0 -0
- /package/dist/esm/src/{hooks/pickaxe → components/Pickaxe/Addons/Document/hooks}/useDocumentData.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r,t=e(require("react"));function n(){return n=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(null,arguments)}var o=e=>t.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0
|
|
1
|
+
"use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r,t=e(require("react"));function n(){return n=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(null,arguments)}var o=e=>t.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22"},e),r||(r=t.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 21c5.523 0 10-4.477 10-10S16.523 1 11 1 1 5.477 1 11s4.477 10 10 10M11 15v-4M11 7h.01"})));exports.default=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/studio/useStyleFontSize.js"),a=require("./hooks/useDocument.js"),l=require("../../../../common/utils.js"),i=require("../../../Icons/spinner-lines.svg.js"),o=require("../../../Icons/file.svg.js"),c=require("../../../Icons/x.svg.js"),n=require("../../../Icons/circle-info.svg.js"),u=require("../../../../common/cn.js");exports.default=({className:d,isDisabled:f})=>{const{styles:m,colors:x,translations:h,isRtl:j}=t.usePickaxeContext(),{documents:b,isUploading:g,removeDocument:p}=a.useDocument(),v=r.useStyleFontSize();return e.jsx("div",Object.assign({className:u.default("flex flex-row gap-3 flex-wrap",d)},{children:b.map(((t,r)=>{var a,d,b,k,y;return e.jsx(s.Fragment,{children:"document"===t.type?e.jsxs("div",Object.assign({className:u.default("relative flex items-center gap-x-2.5 pl-2 pr-4 h-[56px] border",j&&"flex-row-reverse"),style:{borderRadius:m.cornerRadius,borderColor:x.secondaryText+"50"}},{children:[e.jsx("div",Object.assign({className:"w-10 h-10 flex items-center justify-center shrink-0",style:Object.assign({borderRadius:m.cornerRadius,backgroundColor:x.accent,color:x.accentText},"failed"===t.status&&{backgroundColor:x.error,color:"white"})},{children:"uploading"===t.status?e.jsx(i.default,{className:"w-5 h-5 animate-spin shrink-0"}):"failed"===t.status?e.jsx(n.default,{className:"w-5 h-5 shrink-0"}):e.jsx(o.default,{className:"w-5 h-5 shrink-0"})})),e.jsxs("div",Object.assign({className:u.default("flex flex-col justify-center truncate",j?"text-right items-end":"text-left items-start")},{children:[e.jsx("p",Object.assign({className:u.default(v.b3,"font-medium truncate")},{children:t.name})),e.jsx("p",Object.assign({className:u.default(v.b4,"opacity-80 truncate")},{children:"failed"===t.status?(null===(a=t.error)||void 0===a?void 0:a.includes("You have reached the file limit"))?null!==(d=null==h?void 0:h["file-limit-reached"])&&void 0!==d?d:"You have reached the file limit.":t.error:l.formatBytes(t.size)}))]})),!g&&e.jsx("button",Object.assign({type:"button",className:u.default("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center outline-none disabled:cursor-default",j?"-left-1 right-auto":"-right-1 left-auto"),style:{backgroundColor:x.accent,color:x.accentText},disabled:g||f,onClick:()=>p(t.id)},{children:e.jsx(c.default,{className:"w-4 h-4 shrink-0"})}))]})):"image"===t.type?e.jsxs("div",Object.assign({className:"relative h-[56px] flex flex-col items-center justify-center w-[56px]",style:Object.assign({borderRadius:m.cornerRadius,backgroundColor:x.accent,color:x.accentText},"failed"===t.status&&{backgroundColor:x.error,color:"white"})},{children:["finished"===t.status?e.jsx("img",{className:"object-cover w-full h-full",style:{borderRadius:m.cornerRadius},src:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/documentinterrogation/${null===(b=t.documentId)||void 0===b?void 0:b.split("-")[2]}/${null===(k=t.documentId)||void 0===k?void 0:k.split("-")[1]}.${null===(y=t.documentId)||void 0===y?void 0:y.split("-")[2]}`,alt:""}):"failed"===t.status?e.jsx(n.default,{className:"w-5 h-5 shrink-0"}):e.jsx(i.default,{className:"w-5 h-5 animate-spin shrink-0"}),!g&&e.jsx("button",Object.assign({type:"button",className:u.default("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center outline-none disabled:cursor-default",j?"-left-1 right-auto":"-right-1 left-auto"),style:{backgroundColor:x.accent,color:x.accentText},disabled:g||f,onClick:()=>p(t.id)},{children:e.jsx(c.default,{className:"w-4 h-4 shrink-0"})}))]})):null},r)}))}))};
|
|
@@ -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"),i=require("../../../../../hooks/pickaxe/useSubmitDocument.js"),o=require("./useDocumentContext.js"),n=require("../../../../../common/documents.js"),r=require("../../../../../common/error.js"),a=require("uuid");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react"),s=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../../../hooks/pickaxe/useSubmitDocument.js"),o=require("./useDocumentContext.js"),n=require("../../../../../common/documents.js"),r=require("../../../../../common/error.js"),a=require("uuid");const d=["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","o1"];exports.useDocument=({onQuestionChange:u}={})=>{const{formId:l,chatId:c,sessionId:m,pickaxe:p}=s.usePickaxeContext(),f=o.useDocumentContext(),w=i.useSubmitDocument(),g=t.useMemo((()=>{var e;return d.includes(null!==(e=null==p?void 0:p.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[p]),I=e=>{const t=[...n.allowedFileMimeTypes,...g?n.allowedImageMimeTypes:[]];if(e.some((e=>!t.includes(e.type)))){const e=new Error(g?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, or PPTX files. Please try again."),t=r.default(e);return f.setDocumentError(t),!0}return!1};return Object.assign(Object.assign({},f),{isImageUploadAllowed:g,onFileUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(f.setDocumentError(""),!t.length)return null;if(I(t))return null;f.setIsUploading(!0),f.setIsShowList(!0);const s=t.map((e=>({file:e,id:a.v4()})));s.forEach((({file:e,id:t})=>{f.addDocument({type:"document",id:t,size:e.size,name:e.name,status:"uploading"})}));const i=s.map((({file:t,id:s})=>e.__awaiter(void 0,void 0,void 0,(function*(){try{const{success:e,documentId:i,error:o}=yield w.document(Object.assign({formId:l,responseId:c,file:t,sessionId:m},(null==p?void 0:p.workspaceid)&&{workspaceId:p.workspaceid}));if(!e)throw new Error(null!=o?o:"Document processing failed");null==u||u({input:t.name,documentId:i});const n=i.startsWith("IMAGE-");return f.editDocument({id:s,type:n?"image":"document",name:t.name,size:t.size,status:"finished",documentId:i}),{name:t.name,documentId:i}}catch(e){const i=r.default(e);return f.editDocument({id:s,name:t.name,size:t.size,status:"failed",error:i}),{error:i}}}))));yield Promise.allSettled(i),f.setIsUploading(!1)})),onWebsiteUpload:t=>e.__awaiter(void 0,void 0,void 0,(function*(){f.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.");f.setIsUploading(!0),f.setIsShowList(!0),f.setWebsiteLink(""),f.setDocuments([{type:"website",id:e,size:0,name:e,status:"uploading"}]);const t=yield w.website(Object.assign({formId:l,responseId:c,website:e},(null==p?void 0:p.workspaceid)&&{workspaceId:p.workspaceid})),{success:s,documentId:i}=t;if(!s)throw new Error("Website processing failed, please try again.");f.setDocuments([{type:"website",id:e,size:0,name:e,status:"finished",documentId:i}]);return{type:"website",id:e,name:e,size:0,status:"finished",documentId:i}}catch(t){const s=r.default(t);if(console.log("[onWebsiteUpload] Error",s),s.includes("Please paste a valid website URL"))return f.setDocumentError(s),null;f.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{f.setIsUploading(!1)}}))})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("@tanstack/react-query");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=r(require("axios"));exports.useDocumentData=({documentId:r})=>{const o=t.useQuery({queryKey:["documentData",r],queryFn:()=>e.__awaiter(void 0,void 0,void 0,(function*(){return(({documentId:t})=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=yield u.default.get(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_data?documentid=${t}`),r=e.data;if(200!==e.status)throw new Error("[_getDocumentData] Failed to fetch document data "+r);return r})))({documentId:r})})),staleTime:18e4});return o};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../Addons/Document/hooks/useDocumentData.js"),r=require("../../../../hooks/studio/useStyleFontSize.js"),a=require("../../../../common/utils.js"),o=require("../../../Icons/file.svg.js"),c=require("../../../../common/cn.js");exports.default=({documentId:n})=>{const{colors:i,styles:l,isRtl:u}=s.usePickaxeContext(),d=t.useDocumentData({documentId:n}),x=r.useStyleFontSize();return"success"!==d.status?e.jsx("div",{}):e.jsxs("a",Object.assign({href:d.data.storageUrl?d.data.storageUrl:"#",target:"_blank",className:c.default("gap-x-[10px] w-full max-w-[500px] flex items-center px-2 h-[56px] border",u&&"flex-row-reverse"),style:{borderRadius:l.cornerRadius,borderColor:i.secondary+"50"},rel:"noreferrer"},{children:[e.jsx("div",Object.assign({className:"w-10 h-10 flex items-center justify-center shrink-0",style:{backgroundColor:i.accent,borderRadius:l.cornerRadius}},{children:e.jsx(o.default,{className:"w-5 h-5",style:{color:i.accentText}})})),e.jsxs("div",Object.assign({className:c.default("flex flex-col justify-center truncate",u?"text-right":"text-left")},{children:[e.jsx("p",Object.assign({className:(c.default(x.b3),"font-medium truncate")},{children:d.data.name})),e.jsxs("p",Object.assign({className:c.default(x.b4,"opacity-80 truncate")},{children:[d.data.extension&&d.data.extension.toUpperCase()+", ",a.formatBytes(d.data.size)]}))]}))]}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../hooks/pickaxe/useResponseContext.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../hooks/studio/useStyleInput.js"),n=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),a=require("../../../hooks/pickaxe/useSubmit.js"),d=require("../Addons/Document/hooks/useDocument.js"),u=require("../Addons/Scroll/hooks/useScroll.js"),c=require("../../../hooks/core/useHover.js"),m=require("../../../common/documents.js"),f=require("eventsource-parser"),p=require("../../Icons/attach-vertical.svg.js"),x=require("../../Icons/arrow-right.svg.js"),h=require("../Addons/IceBreaker/index.js"),g=require("../Addons/Document/List.js"),v=require("../../Core/Textarea.js"),j=require("../../Core/ErrorAlert.js"),b=require("../../../common/error.js"),y=require("../../../common/cn.js");exports.default=({isFocused:k,onFocus:w,onBlur:I})=>{var S;const{formId:q,chatId:O,userId:N,studioUserId:C,embedUserId:A,deploymentId:_,deploymentType:D,pickaxe:E,styles:B,colors:F,responsiveBy:U,isNewChat:H,isRtl:R,setIsNewChat:T,setIsShowIceBreaker:M,onGenerateComplete:P}=r.usePickaxeContext(),{messages:L,status:z,limits:G,isGenerating:J,setMessages:K,setStatus:W,setLimitData:Q,setError:V}=o.useResponseContext(),{documents:X,isUploading:Y,isImageUploadAllowed:Z,documentError:$,onFileUpload:ee,setDocuments:se,setDocumentError:te}=d.useDocument(),{scrollStartSession:re,scrollEndSession:oe,scrollToBottom:ie}=u.useScroll({auto:!0}),ne=l.useConversation(),le=a.useSubmit(),[ae,de]=t.useState(""),ue=t.useRef(null),ce=c.useHover(),{isHover:me}=ce,fe=e.__rest(ce,["isHover"]),pe=c.useHover(),{isHover:xe}=pe,he=e.__rest(pe,["isHover"]),ge=n.useStyleFontSize(),ve=i.useStyleInput(),je=t.useMemo((()=>{var e,s,t;return!!H&&(!!E&&(!ne.isLoading&&(!((null!==(s=null===(e=ne.data)||void 0===e?void 0:e.messages.length)&&void 0!==s?s:0)>1)&&!!(null===(t=E.icebreakers)||void 0===t?void 0:t.length))))}),[E,H,ne.data,ne.isLoading]),be=t.useMemo((()=>{if(J||Y)return!1;return!!ae.trim()&&X.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[J,Y,ae,X]),ye=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if("idle"!==z||Y)return;const e=null!=s?s:ae;if(!e)return;V(""),te(""),Q(null),de(""),T(!1),W("fetching"),re(),ie();const t=X.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),r="enduserupload"===(null==E?void 0:E.documentuploadtype)&&t.length>0,o=[...Array.from(L),Object.assign({id:L.length+1,role:"user",content:e},r&&{documentIds:t})];K(o),ie(),r&&se([]);const i=(yield le.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:q,responseId:O,value:e},r&&{documentIds:t}),N&&{userId:N}),C&&{studioUserId:C}),A&&{embedUserId:A}),_&&{deploymentId:_}))).body;if(!i)throw new Error("Streaming error");const n=o.length,l=new TextDecoder,a=i.getReader();let d="",u=!0,c=!1;const m=f.createParser({onEvent:e=>{if("delta"===e.event){const s=JSON.parse(e.data).token.replace(/\u200B/g,"");d+=s,K([...o.slice(0,n),{id:L.length+1,role:"assistant",content:d}])}else if("error"===e.event){const s=JSON.parse(e.data);V(s.error||"Something went wrong, please try again.")}else"stop"===e.event&&(u=!1)}});for(;u;){const{value:e,done:s}=yield a.read();if(s){u=!1;break}const t=l.decode(e);t&&(c||(W("streaming"),c=!0),m.feed(t))}null==P||P(O)}catch(e){let s=b.default(e)||"";s&&!s.includes("Unexpected token 'A',")||(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(G).find((([e])=>s.includes(e)));t?Q(t[1]):V(s)}finally{ie(),W("idle"),oe()}}));return t.useEffect((()=>{M(je)}),[je]),s.jsx("div",Object.assign({className:y.default("w-full flex flex-col items-center absolute bottom-0 left-0 z-1",!("chat-input"===D&&H)&&"px-4 pb-4"),dir:R?"rtl":"ltr"},{children:s.jsxs("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[!("chat-input"===D&&H)&&s.jsx("div",Object.assign({className:y.default("absolute bottom-full",R?"left-0":"right-0")},{children:s.jsx("div",Object.assign({className:y.default("flex flex-col gap-2 pb-4 px-2",R?"justify-start":"justify-end","viewport"===U?R?"min-[767px]:items-start":"min-[767px]:items-end":R?"@[767px]/pickaxe-root:items-start":"@[767px]/pickaxe-root:items-end")},{children:je&&!k&&s.jsx(h.default,{data:(null==E?void 0:E.icebreakers)||[],onSend:ye})}))})),s.jsxs("div",Object.assign({className:y.default("flex flex-col gap-y-3 px-4 py-3","block"===B.formFieldStyle&&"shadow"),style:ve},{children:["idle"===z&&X.length>0&&s.jsx(g.default,{isDisabled:"idle"!==z}),s.jsxs("div",Object.assign({className:y.default("flex items-end gap-x-2",R&&"flex-row-reverse")},{children:[s.jsx(v.default,Object.assign({className:y.default(ge.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!ae.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",R?"text-right":"text-left"),value:ae,placeholder:null!==(S=null==E?void 0:E.placeholdertext)&&void 0!==S?S:R?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>de(e),onKeyDown:e=>{"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Y||"idle"!==z||ye()))}},w&&{onFocus:w},I&&{onBlur:I},{dir:R?"rtl":"ltr"})),s.jsxs("div",Object.assign({className:"flex items-center gap-x-2"},{children:["enduserupload"===(null==E?void 0:E.documentuploadtype)&&s.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:xe?F.accent+"10":void 0,color:xe?F.accent:F.accent+"80"},disabled:Y||"idle"!==z,onClick:()=>{var e;return null===(e=ue.current)||void 0===e?void 0:e.click()}},he,{children:[s.jsx("input",{id:"file-upload",ref:ue,type:"file",accept:[...m.allowedFileMimeTypes,...Z?m.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){T(!1),yield ee(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx(p.default,{className:"h-6 w-6 shrink-0"})]})),s.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:me||be?F.accent:F.accent+"10",color:me||be?F.accentText:F.accent+"80"},disabled:"idle"!==z||Y,onClick:()=>ye()},fe,{children:s.jsx(x.default,{className:y.default("h-6 w-6 shrink-0",R&&"transform scale-x-[-1]")})}))]}))]}))]})),$&&s.jsx(j.default,{error:$,className:"mt-3"})]}))}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),i=require("../../../../hooks/pickaxe/usePickaxeContext.js"),l=require("../../../../hooks/studio/useStyleInput.js"),o=require("../../../../hooks/studio/useStyleFontSize.js"),a=require("../../Addons/Document/hooks/useDocument.js"),r=require("../../../../hooks/core/useHover.js"),n=require("../../../../common/documents.js"),c=require("../../../Icons/attach-vertical.svg.js"),d=require("../../../Icons/check.svg.js"),u=require("../../../Icons/x.svg.js"),j=require("../../../Core/ErrorAlert.js"),m=require("../../Addons/Document/List.js"),f=require("../../../../common/cn.js");exports.default=({field:h,update:p})=>{var b;const x=o.useStyleFontSize(),{colors:g,styles:v,translations:y}=i.usePickaxeContext(),k=r.useHover(),{isHover:w}=k,N=e.__rest(k,["isHover"]),{documents:q,documentError:O,websiteLink:C,isUploading:_,isImageUploadAllowed:D,setDocumentError:S,setWebsiteLink:F,onFileUpload:I,onWebsiteUpload:A}=a.useDocument({onQuestionChange:e=>{p(Object.assign(Object.assign({},h),e))}}),[E,H]=t.useState(!1),P=t.useRef(null),U=l.useStyleInput();return s.jsxs("div",Object.assign({className:"flex flex-col gap-y-4"},{children:[s.jsxs("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[s.jsxs("div",Object.assign({className:"flex items-center gap-1"},{children:[s.jsx("p",Object.assign({className:f.default(x.b3,"font-semibold opacity-70")},{children:h.main})),h.isRequired&&s.jsx("span",Object.assign({className:"select-none font-semibold",style:{color:g.error}},{children:"*"}))]})),s.jsxs("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[s.jsx("input",{ref:P,type:"file",accept:[...n.allowedFileMimeTypes,...D?n.allowedImageMimeTypes:[]].join(", "),id:h.id,hidden:!0,multiple:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield I(Array.from(s.target.files||[])),s.target.value=""})),disabled:_}),s.jsxs("div",Object.assign({className:f.default("flex items-center justify-between rounded-sm border border-transparent bg-white py-3 pl-4 pr-3 duration-300 ease-in-out transition-all",E&&"block"===v.formFieldStyle&&"shadow","block"===v.formFieldStyle&&"shadow hover:shadow-none"),style:U},{children:[s.jsx("input",{type:"text",value:C,className:f.default(x.i1,"w-full outline-none ring-0 bg-transparent placeholder:text-inherit placeholder:opacity-50"),placeholder:null!==(b=null==y?void 0:y["form-doc-placeholder"])&&void 0!==b?b:"Paste a website/video link or drag a file",onChange:e=>F(e.target.value),onDrop:s=>e.__awaiter(void 0,void 0,void 0,(function*(){s.preventDefault(),yield I(Array.from(s.dataTransfer.files||[]))})),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),A(C))},onFocus:()=>H(!0),onBlur:()=>H(!1)}),s.jsx("div",Object.assign({className:"flex items-center gap-3 pl-4"},{children:C.length>0?s.jsxs(s.Fragment,{children:[s.jsx("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:_,onClick:()=>A(C)},{children:s.jsx(d.default,{className:"h-5 w-5 shrink-0",style:{color:g.accent}})})),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:_,onClick:()=>{F(""),S("")}},{children:s.jsx(u.default,{className:"h-6 w-6 shrink-0",style:{color:g.accent}})}))]}):s.jsx("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",disabled:_,onClick:()=>{var e;null===(e=P.current)||void 0===e||e.click()},style:{backgroundColor:w?g.accent+"10":void 0}},N,{children:s.jsx(c.default,{className:"h-6 w-6 shrink-0",style:{color:w?g.accent:g.accent+"80"}})}))}))]}))]}))]})),q.length>0&&s.jsx(m.default,{}),O&&s.jsx(j.default,{error:O,className:"mt-3"})]}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),i=require("react"),s=require("./Addons/Document/Provider.js"),o=require("./ResponseProvider.js"),r=require("./DimensionProvider.js");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}const d=i.createContext({});exports.PickaxeContext=d,exports.PickaxeProvider=({children:a,userId:l="",studioUserId:c="",deploymentId:u="",embedUserId:f="",deploymentType:p,deploymentDimensions:m,deploymentMisc:b,styles:y,colors:h,limits:v={},misc:x={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:F,responsiveBy:g="viewport",forceMobile:j=!1,disableHtml:I=!1,disableJs:P=!1,disableCss:w=!1,loadFont:S=!0,isRtl:O=!1,isEmbed:k=!1,isDropShadow:C=!1,onGenerateComplete:D})=>{const[_,q]=i.useState(""),[E,H]=i.useState(""),[M,R]=i.useState(""),[T,U]=i.useState(null),[B,L]=i.useState(!1),[N,z]=i.useState(!0),[A,G]=i.useState(!0);return i.useEffect((()=>{L(!1)}),[null==y?void 0:y.font]),i.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&S&&!B&&(null==y?void 0:y.font)&&"Real Head Pro"!==y.font)try{(yield Promise.resolve().then((function(){return n(require("webfontloader"))}))).default.load({google:{families:[y.font]},active:()=>{L(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),L(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),L(!0)}}))}),[S,B,null==y?void 0:y.font]),t.jsx(d.Provider,Object.assign({value:Object.assign({formId:_,chatId:E,sessionId:M,userId:l,studioUserId:c,embedUserId:f,deploymentId:u,deploymentType:p,deploymentDimensions:m,deploymentMisc:b,pickaxe:T,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},y),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},h),misc:x,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website","file-limit-reached":"You have reached the file limit."},F),responsiveBy:g,forceMobile:j,loadFont:S,disableHtml:I,disableJs:P,disableCss:w,isFontLoaded:B,isNewChat:N,isShowIceBreaker:A,isRtl:O,isEmbed:k,isDropShadow:C,setIsFontLoaded:L,setFormId:q,setChatId:H,setSessionId:R,setPickaxe:U,setIsNewChat:z,setIsShowIceBreaker:G},D&&{onGenerateComplete:D})},{children:t.jsx(o.default,Object.assign({limits:v},{children:t.jsx(r.default,{children:t.jsx(s.default,{children:a})})}))}))};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
interface DocumentListProps {
|
|
2
2
|
className?: string;
|
|
3
|
+
isDisabled?: boolean;
|
|
3
4
|
}
|
|
4
|
-
declare const DocumentList: ({ className }: DocumentListProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare const DocumentList: ({ className, isDisabled }: DocumentListProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export default DocumentList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as r from"react";var e;function t(){return t=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},t.apply(null,arguments)}var n=n=>r.createElement("svg",t({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0
|
|
1
|
+
import*as r from"react";var e;function t(){return t=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},t.apply(null,arguments)}var n=n=>r.createElement("svg",t({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22"},n),e||(e=r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 21c5.523 0 10-4.477 10-10S16.523 1 11 1 1 5.477 1 11s4.477 10 10 10M11 15v-4M11 7h.01"})));export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as s}from"react/jsx-runtime";import{Fragment as t}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as r}from"../../../../hooks/studio/useStyleFontSize.js";import{useDocument as i}from"./hooks/useDocument.js";import{formatBytes as a}from"../../../../common/utils.js";import l from"../../../Icons/spinner-lines.svg.js";import c from"../../../Icons/file.svg.js";import n from"../../../Icons/x.svg.js";import d from"../../../Icons/circle-info.svg.js";import u from"../../../../common/cn.js";const m=({className:m,isDisabled:f})=>{const{styles:h,colors:p,translations:b,isRtl:g}=o(),{documents:x,isUploading:j,removeDocument:v}=i(),k=r();return e("div",Object.assign({className:u("flex flex-row gap-3 flex-wrap",m)},{children:x.map(((o,r)=>{var i,m,x,w,y;return e(t,{children:"document"===o.type?s("div",Object.assign({className:u("relative flex items-center gap-x-2.5 pl-2 pr-4 h-[56px] border",g&&"flex-row-reverse"),style:{borderRadius:h.cornerRadius,borderColor:p.secondaryText+"50"}},{children:[e("div",Object.assign({className:"w-10 h-10 flex items-center justify-center shrink-0",style:Object.assign({borderRadius:h.cornerRadius,backgroundColor:p.accent,color:p.accentText},"failed"===o.status&&{backgroundColor:p.error,color:"white"})},{children:"uploading"===o.status?e(l,{className:"w-5 h-5 animate-spin shrink-0"}):"failed"===o.status?e(d,{className:"w-5 h-5 shrink-0"}):e(c,{className:"w-5 h-5 shrink-0"})})),s("div",Object.assign({className:u("flex flex-col justify-center truncate",g?"text-right items-end":"text-left items-start")},{children:[e("p",Object.assign({className:u(k.b3,"font-medium truncate")},{children:o.name})),e("p",Object.assign({className:u(k.b4,"opacity-80 truncate")},{children:"failed"===o.status?(null===(i=o.error)||void 0===i?void 0:i.includes("You have reached the file limit"))?null!==(m=null==b?void 0:b["file-limit-reached"])&&void 0!==m?m:"You have reached the file limit.":o.error:a(o.size)}))]})),!j&&e("button",Object.assign({type:"button",className:u("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center outline-none disabled:cursor-default",g?"-left-1 right-auto":"-right-1 left-auto"),style:{backgroundColor:p.accent,color:p.accentText},disabled:j||f,onClick:()=>v(o.id)},{children:e(n,{className:"w-4 h-4 shrink-0"})}))]})):"image"===o.type?s("div",Object.assign({className:"relative h-[56px] flex flex-col items-center justify-center w-[56px]",style:Object.assign({borderRadius:h.cornerRadius,backgroundColor:p.accent,color:p.accentText},"failed"===o.status&&{backgroundColor:p.error,color:"white"})},{children:["finished"===o.status?e("img",{className:"object-cover w-full h-full",style:{borderRadius:h.cornerRadius},src:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/documentinterrogation/${null===(x=o.documentId)||void 0===x?void 0:x.split("-")[2]}/${null===(w=o.documentId)||void 0===w?void 0:w.split("-")[1]}.${null===(y=o.documentId)||void 0===y?void 0:y.split("-")[2]}`,alt:""}):"failed"===o.status?e(d,{className:"w-5 h-5 shrink-0"}):e(l,{className:"w-5 h-5 animate-spin shrink-0"}),!j&&e("button",Object.assign({type:"button",className:u("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center outline-none disabled:cursor-default",g?"-left-1 right-auto":"-right-1 left-auto"),style:{backgroundColor:p.accent,color:p.accentText},disabled:j||f,onClick:()=>v(o.id)},{children:e(n,{className:"w-4 h-4 shrink-0"})}))]})):null},r)}))}))};export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{useMemo as t}from"react";import{usePickaxeContext as o}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useSubmitDocument as s}from"../../../../../hooks/pickaxe/useSubmitDocument.js";import{useDocumentContext as i}from"./useDocumentContext.js";import{allowedFileMimeTypes as n,allowedImageMimeTypes as r}from"../../../../../common/documents.js";import d from"../../../../../common/error.js";import{v4 as a}from"uuid";const u=["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","o1"],l=({onQuestionChange:l}={})=>{const{formId:c,chatId:m,sessionId:p,pickaxe:f}=o(),g=i(),w=s(),I=t((()=>{var e;return u.includes(null!==(e=null==f?void 0:f.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[f]),h=e=>{const t=[...n,...I?r:[]];if(e.some((e=>!t.includes(e.type)))){const e=new Error(I?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, or PPTX files. Please try again."),t=d(e);return g.setDocumentError(t),!0}return!1};return Object.assign(Object.assign({},g),{isImageUploadAllowed:I,onFileUpload:t=>e(void 0,void 0,void 0,(function*(){if(g.setDocumentError(""),!t.length)return null;if(h(t))return null;g.setIsUploading(!0),g.setIsShowList(!0);const o=t.map((e=>({file:e,id:a()})));o.forEach((({file:e,id:t})=>{g.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 w.document(Object.assign({formId:c,responseId:m,file:t,sessionId:p},(null==f?void 0:f.workspaceid)&&{workspaceId:f.workspaceid}));if(!e)throw new Error(null!=i?i:"Document processing failed");null==l||l({input:t.name,documentId:s});const n=s.startsWith("IMAGE-");return g.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=d(e);return g.editDocument({id:o,name:t.name,size:t.size,status:"failed",error:s}),{error:s}}}))))
|
|
1
|
+
import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{useMemo as t}from"react";import{usePickaxeContext as o}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useSubmitDocument as s}from"../../../../../hooks/pickaxe/useSubmitDocument.js";import{useDocumentContext as i}from"./useDocumentContext.js";import{allowedFileMimeTypes as n,allowedImageMimeTypes as r}from"../../../../../common/documents.js";import d from"../../../../../common/error.js";import{v4 as a}from"uuid";const u=["gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","o1"],l=({onQuestionChange:l}={})=>{const{formId:c,chatId:m,sessionId:p,pickaxe:f}=o(),g=i(),w=s(),I=t((()=>{var e;return u.includes(null!==(e=null==f?void 0:f.model)&&void 0!==e?e:"gpt-3.5-turbo")}),[f]),h=e=>{const t=[...n,...I?r:[]];if(e.some((e=>!t.includes(e.type)))){const e=new Error(I?"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, PPTX, PNG, JPEG, WEBP, or GIF files. Please try again.":"You can only upload PDF, TXT, DOCX, CSV, XLSX, JSON, or PPTX files. Please try again."),t=d(e);return g.setDocumentError(t),!0}return!1};return Object.assign(Object.assign({},g),{isImageUploadAllowed:I,onFileUpload:t=>e(void 0,void 0,void 0,(function*(){if(g.setDocumentError(""),!t.length)return null;if(h(t))return null;g.setIsUploading(!0),g.setIsShowList(!0);const o=t.map((e=>({file:e,id:a()})));o.forEach((({file:e,id:t})=>{g.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 w.document(Object.assign({formId:c,responseId:m,file:t,sessionId:p},(null==f?void 0:f.workspaceid)&&{workspaceId:f.workspaceid}));if(!e)throw new Error(null!=i?i:"Document processing failed");null==l||l({input:t.name,documentId:s});const n=s.startsWith("IMAGE-");return g.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=d(e);return g.editDocument({id:o,name:t.name,size:t.size,status:"failed",error:s}),{error:s}}}))));yield Promise.allSettled(s),g.setIsUploading(!1)})),onWebsiteUpload:t=>e(void 0,void 0,void 0,(function*(){g.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.");g.setIsUploading(!0),g.setIsShowList(!0),g.setWebsiteLink(""),g.setDocuments([{type:"website",id:e,size:0,name:e,status:"uploading"}]);const t=yield w.website(Object.assign({formId:c,responseId:m,website:e},(null==f?void 0:f.workspaceid)&&{workspaceId:f.workspaceid})),{success:o,documentId:s}=t;if(!o)throw new Error("Website processing failed, please try again.");g.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=d(t);if(console.log("[onWebsiteUpload] Error",o),o.includes("Please paste a valid website URL"))return g.setDocumentError(o),null;g.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{g.setIsUploading(!1)}}))})};export{l as useDocument};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as t}from"../../../../../_virtual/_tslib.js";import{useQuery as o}from"@tanstack/react-query";import e from"axios";const r=({documentId:r})=>{const d=o({queryKey:["documentData",r],queryFn:()=>t(void 0,void 0,void 0,(function*(){return(({documentId:o})=>t(void 0,void 0,void 0,(function*(){const t=yield e.get(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_data?documentid=${o}`),r=t.data;if(200!==t.status)throw new Error("[_getDocumentData] Failed to fetch document data "+r);return r})))({documentId:r})})),staleTime:18e4});return d};export{r as useDocumentData};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import s
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{usePickaxeContext as s}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useDocumentData as r}from"../../Addons/Document/hooks/useDocumentData.js";import{useStyleFontSize as o}from"../../../../hooks/studio/useStyleFontSize.js";import{formatBytes as a}from"../../../../common/utils.js";import c from"../../../Icons/file.svg.js";import n from"../../../../common/cn.js";const i=({documentId:i})=>{const{colors:l,styles:m,isRtl:d}=s(),u=r({documentId:i}),f=o();return"success"!==u.status?e("div",{}):t("a",Object.assign({href:u.data.storageUrl?u.data.storageUrl:"#",target:"_blank",className:n("gap-x-[10px] w-full max-w-[500px] flex items-center px-2 h-[56px] border",d&&"flex-row-reverse"),style:{borderRadius:m.cornerRadius,borderColor:l.secondary+"50"},rel:"noreferrer"},{children:[e("div",Object.assign({className:"w-10 h-10 flex items-center justify-center shrink-0",style:{backgroundColor:l.accent,borderRadius:m.cornerRadius}},{children:e(c,{className:"w-5 h-5",style:{color:l.accentText}})})),t("div",Object.assign({className:n("flex flex-col justify-center truncate",d?"text-right":"text-left")},{children:[e("p",Object.assign({className:(n(f.b3),"font-medium truncate")},{children:u.data.name})),t("p",Object.assign({className:n(f.b4,"opacity-80 truncate")},{children:[u.data.extension&&u.data.extension.toUpperCase()+", ",a(u.data.size)]}))]}))]}))};export{i as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as
|
|
1
|
+
import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useState as r,useRef as n,useMemo as i,useEffect as l}from"react";import{usePickaxeContext as a}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as d}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as c}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as p}from"../../../hooks/pickaxe/useSubmit.js";import{useDocument as f}from"../Addons/Document/hooks/useDocument.js";import{useScroll as h}from"../Addons/Scroll/hooks/useScroll.js";import{useHover as g}from"../../../hooks/core/useHover.js";import{allowedFileMimeTypes as v,allowedImageMimeTypes as x}from"../../../common/documents.js";import{createParser as b}from"eventsource-parser";import j from"../../Icons/attach-vertical.svg.js";import y from"../../Icons/arrow-right.svg.js";import k from"../Addons/IceBreaker/index.js";import w from"../Addons/Document/List.js";import I from"../../Core/Textarea.js";import O from"../../Core/ErrorAlert.js";import N from"../../../common/error.js";import S from"../../../common/cn.js";const C=({isFocused:C,onFocus:A,onBlur:D})=>{var B;const{formId:E,chatId:U,userId:F,studioUserId:H,embedUserId:R,deploymentId:T,deploymentType:L,pickaxe:z,styles:G,colors:J,responsiveBy:K,isNewChat:P,isRtl:W,setIsNewChat:_,setIsShowIceBreaker:M,onGenerateComplete:q}=a(),{messages:Q,status:V,limits:X,isGenerating:Y,setMessages:Z,setStatus:$,setLimitData:ee,setError:te}=d(),{documents:oe,isUploading:se,isImageUploadAllowed:re,documentError:ne,onFileUpload:ie,setDocuments:le,setDocumentError:ae}=f(),{scrollStartSession:de,scrollEndSession:ce,scrollToBottom:me}=h({auto:!0}),ue=u(),pe=p(),[fe,he]=r(""),ge=n(null),ve=g(),{isHover:xe}=ve,be=e(ve,["isHover"]),je=g(),{isHover:ye}=je,ke=e(je,["isHover"]),we=m(),Ie=c(),Oe=i((()=>{var e,t,o;return!!P&&(!!z&&(!ue.isLoading&&(!((null!==(t=null===(e=ue.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&!!(null===(o=z.icebreakers)||void 0===o?void 0:o.length))))}),[z,P,ue.data,ue.isLoading]),Ne=i((()=>{if(Y||se)return!1;return!!fe.trim()&&oe.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Y,se,fe,oe]),Se=e=>t(void 0,void 0,void 0,(function*(){try{if("idle"!==V||se)return;const t=null!=e?e:fe;if(!t)return;te(""),ae(""),ee(null),he(""),_(!1),$("fetching"),de(),me();const o=oe.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)).map((e=>e.documentId)).filter(Boolean),s="enduserupload"===(null==z?void 0:z.documentuploadtype)&&o.length>0,r=[...Array.from(Q),Object.assign({id:Q.length+1,role:"user",content:t},s&&{documentIds:o})];Z(r),me(),s&&le([]);const n=(yield pe.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:E,responseId:U,value:t},s&&{documentIds:o}),F&&{userId:F}),H&&{studioUserId:H}),R&&{embedUserId:R}),T&&{deploymentId:T}))).body;if(!n)throw new Error("Streaming error");const i=r.length,l=new TextDecoder,a=n.getReader();let d="",c=!0,m=!1;const u=b({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");d+=t,Z([...r.slice(0,i),{id:Q.length+1,role:"assistant",content:d}])}else if("error"===e.event){const t=JSON.parse(e.data);te(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(c=!1)}});for(;c;){const{value:e,done:t}=yield a.read();if(t){c=!1;break}const o=l.decode(e);o&&(m||($("streaming"),m=!0),u.feed(o))}null==q||q(U)}catch(e){let t=N(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const o=Object.entries(X).find((([e])=>t.includes(e)));o?ee(o[1]):te(t)}finally{me(),$("idle"),ce()}}));return l((()=>{M(Oe)}),[Oe]),o("div",Object.assign({className:S("w-full flex flex-col items-center absolute bottom-0 left-0 z-1",!("chat-input"===L&&P)&&"px-4 pb-4"),dir:W?"rtl":"ltr"},{children:s("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[!("chat-input"===L&&P)&&o("div",Object.assign({className:S("absolute bottom-full",W?"left-0":"right-0")},{children:o("div",Object.assign({className:S("flex flex-col gap-2 pb-4 px-2",W?"justify-start":"justify-end","viewport"===K?W?"min-[767px]:items-start":"min-[767px]:items-end":W?"@[767px]/pickaxe-root:items-start":"@[767px]/pickaxe-root:items-end")},{children:Oe&&!C&&o(k,{data:(null==z?void 0:z.icebreakers)||[],onSend:Se})}))})),s("div",Object.assign({className:S("flex flex-col gap-y-3 px-4 py-3","block"===G.formFieldStyle&&"shadow"),style:Ie},{children:["idle"===V&&oe.length>0&&o(w,{isDisabled:"idle"!==V}),s("div",Object.assign({className:S("flex items-end gap-x-2",W&&"flex-row-reverse")},{children:[o(I,Object.assign({className:S(we.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!fe.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",W?"text-right":"text-left"),value:fe,placeholder:null!==(B=null==z?void 0:z.placeholdertext)&&void 0!==B?B:W?"بماذا تريد أن تتحدث؟":"What do you want to talk about?",onChange:e=>he(e),onKeyDown:e=>{"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),se||"idle"!==V||Se()))}},A&&{onFocus:A},D&&{onBlur:D},{dir:W?"rtl":"ltr"})),s("div",Object.assign({className:"flex items-center gap-x-2"},{children:["enduserupload"===(null==z?void 0:z.documentuploadtype)&&s("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:ye?J.accent+"10":void 0,color:ye?J.accent:J.accent+"80"},disabled:se||"idle"!==V,onClick:()=>{var e;return null===(e=ge.current)||void 0===e?void 0:e.click()}},ke,{children:[o("input",{id:"file-upload",ref:ge,type:"file",accept:[...v,...re?x:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){_(!1),yield ie(Array.from(e.target.files||[])),e.target.value=""}))}),o(j,{className:"h-6 w-6 shrink-0"})]})),o("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:xe||Ne?J.accent:J.accent+"10",color:xe||Ne?J.accentText:J.accent+"80"},disabled:"idle"!==V||se,onClick:()=>Se()},be,{children:o(y,{className:S("h-6 w-6 shrink-0",W&&"transform scale-x-[-1]")})}))]}))]}))]})),ne&&o(O,{error:ne,className:"mt-3"})]}))}))};export{C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as e,__awaiter as
|
|
1
|
+
import{__rest as e,__awaiter as o}from"../../../../_virtual/_tslib.js";import{jsxs as s,jsx as t,Fragment as i}from"react/jsx-runtime";import{useState as n,useRef as r}from"react";import{usePickaxeContext as l}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleInput as a}from"../../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as c}from"../../../../hooks/studio/useStyleFontSize.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{useHover as m}from"../../../../hooks/core/useHover.js";import{allowedFileMimeTypes as u,allowedImageMimeTypes as p}from"../../../../common/documents.js";import f from"../../../Icons/attach-vertical.svg.js";import h from"../../../Icons/check.svg.js";import b from"../../../Icons/x.svg.js";import g from"../../../Core/ErrorAlert.js";import v from"../../Addons/Document/List.js";import j from"../../../../common/cn.js";const y=({field:y,update:k})=>{var x;const N=c(),{colors:w,styles:O,translations:C}=l(),D=m(),{isHover:A}=D,F=e(D,["isHover"]),{documents:I,documentError:S,websiteLink:E,isUploading:U,isImageUploadAllowed:H,setDocumentError:L,setWebsiteLink:P,onFileUpload:W,onWebsiteUpload:_}=d({onQuestionChange:e=>{k(Object.assign(Object.assign({},y),e))}}),[q,z]=n(!1),B=r(null),K=a();return s("div",Object.assign({className:"flex flex-col gap-y-4"},{children:[s("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[s("div",Object.assign({className:"flex items-center gap-1"},{children:[t("p",Object.assign({className:j(N.b3,"font-semibold opacity-70")},{children:y.main})),y.isRequired&&t("span",Object.assign({className:"select-none font-semibold",style:{color:w.error}},{children:"*"}))]})),s("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[t("input",{ref:B,type:"file",accept:[...u,...H?p:[]].join(", "),id:y.id,hidden:!0,multiple:!0,className:"hidden",onChange:e=>o(void 0,void 0,void 0,(function*(){yield W(Array.from(e.target.files||[])),e.target.value=""})),disabled:U}),s("div",Object.assign({className:j("flex items-center justify-between rounded-sm border border-transparent bg-white py-3 pl-4 pr-3 duration-300 ease-in-out transition-all",q&&"block"===O.formFieldStyle&&"shadow","block"===O.formFieldStyle&&"shadow hover:shadow-none"),style:K},{children:[t("input",{type:"text",value:E,className:j(N.i1,"w-full outline-none ring-0 bg-transparent placeholder:text-inherit placeholder:opacity-50"),placeholder:null!==(x=null==C?void 0:C["form-doc-placeholder"])&&void 0!==x?x:"Paste a website/video link or drag a file",onChange:e=>P(e.target.value),onDrop:e=>o(void 0,void 0,void 0,(function*(){e.preventDefault(),yield W(Array.from(e.dataTransfer.files||[]))})),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),_(E))},onFocus:()=>z(!0),onBlur:()=>z(!1)}),t("div",Object.assign({className:"flex items-center gap-3 pl-4"},{children:E.length>0?s(i,{children:[t("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:U,onClick:()=>_(E)},{children:t(h,{className:"h-5 w-5 shrink-0",style:{color:w.accent}})})),t("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:U,onClick:()=>{P(""),L("")}},{children:t(b,{className:"h-6 w-6 shrink-0",style:{color:w.accent}})}))]}):t("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",disabled:U,onClick:()=>{var e;null===(e=B.current)||void 0===e||e.click()},style:{backgroundColor:A?w.accent+"10":void 0}},F,{children:t(f,{className:"h-6 w-6 shrink-0",style:{color:A?w.accent:w.accent+"80"}})}))}))]}))]}))]})),I.length>0&&t(v,{}),S&&t(g,{error:S,className:"mt-3"})]}))};export{y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as
|
|
1
|
+
import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as i}from"react/jsx-runtime";import{createContext as o,useState as s,useEffect as t}from"react";import r from"./Addons/Document/Provider.js";import d from"./ResponseProvider.js";import n from"./DimensionProvider.js";const l=o({}),a=({children:o,userId:a="",studioUserId:c="",deploymentId:m="",embedUserId:p="",deploymentType:f,deploymentDimensions:h,deploymentMisc:b,styles:y,colors:u,limits:F={},misc:I={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:v,responsiveBy:g="viewport",forceMobile:w=!1,disableHtml:x=!1,disableJs:P=!1,disableCss:j=!1,loadFont:S=!0,isRtl:D=!1,isEmbed:k=!1,isDropShadow:C=!1,onGenerateComplete:H})=>{const[O,R]=s(""),[T,U]=s(""),[B,L]=s(""),[M,E]=s(null),[N,A]=s(!1),[G,J]=s(!0),[W,_]=s(!0);return t((()=>{A(!1)}),[null==y?void 0:y.font]),t((()=>{e(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&S&&!N&&(null==y?void 0:y.font)&&"Real Head Pro"!==y.font)try{(yield import("webfontloader")).default.load({google:{families:[y.font]},active:()=>{A(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),A(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),A(!0)}}))}),[S,N,null==y?void 0:y.font]),i(l.Provider,Object.assign({value:Object.assign({formId:O,chatId:T,sessionId:B,userId:a,studioUserId:c,embedUserId:p,deploymentId:m,deploymentType:f,deploymentDimensions:h,deploymentMisc:b,pickaxe:M,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},y),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},u),misc:I,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website","file-limit-reached":"You have reached the file limit."},v),responsiveBy:g,forceMobile:w,loadFont:S,disableHtml:x,disableJs:P,disableCss:j,isFontLoaded:N,isNewChat:G,isShowIceBreaker:W,isRtl:D,isEmbed:k,isDropShadow:C,setIsFontLoaded:A,setFormId:R,setChatId:U,setSessionId:L,setPickaxe:E,setIsNewChat:J,setIsShowIceBreaker:_},H&&{onGenerateComplete:H})},{children:i(d,Object.assign({limits:F},{children:i(n,{children:i(r,{children:o})})}))}))};export{l as PickaxeContext,a as PickaxeProvider};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
interface DocumentListProps {
|
|
2
2
|
className?: string;
|
|
3
|
+
isDisabled?: boolean;
|
|
3
4
|
}
|
|
4
|
-
declare const DocumentList: ({ className }: DocumentListProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare const DocumentList: ({ className, isDisabled }: DocumentListProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export default DocumentList;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("@tanstack/react-query");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=r(require("axios"));exports.useDocumentData=({documentId:r})=>{const o=t.useQuery({queryKey:["documentData",r],queryFn:()=>e.__awaiter(void 0,void 0,void 0,(function*(){return(({documentId:t})=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=yield u.default.get(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_data?documentid=${t}`),r=e.data;if(200!==e.status)throw new Error("[_getDocumentData] Failed to fetch document data "+r);return r})))({documentId:r})})),staleTime:18e4});return o};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__awaiter as t}from"../../_virtual/_tslib.js";import{useQuery as o}from"@tanstack/react-query";import e from"axios";const r=({documentId:r})=>{const d=o({queryKey:["documentData",r],queryFn:()=>t(void 0,void 0,void 0,(function*(){return(({documentId:o})=>t(void 0,void 0,void 0,(function*(){const t=yield e.get(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_data?documentid=${o}`),r=t.data;if(200!==t.status)throw new Error("[_getDocumentData] Failed to fetch document data "+r);return r})))({documentId:r})})),staleTime:18e4});return d};export{r as useDocumentData};
|
|
File without changes
|
|
File without changes
|