@pickaxeproject/react 6.4.2 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/common/deploymentWebhooks.js +1 -0
  2. package/dist/cjs/common/pickaxeConfig.js +1 -0
  3. package/dist/cjs/components/Icons/upload-cloud.svg.js +1 -0
  4. package/dist/cjs/components/Pickaxe/Addons/Artifact/Renderer/SaveMenu.js +1 -1
  5. package/dist/cjs/components/Pickaxe/Addons/Artifact/Renderer/index.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  7. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Components/A/FilePreview.js +1 -0
  8. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Components/A/index.js +1 -1
  9. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  10. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  11. package/dist/cjs/hooks/pickaxe/useSubmitDocument.js +1 -1
  12. package/dist/cjs/src/common/deploymentWebhooks.d.ts +30 -0
  13. package/dist/cjs/src/common/pickaxeConfig.d.ts +3 -0
  14. package/dist/cjs/src/components/Pickaxe/Addons/Artifact/Renderer/SaveMenu.d.ts +5 -1
  15. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Components/A/FilePreview.d.ts +18 -0
  16. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Components/A/index.d.ts +6 -1
  17. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +3 -1
  18. package/dist/cjs/src/hooks/pickaxe/useSubmitDocument.d.ts +4 -2
  19. package/dist/esm/common/deploymentWebhooks.js +1 -0
  20. package/dist/esm/common/pickaxeConfig.js +1 -0
  21. package/dist/esm/components/Icons/upload-cloud.svg.js +1 -0
  22. package/dist/esm/components/Pickaxe/Addons/Artifact/Renderer/SaveMenu.js +1 -1
  23. package/dist/esm/components/Pickaxe/Addons/Artifact/Renderer/index.js +1 -1
  24. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  25. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Components/A/FilePreview.js +1 -0
  26. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Components/A/index.js +1 -1
  27. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  28. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  29. package/dist/esm/hooks/pickaxe/useSubmitDocument.js +1 -1
  30. package/dist/esm/src/common/deploymentWebhooks.d.ts +30 -0
  31. package/dist/esm/src/common/pickaxeConfig.d.ts +3 -0
  32. package/dist/esm/src/components/Pickaxe/Addons/Artifact/Renderer/SaveMenu.d.ts +5 -1
  33. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Components/A/FilePreview.d.ts +18 -0
  34. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Components/A/index.d.ts +6 -1
  35. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +3 -1
  36. package/dist/esm/src/hooks/pickaxe/useSubmitDocument.d.ts +4 -2
  37. package/package.json +1 -1
  38. package/dist/cjs/components/Icons/arrow-up-right.svg.js +0 -1
  39. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Components/A/Audio.js +0 -1
  40. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Components/A/Html/HtmlModal.js +0 -1
  41. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Components/A/Html/index.js +0 -1
  42. package/dist/esm/components/Icons/arrow-up-right.svg.js +0 -1
  43. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Components/A/Audio.js +0 -1
  44. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Components/A/Html/HtmlModal.js +0 -1
  45. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Components/A/Html/index.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_tslib.js");const s="deployment_session_initialized",t="deployment_first_message_submitted",i=new Set,o=new Set,n=e=>{if(!e)return null;return e.trim()||null},r=(s,t)=>e.__awaiter(void 0,void 0,void 0,(function*(){var{studioId:i,userEmail:o}=t,r=e.__rest(t,["studioId","userEmail"]);const d=n(i),a=n(process.env.NEXT_PUBLIC_API_URL);if(!d||!a)return;const c=Object.assign({event:s,source:"v2-pickaxe-react",firedAt:(new Date).toISOString(),studioId:d,userEmail:n(o)},r);try{yield fetch(`${a}/fireWebhooks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:s,studioId:d,userEmail:n(o),giftedProducts:[],payload:c})})}catch(e){console.warn(`[px/react] failed to fire deployment webhook event "${s}"`,e)}}));exports.DEPLOYMENT_FIRST_MESSAGE_SUBMITTED_EVENT=t,exports.DEPLOYMENT_SESSION_INITIALIZED_EVENT=s,exports.fireDeploymentFirstMessageSubmittedWebhook=e=>{const s=n(e.sessionId);s&&i.has(s)&&(o.has(s)||(o.add(s),r(t,Object.assign(Object.assign({},e),{sessionId:s}))))},exports.fireDeploymentSessionInitializedWebhook=e=>{const t=n(e.sessionId);t&&!i.has(t)&&(i.add(t),r(s,Object.assign(Object.assign({},e),{sessionId:t})))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const t=new Set(["class","style","sso","metadata"]),e=t=>Boolean(t)&&"object"==typeof t&&!Array.isArray(t),a=(e,a)=>{Object.entries(e).forEach((([e,o])=>{t.has(e)||e.startsWith("deployment-")||"function"!=typeof o&&void 0!==o&&(a[e]=o)}))};exports.getPickaxeConfigMetadata=t=>{if("undefined"==typeof window)return;const o=window.PickaxeConfig;if(!e(o))return;const s={};if(a(o,s),e(o.metadata)&&Object.assign(s,o.metadata),t){const n=o[t];e(n)&&(a(n,s),e(n.metadata)&&Object.assign(s,n.metadata))}return Object.keys(s).length>0?s:void 0};
@@ -0,0 +1 @@
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t,r,n,o=e(require("react"));function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(null,arguments)}var c=e=>o.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24"},e),t||(t=o.createElement("path",{d:"m16 16-4-4-4 4M12 12v9"})),r||(r=o.createElement("path",{d:"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"})),n||(n=o.createElement("path",{d:"m16 16-4-4-4 4"})));exports.default=c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../Icons/save.svg.js"),t=require("../../../../Core/Menu/index.js"),a=require("../../../../Core/Menu/Button.js"),l=require("../../../../Core/Menu/List.js");exports.default=({variant:n="default",className:i,children:c,data:r,colors:x,onDownload:o,onSaveAsPDF:p,onSaveAsDOCX:d})=>e.jsxs(t.default,Object.assign({id:`save-artifact-${r.id}-${r.version}`},{children:[e.jsx(a.default,Object.assign({variant:n,className:i,style:{color:x.text}},{children:c})),e.jsx(l.default,Object.assign({width:"auto",className:"font-semibold p-1 text-sm",style:{backgroundColor:x.primary,color:x.text},border:`1px solid ${x.primary}`},{children:"text/markdown"===r.type?e.jsxs(e.Fragment,{children:[e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("text/markdown")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"Markdown"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:p},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:d},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"DOCX"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("text/plain")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TXT"]}))]}):"text/html"===r.type?e.jsxs(e.Fragment,{children:[e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("text/html")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"HTML"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:p},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]}))]}):"text/csv"===r.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("text/csv")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"CSV"]})):"text/tab-separated-values"===r.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("text/tab-separated-values")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSV"]})):"image/svg+xml"===r.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("image/svg+xml")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/pdf"===r.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:p},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})):"application/vnd.pxe.code"===r.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("application/vnd.pxe.code")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),`${r.programmingLanguage||"Plain Text"}`]})):"application/vnd.pxe.mermaid"===r.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("application/vnd.pxe.mermaid")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/vnd.pxe.react"===r.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>o("application/vnd.pxe.react")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSX"]})):null}))]}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../Icons/save.svg.js"),t=require("../../../../Icons/upload-cloud.svg.js"),a=require("../../../../Core/Menu/index.js"),l=require("../../../../Core/Menu/Button.js"),n=require("../../../../Core/Menu/List.js"),i=require("../../../../../hooks/pickaxe/usePickaxeContext.js");exports.default=({variant:c="default",className:o,children:r,data:x,colors:d,onDownload:p,onSaveAsPDF:m,onSaveAsDOCX:u,onSaveToKnowledgeBase:j,isSaveToKnowledgeBaseEnabled:b=!1,isSavingToKnowledgeBase:h=!1,isSavedToKnowledgeBase:k=!1})=>{const{translations:g}=i.usePickaxeContext(),f=(e,s)=>{var t;return null!==(t=null==g?void 0:g[e])&&void 0!==t?t:s},v=b&&j?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left disabled:cursor-not-allowed disabled:opacity-50",disabled:h||k,onClick:e=>{e.stopPropagation(),j()}},{children:[e.jsx(t.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),h?f("saving","Saving..."):k?f("saved","Saved"):f("save-to-knowledge-base","Save to Knowledge Base")]})):null;return e.jsxs(a.default,Object.assign({id:`save-artifact-${x.id}-${x.version}`},{children:[e.jsx(l.default,Object.assign({variant:c,className:o,style:{color:d.text}},{children:r})),e.jsxs(n.default,Object.assign({width:"auto",className:"font-semibold p-1 text-sm",style:{backgroundColor:d.primary,color:d.text},border:`1px solid ${d.primary}`},{children:["text/markdown"===x.type?e.jsxs(e.Fragment,{children:[e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("text/markdown")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"Markdown"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:m},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:u},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"DOCX"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("text/plain")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TXT"]}))]}):"text/html"===x.type?e.jsxs(e.Fragment,{children:[e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("text/html")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"HTML"]})),e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:m},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]}))]}):"text/csv"===x.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("text/csv")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"CSV"]})):"text/tab-separated-values"===x.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("text/tab-separated-values")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSV"]})):"image/svg+xml"===x.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("image/svg+xml")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/pdf"===x.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:m},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})):"application/vnd.pxe.code"===x.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("application/vnd.pxe.code")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),`${x.programmingLanguage||"Plain Text"}`]})):"application/vnd.pxe.mermaid"===x.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("application/vnd.pxe.mermaid")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/vnd.pxe.react"===x.type?e.jsxs("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>p("application/vnd.pxe.react")},{children:[e.jsx(s.default,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSX"]})):null,v]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),o=require("react"),a=require("../hooks/useArtifactContext.js"),n=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../Scroll/hooks/useScroll.js"),r=require("../hooks/useArtifact.js"),l=require("react-to-print"),s=require("../../../common/PickaxeMarkdown/index.js"),c=require("../../../common/PickaxeMarkdown/Renderer.js"),d=require("react-syntax-highlighter"),p=require("../../../../../common/docx/index.js"),u=require("file-saver"),x=require("../../Scroll/ScrollLockView.js"),m=require("../../../../Icons/expand.svg.js"),y=require("../../../../Icons/shrink.svg.js"),v=require("../../../../Icons/collapse-new.svg.js"),f=require("../../../../Icons/copy-new.svg.js"),g=require("../../../../Icons/download-new.svg.js"),b=require("../../../common/PickaxeCopyButton.js"),h=require("../../../../Core/ScrollArea.js"),j=require("../../../../Core/TipContainer.js"),w=require("../MermaidRenderer.js"),C=require("./SaveMenu.js"),k=require("./ViewOptions.js"),T=require("csv-to-markdown-table"),F=require("copy-to-clipboard"),O=require("../../../../../common/cn.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var S=A(u),D=A(T),N=A(F);const q="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co";exports.default=u=>{var T,F,A,E;const{artifacts:M,currentPopupType:_,currentArtifact:B,setCurrentArtifact:P}=a.useArtifactContext(),{onLoadArtifact:R}=r.useArtifact(),{styles:$,colors:z,translations:L}=n.usePickaxeContext(),[W,H]=o.useState("code"),[I,V]=o.useState(!1),X=o.useRef(),G=o.useRef(null),J=o.useRef(null),K=l.useReactToPrint({contentRef:X}),{scrollContainerRef:Q,scrollStartSession:U,scrollToBottom:Y,scrollEndSession:Z}=i.useScroll({auto:"code"===W}),ee=null!==(F=null===(T=u.styling)||void 0===T?void 0:T.styles)&&void 0!==F?F:$,te=null!==(E=null===(A=u.styling)||void 0===A?void 0:A.colors)&&void 0!==E?E:z,oe=o.useMemo((()=>{var e,t,o,a,n;if(!u.artifact&&!B)return null;const i=null!==(t=null===(e=u.artifact)||void 0===e?void 0:e.id)&&void 0!==t?t:null==B?void 0:B.id,r=null!==(a=null===(o=u.artifact)||void 0===o?void 0:o.version)&&void 0!==a?a:null==B?void 0:B.version;return null!==(n=M.find((e=>e.id===i&&e.version===r)))&&void 0!==n?n:null}),[B,M,u.artifact]),ae=o.useMemo((()=>oe?"text/csv"===oe.type?D.default(oe.content,",",!0):"text/tab-separated-values"===oe.type?D.default(oe.content,"\t",!0):null:null),[oe]),ne=o.useMemo((()=>(te.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==te?void 0:te.secondaryText]),ie=o.useMemo((()=>{const e=u.artifact&&(null==B?void 0:B.id)===u.artifact.id&&(null==B?void 0:B.version)===u.artifact.version;return"inline"===u.type&&("inline-form"===_?!!B:e)}),[B,_,u.type,u.artifact]);o.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){"inline"===u.type&&u.artifact&&(M.some((e=>u.artifact&&e.id===u.artifact.id&&e.version===u.artifact.version))||R({id:u.artifact.id,version:u.artifact.version}))}))}),[M,u.type,u.artifact]),o.useEffect((()=>{if("application/vnd.pxe.code"===(null==oe?void 0:oe.type)&&H("code"),"finished"!==(null==oe?void 0:oe.status))return H("code"),U(),void Y();Z(),"application/vnd.pxe.code"!==oe.type&&H("render")}),[null==oe?void 0:oe.status,null==oe?void 0:oe.type]),o.useEffect((()=>{var e;!J.current||"text/html"!==(null==oe?void 0:oe.type)&&"application/pdf"!==(null==oe?void 0:oe.type)&&"application/vnd.pxe.react"!==(null==oe?void 0:oe.type)||null===(e=J.current.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==oe.type?"HTML_CODE":"REACT_CODE",content:oe.content},q)}),[null==oe?void 0:oe.content,null==oe?void 0:oe.type]);const re=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!oe)return;if("text/html"===oe.type||"application/pdf"===oe.type){const e=oe.content,t=window.open("","_blank");return void(t&&(t.document.open(),t.document.write(e),t.document.close(),t.focus(),t.print()))}const e=W;"code"===e&&(H("render"),yield new Promise((e=>setTimeout(e,50)))),K(),"code"===e&&H(e)})),le=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!oe)return;const e=yield p.convertMarkdownToDocx(oe.content);p.downloadDocx(e,`${oe.title}.docx`)})),se=t=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!oe)return;let o={mimeType:"text/plain",extension:".txt"};switch(t){case"text/markdown":o={mimeType:"text/markdown",extension:".md"};break;case"text/html":o={mimeType:"text/html",extension:".html"};break;case"text/csv":o={mimeType:"text/csv",extension:".csv"};break;case"text/tab-separated-values":o={mimeType:"text/tab-separated-values",extension:".tsv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":o={mimeType:"image/svg+xml",extension:".svg"};break;case"application/pdf":o={mimeType:"application/pdf",extension:".pdf"};break;case"application/vnd.pxe.code":o={mimeType:`application/${oe.programmingLanguage||"text"};charset=utf-8`,extension:`.${oe.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":o={mimeType:"text/typescript",extension:".tsx"};break;default:o={mimeType:"text/plain",extension:".txt"}}let a=null;if("application/vnd.pxe.mermaid"===oe.type){const t=W;"code"===t&&(H("render"),yield new Promise((e=>setTimeout(e,50))));const o=null===(e=G.current)||void 0===e?void 0:e.querySelector("svg");o&&(a=(new XMLSerializer).serializeToString(o)),"code"===t&&H(t)}const n=new Blob([null!=a?a:oe.content],{type:o.mimeType});S.default(n,`${oe.title}${o.extension}`)})),ce=()=>{"inline"!==u.type||!u.artifact||ie?P(null):P({id:u.artifact.id,version:u.artifact.version})},de=ie||!_.startsWith("inline");return oe?t.jsxs("div",Object.assign({className:O.default("pxe-artifact-renderer flex flex-col","inline"===u.type&&!ie&&"min-h-[320px] mb-6",u.className),style:Object.assign(Object.assign({backgroundColor:te.secondary,color:te.secondaryText},"auto"!==_&&{borderRadius:ee.cornerRadius}),u.style)},{children:[t.jsxs("div",Object.assign({className:"flex items-center gap-4 justify-between px-4 py-3 shadow-sm"},{children:[t.jsxs("div",Object.assign({className:"pxe-artifact-create-header flex min-w-0 items-center gap-4"},{children:[de&&t.jsx(k.default,{type:oe.type,view:W,colors:te,onChange:H}),t.jsx("p",Object.assign({className:"w-[220px] max-w-full truncate text-[18px] font-semilight leading-tight",title:oe.title},{children:oe.title}))]})),"inline"===u.type&&!de&&t.jsx("div",Object.assign({className:"shrink-0"},{children:t.jsx("button",Object.assign({type:"button",style:{color:te.secondaryText},onClick:ce,title:(null==L?void 0:L.expand)||"Expand","aria-label":(null==L?void 0:L.expand)||"Expand artifact"},{children:ie?t.jsx(y.default,{className:"w-6 h-6 shrink-0"}):t.jsx(m.default,{className:"w-6 h-6 shrink-0"})}))}))]})),de&&t.jsx("div",Object.assign({className:"flex items-center justify-between border-y px-4 py-2.5",style:{borderColor:te.primary}},{children:t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[t.jsx("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100",style:{color:te.secondaryText},onClick:ce,title:"inline"===u.type?(null==L?void 0:L.collapse)||"Collapse":(null==L?void 0:L.close)||"Close","aria-label":"inline"===u.type?(null==L?void 0:L.collapse)||"Collapse artifact":(null==L?void 0:L.close)||"Close artifact"},{children:t.jsx(v.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-50",style:{color:te.secondaryText},disabled:I,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(oe)try{N.default(oe.content),V(!0),yield new Promise((e=>setTimeout(e,1500)))}finally{V(!1)}})),title:(null==L?void 0:L.copy)||"Copy","aria-label":(null==L?void 0:L.copy)||"Copy artifact content"},{children:t.jsx(f.default,{className:"h-[18px] w-[18px] shrink-0"})})),t.jsx(C.default,Object.assign({data:oe,colors:te,onDownload:se,onSaveAsPDF:re,onSaveAsDOCX:le,className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100"},{children:t.jsx("div",Object.assign({role:"button",className:"cursor-pointer",style:{color:te.secondaryText},title:(null==L?void 0:L.save)||"Download","aria-label":(null==L?void 0:L.save)||"Download artifact content"},{children:t.jsx(g.default,{className:"h-6 w-6 shrink-0"})}))}))]}))})),t.jsx("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:t.jsxs(h.default,Object.assign({ref:Q,innerClassName:"flex-grow w-full"},{children:["render"===W&&"application/vnd.pxe.code"!==oe.type?t.jsx("div",Object.assign({ref:X,className:O.default("p-4 pb-6 flex-grow flex flex-col","text/html"===oe.type&&"p-0","text/csv"===oe.type&&"p-0","application/pdf"===oe.type&&"p-0","application/vnd.pxe.react"===oe.type&&"p-0")},{children:"text/markdown"===oe.type||"text/csv"===oe.type||"text/tab-separated-values"===oe.type||"image/svg+xml"===oe.type?t.jsx(s.PickaxeMarkdown,Object.assign({theme:ee.theme,colors:te},{children:t.jsx(c.PickaxeMarkdownRenderer,{value:null!=ae?ae:oe.content,className:O.default("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full",("text/csv"===oe.type||"text/tab-separated-values"===oe.type)&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===oe.type?t.jsx(w.default,{ref:G,id:`mermaid-${oe.id}-${oe.version}`,data:oe.content}):"text/html"===oe.type||"application/pdf"===oe.type||"application/vnd.pxe.react"===oe.type?t.jsx("iframe",Object.assign({ref:J,title:oe.title,src:`${q}/${"application/vnd.pxe.react"!==oe.type?"html":"react"}?theme=${ne?"dark":"light"}&bg=${te.secondary}&accent=${te.accent}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==te?void 0:te.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const t=e.target;setTimeout((()=>{var e;try{null===(e=t.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==oe.type?"HTML_CODE":"REACT_CODE",content:oe.content},q)}catch(e){console.error("Error sending message to iframe:",e)}}),100),Y()}},{children:(null==L?void 0:L["iframe-artifact-fallback"])||"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):t.jsx(d.Prism,Object.assign({PreTag:"div",language:"text/markdown"===oe.type?"markdown":"text/html"===oe.type||"image/svg+xml"===oe.type?"xml":"application/vnd.pxe.react"===oe.type?"typescript":oe.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==te?void 0:te.secondaryText},ne&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==te?void 0:te.secondaryText},ne&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==te?void 0:te.secondary}),':not(pre) > code[class*="language-"]':{background:null==te?void 0:te.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==te?void 0:te.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!ne&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==te?void 0:te.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:oe.content})),t.jsx(x.default,{})]}))})),"inline"===u.type&&!ie&&t.jsxs("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[t.jsx(j.default,Object.assign({id:`artifact-copy-${oe.id}-${oe.version}`,tip:(null==L?void 0:L.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:te.secondary,color:te.secondaryText,fontSize:"12px"},align:"bottom"},{children:t.jsx(b.default,{color:te.secondaryText,text:oe.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),t.jsx(j.default,Object.assign({id:`artifact-save-${oe.id}-${oe.version}`,tip:(null==L?void 0:L.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:te.secondary,color:te.secondaryText,fontSize:"12px"},align:"bottom"},{children:t.jsx(C.default,Object.assign({data:oe,colors:te,onDownload:se,onSaveAsPDF:re,onSaveAsDOCX:le},{children:t.jsx("button",Object.assign({style:{color:te.secondaryText}},{children:t.jsx(g.default,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),o=require("react"),n=require("../hooks/useArtifactContext.js"),a=require("../../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../Auth/hooks/useAuthContext.js"),r=require("../../Scroll/hooks/useScroll.js"),l=require("../hooks/useArtifact.js"),s=require("../../../../../hooks/pickaxe/useSubmitDocument.js"),c=require("react-to-print"),d=require("../../../common/PickaxeMarkdown/index.js"),p=require("../../../common/PickaxeMarkdown/Renderer.js"),u=require("react-syntax-highlighter"),m=require("../../../../../common/docx/index.js"),x=require("file-saver"),y=require("../../Scroll/ScrollLockView.js"),v=require("../../../../Icons/expand.svg.js"),f=require("../../../../Icons/shrink.svg.js"),g=require("../../../../Icons/collapse-new.svg.js"),h=require("../../../../Icons/copy-new.svg.js"),b=require("../../../../Icons/download-new.svg.js"),w=require("../../../common/PickaxeCopyButton.js"),j=require("../../../../Core/ScrollArea.js"),k=require("../../../../Core/TipContainer.js"),C=require("../MermaidRenderer.js"),T=require("./SaveMenu.js"),S=require("./ViewOptions.js"),F=require("csv-to-markdown-table"),O=require("copy-to-clipboard"),A=require("../../../../../common/cn.js"),D=require("../../../../../common/error.js");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var E=q(x),N=q(F),B=q(O);const M="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co",_=e=>{var t;const o=null==e?void 0:e.trim().toLowerCase();if(!o)return".txt";return null!==(t={javascript:".js",js:".js",typescript:".ts",ts:".ts",python:".py",py:".py",json:".json",html:".html",css:".css",markdown:".md",md:".md",sql:".sql",shell:".sh",bash:".sh",sh:".sh",yaml:".yaml",yml:".yml",xml:".xml"}[o])&&void 0!==t?t:`.${o}`};exports.default=x=>{var F,O,q,P;const{artifacts:$,currentPopupType:R,currentArtifact:z,setCurrentArtifact:L}=n.useArtifactContext(),{onLoadArtifact:I}=l.useArtifact(),{contextId:W,pickaxeId:H,pickaxe:K,styles:V,colors:X,translations:U}=a.usePickaxeContext(),{isLoggedIn:G,token:J}=i.useAuthContext(),Q=s.useSubmitDocument(),[Y,Z]=o.useState("code"),[ee,te]=o.useState(!1),[oe,ne]=o.useState(!1),[ae,ie]=o.useState(!1),re=o.useRef(),le=o.useRef(null),se=o.useRef(null),ce=c.useReactToPrint({contentRef:re}),{scrollContainerRef:de,scrollStartSession:pe,scrollToBottom:ue,scrollEndSession:me}=r.useScroll({auto:"code"===Y}),xe=null!==(O=null===(F=x.styling)||void 0===F?void 0:F.styles)&&void 0!==O?O:V,ye=null!==(P=null===(q=x.styling)||void 0===q?void 0:q.colors)&&void 0!==P?P:X,ve=o.useMemo((()=>{var e,t,o,n,a;if(!x.artifact&&!z)return null;const i=null!==(t=null===(e=x.artifact)||void 0===e?void 0:e.id)&&void 0!==t?t:null==z?void 0:z.id,r=null!==(n=null===(o=x.artifact)||void 0===o?void 0:o.version)&&void 0!==n?n:null==z?void 0:z.version;return null!==(a=$.find((e=>e.id===i&&e.version===r)))&&void 0!==a?a:null}),[z,$,x.artifact]),fe=o.useMemo((()=>ve?"text/csv"===ve.type?N.default(ve.content,",",!0):"text/tab-separated-values"===ve.type?N.default(ve.content,"\t",!0):null:null),[ve]),ge=o.useMemo((()=>(ye.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==ye?void 0:ye.secondaryText]),he=o.useMemo((()=>{const e=x.artifact&&(null==z?void 0:z.id)===x.artifact.id&&(null==z?void 0:z.version)===x.artifact.version;return"inline"===x.type&&("inline-form"===R?!!z:e)}),[z,R,x.type,x.artifact]),be=o.useMemo((()=>ve?(e=>{switch(e.type){case"text/markdown":return{extension:".md",mimeType:"text/markdown",content:e.content};case"text/html":return{extension:".html",mimeType:"text/html",content:e.content};case"text/csv":return{extension:".csv",mimeType:"text/csv",content:e.content};case"text/tab-separated-values":return{extension:".tsv",mimeType:"text/tab-separated-values",content:e.content};case"image/svg+xml":return{extension:".svg",mimeType:"image/svg+xml",content:e.content};case"application/pdf":return e.content.trimStart().startsWith("%PDF")?{extension:".pdf",mimeType:"application/pdf",content:e.content}:{extension:".html",mimeType:"text/html",content:e.content};case"application/vnd.pxe.code":return{extension:_(e.programmingLanguage),mimeType:"text/plain",content:e.content};case"application/vnd.pxe.mermaid":return{extension:".mmd",mimeType:"text/plain",content:e.content};case"application/vnd.pxe.react":return{extension:".tsx",mimeType:"text/typescript",content:e.content};default:return null}})(ve):null),[ve]);o.useEffect((()=>{e.__awaiter(void 0,void 0,void 0,(function*(){"inline"===x.type&&x.artifact&&($.some((e=>x.artifact&&e.id===x.artifact.id&&e.version===x.artifact.version))||I({id:x.artifact.id,version:x.artifact.version}))}))}),[$,x.type,x.artifact]),o.useEffect((()=>{if("application/vnd.pxe.code"===(null==ve?void 0:ve.type)&&Z("code"),"finished"!==(null==ve?void 0:ve.status))return Z("code"),pe(),void ue();me(),"application/vnd.pxe.code"!==ve.type&&Z("render")}),[null==ve?void 0:ve.status,null==ve?void 0:ve.type]),o.useEffect((()=>{var e;!se.current||"text/html"!==(null==ve?void 0:ve.type)&&"application/pdf"!==(null==ve?void 0:ve.type)&&"application/vnd.pxe.react"!==(null==ve?void 0:ve.type)||null===(e=se.current.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==ve.type?"HTML_CODE":"REACT_CODE",content:ve.content},M)}),[null==ve?void 0:ve.content,null==ve?void 0:ve.type]);const we=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!ve)return;if("text/html"===ve.type||"application/pdf"===ve.type){const e=ve.content,t=window.open("","_blank");return void(t&&(t.document.open(),t.document.write(e),t.document.close(),t.focus(),t.print()))}const e=Y;"code"===e&&(Z("render"),yield new Promise((e=>setTimeout(e,50)))),ce(),"code"===e&&Z(e)})),je=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!ve)return;const e=yield m.convertMarkdownToDocx(ve.content);m.downloadDocx(e,`${ve.title}.docx`)})),ke=t=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!ve)return;let o={mimeType:"text/plain",extension:".txt"};switch(t){case"text/markdown":o={mimeType:"text/markdown",extension:".md"};break;case"text/html":o={mimeType:"text/html",extension:".html"};break;case"text/csv":o={mimeType:"text/csv",extension:".csv"};break;case"text/tab-separated-values":o={mimeType:"text/tab-separated-values",extension:".tsv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":o={mimeType:"image/svg+xml",extension:".svg"};break;case"application/pdf":o={mimeType:"application/pdf",extension:".pdf"};break;case"application/vnd.pxe.code":o={mimeType:`application/${ve.programmingLanguage||"text"};charset=utf-8`,extension:`.${ve.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":o={mimeType:"text/typescript",extension:".tsx"};break;default:o={mimeType:"text/plain",extension:".txt"}}let n=null;if("application/vnd.pxe.mermaid"===ve.type){const t=Y;"code"===t&&(Z("render"),yield new Promise((e=>setTimeout(e,50))));const o=null===(e=le.current)||void 0===e?void 0:e.querySelector("svg");o&&(n=(new XMLSerializer).serializeToString(o)),"code"===t&&Z(t)}const a=new Blob([null!=n?n:ve.content],{type:o.mimeType});E.default(a,`${ve.title}${o.extension}`)})),Ce=()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(ve&&be&&J){ne(!0),ie(!1);try{const t=`${e=ve.title,e.trim().replace(/[\\/:*?"<>|]/g,"-").replace(/\s+/g," ")||"artifact"}${be.extension}`,o=new File([be.content],t,{type:be.mimeType});yield Q.document(Object.assign(Object.assign({contextId:W,pickaxeId:H,file:o},(null==K?void 0:K.workspaceid)&&{workspaceId:K.workspaceid}),{studioSessionToken:J,isUserDocument:!0})),ie(!0),yield new Promise((e=>setTimeout(e,1500)))}catch(e){alert(D.default(e))}finally{ne(!1),ie(!1)}var e}})),Te=()=>{"inline"!==x.type||!x.artifact||he?L(null):L({id:x.artifact.id,version:x.artifact.version})},Se=he||!R.startsWith("inline");return ve?t.jsxs("div",Object.assign({className:A.default("pxe-artifact-renderer flex flex-col","inline"===x.type&&!he&&"min-h-[320px] mb-6",x.className),style:Object.assign(Object.assign({backgroundColor:ye.secondary,color:ye.secondaryText},"auto"!==R&&{borderRadius:xe.cornerRadius}),x.style)},{children:[t.jsxs("div",Object.assign({className:"flex items-center gap-4 justify-between px-4 py-3 shadow-sm"},{children:[t.jsxs("div",Object.assign({className:"pxe-artifact-create-header flex min-w-0 items-center gap-4"},{children:[Se&&t.jsx(S.default,{type:ve.type,view:Y,colors:ye,onChange:Z}),t.jsx("p",Object.assign({className:"w-[220px] max-w-full truncate text-[18px] font-semilight leading-tight",title:ve.title},{children:ve.title}))]})),"inline"===x.type&&!Se&&t.jsx("div",Object.assign({className:"shrink-0"},{children:t.jsx("button",Object.assign({type:"button",style:{color:ye.secondaryText},onClick:Te,title:(null==U?void 0:U.expand)||"Expand","aria-label":(null==U?void 0:U.expand)||"Expand artifact"},{children:he?t.jsx(f.default,{className:"w-6 h-6 shrink-0"}):t.jsx(v.default,{className:"w-6 h-6 shrink-0"})}))}))]})),Se&&t.jsx("div",Object.assign({className:"flex items-center justify-between border-y px-4 py-2.5",style:{borderColor:ye.primary}},{children:t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[t.jsx("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100",style:{color:ye.secondaryText},onClick:Te,title:"inline"===x.type?(null==U?void 0:U.collapse)||"Collapse":(null==U?void 0:U.close)||"Close","aria-label":"inline"===x.type?(null==U?void 0:U.collapse)||"Collapse artifact":(null==U?void 0:U.close)||"Close artifact"},{children:t.jsx(g.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-50",style:{color:ye.secondaryText},disabled:ee,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(ve)try{B.default(ve.content),te(!0),yield new Promise((e=>setTimeout(e,1500)))}finally{te(!1)}})),title:(null==U?void 0:U.copy)||"Copy","aria-label":(null==U?void 0:U.copy)||"Copy artifact content"},{children:t.jsx(h.default,{className:"h-[18px] w-[18px] shrink-0"})})),t.jsx(T.default,Object.assign({data:ve,colors:ye,onDownload:ke,onSaveAsPDF:we,onSaveAsDOCX:je,onSaveToKnowledgeBase:Ce,isSaveToKnowledgeBaseEnabled:G&&Boolean(be),isSavingToKnowledgeBase:oe,isSavedToKnowledgeBase:ae,className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100"},{children:t.jsx("div",Object.assign({role:"button",className:"cursor-pointer",style:{color:ye.secondaryText},title:(null==U?void 0:U.save)||"Download","aria-label":(null==U?void 0:U.save)||"Download artifact content"},{children:t.jsx(b.default,{className:"h-6 w-6 shrink-0"})}))}))]}))})),t.jsx("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:t.jsxs(j.default,Object.assign({ref:de,innerClassName:"flex-grow w-full"},{children:["render"===Y&&"application/vnd.pxe.code"!==ve.type?t.jsx("div",Object.assign({ref:re,className:A.default("p-4 pb-6 flex-grow flex flex-col","text/html"===ve.type&&"p-0","text/csv"===ve.type&&"p-0","application/pdf"===ve.type&&"p-0","application/vnd.pxe.react"===ve.type&&"p-0")},{children:"text/markdown"===ve.type||"text/csv"===ve.type||"text/tab-separated-values"===ve.type||"image/svg+xml"===ve.type?t.jsx(d.PickaxeMarkdown,Object.assign({theme:xe.theme,colors:ye},{children:t.jsx(p.PickaxeMarkdownRenderer,{value:null!=fe?fe:ve.content,className:A.default("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full",("text/csv"===ve.type||"text/tab-separated-values"===ve.type)&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===ve.type?t.jsx(C.default,{ref:le,id:`mermaid-${ve.id}-${ve.version}`,data:ve.content}):"text/html"===ve.type||"application/pdf"===ve.type||"application/vnd.pxe.react"===ve.type?t.jsx("iframe",Object.assign({ref:se,title:ve.title,src:`${M}/${"application/vnd.pxe.react"!==ve.type?"html":"react"}?theme=${ge?"dark":"light"}&bg=${ye.secondary}&accent=${ye.accent}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==ye?void 0:ye.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const t=e.target;setTimeout((()=>{var e;try{null===(e=t.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==ve.type?"HTML_CODE":"REACT_CODE",content:ve.content},M)}catch(e){console.error("Error sending message to iframe:",e)}}),100),ue()}},{children:(null==U?void 0:U["iframe-artifact-fallback"])||"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):t.jsx(u.Prism,Object.assign({PreTag:"div",language:"text/markdown"===ve.type?"markdown":"text/html"===ve.type||"image/svg+xml"===ve.type?"xml":"application/vnd.pxe.react"===ve.type?"typescript":ve.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==ye?void 0:ye.secondaryText},ge&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==ye?void 0:ye.secondaryText},ge&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==ye?void 0:ye.secondary}),':not(pre) > code[class*="language-"]':{background:null==ye?void 0:ye.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==ye?void 0:ye.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!ge&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==ye?void 0:ye.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:ve.content})),t.jsx(y.default,{})]}))})),"inline"===x.type&&!he&&t.jsxs("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[t.jsx(k.default,Object.assign({id:`artifact-copy-${ve.id}-${ve.version}`,tip:(null==U?void 0:U.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:ye.secondary,color:ye.secondaryText,fontSize:"12px"},align:"bottom"},{children:t.jsx(w.default,{color:ye.secondaryText,text:ve.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),t.jsx(k.default,Object.assign({id:`artifact-save-${ve.id}-${ve.version}`,tip:(null==U?void 0:U.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:ye.secondary,color:ye.secondaryText,fontSize:"12px"},align:"bottom"},{children:t.jsx(T.default,Object.assign({data:ve,colors:ye,onDownload:ke,onSaveAsPDF:we,onSaveAsDOCX:je,onSaveToKnowledgeBase:Ce,isSaveToKnowledgeBaseEnabled:G&&Boolean(be),isSavingToKnowledgeBase:oe,isSavedToKnowledgeBase:ae},{children:t.jsx("button",Object.assign({style:{color:ye.secondaryText}},{children:t.jsx(b.default,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};
@@ -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("../../../hooks/pickaxe/useDimensionContext.js"),c=require("../Addons/Auth/hooks/useAuthContext.js"),d=require("../Addons/Document/hooks/useDocument.js"),u=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),f=require("../../../hooks/core/useHover.js"),m=require("../../../hooks/core/useMediaQuery.js"),h=require("../../../common/documents.js"),g=require("eventsource-parser"),v=require("../../Icons/attach-vertical.svg.js"),x=require("../../Icons/arrow-right.svg.js"),b=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),I=require("../Addons/Document/List.js"),j=require("../../Core/Textarea.js"),w=require("../../Core/ErrorAlert.js"),N=require("../../../common/error.js"),O=require("../../../common/api/pickaxe.js"),S=require("../../../common/validation.js"),_=require("../../../common/cn.js"),k=require("../../../common/utils.js"),U=require("../../../hooks/studio/useStudio.js"),C=require("../../../hooks/pickaxe/useSpeech.js"),E=require("../common/PickaxeCommon.js");const T=e=>"string"==typeof e&&e.trim().length>0,A=(e,t)=>{if(e&&"object"==typeof e)return e[t]},D=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},L=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const r=Array.isArray(A(e,"uses"))?A(e,"uses"):[],o=(({deploymentId:e,portalId:t})=>T(e)?{type:"deployment",id:e}:T(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!o)return{scope:o,record:null};const a=null!==(i=null!==(n=r.find((e=>e.id===o.id&&e.type===o.type)))&&void 0!==n?n:r.find((e=>e.id===o.id)))&&void 0!==i?i:null;return{scope:o,record:a}},P=s.forwardRef((({resubmitPrompt:T,onFocus:A,onBlur:P,onInputHeightChange:q,initSmitheryAuthData:R},F)=>{var M,V,$,B,H,X,Y,K,W;const{origin:J,pickaxeId:z,sessionId:G,sender:Q,senderType:Z,portalId:ee,deploymentId:te,deploymentType:se,pickaxe:ne,styles:ie,colors:re,translations:oe,locale:ae,forceMobile:le,isNewChat:ce,isRtl:de,isShowFeedbackMessage:ue,accessGroup:pe,setIsNewChat:fe,setIsShowIceBreaker:me,setValidationStatus:he,setValidationUpgradeGroups:ge,setValidationUpgradeUrl:ve,onGenerateComplete:xe}=n.usePickaxeContext(),{token:be,isLoggedOut:ye,isSent:Ie,isPricingAuth:je}=c.useAuthContext(),{messages:we,isGenerating:Ne,setMessages:Oe,setStatus:Se,setLimitData:_e,setError:ke}=i.useResponseContext(),{documents:Ue,isUploading:Ce,documentError:Ee,onFileUpload:Te,setDocuments:Ae,setDocumentError:De}=d.useDocument(),{studio:Le}=U.useStudio(),{scrollStartSession:Pe,scrollEndSession:qe,scrollToBottom:Re}=u.useScroll({auto:!0}),{artifacts:Fe,currentPopupType:Me,setArtifacts:Ve,setCurrentArtifact:$e}=p.useArtifactContext(),{height:Be}=l.useDimensionContext(),He=a.useConversation(),[Xe,Ye]=s.useState(""),[Ke,We]=s.useState(!1),[Je,ze]=s.useState(!1),[Ge,Qe]=s.useState(null),[Ze,et]=s.useState(null),[tt,st]=s.useState(!1),[nt,it]=s.useState(0),rt=s.useRef(null),ot=s.useRef(""),at=s.useRef(null),lt=s.useRef(null),ct=s.useRef(null),dt=s.useRef(null),ut=s.useRef(null),pt=Math.max(.4*Be,100),{speechTranscript:ft,isSpeechListening:mt,isSpeechProcessing:ht,isSpeechSupported:gt,onStartListening:vt,onStopListening:xt}=C.useSpeech(),[bt]=m.useMediaQuery("(max-width: 480px)"),yt=f.useHover(),{isHover:It}=yt,jt=e.__rest(yt,["isHover"]),wt=f.useHover(),{isHover:Nt}=wt,Ot=e.__rest(wt,["isHover"]),St=f.useHover(),{isHover:_t}=St,kt=e.__rest(St,["isHover"]),Ut=o.useStyleFontSize(),Ct=r.useStyleInput(),Et="undefined"!=typeof window?window.location.hostname:"",Tt="undefined"!=typeof window?window.location.href:"",At="undefined"!=typeof window&&window.self!==window.top,Dt=Et.includes("pickaxe.co")&&!Tt.includes("https://studio.pickaxe.co/_embed")&&!At,Lt=null===(M=null==ne?void 0:ne.documentuploadtype)||void 0===M?void 0:M.startsWith("enduserupload"),Pt=gt&&(null==ne?void 0:ne.enablevoicetotext),qt="chat-input"===se&&ce&&!Ie,Rt="chat-input"===se&&je&&ye&&Ie,Ft=s.useCallback((e=>{const t=S.getValidationFailure(e);return!!t&&(ke(""),_e(null),he(t.status),ge(t.upgradeGroups),ve(t.upgradeUrl),!0)}),[ke,_e,he,ge,ve]),Mt=null!==(V=null==ne?void 0:ne.placeholdertext)&&void 0!==V?V:de?"بماذا تريد أن تتحدث؟":(null==oe?void 0:oe["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Vt=Ke||Je,$t=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign(Object.assign(Object.assign({studioId:null==ne?void 0:ne.studioid},Q&&{sender:Q}),be&&{studioSessionToken:be}),!be&&!Q&&{sender:k.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Dt&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(Qe(t.studioUser),et(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}}))),[J,z,G,Z,Q,be,ee,te,Dt]);s.useEffect((()=>{$t()}),[$t]);const Bt=Number(null!==($=null==pe?void 0:pe.limit)&&void 0!==$?$:0),Ht="string"==typeof(null==pe?void 0:pe.limitInterval)?pe.limitInterval:null,Xt=!!(null==Le?void 0:Le.data.usage)&&Le.data.usage.isCredits,Yt=s.useMemo((()=>L({studioUser:Ge,deploymentId:te,portalId:ee})),[te,ee,Ge]),Kt={currentUses:D(null==Ge?void 0:Ge.currentUses),extraUses:D(null==Ge?void 0:Ge.extraUses)},Wt=Yt.scope?{currentUses:null!==(H=D(null===(B=Yt.record)||void 0===B?void 0:B.currentUses))&&void 0!==H?H:0,extraUses:null!==(Y=D(null===(X=Yt.record)||void 0===X?void 0:X.extraUses))&&void 0!==Y?Y:0}:{currentUses:0,extraUses:0},Jt=ye?Wt:Kt;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(Xt&&(null===(e=null==Le?void 0:Le.data)||void 0===e?void 0:e.workspaceId))try{const e=yield O.default.get(`/cost_per_run?workspaceId=${Le.data.workspaceId}`,{withCredentials:!1});t&&it(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&it(0)}else t&&it(0)})),()=>{t=!1}}),[Xt,null===(K=null==Le?void 0:Le.data)||void 0===K?void 0:K.workspaceId]);const zt=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),r=Number(null!=t?t:0);return s===E.STUDIO_INFINITY_VALUE||r===E.STUDIO_INFINITY_VALUE?E.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,r-i):Math.max(0,s-i)+r})({currentUses:Jt.currentUses,extraUses:Jt.extraUses,limit:Bt,limitInterval:Ht}),Gt=zt===E.STUDIO_INFINITY_VALUE?E.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(zt)),Qt=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===E.STUDIO_INFINITY_VALUE||n===E.STUDIO_INFINITY_VALUE?E.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:Jt.extraUses,limit:Bt,limitInterval:Ht}),Zt=Qt===E.STUDIO_INFINITY_VALUE?E.STUDIO_INFINITY_VALUE:Math.ceil(.05*Qt),es=Xt?Math.ceil(5*nt):5,ts=Zt===E.STUDIO_INFINITY_VALUE?E.STUDIO_INFINITY_VALUE:Math.max(Zt,es);console.log("Usage and Limits Debug:",{remaining:Gt,notificationThreshold:ts,studioUser:Ge});const ss=s.useMemo((()=>!!Ge&&(!tt&&(Gt!==E.STUDIO_INFINITY_VALUE&&(!(Gt<=0)&&Gt<=ts)))),[tt,ts,Gt,Ge]),ns=s.useMemo((()=>{var e,t,s;return!!ce&&(!!ne&&(!He.isLoading&&(!((null!==(t=null===(e=He.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=ne.icebreakers)||void 0===s?void 0:s.length)&&(!ue&&!qt)))))}),[ne,ce,ue,qt,He.data,He.isLoading]),is=s.useMemo((()=>{if(Ne||Ce)return!1;const e=Ue.length>0&&Ue.every((e=>"finished"===e.status));return!(!Xe.trim()&&!e)&&Ue.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Ne,Ce,Xe,Ue]);s.useImperativeHandle(F,(()=>({onSubmit:rs}))),s.useEffect((()=>{me(ns)}),[ns]),s.useEffect((()=>{var e;if(T){const t=Array.from(we),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;rs(s,!0)}}),[T]),s.useEffect((()=>{if(!dt.current||!q)return;const e=new ResizeObserver((e=>{for(const t of e)q(t.contentRect.height)}));return e.observe(dt.current),()=>{e.disconnect()}}),[q]),s.useEffect((()=>{if(!mt)return;const e=ot.current?`${ot.current} `:"";Ye(`${e}${ft}`)}),[ft,mt]),s.useEffect((()=>{if(!lt.current)return;(()=>{if(!lt.current)return;let e=lt.current.scrollHeight>52;Xe.includes("\n")||Ue.length?e=!0:Xe.trim()||(e=!1),We(e)})()}),[Xe,Ue]),s.useEffect((()=>{const e=lt.current,t=ct.current;if(!e||!t||Ke||Xe.includes("\n"))return void ze(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,i=document.createElement("span");Object.assign(i.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),i.textContent=Xe||Mt,document.body.appendChild(i);const r=i.offsetWidth;i.remove();const o=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-o-a-t.offsetWidth;ze(r>l)}),[Xe,Ke,Mt]);const rs=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i;try{if(Ne||Ce)return;const r=Ue.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),o=r.map((e=>e.documentId)).filter(Boolean),a=r.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=o.length>0,c=null!=t?t:Xe;if(!c&&!l)return;ke(""),De(""),_e(null),Ye(""),fe(!1),Se("fetching"),Pe(),Re();const d=null!==(n=null===(e=null==ne?void 0:ne.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&o.length>0,u=[...s?Array.from(we.slice(0,we.length-1)):Array.from(we),...s?[]:[{id:we.length+1,role:"user",parts:[{type:"text",content:c,isVisible:!0}],documentIds:d?o:[]}],{id:we.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];Oe(u),Re(),d&&Ae([]);const p=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:J,pickaxeId:z,sessionId:G,senderType:Z,value:c},d&&{documentIds:o}),Q&&{sender:Q}),be&&{studioSessionToken:be}),!be&&!Q&&{sender:k.initializeEmbedUserId()}),ee&&{portalId:ee}),te&&{deploymentId:te}),a.length>0&&{uploadedModelImages:a})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Dt&&{credentials:"include"})),f=yield p.json();if(!f.success){if(Ft(f))return;const e=new Error(f.error||f.message||(null==oe?void 0:oe["failed-to-start-generation"])||"Failed to start generation");throw f.limitData&&(e.limitData=f.limitData),e}const m=f.submissionId;Se("streaming"),ut.current=new AbortController;const h=u.length-1,v=[];let x=[...null!=Fe?Fe:[]],b=0,y=!1,I="";for(;!y;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${m}?index=${b}`,{signal:null===(i=ut.current)||void 0===i?void 0:i.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();at.current=t;const s=new TextDecoder,n=g.createParser({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&b++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==oe?void 0:oe["something-went-wrong"])||"Something went wrong.";return Ft(t)||ke(s),void(y=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&R){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw y=!0,R({smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw y=!0,R({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)I="",v.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)I+=n.delta,v[v.length-1].content=I;else if("text-end"===n.type)I="";else if("reasoning-start"===n.type)I="",v.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)I+=n.delta,v[v.length-1].content=I;else if("reasoning-end"===n.type)I="";else if(n.type.startsWith("data-")){const e=n;v.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Oe([...u.slice(0,h),Object.assign(Object.assign({},u[u.length-1]),{id:we.length+1,role:"assistant",parts:v})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);x=x.filter((e=>!(e.id===t.id&&e.version===t.version))),x.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ve([...x]),Me.startsWith("inline")||$e({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);x=x.filter((e=>!(e.id===t.id&&e.version===t.version))),x.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ve(x),Me.startsWith("inline")||$e({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);x=x.filter((e=>!(e.id===t.id&&e.version===t.version))),x.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ve(x),Me.startsWith("inline")||$e({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");x=x.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Ve(x)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ve(x.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}else if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==oe?void 0:oe["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(Ft(t))return void(y=!0);ke(s)}else"stop"===e.event&&(y=!0)}else y=!0}});for(;;){const{value:e,done:i}=yield t.read();if(i)break;n.feed(s.decode(e))}y||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(y=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==xe||xe(G)}catch(e){if(e.limitData)_e(e.limitData),ke("");else{let t=N.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==oe?void 0:oe["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),Ft(t)||ke(t)}}finally{Re(),Se("idle"),qe(),at.current=null,yield $t()}}));return Rt?null:t.jsx("div",Object.assign({className:_.default("flex w-full flex-shrink-0 flex-col items-center",!qt&&"px-4 pb-8"),dir:de?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:dt,className:_.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ie.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Ct),{maxHeight:`${pt}px`,overflowY:"auto"})},{children:[ss&&t.jsxs("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Ct.backgroundColor?`${Ct.backgroundColor}E6`:void 0,borderColor:re.text+"20",color:re.text,borderTopRightRadius:ie.cornerRadius+"px",borderTopLeftRadius:ie.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[Gt.toLocaleString()," ",Xt?(null==oe?void 0:oe.credits)||"Credits":(null==oe?void 0:oe.uses)||"Uses"," ",(null==oe?void 0:oe.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:re.accent,color:re.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=k.buildUpgradeUrl({baseUrl:Ze,accessGroupId:null==pe?void 0:pe.accessGroupId});t&&(k.isInIframe()?window.open(t):location.href=t)}},{children:(null==oe?void 0:oe.upgrade)||"Upgrade"})),t.jsx("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>st(!0)},{children:t.jsx("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Ne&&Ue.length>0&&t.jsx(I.default,{className:"p-4 pb-0",isDisabled:Ne}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[mt&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(W=re.accent)&&void 0!==W?W:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:re.text+"90"}},{children:(null==oe?void 0:oe.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:lt,className:_.default(Ut.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!Xe.trim()&&!Xe.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",de?"text-right":"text-left",Vt&&"mb-12",mt&&"text-transparent"),value:Xe,placeholder:Mt,onChange:e=>{Ye(e)},onKeyDown:e=>{le||bt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Ce||Ne||rs()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),fe(!1),yield Te(e))}))},A&&{onFocus:A},P&&{onBlur:P},{dir:de?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:ct,className:_.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",Vt?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Vt&&Ct.backgroundColor&&{backgroundColor:Ct.backgroundColor}),{borderTopRightRadius:ie.cornerRadius+"px",borderBottomRightRadius:ie.cornerRadius+"px"})},{children:Ne?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{ut.current&&(ut.current.abort(),ut.current=null),at.current&&(at.current.cancel(),at.current=null),Se("idle")},style:{backgroundColor:re.accent,color:re.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):mt?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:xt,style:{backgroundColor:re.accent,color:re.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[Lt&&t.jsxs("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Nt?re.accent+"10":void 0,color:Nt?re.accent:re.accent+"80"},disabled:Ce||Ne,onClick:()=>{var e;return null===(e=rt.current)||void 0===e?void 0:e.click()}},Ot,{children:[t.jsx("input",{id:"file-upload",ref:rt,type:"file",accept:[...h.allowedFileMimeTypes,...h.allowedImageMimeTypes,...h.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){fe(!1),yield Te(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(v.default,{className:"h-6 w-6 shrink-0"})]})),Pt&&t.jsx("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:mt?re.accent:_t?re.accent+"10":void 0,color:mt?re.accentText:_t?re.accent:re.accent+"80"},disabled:Ce||Ne||ht,onClick:()=>{mt?xt():(ot.current=Xe,vt(ae||"en-US"))}},kt,{children:t.jsx(b.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:It||is?re.accent:re.accent+"10",color:It||is?re.accentText:re.accent+"80"},disabled:!is,onClick:()=>rs()},jt,{children:t.jsx(x.default,{className:_.default("h-6 w-6 shrink-0",de&&"scale-x-[-1] transform")})}))]})}))]}))]})),Ee&&t.jsx(w.default,{error:Ee,className:"mt-3"})]}))}))}));P.displayName="Input",exports.default=P;
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"),o=require("../../../hooks/studio/useStyleInput.js"),r=require("../../../hooks/studio/useStyleFontSize.js"),a=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useDimensionContext.js"),d=require("../Addons/Auth/hooks/useAuthContext.js"),c=require("../Addons/Document/hooks/useDocument.js"),u=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../Addons/Artifact/hooks/useArtifactContext.js"),m=require("../../../hooks/core/useHover.js"),f=require("../../../hooks/core/useMediaQuery.js"),g=require("../../../common/documents.js"),h=require("eventsource-parser"),v=require("../../Icons/attach-vertical.svg.js"),b=require("../../Icons/arrow-right.svg.js"),x=require("../../Icons/microphone.svg.js"),y=require("../../Icons/stop.svg.js"),I=require("../Addons/Document/List.js"),j=require("../../Core/Textarea.js"),w=require("../../Core/ErrorAlert.js"),O=require("../../../common/error.js"),N=require("../../../common/api/pickaxe.js"),S=require("../../../common/validation.js"),k=require("../../../common/cn.js"),_=require("../../../common/utils.js"),U=require("../../../common/pickaxeConfig.js"),C=require("../../../common/deploymentWebhooks.js"),E=require("../../../hooks/studio/useStudio.js"),T=require("../../../hooks/pickaxe/useSpeech.js"),A=require("../common/PickaxeCommon.js");const D=e=>"string"==typeof e&&e.trim().length>0,L=(e,t)=>{if(e&&"object"==typeof e)return e[t]},P=(e,t)=>{const s=L(e,t);return D(s)?s:null},q=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},R=({studioUser:e,deploymentId:t,portalId:s})=>{var n,i;const o=Array.isArray(L(e,"uses"))?L(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>D(e)?{type:"deployment",id:e}:D(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!r)return{scope:r,record:null};const a=null!==(i=null!==(n=o.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==n?n:o.find((e=>e.id===r.id)))&&void 0!==i?i:null;return{scope:r,record:a}},M=s.forwardRef((({resubmitPrompt:L,onFocus:M,onBlur:F,onInputHeightChange:V,initSmitheryAuthData:H},W)=>{var $,B,X,Y,K,z,J,G,Q;const{origin:Z,pickaxeId:ee,sessionId:te,sender:se,senderType:ne,portalId:ie,deploymentId:oe,deploymentType:re,pickaxe:ae,styles:le,colors:de,translations:ce,locale:ue,forceMobile:pe,isNewChat:me,isRtl:fe,isShowFeedbackMessage:ge,accessGroup:he,setIsNewChat:ve,setIsShowIceBreaker:be,setValidationStatus:xe,setValidationUpgradeGroups:ye,setValidationUpgradeUrl:Ie,onGenerateComplete:je}=n.usePickaxeContext(),{token:we,isLoggedOut:Oe,isSent:Ne,isPricingAuth:Se}=d.useAuthContext(),{messages:ke,isGenerating:_e,setMessages:Ue,setStatus:Ce,setLimitData:Ee,setError:Te}=i.useResponseContext(),{documents:Ae,isUploading:De,documentError:Le,onFileUpload:Pe,setDocuments:qe,setDocumentError:Re}=c.useDocument(),{studio:Me}=E.useStudio(),{scrollStartSession:Fe,scrollEndSession:Ve,scrollToBottom:He}=u.useScroll({auto:!0}),{artifacts:We,currentPopupType:$e,setArtifacts:Be,setCurrentArtifact:Xe}=p.useArtifactContext(),{height:Ye}=l.useDimensionContext(),Ke=a.useConversation(),[ze,Je]=s.useState(""),[Ge,Qe]=s.useState(!1),[Ze,et]=s.useState(!1),[tt,st]=s.useState(null),[nt,it]=s.useState(null),[ot,rt]=s.useState(!1),[at,lt]=s.useState(!1),[dt,ct]=s.useState(0),ut=s.useRef(null),pt=s.useRef(""),mt=s.useRef(null),ft=s.useRef(null),gt=s.useRef(null),ht=s.useRef(null),vt=s.useRef(null),bt=s.useRef(new Set),xt=s.useRef(null),yt=Math.max(.4*Ye,100),{speechTranscript:It,isSpeechListening:jt,isSpeechProcessing:wt,isSpeechSupported:Ot,onStartListening:Nt,onStopListening:St}=T.useSpeech(),[kt]=f.useMediaQuery("(max-width: 480px)"),_t=m.useHover(),{isHover:Ut}=_t,Ct=e.__rest(_t,["isHover"]),Et=m.useHover(),{isHover:Tt}=Et,At=e.__rest(Et,["isHover"]),Dt=m.useHover(),{isHover:Lt}=Dt,Pt=e.__rest(Dt,["isHover"]),qt=r.useStyleFontSize(),Rt=o.useStyleInput(),Mt="undefined"!=typeof window?window.location.hostname:"",Ft="undefined"!=typeof window?window.location.href:"",Vt="undefined"!=typeof window&&window.self!==window.top,Ht=Mt.includes("pickaxe.co")&&!Ft.includes("https://studio.pickaxe.co/_embed")&&!Vt,Wt=null===($=null==ae?void 0:ae.documentuploadtype)||void 0===$?void 0:$.startsWith("enduserupload"),$t=Ot&&(null==ae?void 0:ae.enablevoicetotext),Bt=D(oe),Xt="chat-input"===re&&me&&!Ne,Yt="chat-input"===re&&Se&&Oe&&Ne,Kt=s.useCallback((e=>{const t=S.getValidationFailure(e);return!!t&&(Te(""),Ee(null),xe(t.status),ye(t.upgradeGroups),Ie(t.upgradeUrl),!0)}),[Te,Ee,xe,ye,Ie]),zt=null!==(B=null==ae?void 0:ae.placeholdertext)&&void 0!==B?B:fe?"بماذا تريد أن تتحدث؟":(null==ce?void 0:ce["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Jt=Ge||Ze,Gt=s.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){rt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign(Object.assign(Object.assign({studioId:null==ae?void 0:ae.studioid},se&&{sender:se}),we&&{studioSessionToken:we}),!we&&!se&&{sender:_.initializeEmbedUserId()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Ht&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(st(t.studioUser),it(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{rt(!0)}}))),[Z,ee,te,ne,se,we,ie,oe,Ht]);s.useEffect((()=>{Gt()}),[Gt]);const Qt=Number(null!==(X=null==he?void 0:he.limit)&&void 0!==X?X:0),Zt="string"==typeof(null==he?void 0:he.limitInterval)?he.limitInterval:null,es=!!(null==Me?void 0:Me.data.usage)&&Me.data.usage.isCredits,ts=s.useMemo((()=>R({studioUser:tt,deploymentId:oe,portalId:ie})),[oe,ie,tt]);s.useEffect((()=>{Bt&&me&&te&&bt.current.add(te)}),[me,te,Bt]);const ss=s.useCallback((()=>{var e,t,s;return{studioId:null==ae?void 0:ae.studioid,userEmail:P(tt,"email"),userId:null!==(e=P(tt,"userId"))&&void 0!==e?e:P(tt,"userid"),sessionId:te,deploymentId:oe,deploymentType:re,portalId:ie,accessGroupId:null!==(t=null==he?void 0:he.accessGroupId)&&void 0!==t?t:null,pickaxeId:ee,sender:se,senderType:ne,origin:Z,metadata:null!==(s=U.getPickaxeConfigMetadata(oe))&&void 0!==s?s:null}}),[null==he?void 0:he.accessGroupId,oe,re,Z,null==ae?void 0:ae.studioid,ee,ie,se,ne,te,tt]),ns=s.useCallback((()=>!!(Bt&&ot&&te)&&(!!bt.current.has(te)&&(C.fireDeploymentSessionInitializedWebhook(ss()),bt.current.delete(te),!0))),[ss,ot,te,Bt]);s.useEffect((()=>{if(!ot||!te)return;ns();const e=xt.current;(null==e?void 0:e.sessionId)===te&&(C.fireDeploymentFirstMessageSubmittedWebhook(Object.assign(Object.assign(Object.assign({},e),ss()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),xt.current=null)}),[ns,ss,ot,te]);const is={currentUses:q(null==tt?void 0:tt.currentUses),extraUses:q(null==tt?void 0:tt.extraUses)},os=ts.scope?{currentUses:null!==(K=q(null===(Y=ts.record)||void 0===Y?void 0:Y.currentUses))&&void 0!==K?K:0,extraUses:null!==(J=q(null===(z=ts.record)||void 0===z?void 0:z.extraUses))&&void 0!==J?J:0}:{currentUses:0,extraUses:0},rs=Oe?os:is;s.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(es&&(null===(e=null==Me?void 0:Me.data)||void 0===e?void 0:e.workspaceId))try{const e=yield N.default.get(`/cost_per_run?workspaceId=${Me.data.workspaceId}`,{withCredentials:!1});t&&ct(1e4*(Number(e.data.costPerRun)||0))}catch(e){console.error("Failed to fetch average cost per run:",e),t&&ct(0)}else t&&ct(0)})),()=>{t=!1}}),[es,null===(G=null==Me?void 0:Me.data)||void 0===G?void 0:G.workspaceId]);const as=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const i=Number(null!=e?e:0),o=Number(null!=t?t:0);return s===A.STUDIO_INFINITY_VALUE||o===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===n?Math.max(0,o-i):Math.max(0,s-i)+o})({currentUses:rs.currentUses,extraUses:rs.extraUses,limit:Qt,limitInterval:Zt}),ls=as===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(0,Math.ceil(as)),ds=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===A.STUDIO_INFINITY_VALUE||n===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:rs.extraUses,limit:Qt,limitInterval:Zt}),cs=ds===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.ceil(.05*ds),us=es?Math.ceil(5*dt):5,ps=cs===A.STUDIO_INFINITY_VALUE?A.STUDIO_INFINITY_VALUE:Math.max(cs,us);console.log("Usage and Limits Debug:",{remaining:ls,notificationThreshold:ps,studioUser:tt});const ms=s.useMemo((()=>!!tt&&(!at&&(ls!==A.STUDIO_INFINITY_VALUE&&(!(ls<=0)&&ls<=ps)))),[at,ps,ls,tt]),fs=s.useMemo((()=>{var e,t,s;return!!me&&(!!ae&&(!Ke.isLoading&&(!((null!==(t=null===(e=Ke.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=ae.icebreakers)||void 0===s?void 0:s.length)&&(!ge&&!Xt)))))}),[ae,me,ge,Xt,Ke.data,Ke.isLoading]),gs=s.useMemo((()=>{if(_e||De)return!1;const e=Ae.length>0&&Ae.every((e=>"finished"===e.status));return!(!ze.trim()&&!e)&&Ae.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[_e,De,ze,Ae]);s.useImperativeHandle(W,(()=>({onSubmit:hs}))),s.useEffect((()=>{be(fs)}),[fs]),s.useEffect((()=>{var e;if(L){const t=Array.from(ke),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;hs(s,!0)}}),[L]),s.useEffect((()=>{if(!ht.current||!V)return;const e=new ResizeObserver((e=>{for(const t of e)V(t.contentRect.height)}));return e.observe(ht.current),()=>{e.disconnect()}}),[V]),s.useEffect((()=>{if(!jt)return;const e=pt.current?`${pt.current} `:"";Je(`${e}${It}`)}),[It,jt]),s.useEffect((()=>{if(!ft.current)return;(()=>{if(!ft.current)return;let e=ft.current.scrollHeight>52;ze.includes("\n")||Ae.length?e=!0:ze.trim()||(e=!1),Qe(e)})()}),[ze,Ae]),s.useEffect((()=>{const e=ft.current,t=gt.current;if(!e||!t||Ge||ze.includes("\n"))return void et(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,i=document.createElement("span");Object.assign(i.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),i.textContent=ze||zt,document.body.appendChild(i);const o=i.offsetWidth;i.remove();const r=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;et(o>l)}),[ze,Ge,zt]);const hs=(t,s=!1)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,n,i;try{if(_e||De)return;const o=Ae.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),r=o.map((e=>e.documentId)).filter(Boolean),a=o.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=r.length>0,d=null!=t?t:ze;if(!d&&!l)return;Te(""),Re(""),Ee(null),Je(""),ve(!1),Ce("fetching"),Fe(),He();const c=null!==(n=null===(e=null==ae?void 0:ae.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==n&&n&&r.length>0,u=[...s?Array.from(ke.slice(0,ke.length-1)):Array.from(ke),...s?[]:[{id:ke.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:c?r:[]}],{id:ke.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];Ue(u),He(),c&&qe([]);const p=U.getPickaxeConfigMetadata(oe),m=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:Z,pickaxeId:ee,sessionId:te,senderType:ne,value:d},c&&{documentIds:r}),se&&{sender:se}),we&&{studioSessionToken:we}),!we&&!se&&{sender:_.initializeEmbedUserId()}),ie&&{portalId:ie}),oe&&{deploymentId:oe}),p&&{metadata:p}),a.length>0&&{uploadedModelImages:a})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Ht&&{credentials:"include"})),f=yield m.json();if(!f.success){if(Kt(f))return;const e=new Error(f.error||f.message||(null==ce?void 0:ce["failed-to-start-generation"])||"Failed to start generation");throw f.limitData&&(e.limitData=f.limitData),e}const g=f.submissionId;Bt&&me&&te&&bt.current.add(te);const v=Object.assign(Object.assign({},ss()),{message:d,documentIds:c?r:[],uploadedModelImages:a,hasUploadedDocuments:c,isHidden:s,metadata:null!=p?p:null});ot?(ns(),C.fireDeploymentFirstMessageSubmittedWebhook(v)):xt.current=v,Ce("streaming"),vt.current=new AbortController;const b=u.length-1,x=[];let y=[...null!=We?We:[]],I=0,j=!1,w="";for(;!j;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${g}?index=${I}`,{signal:null===(i=vt.current)||void 0===i?void 0:i.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();mt.current=t;const s=new TextDecoder,n=h.createParser({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&I++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==ce?void 0:ce["something-went-wrong"])||"Something went wrong.";return Kt(t)||Te(s),void(j=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&H){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw j=!0,H({smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw j=!0,H({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)w="",x.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)w+=n.delta,x[x.length-1].content=w;else if("text-end"===n.type)w="";else if("reasoning-start"===n.type)w="",x.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)w+=n.delta,x[x.length-1].content=w;else if("reasoning-end"===n.type)w="";else if(n.type.startsWith("data-")){const e=n;x.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Ue([...u.slice(0,b),Object.assign(Object.assign({},u[u.length-1]),{id:ke.length+1,role:"assistant",parts:x})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);y=y.filter((e=>!(e.id===t.id&&e.version===t.version))),y.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Be([...y]),$e.startsWith("inline")||Xe({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);y=y.filter((e=>!(e.id===t.id&&e.version===t.version))),y.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Be(y),$e.startsWith("inline")||Xe({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);y=y.filter((e=>!(e.id===t.id&&e.version===t.version))),y.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Be(y),$e.startsWith("inline")||Xe({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");y=y.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Be(y)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Be(y.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),s=t.error||t.message||(null==ce?void 0:ce["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(Kt(t))return void(j=!0);Te(s)}else"stop"===e.event&&(j=!0)}else j=!0}});for(;;){const{value:e,done:i}=yield t.read();if(i)break;n.feed(s.decode(e))}j||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(j=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==je||je(te)}catch(e){if(e.limitData)Ee(e.limitData),Te("");else{let t=O.default(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==ce?void 0:ce["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),Kt(t)||Te(t)}}finally{He(),Ce("idle"),Ve(),mt.current=null,yield Gt()}}));return Yt?null:t.jsx("div",Object.assign({className:k.default("flex w-full flex-shrink-0 flex-col items-center",!Xt&&"px-4 pb-8"),dir:fe?"rtl":"ltr"},{children:t.jsxs("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[t.jsxs("div",Object.assign({ref:ht,className:k.default("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===le.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Rt),{maxHeight:`${yt}px`,overflowY:"auto"})},{children:[ms&&t.jsxs("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Rt.backgroundColor?`${Rt.backgroundColor}E6`:void 0,borderColor:de.text+"20",color:de.text,borderTopRightRadius:le.cornerRadius+"px",borderTopLeftRadius:le.cornerRadius+"px"}},{children:[t.jsx("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:t.jsxs("span",{children:[ls.toLocaleString()," ",es?(null==ce?void 0:ce.credits)||"Credits":(null==ce?void 0:ce.uses)||"Uses"," ",(null==ce?void 0:ce.remaining)||"remaining"]})})),t.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[t.jsx("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:de.accent,color:de.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=_.buildUpgradeUrl({baseUrl:nt,accessGroupId:null==he?void 0:he.accessGroupId});t&&(_.isInIframe()?window.open(t):location.href=t)}},{children:(null==ce?void 0:ce.upgrade)||"Upgrade"})),t.jsx("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>lt(!0)},{children:t.jsx("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!_e&&Ae.length>0&&t.jsx(I.default,{className:"p-4 pb-0",isDisabled:_e}),t.jsxs("div",Object.assign({className:"relative flex w-full flex-col"},{children:[jt&&t.jsxs("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[t.jsx("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(Q=de.accent)&&void 0!==Q?Q:"#ff0000"}}),t.jsx("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:de.text+"90"}},{children:(null==ce?void 0:ce.listening)||"Listening..."}))]})),t.jsx(j.default,Object.assign({ref:ft,className:k.default(qt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!ze.trim()&&!ze.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",fe?"text-right":"text-left",Jt&&"mb-12",jt&&"text-transparent"),value:ze,placeholder:zt,onChange:e=>{Je(e)},onKeyDown:e=>{pe||kt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),De||_e||hs()))},onPaste:t=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=Array.from(t.clipboardData.files||[]);e.length>0&&(t.preventDefault(),ve(!1),yield Pe(e))}))},M&&{onFocus:M},F&&{onBlur:F},{dir:fe?"rtl":"ltr"})),t.jsx("div",Object.assign({ref:gt,className:k.default("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",Jt?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Jt&&Rt.backgroundColor&&{backgroundColor:Rt.backgroundColor}),{borderTopRightRadius:le.cornerRadius+"px",borderBottomRightRadius:le.cornerRadius+"px"})},{children:_e?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{vt.current&&(vt.current.abort(),vt.current=null),mt.current&&(mt.current.cancel(),mt.current=null),Ce("idle")},style:{backgroundColor:de.accent,color:de.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):jt?t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:St,style:{backgroundColor:de.accent,color:de.accentText}},{children:t.jsx(y.default,{className:"h-4 w-4 shrink-0"})})):t.jsxs(t.Fragment,{children:[Wt&&t.jsxs("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Tt?de.accent+"10":void 0,color:Tt?de.accent:de.accent+"80"},disabled:De||_e,onClick:()=>{var e;return null===(e=ut.current)||void 0===e?void 0:e.click()}},At,{children:[t.jsx("input",{id:"file-upload",ref:ut,type:"file",accept:[...g.allowedFileMimeTypes,...g.allowedImageMimeTypes,...g.additionalAllowedFileExtensions].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:t=>e.__awaiter(void 0,void 0,void 0,(function*(){ve(!1),yield Pe(Array.from(t.target.files||[])),t.target.value=""}))}),t.jsx(v.default,{className:"h-6 w-6 shrink-0"})]})),$t&&t.jsx("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:jt?de.accent:Lt?de.accent+"10":void 0,color:jt?de.accentText:Lt?de.accent:de.accent+"80"},disabled:De||_e||wt,onClick:()=>{jt?St():(pt.current=ze,Nt(ue||"en-US"))}},Pt,{children:t.jsx(x.default,{className:"h-5 w-5 shrink-0"})})),t.jsx("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Ut||gs?de.accent:de.accent+"10",color:Ut||gs?de.accentText:de.accent+"80"},disabled:!gs,onClick:()=>hs()},Ct,{children:t.jsx(b.default,{className:k.default("h-6 w-6 shrink-0",fe&&"scale-x-[-1] transform")})}))]})}))]}))]})),Le&&t.jsx(w.default,{error:Le,className:"mt-3"})]}))}))}));M.displayName="Input",exports.default=M;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),o=require("../../../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../../../Addons/Auth/hooks/useAuthContext.js"),i=require("../../../../../../hooks/pickaxe/useSubmitDocument.js"),l=require("../../hooks/usePickaxeMarkdownContext.js"),n=require("../../../../../Icons/download.svg.js"),r=require("../../../../../Icons/copy.svg.js"),c=require("../../../../../Icons/copied.svg.js"),d=require("../../../../../Icons/file.svg.js"),u=require("../../../../../Icons/upload-cloud.svg.js"),p=require("copy-to-clipboard"),m=require("../../../../../../common/error.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var x=f(p);const b=new Set(["jpeg","jpg","gif","bmp","webp","svg","tiff","avif","png","jfif","pjpeg","pjp"]),g=new Set(["mp3","wav","ogg","flac","aac","wma","alac","m4a","aiff","ape","au","mid","midi","opus"]),v=new Set(["mp4","webm","mov","avi","mkv","m4v"]),h=new Set(["csv","tsv","txt","json","xml","md","log","yaml","yml"]),w=new Set(["doc","docx","xls","xlsx","ppt","pptx"]),j=e=>b.has(e)?"image":g.has(e)?"audio":v.has(e)?"video":"pdf"===e?"pdf":"html"===e||"htm"===e?"html":h.has(e)?"text":w.has(e)?"office":"file",k=e=>{const t=(e=>{let t=e.trim();for(;/[),.;!?]$/.test(t);)t=t.slice(0,-1);return t})(e);return t.startsWith("http://")?`https://${t.slice(7)}`:t.startsWith("www.")?`https://${t}`:t};exports.default=({fileInfo:p,displayName:f})=>{const{theme:b,colors:g,disableHtml:v,disableJs:h}=l.usePickaxeMarkdownContext(),{contextId:w,pickaxeId:j,pickaxe:k,translations:y}=o.usePickaxeContext(),{isLoggedIn:N,token:C}=a.useAuthContext(),O=i.useSubmitDocument(),[S,I]=s.useState(!1),[q,F]=s.useState(!1),[D,$]=s.useState(!1),_=(e,t)=>{var s;return null!==(s=null==y?void 0:y[e])&&void 0!==s?s:t},P="dark"===b?"#30363D":"#D0D7DE",R="dark"===b?"#0D1117":"#F6F8FA",T="dark"===b?"#161B22":"#FFFFFF",U=(null==f?void 0:f.trim())||p.fileName,A=U!==p.fileName,B={display:"inline-flex",width:32,height:32,alignItems:"center",justifyContent:"center",borderRadius:4,color:g.accentText,backgroundColor:g.accent,opacity:.88,flexShrink:0},E=(e,s,o)=>t.jsx("div",Object.assign({className:"flex w-full p-4"},{children:t.jsxs("div",Object.assign({className:"relative w-full overflow-hidden rounded-md shadow-sm",style:{aspectRatio:"8.5 / 11",backgroundColor:T,border:`1px solid ${P}`}},{children:[t.jsx("iframe",Object.assign({src:e,title:s},o,{className:"h-full w-full",scrolling:"no",tabIndex:-1,style:{border:"none",pointerEvents:"none"}})),t.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-10",style:{background:"dark"===b?"linear-gradient(to top, rgba(22,27,34,0.95), rgba(22,27,34,0))":"linear-gradient(to top, rgba(255,255,255,0.95), rgba(255,255,255,0))"}})]}))}));return t.jsxs("div",Object.assign({className:"my-2 w-full overflow-hidden rounded-lg",style:{border:`1px solid ${P}`,backgroundColor:R,color:g.secondaryText}},{children:[t.jsxs("div",Object.assign({className:"flex items-center justify-between gap-3 border-b px-3 py-2",style:{borderColor:P}},{children:[t.jsx("a",Object.assign({href:p.url,target:"_blank",rel:"noopener noreferrer",className:"min-w-0 flex-1 truncate text-sm font-semibold hover:underline",style:{color:g.secondaryText},title:A?`${U} (${p.fileName})`:U},{children:U})),t.jsxs("div",Object.assign({className:"flex shrink-0 items-center gap-1.5"},{children:[t.jsx("button",Object.assign({type:"button",onClick:()=>{const e=document.createElement("a");e.href=p.url,e.download=p.fileName,e.target="_blank",e.rel="noopener noreferrer",e.click()},title:_("download","Download"),"aria-label":_("download","Download"),style:B},{children:t.jsx(n.default,{className:"h-[18px] w-[18px]"})})),t.jsx("button",Object.assign({type:"button",onClick:()=>{e.__awaiter(void 0,void 0,void 0,(function*(){try{I(!0),x.default(p.url),yield new Promise((e=>setTimeout(e,1500)))}finally{I(!1)}}))},title:S?_("copied","Copied"):_("copy-link","Copy link"),"aria-label":S?_("copied","Copied"):_("copy-link","Copy link"),style:Object.assign(Object.assign({},B),{opacity:S?1:B.opacity})},{children:S?t.jsx(c.default,{className:"h-[18px] w-[18px]"}):t.jsx(r.default,{className:"h-[18px] w-[18px]"})})),N&&C&&t.jsx("button",Object.assign({type:"button",disabled:q||D,onClick:()=>{e.__awaiter(void 0,void 0,void 0,(function*(){if(C&&!q){F(!0),$(!1);try{const e=yield fetch(p.url);if(!e.ok)throw new Error("Failed to download generated file.");const t=yield e.blob(),s=new File([t],p.fileName,{type:t.type||"application/octet-stream"});yield O.document(Object.assign(Object.assign({contextId:w,pickaxeId:j,file:s},(null==k?void 0:k.workspaceid)&&{workspaceId:k.workspaceid}),{studioSessionToken:C,isUserDocument:!0})),$(!0),yield new Promise((e=>setTimeout(e,1500)))}catch(e){alert(m.default(e))}finally{F(!1),$(!1)}}}))},title:q?_("saving","Saving..."):D?_("saved","Saved"):_("save-to-knowledge-base","Save to Knowledge Base"),"aria-label":q?_("saving","Saving..."):D?_("saved","Saved"):_("save-to-knowledge-base","Save to Knowledge Base"),style:Object.assign(Object.assign({},B),{opacity:q||D?.55:B.opacity,cursor:q||D?"not-allowed":"pointer"})},{children:t.jsx(u.default,{className:"h-[18px] w-[18px]"})}))]}))]})),t.jsx("div",{children:(()=>{if("image"===p.kind)return t.jsx("img",{src:p.url,alt:p.fileName,className:"block max-h-[420px] w-full object-contain"});if("audio"===p.kind)return t.jsx("div",Object.assign({className:"flex min-h-[72px] items-center p-4"},{children:t.jsx("audio",{className:"w-full",controls:!0,src:p.url})}));if("video"===p.kind)return t.jsx("video",{className:"block max-h-[420px] w-full bg-black",controls:!0,preload:"metadata",src:p.url});if("pdf"===p.kind||"text"===p.kind){const e="pdf"===p.kind?`${p.url}#page=1&toolbar=0&navpanes=0&scrollbar=0&view=FitH`:p.url;return E(e,p.fileName)}if("html"===p.kind&&!v){const e=["allow-same-origin","allow-forms","allow-popups","allow-downloads","allow-modals",h?"":"allow-scripts"].filter(Boolean).join(" ");return E(p.url,p.fileName,{sandbox:e})}return"office"===p.kind?E(`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(p.url)}`,p.fileName):t.jsxs("div",Object.assign({className:"flex min-h-[120px] items-center justify-center gap-3 p-6 text-sm"},{children:[t.jsx(d.default,{className:"h-8 w-8 shrink-0"}),t.jsx("span",Object.assign({className:"break-all"},{children:p.extension.toUpperCase()}))]}))})()})]}))},exports.getFilePreviewInfo=e=>{var t,s;try{const o=k(e),a=new URL(o);if("https:"!==a.protocol&&"http:"!==a.protocol)return null;const i=a.pathname.split("/").filter(Boolean).pop();if(!i)return null;const l=decodeURIComponent(i),n=null===(s=null===(t=l.match(/\.([a-z0-9]{1,10})$/i))||void 0===t?void 0:t[1])||void 0===s?void 0:s.toLowerCase();return n?{url:o,fileName:l,extension:n,kind:j(n)}:null}catch(e){return null}},exports.normalizeMarkdownUrl=k,exports.shouldRenderFilePreview=(e,t)=>!!e&&(!t||!t.current.has(e.url)&&(t.current.add(e.url),!0));
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../../hooks/usePickaxeMarkdownContext.js"),s=require("../Img/index.js"),o=require("../common/IframeVideo.js"),i=require("./Audio.js"),a=require("./Html/index.js");exports.A=({href:m="",children:c})=>{const{colors:u}=r.usePickaxeMarkdownContext(),l=t.useMemo((()=>{if(!m)return"";return m.startsWith("http://")?`https://${m.slice(7)}`:m.startsWith("www.")?`https://${m}`:m}),[m]),n=t.useMemo((()=>{const e=l.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(e)return{title:"youtube-embed",src:`https://www.youtube.com/embed/${e[1]}`};const t=l.match(/loom\.com\/(?:share|embed)\/([\w-]+)/i);if(t)return{title:"loom-embed",src:`https://www.loom.com/embed/${t[1]}`};const r=l.match(/vimeo\.com\/(?:video\/)?(\d+)/i);if(r)return{title:"vimeo-embed",src:`https://player.vimeo.com/video/${r[1]}`};const s=l.match(/streamable\.com\/([\w-]+)/i);return s?{title:"streamable-embed",src:`https://streamable.com/e/${s[1]}`}:null}),[l]),d=t.useMemo((()=>l.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif|png|jfif|pjpeg|pjp)$/)),[l]),p=t.useMemo((()=>l.includes("action_generated_files")&&l.match(/\.(mp3|wav|ogg|flac|aac|wma|alac|m4a|aiff|ape|au|mid|midi|opus)$/)),[l]),f=t.useMemo((()=>l.includes("action_generated_files")&&l.match(/\.html$/)),[l]);return n?e.jsx(o.default,{title:n.title,src:n.src}):d?e.jsx(s.Img,{src:l,alt:"string"==typeof c?c:"Markdown Image"}):p?e.jsx(i.default,{url:l}):f?e.jsx(a.default,{url:l}):e.jsx("a",Object.assign({href:l,target:"_blank",rel:"noopener noreferrer",style:{color:u.accent}},{children:c}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../../hooks/usePickaxeMarkdownContext.js"),o=require("../common/IframeVideo.js"),i=require("./FilePreview.js");const s=e=>{let t="";return r.Children.forEach(e,(e=>{"string"!=typeof e&&"number"!=typeof e?r.isValidElement(e)&&(t+=s(e.props.children)):t+=e})),t.trim().replace(/\s+/g," ")};exports.A=({href:l="",children:n,filePreviewSeenRef:c})=>{const{colors:m}=t.usePickaxeMarkdownContext(),a=r.useMemo((()=>l?i.normalizeMarkdownUrl(l):""),[l]),u=r.useMemo((()=>i.getFilePreviewInfo(a)),[a]),d=r.useMemo((()=>((e,r)=>{const t=s(e);if(t&&t!==r&&i.normalizeMarkdownUrl(t)!==r)return t})(n,a)),[n,a]),f=r.useMemo((()=>{if(u)return null;const e=a.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(e)return{title:"youtube-embed",src:`https://www.youtube.com/embed/${e[1]}`};const r=a.match(/loom\.com\/(?:share|embed)\/([\w-]+)/i);if(r)return{title:"loom-embed",src:`https://www.loom.com/embed/${r[1]}`};const t=a.match(/vimeo\.com\/(?:video\/)?(\d+)/i);if(t)return{title:"vimeo-embed",src:`https://player.vimeo.com/video/${t[1]}`};const o=a.match(/streamable\.com\/([\w-]+)/i);return o?{title:"streamable-embed",src:`https://streamable.com/e/${o[1]}`}:null}),[u,a]);return f?e.jsx(o.default,{title:f.title,src:f.src}):u&&i.shouldRenderFilePreview(u,c)?e.jsx(i.default,{fileInfo:u,displayName:d}):e.jsx("a",Object.assign({href:a,target:"_blank",rel:"noopener noreferrer",style:{color:m.accent}},{children:n}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),n=require("react"),t=require("./hooks/usePickaxeMarkdownContext.js"),i=require("./utils/custom-plugins.js"),s=require("react-markdown"),a=require("remark-gfm"),o=require("remark-math"),l=require("rehype-katex"),c=require("rehype-raw"),u=require("./Components/A/index.js"),d=require("./Components/P/index.js"),p=require("./Components/Img/index.js"),h=require("./Components/Iframe/index.js"),m=require("./Components/Code/index.js"),f=require("./Components/Headings/index.js"),x=require("./Components/List/index.js"),g=require("./Components/Table/index.js"),j=require("./Components/Others/index.js"),b=require("./Components/Action/index.js"),q=require("./Components/Artifact/index.js"),C=require("./Components/Others/Think.js"),k=require("../../../../common/cn.js");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var $=w(s),v=w(a),y=w(o),O=w(l),A=w(c);exports.PickaxeMarkdownRenderer=({className:s,style:a,children:o,value:l,maxLines:c,maxChars:w,multiLineBreaks:H,onExpandClick:T})=>{const{colors:M,rtl:P,disableHtml:S,disableJs:_,disableCss:E}=t.usePickaxeMarkdownContext(),[I,L]=n.useState({width:0,height:0}),[B,N]=n.useState(null),R=n.useRef(null),z=n.useMemo((()=>{if(!l)return"";let e=l.trim();return e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/\u200B/g,""),e=e.replace(/\\\((.*?)\\\)/g,"$$$ $1 $$$"),e=e.replace(/\\\[(.*?)\\\]/g,"$$$ $1 $$$"),e=e.replace(/<\/think>/g,"\n</think>"),H&&(e=e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))),e||""}),[l,H]);n.useEffect((()=>{if(w)return void N(z.length>w?z.slice(0,w)+'<span class="pxe-expand-btn">...</span>':null);if(!c)return void N(null);if(!R.current||!z||B)return;const e=R.current,r=parseInt(window.getComputedStyle(e).lineHeight,10),n=c*r;if(!(I.height>n))return;const t=Math.floor(I.width/8),i=Math.floor(t*c);N(z.slice(0,i)+'<span class="pxe-expand-btn">...</span>')}),[z,c,w,I,B]);const J={h1:f.H1,h2:f.H2,h3:f.H3,h4:f.H4,h5:f.H5,p:d.P,a:u.A,img:p.Img,iframe:h.Iframe,code:m.Code,ol:x.Ol,ul:x.Ul,li:x.Li,table:g.Table,th:g.Th,tr:g.Tr,td:g.Td,hr:j.Hr,br:j.Br,blockquote:j.Blockquote,span:n=>{var{children:t}=n,i=e.__rest(n,["children"]);return"pxe-expand-btn"===i.className?r.jsx("span",Object.assign({},i,{style:Object.assign({display:"inline",fontWeight:500,color:M.accent,marginLeft:".25rem",userSelect:"none"},T&&{cursor:"pointer"})},T&&{onClick:T},{children:t})):r.jsx("span",Object.assign({},i,{children:t}))},"action-caption":b.ActionCaption,"action-finished":b.ActionFinished,"action-error":b.ActionError,artifact:q.Artifact,"artifact-error":q.ArtifactError,think:C.Think};n.useEffect((()=>{if(!R.current)return;const e=new ResizeObserver((e=>{for(const r of e){const{width:e,height:n}=r.contentRect;L({width:e,height:n})}}));return e.observe(R.current),()=>{e.disconnect()}}),[]);const W=B||z;return r.jsxs("div",Object.assign({className:"pxe-markdown",ref:R,style:Object.assign({position:"relative",overflowWrap:"break-word",display:"grid",gridTemplateColumns:"repeat(1, minmax(0, 1fr))",gap:".625rem",width:"100%"},a)},P&&{dir:"rtl"},{children:[r.jsx($.default,Object.assign({className:k.default("pxe-prose",s),components:J,remarkPlugins:[v.default,[y.default,{singleDollarTextMath:!1}]],rehypePlugins:[i.rehypeCode,O.default,...S?[]:[A.default],[i.rehypeSanitize,{disableJs:_,disableCss:E}]]},{children:W})),o]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),n=require("react"),t=require("./hooks/usePickaxeMarkdownContext.js"),i=require("./utils/custom-plugins.js"),s=require("react-markdown"),a=require("remark-gfm"),o=require("remark-math"),l=require("rehype-katex"),c=require("rehype-raw"),u=require("./Components/A/index.js"),d=require("./Components/A/FilePreview.js"),p=require("./Components/P/index.js"),f=require("./Components/Img/index.js"),h=require("./Components/Iframe/index.js"),m=require("./Components/Code/index.js"),x=require("./Components/Headings/index.js"),g=require("./Components/List/index.js"),j=require("./Components/Table/index.js"),b=require("./Components/Others/index.js"),q=require("./Components/Action/index.js"),C=require("./Components/Artifact/index.js"),k=require("./Components/Others/Think.js"),w=require("../../../../common/cn.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=v(s),O=v(a),$=v(o),P=v(l),S=v(c);exports.PickaxeMarkdownRenderer=({className:s,style:a,children:o,value:l,maxLines:c,maxChars:v,multiLineBreaks:A,onExpandClick:H,filePreviewSeenRef:T})=>{const{colors:M,rtl:R,disableHtml:I,disableJs:_,disableCss:N}=t.usePickaxeMarkdownContext(),[E,L]=n.useState({width:0,height:0}),[B,F]=n.useState(null),z=n.useRef(null),J=n.useMemo((()=>{if(!l)return"";let e=l.trim();return e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/\u200B/g,""),e=e.replace(/\\\((.*?)\\\)/g,"$$$ $1 $$$"),e=e.replace(/\\\[(.*?)\\\]/g,"$$$ $1 $$$"),e=e.replace(/<\/think>/g,"\n</think>"),A&&(e=e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))),e||""}),[l,A]);n.useEffect((()=>{if(v)return void F(J.length>v?J.slice(0,v)+'<span class="pxe-expand-btn">...</span>':null);if(!c)return void F(null);if(!z.current||!J||B)return;const e=z.current,r=parseInt(window.getComputedStyle(e).lineHeight,10),n=c*r;if(!(E.height>n))return;const t=Math.floor(E.width/8),i=Math.floor(t*c);F(J.slice(0,i)+'<span class="pxe-expand-btn">...</span>')}),[J,c,v,E,B]);const W=n.useRef(new Set);T||(W.current=new Set);const D=null!=T?T:W,U={h1:x.H1,h2:x.H2,h3:x.H3,h4:x.H4,h5:x.H5,p:p.P,a:e=>r.jsx(u.A,Object.assign({},e,{filePreviewSeenRef:D})),img:e=>{const n="string"==typeof e.src?e.src:"",t=d.getFilePreviewInfo(n);return t?d.shouldRenderFilePreview(t,D)?r.jsx(d.default,{fileInfo:t,displayName:"string"==typeof e.alt?e.alt:void 0}):r.jsx("a",Object.assign({href:t.url,target:"_blank",rel:"noopener noreferrer",style:{color:M.accent}},{children:e.alt||t.fileName})):r.jsx(f.Img,Object.assign({},e))},iframe:h.Iframe,code:m.Code,ol:g.Ol,ul:g.Ul,li:g.Li,table:j.Table,th:j.Th,tr:j.Tr,td:j.Td,hr:b.Hr,br:b.Br,blockquote:b.Blockquote,span:n=>{var{children:t}=n,i=e.__rest(n,["children"]);return"pxe-expand-btn"===i.className?r.jsx("span",Object.assign({},i,{style:Object.assign({display:"inline",fontWeight:500,color:M.accent,marginLeft:".25rem",userSelect:"none"},H&&{cursor:"pointer"})},H&&{onClick:H},{children:t})):r.jsx("span",Object.assign({},i,{children:t}))},"action-caption":q.ActionCaption,"action-finished":q.ActionFinished,"action-error":q.ActionError,artifact:C.Artifact,"artifact-error":C.ArtifactError,think:k.Think};n.useEffect((()=>{if(!z.current)return;const e=new ResizeObserver((e=>{for(const r of e){const{width:e,height:n}=r.contentRect;L({width:e,height:n})}}));return e.observe(z.current),()=>{e.disconnect()}}),[]);const G=B||J;return r.jsxs("div",Object.assign({className:"pxe-markdown",ref:z,style:Object.assign({position:"relative",overflowWrap:"break-word",display:"grid",gridTemplateColumns:"repeat(1, minmax(0, 1fr))",gap:".625rem",width:"100%"},a)},R&&{dir:"rtl"},{children:[r.jsx(y.default,Object.assign({className:w.default("pxe-prose",s),components:U,remarkPlugins:[O.default,[$.default,{singleDollarTextMath:!1}]],rehypePlugins:[i.rehypeCode,P.default,...I?[]:[S.default],[i.rehypeSanitize,{disableJs:_,disableCss:N}]]},{children:G})),o]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=require("../../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../PickaxeMarkdown/Renderer.js"),t=require("../../../../common/utils.js"),a=require("../../../../common/cn.js");const i=n.lazy((()=>Promise.resolve().then((function(){return require("./TextPart/index.js")})))),o=n.lazy((()=>Promise.resolve().then((function(){return require("./ReasoningPart/index.js")})))),l=n.lazy((()=>Promise.resolve().then((function(){return require("./ActionToolCaptionPart/index.js")})))),c=n.lazy((()=>Promise.resolve().then((function(){return require("./ReasoningCaptionPart/index.js")}))));exports.default=({className:u,parts:d})=>{const{translations:x}=r.usePickaxeContext();return e.jsx("div",Object.assign({className:a.default("flex flex-col gap-2",u)},{children:e.jsx(n.Suspense,Object.assign({fallback:e.jsx("div",{})},{children:d.map(((n,r)=>{if(!n.isVisible)return null;if("text"===n.type){const t=/(https?:\/\/[^\s"']+\.mp4)/g,a=n.content.split(t);return e.jsx(i,{children:a.map(((n,r)=>n.match(t)?e.jsx("div",Object.assign({className:"my-3 block w-full max-w-full"},{children:e.jsx("video",Object.assign({controls:!0,preload:"metadata",className:"max-h-[400px] w-auto max-w-full rounded-lg bg-black/5 shadow-sm",src:n},{children:e.jsx("a",Object.assign({href:n,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-blue-500 hover:underline"},{children:(null==x?void 0:x["download-video"])||"Download Video"}))}))}),r):n?e.jsx(s.PickaxeMarkdownRenderer,{value:n},r):null))},r)}if("reasoning"===n.type)return e.jsx(o,Object.assign({isReasoning:r===d.length-1},{children:e.jsx(s.PickaxeMarkdownRenderer,{value:n.content})}),r);if("data-action-tool-caption"===n.type){const s=t.safeJSONParse(n.content);return e.jsx(l,Object.assign({},s&&s,{isLoading:r===d.length-1}),r)}if("data-reasoning-caption"===n.type){const s=t.safeJSONParse(n.content);return e.jsx(c,Object.assign({},s&&s,{isLoading:r===d.length-1}),r)}return null}))}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=require("../PickaxeMarkdown/Renderer.js"),t=require("../PickaxeMarkdown/Components/A/FilePreview.js"),i=require("../../../../common/utils.js"),s=require("../../../../common/cn.js");const a=n.lazy((()=>Promise.resolve().then((function(){return require("./TextPart/index.js")})))),o=n.lazy((()=>Promise.resolve().then((function(){return require("./ReasoningPart/index.js")})))),l=n.lazy((()=>Promise.resolve().then((function(){return require("./ActionToolCaptionPart/index.js")})))),u=n.lazy((()=>Promise.resolve().then((function(){return require("./ReasoningCaptionPart/index.js")})))),c=/(!?)\[([^\]\n]+)\]\((https?:\/\/[^\s)]+|www\.[^\s)]+)\)/g;exports.default=({className:d,parts:p})=>{const f=n.useRef(new Set);return f.current=new Set,e.jsx("div",Object.assign({className:s.default("flex flex-col gap-2",d)},{children:e.jsx(n.Suspense,Object.assign({fallback:e.jsx("div",{})},{children:p.map(((n,s)=>{if(!n.isVisible)return null;if("text"===n.type){const i=((e,n)=>{var r,i;const s=[];let a=0;for(const o of e.matchAll(c)){const l=null!==(r=o.index)&&void 0!==r?r:0,u=o[0],c="!"===o[1],d=null===(i=o[2])||void 0===i?void 0:i.trim(),p=o[3],f=t.getFilePreviewInfo(p);if(!f)continue;l>a&&s.push({type:"markdown",value:e.slice(a,l)});const v=d&&t.normalizeMarkdownUrl(d)!==f.url?d:void 0;t.shouldRenderFilePreview(f,n)?s.push({type:"preview",key:`${f.url}-${l}`,fileInfo:f,displayName:v}):s.push({type:"markdown",value:c?u:`[${d||f.fileName}](${f.url})`}),a=l+u.length}return a<e.length&&s.push({type:"markdown",value:e.slice(a)}),s.length?s:[{type:"markdown",value:e}]})(n.content,f);return e.jsx(a,{children:i.map(((n,i)=>"preview"===n.type?e.jsx(t.default,{fileInfo:n.fileInfo,displayName:n.displayName},n.key):n.value?e.jsx(r.PickaxeMarkdownRenderer,{value:n.value,filePreviewSeenRef:f},i):null))},s)}if("reasoning"===n.type)return e.jsx(o,Object.assign({isReasoning:s===p.length-1},{children:e.jsx(r.PickaxeMarkdownRenderer,{value:n.content})}),s);if("data-action-tool-caption"===n.type){const r=i.safeJSONParse(n.content);return e.jsx(l,Object.assign({},r&&r,{isLoading:s===p.length-1}),s)}if("data-reasoning-caption"===n.type){const r=i.safeJSONParse(n.content);return e.jsx(u,Object.assign({},r&&r,{isLoading:s===p.length-1}),s)}return null}))}))}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),s=require("../../common/utils.js");exports.useSubmitDocument=()=>({document:({contextId:s,pickaxeId:o,file:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isBlocking:a})=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,l;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const _=i.name.split(".").pop(),p="md"===_?"md":i.type,u={sessionid:s,formid:o,mimetype:p,extension:_,responseid:t,workspaceid:n},O=new URLSearchParams(Object.entries(u).filter((e=>void 0!==e[1]&&null!==e[1]&&""!==e[1]))),g=`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_upload_url?${O.toString()}`,f=yield fetch(g),w=yield f.json();if(!w.success)throw new Error(null!==(e=w.error)&&void 0!==e?e:"Failed to get presigned URL, try again or contact support.");const b=new FormData;Object.entries(Object.assign(Object.assign({},w.fields),{file:i})).forEach((([e,s])=>{b.append(e,s)}));const m=yield fetch(w.url,{method:"POST",body:b});if(!m.ok)throw new Error(m.statusText);const I=`${w.url}${w.fields.key}`;"development"===process.env.NODE_ENV&&console.log("[S3URL]",I);const j=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:w.documentId,fileName:i.name,fileSize:i.size},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isBlocking:a})),headers:{"Content-Type":"application/json"}}),P=yield j.json();if(!P.success)throw new Error(null!==(l=P.error)&&void 0!==l?l:"Failed processing document, try again or contact support.");return Object.assign(Object.assign({},P),{folder:w.folder})})),website:({pickaxeId:o,website:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isBlocking:a})=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const l=s.generateId(20),_=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:l,website:i},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isBlocking:a})),headers:{"Content-Type":"application/json"}}),p=yield _.json();if(!p.success)throw new Error(null!==(e=p.error)&&void 0!==e?e:"Failed processing website, try again or contact support.");return p}))});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),s=require("../../common/utils.js");exports.useSubmitDocument=()=>({document:({contextId:s,pickaxeId:o,file:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isUserDocument:a,isBlocking:l})=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,u;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const _=i.name.split(".").pop(),p="md"===_?"md":i.type,O={sessionid:s,formid:o,mimetype:p,extension:_,responseid:t,workspaceid:n},g=new URLSearchParams(Object.entries(O).filter((e=>void 0!==e[1]&&null!==e[1]&&""!==e[1]))),m=`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_upload_url?${g.toString()}`,b=yield fetch(m),f=yield b.json();if(!f.success)throw new Error(null!==(e=f.error)&&void 0!==e?e:"Failed to get presigned URL, try again or contact support.");const w=new FormData;Object.entries(Object.assign(Object.assign({},f.fields),{file:i})).forEach((([e,s])=>{w.append(e,s)}));const j=yield fetch(f.url,{method:"POST",body:w});if(!j.ok)throw new Error(j.statusText);const I=`${f.url}${f.fields.key}`;"development"===process.env.NODE_ENV&&console.log("[S3URL]",I);const P=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:f.documentId,fileName:i.name,fileSize:i.size},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isUserDocument:a}),l&&{isBlocking:l})),headers:{"Content-Type":"application/json"}}),U=yield P.json();if(!U.success)throw new Error(null!==(u=U.error)&&void 0!==u?u:"Failed processing document, try again or contact support.");return Object.assign(Object.assign({},U),{folder:f.folder})})),website:({pickaxeId:o,website:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isUserDocument:a,isBlocking:l})=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const u=s.generateId(20),_=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:u,website:i},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isUserDocument:a}),l&&{isBlocking:l})),headers:{"Content-Type":"application/json"}}),p=yield _.json();if(!p.success)throw new Error(null!==(e=p.error)&&void 0!==e?e:"Failed processing website, try again or contact support.");return p}))});
@@ -0,0 +1,30 @@
1
+ import type { PickaxeHistoryOriginType, PickaxeHistorySenderType } from "../types/history";
2
+ export declare const DEPLOYMENT_SESSION_INITIALIZED_EVENT = "deployment_session_initialized";
3
+ export declare const DEPLOYMENT_FIRST_MESSAGE_SUBMITTED_EVENT = "deployment_first_message_submitted";
4
+ export type DeploymentWebhookBasePayload = {
5
+ studioId?: string | null;
6
+ userEmail?: string | null;
7
+ userId?: string | null;
8
+ sessionId?: string | null;
9
+ deploymentId?: string | null;
10
+ deploymentType?: string | null;
11
+ portalId?: string | null;
12
+ accessGroupId?: string | null;
13
+ pickaxeId?: string | null;
14
+ sender?: string | null;
15
+ senderType?: PickaxeHistorySenderType | null;
16
+ origin?: PickaxeHistoryOriginType | null;
17
+ metadata?: Record<string, unknown> | null;
18
+ };
19
+ export type DeploymentFirstMessageSubmittedPayload = DeploymentWebhookBasePayload & {
20
+ message: string;
21
+ documentIds?: string[];
22
+ uploadedModelImages?: Array<{
23
+ documentId: string;
24
+ extension: string;
25
+ }>;
26
+ hasUploadedDocuments?: boolean;
27
+ isHidden?: boolean;
28
+ };
29
+ export declare const fireDeploymentSessionInitializedWebhook: (payload: DeploymentWebhookBasePayload) => void;
30
+ export declare const fireDeploymentFirstMessageSubmittedWebhook: (payload: DeploymentFirstMessageSubmittedPayload) => void;
@@ -0,0 +1,3 @@
1
+ type PickaxeConfigRecord = Record<string, unknown>;
2
+ export declare const getPickaxeConfigMetadata: (deploymentId?: string) => PickaxeConfigRecord | undefined;
3
+ export {};
@@ -10,6 +10,10 @@ interface ArtifactSaveMenuProps {
10
10
  onDownload: (type: ArtifactType | "text/plain") => Promise<void>;
11
11
  onSaveAsPDF: () => Promise<void>;
12
12
  onSaveAsDOCX: () => Promise<void>;
13
+ onSaveToKnowledgeBase?: () => Promise<void>;
14
+ isSaveToKnowledgeBaseEnabled?: boolean;
15
+ isSavingToKnowledgeBase?: boolean;
16
+ isSavedToKnowledgeBase?: boolean;
13
17
  }
14
- declare const ArtifactSaveMenu: ({ variant, className, children, data, colors, onDownload, onSaveAsPDF, onSaveAsDOCX, }: ArtifactSaveMenuProps) => import("react/jsx-runtime").JSX.Element;
18
+ declare const ArtifactSaveMenu: ({ variant, className, children, data, colors, onDownload, onSaveAsPDF, onSaveAsDOCX, onSaveToKnowledgeBase, isSaveToKnowledgeBaseEnabled, isSavingToKnowledgeBase, isSavedToKnowledgeBase, }: ArtifactSaveMenuProps) => import("react/jsx-runtime").JSX.Element;
15
19
  export default ArtifactSaveMenu;
@@ -0,0 +1,18 @@
1
+ import type { MutableRefObject } from "react";
2
+ type FilePreviewKind = "image" | "audio" | "video" | "pdf" | "html" | "text" | "office" | "file";
3
+ export type FilePreviewInfo = {
4
+ url: string;
5
+ fileName: string;
6
+ extension: string;
7
+ kind: FilePreviewKind;
8
+ };
9
+ export type FilePreviewSeenRef = MutableRefObject<Set<string>>;
10
+ export declare const normalizeMarkdownUrl: (href: string) => string;
11
+ export declare const getFilePreviewInfo: (href: string) => FilePreviewInfo | null;
12
+ export declare const shouldRenderFilePreview: (fileInfo: FilePreviewInfo | null, seenRef?: FilePreviewSeenRef) => boolean;
13
+ interface FilePreviewProps {
14
+ fileInfo: FilePreviewInfo;
15
+ displayName?: string;
16
+ }
17
+ declare const FilePreview: ({ fileInfo, displayName }: FilePreviewProps) => import("react/jsx-runtime").JSX.Element;
18
+ export default FilePreview;
@@ -1,2 +1,7 @@
1
1
  import type { MarkdownComponent } from "../..";
2
- export declare const A: MarkdownComponent<"a">;
2
+ import type { FilePreviewSeenRef } from "./FilePreview";
3
+ type AProps = Parameters<MarkdownComponent<"a">>[0] & {
4
+ filePreviewSeenRef?: FilePreviewSeenRef;
5
+ };
6
+ export declare const A: ({ href, children, filePreviewSeenRef }: AProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode, type CSSProperties } from "react";
2
+ import { type FilePreviewSeenRef } from "./Components/A/FilePreview";
2
3
  export interface PickaxeMarkdownRendererProps {
3
4
  className?: string;
4
5
  style?: CSSProperties;
@@ -8,5 +9,6 @@ export interface PickaxeMarkdownRendererProps {
8
9
  maxChars?: number;
9
10
  multiLineBreaks?: boolean;
10
11
  onExpandClick?: () => void;
12
+ filePreviewSeenRef?: FilePreviewSeenRef;
11
13
  }
12
- export declare const PickaxeMarkdownRenderer: ({ className, style, children: _children, value, maxLines, maxChars, multiLineBreaks, onExpandClick, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const PickaxeMarkdownRenderer: ({ className, style, children: _children, value, maxLines, maxChars, multiLineBreaks, onExpandClick, filePreviewSeenRef, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export declare const useSubmitDocument: () => {
2
- document: ({ contextId, pickaxeId, file, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isBlocking, }: {
2
+ document: ({ contextId, pickaxeId, file, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isUserDocument, isBlocking, }: {
3
3
  contextId: string;
4
4
  pickaxeId: string;
5
5
  file: File;
@@ -8,6 +8,7 @@ export declare const useSubmitDocument: () => {
8
8
  studioUserId?: string | undefined;
9
9
  studioSessionToken?: string | undefined;
10
10
  isKnowledge?: boolean | undefined;
11
+ isUserDocument?: boolean | undefined;
11
12
  isBlocking?: boolean | undefined;
12
13
  }) => Promise<{
13
14
  success: boolean;
@@ -16,7 +17,7 @@ export declare const useSubmitDocument: () => {
16
17
  folder?: string;
17
18
  error?: string;
18
19
  }>;
19
- website: ({ pickaxeId, website, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isBlocking, }: {
20
+ website: ({ pickaxeId, website, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isUserDocument, isBlocking, }: {
20
21
  pickaxeId: string;
21
22
  website: string;
22
23
  workspaceId?: string | undefined;
@@ -24,6 +25,7 @@ export declare const useSubmitDocument: () => {
24
25
  studioUserId?: string | undefined;
25
26
  studioSessionToken?: string | undefined;
26
27
  isKnowledge?: boolean | undefined;
28
+ isUserDocument?: boolean | undefined;
27
29
  isBlocking?: boolean | undefined;
28
30
  }) => Promise<{
29
31
  success: boolean;
@@ -0,0 +1 @@
1
+ import{__awaiter as e,__rest as s}from"../_virtual/_tslib.js";const t="deployment_session_initialized",i="deployment_first_message_submitted",n=new Set,o=new Set,d=e=>{if(!e)return null;return e.trim()||null},a=(t,i)=>e(void 0,void 0,void 0,(function*(){var{studioId:e,userEmail:n}=i,o=s(i,["studioId","userEmail"]);const a=d(e),r=d(process.env.NEXT_PUBLIC_API_URL);if(!a||!r)return;const c=Object.assign({event:t,source:"v2-pickaxe-react",firedAt:(new Date).toISOString(),studioId:a,userEmail:d(n)},o);try{yield fetch(`${r}/fireWebhooks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({event:t,studioId:a,userEmail:d(n),giftedProducts:[],payload:c})})}catch(e){console.warn(`[px/react] failed to fire deployment webhook event "${t}"`,e)}})),r=e=>{const s=d(e.sessionId);s&&!n.has(s)&&(n.add(s),a(t,Object.assign(Object.assign({},e),{sessionId:s})))},c=e=>{const s=d(e.sessionId);s&&n.has(s)&&(o.has(s)||(o.add(s),a(i,Object.assign(Object.assign({},e),{sessionId:s}))))};export{i as DEPLOYMENT_FIRST_MESSAGE_SUBMITTED_EVENT,t as DEPLOYMENT_SESSION_INITIALIZED_EVENT,c as fireDeploymentFirstMessageSubmittedWebhook,r as fireDeploymentSessionInitializedWebhook};
@@ -0,0 +1 @@
1
+ const t=new Set(["class","style","sso","metadata"]),e=t=>Boolean(t)&&"object"==typeof t&&!Array.isArray(t),a=(e,a)=>{Object.entries(e).forEach((([e,n])=>{t.has(e)||e.startsWith("deployment-")||"function"!=typeof n&&void 0!==n&&(a[e]=n)}))},n=t=>{if("undefined"==typeof window)return;const n=window.PickaxeConfig;if(!e(n))return;const o={};if(a(n,o),e(n.metadata)&&Object.assign(o,n.metadata),t){const s=n[t];e(s)&&(a(s,o),e(s.metadata)&&Object.assign(o,s.metadata))}return Object.keys(o).length>0?o:void 0};export{n as getPickaxeConfigMetadata};
@@ -0,0 +1 @@
1
+ import*as e from"react";var r,t,n;function a(){return a=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},a.apply(null,arguments)}var o=o=>e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24"},o),r||(r=e.createElement("path",{d:"m16 16-4-4-4 4M12 12v9"})),t||(t=e.createElement("path",{d:"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"})),n||(n=e.createElement("path",{d:"m16 16-4-4-4 4"})));export{o as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import s from"../../../../Icons/save.svg.js";import a from"../../../../Core/Menu/index.js";import l from"../../../../Core/Menu/Button.js";import i from"../../../../Core/Menu/List.js";const c=({variant:c="default",className:o,children:r,data:m,colors:p,onDownload:x,onSaveAsPDF:h,onSaveAsDOCX:b})=>e(a,Object.assign({id:`save-artifact-${m.id}-${m.version}`},{children:[t(l,Object.assign({variant:c,className:o,style:{color:p.text}},{children:r})),t(i,Object.assign({width:"auto",className:"font-semibold p-1 text-sm",style:{backgroundColor:p.primary,color:p.text},border:`1px solid ${p.primary}`},{children:"text/markdown"===m.type?e(n,{children:[e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("text/markdown")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"Markdown"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:h},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:b},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"DOCX"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("text/plain")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TXT"]}))]}):"text/html"===m.type?e(n,{children:[e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("text/html")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"HTML"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:h},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]}))]}):"text/csv"===m.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("text/csv")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"CSV"]})):"text/tab-separated-values"===m.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("text/tab-separated-values")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSV"]})):"image/svg+xml"===m.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("image/svg+xml")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/pdf"===m.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:h},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})):"application/vnd.pxe.code"===m.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("application/vnd.pxe.code")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),`${m.programmingLanguage||"Plain Text"}`]})):"application/vnd.pxe.mermaid"===m.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("application/vnd.pxe.mermaid")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/vnd.pxe.react"===m.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>x("application/vnd.pxe.react")},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSX"]})):null}))]}));export{c as default};
1
+ import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import a from"../../../../Icons/save.svg.js";import s from"../../../../Icons/upload-cloud.svg.js";import l from"../../../../Core/Menu/index.js";import i from"../../../../Core/Menu/Button.js";import o from"../../../../Core/Menu/List.js";import{usePickaxeContext as c}from"../../../../../hooks/pickaxe/usePickaxeContext.js";const r=({variant:r="default",className:p,children:m,data:d,colors:x,onDownload:b,onSaveAsPDF:h,onSaveAsDOCX:k,onSaveToKnowledgeBase:g,isSaveToKnowledgeBaseEnabled:u=!1,isSavingToKnowledgeBase:v=!1,isSavedToKnowledgeBase:N=!1})=>{const{translations:y}=c(),f=(e,t)=>{var n;return null!==(n=null==y?void 0:y[e])&&void 0!==n?n:t},w=u&&g?e("button",Object.assign({className:"px-2 py-1 text-left disabled:cursor-not-allowed disabled:opacity-50",disabled:v||N,onClick:e=>{e.stopPropagation(),g()}},{children:[t(s,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),v?f("saving","Saving..."):N?f("saved","Saved"):f("save-to-knowledge-base","Save to Knowledge Base")]})):null;return e(l,Object.assign({id:`save-artifact-${d.id}-${d.version}`},{children:[t(i,Object.assign({variant:r,className:p,style:{color:x.text}},{children:m})),e(o,Object.assign({width:"auto",className:"font-semibold p-1 text-sm",style:{backgroundColor:x.primary,color:x.text},border:`1px solid ${x.primary}`},{children:["text/markdown"===d.type?e(n,{children:[e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("text/markdown")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"Markdown"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:h},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:k},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"DOCX"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("text/plain")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TXT"]}))]}):"text/html"===d.type?e(n,{children:[e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("text/html")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"HTML"]})),e("button",Object.assign({className:"px-2 py-1 text-left",onClick:h},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]}))]}):"text/csv"===d.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("text/csv")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"CSV"]})):"text/tab-separated-values"===d.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("text/tab-separated-values")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSV"]})):"image/svg+xml"===d.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("image/svg+xml")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/pdf"===d.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:h},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"PDF"]})):"application/vnd.pxe.code"===d.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("application/vnd.pxe.code")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),`${d.programmingLanguage||"Plain Text"}`]})):"application/vnd.pxe.mermaid"===d.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("application/vnd.pxe.mermaid")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"SVG"]})):"application/vnd.pxe.react"===d.type?e("button",Object.assign({className:"px-2 py-1 text-left",onClick:()=>b("application/vnd.pxe.react")},{children:[t(a,{className:"w-5 h-5 shrink-0 inline-block mr-2"}),"TSX"]})):null,w]}))]}))};export{r as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as i,useMemo as a,useEffect as r}from"react";import{useArtifactContext as l}from"../hooks/useArtifactContext.js";import{usePickaxeContext as c}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useScroll as s}from"../../Scroll/hooks/useScroll.js";import{useArtifact as p}from"../hooks/useArtifact.js";import{useReactToPrint as d}from"react-to-print";import{PickaxeMarkdown as m}from"../../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as u}from"../../../common/PickaxeMarkdown/Renderer.js";import{Prism as y}from"react-syntax-highlighter";import{convertMarkdownToDocx as v,downloadDocx as f}from"../../../../../common/docx/index.js";import x from"file-saver";import g from"../../Scroll/ScrollLockView.js";import b from"../../../../Icons/expand.svg.js";import h from"../../../../Icons/shrink.svg.js";import w from"../../../../Icons/collapse-new.svg.js";import C from"../../../../Icons/copy-new.svg.js";import k from"../../../../Icons/download-new.svg.js";import j from"../../../common/PickaxeCopyButton.js";import F from"../../../../Core/ScrollArea.js";import T from"../../../../Core/TipContainer.js";import O from"../MermaidRenderer.js";import A from"./SaveMenu.js";import S from"./ViewOptions.js";import D from"csv-to-markdown-table";import N from"copy-to-clipboard";import E from"../../../../../common/cn.js";const B="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co",$=$=>{var z,M,L,P;const{artifacts:R,currentPopupType:W,currentArtifact:H,setCurrentArtifact:I}=l(),{onLoadArtifact:_}=p(),{styles:V,colors:X,translations:q}=c(),[G,J]=n("code"),[K,Q]=n(!1),U=i(),Y=i(null),Z=i(null),ee=d({contentRef:U}),{scrollContainerRef:oe,scrollStartSession:te,scrollToBottom:ne,scrollEndSession:ie}=s({auto:"code"===G}),ae=null!==(M=null===(z=$.styling)||void 0===z?void 0:z.styles)&&void 0!==M?M:V,re=null!==(P=null===(L=$.styling)||void 0===L?void 0:L.colors)&&void 0!==P?P:X,le=a((()=>{var e,o,t,n,i;if(!$.artifact&&!H)return null;const a=null!==(o=null===(e=$.artifact)||void 0===e?void 0:e.id)&&void 0!==o?o:null==H?void 0:H.id,r=null!==(n=null===(t=$.artifact)||void 0===t?void 0:t.version)&&void 0!==n?n:null==H?void 0:H.version;return null!==(i=R.find((e=>e.id===a&&e.version===r)))&&void 0!==i?i:null}),[H,R,$.artifact]),ce=a((()=>le?"text/csv"===le.type?D(le.content,",",!0):"text/tab-separated-values"===le.type?D(le.content,"\t",!0):null:null),[le]),se=a((()=>(re.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==re?void 0:re.secondaryText]),pe=a((()=>{const e=$.artifact&&(null==H?void 0:H.id)===$.artifact.id&&(null==H?void 0:H.version)===$.artifact.version;return"inline"===$.type&&("inline-form"===W?!!H:e)}),[H,W,$.type,$.artifact]);r((()=>{e(void 0,void 0,void 0,(function*(){"inline"===$.type&&$.artifact&&(R.some((e=>$.artifact&&e.id===$.artifact.id&&e.version===$.artifact.version))||_({id:$.artifact.id,version:$.artifact.version}))}))}),[R,$.type,$.artifact]),r((()=>{if("application/vnd.pxe.code"===(null==le?void 0:le.type)&&J("code"),"finished"!==(null==le?void 0:le.status))return J("code"),te(),void ne();ie(),"application/vnd.pxe.code"!==le.type&&J("render")}),[null==le?void 0:le.status,null==le?void 0:le.type]),r((()=>{var e;!Z.current||"text/html"!==(null==le?void 0:le.type)&&"application/pdf"!==(null==le?void 0:le.type)&&"application/vnd.pxe.react"!==(null==le?void 0:le.type)||null===(e=Z.current.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==le.type?"HTML_CODE":"REACT_CODE",content:le.content},B)}),[null==le?void 0:le.content,null==le?void 0:le.type]);const de=()=>e(void 0,void 0,void 0,(function*(){if(!le)return;if("text/html"===le.type||"application/pdf"===le.type){const e=le.content,o=window.open("","_blank");return void(o&&(o.document.open(),o.document.write(e),o.document.close(),o.focus(),o.print()))}const e=G;"code"===e&&(J("render"),yield new Promise((e=>setTimeout(e,50)))),ee(),"code"===e&&J(e)})),me=()=>e(void 0,void 0,void 0,(function*(){if(!le)return;const e=yield v(le.content);f(e,`${le.title}.docx`)})),ue=o=>e(void 0,void 0,void 0,(function*(){var e;if(!le)return;let t={mimeType:"text/plain",extension:".txt"};switch(o){case"text/markdown":t={mimeType:"text/markdown",extension:".md"};break;case"text/html":t={mimeType:"text/html",extension:".html"};break;case"text/csv":t={mimeType:"text/csv",extension:".csv"};break;case"text/tab-separated-values":t={mimeType:"text/tab-separated-values",extension:".tsv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":t={mimeType:"image/svg+xml",extension:".svg"};break;case"application/pdf":t={mimeType:"application/pdf",extension:".pdf"};break;case"application/vnd.pxe.code":t={mimeType:`application/${le.programmingLanguage||"text"};charset=utf-8`,extension:`.${le.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":t={mimeType:"text/typescript",extension:".tsx"};break;default:t={mimeType:"text/plain",extension:".txt"}}let n=null;if("application/vnd.pxe.mermaid"===le.type){const o=G;"code"===o&&(J("render"),yield new Promise((e=>setTimeout(e,50))));const t=null===(e=Y.current)||void 0===e?void 0:e.querySelector("svg");t&&(n=(new XMLSerializer).serializeToString(t)),"code"===o&&J(o)}const i=new Blob([null!=n?n:le.content],{type:t.mimeType});x(i,`${le.title}${t.extension}`)})),ye=()=>{"inline"!==$.type||!$.artifact||pe?I(null):I({id:$.artifact.id,version:$.artifact.version})},ve=pe||!W.startsWith("inline");return le?o("div",Object.assign({className:E("pxe-artifact-renderer flex flex-col","inline"===$.type&&!pe&&"min-h-[320px] mb-6",$.className),style:Object.assign(Object.assign({backgroundColor:re.secondary,color:re.secondaryText},"auto"!==W&&{borderRadius:ae.cornerRadius}),$.style)},{children:[o("div",Object.assign({className:"flex items-center gap-4 justify-between px-4 py-3 shadow-sm"},{children:[o("div",Object.assign({className:"pxe-artifact-create-header flex min-w-0 items-center gap-4"},{children:[ve&&t(S,{type:le.type,view:G,colors:re,onChange:J}),t("p",Object.assign({className:"w-[220px] max-w-full truncate text-[18px] font-semilight leading-tight",title:le.title},{children:le.title}))]})),"inline"===$.type&&!ve&&t("div",Object.assign({className:"shrink-0"},{children:t("button",Object.assign({type:"button",style:{color:re.secondaryText},onClick:ye,title:(null==q?void 0:q.expand)||"Expand","aria-label":(null==q?void 0:q.expand)||"Expand artifact"},{children:t(pe?h:b,{className:"w-6 h-6 shrink-0"})}))}))]})),ve&&t("div",Object.assign({className:"flex items-center justify-between border-y px-4 py-2.5",style:{borderColor:re.primary}},{children:o("div",Object.assign({className:"flex items-center gap-3"},{children:[t("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100",style:{color:re.secondaryText},onClick:ye,title:"inline"===$.type?(null==q?void 0:q.collapse)||"Collapse":(null==q?void 0:q.close)||"Close","aria-label":"inline"===$.type?(null==q?void 0:q.collapse)||"Collapse artifact":(null==q?void 0:q.close)||"Close artifact"},{children:t(w,{className:"h-5 w-5 shrink-0"})})),t("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-50",style:{color:re.secondaryText},disabled:K,onClick:()=>e(void 0,void 0,void 0,(function*(){if(le)try{N(le.content),Q(!0),yield new Promise((e=>setTimeout(e,1500)))}finally{Q(!1)}})),title:(null==q?void 0:q.copy)||"Copy","aria-label":(null==q?void 0:q.copy)||"Copy artifact content"},{children:t(C,{className:"h-[18px] w-[18px] shrink-0"})})),t(A,Object.assign({data:le,colors:re,onDownload:ue,onSaveAsPDF:de,onSaveAsDOCX:me,className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100"},{children:t("div",Object.assign({role:"button",className:"cursor-pointer",style:{color:re.secondaryText},title:(null==q?void 0:q.save)||"Download","aria-label":(null==q?void 0:q.save)||"Download artifact content"},{children:t(k,{className:"h-6 w-6 shrink-0"})}))}))]}))})),t("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:o(F,Object.assign({ref:oe,innerClassName:"flex-grow w-full"},{children:["render"===G&&"application/vnd.pxe.code"!==le.type?t("div",Object.assign({ref:U,className:E("p-4 pb-6 flex-grow flex flex-col","text/html"===le.type&&"p-0","text/csv"===le.type&&"p-0","application/pdf"===le.type&&"p-0","application/vnd.pxe.react"===le.type&&"p-0")},{children:"text/markdown"===le.type||"text/csv"===le.type||"text/tab-separated-values"===le.type||"image/svg+xml"===le.type?t(m,Object.assign({theme:ae.theme,colors:re},{children:t(u,{value:null!=ce?ce:le.content,className:E("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full",("text/csv"===le.type||"text/tab-separated-values"===le.type)&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===le.type?t(O,{ref:Y,id:`mermaid-${le.id}-${le.version}`,data:le.content}):"text/html"===le.type||"application/pdf"===le.type||"application/vnd.pxe.react"===le.type?t("iframe",Object.assign({ref:Z,title:le.title,src:`${B}/${"application/vnd.pxe.react"!==le.type?"html":"react"}?theme=${se?"dark":"light"}&bg=${re.secondary}&accent=${re.accent}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==re?void 0:re.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const o=e.target;setTimeout((()=>{var e;try{null===(e=o.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==le.type?"HTML_CODE":"REACT_CODE",content:le.content},B)}catch(e){console.error("Error sending message to iframe:",e)}}),100),ne()}},{children:(null==q?void 0:q["iframe-artifact-fallback"])||"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):t(y,Object.assign({PreTag:"div",language:"text/markdown"===le.type?"markdown":"text/html"===le.type||"image/svg+xml"===le.type?"xml":"application/vnd.pxe.react"===le.type?"typescript":le.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==re?void 0:re.secondaryText},se&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==re?void 0:re.secondaryText},se&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==re?void 0:re.secondary}),':not(pre) > code[class*="language-"]':{background:null==re?void 0:re.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==re?void 0:re.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!se&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==re?void 0:re.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:le.content})),t(g,{})]}))})),"inline"===$.type&&!pe&&o("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[t(T,Object.assign({id:`artifact-copy-${le.id}-${le.version}`,tip:(null==q?void 0:q.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:re.secondary,color:re.secondaryText,fontSize:"12px"},align:"bottom"},{children:t(j,{color:re.secondaryText,text:le.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),t(T,Object.assign({id:`artifact-save-${le.id}-${le.version}`,tip:(null==q?void 0:q.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:re.secondary,color:re.secondaryText,fontSize:"12px"},align:"bottom"},{children:t(A,Object.assign({data:le,colors:re,onDownload:ue,onSaveAsPDF:de,onSaveAsDOCX:me},{children:t("button",Object.assign({style:{color:re.secondaryText}},{children:t(k,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};export{$ as default};
1
+ import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useState as n,useRef as i,useMemo as a,useEffect as r}from"react";import{useArtifactContext as l}from"../hooks/useArtifactContext.js";import{usePickaxeContext as c}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as s}from"../../Auth/hooks/useAuthContext.js";import{useScroll as p}from"../../Scroll/hooks/useScroll.js";import{useArtifact as d}from"../hooks/useArtifact.js";import{useSubmitDocument as m}from"../../../../../hooks/pickaxe/useSubmitDocument.js";import{useReactToPrint as u}from"react-to-print";import{PickaxeMarkdown as y}from"../../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as v}from"../../../common/PickaxeMarkdown/Renderer.js";import{Prism as x}from"react-syntax-highlighter";import{convertMarkdownToDocx as f,downloadDocx as g}from"../../../../../common/docx/index.js";import h from"file-saver";import b from"../../Scroll/ScrollLockView.js";import w from"../../../../Icons/expand.svg.js";import C from"../../../../Icons/shrink.svg.js";import k from"../../../../Icons/collapse-new.svg.js";import j from"../../../../Icons/copy-new.svg.js";import T from"../../../../Icons/download-new.svg.js";import F from"../../../common/PickaxeCopyButton.js";import S from"../../../../Core/ScrollArea.js";import O from"../../../../Core/TipContainer.js";import A from"../MermaidRenderer.js";import D from"./SaveMenu.js";import N from"./ViewOptions.js";import B from"csv-to-markdown-table";import E from"copy-to-clipboard";import $ from"../../../../../common/cn.js";import z from"../../../../../common/error.js";const L="development"===process.env.NODE_ENV?"http://localhost:3007":"https://user-content.pickaxe.co",M=e=>{var t;const o=null==e?void 0:e.trim().toLowerCase();if(!o)return".txt";return null!==(t={javascript:".js",js:".js",typescript:".ts",ts:".ts",python:".py",py:".py",json:".json",html:".html",css:".css",markdown:".md",md:".md",sql:".sql",shell:".sh",bash:".sh",sh:".sh",yaml:".yaml",yml:".yml",xml:".xml"}[o])&&void 0!==t?t:`.${o}`},I=I=>{var P,W,R,H;const{artifacts:K,currentPopupType:_,currentArtifact:q,setCurrentArtifact:V}=l(),{onLoadArtifact:X}=d(),{contextId:U,pickaxeId:G,pickaxe:J,styles:Q,colors:Y,translations:Z}=c(),{isLoggedIn:ee,token:te}=s(),oe=m(),[ne,ie]=n("code"),[ae,re]=n(!1),[le,ce]=n(!1),[se,pe]=n(!1),de=i(),me=i(null),ue=i(null),ye=u({contentRef:de}),{scrollContainerRef:ve,scrollStartSession:xe,scrollToBottom:fe,scrollEndSession:ge}=p({auto:"code"===ne}),he=null!==(W=null===(P=I.styling)||void 0===P?void 0:P.styles)&&void 0!==W?W:Q,be=null!==(H=null===(R=I.styling)||void 0===R?void 0:R.colors)&&void 0!==H?H:Y,we=a((()=>{var e,t,o,n,i;if(!I.artifact&&!q)return null;const a=null!==(t=null===(e=I.artifact)||void 0===e?void 0:e.id)&&void 0!==t?t:null==q?void 0:q.id,r=null!==(n=null===(o=I.artifact)||void 0===o?void 0:o.version)&&void 0!==n?n:null==q?void 0:q.version;return null!==(i=K.find((e=>e.id===a&&e.version===r)))&&void 0!==i?i:null}),[q,K,I.artifact]),Ce=a((()=>we?"text/csv"===we.type?B(we.content,",",!0):"text/tab-separated-values"===we.type?B(we.content,"\t",!0):null:null),[we]),ke=a((()=>(be.secondaryText||"").toLowerCase().startsWith("#ffffff")),[null==be?void 0:be.secondaryText]),je=a((()=>{const e=I.artifact&&(null==q?void 0:q.id)===I.artifact.id&&(null==q?void 0:q.version)===I.artifact.version;return"inline"===I.type&&("inline-form"===_?!!q:e)}),[q,_,I.type,I.artifact]),Te=a((()=>we?(e=>{switch(e.type){case"text/markdown":return{extension:".md",mimeType:"text/markdown",content:e.content};case"text/html":return{extension:".html",mimeType:"text/html",content:e.content};case"text/csv":return{extension:".csv",mimeType:"text/csv",content:e.content};case"text/tab-separated-values":return{extension:".tsv",mimeType:"text/tab-separated-values",content:e.content};case"image/svg+xml":return{extension:".svg",mimeType:"image/svg+xml",content:e.content};case"application/pdf":return e.content.trimStart().startsWith("%PDF")?{extension:".pdf",mimeType:"application/pdf",content:e.content}:{extension:".html",mimeType:"text/html",content:e.content};case"application/vnd.pxe.code":return{extension:M(e.programmingLanguage),mimeType:"text/plain",content:e.content};case"application/vnd.pxe.mermaid":return{extension:".mmd",mimeType:"text/plain",content:e.content};case"application/vnd.pxe.react":return{extension:".tsx",mimeType:"text/typescript",content:e.content};default:return null}})(we):null),[we]);r((()=>{e(void 0,void 0,void 0,(function*(){"inline"===I.type&&I.artifact&&(K.some((e=>I.artifact&&e.id===I.artifact.id&&e.version===I.artifact.version))||X({id:I.artifact.id,version:I.artifact.version}))}))}),[K,I.type,I.artifact]),r((()=>{if("application/vnd.pxe.code"===(null==we?void 0:we.type)&&ie("code"),"finished"!==(null==we?void 0:we.status))return ie("code"),xe(),void fe();ge(),"application/vnd.pxe.code"!==we.type&&ie("render")}),[null==we?void 0:we.status,null==we?void 0:we.type]),r((()=>{var e;!ue.current||"text/html"!==(null==we?void 0:we.type)&&"application/pdf"!==(null==we?void 0:we.type)&&"application/vnd.pxe.react"!==(null==we?void 0:we.type)||null===(e=ue.current.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==we.type?"HTML_CODE":"REACT_CODE",content:we.content},L)}),[null==we?void 0:we.content,null==we?void 0:we.type]);const Fe=()=>e(void 0,void 0,void 0,(function*(){if(!we)return;if("text/html"===we.type||"application/pdf"===we.type){const e=we.content,t=window.open("","_blank");return void(t&&(t.document.open(),t.document.write(e),t.document.close(),t.focus(),t.print()))}const e=ne;"code"===e&&(ie("render"),yield new Promise((e=>setTimeout(e,50)))),ye(),"code"===e&&ie(e)})),Se=()=>e(void 0,void 0,void 0,(function*(){if(!we)return;const e=yield f(we.content);g(e,`${we.title}.docx`)})),Oe=t=>e(void 0,void 0,void 0,(function*(){var e;if(!we)return;let o={mimeType:"text/plain",extension:".txt"};switch(t){case"text/markdown":o={mimeType:"text/markdown",extension:".md"};break;case"text/html":o={mimeType:"text/html",extension:".html"};break;case"text/csv":o={mimeType:"text/csv",extension:".csv"};break;case"text/tab-separated-values":o={mimeType:"text/tab-separated-values",extension:".tsv"};break;case"image/svg+xml":case"application/vnd.pxe.mermaid":o={mimeType:"image/svg+xml",extension:".svg"};break;case"application/pdf":o={mimeType:"application/pdf",extension:".pdf"};break;case"application/vnd.pxe.code":o={mimeType:`application/${we.programmingLanguage||"text"};charset=utf-8`,extension:`.${we.programmingLanguage||"txt"}`};break;case"application/vnd.pxe.react":o={mimeType:"text/typescript",extension:".tsx"};break;default:o={mimeType:"text/plain",extension:".txt"}}let n=null;if("application/vnd.pxe.mermaid"===we.type){const t=ne;"code"===t&&(ie("render"),yield new Promise((e=>setTimeout(e,50))));const o=null===(e=me.current)||void 0===e?void 0:e.querySelector("svg");o&&(n=(new XMLSerializer).serializeToString(o)),"code"===t&&ie(t)}const i=new Blob([null!=n?n:we.content],{type:o.mimeType});h(i,`${we.title}${o.extension}`)})),Ae=()=>e(void 0,void 0,void 0,(function*(){if(we&&Te&&te){ce(!0),pe(!1);try{const t=`${e=we.title,e.trim().replace(/[\\/:*?"<>|]/g,"-").replace(/\s+/g," ")||"artifact"}${Te.extension}`,o=new File([Te.content],t,{type:Te.mimeType});yield oe.document(Object.assign(Object.assign({contextId:U,pickaxeId:G,file:o},(null==J?void 0:J.workspaceid)&&{workspaceId:J.workspaceid}),{studioSessionToken:te,isUserDocument:!0})),pe(!0),yield new Promise((e=>setTimeout(e,1500)))}catch(e){alert(z(e))}finally{ce(!1),pe(!1)}var e}})),De=()=>{"inline"!==I.type||!I.artifact||je?V(null):V({id:I.artifact.id,version:I.artifact.version})},Ne=je||!_.startsWith("inline");return we?t("div",Object.assign({className:$("pxe-artifact-renderer flex flex-col","inline"===I.type&&!je&&"min-h-[320px] mb-6",I.className),style:Object.assign(Object.assign({backgroundColor:be.secondary,color:be.secondaryText},"auto"!==_&&{borderRadius:he.cornerRadius}),I.style)},{children:[t("div",Object.assign({className:"flex items-center gap-4 justify-between px-4 py-3 shadow-sm"},{children:[t("div",Object.assign({className:"pxe-artifact-create-header flex min-w-0 items-center gap-4"},{children:[Ne&&o(N,{type:we.type,view:ne,colors:be,onChange:ie}),o("p",Object.assign({className:"w-[220px] max-w-full truncate text-[18px] font-semilight leading-tight",title:we.title},{children:we.title}))]})),"inline"===I.type&&!Ne&&o("div",Object.assign({className:"shrink-0"},{children:o("button",Object.assign({type:"button",style:{color:be.secondaryText},onClick:De,title:(null==Z?void 0:Z.expand)||"Expand","aria-label":(null==Z?void 0:Z.expand)||"Expand artifact"},{children:o(je?C:w,{className:"w-6 h-6 shrink-0"})}))}))]})),Ne&&o("div",Object.assign({className:"flex items-center justify-between border-y px-4 py-2.5",style:{borderColor:be.primary}},{children:t("div",Object.assign({className:"flex items-center gap-3"},{children:[o("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100",style:{color:be.secondaryText},onClick:De,title:"inline"===I.type?(null==Z?void 0:Z.collapse)||"Collapse":(null==Z?void 0:Z.close)||"Close","aria-label":"inline"===I.type?(null==Z?void 0:Z.collapse)||"Collapse artifact":(null==Z?void 0:Z.close)||"Close artifact"},{children:o(k,{className:"h-5 w-5 shrink-0"})})),o("button",Object.assign({type:"button",className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100 disabled:cursor-not-allowed disabled:opacity-50",style:{color:be.secondaryText},disabled:ae,onClick:()=>e(void 0,void 0,void 0,(function*(){if(we)try{E(we.content),re(!0),yield new Promise((e=>setTimeout(e,1500)))}finally{re(!1)}})),title:(null==Z?void 0:Z.copy)||"Copy","aria-label":(null==Z?void 0:Z.copy)||"Copy artifact content"},{children:o(j,{className:"h-[18px] w-[18px] shrink-0"})})),o(D,Object.assign({data:we,colors:be,onDownload:Oe,onSaveAsPDF:Fe,onSaveAsDOCX:Se,onSaveToKnowledgeBase:Ae,isSaveToKnowledgeBaseEnabled:ee&&Boolean(Te),isSavingToKnowledgeBase:le,isSavedToKnowledgeBase:se,className:"opacity-70 transition-opacity duration-300 ease-in-out hover:opacity-100"},{children:o("div",Object.assign({role:"button",className:"cursor-pointer",style:{color:be.secondaryText},title:(null==Z?void 0:Z.save)||"Download","aria-label":(null==Z?void 0:Z.save)||"Download artifact content"},{children:o(T,{className:"h-6 w-6 shrink-0"})}))}))]}))})),o("div",Object.assign({className:"flex flex-col flex-grow @container/pickaxe-artifact"},{children:t(S,Object.assign({ref:ve,innerClassName:"flex-grow w-full"},{children:["render"===ne&&"application/vnd.pxe.code"!==we.type?o("div",Object.assign({ref:de,className:$("p-4 pb-6 flex-grow flex flex-col","text/html"===we.type&&"p-0","text/csv"===we.type&&"p-0","application/pdf"===we.type&&"p-0","application/vnd.pxe.react"===we.type&&"p-0")},{children:"text/markdown"===we.type||"text/csv"===we.type||"text/tab-separated-values"===we.type||"image/svg+xml"===we.type?o(y,Object.assign({theme:he.theme,colors:be},{children:o(v,{value:null!=Ce?Ce:we.content,className:$("px-6 @[767px]/pickaxe-artifact:px-11 mx-auto w-full",("text/csv"===we.type||"text/tab-separated-values"===we.type)&&"px-4 @[767px]/pickaxe-artifact:px-4 mx-0"),style:{flex:1}})})):"application/vnd.pxe.mermaid"===we.type?o(A,{ref:me,id:`mermaid-${we.id}-${we.version}`,data:we.content}):"text/html"===we.type||"application/pdf"===we.type||"application/vnd.pxe.react"===we.type?o("iframe",Object.assign({ref:ue,title:we.title,src:`${L}/${"application/vnd.pxe.react"!==we.type?"html":"react"}?theme=${ke?"dark":"light"}&bg=${be.secondary}&accent=${be.accent}`,style:{width:"100%",flex:1,border:"none",backgroundColor:null==be?void 0:be.secondary},loading:"lazy",allow:"fullscreen; camera; microphone; gyroscope; accelerometer; geolocation; clipboard-write; autoplay",sandbox:"allow-scripts allow-same-origin allow-forms allow-downloads allow-popups-to-escape-sandbox allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-presentation",onLoad:e=>{const t=e.target;setTimeout((()=>{var e;try{null===(e=t.contentWindow)||void 0===e||e.postMessage({type:"application/vnd.pxe.react"!==we.type?"HTML_CODE":"REACT_CODE",content:we.content},L)}catch(e){console.error("Error sending message to iframe:",e)}}),100),fe()}},{children:(null==Z?void 0:Z["iframe-artifact-fallback"])||"Iframe is not supported, please view this artifact in a browser that supports it."})):null})):o(x,Object.assign({PreTag:"div",language:"text/markdown"===we.type?"markdown":"text/html"===we.type||"image/svg+xml"===we.type?"xml":"application/vnd.pxe.react"===we.type?"typescript":we.programmingLanguage,showLineNumbers:!0,customStyle:{margin:0,flex:1},style:Object.assign({'code[class*="language-"]':Object.assign(Object.assign({color:null==be?void 0:be.secondaryText},ke&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"}),'pre[class*="language-"]':Object.assign(Object.assign({color:null==be?void 0:be.secondaryText},ke&&{textShadow:"0 1px rgba(0, 0, 0, 0.3)"}),{fontFamily:"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace",direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",borderRadius:"0.3em",minWidth:0,paddingLeft:"1em",paddingRight:"1em",paddingBottom:"2em",background:null==be?void 0:be.secondary}),':not(pre) > code[class*="language-"]':{background:null==be?void 0:be.secondary,padding:".1em",borderRadius:".3em"},comment:{color:"#7C7C7C"},prolog:{color:"#7C7C7C"},doctype:{color:"#7C7C7C"},cdata:{color:"#7C7C7C"},punctuation:{color:"#c5c8c6"},".namespace":{opacity:".7"},property:{color:"#96CBFE"},keyword:{color:"#96CBFE"},tag:{color:"#96CBFE"},"class-name":{color:"#FFFFB6"},boolean:{color:"#99CC99"},constant:{color:"#99CC99"},symbol:{color:"#f92672"},deleted:{color:"#f92672"},number:{color:"#FF73FD"},selector:{color:"#A8FF60"},"attr-name":{color:"#A8FF60"},string:{color:"#A8FF60"},char:{color:"#A8FF60"},builtin:{color:"#A8FF60"},inserted:{color:"#A8FF60"},variable:{color:"#C6C5FE"},operator:{color:"#EDEDED"},entity:{color:"#FFFFB6",cursor:"help"},url:{color:"#96CBFE"},".language-css .token.string":{color:"#87C38A"},".style .token.string":{color:"#87C38A"},atrule:{color:"#F9EE98"},"attr-value":{color:"#F9EE98"},function:{color:"#DAD085"},regex:{color:"#E9C062"},important:{color:null==be?void 0:be.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},!ke&&{comment:{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#4D4D4C"},property:{color:"#4078F2"},keyword:{color:"#8959A8"},tag:{color:"#8959A8"},"class-name":{color:"#D75F00"},boolean:{color:"#0086B3"},constant:{color:"#0086B3"},symbol:{color:"#990055"},deleted:{color:"#990000"},number:{color:"#005CC5"},selector:{color:"#63A35C"},"attr-name":{color:"#63A35C"},string:{color:"#50A14F"},char:{color:"#50A14F"},builtin:{color:"#50A14F"},inserted:{color:"#50A14F"},variable:{color:"#A626A4"},operator:{color:"#4D4D4C"},entity:{color:"#E45649",cursor:"help"},url:{color:"#4078F2"},".language-css .token.string":{color:"#50A14F"},".style .token.string":{color:"#50A14F"},atrule:{color:"#C18401"},"attr-value":{color:"#986801"},function:{color:"#005CC5"},regex:{color:"#D16969"},important:{color:null==be?void 0:be.secondaryText,fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}})},{children:we.content})),o(b,{})]}))})),"inline"===I.type&&!je&&t("div",Object.assign({className:"flex items-center gap-4 p-4 pt-6"},{children:[o(O,Object.assign({id:`artifact-copy-${we.id}-${we.version}`,tip:(null==Z?void 0:Z.copy)||"Copy",style:{padding:"0.25rem 0.5rem",backgroundColor:be.secondary,color:be.secondaryText,fontSize:"12px"},align:"bottom"},{children:o(F,{color:be.secondaryText,text:we.content,className:"opacity-100",iconClassName:"w-5 h-5"})})),o(O,Object.assign({id:`artifact-save-${we.id}-${we.version}`,tip:(null==Z?void 0:Z.save)||"Save",style:{padding:"0.25rem 0.5rem",backgroundColor:be.secondary,color:be.secondaryText,fontSize:"12px"},align:"bottom"},{children:o(D,Object.assign({data:we,colors:be,onDownload:Oe,onSaveAsPDF:Fe,onSaveAsDOCX:Se,onSaveToKnowledgeBase:Ae,isSaveToKnowledgeBaseEnabled:ee&&Boolean(Te),isSavingToKnowledgeBase:le,isSavedToKnowledgeBase:se},{children:o("button",Object.assign({style:{color:be.secondaryText}},{children:o(T,{className:"w-5 h-5 shrink-0"})}))}))}))]}))]})):null};export{I as default};
@@ -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,useCallback as l,useEffect as c,useMemo as d,useImperativeHandle as u}from"react";import{usePickaxeContext as m}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as p}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as h}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as g}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as v}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as b}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as y}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as j}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as w}from"../../../hooks/core/useHover.js";import{useMediaQuery as O}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as k,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 _ from"../../Icons/arrow-right.svg.js";import E from"../../Icons/microphone.svg.js";import U from"../../Icons/stop.svg.js";import T from"../Addons/Document/List.js";import A from"../../Core/Textarea.js";import P from"../../Core/ErrorAlert.js";import D from"../../../common/error.js";import L from"../../../common/api/pickaxe.js";import{getValidationFailure as R}from"../../../common/validation.js";import M from"../../../common/cn.js";import{buildUpgradeUrl as $,isInIframe as B,initializeEmbedUserId as V}from"../../../common/utils.js";import{useStudio as X}from"../../../hooks/studio/useStudio.js";import{useSpeech as F}from"../../../hooks/pickaxe/useSpeech.js";import{STUDIO_INFINITY_VALUE as K}from"../common/PickaxeCommon.js";const W=e=>"string"==typeof e&&e.trim().length>0,H=(e,t)=>{if(e&&"object"==typeof e)return e[t]},J=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},z=({studioUser:e,deploymentId:t,portalId:s})=>{var n,o;const i=Array.isArray(H(e,"uses"))?H(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>W(e)?{type:"deployment",id:e}:W(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(n=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==n?n:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},G=i((({resubmitPrompt:i,onFocus:W,onBlur:H,onInputHeightChange:G,initSmitheryAuthData:q},Q)=>{var Y,Z,ee,te,se,ne,oe,ie,re;const{origin:ae,pickaxeId:le,sessionId:ce,sender:de,senderType:ue,portalId:me,deploymentId:pe,deploymentType:fe,pickaxe:he,styles:ge,colors:ve,translations:be,locale:ye,forceMobile:xe,isNewChat:je,isRtl:we,isShowFeedbackMessage:Oe,accessGroup:ke,setIsNewChat:Ie,setIsShowIceBreaker:Ne,setValidationStatus:Se,setValidationUpgradeGroups:Ce,setValidationUpgradeUrl:_e,onGenerateComplete:Ee}=m(),{token:Ue,isLoggedOut:Te,isSent:Ae,isPricingAuth:Pe}=b(),{messages:De,isGenerating:Le,setMessages:Re,setStatus:Me,setLimitData:$e,setError:Be}=p(),{documents:Ve,isUploading:Xe,documentError:Fe,onFileUpload:Ke,setDocuments:We,setDocumentError:He}=y(),{studio:Je}=X(),{scrollStartSession:ze,scrollEndSession:Ge,scrollToBottom:qe}=x({auto:!0}),{artifacts:Qe,currentPopupType:Ye,setArtifacts:Ze,setCurrentArtifact:et}=j(),{height:tt}=v(),st=g(),[nt,ot]=r(""),[it,rt]=r(!1),[at,lt]=r(!1),[ct,dt]=r(null),[ut,mt]=r(null),[pt,ft]=r(!1),[ht,gt]=r(0),vt=a(null),bt=a(""),yt=a(null),xt=a(null),jt=a(null),wt=a(null),Ot=a(null),kt=Math.max(.4*tt,100),{speechTranscript:It,isSpeechListening:Nt,isSpeechProcessing:St,isSpeechSupported:Ct,onStartListening:_t,onStopListening:Et}=F(),[Ut]=O("(max-width: 480px)"),Tt=w(),{isHover:At}=Tt,Pt=e(Tt,["isHover"]),Dt=w(),{isHover:Lt}=Dt,Rt=e(Dt,["isHover"]),Mt=w(),{isHover:$t}=Mt,Bt=e(Mt,["isHover"]),Vt=h(),Xt=f(),Ft="undefined"!=typeof window?window.location.hostname:"",Kt="undefined"!=typeof window?window.location.href:"",Wt="undefined"!=typeof window&&window.self!==window.top,Ht=Ft.includes("pickaxe.co")&&!Kt.includes("https://studio.pickaxe.co/_embed")&&!Wt,Jt=null===(Y=null==he?void 0:he.documentuploadtype)||void 0===Y?void 0:Y.startsWith("enduserupload"),zt=Ct&&(null==he?void 0:he.enablevoicetotext),Gt="chat-input"===fe&&je&&!Ae,qt="chat-input"===fe&&Pe&&Te&&Ae,Qt=l((e=>{const t=R(e);return!!t&&(Be(""),$e(null),Se(t.status),Ce(t.upgradeGroups),_e(t.upgradeUrl),!0)}),[Be,$e,Se,Ce,_e]),Yt=null!==(Z=null==he?void 0:he.placeholdertext)&&void 0!==Z?Z:we?"بماذا تريد أن تتحدث؟":(null==be?void 0:be["what-do-you-want-to-talk-about"])||"What do you want to talk about?",Zt=it||at,es=l((()=>t(void 0,void 0,void 0,(function*(){try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign(Object.assign(Object.assign({studioId:null==he?void 0:he.studioid},de&&{sender:de}),Ue&&{studioSessionToken:Ue}),!Ue&&!de&&{sender:V()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),Ht&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(dt(t.studioUser),mt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}}))),[ae,le,ce,ue,de,Ue,me,pe,Ht]);c((()=>{es()}),[es]);const ts=Number(null!==(ee=null==ke?void 0:ke.limit)&&void 0!==ee?ee:0),ss="string"==typeof(null==ke?void 0:ke.limitInterval)?ke.limitInterval:null,ns=!!(null==Je?void 0:Je.data.usage)&&Je.data.usage.isCredits,os=d((()=>z({studioUser:ct,deploymentId:pe,portalId:me})),[pe,me,ct]),is={currentUses:J(null==ct?void 0:ct.currentUses),extraUses:J(null==ct?void 0:ct.extraUses)},rs=os.scope?{currentUses:null!==(se=J(null===(te=os.record)||void 0===te?void 0:te.currentUses))&&void 0!==se?se:0,extraUses:null!==(oe=J(null===(ne=os.record)||void 0===ne?void 0:ne.extraUses))&&void 0!==oe?oe:0}:{currentUses:0,extraUses:0},as=Te?rs:is;c((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(ns&&(null===(t=null==Je?void 0:Je.data)||void 0===t?void 0:t.workspaceId))try{const t=yield L.get(`/cost_per_run?workspaceId=${Je.data.workspaceId}`,{withCredentials:!1});e&&gt(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&gt(0)}else e&&gt(0)})),()=>{e=!1}}),[ns,null===(ie=null==Je?void 0:Je.data)||void 0===ie?void 0:ie.workspaceId]);const ls=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const o=Number(null!=e?e:0),i=Number(null!=t?t:0);return s===K||i===K?K:"one_time"===n?Math.max(0,i-o):Math.max(0,s-o)+i})({currentUses:as.currentUses,extraUses:as.extraUses,limit:ts,limitInterval:ss}),cs=ls===K?K:Math.max(0,Math.ceil(ls)),ds=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===K||n===K?K:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:as.extraUses,limit:ts,limitInterval:ss}),us=ds===K?K:Math.ceil(.05*ds),ms=ns?Math.ceil(5*ht):5,ps=us===K?K:Math.max(us,ms);console.log("Usage and Limits Debug:",{remaining:cs,notificationThreshold:ps,studioUser:ct});const fs=d((()=>!!ct&&(!pt&&(cs!==K&&(!(cs<=0)&&cs<=ps)))),[pt,ps,cs,ct]),hs=d((()=>{var e,t,s;return!!je&&(!!he&&(!st.isLoading&&(!((null!==(t=null===(e=st.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=he.icebreakers)||void 0===s?void 0:s.length)&&(!Oe&&!Gt)))))}),[he,je,Oe,Gt,st.data,st.isLoading]),gs=d((()=>{if(Le||Xe)return!1;const e=Ve.length>0&&Ve.every((e=>"finished"===e.status));return!(!nt.trim()&&!e)&&Ve.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[Le,Xe,nt,Ve]);u(Q,(()=>({onSubmit:vs}))),c((()=>{Ne(hs)}),[hs]),c((()=>{var e;if(i){const t=Array.from(De),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;vs(s,!0)}}),[i]),c((()=>{if(!wt.current||!G)return;const e=new ResizeObserver((e=>{for(const t of e)G(t.contentRect.height)}));return e.observe(wt.current),()=>{e.disconnect()}}),[G]),c((()=>{if(!Nt)return;const e=bt.current?`${bt.current} `:"";ot(`${e}${It}`)}),[It,Nt]),c((()=>{if(!xt.current)return;(()=>{if(!xt.current)return;let e=xt.current.scrollHeight>52;nt.includes("\n")||Ve.length?e=!0:nt.trim()||(e=!1),rt(e)})()}),[nt,Ve]),c((()=>{const e=xt.current,t=jt.current;if(!e||!t||it||nt.includes("\n"))return void lt(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=nt||Yt,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;lt(i>l)}),[nt,it,Yt]);const vs=(e,s=!1)=>t(void 0,void 0,void 0,(function*(){var t,n,o;try{if(Le||Xe)return;const i=Ve.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),r=i.map((e=>e.documentId)).filter(Boolean),a=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=r.length>0,c=null!=e?e:nt;if(!c&&!l)return;Be(""),He(""),$e(null),ot(""),Ie(!1),Me("fetching"),ze(),qe();const d=null!==(n=null===(t=null==he?void 0:he.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==n&&n&&r.length>0,u=[...s?Array.from(De.slice(0,De.length-1)):Array.from(De),...s?[]:[{id:De.length+1,role:"user",parts:[{type:"text",content:c,isVisible:!0}],documentIds:d?r:[]}],{id:De.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];Re(u),qe(),d&&We([]);const m=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:ae,pickaxeId:le,sessionId:ce,senderType:ue,value:c},d&&{documentIds:r}),de&&{sender:de}),Ue&&{studioSessionToken:Ue}),!Ue&&!de&&{sender:V()}),me&&{portalId:me}),pe&&{deploymentId:pe}),a.length>0&&{uploadedModelImages:a})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},Ht&&{credentials:"include"})),p=yield m.json();if(!p.success){if(Qt(p))return;const e=new Error(p.error||p.message||(null==be?void 0:be["failed-to-start-generation"])||"Failed to start generation");throw p.limitData&&(e.limitData=p.limitData),e}const f=p.submissionId;Me("streaming"),Ot.current=new AbortController;const h=u.length-1,g=[];let v=[...null!=Qe?Qe:[]],b=0,y=!1,x="";for(;!y;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${f}?index=${b}`,{signal:null===(o=Ot.current)||void 0===o?void 0:o.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();yt.current=t;const s=new TextDecoder,n=S({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&b++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==be?void 0:be["something-went-wrong"])||"Something went wrong.";return Qt(t)||Be(s),void(y=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&q){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw y=!0,q({smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw y=!0,q({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)x="",g.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)x+=n.delta,g[g.length-1].content=x;else if("text-end"===n.type)x="";else if("reasoning-start"===n.type)x="",g.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)x+=n.delta,g[g.length-1].content=x;else if("reasoning-end"===n.type)x="";else if(n.type.startsWith("data-")){const e=n;g.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Re([...u.slice(0,h),Object.assign(Object.assign({},u[u.length-1]),{id:De.length+1,role:"assistant",parts:g})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ze([...v]),Ye.startsWith("inline")||et({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),Ze(v),Ye.startsWith("inline")||et({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);v=v.filter((e=>!(e.id===t.id&&e.version===t.version))),v.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),Ze(v),Ye.startsWith("inline")||et({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");v=v.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),Ze(v)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);Ze(v.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),s=t.error||t.message||(null==be?void 0:be["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(Qt(t))return void(y=!0);Be(s)}else"stop"===e.event&&(y=!0)}else y=!0}});for(;;){const{value:e,done:o}=yield t.read();if(o)break;n.feed(s.decode(e))}y||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(y=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Ee||Ee(ce)}catch(e){if(e.limitData)$e(e.limitData),Be("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==be?void 0:be["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),Qt(t)||Be(t)}}finally{qe(),Me("idle"),Ge(),yt.current=null,yield es()}}));return qt?null:s("div",Object.assign({className:M("flex w-full flex-shrink-0 flex-col items-center",!Gt&&"px-4 pb-8"),dir:we?"rtl":"ltr"},{children:n("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[n("div",Object.assign({ref:wt,className:M("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===ge.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Xt),{maxHeight:`${kt}px`,overflowY:"auto"})},{children:[fs&&n("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Xt.backgroundColor?`${Xt.backgroundColor}E6`:void 0,borderColor:ve.text+"20",color:ve.text,borderTopRightRadius:ge.cornerRadius+"px",borderTopLeftRadius:ge.cornerRadius+"px"}},{children:[s("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:n("span",{children:[cs.toLocaleString()," ",ns?(null==be?void 0:be.credits)||"Credits":(null==be?void 0:be.uses)||"Uses"," ",(null==be?void 0:be.remaining)||"remaining"]})})),n("div",Object.assign({className:"flex items-center gap-3"},{children:[s("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ve.accent,color:ve.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=$({baseUrl:ut,accessGroupId:null==ke?void 0:ke.accessGroupId});t&&(B()?window.open(t):location.href=t)}},{children:(null==be?void 0:be.upgrade)||"Upgrade"})),s("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>ft(!0)},{children:s("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:s("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Le&&Ve.length>0&&s(T,{className:"p-4 pb-0",isDisabled:Le}),n("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Nt&&n("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[s("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(re=ve.accent)&&void 0!==re?re:"#ff0000"}}),s("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ve.text+"90"}},{children:(null==be?void 0:be.listening)||"Listening..."}))]})),s(A,Object.assign({ref:xt,className:M(Vt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!nt.trim()&&!nt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",we?"text-right":"text-left",Zt&&"mb-12",Nt&&"text-transparent"),value:nt,placeholder:Yt,onChange:e=>{ot(e)},onKeyDown:e=>{xe||Ut||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Xe||Le||vs()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),Ie(!1),yield Ke(t))}))},W&&{onFocus:W},H&&{onBlur:H},{dir:we?"rtl":"ltr"})),s("div",Object.assign({ref:jt,className:M("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",Zt?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!Zt&&Xt.backgroundColor&&{backgroundColor:Xt.backgroundColor}),{borderTopRightRadius:ge.cornerRadius+"px",borderBottomRightRadius:ge.cornerRadius+"px"})},{children:Le?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Ot.current&&(Ot.current.abort(),Ot.current=null),yt.current&&(yt.current.cancel(),yt.current=null),Me("idle")},style:{backgroundColor:ve.accent,color:ve.accentText}},{children:s(U,{className:"h-4 w-4 shrink-0"})})):Nt?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Et,style:{backgroundColor:ve.accent,color:ve.accentText}},{children:s(U,{className:"h-4 w-4 shrink-0"})})):n(o,{children:[Jt&&n("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Lt?ve.accent+"10":void 0,color:Lt?ve.accent:ve.accent+"80"},disabled:Xe||Le,onClick:()=>{var e;return null===(e=vt.current)||void 0===e?void 0:e.click()}},Rt,{children:[s("input",{id:"file-upload",ref:vt,type:"file",accept:[...k,...I,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Ie(!1),yield Ke(Array.from(e.target.files||[])),e.target.value=""}))}),s(C,{className:"h-6 w-6 shrink-0"})]})),zt&&s("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Nt?ve.accent:$t?ve.accent+"10":void 0,color:Nt?ve.accentText:$t?ve.accent:ve.accent+"80"},disabled:Xe||Le||St,onClick:()=>{Nt?Et():(bt.current=nt,_t(ye||"en-US"))}},Bt,{children:s(E,{className:"h-5 w-5 shrink-0"})})),s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:At||gs?ve.accent:ve.accent+"10",color:At||gs?ve.accentText:ve.accent+"80"},disabled:!gs,onClick:()=>vs()},Pt,{children:s(_,{className:M("h-6 w-6 shrink-0",we&&"scale-x-[-1] transform")})}))]})}))]}))]})),Fe&&s(P,{error:Fe,className:"mt-3"})]}))}))}));G.displayName="Input";export{G as default};
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,useCallback as l,useEffect as d,useMemo as c,useImperativeHandle as u}from"react";import{usePickaxeContext as m}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as p}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as f}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as g}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as h}from"../../../hooks/pickaxe/useConversation.js";import{useDimensionContext as v}from"../../../hooks/pickaxe/useDimensionContext.js";import{useAuthContext as b}from"../Addons/Auth/hooks/useAuthContext.js";import{useDocument as y}from"../Addons/Document/hooks/useDocument.js";import{useScroll as x}from"../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as j}from"../Addons/Artifact/hooks/useArtifactContext.js";import{useHover as w}from"../../../hooks/core/useHover.js";import{useMediaQuery as I}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as O,allowedImageMimeTypes as k,additionalAllowedFileExtensions as N}from"../../../common/documents.js";import{createParser as S}from"eventsource-parser";import C from"../../Icons/attach-vertical.svg.js";import _ from"../../Icons/arrow-right.svg.js";import U from"../../Icons/microphone.svg.js";import E from"../../Icons/stop.svg.js";import T from"../Addons/Document/List.js";import A from"../../Core/Textarea.js";import P from"../../Core/ErrorAlert.js";import D from"../../../common/error.js";import L from"../../../common/api/pickaxe.js";import{getValidationFailure as R}from"../../../common/validation.js";import M from"../../../common/cn.js";import{buildUpgradeUrl as $,isInIframe as B,initializeEmbedUserId as H}from"../../../common/utils.js";import{getPickaxeConfigMetadata as V}from"../../../common/pickaxeConfig.js";import{fireDeploymentSessionInitializedWebhook as W,fireDeploymentFirstMessageSubmittedWebhook as X}from"../../../common/deploymentWebhooks.js";import{useStudio as F}from"../../../hooks/studio/useStudio.js";import{useSpeech as K}from"../../../hooks/pickaxe/useSpeech.js";import{STUDIO_INFINITY_VALUE as J}from"../common/PickaxeCommon.js";const G=e=>"string"==typeof e&&e.trim().length>0,z=(e,t)=>{if(e&&"object"==typeof e)return e[t]},q=(e,t)=>{const s=z(e,t);return G(s)?s:null},Q=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},Y=({studioUser:e,deploymentId:t,portalId:s})=>{var n,o;const i=Array.isArray(z(e,"uses"))?z(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>G(e)?{type:"deployment",id:e}:G(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:s});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(n=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==n?n:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},Z=i((({resubmitPrompt:i,onFocus:z,onBlur:Z,onInputHeightChange:ee,initSmitheryAuthData:te},se)=>{var ne,oe,ie,re,ae,le,de,ce,ue;const{origin:me,pickaxeId:pe,sessionId:fe,sender:ge,senderType:he,portalId:ve,deploymentId:be,deploymentType:ye,pickaxe:xe,styles:je,colors:we,translations:Ie,locale:Oe,forceMobile:ke,isNewChat:Ne,isRtl:Se,isShowFeedbackMessage:Ce,accessGroup:_e,setIsNewChat:Ue,setIsShowIceBreaker:Ee,setValidationStatus:Te,setValidationUpgradeGroups:Ae,setValidationUpgradeUrl:Pe,onGenerateComplete:De}=m(),{token:Le,isLoggedOut:Re,isSent:Me,isPricingAuth:$e}=b(),{messages:Be,isGenerating:He,setMessages:Ve,setStatus:We,setLimitData:Xe,setError:Fe}=p(),{documents:Ke,isUploading:Je,documentError:Ge,onFileUpload:ze,setDocuments:qe,setDocumentError:Qe}=y(),{studio:Ye}=F(),{scrollStartSession:Ze,scrollEndSession:et,scrollToBottom:tt}=x({auto:!0}),{artifacts:st,currentPopupType:nt,setArtifacts:ot,setCurrentArtifact:it}=j(),{height:rt}=v(),at=h(),[lt,dt]=r(""),[ct,ut]=r(!1),[mt,pt]=r(!1),[ft,gt]=r(null),[ht,vt]=r(null),[bt,yt]=r(!1),[xt,jt]=r(!1),[wt,It]=r(0),Ot=a(null),kt=a(""),Nt=a(null),St=a(null),Ct=a(null),_t=a(null),Ut=a(null),Et=a(new Set),Tt=a(null),At=Math.max(.4*rt,100),{speechTranscript:Pt,isSpeechListening:Dt,isSpeechProcessing:Lt,isSpeechSupported:Rt,onStartListening:Mt,onStopListening:$t}=K(),[Bt]=I("(max-width: 480px)"),Ht=w(),{isHover:Vt}=Ht,Wt=e(Ht,["isHover"]),Xt=w(),{isHover:Ft}=Xt,Kt=e(Xt,["isHover"]),Jt=w(),{isHover:Gt}=Jt,zt=e(Jt,["isHover"]),qt=g(),Qt=f(),Yt="undefined"!=typeof window?window.location.hostname:"",Zt="undefined"!=typeof window?window.location.href:"",es="undefined"!=typeof window&&window.self!==window.top,ts=Yt.includes("pickaxe.co")&&!Zt.includes("https://studio.pickaxe.co/_embed")&&!es,ss=null===(ne=null==xe?void 0:xe.documentuploadtype)||void 0===ne?void 0:ne.startsWith("enduserupload"),ns=Rt&&(null==xe?void 0:xe.enablevoicetotext),os=G(be),is="chat-input"===ye&&Ne&&!Me,rs="chat-input"===ye&&$e&&Re&&Me,as=l((e=>{const t=R(e);return!!t&&(Fe(""),Xe(null),Te(t.status),Ae(t.upgradeGroups),Pe(t.upgradeUrl),!0)}),[Fe,Xe,Te,Ae,Pe]),ls=null!==(oe=null==xe?void 0:xe.placeholdertext)&&void 0!==oe?oe:Se?"بماذا تريد أن تتحدث؟":(null==Ie?void 0:Ie["what-do-you-want-to-talk-about"])||"What do you want to talk about?",ds=ct||mt,cs=l((()=>t(void 0,void 0,void 0,(function*(){yt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/get_user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign(Object.assign(Object.assign({studioId:null==xe?void 0:xe.studioid},ge&&{sender:ge}),Le&&{studioSessionToken:Le}),!Le&&!ge&&{sender:H()}))},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"Content-Type":"application/json","x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),ts&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(gt(t.studioUser),vt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{yt(!0)}}))),[me,pe,fe,he,ge,Le,ve,be,ts]);d((()=>{cs()}),[cs]);const us=Number(null!==(ie=null==_e?void 0:_e.limit)&&void 0!==ie?ie:0),ms="string"==typeof(null==_e?void 0:_e.limitInterval)?_e.limitInterval:null,ps=!!(null==Ye?void 0:Ye.data.usage)&&Ye.data.usage.isCredits,fs=c((()=>Y({studioUser:ft,deploymentId:be,portalId:ve})),[be,ve,ft]);d((()=>{os&&Ne&&fe&&Et.current.add(fe)}),[Ne,fe,os]);const gs=l((()=>{var e,t,s;return{studioId:null==xe?void 0:xe.studioid,userEmail:q(ft,"email"),userId:null!==(e=q(ft,"userId"))&&void 0!==e?e:q(ft,"userid"),sessionId:fe,deploymentId:be,deploymentType:ye,portalId:ve,accessGroupId:null!==(t=null==_e?void 0:_e.accessGroupId)&&void 0!==t?t:null,pickaxeId:pe,sender:ge,senderType:he,origin:me,metadata:null!==(s=V(be))&&void 0!==s?s:null}}),[null==_e?void 0:_e.accessGroupId,be,ye,me,null==xe?void 0:xe.studioid,pe,ve,ge,he,fe,ft]),hs=l((()=>!!(os&&bt&&fe)&&(!!Et.current.has(fe)&&(W(gs()),Et.current.delete(fe),!0))),[gs,bt,fe,os]);d((()=>{if(!bt||!fe)return;hs();const e=Tt.current;(null==e?void 0:e.sessionId)===fe&&(X(Object.assign(Object.assign(Object.assign({},e),gs()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Tt.current=null)}),[hs,gs,bt,fe]);const vs={currentUses:Q(null==ft?void 0:ft.currentUses),extraUses:Q(null==ft?void 0:ft.extraUses)},bs=fs.scope?{currentUses:null!==(ae=Q(null===(re=fs.record)||void 0===re?void 0:re.currentUses))&&void 0!==ae?ae:0,extraUses:null!==(de=Q(null===(le=fs.record)||void 0===le?void 0:le.extraUses))&&void 0!==de?de:0}:{currentUses:0,extraUses:0},ys=Re?bs:vs;d((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(ps&&(null===(t=null==Ye?void 0:Ye.data)||void 0===t?void 0:t.workspaceId))try{const t=yield L.get(`/cost_per_run?workspaceId=${Ye.data.workspaceId}`,{withCredentials:!1});e&&It(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&It(0)}else e&&It(0)})),()=>{e=!1}}),[ps,null===(ce=null==Ye?void 0:Ye.data)||void 0===ce?void 0:ce.workspaceId]);const xs=(({currentUses:e,extraUses:t,limit:s,limitInterval:n})=>{const o=Number(null!=e?e:0),i=Number(null!=t?t:0);return s===J||i===J?J:"one_time"===n?Math.max(0,i-o):Math.max(0,s-o)+i})({currentUses:ys.currentUses,extraUses:ys.extraUses,limit:us,limitInterval:ms}),js=xs===J?J:Math.max(0,Math.ceil(xs)),ws=(({extraUses:e,limit:t,limitInterval:s})=>{const n=Number(null!=e?e:0);return t===J||n===J?J:"one_time"===s?Math.max(0,n):Math.max(0,t)+Math.max(0,n)})({extraUses:ys.extraUses,limit:us,limitInterval:ms}),Is=ws===J?J:Math.ceil(.05*ws),Os=ps?Math.ceil(5*wt):5,ks=Is===J?J:Math.max(Is,Os);console.log("Usage and Limits Debug:",{remaining:js,notificationThreshold:ks,studioUser:ft});const Ns=c((()=>!!ft&&(!xt&&(js!==J&&(!(js<=0)&&js<=ks)))),[xt,ks,js,ft]),Ss=c((()=>{var e,t,s;return!!Ne&&(!!xe&&(!at.isLoading&&(!((null!==(t=null===(e=at.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(s=xe.icebreakers)||void 0===s?void 0:s.length)&&(!Ce&&!is)))))}),[xe,Ne,Ce,is,at.data,at.isLoading]),Cs=c((()=>{if(He||Je)return!1;const e=Ke.length>0&&Ke.every((e=>"finished"===e.status));return!(!lt.trim()&&!e)&&Ke.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[He,Je,lt,Ke]);u(se,(()=>({onSubmit:_s}))),d((()=>{Ee(Ss)}),[Ss]),d((()=>{var e;if(i){const t=Array.from(Be),s=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;_s(s,!0)}}),[i]),d((()=>{if(!_t.current||!ee)return;const e=new ResizeObserver((e=>{for(const t of e)ee(t.contentRect.height)}));return e.observe(_t.current),()=>{e.disconnect()}}),[ee]),d((()=>{if(!Dt)return;const e=kt.current?`${kt.current} `:"";dt(`${e}${Pt}`)}),[Pt,Dt]),d((()=>{if(!St.current)return;(()=>{if(!St.current)return;let e=St.current.scrollHeight>52;lt.includes("\n")||Ke.length?e=!0:lt.trim()||(e=!1),ut(e)})()}),[lt,Ke]),d((()=>{const e=St.current,t=Ct.current;if(!e||!t||ct||lt.includes("\n"))return void pt(!1);const s=window.getComputedStyle(e),n=`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${s.fontSize} / ${s.lineHeight} ${s.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:n,letterSpacing:s.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=lt||ls,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(s.paddingLeft)||0,a=parseFloat(s.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;pt(i>l)}),[lt,ct,ls]);const _s=(e,s=!1)=>t(void 0,void 0,void 0,(function*(){var t,n,o;try{if(He||Je)return;const i=Ke.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),r=i.map((e=>e.documentId)).filter(Boolean),a=i.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),l=r.length>0,d=null!=e?e:lt;if(!d&&!l)return;Fe(""),Qe(""),Xe(null),dt(""),Ue(!1),We("fetching"),Ze(),tt();const c=null!==(n=null===(t=null==xe?void 0:xe.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==n&&n&&r.length>0,u=[...s?Array.from(Be.slice(0,Be.length-1)):Array.from(Be),...s?[]:[{id:Be.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:c?r:[]}],{id:Be.length+(s?0:2),role:"assistant",parts:[],documentIds:[]}];Ve(u),tt(),c&&qe([]);const m=V(be),p=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,Object.assign({method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:me,pickaxeId:pe,sessionId:fe,senderType:he,value:d},c&&{documentIds:r}),ge&&{sender:ge}),Le&&{studioSessionToken:Le}),!Le&&!ge&&{sender:H()}),ve&&{portalId:ve}),be&&{deploymentId:be}),m&&{metadata:m}),a.length>0&&{uploadedModelImages:a})),headers:Object.assign(Object.assign({},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN})),{"x-request-sent-at":(new Date).toISOString()})},ts&&{credentials:"include"})),f=yield p.json();if(!f.success){if(as(f))return;const e=new Error(f.error||f.message||(null==Ie?void 0:Ie["failed-to-start-generation"])||"Failed to start generation");throw f.limitData&&(e.limitData=f.limitData),e}const g=f.submissionId;os&&Ne&&fe&&Et.current.add(fe);const h=Object.assign(Object.assign({},gs()),{message:d,documentIds:c?r:[],uploadedModelImages:a,hasUploadedDocuments:c,isHidden:s,metadata:null!=m?m:null});bt?(hs(),X(h)):Tt.current=h,We("streaming"),Ut.current=new AbortController;const v=u.length-1,b=[];let y=[...null!=st?st:[]],x=0,j=!1,w="";for(;!j;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${g}?index=${x}`,{signal:null===(o=Ut.current)||void 0===o?void 0:o.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader();Nt.current=t;const s=new TextDecoder,n=S({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&x++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==Ie?void 0:Ie["something-went-wrong"])||"Something went wrong.";return as(t)||Fe(s),void(j=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("data-error"===n.type&&te){const e=n.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&s&&s[1]&&n&&n[1])throw j=!0,te({smitheryId:t[1],serverId:s[1],name:n[1]}),new Error("STOP_STREAM")}}else if("object"==typeof e&&null!==e){const t=e;if("unauthorized_smithery"===t.type&&t.qualifiedName&&t.serverId&&t.name)throw j=!0,te({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===n.type)w="",b.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)w+=n.delta,b[b.length-1].content=w;else if("text-end"===n.type)w="";else if("reasoning-start"===n.type)w="",b.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)w+=n.delta,b[b.length-1].content=w;else if("reasoning-end"===n.type)w="";else if(n.type.startsWith("data-")){const e=n;b.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Ve([...u.slice(0,v),Object.assign(Object.assign({},u[u.length-1]),{id:Be.length+1,role:"assistant",parts:b})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);y=y.filter((e=>!(e.id===t.id&&e.version===t.version))),y.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ot([...y]),nt.startsWith("inline")||it({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);y=y.filter((e=>!(e.id===t.id&&e.version===t.version))),y.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),ot(y),nt.startsWith("inline")||it({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);y=y.filter((e=>!(e.id===t.id&&e.version===t.version))),y.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ot(y),nt.startsWith("inline")||it({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");y=y.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),ot(y)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ot(y.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),s=t.error||t.message||(null==Ie?void 0:Ie["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(as(t))return void(j=!0);Fe(s)}else"stop"===e.event&&(j=!0)}else j=!0}});for(;;){const{value:e,done:o}=yield t.read();if(o)break;n.feed(s.decode(e))}j||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||"AbortError"===e.name)return void(j=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==De||De(fe)}catch(e){if(e.limitData)Xe(e.limitData),Fe("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Ie?void 0:Ie["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),as(t)||Fe(t)}}finally{tt(),We("idle"),et(),Nt.current=null,yield cs()}}));return rs?null:s("div",Object.assign({className:M("flex w-full flex-shrink-0 flex-col items-center",!is&&"px-4 pb-8"),dir:Se?"rtl":"ltr"},{children:n("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[n("div",Object.assign({ref:_t,className:M("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===je.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},Qt),{maxHeight:`${At}px`,overflowY:"auto"})},{children:[Ns&&n("div",Object.assign({className:"sticky top-0 z-10 flex w-full items-center justify-between border-b px-4 py-2.5 shadow-sm backdrop-blur-md",style:{backgroundColor:Qt.backgroundColor?`${Qt.backgroundColor}E6`:void 0,borderColor:we.text+"20",color:we.text,borderTopRightRadius:je.cornerRadius+"px",borderTopLeftRadius:je.cornerRadius+"px"}},{children:[s("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:n("span",{children:[js.toLocaleString()," ",ps?(null==Ie?void 0:Ie.credits)||"Credits":(null==Ie?void 0:Ie.uses)||"Uses"," ",(null==Ie?void 0:Ie.remaining)||"remaining"]})})),n("div",Object.assign({className:"flex items-center gap-3"},{children:[s("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:we.accent,color:we.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=$({baseUrl:ht,accessGroupId:null==_e?void 0:_e.accessGroupId});t&&(B()?window.open(t):location.href=t)}},{children:(null==Ie?void 0:Ie.upgrade)||"Upgrade"})),s("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>jt(!0)},{children:s("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",className:"h-4 w-4"},{children:s("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!He&&Ke.length>0&&s(T,{className:"p-4 pb-0",isDisabled:He}),n("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Dt&&n("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[s("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(ue=we.accent)&&void 0!==ue?ue:"#ff0000"}}),s("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:we.text+"90"}},{children:(null==Ie?void 0:Ie.listening)||"Listening..."}))]})),s(A,Object.assign({ref:St,className:M(qt.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!lt.trim()&&!lt.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Se?"text-right":"text-left",ds&&"mb-12",Dt&&"text-transparent"),value:lt,placeholder:ls,onChange:e=>{dt(e)},onKeyDown:e=>{ke||Bt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Je||He||_s()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);t.length>0&&(e.preventDefault(),Ue(!1),yield ze(t))}))},z&&{onFocus:z},Z&&{onBlur:Z},{dir:Se?"rtl":"ltr"})),s("div",Object.assign({ref:Ct,className:M("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",ds?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!ds&&Qt.backgroundColor&&{backgroundColor:Qt.backgroundColor}),{borderTopRightRadius:je.cornerRadius+"px",borderBottomRightRadius:je.cornerRadius+"px"})},{children:He?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{Ut.current&&(Ut.current.abort(),Ut.current=null),Nt.current&&(Nt.current.cancel(),Nt.current=null),We("idle")},style:{backgroundColor:we.accent,color:we.accentText}},{children:s(E,{className:"h-4 w-4 shrink-0"})})):Dt?s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:$t,style:{backgroundColor:we.accent,color:we.accentText}},{children:s(E,{className:"h-4 w-4 shrink-0"})})):n(o,{children:[ss&&n("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Ft?we.accent+"10":void 0,color:Ft?we.accent:we.accent+"80"},disabled:Je||He,onClick:()=>{var e;return null===(e=Ot.current)||void 0===e?void 0:e.click()}},Kt,{children:[s("input",{id:"file-upload",ref:Ot,type:"file",accept:[...O,...k,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Ue(!1),yield ze(Array.from(e.target.files||[])),e.target.value=""}))}),s(C,{className:"h-6 w-6 shrink-0"})]})),ns&&s("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Dt?we.accent:Gt?we.accent+"10":void 0,color:Dt?we.accentText:Gt?we.accent:we.accent+"80"},disabled:Je||He||Lt,onClick:()=>{Dt?$t():(kt.current=lt,Mt(Oe||"en-US"))}},zt,{children:s(U,{className:"h-5 w-5 shrink-0"})})),s("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Vt||Cs?we.accent:we.accent+"10",color:Vt||Cs?we.accentText:we.accent+"80"},disabled:!Cs,onClick:()=>_s()},Wt,{children:s(_,{className:M("h-6 w-6 shrink-0",Se&&"scale-x-[-1] transform")})}))]})}))]}))]})),Ge&&s(P,{error:Ge,className:"mt-3"})]}))}))}));Z.displayName="Input";export{Z as default};
@@ -0,0 +1 @@
1
+ import{__awaiter as e}from"../../../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as i}from"react";import{usePickaxeContext as l}from"../../../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as a}from"../../../../Addons/Auth/hooks/useAuthContext.js";import{useSubmitDocument as n}from"../../../../../../hooks/pickaxe/useSubmitDocument.js";import{usePickaxeMarkdownContext as s}from"../../hooks/usePickaxeMarkdownContext.js";import r from"../../../../../Icons/download.svg.js";import c from"../../../../../Icons/copy.svg.js";import d from"../../../../../Icons/copied.svg.js";import p from"../../../../../Icons/file.svg.js";import m from"../../../../../Icons/upload-cloud.svg.js";import f from"copy-to-clipboard";import u from"../../../../../../common/error.js";const b=new Set(["jpeg","jpg","gif","bmp","webp","svg","tiff","avif","png","jfif","pjpeg","pjp"]),g=new Set(["mp3","wav","ogg","flac","aac","wma","alac","m4a","aiff","ape","au","mid","midi","opus"]),h=new Set(["mp4","webm","mov","avi","mkv","m4v"]),v=new Set(["csv","tsv","txt","json","xml","md","log","yaml","yml"]),w=new Set(["doc","docx","xls","xlsx","ppt","pptx"]),x=e=>b.has(e)?"image":g.has(e)?"audio":h.has(e)?"video":"pdf"===e?"pdf":"html"===e||"htm"===e?"html":v.has(e)?"text":w.has(e)?"office":"file",k=e=>{const o=(e=>{let o=e.trim();for(;/[),.;!?]$/.test(o);)o=o.slice(0,-1);return o})(e);return o.startsWith("http://")?`https://${o.slice(7)}`:o.startsWith("www.")?`https://${o}`:o},y=e=>{var o,t;try{const i=k(e),l=new URL(i);if("https:"!==l.protocol&&"http:"!==l.protocol)return null;const a=l.pathname.split("/").filter(Boolean).pop();if(!a)return null;const n=decodeURIComponent(a),s=null===(t=null===(o=n.match(/\.([a-z0-9]{1,10})$/i))||void 0===o?void 0:o[1])||void 0===t?void 0:t.toLowerCase();return s?{url:i,fileName:n,extension:s,kind:x(s)}:null}catch(e){return null}},j=(e,o)=>!!e&&(!o||!o.current.has(e.url)&&(o.current.add(e.url),!0)),N=({fileInfo:b,displayName:g})=>{const{theme:h,colors:v,disableHtml:w,disableJs:x}=s(),{contextId:k,pickaxeId:y,pickaxe:j,translations:N}=l(),{isLoggedIn:C,token:O}=a(),I=n(),[S,F]=i(!1),[$,D]=i(!1),[T,B]=i(!1),R=(e,o)=>{var t;return null!==(t=null==N?void 0:N[e])&&void 0!==t?t:o},U="dark"===h?"#30363D":"#D0D7DE",A="dark"===h?"#0D1117":"#F6F8FA",E="dark"===h?"#161B22":"#FFFFFF",P=(null==g?void 0:g.trim())||b.fileName,_=P!==b.fileName,L={display:"inline-flex",width:32,height:32,alignItems:"center",justifyContent:"center",borderRadius:4,color:v.accentText,backgroundColor:v.accent,opacity:.88,flexShrink:0},H=(e,i,l)=>t("div",Object.assign({className:"flex w-full p-4"},{children:o("div",Object.assign({className:"relative w-full overflow-hidden rounded-md shadow-sm",style:{aspectRatio:"8.5 / 11",backgroundColor:E,border:`1px solid ${U}`}},{children:[t("iframe",Object.assign({src:e,title:i},l,{className:"h-full w-full",scrolling:"no",tabIndex:-1,style:{border:"none",pointerEvents:"none"}})),t("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-10",style:{background:"dark"===h?"linear-gradient(to top, rgba(22,27,34,0.95), rgba(22,27,34,0))":"linear-gradient(to top, rgba(255,255,255,0.95), rgba(255,255,255,0))"}})]}))}));return o("div",Object.assign({className:"my-2 w-full overflow-hidden rounded-lg",style:{border:`1px solid ${U}`,backgroundColor:A,color:v.secondaryText}},{children:[o("div",Object.assign({className:"flex items-center justify-between gap-3 border-b px-3 py-2",style:{borderColor:U}},{children:[t("a",Object.assign({href:b.url,target:"_blank",rel:"noopener noreferrer",className:"min-w-0 flex-1 truncate text-sm font-semibold hover:underline",style:{color:v.secondaryText},title:_?`${P} (${b.fileName})`:P},{children:P})),o("div",Object.assign({className:"flex shrink-0 items-center gap-1.5"},{children:[t("button",Object.assign({type:"button",onClick:()=>{const e=document.createElement("a");e.href=b.url,e.download=b.fileName,e.target="_blank",e.rel="noopener noreferrer",e.click()},title:R("download","Download"),"aria-label":R("download","Download"),style:L},{children:t(r,{className:"h-[18px] w-[18px]"})})),t("button",Object.assign({type:"button",onClick:()=>{e(void 0,void 0,void 0,(function*(){try{F(!0),f(b.url),yield new Promise((e=>setTimeout(e,1500)))}finally{F(!1)}}))},title:S?R("copied","Copied"):R("copy-link","Copy link"),"aria-label":S?R("copied","Copied"):R("copy-link","Copy link"),style:Object.assign(Object.assign({},L),{opacity:S?1:L.opacity})},{children:t(S?d:c,{className:"h-[18px] w-[18px]"})})),C&&O&&t("button",Object.assign({type:"button",disabled:$||T,onClick:()=>{e(void 0,void 0,void 0,(function*(){if(O&&!$){D(!0),B(!1);try{const e=yield fetch(b.url);if(!e.ok)throw new Error("Failed to download generated file.");const o=yield e.blob(),t=new File([o],b.fileName,{type:o.type||"application/octet-stream"});yield I.document(Object.assign(Object.assign({contextId:k,pickaxeId:y,file:t},(null==j?void 0:j.workspaceid)&&{workspaceId:j.workspaceid}),{studioSessionToken:O,isUserDocument:!0})),B(!0),yield new Promise((e=>setTimeout(e,1500)))}catch(e){alert(u(e))}finally{D(!1),B(!1)}}}))},title:$?R("saving","Saving..."):T?R("saved","Saved"):R("save-to-knowledge-base","Save to Knowledge Base"),"aria-label":$?R("saving","Saving..."):T?R("saved","Saved"):R("save-to-knowledge-base","Save to Knowledge Base"),style:Object.assign(Object.assign({},L),{opacity:$||T?.55:L.opacity,cursor:$||T?"not-allowed":"pointer"})},{children:t(m,{className:"h-[18px] w-[18px]"})}))]}))]})),t("div",{children:(()=>{if("image"===b.kind)return t("img",{src:b.url,alt:b.fileName,className:"block max-h-[420px] w-full object-contain"});if("audio"===b.kind)return t("div",Object.assign({className:"flex min-h-[72px] items-center p-4"},{children:t("audio",{className:"w-full",controls:!0,src:b.url})}));if("video"===b.kind)return t("video",{className:"block max-h-[420px] w-full bg-black",controls:!0,preload:"metadata",src:b.url});if("pdf"===b.kind||"text"===b.kind){const e="pdf"===b.kind?`${b.url}#page=1&toolbar=0&navpanes=0&scrollbar=0&view=FitH`:b.url;return H(e,b.fileName)}if("html"===b.kind&&!w){const e=["allow-same-origin","allow-forms","allow-popups","allow-downloads","allow-modals",x?"":"allow-scripts"].filter(Boolean).join(" ");return H(b.url,b.fileName,{sandbox:e})}return"office"===b.kind?H(`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(b.url)}`,b.fileName):o("div",Object.assign({className:"flex min-h-[120px] items-center justify-center gap-3 p-6 text-sm"},{children:[t(p,{className:"h-8 w-8 shrink-0"}),t("span",Object.assign({className:"break-all"},{children:b.extension.toUpperCase()}))]}))})()})]}))};export{N as default,y as getFilePreviewInfo,k as normalizeMarkdownUrl,j as shouldRenderFilePreview};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useMemo as e}from"react";import{usePickaxeMarkdownContext as r}from"../../hooks/usePickaxeMarkdownContext.js";import{Img as o}from"../Img/index.js";import m from"../common/IframeVideo.js";import i from"./Audio.js";import c from"./Html/index.js";const a=({href:a="",children:s})=>{const{colors:n}=r(),l=e((()=>{if(!a)return"";return a.startsWith("http://")?`https://${a.slice(7)}`:a.startsWith("www.")?`https://${a}`:a}),[a]),p=e((()=>{const t=l.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(t)return{title:"youtube-embed",src:`https://www.youtube.com/embed/${t[1]}`};const e=l.match(/loom\.com\/(?:share|embed)\/([\w-]+)/i);if(e)return{title:"loom-embed",src:`https://www.loom.com/embed/${e[1]}`};const r=l.match(/vimeo\.com\/(?:video\/)?(\d+)/i);if(r)return{title:"vimeo-embed",src:`https://player.vimeo.com/video/${r[1]}`};const o=l.match(/streamable\.com\/([\w-]+)/i);return o?{title:"streamable-embed",src:`https://streamable.com/e/${o[1]}`}:null}),[l]),f=e((()=>l.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif|png|jfif|pjpeg|pjp)$/)),[l]),u=e((()=>l.includes("action_generated_files")&&l.match(/\.(mp3|wav|ogg|flac|aac|wma|alac|m4a|aiff|ape|au|mid|midi|opus)$/)),[l]),d=e((()=>l.includes("action_generated_files")&&l.match(/\.html$/)),[l]);return p?t(m,{title:p.title,src:p.src}):f?t(o,{src:l,alt:"string"==typeof s?s:"Markdown Image"}):u?t(i,{url:l}):d?t(c,{url:l}):t("a",Object.assign({href:l,target:"_blank",rel:"noopener noreferrer",style:{color:n.accent}},{children:s}))};export{a as A};
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as t,Children as r,isValidElement as o}from"react";import{usePickaxeMarkdownContext as m}from"../../hooks/usePickaxeMarkdownContext.js";import c from"../common/IframeVideo.js";import i,{normalizeMarkdownUrl as s,getFilePreviewInfo as n,shouldRenderFilePreview as l}from"./FilePreview.js";const a=e=>{let t="";return r.forEach(e,(e=>{"string"!=typeof e&&"number"!=typeof e?o(e)&&(t+=a(e.props.children)):t+=e})),t.trim().replace(/\s+/g," ")},f=({href:r="",children:o,filePreviewSeenRef:f})=>{const{colors:u}=m(),p=t((()=>r?s(r):""),[r]),b=t((()=>n(p)),[p]),h=t((()=>((e,t)=>{const r=a(e);if(r&&r!==t&&s(r)!==t)return r})(o,p)),[o,p]),d=t((()=>{if(b)return null;const e=p.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(e)return{title:"youtube-embed",src:`https://www.youtube.com/embed/${e[1]}`};const t=p.match(/loom\.com\/(?:share|embed)\/([\w-]+)/i);if(t)return{title:"loom-embed",src:`https://www.loom.com/embed/${t[1]}`};const r=p.match(/vimeo\.com\/(?:video\/)?(\d+)/i);if(r)return{title:"vimeo-embed",src:`https://player.vimeo.com/video/${r[1]}`};const o=p.match(/streamable\.com\/([\w-]+)/i);return o?{title:"streamable-embed",src:`https://streamable.com/e/${o[1]}`}:null}),[b,p]);return d?e(c,{title:d.title,src:d.src}):b&&l(b,f)?e(i,{fileInfo:b,displayName:h}):e("a",Object.assign({href:p,target:"_blank",rel:"noopener noreferrer",style:{color:u.accent}},{children:o}))};export{f as A};
@@ -1 +1 @@
1
- import{__rest as e}from"../../../../_virtual/_tslib.js";import{jsxs as r,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as o,useMemo as i,useEffect as s}from"react";import{usePickaxeMarkdownContext as m}from"./hooks/usePickaxeMarkdownContext.js";import{rehypeCode as a,rehypeSanitize as p}from"./utils/custom-plugins.js";import l from"react-markdown";import c from"remark-gfm";import d from"remark-math";import h from"rehype-katex";import f from"rehype-raw";import{A as u}from"./Components/A/index.js";import{P as g}from"./Components/P/index.js";import{Img as x}from"./Components/Img/index.js";import{Iframe as b}from"./Components/Iframe/index.js";import{Code as j}from"./Components/Code/index.js";import{H1 as C,H2 as k,H3 as w,H4 as $,H5 as v}from"./Components/Headings/index.js";import{Ol as y,Ul as O,Li as L}from"./Components/List/index.js";import{Table as M,Th as N,Tr as P,Td as S}from"./Components/Table/index.js";import{Hr as T,Br as A,Blockquote as H}from"./Components/Others/index.js";import{ActionCaption as I,ActionFinished as B,ActionError as J}from"./Components/Action/index.js";import{Artifact as R,ArtifactError as W}from"./Components/Artifact/index.js";import{Think as _}from"./Components/Others/Think.js";import q from"../../../../common/cn.js";const z=({className:z,style:D,children:E,value:F,maxLines:G,maxChars:K,multiLineBreaks:Q,onExpandClick:U})=>{const{colors:V,rtl:X,disableHtml:Y,disableJs:Z,disableCss:ee}=m(),[re,te]=n({width:0,height:0}),[ne,oe]=n(null),ie=o(null),se=i((()=>{if(!F)return"";let e=F.trim();return e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/\u200B/g,""),e=e.replace(/\\\((.*?)\\\)/g,"$$$ $1 $$$"),e=e.replace(/\\\[(.*?)\\\]/g,"$$$ $1 $$$"),e=e.replace(/<\/think>/g,"\n</think>"),Q&&(e=e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))),e||""}),[F,Q]);s((()=>{if(K)return void oe(se.length>K?se.slice(0,K)+'<span class="pxe-expand-btn">...</span>':null);if(!G)return void oe(null);if(!ie.current||!se||ne)return;const e=ie.current,r=parseInt(window.getComputedStyle(e).lineHeight,10),t=G*r;if(!(re.height>t))return;const n=Math.floor(re.width/8),o=Math.floor(n*G);oe(se.slice(0,o)+'<span class="pxe-expand-btn">...</span>')}),[se,G,K,re,ne]);const me={h1:C,h2:k,h3:w,h4:$,h5:v,p:g,a:u,img:x,iframe:b,code:j,ol:y,ul:O,li:L,table:M,th:N,tr:P,td:S,hr:T,br:A,blockquote:H,span:r=>{var{children:n}=r,o=e(r,["children"]);return"pxe-expand-btn"===o.className?t("span",Object.assign({},o,{style:Object.assign({display:"inline",fontWeight:500,color:V.accent,marginLeft:".25rem",userSelect:"none"},U&&{cursor:"pointer"})},U&&{onClick:U},{children:n})):t("span",Object.assign({},o,{children:n}))},"action-caption":I,"action-finished":B,"action-error":J,artifact:R,"artifact-error":W,think:_};s((()=>{if(!ie.current)return;const e=new ResizeObserver((e=>{for(const r of e){const{width:e,height:t}=r.contentRect;te({width:e,height:t})}}));return e.observe(ie.current),()=>{e.disconnect()}}),[]);const ae=ne||se;return r("div",Object.assign({className:"pxe-markdown",ref:ie,style:Object.assign({position:"relative",overflowWrap:"break-word",display:"grid",gridTemplateColumns:"repeat(1, minmax(0, 1fr))",gap:".625rem",width:"100%"},D)},X&&{dir:"rtl"},{children:[t(l,Object.assign({className:q("pxe-prose",z),components:me,remarkPlugins:[c,[d,{singleDollarTextMath:!1}]],rehypePlugins:[a,h,...Y?[]:[f],[p,{disableJs:Z,disableCss:ee}]]},{children:ae})),E]}))};export{z as PickaxeMarkdownRenderer};
1
+ import{__rest as e}from"../../../../_virtual/_tslib.js";import{jsxs as r,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as o,useMemo as i,useEffect as s}from"react";import{usePickaxeMarkdownContext as a}from"./hooks/usePickaxeMarkdownContext.js";import{rehypeCode as m,rehypeSanitize as l}from"./utils/custom-plugins.js";import c from"react-markdown";import p from"remark-gfm";import f from"remark-math";import d from"rehype-katex";import h from"rehype-raw";import{A as u}from"./Components/A/index.js";import g,{getFilePreviewInfo as x,shouldRenderFilePreview as b}from"./Components/A/FilePreview.js";import{P as j}from"./Components/P/index.js";import{Img as C}from"./Components/Img/index.js";import{Iframe as k}from"./Components/Iframe/index.js";import{Code as w}from"./Components/Code/index.js";import{H1 as v,H2 as $,H3 as y,H4 as O,H5 as S}from"./Components/Headings/index.js";import{Ol as P,Ul as N,Li as A}from"./Components/List/index.js";import{Table as I,Th as L,Tr as M,Td as R}from"./Components/Table/index.js";import{Hr as T,Br as H,Blockquote as _}from"./Components/Others/index.js";import{ActionCaption as B,ActionFinished as J,ActionError as W}from"./Components/Action/index.js";import{Artifact as q,ArtifactError as z}from"./Components/Artifact/index.js";import{Think as D}from"./Components/Others/Think.js";import E from"../../../../common/cn.js";const F=({className:F,style:G,children:K,value:Q,maxLines:U,maxChars:V,multiLineBreaks:X,onExpandClick:Y,filePreviewSeenRef:Z})=>{const{colors:ee,rtl:re,disableHtml:te,disableJs:ne,disableCss:oe}=a(),[ie,se]=n({width:0,height:0}),[ae,me]=n(null),le=o(null),ce=i((()=>{if(!Q)return"";let e=Q.trim();return e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/\u200B/g,""),e=e.replace(/\\\((.*?)\\\)/g,"$$$ $1 $$$"),e=e.replace(/\\\[(.*?)\\\]/g,"$$$ $1 $$$"),e=e.replace(/<\/think>/g,"\n</think>"),X&&(e=e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))),e||""}),[Q,X]);s((()=>{if(V)return void me(ce.length>V?ce.slice(0,V)+'<span class="pxe-expand-btn">...</span>':null);if(!U)return void me(null);if(!le.current||!ce||ae)return;const e=le.current,r=parseInt(window.getComputedStyle(e).lineHeight,10),t=U*r;if(!(ie.height>t))return;const n=Math.floor(ie.width/8),o=Math.floor(n*U);me(ce.slice(0,o)+'<span class="pxe-expand-btn">...</span>')}),[ce,U,V,ie,ae]);const pe=o(new Set);Z||(pe.current=new Set);const fe=null!=Z?Z:pe,de={h1:v,h2:$,h3:y,h4:O,h5:S,p:j,a:e=>t(u,Object.assign({},e,{filePreviewSeenRef:fe})),img:e=>{const r="string"==typeof e.src?e.src:"",n=x(r);return n?b(n,fe)?t(g,{fileInfo:n,displayName:"string"==typeof e.alt?e.alt:void 0}):t("a",Object.assign({href:n.url,target:"_blank",rel:"noopener noreferrer",style:{color:ee.accent}},{children:e.alt||n.fileName})):t(C,Object.assign({},e))},iframe:k,code:w,ol:P,ul:N,li:A,table:I,th:L,tr:M,td:R,hr:T,br:H,blockquote:_,span:r=>{var{children:n}=r,o=e(r,["children"]);return"pxe-expand-btn"===o.className?t("span",Object.assign({},o,{style:Object.assign({display:"inline",fontWeight:500,color:ee.accent,marginLeft:".25rem",userSelect:"none"},Y&&{cursor:"pointer"})},Y&&{onClick:Y},{children:n})):t("span",Object.assign({},o,{children:n}))},"action-caption":B,"action-finished":J,"action-error":W,artifact:q,"artifact-error":z,think:D};s((()=>{if(!le.current)return;const e=new ResizeObserver((e=>{for(const r of e){const{width:e,height:t}=r.contentRect;se({width:e,height:t})}}));return e.observe(le.current),()=>{e.disconnect()}}),[]);const he=ae||ce;return r("div",Object.assign({className:"pxe-markdown",ref:le,style:Object.assign({position:"relative",overflowWrap:"break-word",display:"grid",gridTemplateColumns:"repeat(1, minmax(0, 1fr))",gap:".625rem",width:"100%"},G)},re&&{dir:"rtl"},{children:[t(c,Object.assign({className:E("pxe-prose",F),components:de,remarkPlugins:[p,[f,{singleDollarTextMath:!1}]],rehypePlugins:[m,d,...te?[]:[h],[l,{disableJs:ne,disableCss:oe}]]},{children:he})),K]}))};export{F as PickaxeMarkdownRenderer};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Suspense as t,lazy as n}from"react";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{PickaxeMarkdownRenderer as o}from"../PickaxeMarkdown/Renderer.js";import{safeJSONParse as i}from"../../../../common/utils.js";import r from"../../../../common/cn.js";const s=n((()=>import("./TextPart/index.js"))),l=n((()=>import("./ReasoningPart/index.js"))),c=n((()=>import("./ActionToolCaptionPart/index.js"))),m=n((()=>import("./ReasoningCaptionPart/index.js"))),d=({className:n,parts:d})=>{const{translations:p}=a();return e("div",Object.assign({className:r("flex flex-col gap-2",n)},{children:e(t,Object.assign({fallback:e("div",{})},{children:d.map(((t,n)=>{if(!t.isVisible)return null;if("text"===t.type){const a=/(https?:\/\/[^\s"']+\.mp4)/g,i=t.content.split(a);return e(s,{children:i.map(((t,n)=>t.match(a)?e("div",Object.assign({className:"my-3 block w-full max-w-full"},{children:e("video",Object.assign({controls:!0,preload:"metadata",className:"max-h-[400px] w-auto max-w-full rounded-lg bg-black/5 shadow-sm",src:t},{children:e("a",Object.assign({href:t,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-blue-500 hover:underline"},{children:(null==p?void 0:p["download-video"])||"Download Video"}))}))}),n):t?e(o,{value:t},n):null))},n)}if("reasoning"===t.type)return e(l,Object.assign({isReasoning:n===d.length-1},{children:e(o,{value:t.content})}),n);if("data-action-tool-caption"===t.type){const a=i(t.content);return e(c,Object.assign({},a&&a,{isLoading:n===d.length-1}),n)}if("data-reasoning-caption"===t.type){const a=i(t.content);return e(m,Object.assign({},a&&a,{isLoading:n===d.length-1}),n)}return null}))}))}))};export{d as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useRef as n,Suspense as t,lazy as i}from"react";import{PickaxeMarkdownRenderer as o}from"../PickaxeMarkdown/Renderer.js";import r,{getFilePreviewInfo as a,normalizeMarkdownUrl as s,shouldRenderFilePreview as l}from"../PickaxeMarkdown/Components/A/FilePreview.js";import{safeJSONParse as c}from"../../../../common/utils.js";import p from"../../../../common/cn.js";const m=i((()=>import("./TextPart/index.js"))),u=i((()=>import("./ReasoningPart/index.js"))),d=i((()=>import("./ActionToolCaptionPart/index.js"))),f=i((()=>import("./ReasoningCaptionPart/index.js"))),g=/(!?)\[([^\]\n]+)\]\((https?:\/\/[^\s)]+|www\.[^\s)]+)\)/g,v=({className:i,parts:v})=>{const h=n(new Set);return h.current=new Set,e("div",Object.assign({className:p("flex flex-col gap-2",i)},{children:e(t,Object.assign({fallback:e("div",{})},{children:v.map(((n,t)=>{if(!n.isVisible)return null;if("text"===n.type){const i=((e,n)=>{var t,i;const o=[];let r=0;for(const c of e.matchAll(g)){const p=null!==(t=c.index)&&void 0!==t?t:0,m=c[0],u="!"===c[1],d=null===(i=c[2])||void 0===i?void 0:i.trim(),f=c[3],g=a(f);if(!g)continue;p>r&&o.push({type:"markdown",value:e.slice(r,p)});const v=d&&s(d)!==g.url?d:void 0;l(g,n)?o.push({type:"preview",key:`${g.url}-${p}`,fileInfo:g,displayName:v}):o.push({type:"markdown",value:u?m:`[${d||g.fileName}](${g.url})`}),r=p+m.length}return r<e.length&&o.push({type:"markdown",value:e.slice(r)}),o.length?o:[{type:"markdown",value:e}]})(n.content,h);return e(m,{children:i.map(((n,t)=>"preview"===n.type?e(r,{fileInfo:n.fileInfo,displayName:n.displayName},n.key):n.value?e(o,{value:n.value,filePreviewSeenRef:h},t):null))},t)}if("reasoning"===n.type)return e(u,Object.assign({isReasoning:t===v.length-1},{children:e(o,{value:n.content})}),t);if("data-action-tool-caption"===n.type){const i=c(n.content);return e(d,Object.assign({},i&&i,{isLoading:t===v.length-1}),t)}if("data-reasoning-caption"===n.type){const i=c(n.content);return e(f,Object.assign({},i&&i,{isLoading:t===v.length-1}),t)}return null}))}))}))};export{v as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{generateId as s}from"../../common/utils.js";const o=()=>({document:({contextId:s,pickaxeId:o,file:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isBlocking:a})=>e(void 0,void 0,void 0,(function*(){var e,l;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const p=i.name.split(".").pop(),_="md"===p?"md":i.type,O={sessionid:s,formid:o,mimetype:_,extension:p,responseid:t,workspaceid:n},u=new URLSearchParams(Object.entries(O).filter((e=>void 0!==e[1]&&null!==e[1]&&""!==e[1]))),g=`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_upload_url?${u.toString()}`,f=yield fetch(g),m=yield f.json();if(!m.success)throw new Error(null!==(e=m.error)&&void 0!==e?e:"Failed to get presigned URL, try again or contact support.");const w=new FormData;Object.entries(Object.assign(Object.assign({},m.fields),{file:i})).forEach((([e,s])=>{w.append(e,s)}));const I=yield fetch(m.url,{method:"POST",body:w});if(!I.ok)throw new Error(I.statusText);const b=`${m.url}${m.fields.key}`;"development"===process.env.NODE_ENV&&console.log("[S3URL]",b);const j=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:m.documentId,fileName:i.name,fileSize:i.size},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isBlocking:a})),headers:{"Content-Type":"application/json"}}),P=yield j.json();if(!P.success)throw new Error(null!==(l=P.error)&&void 0!==l?l:"Failed processing document, try again or contact support.");return Object.assign(Object.assign({},P),{folder:m.folder})})),website:({pickaxeId:o,website:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isBlocking:a})=>e(void 0,void 0,void 0,(function*(){var e;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const l=s(20),p=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:l,website:i},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isBlocking:a})),headers:{"Content-Type":"application/json"}}),_=yield p.json();if(!_.success)throw new Error(null!==(e=_.error)&&void 0!==e?e:"Failed processing website, try again or contact support.");return _}))});export{o as useSubmitDocument};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{generateId as s}from"../../common/utils.js";const o=()=>({document:({contextId:s,pickaxeId:o,file:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isUserDocument:a,isBlocking:l})=>e(void 0,void 0,void 0,(function*(){var e,p;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const _=i.name.split(".").pop(),u="md"===_?"md":i.type,O={sessionid:s,formid:o,mimetype:u,extension:_,responseid:t,workspaceid:n},g=new URLSearchParams(Object.entries(O).filter((e=>void 0!==e[1]&&null!==e[1]&&""!==e[1]))),m=`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/get_document_upload_url?${g.toString()}`,f=yield fetch(m),b=yield f.json();if(!b.success)throw new Error(null!==(e=b.error)&&void 0!==e?e:"Failed to get presigned URL, try again or contact support.");const j=new FormData;Object.entries(Object.assign(Object.assign({},b.fields),{file:i})).forEach((([e,s])=>{j.append(e,s)}));const w=yield fetch(b.url,{method:"POST",body:j});if(!w.ok)throw new Error(w.statusText);const I=`${b.url}${b.fields.key}`;"development"===process.env.NODE_ENV&&console.log("[S3URL]",I);const P=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:b.documentId,fileName:i.name,fileSize:i.size},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isUserDocument:a}),l&&{isBlocking:l})),headers:{"Content-Type":"application/json"}}),U=yield P.json();if(!U.success)throw new Error(null!==(p=U.error)&&void 0!==p?p:"Failed processing document, try again or contact support.");return Object.assign(Object.assign({},U),{folder:b.folder})})),website:({pickaxeId:o,website:i,workspaceId:n,sessionId:t,studioUserId:r,studioSessionToken:d,isKnowledge:c,isUserDocument:a,isBlocking:l})=>e(void 0,void 0,void 0,(function*(){var e;if(!process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL)throw new Error("NEXT_PUBLIC_MODAL_DOC_APP_URL is not defined");const p=s(20),_=yield fetch(`${process.env.NEXT_PUBLIC_MODAL_DOC_APP_URL}/process_document`,{method:"POST",body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:o,documentId:p,website:i},n&&{workspaceId:n}),t&&{responseId:t}),r&&{studioUserId:r}),d&&{studioSessionToken:d}),c&&{isKnowledge:c}),a&&{isUserDocument:a}),l&&{isBlocking:l})),headers:{"Content-Type":"application/json"}}),u=yield _.json();if(!u.success)throw new Error(null!==(e=u.error)&&void 0!==e?e:"Failed processing website, try again or contact support.");return u}))});export{o as useSubmitDocument};
@@ -0,0 +1,30 @@
1
+ import type { PickaxeHistoryOriginType, PickaxeHistorySenderType } from "../types/history";
2
+ export declare const DEPLOYMENT_SESSION_INITIALIZED_EVENT = "deployment_session_initialized";
3
+ export declare const DEPLOYMENT_FIRST_MESSAGE_SUBMITTED_EVENT = "deployment_first_message_submitted";
4
+ export type DeploymentWebhookBasePayload = {
5
+ studioId?: string | null;
6
+ userEmail?: string | null;
7
+ userId?: string | null;
8
+ sessionId?: string | null;
9
+ deploymentId?: string | null;
10
+ deploymentType?: string | null;
11
+ portalId?: string | null;
12
+ accessGroupId?: string | null;
13
+ pickaxeId?: string | null;
14
+ sender?: string | null;
15
+ senderType?: PickaxeHistorySenderType | null;
16
+ origin?: PickaxeHistoryOriginType | null;
17
+ metadata?: Record<string, unknown> | null;
18
+ };
19
+ export type DeploymentFirstMessageSubmittedPayload = DeploymentWebhookBasePayload & {
20
+ message: string;
21
+ documentIds?: string[];
22
+ uploadedModelImages?: Array<{
23
+ documentId: string;
24
+ extension: string;
25
+ }>;
26
+ hasUploadedDocuments?: boolean;
27
+ isHidden?: boolean;
28
+ };
29
+ export declare const fireDeploymentSessionInitializedWebhook: (payload: DeploymentWebhookBasePayload) => void;
30
+ export declare const fireDeploymentFirstMessageSubmittedWebhook: (payload: DeploymentFirstMessageSubmittedPayload) => void;
@@ -0,0 +1,3 @@
1
+ type PickaxeConfigRecord = Record<string, unknown>;
2
+ export declare const getPickaxeConfigMetadata: (deploymentId?: string) => PickaxeConfigRecord | undefined;
3
+ export {};
@@ -10,6 +10,10 @@ interface ArtifactSaveMenuProps {
10
10
  onDownload: (type: ArtifactType | "text/plain") => Promise<void>;
11
11
  onSaveAsPDF: () => Promise<void>;
12
12
  onSaveAsDOCX: () => Promise<void>;
13
+ onSaveToKnowledgeBase?: () => Promise<void>;
14
+ isSaveToKnowledgeBaseEnabled?: boolean;
15
+ isSavingToKnowledgeBase?: boolean;
16
+ isSavedToKnowledgeBase?: boolean;
13
17
  }
14
- declare const ArtifactSaveMenu: ({ variant, className, children, data, colors, onDownload, onSaveAsPDF, onSaveAsDOCX, }: ArtifactSaveMenuProps) => import("react/jsx-runtime").JSX.Element;
18
+ declare const ArtifactSaveMenu: ({ variant, className, children, data, colors, onDownload, onSaveAsPDF, onSaveAsDOCX, onSaveToKnowledgeBase, isSaveToKnowledgeBaseEnabled, isSavingToKnowledgeBase, isSavedToKnowledgeBase, }: ArtifactSaveMenuProps) => import("react/jsx-runtime").JSX.Element;
15
19
  export default ArtifactSaveMenu;
@@ -0,0 +1,18 @@
1
+ import type { MutableRefObject } from "react";
2
+ type FilePreviewKind = "image" | "audio" | "video" | "pdf" | "html" | "text" | "office" | "file";
3
+ export type FilePreviewInfo = {
4
+ url: string;
5
+ fileName: string;
6
+ extension: string;
7
+ kind: FilePreviewKind;
8
+ };
9
+ export type FilePreviewSeenRef = MutableRefObject<Set<string>>;
10
+ export declare const normalizeMarkdownUrl: (href: string) => string;
11
+ export declare const getFilePreviewInfo: (href: string) => FilePreviewInfo | null;
12
+ export declare const shouldRenderFilePreview: (fileInfo: FilePreviewInfo | null, seenRef?: FilePreviewSeenRef) => boolean;
13
+ interface FilePreviewProps {
14
+ fileInfo: FilePreviewInfo;
15
+ displayName?: string;
16
+ }
17
+ declare const FilePreview: ({ fileInfo, displayName }: FilePreviewProps) => import("react/jsx-runtime").JSX.Element;
18
+ export default FilePreview;
@@ -1,2 +1,7 @@
1
1
  import type { MarkdownComponent } from "../..";
2
- export declare const A: MarkdownComponent<"a">;
2
+ import type { FilePreviewSeenRef } from "./FilePreview";
3
+ type AProps = Parameters<MarkdownComponent<"a">>[0] & {
4
+ filePreviewSeenRef?: FilePreviewSeenRef;
5
+ };
6
+ export declare const A: ({ href, children, filePreviewSeenRef }: AProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode, type CSSProperties } from "react";
2
+ import { type FilePreviewSeenRef } from "./Components/A/FilePreview";
2
3
  export interface PickaxeMarkdownRendererProps {
3
4
  className?: string;
4
5
  style?: CSSProperties;
@@ -8,5 +9,6 @@ export interface PickaxeMarkdownRendererProps {
8
9
  maxChars?: number;
9
10
  multiLineBreaks?: boolean;
10
11
  onExpandClick?: () => void;
12
+ filePreviewSeenRef?: FilePreviewSeenRef;
11
13
  }
12
- export declare const PickaxeMarkdownRenderer: ({ className, style, children: _children, value, maxLines, maxChars, multiLineBreaks, onExpandClick, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const PickaxeMarkdownRenderer: ({ className, style, children: _children, value, maxLines, maxChars, multiLineBreaks, onExpandClick, filePreviewSeenRef, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export declare const useSubmitDocument: () => {
2
- document: ({ contextId, pickaxeId, file, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isBlocking, }: {
2
+ document: ({ contextId, pickaxeId, file, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isUserDocument, isBlocking, }: {
3
3
  contextId: string;
4
4
  pickaxeId: string;
5
5
  file: File;
@@ -8,6 +8,7 @@ export declare const useSubmitDocument: () => {
8
8
  studioUserId?: string | undefined;
9
9
  studioSessionToken?: string | undefined;
10
10
  isKnowledge?: boolean | undefined;
11
+ isUserDocument?: boolean | undefined;
11
12
  isBlocking?: boolean | undefined;
12
13
  }) => Promise<{
13
14
  success: boolean;
@@ -16,7 +17,7 @@ export declare const useSubmitDocument: () => {
16
17
  folder?: string;
17
18
  error?: string;
18
19
  }>;
19
- website: ({ pickaxeId, website, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isBlocking, }: {
20
+ website: ({ pickaxeId, website, workspaceId, sessionId, studioUserId, studioSessionToken, isKnowledge, isUserDocument, isBlocking, }: {
20
21
  pickaxeId: string;
21
22
  website: string;
22
23
  workspaceId?: string | undefined;
@@ -24,6 +25,7 @@ export declare const useSubmitDocument: () => {
24
25
  studioUserId?: string | undefined;
25
26
  studioSessionToken?: string | undefined;
26
27
  isKnowledge?: boolean | undefined;
28
+ isUserDocument?: boolean | undefined;
27
29
  isBlocking?: boolean | undefined;
28
30
  }) => Promise<{
29
31
  success: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "6.4.2",
3
+ "version": "6.5.0",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +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 24 24"},e),r||(r=t.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 17 17 7M7 7h10v10"})));exports.default=o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");exports.default=({url:r})=>e.jsx("audio",Object.assign({style:{marginTop:"1rem",marginBottom:"1rem",objectFit:"contain",maxWidth:"100%"},controls:!0},{children:e.jsx("source",{src:r,type:"audio/mpeg"})}));
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("../../common/Modal/index.js"),s=require("../../common/Modal/Body.js"),t=require("../../../../../../../hooks/pickaxe/usePickaxeContext.js");exports.default=({src:i,isOpen:o,onChangeIsOpen:n})=>{const{translations:a}=t.usePickaxeContext();return e.jsx(r.default,Object.assign({isOpen:o,onChange:n},{children:e.jsx(s.default,Object.assign({style:{width:"90vw",height:"90vh",border:"none"},avoidOverflow:!0},{children:e.jsx("iframe",{src:i,title:(null==a?void 0:a["html-preview"])||"HTML preview",className:"scrollbar scrollbar-thin",style:{width:"100%",height:"100%",flex:1,borderRadius:"8px"}})}))}))};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),s=require("../../../../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../hooks/usePickaxeMarkdownContext.js"),i=require("../../../../../../Icons/eye.svg.js"),n=require("../../../../../../Icons/arrow-up-right.svg.js"),l=require("./HtmlModal.js");exports.default=({url:a})=>{const{theme:o,colors:c}=t.usePickaxeMarkdownContext(),{translations:x}=s.usePickaxeContext(),[d,u]=r.useState(!1);return e.jsxs(e.Fragment,{children:[d&&e.jsx(l.default,{src:a,isOpen:d,onChangeIsOpen:u}),e.jsxs("div",Object.assign({style:{display:"flex",alignItems:"flex-start",gap:"1rem",minHeight:"200px",overflow:"hidden",borderRadius:"8px"}},{children:[e.jsx("iframe",{src:a,title:(null==x?void 0:x["html-preview"])||"HTML preview",className:"scrollbar scrollbar-thin",style:{width:"100%",minHeight:"200px",border:"1px solid "+("dark"===o?"#30363D":"#D0D7DE")}}),e.jsxs("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:".75rem"}},{children:[e.jsx("button",Object.assign({style:{outline:"none",color:c.accent},onClick:()=>u(!0)},{children:e.jsx(i.default,{width:24,height:24,style:{flexShrink:0}})})),e.jsx("a",Object.assign({href:a,rel:"noreferrer",target:"_blank"},{children:e.jsx("button",Object.assign({style:{outline:"none",color:c.accent}},{children:e.jsx(n.default,{width:24,height:24,style:{flexShrink:0}})}))}))]}))]}))]})};
@@ -1 +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 24 24"},n),e||(e=r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 17 17 7M7 7h10v10"})));export{n as default};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";const o=({url:o})=>t("audio",Object.assign({style:{marginTop:"1rem",marginBottom:"1rem",objectFit:"contain",maxWidth:"100%"},controls:!0},{children:t("source",{src:o,type:"audio/mpeg"})}));export{o as default};
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import o from"../../common/Modal/index.js";import r from"../../common/Modal/Body.js";import{usePickaxeContext as i}from"../../../../../../../hooks/pickaxe/usePickaxeContext.js";const s=({src:s,isOpen:t,onChangeIsOpen:n})=>{const{translations:a}=i();return e(o,Object.assign({isOpen:t,onChange:n},{children:e(r,Object.assign({style:{width:"90vw",height:"90vh",border:"none"},avoidOverflow:!0},{children:e("iframe",{src:s,title:(null==a?void 0:a["html-preview"])||"HTML preview",className:"scrollbar scrollbar-thin",style:{width:"100%",height:"100%",flex:1,borderRadius:"8px"}})}))}))};export{s as default};
@@ -1 +0,0 @@
1
- import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import{useState as i}from"react";import{usePickaxeContext as o}from"../../../../../../../hooks/pickaxe/usePickaxeContext.js";import{usePickaxeMarkdownContext as s}from"../../../hooks/usePickaxeMarkdownContext.js";import n from"../../../../../../Icons/eye.svg.js";import l from"../../../../../../Icons/arrow-up-right.svg.js";import a from"./HtmlModal.js";const c=({url:c})=>{const{theme:h,colors:m}=s(),{translations:d}=o(),[p,f]=i(!1);return e(r,{children:[p&&t(a,{src:c,isOpen:p,onChangeIsOpen:f}),e("div",Object.assign({style:{display:"flex",alignItems:"flex-start",gap:"1rem",minHeight:"200px",overflow:"hidden",borderRadius:"8px"}},{children:[t("iframe",{src:c,title:(null==d?void 0:d["html-preview"])||"HTML preview",className:"scrollbar scrollbar-thin",style:{width:"100%",minHeight:"200px",border:"1px solid "+("dark"===h?"#30363D":"#D0D7DE")}}),e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:".75rem"}},{children:[t("button",Object.assign({style:{outline:"none",color:m.accent},onClick:()=>f(!0)},{children:t(n,{width:24,height:24,style:{flexShrink:0}})})),t("a",Object.assign({href:c,rel:"noreferrer",target:"_blank"},{children:t("button",Object.assign({style:{outline:"none",color:m.accent}},{children:t(l,{width:24,height:24,style:{flexShrink:0}})}))}))]}))]}))]})};export{c as default};