@pickaxeproject/react 6.6.2 → 6.7.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 (89) hide show
  1. package/dist/cjs/common/api/api.js +1 -1
  2. package/dist/cjs/common/api/pickaxe.js +1 -1
  3. package/dist/cjs/common/api/studio.js +1 -0
  4. package/dist/cjs/common/deploymentWebhooks.js +1 -1
  5. package/dist/cjs/common/fernet.js +1 -1
  6. package/dist/cjs/common/utils.js +1 -1
  7. package/dist/cjs/common/validation.js +1 -1
  8. package/dist/cjs/components/Core/Menu/List.js +1 -1
  9. package/dist/cjs/components/Core/Menu/Overflow.js +1 -1
  10. package/dist/cjs/components/Pickaxe/Addons/Artifact/hooks/useArtifactData.js +1 -1
  11. package/dist/cjs/components/Pickaxe/Addons/Auth/hooks/useAuth.js +1 -1
  12. package/dist/cjs/components/Pickaxe/Addons/Auth/hooks/useAuthVerify.js +1 -1
  13. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  14. package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
  15. package/dist/cjs/components/Pickaxe/Form/History/Item.js +1 -1
  16. package/dist/cjs/components/Pickaxe/Form/Questions/Checkbox.js +1 -1
  17. package/dist/cjs/components/Pickaxe/Form/Questions/Dropdown.js +1 -1
  18. package/dist/cjs/components/Pickaxe/Form/Questions/Option.js +1 -1
  19. package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
  20. package/dist/cjs/components/Pickaxe/common/AccessGroupCardPreview.js +1 -1
  21. package/dist/cjs/components/Pickaxe/common/PickaxeUpgradeCard.js +1 -1
  22. package/dist/cjs/components/Pickaxe/common/SmitheryConnectView.js +1 -1
  23. package/dist/cjs/components/Pickaxe/index.js +1 -1
  24. package/dist/cjs/hooks/pickaxe/useConversation.js +1 -1
  25. package/dist/cjs/hooks/pickaxe/useFeedback.js +1 -1
  26. package/dist/cjs/hooks/pickaxe/useHistory.js +1 -1
  27. package/dist/cjs/hooks/pickaxe/usePickaxe.js +1 -1
  28. package/dist/cjs/hooks/pickaxe/useSpeech.js +1 -1
  29. package/dist/cjs/hooks/studio/useStudio.js +1 -1
  30. package/dist/cjs/index.js +1 -1
  31. package/dist/cjs/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  32. package/dist/cjs/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  33. package/dist/cjs/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  34. package/dist/cjs/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  35. package/dist/cjs/src/common/api/api.d.ts +2 -2
  36. package/dist/cjs/src/common/api/pickaxe.d.ts +2 -2
  37. package/dist/cjs/src/common/api/studio.d.ts +2 -0
  38. package/dist/cjs/src/common/validation.d.ts +2 -0
  39. package/dist/cjs/src/components/Pickaxe/Form/Questions/Dropdown.d.ts +1 -0
  40. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +6 -0
  41. package/dist/cjs/src/index.d.ts +0 -1
  42. package/dist/cjs/src/types/response.d.ts +1 -0
  43. package/dist/esm/common/api/api.js +1 -1
  44. package/dist/esm/common/api/pickaxe.js +1 -1
  45. package/dist/esm/common/api/studio.js +1 -0
  46. package/dist/esm/common/deploymentWebhooks.js +1 -1
  47. package/dist/esm/common/fernet.js +1 -1
  48. package/dist/esm/common/utils.js +1 -1
  49. package/dist/esm/common/validation.js +1 -1
  50. package/dist/esm/components/Core/Menu/List.js +1 -1
  51. package/dist/esm/components/Core/Menu/Overflow.js +1 -1
  52. package/dist/esm/components/Pickaxe/Addons/Artifact/hooks/useArtifactData.js +1 -1
  53. package/dist/esm/components/Pickaxe/Addons/Auth/hooks/useAuth.js +1 -1
  54. package/dist/esm/components/Pickaxe/Addons/Auth/hooks/useAuthVerify.js +1 -1
  55. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  56. package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
  57. package/dist/esm/components/Pickaxe/Form/History/Item.js +1 -1
  58. package/dist/esm/components/Pickaxe/Form/Questions/Checkbox.js +1 -1
  59. package/dist/esm/components/Pickaxe/Form/Questions/Dropdown.js +1 -1
  60. package/dist/esm/components/Pickaxe/Form/Questions/Option.js +1 -1
  61. package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
  62. package/dist/esm/components/Pickaxe/common/AccessGroupCardPreview.js +1 -1
  63. package/dist/esm/components/Pickaxe/common/PickaxeUpgradeCard.js +1 -1
  64. package/dist/esm/components/Pickaxe/common/SmitheryConnectView.js +1 -1
  65. package/dist/esm/components/Pickaxe/index.js +1 -1
  66. package/dist/esm/hooks/pickaxe/useConversation.js +1 -1
  67. package/dist/esm/hooks/pickaxe/useFeedback.js +1 -1
  68. package/dist/esm/hooks/pickaxe/useHistory.js +1 -1
  69. package/dist/esm/hooks/pickaxe/usePickaxe.js +1 -1
  70. package/dist/esm/hooks/pickaxe/useSpeech.js +1 -1
  71. package/dist/esm/hooks/studio/useStudio.js +1 -1
  72. package/dist/esm/index.js +1 -1
  73. package/dist/esm/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  74. package/dist/esm/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  75. package/dist/esm/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  76. package/dist/esm/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  77. package/dist/esm/src/common/api/api.d.ts +2 -2
  78. package/dist/esm/src/common/api/pickaxe.d.ts +2 -2
  79. package/dist/esm/src/common/api/studio.d.ts +2 -0
  80. package/dist/esm/src/common/validation.d.ts +2 -0
  81. package/dist/esm/src/components/Pickaxe/Form/Questions/Dropdown.d.ts +1 -0
  82. package/dist/esm/src/components/Pickaxe/Provider.d.ts +6 -0
  83. package/dist/esm/src/index.d.ts +0 -1
  84. package/dist/esm/src/types/response.d.ts +1 -0
  85. package/package.json +1 -1
  86. package/dist/cjs/hooks/pickaxe/useSubmit.js +0 -1
  87. package/dist/cjs/src/hooks/pickaxe/useSubmit.d.ts +0 -19
  88. package/dist/esm/hooks/pickaxe/useSubmit.js +0 -1
  89. package/dist/esm/src/hooks/pickaxe/useSubmit.d.ts +0 -19
@@ -12,7 +12,6 @@ export * from "./hooks/pickaxe/usePickaxe";
12
12
  export * from "./hooks/pickaxe/usePickaxeContext";
13
13
  export * from "./hooks/pickaxe/useResponseContext";
14
14
  export * from "./hooks/pickaxe/useDimensionContext";
15
- export * from "./hooks/pickaxe/useSubmit";
16
15
  export * from "./hooks/pickaxe/useSubmitDocument";
17
16
  export * from "./components/EmbedPreview/Inline";
18
17
  export * from "./components/EmbedPreview/FAB";
@@ -14,6 +14,7 @@ export interface LimitData {
14
14
  buyUses?: any[];
15
15
  upgradeGroups?: any[];
16
16
  limitLink?: string;
17
+ customLink?: string;
17
18
  accessGroupId?: string;
18
19
  limitCTA?: string;
19
20
  }
@@ -1 +1 @@
1
- import e from"axios";const o=process.env.NEXT_PUBLIC_API_URL;if(!o)throw new Error("[px/react] NEXT_PUBLIC_API_URL is not defined");const r=e.create({baseURL:o});export{r as default};
1
+ import e from"axios";const r=process.env.NEXT_PUBLIC_API_URL;if(!r)throw new Error("[px/react] NEXT_PUBLIC_API_URL is not defined");const o=process.env.NEXT_PUBLIC_API2_URL;if(!o)throw new Error("[px/react] NEXT_PUBLIC_API2_URL is not defined");e.create({baseURL:r});const t=e.create({baseURL:o});export{t as api2};
@@ -1 +1 @@
1
- import e from"axios";const o=process.env.NEXT_PUBLIC_PICKAXE_API_URL||"";if(!o)throw new Error("[px/react] NEXT_PUBLIC_PICKAXE_API_URL is not defined");const n="undefined"!=typeof window?window.location.hostname:"",s="undefined"!=typeof window?window.location.href:"",i="undefined"!=typeof window&&window.self!==window.top,t=n.includes("pickaxe.co")&&!s.includes("https://studio.pickaxe.co/_embed")&&!i,d=e.create(Object.assign(Object.assign({baseURL:o},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),t&&{withCredentials:!0}));export{d as default,t as isPickaxeDomain};
1
+ import e from"axios";const s=process.env.NEXT_PUBLIC_PICKAXE_API_URL||"";if(!s)throw new Error("[px/react] NEXT_PUBLIC_PICKAXE_API_URL is not defined");const n=process.env.NEXT_PUBLIC_PICKAXE_API2_URL||"";if(!n)throw new Error("[px/react] NEXT_PUBLIC_PICKAXE_API2_URL is not defined");const o="undefined"!=typeof window?window.location.hostname:"",i="undefined"!=typeof window?window.location.href:"",t="undefined"!=typeof window&&window.self!==window.top,_=o.includes("pickaxe.co")&&!i.includes("https://studio.pickaxe.co/_embed")&&!t;e.create(Object.assign(Object.assign({baseURL:s},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),_&&{withCredentials:!0}));const c=e.create(Object.assign(Object.assign({baseURL:n},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),_&&{withCredentials:!0}));export{_ as isPickaxeDomain,c as pickaxeApi2};
@@ -0,0 +1 @@
1
+ import e from"axios";const o=process.env.NEXT_PUBLIC_STUDIO_API2_URL||"";if(!o)throw new Error("[px/react] NEXT_PUBLIC_STUDIO_API2_URL is not defined");const n="undefined"!=typeof window?window.location.hostname:"",s="undefined"!=typeof window?window.location.href:"",i="undefined"!=typeof window&&window.self!==window.top,t=n.includes("pickaxe.co")&&!s.includes("https://studio.pickaxe.co/_embed")&&!i,d=e.create(Object.assign(Object.assign({baseURL:o},(!process.env.NODE_ENV||"development"===process.env.NODE_ENV)&&Object.assign({},process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN&&{headers:{"x-pickaxe-session-token":process.env.NEXT_PUBLIC_PICKAXE_SESSION_TOKEN}})),t&&{withCredentials:!0}));export{t as isPickaxeDomain,d as studioApi2};
@@ -1 +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};
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_API2_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}/webhook/fire`,{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};
@@ -1 +1 @@
1
- import{__awaiter as t}from"../_virtual/_tslib.js";import r from"./api/pickaxe.js";const o=o=>t(void 0,void 0,void 0,(function*(){const t=(yield r.post("/encrypt_fernet",{data:o})).data;if(!t.success)throw new Error("Failed to encrypt via fernet");return t.result}));export{o as encryptFernet};
1
+ import{__awaiter as t}from"../_virtual/_tslib.js";import{api2 as r}from"./api/api.js";const o=o=>t(void 0,void 0,void 0,(function*(){const t=(yield r.post("/fernet/encrypt",{data:o})).data;if(!t.success)throw new Error("Failed to encrypt via fernet");return t.result}));export{o as encryptFernet};
@@ -1 +1 @@
1
- import{parse as e}from"tldts";const t="PXE-uid",r=(e,t="",r="")=>{let n="";for(let t=0;t<e;t++){n+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return t+n+r},n=(e,t=!1)=>{let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";t&&(r=r.replace(/[0-9]/g,""));let n="";for(let t=0;t<e;t++)n+=r.charAt(Math.floor(Math.random()*r.length));return n},o=e=>{const t=e.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(t))},l=({baseUrl:e,redirectUrl:t,accessGroupId:r,currentUrl:n})=>{if(!e)return null;const o=null!=n?n:"undefined"!=typeof window?window.location.href:null;if(!o)return null;try{const n=new URL(e,o);if(r){const e=encodeURIComponent(r),t=n.pathname.replace(/\/+$/,"");t.endsWith(`/${e}`)||(n.pathname=`${t}/${e}`)}return t&&n.searchParams.set("redirectUrl",t),n.toString()}catch(e){return console.error("[pxe] failed to build upgrade url",e),null}},c=(e,t=2)=>{if(!+e)return"0 Bytes";const r=t<0?0:t,n=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,n)).toFixed(r))} ${["Bytes","KB","MB","PB","EB"][n]}`},a=e=>{try{const t=document.cookie.split("; ");for(const r of t){const[t,n]=r.split("=");if(t===e)return n}return null}catch(e){return console.error("[pxe] failed to get cookie",e),null}},i=e=>{document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"},u=()=>{try{const r=a(t);if(!r){const r=n(28),o=new Date;o.setFullYear(o.getFullYear()+1);let l=window.location.hostname;const c=e(l).domain;if(c)l=`.${c}`;else{const e=l.split(":")[0],t=e.split(".");l=e,t.length>=2&&(l=`.${t.slice(-2).join(".")}`)}return document.cookie=`${t}=${r};Path=/; Domain=${l}; Expires=${o.toUTCString()}`,r}return r}catch(e){return console.error("[pxe-embed] failed to initialized embed user id",e),n(28)}},s=e=>{try{if("undefined"==typeof window)return null;let t=null;return t=new URLSearchParams(window.location.search).get("pxtoken"),t||(t=localStorage.getItem(`PXE-token-${e}`)),t||(t=a(`PXE-token-${e}`)),t||(t=a(`__Secure-PS-${e}.session-token`)),t?decodeURIComponent(t):null}catch(e){return null}},d=(e,t)=>{try{if("undefined"==typeof window)return;localStorage.setItem(e,t)}catch(e){console.error("[pxe] failed to set auth token",e)}},f=e=>{try{if("undefined"==typeof window)return;localStorage.removeItem(e)}catch(e){console.error("[pxe] failed to delete auth token",e)}};function h(...e){return t=>{for(const r of e)r&&("function"==typeof r?r(t):r.current=t)}}const p=()=>{if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch(e){return!0}},w=e=>{try{return JSON.parse(e)}catch(e){return null}};export{t as COOKIE_USER_ID,l as buildUpgradeUrl,f as deleteAuthToken,i as deleteCookie,o as extractUrlsFromText,c as formatBytes,r as generateId,s as getAuthToken,a as getCookie,u as initializeEmbedUserId,p as isInIframe,h as mergeRefs,n as randomStr,w as safeJSONParse,d as setAuthToken};
1
+ import{parse as e}from"tldts";const t="PXE-uid",r=(e,t="",r="")=>{let n="";for(let t=0;t<e;t++){n+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return t+n+r},n=(e,t=!1)=>{let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";t&&(r=r.replace(/[0-9]/g,""));let n="";for(let t=0;t<e;t++)n+=r.charAt(Math.floor(Math.random()*r.length));return n},o=e=>{const t=e.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(t))},l=({baseUrl:e,redirectUrl:t,accessGroupId:r,currentUrl:n})=>{if(!e)return null;const o=null!=n?n:"undefined"!=typeof window?window.location.href:null;if(!o)return null;try{const n=new URL(e,o);if(r){const e=encodeURIComponent(r),t=n.pathname.replace(/\/+$/,""),o="/ag-pricing",l=t.indexOf(o);if(l>=0){const r=t.slice(0,l+o.length);n.pathname=`${r}/${e}`}else t.endsWith(`/${e}`)||(n.pathname=`${t}/${e}`)}return t&&n.searchParams.set("redirectUrl",t),n.toString()}catch(e){return console.error("[pxe] failed to build upgrade url",e),null}},c=(e,t=2)=>{if(!+e)return"0 Bytes";const r=t<0?0:t,n=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,n)).toFixed(r))} ${["Bytes","KB","MB","PB","EB"][n]}`},i=e=>{try{const t=document.cookie.split("; ");for(const r of t){const[t,n]=r.split("=");if(t===e)return n}return null}catch(e){return console.error("[pxe] failed to get cookie",e),null}},a=e=>{document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"},u=()=>{try{const r=i(t);if(!r){const r=n(28),o=new Date;o.setFullYear(o.getFullYear()+1);let l=window.location.hostname;const c=e(l).domain;if(c)l=`.${c}`;else{const e=l.split(":")[0],t=e.split(".");l=e,t.length>=2&&(l=`.${t.slice(-2).join(".")}`)}return document.cookie=`${t}=${r};Path=/; Domain=${l}; Expires=${o.toUTCString()}`,r}return r}catch(e){return console.error("[pxe-embed] failed to initialized embed user id",e),n(28)}},s=e=>{try{if("undefined"==typeof window)return null;let t=null;return t=new URLSearchParams(window.location.search).get("pxtoken"),t||(t=localStorage.getItem(`PXE-token-${e}`)),t||(t=i(`PXE-token-${e}`)),t||(t=i(`__Secure-PS-${e}.session-token`)),t?decodeURIComponent(t):null}catch(e){return null}},d=(e,t)=>{try{if("undefined"==typeof window)return;localStorage.setItem(e,t)}catch(e){console.error("[pxe] failed to set auth token",e)}},f=e=>{try{if("undefined"==typeof window)return;localStorage.removeItem(e)}catch(e){console.error("[pxe] failed to delete auth token",e)}};function h(...e){return t=>{for(const r of e)r&&("function"==typeof r?r(t):r.current=t)}}const p=()=>{if("undefined"==typeof window)return!1;try{return window.self!==window.top}catch(e){return!0}},m=e=>{try{return JSON.parse(e)}catch(e){return null}};export{t as COOKIE_USER_ID,l as buildUpgradeUrl,f as deleteAuthToken,a as deleteCookie,o as extractUrlsFromText,c as formatBytes,r as generateId,s as getAuthToken,i as getCookie,u as initializeEmbedUserId,p as isInIframe,h as mergeRefs,n as randomStr,m as safeJSONParse,d as setAuthToken};
@@ -1 +1 @@
1
- const r={"login required":"login_required","upgrade required":"upgrade_required","access denied":"access_denied"},e=e=>{var u;if("string"!=typeof e)return null;const l=e.trim().toLowerCase().replace(/[.!]+$/g,"");return null!==(u=r[l])&&void 0!==u?u:null},u=r=>{var u;if("string"==typeof r){const u=e(r);return u?{status:u,upgradeGroups:[],upgradeUrl:null}:null}if(!r||"object"!=typeof r)return null;const l=r,n=null!==(u=e(l.message))&&void 0!==u?u:e(l.error);return n?{status:n,upgradeGroups:Array.isArray(l.upgradeGroups)?l.upgradeGroups:[],upgradeUrl:"string"==typeof l.upgradeUrl?l.upgradeUrl:null}:null};export{u as getValidationFailure};
1
+ const r={"login required":"login_required","upgrade required":"upgrade_required","access denied":"access_denied"},e=e=>{var u;if("string"!=typeof e)return null;const l=e.trim().toLowerCase().replace(/[.!]+$/g,"");return null!==(u=r[l])&&void 0!==u?u:null},u=r=>{var u;if("string"==typeof r){const u=e(r);return u?{status:u,accessGroup:null,upgradeGroups:[],upgradeUrl:null}:null}if(!r||"object"!=typeof r)return null;const l=r,s=null!==(u=e(l.message))&&void 0!==u?u:e(l.error);return s?{status:s,accessGroup:(n=l.accessGroup,n&&"object"==typeof n?n:null),upgradeGroups:Array.isArray(l.upgradeGroups)?l.upgradeGroups:[],upgradeUrl:"string"==typeof l.upgradeUrl?l.upgradeUrl:null}:null;var n};export{u as getValidationFailure};
@@ -1 +1 @@
1
- import{__rest as e}from"../../../_virtual/_tslib.js";import{jsx as t}from"react/jsx-runtime";import{forwardRef as i,useContext as l}from"react";import{MenuContext as o}from"./index.js";import{Tooltip as r}from"react-tooltip";import a from"../../../common/cn.js";const s=i(((i,s)=>{var{children:n,width:c="200px",fixedWidth:d,maxHeight:m,align:h="bottom-start",style:p,className:b}=i,x=e(i,["children","width","fixedWidth","maxHeight","align","style","className"]);const{id:f,isOpen:g,closeOnSelect:u,openOnClick:O,setIsOpen:j,onChange:w}=l(o);return t("div",{children:t(r,Object.assign({ref:s,anchorSelect:`#${f}`,place:h,style:Object.assign(Object.assign(Object.assign(Object.assign({fontFamily:"inherit",zIndex:1337,display:"flex",flexDirection:"column",padding:"0",backgroundColor:"white",color:"black"},"auto"!==c&&{width:"100%",maxWidth:c}),d&&{width:d,maxWidth:"inherit"}),{borderRadius:"4px"}),p),clickable:!0,noArrow:!0,border:"1px solid rgba(0,0,0,.8)",opacity:1,isOpen:g,setIsOpen:w,openOnClick:O},x,{children:t("div",Object.assign({className:a("flex w-full select-none flex-col overflow-y-auto text-base shadow-lg scrollbar scrollbar-thumb-black/50 scrollbar-thumb-rounded-full scrollbar-w-[4px] scrollbar-h-[4px]",b),style:{maxHeight:m}},u&&{onClick:()=>j(!1)},{children:n}))}))})}));s.displayName="MenuList";export{s as default};
1
+ import{__rest as e}from"../../../_virtual/_tslib.js";import{jsx as i}from"react/jsx-runtime";import{forwardRef as t,useContext as l}from"react";import{MenuContext as o}from"./index.js";import{Tooltip as r}from"react-tooltip";import a from"../../../common/cn.js";const s=e=>`min(${e}, calc(100vw - 48px))`,n=t(((t,n)=>{var{children:c,width:d="200px",fixedWidth:m,maxHeight:b,align:p="bottom-start",style:x,className:h}=t,f=e(t,["children","width","fixedWidth","maxHeight","align","style","className"]);const{id:g,isOpen:u,closeOnSelect:O,openOnClick:w,setIsOpen:j,onChange:y}=l(o);return i("div",{children:i(r,Object.assign({ref:n,anchorSelect:`#${g}`,place:p,positionStrategy:"fixed",style:Object.assign(Object.assign(Object.assign(Object.assign({fontFamily:"inherit",zIndex:1337,display:"flex",flexDirection:"column",padding:"0",backgroundColor:"white",color:"black",boxSizing:"border-box"},"auto"!==d&&{width:"100%",maxWidth:s(d)}),m&&{width:m,maxWidth:s(m)}),{borderRadius:"4px"}),x),clickable:!0,noArrow:!0,border:"1px solid rgba(0,0,0,.8)",opacity:1,isOpen:u,setIsOpen:y,openOnClick:w},f,{children:i("div",Object.assign({className:a("flex w-full select-none flex-col overflow-y-auto text-base shadow-lg scrollbar scrollbar-thumb-black/50 scrollbar-thumb-rounded-full scrollbar-w-[4px] scrollbar-h-[4px]",h),style:{maxHeight:b}},O&&{onClick:()=>j(!1)},{children:c}))}))})}));n.displayName="MenuList";export{n as default};
@@ -1 +1 @@
1
- import{__rest as t}from"../../../_virtual/_tslib.js";import{jsx as e}from"react/jsx-runtime";import{Tooltip as i}from"react-tooltip";const l=l=>{var{selector:r=".menuOverflow",align:o="bottom-start",width:a="200px",style:c,children:n,clickable:s=!1}=l,d=t(l,["selector","align","width","style","children","clickable"]);return e(i,Object.assign({anchorSelect:r,place:o,style:Object.assign(Object.assign(Object.assign({fontFamily:"inherit",zIndex:1337,display:"flex",flexDirection:"column",padding:"0",backgroundColor:"white",color:"black"},"auto"!==a&&{width:"100%",maxWidth:a}),{borderRadius:"4px"}),c),clickable:s,noArrow:!0,opacity:1},d,{children:n}))};export{l as default};
1
+ import{__rest as t}from"../../../_virtual/_tslib.js";import{jsx as i}from"react/jsx-runtime";import{Tooltip as e}from"react-tooltip";const o=t=>`min(${t}, calc(100vw - 48px))`,r=r=>{var{selector:l=".menuOverflow",align:a="bottom-start",width:c="200px",style:n,children:s,clickable:d=!1}=r,b=t(r,["selector","align","width","style","children","clickable"]);return i(e,Object.assign({anchorSelect:l,place:a,positionStrategy:"fixed",style:Object.assign(Object.assign(Object.assign({fontFamily:"inherit",zIndex:1337,display:"flex",flexDirection:"column",padding:"0",backgroundColor:"white",color:"black",boxSizing:"border-box"},"auto"!==c&&{width:"100%",maxWidth:o(c)}),{borderRadius:"4px"}),n),clickable:d,noArrow:!0,opacity:1},b,{children:s}))};export{r as default};
@@ -1 +1 @@
1
- import{__awaiter as t}from"../../../../../_virtual/_tslib.js";import{useMutation as r}from"@tanstack/react-query";import e from"../../../../../common/api/pickaxe.js";const i=()=>r({mutationFn:r=>(({artifactId:r,studioId:i,sender:o,senderType:a,studioSessionToken:n,version:s})=>t(void 0,void 0,void 0,(function*(){if(!r||!s)return Promise.reject(new Error("[_getArtifactData] artifactId and version are required"));let t=`/artifact?artifactId=${r}&senderType=${a}`;i&&(t+=`&studioId=${i}`),o&&(t+=`&sender=${o}`),n&&(t+=`&studioSessionToken=${n}`),s&&(t+=`&version=${s}`);const d=yield e.get(t),c=d.data;if(200!==d.status)throw new Error("[_getArtifactData] Failed to fetch artifact "+c);return c.data})))(r)});export{i as useArtifactData};
1
+ import{__awaiter as t}from"../../../../../_virtual/_tslib.js";import{useMutation as r}from"@tanstack/react-query";import{pickaxeApi2 as e}from"../../../../../common/api/pickaxe.js";const i=()=>r({mutationFn:r=>(({artifactId:r,studioId:i,sender:o,senderType:a,studioSessionToken:n,version:s})=>t(void 0,void 0,void 0,(function*(){if(!r||!s)return Promise.reject(new Error("[_getArtifactData] artifactId and version are required"));let t=`/artifact?artifactId=${r}&senderType=${a}`;i&&(t+=`&studioId=${i}`),o&&(t+=`&sender=${o}`),n&&(t+=`&studioSessionToken=${n}`),s&&(t+=`&version=${s}`);const d=yield e.get(t),c=d.data;if(200!==d.status)throw new Error("[_getArtifactData] Failed to fetch artifact "+c);return c.data})))(r)});export{i as useArtifactData};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{usePickaxeContext as i}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as t}from"./useAuthContext.js";import{setAuthToken as o}from"../../../../../common/utils.js";import r from"../../../../../common/api/pickaxe.js";import s from"../../../../../common/error.js";const n=()=>{const{deploymentId:n,pickaxe:d,translations:a}=i(),{emailInput:l,redirectUrl:m,isSending:c,setIsSending:u,setIsSent:p,setIsResendDisabled:f,setIsPricingAuth:k}=t();return{onSend:i=>e(void 0,void 0,void 0,(function*(){try{if(!d)return;if(c)return;const e=l.trim().toLowerCase();if(!e)throw new Error((null==a?void 0:a["email-address-cannot-be-empty"])||"Email address cannot be empty.");if(!e.includes("@")||!e.includes("."))throw new Error((null==a?void 0:a["please-enter-valid-email-address"])||"Please enter a valid email address.");if(!d.studioid)throw new Error(`Studio ID is missing for ${d.formid}. Please contact support.`);u(!0),i&&f(!0);const t=(yield r.post("/auth/email",Object.assign(Object.assign({pickaxeId:d.formid,studioId:d.studioid,email:e},n&&{deploymentId:n}),{redirectUrl:m}))).data;if(!t.success)throw new Error(t.error||(null==a?void 0:a["failed-to-send-sign-in-link"])||"Failed to send sign-in link.");u(!1),p(!0),i&&(yield new Promise((e=>setTimeout(e,3e4))),f(!1)),o(`PXE-token-${d.studioid}`,t.token),k(!0)}catch(e){const i=s(e);alert(i)}finally{u(!1)}}))}};export{n as useAuth};
1
+ import{__awaiter as e}from"../../../../../_virtual/_tslib.js";import{usePickaxeContext as i}from"../../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as t}from"./useAuthContext.js";import{setAuthToken as o}from"../../../../../common/utils.js";import{pickaxeApi2 as r}from"../../../../../common/api/pickaxe.js";import s from"../../../../../common/error.js";const n=()=>{const{deploymentId:n,pickaxe:d,translations:a}=i(),{emailInput:l,redirectUrl:m,isSending:c,setIsSending:u,setIsSent:p,setIsResendDisabled:f,setIsPricingAuth:k}=t();return{onSend:i=>e(void 0,void 0,void 0,(function*(){try{if(!d)return;if(c)return;const e=l.trim().toLowerCase();if(!e)throw new Error((null==a?void 0:a["email-address-cannot-be-empty"])||"Email address cannot be empty.");if(!e.includes("@")||!e.includes("."))throw new Error((null==a?void 0:a["please-enter-valid-email-address"])||"Please enter a valid email address.");if(!d.studioid)throw new Error(`Studio ID is missing for ${d.formid}. Please contact support.`);u(!0),i&&f(!0);const t=(yield r.post("/auth/email",Object.assign(Object.assign({pickaxeId:d.formid,studioId:d.studioid,email:e},n&&{deploymentId:n}),{redirectUrl:m}))).data;if(!t.success)throw new Error(t.error||(null==a?void 0:a["failed-to-send-sign-in-link"])||"Failed to send sign-in link.");u(!1),p(!0),i&&(yield new Promise((e=>setTimeout(e,3e4))),f(!1)),o(`PXE-token-${d.studioid}`,t.token),k(!0)}catch(e){const i=s(e);alert(i)}finally{u(!1)}}))}};export{n as useAuth};
@@ -1 +1 @@
1
- import{__awaiter as t}from"../../../../../_virtual/_tslib.js";import{useEffect as e}from"react";import{useQuery as o}from"@tanstack/react-query";import r from"../../../../../common/api/pickaxe.js";const i=({token:i,enabled:n,setIsLoggingIn:a})=>{const s=o({queryKey:["authData",i],queryFn:()=>t(void 0,void 0,void 0,(function*(){return(({token:e})=>t(void 0,void 0,void 0,(function*(){const t=yield r.get(`/auth?token=${encodeURIComponent(e)}`),o=t.data;if(200!==t.status)throw new Error("[_verifyAuth] Failed to verify auth data "+o);return o})))({token:i})})),enabled:!!i&&n,staleTime:18e4,refetchInterval:2e3});return e((()=>{s.isLoading&&i?a(!0):(s.isSuccess||s.isError)&&a(!1)}),[s.data,i]),s};export{i as useAuthVerify};
1
+ import{__awaiter as t}from"../../../../../_virtual/_tslib.js";import{useEffect as e}from"react";import{useQuery as o}from"@tanstack/react-query";import{pickaxeApi2 as r}from"../../../../../common/api/pickaxe.js";const i=({token:i,enabled:n,setIsLoggingIn:a})=>{const s=o({queryKey:["authData",i],queryFn:()=>t(void 0,void 0,void 0,(function*(){return(({token:e})=>t(void 0,void 0,void 0,(function*(){const t=yield r.get(`/auth?token=${encodeURIComponent(e)}`),o=t.data;if(200!==t.status)throw new Error("[_verifyAuth] Failed to verify auth data "+o);return o})))({token:i})})),enabled:!!i&&n,staleTime:18e4,refetchInterval:2e3});return e((()=>{s.isLoading&&i?a(!0):(s.isSuccess||s.isError)&&a(!1)}),[s.data,i]),s};export{i as useAuthVerify};
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,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 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 I}from"../../../hooks/core/useHover.js";import{useMediaQuery as O}from"../../../hooks/core/useMediaQuery.js";import{allowedFileMimeTypes as w,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 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 X}from"../../../common/utils.js";import{getPickaxeConfigMetadata as K}from"../../../common/pickaxeConfig.js";import{fireDeploymentSessionInitializedWebhook as V,fireDeploymentFirstMessageSubmittedWebhook as F}from"../../../common/deploymentWebhooks.js";import{useStudio as H}from"../../../hooks/studio/useStudio.js";import{useSpeech as W}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=>e.map((e=>Object.assign({},e))),q=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Q=(e,t)=>{if(e&&"object"==typeof e)return e[t]},Y=(e,t)=>{const n=Q(e,t);return G(n)?n:null},Z=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ee=({studioUser:e,deploymentId:t,portalId:n})=>{var s,o;const i=Array.isArray(Q(e,"uses"))?Q(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>G(e)?{type:"deployment",id:e}:G(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(s=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==s?s:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},te=i((({resubmitPrompt:i,onFocus:Q,onBlur:te,onInputHeightChange:ne,initSmitheryAuthData:se},oe)=>{var ie,re,ae,le,ce,de,ue,me,pe,fe;const{origin:ge,pickaxeId:he,sessionId:ve,sender:be,senderType:ye,portalId:xe,deploymentId:je,deploymentType:Ie,pickaxe:Oe,styles:we,colors:ke,translations:Ne,locale:Se,forceMobile:Ce,isNewChat:_e,isRtl:Ee,isShowFeedbackMessage:Ue,accessGroup:Te,setIsNewChat:Ae,setIsShowIceBreaker:Pe,setValidationStatus:De,setValidationUpgradeGroups:Le,setValidationUpgradeUrl:Re,onGenerateComplete:Me}=m(),{token:$e,isLoggedOut:Be,isSent:Xe,isPricingAuth:Ke}=b(),{messages:Ve,isGenerating:Fe,setMessages:He,setStatus:We,setLimitData:Je,setError:Ge}=p(),{documents:ze,isUploading:qe,documentError:Qe,onFileUpload:Ye,setDocuments:Ze,setDocumentError:et}=y(),{studio:tt}=H(),{scrollStartSession:nt,scrollEndSession:st,scrollToBottom:ot}=x({auto:!0}),{artifacts:it,currentPopupType:rt,setArtifacts:at,setCurrentArtifact:lt}=j(),{height:ct}=v(),dt=h(),[ut,mt]=r(""),[pt,ft]=r(!1),[gt,ht]=r(!1),[vt,bt]=r(null),[yt,xt]=r(null),[jt,It]=r(!1),[Ot,wt]=r(!1),[kt,Nt]=r(0),St=a(null),Ct=a(""),_t=a(null),Et=a(null),Ut=a(null),Tt=a([]),At=a(null),Pt=a(null),Dt=a(null),Lt=a(null),Rt=a(new Set),Mt=a(null),$t=Math.max(.4*ct,100),{speechTranscript:Bt,isSpeechListening:Xt,isSpeechProcessing:Kt,isSpeechSupported:Vt,onStartListening:Ft,onStopListening:Ht}=W(),[Wt]=O("(max-width: 480px)"),Jt=I(),{isHover:Gt}=Jt,zt=e(Jt,["isHover"]),qt=I(),{isHover:Qt}=qt,Yt=e(qt,["isHover"]),Zt=I(),{isHover:en}=Zt,tn=e(Zt,["isHover"]),nn=g(),sn=f(),on="undefined"!=typeof window?window.location.hostname:"",rn="undefined"!=typeof window?window.location.href:"",an="undefined"!=typeof window&&window.self!==window.top,ln=on.includes("pickaxe.co")&&!rn.includes("https://studio.pickaxe.co/_embed")&&!an,cn=null!==(re=null===(ie=null==Oe?void 0:Oe.documentuploadtype)||void 0===ie?void 0:ie.startsWith("enduserupload"))&&void 0!==re&&re,dn=Vt&&(null==Oe?void 0:Oe.enablevoicetotext),un=G(je),mn="chat-input"===Ie&&_e&&!Xe,pn="chat-input"===Ie&&Ke&&Be&&Xe,fn=l((e=>{const t=R(e);return!!t&&(Ge(""),Je(null),De(t.status),Le(t.upgradeGroups),Re(t.upgradeUrl),!0)}),[Ge,Je,De,Le,Re]),gn=null!==(ae=null==Oe?void 0:Oe.placeholdertext)&&void 0!==ae?ae:Ee?"بماذا تريد أن تتحدث؟":(null==Ne?void 0:Ne["what-do-you-want-to-talk-about"])||"What do you want to talk about?",hn=pt||gt,vn=l((()=>t(void 0,void 0,void 0,(function*(){It(!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({studioId:null==Oe?void 0:Oe.studioid},$e?{studioSessionToken:$e}:be?{sender:be}:{sender:X()}))},(!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}})),ln&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(bt(t.studioUser),xt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{It(!0)}}))),[ln,null==Oe?void 0:Oe.studioid,be,$e]);c((()=>{vn()}),[vn]);const bn=Number(null!==(le=null==Te?void 0:Te.limit)&&void 0!==le?le:0),yn="string"==typeof(null==Te?void 0:Te.limitInterval)?Te.limitInterval:null,xn=!!(null==tt?void 0:tt.data.usage)&&tt.data.usage.isCredits,jn=d((()=>ee({studioUser:vt,deploymentId:je,portalId:xe})),[je,xe,vt]);c((()=>{un&&_e&&ve&&Rt.current.add(ve)}),[_e,ve,un]);const In=l((()=>{var e,t,n;return{studioId:null==Oe?void 0:Oe.studioid,userEmail:Y(vt,"email"),userId:null!==(e=Y(vt,"userId"))&&void 0!==e?e:Y(vt,"userid"),sessionId:ve,deploymentId:je,deploymentType:Ie,portalId:xe,accessGroupId:null!==(t=null==Te?void 0:Te.accessGroupId)&&void 0!==t?t:null,pickaxeId:he,sender:be,senderType:ye,origin:ge,metadata:null!==(n=K(je))&&void 0!==n?n:null}}),[null==Te?void 0:Te.accessGroupId,je,Ie,ge,null==Oe?void 0:Oe.studioid,he,xe,be,ye,ve,vt]),On=l((()=>!!(un&&jt&&ve)&&(!!Rt.current.has(ve)&&(V(In()),Rt.current.delete(ve),!0))),[In,jt,ve,un]);c((()=>{if(!jt||!ve)return;On();const e=Mt.current;(null==e?void 0:e.sessionId)===ve&&(F(Object.assign(Object.assign(Object.assign({},e),In()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Mt.current=null)}),[On,In,jt,ve]);const wn={currentUses:Z(null==vt?void 0:vt.currentUses),extraUses:Z(null==vt?void 0:vt.extraUses)},kn=jn.scope?{currentUses:null!==(de=Z(null===(ce=jn.record)||void 0===ce?void 0:ce.currentUses))&&void 0!==de?de:0,extraUses:null!==(me=Z(null===(ue=jn.record)||void 0===ue?void 0:ue.extraUses))&&void 0!==me?me:0}:{currentUses:0,extraUses:0},Nn=Y(vt,"type"),Sn="guest"===Nn||!Nn&&Be?kn:wn;c((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(xn&&(null===(t=null==tt?void 0:tt.data)||void 0===t?void 0:t.workspaceId))try{const t=yield L.get(`/cost_per_run?workspaceId=${tt.data.workspaceId}`,{withCredentials:!1});e&&Nt(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&Nt(0)}else e&&Nt(0)})),()=>{e=!1}}),[xn,null===(pe=null==tt?void 0:tt.data)||void 0===pe?void 0:pe.workspaceId]);const Cn=(({currentUses:e,extraUses:t,limit:n,limitInterval:s})=>{const o=Number(null!=e?e:0),i=Number(null!=t?t:0);return n===J||i===J?J:"one_time"===s?Math.max(0,i-o):(console.log("Calculating remaining balance with limit:",n,"currentUses:",o,"extraUses:",i),Math.max(0,n-o)+i)})({currentUses:Sn.currentUses,extraUses:Sn.extraUses,limit:bn,limitInterval:yn}),_n=Cn===J?J:Math.max(0,Math.ceil(Cn)),En=(({extraUses:e,limit:t,limitInterval:n})=>{const s=Number(null!=e?e:0);return t===J||s===J?J:"one_time"===n?Math.max(0,s):Math.max(0,t)+Math.max(0,s)})({extraUses:Sn.extraUses,limit:bn,limitInterval:yn}),Un=En===J?J:Math.ceil(.05*En),Tn=xn?Math.ceil(5*kt):5,An=Un===J?J:Math.max(Un,Tn),Pn=d((()=>!!vt&&(!Ot&&(_n!==J&&_n<=An))),[Ot,An,_n,vt]),Dn=d((()=>{var e,t,n;return!!_e&&(!!Oe&&(!dt.isLoading&&(!((null!==(t=null===(e=dt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=Oe.icebreakers)||void 0===n?void 0:n.length)&&(!Ue&&!mn)))))}),[Oe,_e,Ue,mn,dt.data,dt.isLoading]),Ln=d((()=>{if(Fe||qe)return!1;const e=cn&&ze.length>0&&ze.every((e=>"finished"===e.status));return!(!ut.trim()&&!e)&&ze.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[cn,Fe,qe,ut,ze]);u(oe,(()=>({onSubmit:Rn}))),c((()=>{Pe(Dn)}),[Dn]),c((()=>{var e;if(i){const t=Array.from(Ve),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Rn(n,!0)}}),[i]),c((()=>{if(!Dt.current||!ne)return;const e=new ResizeObserver((e=>{for(const t of e)ne(t.contentRect.height)}));return e.observe(Dt.current),()=>{e.disconnect()}}),[ne]),c((()=>{if(!Xt)return;const e=Ct.current?`${Ct.current} `:"";mt(`${e}${Bt}`)}),[Bt,Xt]),c((()=>{if(!At.current)return;(()=>{if(!At.current)return;let e=At.current.scrollHeight>52;ut.includes("\n")||ze.length?e=!0:ut.trim()||(e=!1),ft(e)})()}),[ut,ze]),c((()=>{const e=At.current,t=Pt.current;if(!e||!t||pt||ut.includes("\n"))return void ht(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=ut||gn,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;ht(i>l)}),[ut,pt,gn]);const Rn=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o,i;let r=null;try{if(Fe||qe)return;const a=ze.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),l=a.map((e=>e.documentId)).filter(Boolean),c=a.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),d=null!=e?e:ut,u=null!==(s=null===(t=null==Oe?void 0:Oe.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&l.length>0;if(!d&&!u)return;Ge(""),et(""),Je(null),mt(""),Ae(!1),We("fetching"),nt(),ot();const m=[...n?Array.from(Ve.slice(0,Ve.length-1)):Array.from(Ve),...n?[]:[{id:Ve.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:u?l:[]}],{id:Ve.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];He(m),ot(),u&&Ze([]);const p=K(je),f="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;r=f,Et.current=f,Ut.current=null,Tt.current=[];const g=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:ge,pickaxeId:he,sessionId:ve,submissionId:f,senderType:ye,value:d},u&&{documentIds:l}),be&&{sender:be}),$e&&{studioSessionToken:$e}),!$e&&!be&&{sender:X()}),xe&&{portalId:xe}),je&&{deploymentId:je}),p&&{metadata:p}),u&&c.length>0?{uploadedModelImages:c}:{})),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()})},ln&&{credentials:"include"})),h=yield g.json();if(!h.success){if(fn(h))return;const e=new Error(h.error||h.message||(null==Ne?void 0:Ne["failed-to-start-generation"])||"Failed to start generation");throw h.limitData&&(e.limitData=h.limitData),e}const v=null!==(o=h.submissionId)&&void 0!==o?o:f;r=v,Et.current=v;const b=()=>Ut.current===v;if(b())return;un&&_e&&ve&&Rt.current.add(ve);const y=Object.assign(Object.assign({},In()),{message:d,documentIds:u?l:[],uploadedModelImages:u?c:[],hasUploadedDocuments:u,isHidden:n,metadata:null!=p?p:null});jt?(On(),F(y)):Mt.current=y,We("streaming"),Lt.current=new AbortController;const x=m.length-1,j=[];let I=[...null!=it?it:[]],O=0,w=!1,k="";for(;!w;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${v}?index=${O}`,{signal:null===(i=Lt.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();_t.current=t;const n=new TextDecoder,s=S({onEvent:e=>{var t,n;if(b())w=!0;else if(e.event&&"ping"!==e.event&&O++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),n=t.error||t.message||(null==Ne?void 0:Ne["something-went-wrong"])||"Something went wrong.";return fn(t)||Ge(n),void(w=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&se){const e=s.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw w=!0,se({smitheryId:t[1],serverId:n[1],name:s[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 w=!0,se({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)k="",j.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("text-end"===s.type)k="";else if("reasoning-start"===s.type)k="",j.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("reasoning-end"===s.type)k="";else if(s.type.startsWith("data-")){const e=s;j.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Tt.current=z(j),He([...m.slice(0,x),Object.assign(Object.assign({},m[m.length-1]),{id:Ve.length+1,role:"assistant",parts:j})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),at([...I]),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),at(I),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),at(I),rt.startsWith("inline")||lt({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");I=I.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),at(I)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);at(I.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),n=t.error||t.message||(null==Ne?void 0:Ne["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(fn(t))return void(w=!0);Ge(n)}else"stop"===e.event&&(w=!0)}else w=!0}});for(;;){if(b()){w=!0,t.cancel().catch((()=>{}));break}const{value:e,done:o}=yield t.read();if(b()){w=!0,t.cancel().catch((()=>{}));break}if(o)break;s.feed(n.decode(e))}w||b()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||q(e)||b())return void(w=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Me||Me(ve)}catch(e){if(q(e))return;if(e.limitData)Je(e.limitData),Ge("");else{let t=D(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==Ne?void 0:Ne["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),fn(t)||Ge(t)}}finally{const e=!r||Et.current===r;ot(),e&&(We("idle"),st(),_t.current=null),r&&e&&(Et.current=null,Tt.current=[]),yield vn()}}));return pn?null:n("div",Object.assign({className:M("flex w-full flex-shrink-0 flex-col items-center",!mn&&"px-4 pb-8"),dir:Ee?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:Dt,className:M("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===we.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},sn),{maxHeight:`${$t}px`,overflowY:"auto"})},{children:[Pn&&s("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:sn.backgroundColor?`${sn.backgroundColor}E6`:void 0,borderColor:ke.text+"20",color:ke.text,borderTopRightRadius:we.cornerRadius+"px",borderTopLeftRadius:we.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:s("span",{children:[_n.toLocaleString()," ",xn?(null==Ne?void 0:Ne.credits)||"Credits":(null==Ne?void 0:Ne.uses)||"Uses"," ",(null==Ne?void 0:Ne.remaining)||"remaining"]})})),s("div",Object.assign({className:"flex items-center gap-3"},{children:[n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:ke.accent,color:ke.accentText},onClick:e=>{e.preventDefault(),e.stopPropagation();const t=$({baseUrl:yt,accessGroupId:null==Te?void 0:Te.accessGroupId});t&&(B()?window.open(t):location.href=t)}},{children:(null==Ne?void 0:Ne["pricing.upgrade"])||(null==Ne?void 0:Ne.upgrade)||"Upgrade"})),n("button",Object.assign({className:"flex h-6 w-6 items-center justify-center rounded-full opacity-60 transition-opacity hover:opacity-100",onClick:()=>wt(!0)},{children:n("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:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Fe&&ze.length>0&&n(T,{className:"p-4 pb-0",isDisabled:Fe}),s("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Xt&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(fe=ke.accent)&&void 0!==fe?fe:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:ke.text+"90"}},{children:(null==Ne?void 0:Ne.listening)||"Listening..."}))]})),n(A,Object.assign({ref:At,className:M(nn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!ut.trim()&&!ut.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Ee?"text-right":"text-left",hn&&"mb-12",Xt&&"text-transparent"),value:ut,placeholder:gn,onChange:e=>{mt(e)},onKeyDown:e=>{Ce||Wt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),qe||Fe||Rn()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!cn)return;e.preventDefault(),Ae(!1),yield Ye(t)}}))},Q&&{onFocus:Q},te&&{onBlur:te},{dir:Ee?"rtl":"ltr"})),n("div",Object.assign({ref:Pt,className:M("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",hn?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!hn&&sn.backgroundColor&&{backgroundColor:sn.backgroundColor}),{borderTopRightRadius:we.cornerRadius+"px",borderBottomRightRadius:we.cornerRadius+"px"})},{children:Fe?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=Et.current;e&&(Ut.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:Et.current))return;const t=z(Tt.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!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()}),body:JSON.stringify({outputMessageParts:t})},ln&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),Lt.current&&(Lt.current.abort(),Lt.current=null),_t.current&&(_t.current.cancel().catch((()=>{})),_t.current=null),We("idle")},style:{backgroundColor:ke.accent,color:ke.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Xt?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Ht,style:{backgroundColor:ke.accent,color:ke.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[cn&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Qt?ke.accent+"10":void 0,color:Qt?ke.accent:ke.accent+"80"},disabled:qe||Fe,onClick:()=>{var e;return null===(e=St.current)||void 0===e?void 0:e.click()}},Yt,{children:[n("input",{id:"file-upload",ref:St,type:"file",accept:[...w,...k,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){Ae(!1),yield Ye(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),dn&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Xt?ke.accent:en?ke.accent+"10":void 0,color:Xt?ke.accentText:en?ke.accent:ke.accent+"80"},disabled:qe||Fe||Kt,onClick:()=>{Xt?Ht():(Ct.current=ut,Ft(Se||"en-US"))}},tn,{children:n(E,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Gt||Ln?ke.accent:ke.accent+"10",color:Gt||Ln?ke.accentText:ke.accent+"80"},disabled:!Ln,onClick:()=>Rn()},zt,{children:n(_,{className:M("h-6 w-6 shrink-0",Ee&&"scale-x-[-1] transform")})}))]})}))]}))]})),Qe&&n(P,{error:Qe,className:"mt-3"})]}))}))}));te.displayName="Input";export{te as default};
1
+ import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as n,jsxs as s,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 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 I}from"../../../hooks/core/useHover.js";import{useMediaQuery as w}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 E from"../../Icons/arrow-right.svg.js";import _ 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{pickaxeApi2 as 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 X}from"../../../common/utils.js";import{getPickaxeConfigMetadata as K}from"../../../common/pickaxeConfig.js";import{fireDeploymentSessionInitializedWebhook as V,fireDeploymentFirstMessageSubmittedWebhook as F}from"../../../common/deploymentWebhooks.js";import{useStudio as H}from"../../../hooks/studio/useStudio.js";import{useSpeech as W}from"../../../hooks/pickaxe/useSpeech.js";import{STUDIO_INFINITY_VALUE as G}from"../common/PickaxeCommon.js";const J=e=>"string"==typeof e&&e.trim().length>0,z=e=>e.map((e=>Object.assign({},e))),q=e=>e instanceof Error&&("AbortError"===e.name||"BodyStreamBuffer was aborted"===e.message),Q=(e,t)=>{if(e&&"object"==typeof e)return e[t]},Y=(e,t)=>{const n=Q(e,t);return J(n)?n:null},Z=e=>{const t=Number(e);return Number.isFinite(t)?t:void 0},ee=({studioUser:e,deploymentId:t,portalId:n})=>{var s,o;const i=Array.isArray(Q(e,"uses"))?Q(e,"uses"):[],r=(({deploymentId:e,portalId:t})=>J(e)?{type:"deployment",id:e}:J(t)?{type:"portal",id:t}:null)({deploymentId:t,portalId:n});if(!r)return{scope:r,record:null};const a=null!==(o=null!==(s=i.find((e=>e.id===r.id&&e.type===r.type)))&&void 0!==s?s:i.find((e=>e.id===r.id)))&&void 0!==o?o:null;return{scope:r,record:a}},te=i((({resubmitPrompt:i,onFocus:Q,onBlur:te,onInputHeightChange:ne,initSmitheryAuthData:se},oe)=>{var ie,re,ae,le,ce,de,ue,me,pe,fe,ge,he;const{origin:ve,pickaxeId:be,sessionId:ye,sender:xe,senderType:je,portalId:Ie,deploymentId:we,deploymentType:Oe,pickaxe:ke,styles:Ne,colors:Se,translations:Ce,locale:Ee,forceMobile:_e,isNewChat:Ue,isRtl:Te,isShowFeedbackMessage:Ae,accessGroup:Pe,setIsNewChat:De,setIsShowIceBreaker:Le,setValidationStatus:Re,setValidationUpgradeGroups:Me,setValidationUpgradeUrl:$e,setAccessGroup:Be,onGenerateComplete:Xe}=m(),{token:Ke,isLoggedOut:Ve,isSent:Fe,isPricingAuth:He}=b(),{messages:We,isGenerating:Ge,setMessages:Je,setStatus:ze,setLimitData:qe,setError:Qe}=p(),{documents:Ye,isUploading:Ze,documentError:et,onFileUpload:tt,setDocuments:nt,setDocumentError:st}=y(),{studio:ot}=H(),{scrollStartSession:it,scrollEndSession:rt,scrollToBottom:at}=x({auto:!0}),{artifacts:lt,currentPopupType:ct,setArtifacts:dt,setCurrentArtifact:ut}=j(),{height:mt}=v(),pt=h(),[ft,gt]=r(""),[ht,vt]=r(!1),[bt,yt]=r(!1),[xt,jt]=r(null),[It,wt]=r(null),[Ot,kt]=r(!1),[Nt,St]=r(!1),[Ct,Et]=r(0),_t=a(null),Ut=a(""),Tt=a(null),At=a(null),Pt=a(null),Dt=a([]),Lt=a(null),Rt=a(null),Mt=a(null),$t=a(null),Bt=a(new Set),Xt=a(null),Kt=Math.max(.4*mt,100),{speechTranscript:Vt,isSpeechListening:Ft,isSpeechProcessing:Ht,isSpeechSupported:Wt,onStartListening:Gt,onStopListening:Jt}=W(),[zt]=w("(max-width: 480px)"),qt=I(),{isHover:Qt}=qt,Yt=e(qt,["isHover"]),Zt=I(),{isHover:en}=Zt,tn=e(Zt,["isHover"]),nn=I(),{isHover:sn}=nn,on=e(nn,["isHover"]),rn=g(),an=f(),ln="undefined"!=typeof window?window.location.hostname:"",cn="undefined"!=typeof window?window.location.href:"",dn="undefined"!=typeof window&&window.self!==window.top,un=ln.includes("pickaxe.co")&&!cn.includes("https://studio.pickaxe.co/_embed")&&!dn,mn=null!==(re=null===(ie=null==ke?void 0:ke.documentuploadtype)||void 0===ie?void 0:ie.startsWith("enduserupload"))&&void 0!==re&&re,pn=Wt&&(null==ke?void 0:ke.enablevoicetotext),fn=J(we),gn="chat-input"===Oe&&Ue&&!Fe,hn="chat-input"===Oe&&He&&Ve&&Fe,vn=l((e=>{const t=R(e);return!!t&&(Qe(""),qe(null),Re(t.status),Be(t.accessGroup),Me(t.upgradeGroups),$e(t.upgradeUrl),!0)}),[Qe,qe,Re,Me,$e,Be]),bn=null!==(ae=null==ke?void 0:ke.placeholdertext)&&void 0!==ae?ae:Te?"بماذا تريد أن تتحدث؟":(null==Ce?void 0:Ce["what-do-you-want-to-talk-about"])||"What do you want to talk about?",yn=ht||bt,xn=l((()=>t(void 0,void 0,void 0,(function*(){kt(!1);try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/user`,Object.assign(Object.assign({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({studioId:null==ke?void 0:ke.studioid},Ke?{studioSessionToken:Ke}:xe?{sender:xe}:{sender:X()}))},(!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}})),un&&{credentials:"include"})),t=yield e.json();(null==t?void 0:t.studioUser)&&(jt(t.studioUser),wt(t.url))}catch(e){console.error("Failed to fetch studio user:",e)}finally{kt(!0)}}))),[un,null==ke?void 0:ke.studioid,xe,Ke]);c((()=>{xn()}),[xn]);const jn=Number(null!==(le=null==Pe?void 0:Pe.limit)&&void 0!==le?le:0),In="string"==typeof(null==Pe?void 0:Pe.limitInterval)?Pe.limitInterval:null,wn=!!(null==ot?void 0:ot.data.usage)&&ot.data.usage.isCredits,On=d((()=>ee({studioUser:xt,deploymentId:we,portalId:Ie})),[we,Ie,xt]);c((()=>{fn&&Ue&&ye&&Bt.current.add(ye)}),[Ue,ye,fn]);const kn=l((()=>{var e,t,n;return{studioId:null==ke?void 0:ke.studioid,userEmail:Y(xt,"email"),userId:null!==(e=Y(xt,"userId"))&&void 0!==e?e:Y(xt,"userid"),sessionId:ye,deploymentId:we,deploymentType:Oe,portalId:Ie,accessGroupId:null!==(t=null==Pe?void 0:Pe.accessGroupId)&&void 0!==t?t:null,pickaxeId:be,sender:xe,senderType:je,origin:ve,metadata:null!==(n=K(we))&&void 0!==n?n:null}}),[null==Pe?void 0:Pe.accessGroupId,we,Oe,ve,null==ke?void 0:ke.studioid,be,Ie,xe,je,ye,xt]),Nn=l((()=>!!(fn&&Ot&&ye)&&(!!Bt.current.has(ye)&&(V(kn()),Bt.current.delete(ye),!0))),[kn,Ot,ye,fn]);c((()=>{if(!Ot||!ye)return;Nn();const e=Xt.current;(null==e?void 0:e.sessionId)===ye&&(F(Object.assign(Object.assign(Object.assign({},e),kn()),{message:e.message,documentIds:e.documentIds,uploadedModelImages:e.uploadedModelImages,hasUploadedDocuments:e.hasUploadedDocuments,isHidden:e.isHidden})),Xt.current=null)}),[Nn,kn,Ot,ye]);const Sn={currentUses:Z(null==xt?void 0:xt.currentUses),extraUses:Z(null==xt?void 0:xt.extraUses)},Cn=On.scope?{currentUses:null!==(de=Z(null===(ce=On.record)||void 0===ce?void 0:ce.currentUses))&&void 0!==de?de:0,extraUses:null!==(me=Z(null===(ue=On.record)||void 0===ue?void 0:ue.extraUses))&&void 0!==me?me:0}:{currentUses:0,extraUses:0},En=Y(xt,"type"),_n="guest"===En||!En&&Ve?Cn:Sn;c((()=>{let e=!0;return t(void 0,void 0,void 0,(function*(){var t;if(wn&&(null===(t=null==ot?void 0:ot.data)||void 0===t?void 0:t.workspaceId))try{const t=yield L.get(`/cost_per_run?workspaceId=${ot.data.workspaceId}`,{withCredentials:!1});e&&Et(1e4*(Number(t.data.costPerRun)||0))}catch(t){console.error("Failed to fetch average cost per run:",t),e&&Et(0)}else e&&Et(0)})),()=>{e=!1}}),[wn,null===(pe=null==ot?void 0:ot.data)||void 0===pe?void 0:pe.workspaceId]);const Un=(({currentUses:e,extraUses:t,limit:n,limitInterval:s})=>{const o=Number(null!=e?e:0),i=Number(null!=t?t:0);return n===G||i===G?G:"one_time"===s?Math.max(0,i-o):(console.log("Calculating remaining balance with limit:",n,"currentUses:",o,"extraUses:",i),Math.max(0,n-o)+i)})({currentUses:_n.currentUses,extraUses:_n.extraUses,limit:jn,limitInterval:In}),Tn=Un===G?G:Math.max(0,Math.ceil(Un)),An=(({extraUses:e,limit:t,limitInterval:n})=>{const s=Number(null!=e?e:0);return t===G||s===G?G:"one_time"===n?Math.max(0,s):Math.max(0,t)+Math.max(0,s)})({extraUses:_n.extraUses,limit:jn,limitInterval:In}),Pn=An===G?G:Math.ceil(.05*An),Dn=wn?Math.ceil(5*Ct):5,Ln=Pn===G?G:Math.max(Pn,Dn),Rn=d((()=>!!xt&&(!Nt&&(Tn!==G&&Tn<=Ln))),[Nt,Ln,Tn,xt]),Mn=(null===(fe=null==Pe?void 0:Pe.upgrade)||void 0===fe?void 0:fe.isLinkToCustomURL)&&"string"==typeof Pe.upgrade.limitLink&&Pe.upgrade.limitLink.trim().length>0?Pe.upgrade.limitLink.trim():null,$n=Mn&&"string"==typeof(null===(ge=null==Pe?void 0:Pe.upgrade)||void 0===ge?void 0:ge.limitCTA)&&Pe.upgrade.limitCTA.trim().length>0?Pe.upgrade.limitCTA:(null==Ce?void 0:Ce["pricing.upgrade"])||(null==Ce?void 0:Ce.upgrade)||"Upgrade",Bn=d((()=>{var e,t,n;return!!Ue&&(!!ke&&(!pt.isLoading&&(!((null!==(t=null===(e=pt.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&(!!(null===(n=ke.icebreakers)||void 0===n?void 0:n.length)&&(!Ae&&!gn)))))}),[ke,Ue,Ae,gn,pt.data,pt.isLoading]),Xn=d((()=>{if(Ge||Ze)return!1;const e=mn&&Ye.length>0&&Ye.every((e=>"finished"===e.status));return!(!ft.trim()&&!e)&&Ye.every((e=>"finished"===e.status||e.isInsertedAsRaw))}),[mn,Ge,Ze,ft,Ye]);u(oe,(()=>({onSubmit:Kn}))),c((()=>{Le(Bn)}),[Bn]),c((()=>{var e;if(i){const t=Array.from(We),n=null===(e=t[t.length-2].parts.find((e=>"text"===e.type)))||void 0===e?void 0:e.content;Kn(n,!0)}}),[i]),c((()=>{if(!Mt.current||!ne)return;const e=new ResizeObserver((e=>{for(const t of e)ne(t.contentRect.height)}));return e.observe(Mt.current),()=>{e.disconnect()}}),[ne]),c((()=>{if(!Ft)return;const e=Ut.current?`${Ut.current} `:"";gt(`${e}${Vt}`)}),[Vt,Ft]),c((()=>{if(!Lt.current)return;(()=>{if(!Lt.current)return;let e=Lt.current.scrollHeight>52;ft.includes("\n")||Ye.length?e=!0:ft.trim()||(e=!1),vt(e)})()}),[ft,Ye]),c((()=>{const e=Lt.current,t=Rt.current;if(!e||!t||ht||ft.includes("\n"))return void yt(!1);const n=window.getComputedStyle(e),s=`${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} / ${n.lineHeight} ${n.fontFamily}`,o=document.createElement("span");Object.assign(o.style,{font:s,letterSpacing:n.letterSpacing,position:"absolute",visibility:"hidden",whiteSpace:"nowrap",top:"0",left:"0"}),o.textContent=ft||bn,document.body.appendChild(o);const i=o.offsetWidth;o.remove();const r=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,l=e.clientWidth-r-a-t.offsetWidth;yt(i>l)}),[ft,ht,bn]);const Kn=(e,n=!1)=>t(void 0,void 0,void 0,(function*(){var t,s,o,i;let r=null;try{if(Ge||Ze)return;const a=Ye.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),l=a.map((e=>e.documentId)).filter(Boolean),c=a.filter((e=>"image"===e.type)).map((e=>{const t=e.name.split(".").pop()||"";return{documentId:e.documentId,extension:t}})),d=null!=e?e:ft,u=null!==(s=null===(t=null==ke?void 0:ke.documentuploadtype)||void 0===t?void 0:t.startsWith("enduserupload"))&&void 0!==s&&s&&l.length>0;if(!d&&!u)return;Qe(""),st(""),qe(null),gt(""),De(!1),ze("fetching"),it(),at();const m=[...n?Array.from(We.slice(0,We.length-1)):Array.from(We),...n?[]:[{id:We.length+1,role:"user",parts:[{type:"text",content:d,isVisible:!0}],documentIds:u?l:[]}],{id:We.length+(n?0:2),role:"assistant",parts:[],documentIds:[]}];Je(m),at(),u&&nt([]);const p=K(we),f="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`submission-${Date.now()}-${Math.random().toString(36).slice(2)}`;r=f,At.current=f,Pt.current=null,Dt.current=[];const g=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:ve,pickaxeId:be,sessionId:ye,submissionId:f,senderType:je,value:d},u&&{documentIds:l}),xe&&{sender:xe}),Ke&&{studioSessionToken:Ke}),!Ke&&!xe&&{sender:X()}),Ie&&{portalId:Ie}),we&&{deploymentId:we}),p&&{metadata:p}),u&&c.length>0?{uploadedModelImages:c}:{})),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()})},un&&{credentials:"include"})),h=yield g.json();if(!h.success){if(h.limitData){const e=new Error(h.error||h.message||(null==Ce?void 0:Ce["failed-to-start-generation"])||"Failed to start generation");throw e.limitData=h.limitData,e}if(vn(h))return;throw new Error(h.error||h.message||(null==Ce?void 0:Ce["failed-to-start-generation"])||"Failed to start generation")}const v=null!==(o=h.submissionId)&&void 0!==o?o:f;r=v,At.current=v;const b=()=>Pt.current===v;if(b())return;fn&&Ue&&ye&&Bt.current.add(ye);const y=Object.assign(Object.assign({},kn()),{message:d,documentIds:u?l:[],uploadedModelImages:u?c:[],hasUploadedDocuments:u,isHidden:n,metadata:null!=p?p:null});Ot?(Nn(),F(y)):Xt.current=y,ze("streaming"),$t.current=new AbortController;const x=m.length-1,j=[];let I=[...null!=lt?lt:[]],w=0,O=!1,k="";for(;!O;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${v}?index=${w}`,{signal:null===(i=$t.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();Tt.current=t;const n=new TextDecoder,s=S({onEvent:e=>{var t,n;if(b())O=!0;else if(e.event&&"ping"!==e.event&&w++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return qe(t.limitData),Qe(""),void(O=!0);const n=t.error||t.message||(null==Ce?void 0:Ce["something-went-wrong"])||"Something went wrong.";return vn(t)||Qe(n),void(O=!0)}if("delta"===e.event){const s=JSON.parse(e.data);if("data-error"===s.type&&se){const e=s.data.error;if("string"==typeof e){if(/['"]type['"]\s*:\s*['"]unauthorized_smithery['"]/.test(e)){const t=e.match(/['"]qualifiedName['"]\s*:\s*['"]([^'"]+)['"]/),n=e.match(/['"]serverId['"]\s*:\s*['"]([^'"]+)['"]/),s=e.match(/['"]name['"]\s*:\s*['"]([^'"]+)['"]/);if(t&&t[1]&&n&&n[1]&&s&&s[1])throw O=!0,se({smitheryId:t[1],serverId:n[1],name:s[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 O=!0,se({smitheryId:t.qualifiedName,serverId:t.serverId,name:t.name}),new Error("STOP_STREAM")}}else if("text-start"===s.type)k="",j.push({type:"text",content:"",isVisible:null===(t=s.isVisible)||void 0===t||t});else if("text-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("text-end"===s.type)k="";else if("reasoning-start"===s.type)k="",j.push({type:"reasoning",content:"",isVisible:null===(n=s.isVisible)||void 0===n||n});else if("reasoning-delta"===s.type)k+=s.delta,j[j.length-1].content=k;else if("reasoning-end"===s.type)k="";else if(s.type.startsWith("data-")){const e=s;j.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}Dt.current=z(j),Je([...m.slice(0,x),Object.assign(Object.assign({},m[m.length-1]),{id:We.length+1,role:"assistant",parts:j})])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),dt([...I]),ct.startsWith("inline")||ut({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),dt(I),ct.startsWith("inline")||ut({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);I=I.filter((e=>!(e.id===t.id&&e.version===t.version))),I.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),dt(I),ct.startsWith("inline")||ut({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),n=t.token.replace(/\u200B/g,"");I=I.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+n,status:"streaming"}):e)),dt(I)}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);dt(I.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);if(t.limitData)return qe(t.limitData),Qe(""),void(O=!0);const n=t.error||t.message||(null==Ce?void 0:Ce["something-went-wrong-try-again"])||"Something went wrong, please try again.";if(vn(t))return void(O=!0);Qe(n)}else"stop"===e.event&&(O=!0)}else O=!0}});for(;;){if(b()){O=!0,t.cancel().catch((()=>{}));break}const{value:e,done:o}=yield t.read();if(b()){O=!0,t.cancel().catch((()=>{}));break}if(o)break;s.feed(n.decode(e))}O||b()||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("STOP_STREAM"===e.message||q(e)||b())return void(O=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==Xe||Xe(ye)}catch(e){if(q(e))return;if(e.limitData)qe(e.limitData),Qe("");else{let t=D(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."),vn(t)||Qe(t)}}finally{const e=!r||At.current===r;at(),e&&(ze("idle"),rt(),Tt.current=null),r&&e&&(At.current=null,Dt.current=[]),yield xn()}}));return hn?null:n("div",Object.assign({className:M("flex w-full flex-shrink-0 flex-col items-center",!gn&&"px-4 pb-8"),dir:Te?"rtl":"ltr"},{children:s("div",Object.assign({className:"flex w-full max-w-[800px] flex-col"},{children:[s("div",Object.assign({ref:Mt,className:M("relative flex flex-col w-full justify-end gap-y-3 py-[3px]","block"===Ne.formFieldStyle&&"shadow"),style:Object.assign(Object.assign({},an),{maxHeight:`${Kt}px`,overflowY:"auto"})},{children:[Rn&&s("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:an.backgroundColor?`${an.backgroundColor}E6`:void 0,borderColor:Se.text+"20",color:Se.text,borderTopRightRadius:Ne.cornerRadius+"px",borderTopLeftRadius:Ne.cornerRadius+"px"}},{children:[n("div",Object.assign({className:"flex items-center gap-2 text-sm font-medium"},{children:s("span",{children:[Tn.toLocaleString()," ",wn?(null==Ce?void 0:Ce.credits)||"Credits":(null==Ce?void 0:Ce.uses)||"Uses"," ",(null==Ce?void 0:Ce.remaining)||"remaining"]})})),s("div",Object.assign({className:"flex items-center gap-3"},{children:[n("button",Object.assign({className:"rounded-md px-3 py-1.5 text-xs font-semibold transition-opacity hover:opacity-90",style:{backgroundColor:Se.accent,color:Se.accentText},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),Mn)return void window.open(Mn,"_blank","noopener,noreferrer");const t=$({baseUrl:It,accessGroupId:null==Pe?void 0:Pe.accessGroupId});t&&(B()?window.open(t):location.href=t)}},{children:$n})),n("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:n("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:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}))}))]}))]})),!Ge&&Ye.length>0&&n(T,{className:"p-4 pb-0",isDisabled:Ge}),s("div",Object.assign({className:"relative flex w-full flex-col"},{children:[Ft&&s("div",Object.assign({className:"absolute left-4 top-1/2 flex -translate-y-1/2 select-none items-center gap-x-2"},{children:[n("span",{className:"h-2 w-2 animate-pulse rounded-full bg-c-secondary",style:{backgroundColor:null!==(he=Se.accent)&&void 0!==he?he:"#ff0000"}}),n("span",Object.assign({className:"text-sm text-c-secondary font-semilight",style:{color:Se.text+"90"}},{children:(null==Ce?void 0:Ce.listening)||"Listening..."}))]})),n(A,Object.assign({ref:Lt,className:M(rn.i1,"py-3.5 max-h-60 px-4 w-full border-transparent bg-transparent",!ft.trim()&&!ft.includes("\n")&&"overflow-hidden text-ellipsis whitespace-nowrap placeholder:whitespace-normal placeholder:overflow-visible",Te?"text-right":"text-left",yn&&"mb-12",Ft&&"text-transparent"),value:ft,placeholder:bn,onChange:e=>{gt(e)},onKeyDown:e=>{_e||zt||"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),Ze||Ge||Kn()))},onPaste:e=>t(void 0,void 0,void 0,(function*(){const t=Array.from(e.clipboardData.files||[]);if(t.length>0){if(!mn)return;e.preventDefault(),De(!1),yield tt(t)}}))},Q&&{onFocus:Q},te&&{onBlur:te},{dir:Te?"rtl":"ltr"})),n("div",Object.assign({ref:Rt,className:M("flex items-center gap-2 absolute right-0 z-2 transition-all duration-200 ease-in-out",yn?"bottom-0 mb-2.5":"top-1/2 -translate-y-1/2"),style:Object.assign(Object.assign({},!yn&&an.backgroundColor&&{backgroundColor:an.backgroundColor}),{borderTopRightRadius:Ne.cornerRadius+"px",borderBottomRightRadius:Ne.cornerRadius+"px"})},{children:Ge?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:()=>{const e=At.current;e&&(Pt.current=e,(e=>{t(void 0,void 0,void 0,(function*(){if(!(e=null!=e?e:At.current))return;const t=z(Dt.current);try{yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/cancel/${e}`,Object.assign({method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},(!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()}),body:JSON.stringify({outputMessageParts:t})},un&&{credentials:"include"}))}catch(e){console.warn("Failed to cancel submission",e)}}))})(e)),$t.current&&($t.current.abort(),$t.current=null),Tt.current&&(Tt.current.cancel().catch((()=>{})),Tt.current=null),ze("idle")},style:{backgroundColor:Se.accent,color:Se.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):Ft?n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",onClick:Jt,style:{backgroundColor:Se.accent,color:Se.accentText}},{children:n(U,{className:"h-4 w-4 shrink-0"})})):s(o,{children:[mn&&s("button",Object.assign({className:"flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:en?Se.accent+"10":void 0,color:en?Se.accent:Se.accent+"80"},disabled:Ze||Ge,onClick:()=>{var e;return null===(e=_t.current)||void 0===e?void 0:e.click()}},tn,{children:[n("input",{id:"file-upload",ref:_t,type:"file",accept:[...O,...k,...N].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){De(!1),yield tt(Array.from(e.target.files||[])),e.target.value=""}))}),n(C,{className:"h-6 w-6 shrink-0"})]})),pn&&n("button",Object.assign({className:"disabled:cursor-default flex h-8 w-8 items-center justify-center rounded-full outline-none transition-colors duration-200 ease-in-out",style:{backgroundColor:Ft?Se.accent:sn?Se.accent+"10":void 0,color:Ft?Se.accentText:sn?Se.accent:Se.accent+"80"},disabled:Ze||Ge||Ht,onClick:()=>{Ft?Jt():(Ut.current=ft,Gt(Ee||"en-US"))}},on,{children:n(_,{className:"h-5 w-5 shrink-0"})})),n("button",Object.assign({className:"flex h-8 w-8 items-center mr-2 justify-center rounded-full outline-none transition-colors duration-200 ease-in-out disabled:cursor-default",style:{backgroundColor:Qt||Xn?Se.accent:Se.accent+"10",color:Qt||Xn?Se.accentText:Se.accent+"80"},disabled:!Xn,onClick:()=>Kn()},Yt,{children:n(E,{className:M("h-6 w-6 shrink-0",Te&&"scale-x-[-1] transform")})}))]})}))]}))]})),et&&n(P,{error:et,className:"mt-3"})]}))}))}));te.displayName="Input";export{te as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as i}from"react/jsx-runtime";import{useState as r,useRef as n,useEffect as s,useCallback as a}from"react";import{usePickaxeContext as l}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as c}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as d}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as m}from"../Addons/Document/hooks/useDocument.js";import{useScrollContext as u}from"../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as p}from"../../../hooks/studio/useStyleFontSize.js";import f from"../../../hooks/core/useScrollToBottomVisibility.js";import h from"./History/index.js";import v from"./Input.js";import g from"../../Icons/attach-vertical.svg.js";import x from"../../../common/cn.js";import b from"../../../common/api/pickaxe.js";import{v4 as k}from"uuid";import{StudioTip as j}from"../../Core/StudioTip.js";import y from"../common/ScrollToBottomButton.js";import{useResponseContext as I}from"../../../hooks/pickaxe/useResponseContext.js";import{NavPill as w,EditableNavPill as D,HistoryPill as C}from"../Addons/Navbar/NavPill.js";import S from"../../Icons/history.svg.js";const N=()=>{var N,T;const{deploymentType:A,isNewChat:F,setIsNewChat:O,sessionId:P,setSessionId:_,setLastSessionId:H,pickaxeId:z,sender:B,pickaxe:E,styles:R,isEmbed:L,translations:G}=l(),{isSent:V}=c(),{width:U,height:W,setDimension:q}=d(),{setDocuments:J,onFileUpload:K}=m(),{scrollContainerRef:M,isLocked:Q,setIsLocked:X}=u(),{isGenerating:Y,messages:Z}=I(),$=p(),[ee,te]=r(0),[oe,ie]=r(!1),[re,ne]=r(!1),se=n(null),ae=n(null),le=n(0),[ce,de]=r(null),[me,ue]=r(!1),pe=(null==G?void 0:G["new-chat"])||"New chat",fe="chat-input"===A&&F&&!V,he=null!==(T=null===(N=null==E?void 0:E.documentuploadtype)||void 0===N?void 0:N.startsWith("enduserupload"))&&void 0!==T&&T,{hasScrollableContent:ve,isNearBottom:ge}=f(M);s((()=>()=>{J([])}),[]);const xe=a((()=>{if(!z||!B)return;const t=(o=0)=>e(void 0,void 0,void 0,(function*(){var e;try{const t=yield b.post("/get_pickaxe_conversation",{sessionId:P,userId:B});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void ke(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}o<20&&setTimeout((()=>t(o+1)),3e3)}));t()}),[z,B,P]);s((()=>{Y||F||!P||xe()}),[Y,F,P,xe]),s((()=>{if(!se.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;q(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(se.current),()=>{e.disconnect()}}),[q]);const[be,ke]=r(pe),je=(null==E?void 0:E.formtitle)||"Pickaxe",ye=(null==E?void 0:E.coverphoto)||void 0,[Ie,we]=r(!1);s((()=>{const e=!fe&&!L&&R.portalTheme&&(Z.filter((e=>"user"===e.role)).length>0||oe||!F);we(null!=e&&e)}),[fe,L,oe,F,Z,R.portalTheme]);const De=a((()=>{M.current&&(X(!0),M.current.scrollTo({top:M.current.scrollHeight,behavior:"smooth"}))}),[M,X]);return t("div",Object.assign({ref:se,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),he&&(le.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&ne(!0))},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),he&&(le.current-=1,0===le.current&&ne(!1))},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e(void 0,void 0,void 0,(function*(){if(t.preventDefault(),t.stopPropagation(),ne(!1),le.current=0,!he)return;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(O(!1),yield K(e))}))},{children:[re&&t("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[o("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:o(g,{className:"h-10 w-10"})})),o("h3",Object.assign({className:x($.h3,"mt-6 font-semibold text-c-primary text-black")},{children:(null==G?void 0:G["drop-files-to-upload"])||"Drop files to upload"})),o("p",Object.assign({className:x($.b2,"mt-2 opacity-60 text-black")},{children:(null==G?void 0:G["add-anything-to-the-conversation"])||"Add anything to the conversation"}))]})),fe?o(v,{}):t(i,{children:[Ie&&t("div",Object.assign({className:x("direct-link"===A?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===R.portalTheme?"glass-dark ":"")},{children:[o(w,{text:je,icon:ye}),F||be===pe?o(w,{text:be}):o(D,{text:be,sessionId:P,onRename:t=>e(void 0,void 0,void 0,(function*(){if(P)try{yield b.post("/edit_conversation_name",{sessionId:P,name:t,userId:B}),ke(t)}catch(e){console.error("Error renaming chat:",e),alert((null==G?void 0:G["failed-rename-chat"])||"Failed to rename chat.")}})),onDelete:()=>e(void 0,void 0,void 0,(function*(){if(P&&window.confirm((null==G?void 0:G["delete-confirm"])||"Are you sure you want to delete this conversation?"))try{yield b.post("/delete_pickaxe_conversation",{sessionId:P,userId:B}),O(!0),_(k()),ke(pe)}catch(e){console.error("Error deleting chat:",e),alert((null==G?void 0:G["failed-delete-chat"])||"Failed to delete chat.")}})),isDarkGlass:"dark"===R.portalTheme}),o(j,Object.assign({content:G["chat-history"]||"Chat History",align:"bottom",containerClassName:"inline-flex shrink-0"},{children:o(C,{icon:o(S,{}),onClick:()=>{_(""),H(P)}})}))]})),o(h,{additionalScrollHeight:ee,isForceHideInfo:W<=545||U<=350||oe,isInputFocused:oe,onSubmit:t=>e(void 0,void 0,void 0,(function*(){ae.current&&ae.current.onSubmit(t)})),smitheryAuthData:ce,resubmitPrompt:()=>{de(null),ue(!0)}}),o(y,{isVisible:ve&&!Q&&!ge,bottom:ee+65,onClick:De}),o(v,{ref:ae,onFocus:()=>ie(!0),onBlur:()=>ie(!1),onInputHeightChange:te,initSmitheryAuthData:e=>de(e),resubmitPrompt:me})]})]}))};export{N as default};
1
+ import{__awaiter as t}from"../../../_virtual/_tslib.js";import{jsxs as e,jsx as o,Fragment as i}from"react/jsx-runtime";import{useState as r,useRef as n,useEffect as s,useCallback as a}from"react";import{usePickaxeContext as l}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as c}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as d}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as m}from"../Addons/Document/hooks/useDocument.js";import{useScrollContext as u}from"../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as p}from"../../../hooks/studio/useStyleFontSize.js";import f from"../../../hooks/core/useScrollToBottomVisibility.js";import h from"./History/index.js";import v from"./Input.js";import g from"../../Icons/attach-vertical.svg.js";import x from"../../../common/cn.js";import{pickaxeApi2 as b}from"../../../common/api/pickaxe.js";import{v4 as k}from"uuid";import{StudioTip as j}from"../../Core/StudioTip.js";import y from"../common/ScrollToBottomButton.js";import{useResponseContext as I}from"../../../hooks/pickaxe/useResponseContext.js";import{NavPill as w,EditableNavPill as D,HistoryPill as C}from"../Addons/Navbar/NavPill.js";import S from"../../Icons/history.svg.js";const N=()=>{var N,T;const{deploymentType:A,isNewChat:F,setIsNewChat:O,sessionId:P,setSessionId:H,setLastSessionId:z,pickaxeId:B,sender:E,pickaxe:R,styles:L,isEmbed:G,translations:V}=l(),{isSent:_}=c(),{width:U,height:W,setDimension:q}=d(),{setDocuments:J,onFileUpload:K}=m(),{scrollContainerRef:M,isLocked:Q,setIsLocked:X}=u(),{isGenerating:Y,messages:Z}=I(),$=p(),[tt,et]=r(0),[ot,it]=r(!1),[rt,nt]=r(!1),st=n(null),at=n(null),lt=n(0),[ct,dt]=r(null),[mt,ut]=r(!1),pt=(null==V?void 0:V["new-chat"])||"New chat",ft="chat-input"===A&&F&&!_,ht=null!==(T=null===(N=null==R?void 0:R.documentuploadtype)||void 0===N?void 0:N.startsWith("enduserupload"))&&void 0!==T&&T,{hasScrollableContent:vt,isNearBottom:gt}=f(M);s((()=>()=>{J([])}),[]);const xt=a((()=>{if(!B||!E)return;const e=(o=0)=>t(void 0,void 0,void 0,(function*(){var t;try{const e=yield b.post("/conversation/title",{sessionId:P,userId:E});if(e.data&&e.data.success){const t=e.data.title;if(t&&"Conversation Title"!==t)return void kt(t)}else console.error("Failed to load conversation:",null===(t=e.data)||void 0===t?void 0:t.error)}catch(t){console.error("Error fetching conversation:",t)}o<20&&setTimeout((()=>e(o+1)),3e3)}));e()}),[B,E,P]);s((()=>{Y||F||!P||xt()}),[Y,F,P,xt]),s((()=>{if(!st.current)return;const t=new ResizeObserver((t=>{for(const e of t){const{width:t,height:o}=e.contentRect;q(parseInt(t.toFixed(0)),parseInt(o.toFixed(0)))}}));return t.observe(st.current),()=>{t.disconnect()}}),[q]);const[bt,kt]=r(pt),jt=(null==R?void 0:R.formtitle)||"Pickaxe",yt=(null==R?void 0:R.coverphoto)||void 0,[It,wt]=r(!1);s((()=>{const t=!ft&&!G&&L.portalTheme&&(Z.filter((t=>"user"===t.role)).length>0||ot||!F);wt(null!=t&&t)}),[ft,G,ot,F,Z,L.portalTheme]);const Dt=a((()=>{M.current&&(X(!0),M.current.scrollTo({top:M.current.scrollHeight,behavior:"smooth"}))}),[M,X]);return e("div",Object.assign({ref:st,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:t=>{t.preventDefault(),t.stopPropagation(),ht&&(lt.current+=1,t.dataTransfer.items&&t.dataTransfer.items.length>0&&nt(!0))},onDragLeave:t=>{t.preventDefault(),t.stopPropagation(),ht&&(lt.current-=1,0===lt.current&&nt(!1))},onDragOver:t=>{t.preventDefault(),t.stopPropagation()},onDrop:e=>t(void 0,void 0,void 0,(function*(){if(e.preventDefault(),e.stopPropagation(),nt(!1),lt.current=0,!ht)return;const t=Array.from(e.dataTransfer.files||[]);t.length>0&&(O(!1),yield K(t))}))},{children:[rt&&e("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[o("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:o(g,{className:"h-10 w-10"})})),o("h3",Object.assign({className:x($.h3,"mt-6 font-semibold text-c-primary text-black")},{children:(null==V?void 0:V["drop-files-to-upload"])||"Drop files to upload"})),o("p",Object.assign({className:x($.b2,"mt-2 opacity-60 text-black")},{children:(null==V?void 0:V["add-anything-to-the-conversation"])||"Add anything to the conversation"}))]})),ft?o(v,{}):e(i,{children:[It&&e("div",Object.assign({className:x("direct-link"===A?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===L.portalTheme?"glass-dark ":"")},{children:[o(w,{text:jt,icon:yt}),F||bt===pt?o(w,{text:bt}):o(D,{text:bt,sessionId:P,onRename:e=>t(void 0,void 0,void 0,(function*(){if(P)try{yield b.patch("/conversation/title",{sessionId:P,name:e,userId:E}),kt(e)}catch(t){console.error("Error renaming chat:",t),alert((null==V?void 0:V["failed-rename-chat"])||"Failed to rename chat.")}})),onDelete:()=>t(void 0,void 0,void 0,(function*(){if(P&&window.confirm((null==V?void 0:V["delete-confirm"])||"Are you sure you want to delete this conversation?"))try{yield b.delete("/conversation",{data:{sessionId:P,userId:E}}),O(!0),H(k()),kt(pt)}catch(t){console.error("Error deleting chat:",t),alert((null==V?void 0:V["failed-delete-chat"])||"Failed to delete chat.")}})),isDarkGlass:"dark"===L.portalTheme}),o(j,Object.assign({content:V["chat-history"]||"Chat History",align:"bottom",containerClassName:"inline-flex shrink-0"},{children:o(C,{icon:o(S,{}),onClick:()=>{H(""),z(P)}})}))]})),o(h,{additionalScrollHeight:tt,isForceHideInfo:W<=545||U<=350||ot,isInputFocused:ot,onSubmit:e=>t(void 0,void 0,void 0,(function*(){at.current&&at.current.onSubmit(e)})),smitheryAuthData:ct,resubmitPrompt:()=>{dt(null),ut(!0)}}),o(y,{isVisible:vt&&!Q&&!gt,bottom:tt+65,onClick:Dt}),o(v,{ref:at,onFocus:()=>it(!0),onBlur:()=>it(!1),onInputHeightChange:et,initSmitheryAuthData:t=>dt(t),resubmitPrompt:mt})]})]}))};export{N as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as s,jsx as o,Fragment as t}from"react/jsx-runtime";import{useState as n,useRef as a,useEffect as i,useMemo as r}from"react";import{usePickaxeContext as l}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as c}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{format as m}from"date-fns";import p from"../../../../common/api/pickaxe.js";import{Check as u,X as h,MoreHorizontal as b,Pencil as g}from"lucide-react";import v from"../../../Icons/trash-2.svg.js";import f from"../../../Icons/chat.svg.js";import y from"../../../Icons/copy.svg.js";import x from"../../../Icons/copied.svg.js";import j from"../../../Icons/expand.svg.js";import w from"../../../Icons/collapse.svg.js";import{PickaxeMarkdown as k}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as N}from"../../common/PickaxeMarkdown/Renderer.js";import{getSuppressedRichPreviewUrls as C}from"../../common/PickaxeMessageParts/index.js";import O from"../../../../common/cn.js";const _=({item:_,onDelete:I})=>{const{pickaxe:P,sender:M,colors:R,translations:D,styles:E,isRtl:T,disableCss:q,disableHtml:F,disableJs:S,setSessionId:$,setIsNewChat:A}=l(),{setMessages:H}=c(),{setDocuments:J}=d(),[z,L]=n(!1),[B,K]=n(!1),[U,G]=n(!1),[Q,V]=n(!1),[W,X]=n(!1),Y=a(null),[Z,ee]=n(_.shortSummary||_.summary||(null==D?void 0:D["conversation-name"])||"Conversation name"),[se,oe]=n("");i((()=>{ee(_.shortSummary||_.summary||(null==D?void 0:D["conversation-name"])||"Conversation name")}),[_.shortSummary,_.summary,D]),i((()=>{const e=e=>{Y.current&&!Y.current.contains(e.target)&&L(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const te=r((()=>_?"FORM"===_.pickaxeType&&0===_.messages.length?_.question.responseParts?_.question.responseParts.length:0:_.messages.length:0),[_]),ne=r((()=>m(new Date(_.updatedAt),"MMM dd, yyy hh:mm a")),[_]),ae=r((()=>{var e;const s=(null==D?void 0:D["not-available"])||"n/a";if("FORM"===_.pickaxeType){if(_.messages&&0!==_.messages.length){const e=_.messages.find((e=>"user"===e.role));return e?e.parts[0].content:""}const o=null!==(e=_.question.inputs)&&void 0!==e?e:[];return W?o.map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 600; opacity: 0.9;">${e.question}</p>\n <p style="opacity: 0.8;">${e.answer||s}</p>\n</div>`)).join(""):o.map((e=>`${e.question}: ${e.answer||s}`)).join(" | ")}const o=_.messages.find((e=>"user"===e.role));return o?o.parts[0].content:""}),[_,W,D]),ie=r((()=>{var e,s,o,t;return"FORM"===_.pickaxeType?_.messages&&0!==_.messages.length?null!==(s=null===(e=_.messages.find((e=>"assistant"===e.role)))||void 0===e?void 0:e.parts)&&void 0!==s?s:[]:_.question.responseParts:null!==(t=null===(o=_.messages.find((e=>"assistant"===e.role)))||void 0===o?void 0:o.parts)&&void 0!==t?t:[]}),[_]),re=r((()=>ie.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ")),[ie]),le=r((()=>C(ie)),[ie]),ce=()=>{K(!1),oe("")},de=()=>e(void 0,void 0,void 0,(function*(){if(se.trim()){G(!0);try{yield p.post("/edit_conversation_name",{sessionId:_.sessionId,name:se,userId:M}),ee(se),K(!1)}catch(e){console.error("Error updating conversation name:",e),alert((null==D?void 0:D["failed-update-name"])||"Failed to update name.")}finally{G(!1)}}}));return s("div",Object.assign({className:"flex flex-col overflow-hidden transition duration-300 hover:shadow w-full shrink-0 border",style:{borderColor:R.secondary,borderRadius:E.cornerRadius}},{children:[o("div",Object.assign({className:"flex items-center justify-between px-4 py-3 h-[44px]",style:{backgroundColor:R.primary,color:R.text}},{children:B?s("div",Object.assign({className:"flex items-center w-full gap-2",onClick:e=>e.stopPropagation()},{children:[o("input",{autoFocus:!0,type:"text",value:se,onChange:e=>oe(e.target.value),onKeyDown:e=>{"Enter"===e.key&&de(),"Escape"===e.key&&ce()},className:"flex-1 text-inherit px-2 py-1 rounded border focus:outline-none focus:ring-0 text-sm",style:{backgroundColor:R.primary,borderColor:R.secondary}}),o("button",Object.assign({onClick:de,disabled:U,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==D?void 0:D.save)||"Save"},{children:o(u,{className:"h-4 w-4"})})),o("button",Object.assign({onClick:ce,disabled:U,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==D?void 0:D.cancel)||"Cancel"},{children:o(h,{className:"h-4 w-4"})}))]})):s(t,{children:[o("h3",Object.assign({className:"font-bold text-lg truncate pr-2 flex-1 min-w-0 select-none"},{children:Z})),s("div",Object.assign({className:"flex items-center gap-1 shrink-0"},{children:[o("button",Object.assign({onClick:e=>{e.stopPropagation(),X(!W)},className:"p-1 rounded-full transition-colors hover:bg-black/10",title:W?(null==D?void 0:D.collapse)||"Collapse":(null==D?void 0:D.expand)||"Expand"},{children:o(W?w:j,{className:"h-4 w-4"})})),s("div",Object.assign({className:"relative"},{children:[o("button",Object.assign({onClick:e=>{e.stopPropagation(),L(!z)},className:"p-1 rounded-full transition-colors hover:bg-black/10"},{children:o(b,{className:"h-6 w-6"})})),z&&s("div",Object.assign({ref:Y,className:"absolute right-0 top-8 w-48 rounded-xl shadow-xl z-40 border overflow-hidden animate-in fade-in zoom-in-95 duration-100",style:{backgroundColor:R.secondary,color:R.secondaryText,borderColor:R.primary}},{children:[s("button",Object.assign({onClick:e=>{e.stopPropagation(),oe(Z),K(!0),L(!1)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95 border-b",style:{borderBottomColor:R.primary}},{children:[o(g,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:(null==D?void 0:D["rename-chat"])||"Rename chat"}))]})),s("button",Object.assign({onClick:s=>{s.stopPropagation(),e(void 0,void 0,void 0,(function*(){if(window.confirm((null==D?void 0:D["delete-confirm"])||"Are you sure you want to delete this conversation?")){L(!1);try{yield p.post("/delete_pickaxe_conversation",{sessionId:_.sessionId,userId:M}),I&&I(_.sessionId)}catch(e){console.error("Error deleting conversation:",e),alert((null==D?void 0:D["failed-delete-conversation"])||"Failed to delete conversation.")}}}))},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95"},{children:[o(v,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:(null==D?void 0:D["delete-chat"])||"Delete chat"}))]}))]}))]}))]}))]})})),s("div",Object.assign({className:O("px-4 py-5 flex flex-col justify-between transition-all duration-200 ease-in-out",W?"h-auto min-h-[130px]":"h-[130px]"),style:{backgroundColor:R.secondary,color:R.secondaryText}},{children:[s("div",Object.assign({className:"flex flex-col"},{children:[o("div",Object.assign({className:O("w-full",W?"mb-0":"mb-2")},{children:o(k,Object.assign({theme:E.theme,colors:R},T&&{rtl:!0},F&&{disableHtml:!0},S&&{disableJs:!0},q&&{disableCss:!0},{children:o(N,{style:{display:"block"},className:O("w-full",!W&&["[&_*]:!font-semibold mb-0.5 h-5 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],W&&"[&_*]:!text-sm [&_*]:!font-semibold mb-0.5 [&_p]:!m-0"),value:ae})}))})),o("div",Object.assign({className:"w-full"},{children:o(k,Object.assign({theme:E.theme,colors:R},T&&{rtl:!0},F&&{disableHtml:!0},S&&{disableJs:!0},q&&{disableCss:!0},{children:o(N,{style:{display:"block"},className:O("w-full text-sm",!W&&["font-normal h-5 opacity-80 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],W&&"font-normal opacity-90 mt-2 border-t pt-2 border-dashed"),value:re,suppressedRichPreviewUrls:le})}))}))]})),s("div",Object.assign({className:"flex items-center justify-between mt-4 pt-2 border-t border-transparent"},{children:[s("div",Object.assign({className:"flex items-center gap-4"},{children:[((null==P?void 0:P.chatflag)||!(null==P?void 0:P.chatflag)&&(null==P?void 0:P.enablechatresponses))&&s("div",Object.assign({className:"flex items-center gap-1.5 opacity-70 hover:opacity-100 cursor-pointer transition-opacity",onClick:e=>{var s;e.stopPropagation(),s=_.sessionId,J([]),H([]),A(!1),$(s)},title:(null==D?void 0:D["open-chat"])||"Open Chat"},{children:[o(f,{className:"h-4 w-4"}),o("span",Object.assign({className:"text-sm font-medium"},{children:te}))]})),o("button",Object.assign({className:"transition-colors "+(Q?"opacity-100":"opacity-70 hover:opacity-100"),onClick:e=>{e.stopPropagation(),navigator.clipboard.writeText(re),V(!0),setTimeout((()=>{V(!1)}),2e3)},title:Q?(null==D?void 0:D.copied)||"Copied!":(null==D?void 0:D["copy-assistant-message"])||"Copy assistant message"},{children:Q?o(x,{className:"h-4 w-4",style:{color:R.accent},fill:R.accent}):o(y,{className:"h-4 w-4"})}))]})),o("span",Object.assign({className:"text-xs font-semibold uppercase opacity-30 whitespace-nowrap"},{children:ne}))]}))]}))]}))};export{_ as default};
1
+ import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as s,jsx as t,Fragment as o}from"react/jsx-runtime";import{useState as n,useRef as a,useEffect as i,useMemo as r}from"react";import{usePickaxeContext as l}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as c}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{format as m}from"date-fns";import{pickaxeApi2 as p}from"../../../../common/api/pickaxe.js";import{Check as u,X as h,MoreHorizontal as b,Pencil as g}from"lucide-react";import v from"../../../Icons/trash-2.svg.js";import f from"../../../Icons/chat.svg.js";import y from"../../../Icons/copy.svg.js";import x from"../../../Icons/copied.svg.js";import j from"../../../Icons/expand.svg.js";import w from"../../../Icons/collapse.svg.js";import{PickaxeMarkdown as k}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as N}from"../../common/PickaxeMarkdown/Renderer.js";import{getSuppressedRichPreviewUrls as C}from"../../common/PickaxeMessageParts/index.js";import O from"../../../../common/cn.js";const _=({item:_,onDelete:I})=>{const{pickaxe:P,sender:M,colors:R,translations:D,styles:E,isRtl:T,disableCss:q,disableHtml:F,disableJs:S,setSessionId:$,setIsNewChat:A}=l(),{setMessages:H}=c(),{setDocuments:J}=d(),[z,L]=n(!1),[B,K]=n(!1),[U,G]=n(!1),[Q,V]=n(!1),[W,X]=n(!1),Y=a(null),[Z,ee]=n(_.shortSummary||_.summary||(null==D?void 0:D["conversation-name"])||"Conversation name"),[se,te]=n("");i((()=>{ee(_.shortSummary||_.summary||(null==D?void 0:D["conversation-name"])||"Conversation name")}),[_.shortSummary,_.summary,D]),i((()=>{const e=e=>{Y.current&&!Y.current.contains(e.target)&&L(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const oe=r((()=>_?"FORM"===_.pickaxeType&&0===_.messages.length?_.question.responseParts?_.question.responseParts.length:0:_.messages.length:0),[_]),ne=r((()=>m(new Date(_.updatedAt),"MMM dd, yyy hh:mm a")),[_]),ae=r((()=>{var e;const s=(null==D?void 0:D["not-available"])||"n/a";if("FORM"===_.pickaxeType){if(_.messages&&0!==_.messages.length){const e=_.messages.find((e=>"user"===e.role));return e?e.parts[0].content:""}const t=null!==(e=_.question.inputs)&&void 0!==e?e:[];return W?t.map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 600; opacity: 0.9;">${e.question}</p>\n <p style="opacity: 0.8;">${e.answer||s}</p>\n</div>`)).join(""):t.map((e=>`${e.question}: ${e.answer||s}`)).join(" | ")}const t=_.messages.find((e=>"user"===e.role));return t?t.parts[0].content:""}),[_,W,D]),ie=r((()=>{var e,s,t,o;return"FORM"===_.pickaxeType?_.messages&&0!==_.messages.length?null!==(s=null===(e=_.messages.find((e=>"assistant"===e.role)))||void 0===e?void 0:e.parts)&&void 0!==s?s:[]:_.question.responseParts:null!==(o=null===(t=_.messages.find((e=>"assistant"===e.role)))||void 0===t?void 0:t.parts)&&void 0!==o?o:[]}),[_]),re=r((()=>ie.filter((e=>"text"===e.type)).map((e=>e.content)).join(" ")),[ie]),le=r((()=>C(ie)),[ie]),ce=()=>{K(!1),te("")},de=()=>e(void 0,void 0,void 0,(function*(){if(se.trim()){G(!0);try{yield p.patch("/conversation/title",{sessionId:_.sessionId,name:se,userId:M}),ee(se),K(!1)}catch(e){console.error("Error updating conversation name:",e),alert((null==D?void 0:D["failed-update-name"])||"Failed to update name.")}finally{G(!1)}}}));return s("div",Object.assign({className:"flex flex-col overflow-hidden transition duration-300 hover:shadow w-full shrink-0 border",style:{borderColor:R.secondary,borderRadius:E.cornerRadius}},{children:[t("div",Object.assign({className:"flex items-center justify-between px-4 py-3 h-[44px]",style:{backgroundColor:R.primary,color:R.text}},{children:B?s("div",Object.assign({className:"flex items-center w-full gap-2",onClick:e=>e.stopPropagation()},{children:[t("input",{autoFocus:!0,type:"text",value:se,onChange:e=>te(e.target.value),onKeyDown:e=>{"Enter"===e.key&&de(),"Escape"===e.key&&ce()},className:"flex-1 text-inherit px-2 py-1 rounded border focus:outline-none focus:ring-0 text-sm",style:{backgroundColor:R.primary,borderColor:R.secondary}}),t("button",Object.assign({onClick:de,disabled:U,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==D?void 0:D.save)||"Save"},{children:t(u,{className:"h-4 w-4"})})),t("button",Object.assign({onClick:ce,disabled:U,className:"p-1 rounded hover:bg-black/20 transition-colors",title:(null==D?void 0:D.cancel)||"Cancel"},{children:t(h,{className:"h-4 w-4"})}))]})):s(o,{children:[t("h3",Object.assign({className:"font-bold text-lg truncate pr-2 flex-1 min-w-0 select-none"},{children:Z})),s("div",Object.assign({className:"flex items-center gap-1 shrink-0"},{children:[t("button",Object.assign({onClick:e=>{e.stopPropagation(),X(!W)},className:"p-1 rounded-full transition-colors hover:bg-black/10",title:W?(null==D?void 0:D.collapse)||"Collapse":(null==D?void 0:D.expand)||"Expand"},{children:t(W?w:j,{className:"h-4 w-4"})})),s("div",Object.assign({className:"relative"},{children:[t("button",Object.assign({onClick:e=>{e.stopPropagation(),L(!z)},className:"p-1 rounded-full transition-colors hover:bg-black/10"},{children:t(b,{className:"h-6 w-6"})})),z&&s("div",Object.assign({ref:Y,className:"absolute right-0 top-8 w-48 rounded-xl shadow-xl z-40 border overflow-hidden animate-in fade-in zoom-in-95 duration-100",style:{backgroundColor:R.secondary,color:R.secondaryText,borderColor:R.primary}},{children:[s("button",Object.assign({onClick:e=>{e.stopPropagation(),te(Z),K(!0),L(!1)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95 border-b",style:{borderBottomColor:R.primary}},{children:[t(g,{className:"h-4 w-4"}),t("span",Object.assign({className:"font-medium text-sm"},{children:(null==D?void 0:D["rename-chat"])||"Rename chat"}))]})),s("button",Object.assign({onClick:s=>{s.stopPropagation(),e(void 0,void 0,void 0,(function*(){if(window.confirm((null==D?void 0:D["delete-confirm"])||"Are you sure you want to delete this conversation?")){L(!1);try{yield p.delete("/conversation",{data:{sessionId:_.sessionId,userId:M}}),I&&I(_.sessionId)}catch(e){console.error("Error deleting conversation:",e),alert((null==D?void 0:D["failed-delete-conversation"])||"Failed to delete conversation.")}}}))},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-all hover:brightness-95"},{children:[t(v,{className:"h-4 w-4"}),t("span",Object.assign({className:"font-medium text-sm"},{children:(null==D?void 0:D["delete-chat"])||"Delete chat"}))]}))]}))]}))]}))]})})),s("div",Object.assign({className:O("px-4 py-5 flex flex-col justify-between transition-all duration-200 ease-in-out",W?"h-auto min-h-[130px]":"h-[130px]"),style:{backgroundColor:R.secondary,color:R.secondaryText}},{children:[s("div",Object.assign({className:"flex flex-col"},{children:[t("div",Object.assign({className:O("w-full",W?"mb-0":"mb-2")},{children:t(k,Object.assign({theme:E.theme,colors:R},T&&{rtl:!0},F&&{disableHtml:!0},S&&{disableJs:!0},q&&{disableCss:!0},{children:t(N,{style:{display:"block"},className:O("w-full",!W&&["[&_*]:!font-semibold mb-0.5 h-5 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],W&&"[&_*]:!text-sm [&_*]:!font-semibold mb-0.5 [&_p]:!m-0"),value:ae})}))})),t("div",Object.assign({className:"w-full"},{children:t(k,Object.assign({theme:E.theme,colors:R},T&&{rtl:!0},F&&{disableHtml:!0},S&&{disableJs:!0},q&&{disableCss:!0},{children:t(N,{style:{display:"block"},className:O("w-full text-sm",!W&&["font-normal h-5 opacity-80 truncate [&_p]:inline [&_p]:m-0","[&_*]:!inline","[&_*]:!m-0 [&_*]:!p-0","[&_*]:!text-sm","[&_*]:!leading-none","[&_img]:hidden [&_hr]:hidden [&_br]:hidden"],W&&"font-normal opacity-90 mt-2 border-t pt-2 border-dashed"),value:re,suppressedRichPreviewUrls:le})}))}))]})),s("div",Object.assign({className:"flex items-center justify-between mt-4 pt-2 border-t border-transparent"},{children:[s("div",Object.assign({className:"flex items-center gap-4"},{children:[((null==P?void 0:P.chatflag)||!(null==P?void 0:P.chatflag)&&(null==P?void 0:P.enablechatresponses))&&s("div",Object.assign({className:"flex items-center gap-1.5 opacity-70 hover:opacity-100 cursor-pointer transition-opacity",onClick:e=>{var s;e.stopPropagation(),s=_.sessionId,J([]),H([]),A(!1),$(s)},title:(null==D?void 0:D["open-chat"])||"Open Chat"},{children:[t(f,{className:"h-4 w-4"}),t("span",Object.assign({className:"text-sm font-medium"},{children:oe}))]})),t("button",Object.assign({className:"transition-colors "+(Q?"opacity-100":"opacity-70 hover:opacity-100"),onClick:e=>{e.stopPropagation(),navigator.clipboard.writeText(re),V(!0),setTimeout((()=>{V(!1)}),2e3)},title:Q?(null==D?void 0:D.copied)||"Copied!":(null==D?void 0:D["copy-assistant-message"])||"Copy assistant message"},{children:Q?t(x,{className:"h-4 w-4",style:{color:R.accent},fill:R.accent}):t(y,{className:"h-4 w-4"})}))]})),t("span",Object.assign({className:"text-xs font-semibold uppercase opacity-30 whitespace-nowrap"},{children:ne}))]}))]}))]}))};export{_ as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as s,useMemo as i,useState as n}from"react";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as o}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as c}from"../../../../hooks/studio/useStyleFontSize.js";import a from"../../../Icons/check.svg.js";import l from"./Dropdown.js";import d from"../../../../common/cn.js";const p=({field:p,update:u})=>{const{colors:m,isRtl:b,translations:f}=r(),{setError:h}=o(),g=c(),j=s(null),x=i((()=>p.example.split("S3P32X")),[p.example]),y=i((()=>p.input?p.input.split("&#44;"):[]),[p.input]),[O,v]=n((()=>{const e=x.includes(p.input);return p.allowOther&&p.input&&!e?p.input:""}));return e("div",Object.assign({className:"flex flex-col gap-y-3",dir:b?"rtl":"ltr"},{children:[e("div",Object.assign({className:"flex items-center gap-1"},{children:[t("p",Object.assign({className:d(g.b3,"font-semibold opacity-70")},{children:p.main})),p.isRequired&&t("span",Object.assign({className:"select-none font-semibold",style:{color:m.error}},{children:"*"}))]})),t(l,Object.assign({id:p.id.replace(/[^A-Za-z]+/g,""),value:p.input.replace(/&#44;/g,", "),placeholder:(null==f?void 0:f["select-options"])||"Select option(s)",closeOnSelect:!1,maxToken:p.maxLength,isDropdown:p.isDropdown},{children:e("div",Object.assign({className:"flex flex-col items-start gap-y-3"},{children:[x.map(((s,i)=>e("div",Object.assign({className:"flex items-center gap-x-3 hover:cursor-pointer",onClick:()=>(e=>{h("");const t=y.includes(e),s=p.input?p.input.split("&#44;"):[],i=new Set(s);t&&i.has(e)?i.delete(e):t||i.has(e)||i.add(e);const n=Array.from(i).filter((e=>""!==e.trim()));u(Object.assign(Object.assign({},p),{input:n.join("&#44;")}))})(s)},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center border-2 rounded-sm transition-colors ease-in-out duration-200",style:Object.assign({borderColor:y.includes(s)?m.accent:m.accent+"80"},y.includes(s)&&{backgroundColor:m.accent})},{children:t(a,{className:d("h-3 w-3 shrink-0 transition-opacity opacity-0 ease-in-out duration-200",y.includes(s)&&"opacity-100"),style:{color:m.accentText}})})),t("p",Object.assign({className:d(g.b2,"select-none")},{children:s}))]}),i))),p.allowOther&&e("div",Object.assign({className:"flex w-full items-center gap-x-3 hover:cursor-pointer",onClick:()=>{h("");const e=y.includes(O.trim()),t=p.input?p.input.split("&#44;"):[],s=Array.from(new Set(t)).filter((e=>""!==e.trim()&&x.includes(e)));e||s.push(O.trim()),u(Object.assign(Object.assign({},p),{input:s.join("&#44;")})),setTimeout((()=>{var e;return null===(e=j.current)||void 0===e?void 0:e.focus()}),0)}},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center border-2 rounded-sm transition-colors ease-in-out duration-200",style:Object.assign({borderColor:y.includes(O)?m.accent:m.accent+"80"},y.includes(O)&&{backgroundColor:m.accent})},{children:t(a,{className:d("h-3 w-3 shrink-0 transition-opacity opacity-0 ease-in-out duration-200",y.includes(O)&&"opacity-100"),style:{color:m.accentText}})})),e("div",Object.assign({className:"flex flex-1 items-center gap-2"},{children:[e("p",Object.assign({className:d(g.b2,"select-none opacity-80 min-w-fit")},{children:[(null==f?void 0:f.other)||"Other",":"]})),t("input",{ref:j,type:"text",className:d(g.b2,"flex-1 bg-transparent border-b outline-none w-full pb-0.5 transition-colors duration-200","cursor-text"),style:{borderColor:y.includes(O)?m.accent:"rgba(0,0,0,0.2)"},value:O,onChange:e=>(e=>{h(""),v(e);const t=y.includes(e.trim()),s=p.input?p.input.split("&#44;"):[],i=new Set(s.filter((e=>x.includes(e))));t?i.delete(e.trim()):i.add(e.trim());const n=Array.from(i).filter((e=>""!==e.trim()));u(Object.assign(Object.assign({},p),{input:n.join("&#44;")}))})(e.target.value),placeholder:(null==f?void 0:f["type-your-answer"])||"Type your answer..."})]}))]}))]}))}))]}))};export{p as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as s,useMemo as i,useState as n}from"react";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as o}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as c}from"../../../../hooks/studio/useStyleFontSize.js";import a from"../../../Icons/check.svg.js";import l,{getDropdownMenuId as d}from"./Dropdown.js";import p from"../../../../common/cn.js";const u=({field:u,update:m})=>{const{colors:b,isRtl:f,translations:h}=r(),{setError:g}=o(),j=c(),x=s(null),y=i((()=>u.example.split("S3P32X")),[u.example]),O=i((()=>u.input?u.input.split("&#44;"):[]),[u.input]),[w,v]=n((()=>{const e=y.includes(u.input);return u.allowOther&&u.input&&!e?u.input:""}));return e("div",Object.assign({className:"flex flex-col gap-y-3",dir:f?"rtl":"ltr"},{children:[e("div",Object.assign({className:"flex items-center gap-1"},{children:[t("p",Object.assign({className:p(j.b3,"font-semibold opacity-70")},{children:u.main})),u.isRequired&&t("span",Object.assign({className:"select-none font-semibold",style:{color:b.error}},{children:"*"}))]})),t(l,Object.assign({id:d(u.id),value:u.input.replace(/&#44;/g,", "),placeholder:(null==h?void 0:h["select-options"])||"Select option(s)",closeOnSelect:!1,maxToken:u.maxLength,isDropdown:u.isDropdown},{children:e("div",Object.assign({className:"flex flex-col items-start gap-y-3"},{children:[y.map(((s,i)=>e("div",Object.assign({className:"flex min-w-0 items-center gap-x-3 hover:cursor-pointer",onClick:()=>(e=>{g("");const t=O.includes(e),s=u.input?u.input.split("&#44;"):[],i=new Set(s);t&&i.has(e)?i.delete(e):t||i.has(e)||i.add(e);const n=Array.from(i).filter((e=>""!==e.trim()));m(Object.assign(Object.assign({},u),{input:n.join("&#44;")}))})(s)},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center border-2 rounded-sm transition-colors ease-in-out duration-200",style:Object.assign({borderColor:O.includes(s)?b.accent:b.accent+"80"},O.includes(s)&&{backgroundColor:b.accent})},{children:t(a,{className:p("h-3 w-3 shrink-0 transition-opacity opacity-0 ease-in-out duration-200",O.includes(s)&&"opacity-100"),style:{color:b.accentText}})})),t("p",Object.assign({className:p(j.b2,"min-w-0 select-none break-words"),style:{overflowWrap:"anywhere"}},{children:s}))]}),i))),u.allowOther&&e("div",Object.assign({className:"flex w-full items-center gap-x-3 hover:cursor-pointer",onClick:()=>{g("");const e=O.includes(w.trim()),t=u.input?u.input.split("&#44;"):[],s=Array.from(new Set(t)).filter((e=>""!==e.trim()&&y.includes(e)));e||s.push(w.trim()),m(Object.assign(Object.assign({},u),{input:s.join("&#44;")})),setTimeout((()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.focus()}),0)}},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center border-2 rounded-sm transition-colors ease-in-out duration-200",style:Object.assign({borderColor:O.includes(w)?b.accent:b.accent+"80"},O.includes(w)&&{backgroundColor:b.accent})},{children:t(a,{className:p("h-3 w-3 shrink-0 transition-opacity opacity-0 ease-in-out duration-200",O.includes(w)&&"opacity-100"),style:{color:b.accentText}})})),e("div",Object.assign({className:"flex flex-1 items-center gap-2"},{children:[e("p",Object.assign({className:p(j.b2,"select-none opacity-80 min-w-fit")},{children:[(null==h?void 0:h.other)||"Other",":"]})),t("input",{ref:x,type:"text",className:p(j.b2,"flex-1 bg-transparent border-b outline-none w-full pb-0.5 transition-colors duration-200","cursor-text"),style:{borderColor:O.includes(w)?b.accent:"rgba(0,0,0,0.2)"},value:w,onChange:e=>(e=>{g(""),v(e);const t=O.includes(e.trim()),s=u.input?u.input.split("&#44;"):[],i=new Set(s.filter((e=>y.includes(e))));t?i.delete(e.trim()):i.add(e.trim());const n=Array.from(i).filter((e=>""!==e.trim()));m(Object.assign(Object.assign({},u),{input:n.join("&#44;")}))})(e.target.value),placeholder:(null==h?void 0:h["type-your-answer"])||"Type your answer..."})]}))]}))]}))}))]}))};export{u as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleInput as r}from"../../../../hooks/studio/useStyleInput.js";import t from"../../../Core/Menu/index.js";import n from"../../../Core/Menu/Button.js";import a from"../../../Core/Menu/List.js";import i from"../../../../common/cn.js";const c=({id:c,children:l,placeholder:d,value:m,className:p,style:u,closeOnSelect:b=!0,maxToken:j=50,isDropdown:f=!1})=>{const{styles:x,colors:h}=o(),g=r();return f?s(t,Object.assign({id:c,closeOnSelect:b,className:"relative"},{children:[e(n,Object.assign({variant:"anchor",className:i("flex items-center justify-between rounded-sm border border-transparent py-3 pl-4 pr-3 shadow duration-300",p,j<=50&&"max-w-[400px]"),style:Object.assign(Object.assign({},g),u)},{children:e("p",Object.assign({className:"line-clamp-1 select-none"},{children:(null!=m?m:"")||d}))})),e(a,Object.assign({className:"p-3 shadow-md",border:"#ffffff"===h.secondaryText.toLowerCase()?"1px solid rgba(255,255,255,0.7)":"1px solid rgba(0,0,0,0.7)",align:"bottom-end",width:j<=50?"400px":"100%",maxHeight:"200px",style:Object.assign(Object.assign(Object.assign({},g),{borderRadius:x.cornerRadius}),u)},{children:l}))]})):e("div",{children:l})};export{c as default};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleInput as s}from"../../../../hooks/studio/useStyleInput.js";import t from"../../../Core/Menu/index.js";import n from"../../../Core/Menu/Button.js";import a from"../../../Core/Menu/List.js";import i from"../../../../common/cn.js";const c=e=>{const r=e.trim().replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");let o=0;for(let r=0;r<e.length;r+=1)o=31*o+e.charCodeAt(r)>>>0;return`pxe-dropdown-${r||"field"}-${o.toString(36)}`},l=({id:c,children:l,placeholder:d,value:m,className:p,style:u,closeOnSelect:b=!0,maxToken:g=50,isDropdown:f=!1})=>{const{styles:j,colors:x}=o(),h=s(),O=Object.assign(Object.assign(Object.assign({},h),{borderRadius:j.cornerRadius}),u);return O.backgroundColor&&"transparent"!==O.backgroundColor||(O.backgroundColor=x.primary),f?r(t,Object.assign({id:c,closeOnSelect:b,className:"relative"},{children:[e(n,Object.assign({variant:"anchor",className:i("flex items-center justify-between rounded-sm border border-transparent py-3 pl-4 pr-3 shadow duration-300",p,g<=50&&"max-w-[400px]"),style:Object.assign(Object.assign({},h),u)},{children:e("p",Object.assign({className:"line-clamp-1 select-none"},{children:(null!=m?m:"")||d}))})),e(a,Object.assign({className:"p-3 shadow-md",border:"#ffffff"===x.secondaryText.toLowerCase()?"1px solid rgba(255,255,255,0.7)":"1px solid rgba(0,0,0,0.7)",align:"bottom-end",width:g<=50?"400px":"100%",maxHeight:"200px",style:O},{children:l}))]})):e("div",{children:l})};export{l as default,c as getDropdownMenuId};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as s}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as i}from"../../../../hooks/studio/useStyleFontSize.js";import{useRef as o,useMemo as r,useState as a}from"react";import c from"./Dropdown.js";import l from"../../../../common/cn.js";const p=({field:p,update:u})=>{const{colors:d,isRtl:m,translations:b}=n(),{setError:g}=s(),h=i(),f=o(null),x=r((()=>p.example.split("S3P32X")),[p.example]),[j,O]=a((()=>{const e=x.includes(p.input);return p.allowOther&&p.input&&!e?p.input:""})),y=r((()=>!!p.allowOther&&(!x.includes(p.input)&&""!==p.input)),[p.allowOther,p.input,x]);return e("div",Object.assign({className:"flex flex-col gap-y-3",dir:m?"rtl":"ltr"},{children:[e("div",Object.assign({className:"flex items-center gap-1"},{children:[t("p",Object.assign({className:l(h.b3,"font-semibold opacity-70")},{children:p.main})),p.isRequired&&t("span",Object.assign({className:"select-none font-semibold",style:{color:d.error}},{children:"*"}))]})),t(c,Object.assign({id:p.id.replace(/[^A-Za-z]+/g,""),value:p.input,placeholder:(null==b?void 0:b["select-an-option"])||"Select an option",closeOnSelect:!1,maxToken:p.maxLength,isDropdown:p.isDropdown},{children:e("div",Object.assign({className:"flex flex-col items-start gap-y-3"},{children:[x.map(((n,s)=>e("div",Object.assign({className:"flex items-center gap-x-3 hover:cursor-pointer",onClick:()=>(e=>{g(""),u(Object.assign(Object.assign({},p),{input:e}))})(n)},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center rounded-full border-2",style:Object.assign({borderColor:p.input===n?d.accent:d.accent+"80"},p.input===n&&{backgroundColor:d.accent})},{children:t("div",{className:l("h-2 w-2 shrink-0 transition-opacity opacity-0 ease-in-out duration-200 rounded-full",p.input===n&&"opacity-100"),style:{backgroundColor:d.accentText}})})),t("p",Object.assign({className:l(h.b2,"select-none")},{children:n}))]}),s))),p.allowOther&&e("div",Object.assign({className:"flex w-full items-center gap-x-3 hover:cursor-pointer",onClick:()=>{g(""),u(Object.assign(Object.assign({},p),{input:j})),setTimeout((()=>{var e;return null===(e=f.current)||void 0===e?void 0:e.focus()}),0)}},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center rounded-full border-2",style:Object.assign({borderColor:y?d.accent:d.accent+"80"},y&&{backgroundColor:d.accent})},{children:t("div",{className:l("h-2 w-2 shrink-0 transition-opacity opacity-0 ease-in-out duration-200 rounded-full",y&&"opacity-100"),style:{backgroundColor:d.accentText}})})),e("div",Object.assign({className:"flex flex-1 items-center gap-2"},{children:[e("p",Object.assign({className:l(h.b2,"select-none opacity-80 min-w-fit")},{children:[(null==b?void 0:b.other)||"Other",":"]})),t("input",{ref:f,type:"text",className:l(h.b2,"flex-1 bg-transparent border-b outline-none w-full pb-0.5 transition-colors duration-200","cursor-text"),style:{borderColor:y?d.accent:"rgba(0,0,0,0.2)"},value:j,onChange:e=>{return t=e.target.value,g(""),O(t),void u(Object.assign(Object.assign({},p),{input:t}));var t},onFocus:()=>{y||u(Object.assign(Object.assign({},p),{input:j}))},placeholder:(null==b?void 0:b["type-your-answer"])||"Type your answer..."})]}))]}))]}))}))]}))};export{p as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as s}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as i}from"../../../../hooks/studio/useStyleFontSize.js";import{useRef as o,useMemo as r,useState as a}from"react";import c,{getDropdownMenuId as l}from"./Dropdown.js";import d from"../../../../common/cn.js";const p=({field:p,update:u})=>{const{colors:m,isRtl:b,translations:g}=n(),{setError:h}=s(),f=i(),x=o(null),j=r((()=>p.example.split("S3P32X")),[p.example]),[O,y]=a((()=>{const e=j.includes(p.input);return p.allowOther&&p.input&&!e?p.input:""})),v=r((()=>!!p.allowOther&&(!j.includes(p.input)&&""!==p.input)),[p.allowOther,p.input,j]);return e("div",Object.assign({className:"flex flex-col gap-y-3",dir:b?"rtl":"ltr"},{children:[e("div",Object.assign({className:"flex items-center gap-1"},{children:[t("p",Object.assign({className:d(f.b3,"font-semibold opacity-70")},{children:p.main})),p.isRequired&&t("span",Object.assign({className:"select-none font-semibold",style:{color:m.error}},{children:"*"}))]})),t(c,Object.assign({id:l(p.id),value:p.input,placeholder:(null==g?void 0:g["select-an-option"])||"Select an option",closeOnSelect:!1,maxToken:p.maxLength,isDropdown:p.isDropdown},{children:e("div",Object.assign({className:"flex flex-col items-start gap-y-3"},{children:[j.map(((n,s)=>e("div",Object.assign({className:"flex min-w-0 items-center gap-x-3 hover:cursor-pointer",onClick:()=>(e=>{h(""),u(Object.assign(Object.assign({},p),{input:e}))})(n)},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center rounded-full border-2",style:Object.assign({borderColor:p.input===n?m.accent:m.accent+"80"},p.input===n&&{backgroundColor:m.accent})},{children:t("div",{className:d("h-2 w-2 shrink-0 transition-opacity opacity-0 ease-in-out duration-200 rounded-full",p.input===n&&"opacity-100"),style:{backgroundColor:m.accentText}})})),t("p",Object.assign({className:d(f.b2,"min-w-0 select-none break-words"),style:{overflowWrap:"anywhere"}},{children:n}))]}),s))),p.allowOther&&e("div",Object.assign({className:"flex w-full items-center gap-x-3 hover:cursor-pointer",onClick:()=>{h(""),u(Object.assign(Object.assign({},p),{input:O})),setTimeout((()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.focus()}),0)}},{children:[t("div",Object.assign({className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center rounded-full border-2",style:Object.assign({borderColor:v?m.accent:m.accent+"80"},v&&{backgroundColor:m.accent})},{children:t("div",{className:d("h-2 w-2 shrink-0 transition-opacity opacity-0 ease-in-out duration-200 rounded-full",v&&"opacity-100"),style:{backgroundColor:m.accentText}})})),e("div",Object.assign({className:"flex flex-1 items-center gap-2"},{children:[e("p",Object.assign({className:d(f.b2,"select-none opacity-80 min-w-fit")},{children:[(null==g?void 0:g.other)||"Other",":"]})),t("input",{ref:x,type:"text",className:d(f.b2,"flex-1 bg-transparent border-b outline-none w-full pb-0.5 transition-colors duration-200","cursor-text"),style:{borderColor:v?m.accent:"rgba(0,0,0,0.2)"},value:O,onChange:e=>{return t=e.target.value,h(""),y(t),void u(Object.assign(Object.assign({},p),{input:t}));var t},onFocus:()=>{v||u(Object.assign(Object.assign({},p),{input:O}))},placeholder:(null==g?void 0:g["type-your-answer"])||"Type your answer..."})]}))]}))]}))}))]}))};export{p as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as t,jsx as s}from"react/jsx-runtime";import{useState as n,useRef as i,useMemo as o}from"react";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as a}from"../../Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as l}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as c}from"../../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as u}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{extractUrlsFromText as p,initializeEmbedUserId as m}from"../../../../common/utils.js";import{encode as g}from"@nem035/gpt-3-encoder";import{createParser as f}from"eventsource-parser";import h from"../../common/PickaxeBranding.js";import v from"../../common/PickaxeButton.js";import b from"../../../../common/error.js";import{getValidationFailure as y}from"../../../../common/validation.js";const j=({questions:j,resetQuestions:O})=>{var x;const{origin:w,pickaxeId:I,sender:S,senderType:k,portalId:C,deploymentId:N,pickaxe:E,misc:P,translations:_,isRtl:A,setSessionId:T,setIsNewChat:U,setValidationStatus:D,setValidationUpgradeGroups:L,setValidationUpgradeUrl:q,onGenerateComplete:J}=r(),{token:B}=a(),{isGenerating:K,setResponse:R,setMessages:V,setStatus:W,setLimitData:X,setError:G,setIsSwitchedToChat:$}=l(),{documents:F,websiteLink:M,isUploading:Q,onWebsiteUpload:Y,setDocuments:z,setDocumentError:H}=d(),{scrollStartSession:Z,scrollEndSession:ee,scrollToTarget:te}=c({auto:!(null==E?void 0:E.enablechatresponses)}),{artifacts:se,currentPopupType:ne,setArtifacts:ie,setCurrentArtifact:oe}=u(),[re,ae]=n(!1),le=i(null),de=e=>{const t=y(e);return!!t&&(G(""),X(null),D(t.status),L(t.upgradeGroups),q(t.upgradeUrl),!0)},ce=o((()=>j.some((e=>("Short Answer"===e.type||"Long Answer"===e.type||"long"===e.type||"short"===e.type||"Checkbox"===e.type||"Knowledge Upload"===e.type||e.id.includes("documentupload"))&&e.input.length>0))),[j]);return t("div",Object.assign({className:"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:A?"rtl":"ltr"},{children:[t("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[s(v,Object.assign({className:"px-5 min-h-[42px]",isDisabled:Q||K||re,onClick:()=>e(void 0,void 0,void 0,(function*(){var e,t,s;try{if(K||Q||re)return;G(""),H(""),X(null),R(null);const n=["Multiple Choice","Checkbox"];for(const e of j){if(g(e.input).length>e.maxLength&&!n.includes(e.type))throw new Error((null==_?void 0:_["response-too-long"])||"One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error((null==_?void 0:_["required-fields-missing"])||"You must fill out all required fields.")}const i=F.filter((e=>"finished"===e.status)),o=F.map((e=>e.name)),r=null!==(t=null===(e=null==E?void 0:E.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==t&&t,a=j.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),l=p(M).filter((e=>!o.includes(e)));if(l.length){const e=l[l.length-1];ae(!0);const t=yield Y(e);t&&(i.push(t),yield new Promise((e=>setTimeout(e,5e3)))),ae(!1)}else if(a&&r&&!i.length)return void H((null==_?void 0:_["document-upload-required"])||"Please paste a valid website/video link or drag a file to add to the knowledge base.");const d=i.map((e=>e.documentId||"")).filter(Boolean),c=r&&d.length>0,u={};j.forEach((e=>{u[e.id]="Knowledge Upload"===e.type||e.id.includes("documentupload")?i.map((e=>e.name)).join(",")||"":e.input})),W("fetching"),Z(),te();const h=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,{method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},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()}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:w,pickaxeId:I,senderType:k,valueObj:u},c&&{documentIds:d}),S&&{sender:S}),B&&{studioSessionToken:B}),!B&&!S&&{sender:m()}),C&&{portalId:C}),N&&{deploymentId:N}))}),v=yield h.json();if(!v.success){if(de(v))return;const e=new Error(v.error||v.message||(null==_?void 0:_["failed-to-start-generation"])||"Failed to start generation");throw v.limitData&&(e.limitData=v.limitData),e}if(!v.submissionId||!v.sessionId)throw new Error((null==_?void 0:_["failed-to-start-generation"])||"Failed to start generation");const b=v.submissionId,y=v.sessionId,O={sessionId:y,documentIds:c?d:[],question:{inputs:j.map((e=>({id:e.id,question:e.main,answer:e.input}))),responseParts:[]},messageCount:0,sentAt:new Date};R(O),(null==E?void 0:E.enablechatresponses)&&(T(y),U(!1),$(!0),V([{id:0,role:"assistant",parts:[],documentIds:[]}])),c&&z([]),W("streaming"),le.current=new AbortController;const x=[];let P=[...null!=se?se:[]],A=0,D=!1,L="";for(;!D;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${b}?index=${A}`,{signal:null===(s=le.current)||void 0===s?void 0:s.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader(),n=new TextDecoder,i=f({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&A++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data),s=t.error||t.message||(null==_?void 0:_["something-went-wrong"])||"Something went wrong.";return de(t)||G(s),void(D=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("text-start"===n.type)L="",x.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)L+=n.delta,x[x.length-1].content=L;else if("text-end"===n.type)L="";else if("reasoning-start"===n.type)L="",x.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)L+=n.delta,x[x.length-1].content=L;else if("reasoning-end"===n.type)L="";else if(n.type.startsWith("data-")){const e=n;x.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}const i=Object.assign(Object.assign({},O),{question:Object.assign(Object.assign({},O.question),{responseParts:[...x]})});R(i),(null==E?void 0:E.enablechatresponses)&&V([{id:0,role:"assistant",parts:[...x],documentIds:[]}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);P=P.filter((e=>!(e.id===t.id&&e.version===t.version))),P.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ie([...P]),ne.startsWith("inline")||oe({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);P=P.filter((e=>!(e.id===t.id&&e.version===t.version))),P.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),ie([...P]),ne.startsWith("inline")||oe({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);P=P.filter((e=>!(e.id===t.id&&e.version===t.version))),P.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),ie([...P]),ne.startsWith("inline")||oe({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");P=P.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),ie([...P])}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);ie(P.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}}else D=!0}});for(;;){const{value:e,done:s}=yield t.read();if(s)break;i.feed(n.decode(e))}D||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if("AbortError"===e.name)return void(D=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==J||J(y)}catch(e){let t=b(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==_?void 0:_["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),de(t)||G(t),te()}finally{W("idle"),ae(!1),ee()}}))},{children:re?(null==_?void 0:_.processing)||"Processing...":Q?(null==_?void 0:_.uploading)||"Uploading...":K?(null==_?void 0:_.loading)||"Loading...":null!==(x=null==E?void 0:E.submittext)&&void 0!==x?x:"Submit"})),ce&&s(v,Object.assign({variant:"transparent-text",className:"min-h-[42px] px-5",isDisabled:Q||K||re,onClick:O},{children:(null==_?void 0:_["form.clear-form"])||(null==_?void 0:_["clear-form"])||"Clear form"}))]})),!P.isWhiteLabel&&s(h,{containerClassName:"justify-end"})]}))};export{j as default};
1
+ import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as t,jsx as s}from"react/jsx-runtime";import{useState as n,useRef as i,useMemo as o}from"react";import{usePickaxeContext as r}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as a}from"../../Addons/Auth/hooks/useAuthContext.js";import{useResponseContext as l}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDocument as d}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as c}from"../../Addons/Scroll/hooks/useScroll.js";import{useArtifactContext as u}from"../../Addons/Artifact/hooks/useArtifactContext.js";import{extractUrlsFromText as p,initializeEmbedUserId as m}from"../../../../common/utils.js";import{encode as f}from"@nem035/gpt-3-encoder";import{createParser as g}from"eventsource-parser";import v from"../../common/PickaxeBranding.js";import h from"../../common/PickaxeButton.js";import b from"../../../../common/error.js";import{getValidationFailure as y}from"../../../../common/validation.js";const j=({questions:j,resetQuestions:O})=>{var x;const{origin:w,pickaxeId:I,sender:S,senderType:k,portalId:C,deploymentId:E,pickaxe:N,misc:A,translations:P,isRtl:_,setSessionId:T,setIsNewChat:D,setValidationStatus:U,setValidationUpgradeGroups:L,setValidationUpgradeUrl:q,setAccessGroup:B,onGenerateComplete:J}=r(),{token:K}=a(),{isGenerating:R,setResponse:V,setMessages:W,setStatus:X,setLimitData:G,setError:$,setIsSwitchedToChat:F}=l(),{documents:M,websiteLink:Q,isUploading:Y,onWebsiteUpload:z,setDocuments:H,setDocumentError:Z}=d(),{scrollStartSession:ee,scrollEndSession:te,scrollToTarget:se}=c({auto:!(null==N?void 0:N.enablechatresponses)}),{artifacts:ne,currentPopupType:ie,setArtifacts:oe,setCurrentArtifact:re}=u(),[ae,le]=n(!1),de=i(null),ce=e=>{const t=y(e);return!!t&&($(""),G(null),U(t.status),B(t.accessGroup),L(t.upgradeGroups),q(t.upgradeUrl),!0)},ue=o((()=>j.some((e=>("Short Answer"===e.type||"Long Answer"===e.type||"long"===e.type||"short"===e.type||"Checkbox"===e.type||"Knowledge Upload"===e.type||e.id.includes("documentupload"))&&e.input.length>0))),[j]);return t("div",Object.assign({className:"mt-4 flex flex-wrap justify-between gap-4 items-center",dir:_?"rtl":"ltr"},{children:[t("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[s(h,Object.assign({className:"px-5 min-h-[42px]",isDisabled:Y||R||ae,onClick:()=>e(void 0,void 0,void 0,(function*(){var e,t,s;try{if(R||Y||ae)return;$(""),Z(""),G(null),V(null);const n=["Multiple Choice","Checkbox"];for(const e of j){if(f(e.input).length>e.maxLength&&!n.includes(e.type))throw new Error((null==P?void 0:P["response-too-long"])||"One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error((null==P?void 0:P["required-fields-missing"])||"You must fill out all required fields.")}const i=M.filter((e=>"finished"===e.status)),o=M.map((e=>e.name)),r=null!==(t=null===(e=null==N?void 0:N.documentuploadtype)||void 0===e?void 0:e.startsWith("enduserupload"))&&void 0!==t&&t,a=j.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),l=p(Q).filter((e=>!o.includes(e)));if(l.length){const e=l[l.length-1];le(!0);const t=yield z(e);t&&(i.push(t),yield new Promise((e=>setTimeout(e,5e3)))),le(!1)}else if(a&&r&&!i.length)return void Z((null==P?void 0:P["document-upload-required"])||"Please paste a valid website/video link or drag a file to add to the knowledge base.");const d=i.map((e=>e.documentId||"")).filter(Boolean),c=r&&d.length>0,u={};j.forEach((e=>{u[e.id]="Knowledge Upload"===e.type||e.id.includes("documentupload")?i.map((e=>e.name)).join(",")||"":e.input})),X("fetching"),ee(),se();const v=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/submit`,{method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},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()}),body:JSON.stringify(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({origin:w,pickaxeId:I,senderType:k,valueObj:u},c&&{documentIds:d}),S&&{sender:S}),K&&{studioSessionToken:K}),!K&&!S&&{sender:m()}),C&&{portalId:C}),E&&{deploymentId:E}))}),h=yield v.json();if(!h.success){const e=new Error(h.error||h.message||(null==P?void 0:P["failed-to-start-generation"])||"Failed to start generation");if(h.limitData)throw e.limitData=h.limitData,e;if(ce(h))return;throw e}if(!h.submissionId||!h.sessionId)throw new Error((null==P?void 0:P["failed-to-start-generation"])||"Failed to start generation");const b=h.submissionId,y=h.sessionId,O={sessionId:y,documentIds:c?d:[],question:{inputs:j.map((e=>({id:e.id,question:e.main,answer:e.input}))),responseParts:[]},messageCount:0,sentAt:new Date};V(O),(null==N?void 0:N.enablechatresponses)&&(T(y),D(!1),F(!0),W([{id:0,role:"assistant",parts:[],documentIds:[]}])),c&&H([]),X("streaming"),de.current=new AbortController;const x=[];let A=[...null!=ne?ne:[]],_=0,U=!1,L="";for(;!U;)try{const e=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API_URL}/stream/${b}?index=${_}`,{signal:null===(s=de.current)||void 0===s?void 0:s.signal,headers:{"Cache-Control":"no-cache",Connection:"keep-alive"}});if(!e.body)throw new Error("No response body");const t=e.body.getReader(),n=new TextDecoder,i=g({onEvent:e=>{var t,s;if(e.event&&"ping"!==e.event&&_++,"stop"!==e.event){if("error"===e.event){const t=JSON.parse(e.data);if(t.limitData)return G(t.limitData),$(""),void(U=!0);const s=t.error||t.message||(null==P?void 0:P["something-went-wrong"])||"Something went wrong.";return ce(t)||$(s),void(U=!0)}if("delta"===e.event){const n=JSON.parse(e.data);if("text-start"===n.type)L="",x.push({type:"text",content:"",isVisible:null===(t=n.isVisible)||void 0===t||t});else if("text-delta"===n.type)L+=n.delta,x[x.length-1].content=L;else if("text-end"===n.type)L="";else if("reasoning-start"===n.type)L="",x.push({type:"reasoning",content:"",isVisible:null===(s=n.isVisible)||void 0===s||s});else if("reasoning-delta"===n.type)L+=n.delta,x[x.length-1].content=L;else if("reasoning-end"===n.type)L="";else if(n.type.startsWith("data-")){const e=n;x.push({type:e.type,content:JSON.stringify(e.data),isVisible:!0})}const i=Object.assign(Object.assign({},O),{question:Object.assign(Object.assign({},O.question),{responseParts:[...x]})});V(i),(null==N?void 0:N.enablechatresponses)&&W([{id:0,role:"assistant",parts:[...x],documentIds:[]}])}else if("artifact_created"===e.event){const t=JSON.parse(e.data);A=A.filter((e=>!(e.id===t.id&&e.version===t.version))),A.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),oe([...A]),ie.startsWith("inline")||re({id:t.id,version:t.version})}else if("artifact_updated"===e.event){const t=JSON.parse(e.data);A=A.filter((e=>!(e.id===t.id&&e.version===t.version))),A.push(Object.assign(Object.assign({},t),{content:"",status:"updating"})),oe([...A]),ie.startsWith("inline")||re({id:t.id,version:t.version})}else if("artifact_rewrite"===e.event){const t=JSON.parse(e.data);A=A.filter((e=>!(e.id===t.id&&e.version===t.version))),A.push(Object.assign(Object.assign({},t),{content:"",status:"streaming"})),oe([...A]),ie.startsWith("inline")||re({id:t.id,version:t.version})}else if("artifact_content"===e.event){const t=JSON.parse(e.data),s=t.token.replace(/\u200B/g,"");A=A.map((e=>e.id===t.id&&e.version===t.version?Object.assign(Object.assign({},e),{content:e.content+s,status:"streaming"}):e)),oe([...A])}else if("artifact_finished"===e.event){const t=JSON.parse(e.data);oe(A.map((e=>e.id===t.id?Object.assign(Object.assign({},e),{status:"finished"}):e)))}}else U=!0}});for(;;){const{value:e,done:s}=yield t.read();if(s)break;i.feed(n.decode(e))}U||(yield new Promise((e=>setTimeout(e,1e3))))}catch(e){if(e instanceof Error&&"AbortError"===e.name)return void(U=!0);console.warn("Stream connection lost, retrying...",e),yield new Promise((e=>setTimeout(e,1e3)))}null==J||J(y)}catch(e){if((e=>e instanceof Error&&Boolean(e.limitData))(e))return G(e.limitData),$(""),void se();let t=b(e)||"";t&&!t.includes("Unexpected token 'A',")||(t=(null==P?void 0:P["high-traffic-try-again-later"])||"Oops! We're experiencing high traffic at the moment. Please try again later."),ce(t)||$(t),se()}finally{X("idle"),le(!1),te()}}))},{children:ae?(null==P?void 0:P.processing)||"Processing...":Y?(null==P?void 0:P.uploading)||"Uploading...":R?(null==P?void 0:P.loading)||"Loading...":null!==(x=null==N?void 0:N.submittext)&&void 0!==x?x:"Submit"})),ue&&s(h,Object.assign({variant:"transparent-text",className:"min-h-[42px] px-5",isDisabled:Y||R||ae,onClick:O},{children:(null==P?void 0:P["form.clear-form"])||(null==P?void 0:P["clear-form"])||"Clear form"}))]})),!A.isWhiteLabel&&s(v,{containerClassName:"justify-end"})]}))};export{j as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as i,jsx as t}from"react/jsx-runtime";import{useCallback as s,useMemo as o}from"react";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import n from"./PickaxeButton.js";import{STUDIO_INFINITY_VALUE as l,intervalToSuffix as a}from"./PickaxeCommon.js";import{currencyOptions as c}from"./PickaxeCurrency.js";import{Avatar as d,AvatarImage as u,AvatarFallback as m}from"./PickaxeAvatar.js";import{useAuthContext as p}from"../Addons/Auth/hooks/useAuthContext.js";import f from"../../../common/api/pickaxe.js";import{buildUpgradeUrl as x,isInIframe as v}from"../../../common/utils.js";import{useResponseContext as g}from"../../../hooks/pickaxe/useResponseContext.js";import{useStudio as h}from"../../../hooks/studio/useStudio.js";const b=({data:b,children:j,upgradeUrl:k})=>{const{limitData:y}=g(),{studio:N}=h(),{colors:O,sender:w,pickaxe:C,translations:I,setValidationStatus:S,setStripeAccountId:U,setClientSecret:_}=r(),{token:A,setRedirectUrl:T}=p(),L=s(((e,i)=>{var t;return null!==(t=null==I?void 0:I[e])&&void 0!==t?t:i}),[I]),P=o((()=>{var e,i;return null!==(i=null!==(e=b.displayName)&&void 0!==e?e:b.name)&&void 0!==i?i:""}),[b]),R=o((()=>{var e,i;return null!==(i=null!==(e=b.displayDescription)&&void 0!==e?e:b.description)&&void 0!==i?i:""}),[b]),G=!!(null==N?void 0:N.data.usage)&&N.data.usage.isCredits,B=o((()=>{var e;const{price:i,priceInterval:t,currency:s}=b;if(!i)return{price:L("pricing.free",L("free","Free")),suffix:""};const o=a(null!=t?t:null,!0);return{price:`${(null!==(e=c.find((e=>e.id===s)))&&void 0!==e?e:c[0]).symbol}${i.toLocaleString()}`,suffix:o}}),[b,L]),D=o((()=>{const{limit:e,limitInterval:i}=b;if(e===l)return{limit:L("pricing.unlimited",L("unlimited","Unlimited")),suffix:""};const t=a(null!=i?i:null,!0);return{limit:e.toLocaleString(),suffix:t}}),[b,L]);return i("div",Object.assign({className:"relative flex min-h-[260px] w-[220px] shrink-0 snap-center flex-col justify-between rounded-xl border p-4 shadow-sm",style:{backgroundColor:O.secondary,color:O.secondaryText}},{children:[j,i("div",Object.assign({className:"flex flex-col"},{children:[i("div",Object.assign({className:"flex flex-col"},{children:[b.image&&i(d,Object.assign({className:"h-8 w-8"},{children:[t(u,{src:b.image,alt:P}),t(m,{})]})),t("p",Object.assign({className:"mt-2 text-sm font-semibold line-clamp-1",title:P},{children:P})),Boolean(R)&&t("p",Object.assign({className:"mt-1 text-[10px] opacity-70 line-clamp-2 leading-tight"},{children:R})),i("p",Object.assign({className:"mt-2 text-base font-semibold"},{children:[B.price,t("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:B.suffix}))]}))]})),i("div",Object.assign({className:"mt-3 flex flex-col border-t py-2",style:{borderTopColor:O.secondaryText}},{children:[t("span",Object.assign({className:"text-[10px] font-bold opacity-50"},{children:G?(null==I?void 0:I.credits_upper)||"CREDITS":(null==I?void 0:I.uses_upper)||"USES"})),i("p",Object.assign({className:"text-base font-semibold"},{children:[D.limit,t("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:D.suffix}))]}))]}))]})),t(n,Object.assign({variant:"primary",className:"w-full mt-2 min-h-[32px] text-xs",onClick:()=>e(void 0,void 0,void 0,(function*(){if(A)e(void 0,void 0,void 0,(function*(){try{const e=yield f.post("/access_group_checkout",{data:{studioUserId:w||void 0,studioId:null==C?void 0:C.studioid,accessGroupId:b.accessGroupId,successUrl:document.URL,isEmbed:v(),studioSessionToken:A}}),{success:i,url:t,clientSecret:s,stripeAccountId:o,error:r}=e.data;i?v()?s&&o?(U(o),_(s),S("stripe_checkout")):t&&window.open(t,"_blank"):t&&(window.location.href=t):alert(r)}catch(e){alert(e)}}));else{const e=x(Object.assign({baseUrl:k||(null==y?void 0:y.limitLink),accessGroupId:b.accessGroupId},!v()&&{redirectUrl:document.URL}));v()?(T(e||null),S("login_required")):e&&(window.location.href=e)}}))},{children:b.ctaButtonText||L("pricing.upgrade",L("upgrade","Upgrade"))}))]}))};export{b as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as i,jsx as t}from"react/jsx-runtime";import{useCallback as s,useMemo as o}from"react";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import n from"./PickaxeButton.js";import{STUDIO_INFINITY_VALUE as l,intervalToSuffix as a}from"./PickaxeCommon.js";import{currencyOptions as c}from"./PickaxeCurrency.js";import{Avatar as d,AvatarImage as u,AvatarFallback as m}from"./PickaxeAvatar.js";import{useAuthContext as p}from"../Addons/Auth/hooks/useAuthContext.js";import{pickaxeApi2 as f}from"../../../common/api/pickaxe.js";import{buildUpgradeUrl as x,isInIframe as v}from"../../../common/utils.js";import{useResponseContext as g}from"../../../hooks/pickaxe/useResponseContext.js";import{useStudio as h}from"../../../hooks/studio/useStudio.js";const b=({data:b,children:j,upgradeUrl:k})=>{const{limitData:y}=g(),{studio:N}=h(),{colors:O,sender:w,pickaxe:C,translations:I,setValidationStatus:S,setStripeAccountId:U,setClientSecret:_}=r(),{token:A,setRedirectUrl:T}=p(),L=s(((e,i)=>{var t;return null!==(t=null==I?void 0:I[e])&&void 0!==t?t:i}),[I]),P=o((()=>{var e,i;return null!==(i=null!==(e=b.displayName)&&void 0!==e?e:b.name)&&void 0!==i?i:""}),[b]),R=o((()=>{var e,i;return null!==(i=null!==(e=b.displayDescription)&&void 0!==e?e:b.description)&&void 0!==i?i:""}),[b]),G=!!(null==N?void 0:N.data.usage)&&N.data.usage.isCredits,B=o((()=>{var e;const{price:i,priceInterval:t,currency:s}=b;if(!i)return{price:L("pricing.free",L("free","Free")),suffix:""};const o=a(null!=t?t:null,!0);return{price:`${(null!==(e=c.find((e=>e.id===s)))&&void 0!==e?e:c[0]).symbol}${i.toLocaleString()}`,suffix:o}}),[b,L]),D=o((()=>{const{limit:e,limitInterval:i}=b;if(e===l)return{limit:L("pricing.unlimited",L("unlimited","Unlimited")),suffix:""};const t=a(null!=i?i:null,!0);return{limit:e.toLocaleString(),suffix:t}}),[b,L]);return i("div",Object.assign({className:"relative flex min-h-[260px] w-[220px] shrink-0 snap-center flex-col justify-between rounded-xl border p-4 shadow-sm",style:{backgroundColor:O.secondary,color:O.secondaryText}},{children:[j,i("div",Object.assign({className:"flex flex-col"},{children:[i("div",Object.assign({className:"flex flex-col"},{children:[b.image&&i(d,Object.assign({className:"h-8 w-8"},{children:[t(u,{src:b.image,alt:P}),t(m,{})]})),t("p",Object.assign({className:"mt-2 text-sm font-semibold line-clamp-1",title:P},{children:P})),Boolean(R)&&t("p",Object.assign({className:"mt-1 text-[10px] opacity-70 line-clamp-2 leading-tight"},{children:R})),i("p",Object.assign({className:"mt-2 text-base font-semibold"},{children:[B.price,t("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:B.suffix}))]}))]})),i("div",Object.assign({className:"mt-3 flex flex-col border-t py-2",style:{borderTopColor:O.secondaryText}},{children:[t("span",Object.assign({className:"text-[10px] font-bold opacity-50"},{children:G?(null==I?void 0:I.credits_upper)||"CREDITS":(null==I?void 0:I.uses_upper)||"USES"})),i("p",Object.assign({className:"text-base font-semibold"},{children:[D.limit,t("span",Object.assign({className:"text-xs font-normal opacity-70"},{children:D.suffix}))]}))]}))]})),t(n,Object.assign({variant:"primary",className:"w-full mt-2 min-h-[32px] text-xs",onClick:()=>e(void 0,void 0,void 0,(function*(){if(A)e(void 0,void 0,void 0,(function*(){try{const e=yield f.post("/access/checkout",{data:{studioUserId:w||void 0,studioId:null==C?void 0:C.studioid,accessGroupId:b.accessGroupId,successUrl:document.URL,isEmbed:v(),studioSessionToken:A}}),{success:i,url:t,clientSecret:s,stripeAccountId:o,error:r}=e.data;i?v()?s&&o?(U(o),_(s),S("stripe_checkout")):t&&window.open(t,"_blank"):t&&(window.location.href=t):alert(r)}catch(e){alert(e)}}));else{const e=x(Object.assign({baseUrl:k||(null==y?void 0:y.limitLink),accessGroupId:b.accessGroupId},!v()&&{redirectUrl:document.URL}));v()?(T(e||null),S("login_required")):e&&(window.location.href=e)}}))},{children:b.ctaButtonText||L("pricing.upgrade",L("upgrade","Upgrade"))}))]}))};export{b as default};