@vellumai/web 0.8.12-staging.1 → 0.8.12-staging.2

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 (112) hide show
  1. package/dist/assets/{BundleConfirmPage-jkqaLCJa.js → BundleConfirmPage-YJRCo0Hn.js} +1 -1
  2. package/dist/assets/{account-page-CnPPGmfm.js → account-page-Dj92GjiR.js} +1 -1
  3. package/dist/assets/{add-credits-modal-BxO-aOIt.js → add-credits-modal-CsP4udDc.js} +1 -1
  4. package/dist/assets/{advanced-page-B-9YunGO.js → advanced-page-BCnHb6oY.js} +1 -1
  5. package/dist/assets/{ai-page-Ccq4dwgh.js → ai-page-DcBsmsTv.js} +1 -1
  6. package/dist/assets/ai-utils-NK8I8SN2.js +1 -0
  7. package/dist/assets/{api-OKSSIP8W.js → api-DiLLlhgt.js} +1 -1
  8. package/dist/assets/{api-key-screen-BdonZw0y.js → api-key-screen-Nxq7EclW.js} +1 -1
  9. package/dist/assets/{app-html-cache-D7jkI5-i.js → app-html-cache-DuUq2_RD.js} +1 -1
  10. package/dist/assets/{archive-page-D-lt2ew2.js → archive-page-DGVZ9qUU.js} +1 -1
  11. package/dist/assets/{assistant-status-panel-DXNBZech.js → assistant-status-panel-B-yM7DE5.js} +1 -1
  12. package/dist/assets/{auth-store-BDBEYGBC.js → auth-store-C4gcHOWH.js} +1 -1
  13. package/dist/assets/{avatar-api-DbhDkml8.js → avatar-api-CLSAZR4o.js} +1 -1
  14. package/dist/assets/billing-page-C_pAWHkv.js +3 -0
  15. package/dist/assets/{command-palette-oEhmGGJ_.js → command-palette-CmihDJi0.js} +1 -1
  16. package/dist/assets/{command-palette-window-page-CDLfRYDZ.js → command-palette-window-page-CHxcr6A6.js} +1 -1
  17. package/dist/assets/{community-page-BwBAzLWc.js → community-page-BgwEi2WM.js} +1 -1
  18. package/dist/assets/{connect-page-BmHjyuVm.js → connect-page-DKR1ECD0.js} +1 -1
  19. package/dist/assets/contacts-page-route-ALOLGdXW.js +1 -0
  20. package/dist/assets/{debug-page-DIjs01B3.js → debug-page-DwWy2v03.js} +1 -1
  21. package/dist/assets/{deploy-dialogs-K3jkgI2T.js → deploy-dialogs-DrOvG0Ma.js} +1 -1
  22. package/dist/assets/{developer-page-DFhuZ_hl.js → developer-page-CNY0EBWx.js} +1 -1
  23. package/dist/assets/{devices-page-DdDILkUC.js → devices-page-DyJCd4s2.js} +1 -1
  24. package/dist/assets/{dictation-overlay-page-CxBuw-hP.js → dictation-overlay-page-bAy1yMeW.js} +1 -1
  25. package/dist/assets/{document-viewer-page-Y69T82fT.js → document-viewer-page-B1YXPDXM.js} +1 -1
  26. package/dist/assets/{earn-credits-modal-CYjyqSQ0.js → earn-credits-modal-BVhrVwKQ.js} +1 -1
  27. package/dist/assets/{emails-page-DBN4Tl5W.js → emails-page-xMdxei56.js} +1 -1
  28. package/dist/assets/{general-page-Bp5ucjKX.js → general-page-CzxX_ytO.js} +1 -1
  29. package/dist/assets/{hatching-screen-CzrL6chE.js → hatching-screen-BvaGi8x7.js} +1 -1
  30. package/dist/assets/{home-page-route-CaqhLSrL.js → home-page-route-Bxgs4dcd.js} +1 -1
  31. package/dist/assets/{hosting-screen-WK7sHIGI.js → hosting-screen-Jp346VHw.js} +1 -1
  32. package/dist/assets/{identity-page-route-B3RBccXw.js → identity-page-route-DHz3LOu0.js} +1 -1
  33. package/dist/assets/{index-Ue-r3LET.js → index-87hTkD_v.js} +20 -20
  34. package/dist/assets/inspect-page-B9wa3RHM.js +3 -0
  35. package/dist/assets/{install-DKeB-cXi.js → install-BlwjvAKk.js} +1 -1
  36. package/dist/assets/integrations-page-2soaHaLH.js +1 -0
  37. package/dist/assets/{intelligence-layout-CmazwWMA.js → intelligence-layout-DRGbJocy.js} +1 -1
  38. package/dist/assets/{keyboard-shortcuts-page-jZLFffHe.js → keyboard-shortcuts-page-DqPqhIaF.js} +1 -1
  39. package/dist/assets/{library-detail-page-arp0ms3i.js → library-detail-page-DLekVuPD.js} +1 -1
  40. package/dist/assets/{library-page-B_Um_0PB.js → library-page-DFBGqpq4.js} +1 -1
  41. package/dist/assets/{login-flow-BbNFfr7k.js → login-flow-DmfVD3r_.js} +1 -1
  42. package/dist/assets/{login-page-C1onXPvg.js → login-page-CaI9s3W4.js} +1 -1
  43. package/dist/assets/{logout-page-CZh6Uq_T.js → logout-page-DMO7Ro8q.js} +1 -1
  44. package/dist/assets/{logs-layout-DH3tK8BL.js → logs-layout-XvmAJO6n.js} +1 -1
  45. package/dist/assets/{memory-router-playground-page-BWcZZNFJ.js → memory-router-playground-page-DbSrBXJN.js} +1 -1
  46. package/dist/assets/{mobile-sidebar-drawer-BRnz4Jvz.js → mobile-sidebar-drawer-CBYUCY4b.js} +1 -1
  47. package/dist/assets/{notifications-page-BdpIL_Je.js → notifications-page-BWn1NfeD.js} +1 -1
  48. package/dist/assets/{oauth-complete-page-CYJsWX1G.js → oauth-complete-page-qd6rU5o-.js} +1 -1
  49. package/dist/assets/{oauth-popup-complete-page-B4P5UDKV.js → oauth-popup-complete-page-EU9BzQqV.js} +1 -1
  50. package/dist/assets/{platform-loopback-page-C1Kd436W.js → platform-loopback-page-ZNZz8YUX.js} +1 -1
  51. package/dist/assets/plugin-detail-page-D7tzIKVl.js +1 -0
  52. package/dist/assets/plugins-page-D-kijwJP.js +1 -0
  53. package/dist/assets/{pre-chat-flow-CpevOsrA.js → pre-chat-flow-BSXfD6S0.js} +1 -1
  54. package/dist/assets/{privacy-page-DbFKqGg4.js → privacy-page-BiyTmDHN.js} +1 -1
  55. package/dist/assets/{privacy-screen-CpDWfUis.js → privacy-screen-mhJ5CnV4.js} +1 -1
  56. package/dist/assets/{provider-callback-page-CQuLD5No.js → provider-callback-page-BuPFhW7i.js} +1 -1
  57. package/dist/assets/{provider-key-BYLNbH9o.js → provider-key-Clqsm-h7.js} +1 -1
  58. package/dist/assets/{provider-signup-page-C6xTOqI6.js → provider-signup-page-DhOuxnxY.js} +1 -1
  59. package/dist/assets/{query-tags-D58uls0S.js → query-tags-DPKpdc1_.js} +1 -1
  60. package/dist/assets/react-query.gen-B_oGDSP8.js +1 -0
  61. package/dist/assets/{review-terms-screen-itzeD0QH.js → review-terms-screen-BgLGEzR9.js} +1 -1
  62. package/dist/assets/{schedules-CULDXQU7.js → schedules-Cxb9otxN.js} +1 -1
  63. package/dist/assets/schedules-page-SwCpd9Y6.js +1 -0
  64. package/dist/assets/{sdk.gen-18Tp6Ee_.js → sdk.gen-DgqwY_WN.js} +1 -1
  65. package/dist/assets/{select-assistant-screen-DXbNAlGe.js → select-assistant-screen-CIVt4gg2.js} +1 -1
  66. package/dist/assets/{settings-layout-N_A_6E3u.js → settings-layout-L6c6Zaje.js} +1 -1
  67. package/dist/assets/{share-feedback-modal-B9w8RmIj.js → share-feedback-modal-BlMDGejV.js} +1 -1
  68. package/dist/assets/{sidebar-tree-CivI4sXe.js → sidebar-tree-KVdXcht-.js} +1 -1
  69. package/dist/assets/{signup-page-COvQK9fm.js → signup-page-FdYQKUli.js} +1 -1
  70. package/dist/assets/{skills-page-BoipXRsU.js → skills-page-Cs1mTTpA.js} +1 -1
  71. package/dist/assets/{sounds-page-2GDbwQsL.js → sounds-page-BtPyTbtD.js} +1 -1
  72. package/dist/assets/{step-indicator-dots-BusA89ya.js → step-indicator-dots-C_x0ZHGS.js} +1 -1
  73. package/dist/assets/{subagent-detail-panel-CN_sN89F.js → subagent-detail-panel-C6FfdUDE.js} +1 -1
  74. package/dist/assets/{system-events-page-DJIYOd5W.js → system-events-page-D9gAK-2s.js} +1 -1
  75. package/dist/assets/{tiptap-document-editor-B5IBRg7q.js → tiptap-document-editor-Cl8KJbb0.js} +1 -1
  76. package/dist/assets/{tool-detail-panel-CAZdGcvz.js → tool-detail-panel-DP9ZUGgW.js} +1 -1
  77. package/dist/assets/{trace-page-Db3S2Hsr.js → trace-page-ClDbcKcm.js} +1 -1
  78. package/dist/assets/{upgrade-cancel-page-mjlsJGp8.js → upgrade-cancel-page-BXZOicV3.js} +1 -1
  79. package/dist/assets/{upgrade-success-page-BHISIP3f.js → upgrade-success-page-CeM_gFIj.js} +1 -1
  80. package/dist/assets/{usage-page-BlvccKgv.js → usage-page-DHofU58j.js} +1 -1
  81. package/dist/assets/{use-daemon-config-DBKbFpqu.js → use-daemon-config-BLCgqB8a.js} +1 -1
  82. package/dist/assets/use-is-org-ready-BgB6QXom.js +1 -0
  83. package/dist/assets/{use-oauth-complete-deep-link-listener-Bteh0USx.js → use-oauth-complete-deep-link-listener-DnDBZsXG.js} +1 -1
  84. package/dist/assets/{use-onboarding-login-ByZGkreO.js → use-onboarding-login-CYb9P9G7.js} +1 -1
  85. package/dist/assets/use-plugin-drift-uJRE3xTx.js +1 -0
  86. package/dist/assets/{viewer-store-cX7oqdcL.js → viewer-store-o5byTOZU.js} +1 -1
  87. package/dist/assets/{voice-page-DOpV3VSS.js → voice-page-sB7S0uAp.js} +1 -1
  88. package/dist/assets/{weather-forecast-display-ByPBvVhv.js → weather-forecast-display-C5PORkTk.js} +1 -1
  89. package/dist/assets/{welcome-screen-3d2lXMb8.js → welcome-screen-Rm6Zm5dD.js} +1 -1
  90. package/dist/assets/{workspace-page-JSb7VYXM.js → workspace-page-zV0pbQfl.js} +1 -1
  91. package/dist/index.html +11 -11
  92. package/package.json +1 -1
  93. package/dist/assets/ai-utils-C-JayVoL.js +0 -1
  94. package/dist/assets/billing-page-BJ__Ep9o.js +0 -3
  95. package/dist/assets/contacts-page-route-CcDLyEf6.js +0 -1
  96. package/dist/assets/inspect-page-B3_pcn__.js +0 -3
  97. package/dist/assets/integrations-page-BaDzdFWK.js +0 -1
  98. package/dist/assets/plugin-detail-page-BEjyf-Ux.js +0 -1
  99. package/dist/assets/plugins-page-B6qln-fF.js +0 -1
  100. package/dist/assets/react-query.gen-Bp_whSkG.js +0 -1
  101. package/dist/assets/schedules-page-LaB58sYQ.js +0 -1
  102. package/dist/assets/use-is-org-ready-7bL7PowO.js +0 -1
  103. /package/dist/assets/{avatar-bundled-components-CL39cwfR.js → avatar-bundled-components-D1Q_IPFc.js} +0 -0
  104. /package/dist/assets/{danger-zone-redirect-page-KLttOmNm.js → danger-zone-redirect-page-B7We5zLz.js} +0 -0
  105. /package/dist/assets/{environment-store-BFK2MIjF.js → environment-store-D3R6E-cP.js} +0 -0
  106. /package/dist/assets/{format-CCVadvyp.js → format-Bx7lme44.js} +0 -0
  107. /package/dist/assets/{format-date-Pw0m-fQ8.js → format-date-6MJxjyy6.js} +0 -0
  108. /package/dist/assets/{format-file-size-DRikIrHj.js → format-file-size-DkWrZmJq.js} +0 -0
  109. /package/dist/assets/{llm-dimension-CN3sxcTZ.js → llm-dimension-v8X-KTEz.js} +0 -0
  110. /package/dist/assets/{onboarding-layout-40CHAFT0.js → onboarding-layout-BAx3atHc.js} +0 -0
  111. /package/dist/assets/{system-events-redirect-page-BAb2LAAA.js → system-events-redirect-page-De2HLo0x.js} +0 -0
  112. /package/dist/assets/{usage-window-BZdZL5mo.js → usage-window-DIaL-FoL.js} +0 -0
@@ -3,4 +3,4 @@ var e=(e,t,n)=>{typeof n==`string`||n instanceof Blob?e.append(t,n):n instanceof
3
3
 
4
4
  `);p=a.pop()??``;for(let e of a){let t=e.split(`
5
5
  `),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
6
- `);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;await f(Math.min(c*2**(p-1),s??3e4))}}}()}}var i=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},a=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},o=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},s=({allowReserved:e,explode:t,name:n,style:r,value:o})=>{if(!t){let t=(e?o:o.map(e=>encodeURIComponent(e))).join(a(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let s=i(r),l=o.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):c({allowReserved:e,name:n,value:t})).join(s);return r===`label`||r===`matrix`?s+l:l},c=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},l=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let s=o(r),l=Object.entries(i).map(([t,i])=>c({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(s);return r===`label`||r===`matrix`?s+l:l},u=/\{[^{}]+\}/g,d=({path:e,url:t})=>{let n=t,r=t.match(u);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,s({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,l({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${c({name:i,value:o})}`);continue}let u=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,u)}return n},f=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=d({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function p(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var m=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},h=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=s({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=l({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=c({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},ee=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},g=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,te=async({security:e,...t})=>{for(let n of e){if(g(t,n.name))continue;let e=await m(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e);break}}},_=e=>f({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:h(e.querySerializer),url:e.url}),v=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=b(e.headers,t.headers),n},y=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},b=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?y(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},x=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},S=()=>({error:new x,request:new x,response:new x}),C=h({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),w={"Content-Type":`application/json`},T=(e={})=>({...n,headers:w,parseAs:`auto`,querySerializer:C,...e}),E=((e={})=>{let t=v(T(),e),n=()=>({...t}),i=e=>(t=v(t,e),n()),a=S(),o=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:b(t.headers,e.headers),serializedBody:void 0};n.security&&await te({...n,security:n.security}),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:_(r)}},s=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,i,s;try{let{opts:t,url:n}=await o(e),r={redirect:`follow`,...t,body:p(t)};i=new Request(n,r);for(let e of a.request.fns)e&&(i=await e(i,t));let c=t.fetch;s=await c(i);for(let e of a.response.fns)e&&(s=await e(s,i,t));let l={request:i,response:s};if(s.ok){let e=(t.parseAs===`auto`?ee(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={};break}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let o=t;for(let t of a.error.fns)t&&(o=await t(o,s,i,e));if(o||={},n)throw o;return r===`data`?void 0:{error:o,request:i,response:s}}},c=e=>t=>s({...t,method:e}),l=e=>async t=>{let{opts:n,url:i}=await o(t);return r({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of a.request.fns)e&&(r=await e(r,n));return r},serializedBody:p(n),url:i})};return{buildUrl:e=>_({...t,...e}),connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),getConfig:n,head:c(`HEAD`),interceptors:a,options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),request:s,setConfig:i,sse:{connect:l(`CONNECT`),delete:l(`DELETE`),get:l(`GET`),head:l(`HEAD`),options:l(`OPTIONS`),patch:l(`PATCH`),post:l(`POST`),put:l(`PUT`),trace:l(`TRACE`)},trace:c(`TRACE`)}})(T()),D=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/apps`,...e}),O=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/delete`,...e}),k=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/open`,...e}),A=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/publish`,...e}),j=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/apps/{id}/publish-status`,...e}),M=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/share-cloud`,...e}),N=e=>(e.client??E).post({bodySerializer:null,url:`/v1/assistants/{assistant_id}/apps/import-bundle`,...e,headers:{"Content-Type":`application/octet-stream`,...e.headers}}),P=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/apps/shared/{token}`,...e}),F=e=>(e.client??E).post({...t,url:`/v1/assistants/{assistant_id}/attachments`,...e,headers:{"Content-Type":null,...e.headers}}),I=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/attachments/{id}/content`,...e}),L=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/avatar/character-components`,...e}),R=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/avatar/image`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),z=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/avatar/render-from-traits`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),B=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/avatar/state`,...e}),V=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/backups`,...e}),H=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/backups/create`,...e}),U=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/backups/restore`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),W=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/channels/available`,...e}),G=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/channels/readiness`,...e}),K=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/config`,...e}),q=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),J=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/config/llm/call-sites`,...e}),Y=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/config/llm/profiles`,...e}),X=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/confirm`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Z=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/consolidation/config`,...e}),Q=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/consolidation/run-now`,...e}),ne=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/consolidation/runs`,...e}),re=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/contact-channels/{contactChannelId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ie=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/contacts`,...e}),ae=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/contacts/merge`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),oe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversation-starters`,...e}),se=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations`,...e}),ce=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{conversationId}/slack-channel/resolve`,...e}),le=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations/{id}`,...e}),ue=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/analyze`,...e}),de=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/archive`,...e}),fe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/cancel`,...e}),pe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations/{id}/compaction`,...e}),me=e=>(e.client??E).put({url:`/v1/assistants/{assistant_id}/conversations/{id}/inference-profile`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),he=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/conversations/{id}/name`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ge=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/surface`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),_e=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/unarchive`,...e}),ve=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/undo`,...e}),ye=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/archive/bulk`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),be=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/fork`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),xe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations/llm-context`,...e}),Se=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/reorder`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ce=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/seen`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),we=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/seen/bulk`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Te=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/unread`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ee=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/credentials/inspect`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),De=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/dictation`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Oe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/disk-pressure/acknowledge`,...e}),ke=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/disk-pressure/status`,...e}),Ae=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents`,...e}),je=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/documents`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Me=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents/{id}`,...e}),Ne=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents/{id}/comments`,...e}),Pe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/documents/{id}/comments`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Fe=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/documents/{id}/comments/{commentId}`,...e}),Ie=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/documents/{id}/comments/{commentId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Le=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/documents/{id}/conversations`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Re=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents/{id}/pdf`,...e}),ze=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/groups`,...e}),Be=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/groups`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ve=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/groups/{groupId}`,...e}),He=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/groups/{groupId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ue=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/healthz`,...e}),We=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/heartbeat/config`,...e}),Ge=e=>(e.client??E).put({url:`/v1/assistants/{assistant_id}/heartbeat/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ke=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/heartbeat/run-now`,...e}),qe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/heartbeat/runs`,...e}),Je=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/home/feed`,...e}),Ye=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/home/feed/{id}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Xe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/home/feed/{id}/actions/{actionId}`,...e}),Ze=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/home/state`,...e}),Qe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/identity`,...e}),$e=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/identity/intro`,...e}),et=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth`,...e}),tt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth/exchange`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),nt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,...e}),rt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),it=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,...e}),at=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ot=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/a2a/invite`,...e}),st=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/integrations/slack/channel/config`,...e}),ct=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/slack/channel/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),lt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/integrations/telegram/config`,...e}),ut=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/telegram/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),dt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/integrations/twilio/credentials`,...e}),ft=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/twilio/credentials`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),pt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/integrations/vercel/config`,...e}),mt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/vercel/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ht=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/llm-request-logs/{id}/payload`,...e}),gt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/logs/export`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),_t=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/memory/v2/now-text`,...e}),vt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/memory/v2/router-prompt-template`,...e}),yt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/memory/v2/simulate-router`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),bt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/messages`,...e}),xt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/messages`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),St=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/messages/{id}/llm-context`,...e}),Ct=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/messages/queued/{id}`,...e}),wt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/messages/queued/{id}/steer`,...e}),Tt=e=>(e.client??E).put({url:`/v1/assistants/{assistant_id}/model/image-gen`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Et=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/notification-intent-result`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Dt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/apps`,...e}),Ot=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/oauth/apps`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),kt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/oauth/apps/{appId}/connect`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),At=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/apps/{appId}/connections`,...e}),jt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/oauth/apps/{id}`,...e}),Mt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/oauth/connections/{id}`,...e}),Nt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/providers`,...e}),Pt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/providers/{providerKey}`,...e}),Ft=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/pending-interactions`,...e}),It=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/plugins`,...e}),Lt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/plugins/{name}`,...e}),Rt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/plugins/{name}`,...e}),zt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/plugins/install`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Bt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/plugins/search`,...e}),Vt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/question-response`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ht=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/schedules`,...e}),Ut=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/schedules`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Wt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/schedules/{id}`,...e}),Gt=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/schedules/{id}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Kt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/schedules/{id}/run`,...e}),qt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/schedules/{id}/runs`,...e}),Jt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/schedules/{id}/toggle`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Yt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/schedules/usage-summary`,...e}),Xt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/search/global`,...e}),Zt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/secret`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Qt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/secrets`,...e}),$t=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/secrets`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),en=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/secrets/read`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),tn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills`,...e}),nn=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/skills/{id}`,...e}),rn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills/{id}/files`,...e}),an=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills/{id}/files/content`,...e}),on=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills/categories`,...e}),sn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/skills/install`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),cn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/stt/transcribe`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),$=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/subagents/{id}`,...e}),ln=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/subagents/{id}/abort`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),un=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/suggestion`,...e}),dn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/surface-actions`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),fn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/surfaces/{surfaceId}`,...e}),pn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/trace-events`,...e}),mn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/tts/providers`,...e}),hn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/breakdown`,...e}),gn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/daily`,...e}),_n=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/series`,...e}),vn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/totals`,...e}),yn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/workspace/delete`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),bn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/workspace/file`,...e}),xn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/workspace/file/content`,...e}),Sn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/workspace/mkdir`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Cn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/workspace/tree`,...e}),wn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/workspace/write`,...e,headers:{"Content-Type":`application/json`,...e.headers}});export{Oe as $,At as $t,ae as A,tn as An,rt as At,ge as B,hn as Bn,ht as Bt,q as C,Qt as Cn,Qe as Ct,ne as D,an as Dn,it as Dt,Q as E,nn as En,et as Et,fe as F,un as Fn,ut as Ft,xe as G,xn as Gn,St as Gt,ve as H,_n as Hn,_t as Ht,pe as I,dn as In,dt as It,Ce as J,Cn as Jn,Ct as Jt,Se as K,bn as Kn,bt as Kt,le as L,fn as Ln,ft as Lt,ce as M,cn as Mn,st as Mt,ue as N,ln as Nn,ct as Nt,re as O,rn as On,at as Ot,de as P,$ as Pn,lt as Pt,De as Q,kt as Qt,me as R,pn as Rn,pt as Rt,Y as S,Zt as Sn,Ze as St,Z as T,en as Tn,tt as Tt,be as U,vn as Un,vt as Ut,_e as V,gn as Vn,gt as Vt,se as W,yn as Wn,yt as Wt,oe as X,E as Xn,Tt as Xt,Te as Y,wn as Yn,wt as Yt,Ee as Z,Et as Zt,U as _,Jt as _n,Ke as _t,M as a,Nt as an,Le as at,K as b,Yt as bn,Ye as bt,P as c,Rt as cn,Ae as ct,L as d,Bt as dn,He as dt,jt as en,ke as et,R as f,Vt as fn,ze as ft,V as g,qt as gn,Ge as gt,H as h,Kt as hn,We as ht,j as i,Pt as in,Pe as it,ye as j,sn as jn,ot as jt,ie as k,on as kn,nt as kt,I as l,It as ln,je as lt,B as m,Gt as mn,Ue as mt,k as n,Ot as nn,Ie as nt,D as o,Ft as on,Me as ot,z as p,Wt as pn,Be as pt,we as q,Sn as qn,xt as qt,A as r,Mt as rn,Ne as rt,N as s,Lt as sn,Re as st,O as t,Dt as tn,Fe as tt,F as u,zt as un,Ve as ut,W as v,Ht as vn,qe as vt,X as w,$t as wn,$e as wt,J as x,Xt as xn,Je as xt,G as y,Ut as yn,Xe as yt,he as z,mn as zn,mt as zt};
6
+ `);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;await f(Math.min(c*2**(p-1),s??3e4))}}}()}}var i=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},a=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},o=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},s=({allowReserved:e,explode:t,name:n,style:r,value:o})=>{if(!t){let t=(e?o:o.map(e=>encodeURIComponent(e))).join(a(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let s=i(r),l=o.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):c({allowReserved:e,name:n,value:t})).join(s);return r===`label`||r===`matrix`?s+l:l},c=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},l=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let s=o(r),l=Object.entries(i).map(([t,i])=>c({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(s);return r===`label`||r===`matrix`?s+l:l},u=/\{[^{}]+\}/g,d=({path:e,url:t})=>{let n=t,r=t.match(u);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,s({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,l({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${c({name:i,value:o})}`);continue}let u=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,u)}return n},f=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=d({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function p(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var m=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},h=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=s({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=l({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=c({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},ee=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},g=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,te=async({security:e,...t})=>{for(let n of e){if(g(t,n.name))continue;let e=await m(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e);break}}},_=e=>f({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:h(e.querySerializer),url:e.url}),v=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=b(e.headers,t.headers),n},y=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},b=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?y(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},x=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},S=()=>({error:new x,request:new x,response:new x}),C=h({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),w={"Content-Type":`application/json`},T=(e={})=>({...n,headers:w,parseAs:`auto`,querySerializer:C,...e}),E=((e={})=>{let t=v(T(),e),n=()=>({...t}),i=e=>(t=v(t,e),n()),a=S(),o=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:b(t.headers,e.headers),serializedBody:void 0};n.security&&await te({...n,security:n.security}),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:_(r)}},s=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,i,s;try{let{opts:t,url:n}=await o(e),r={redirect:`follow`,...t,body:p(t)};i=new Request(n,r);for(let e of a.request.fns)e&&(i=await e(i,t));let c=t.fetch;s=await c(i);for(let e of a.response.fns)e&&(s=await e(s,i,t));let l={request:i,response:s};if(s.ok){let e=(t.parseAs===`auto`?ee(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={};break}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let o=t;for(let t of a.error.fns)t&&(o=await t(o,s,i,e));if(o||={},n)throw o;return r===`data`?void 0:{error:o,request:i,response:s}}},c=e=>t=>s({...t,method:e}),l=e=>async t=>{let{opts:n,url:i}=await o(t);return r({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of a.request.fns)e&&(r=await e(r,n));return r},serializedBody:p(n),url:i})};return{buildUrl:e=>_({...t,...e}),connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),getConfig:n,head:c(`HEAD`),interceptors:a,options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),request:s,setConfig:i,sse:{connect:l(`CONNECT`),delete:l(`DELETE`),get:l(`GET`),head:l(`HEAD`),options:l(`OPTIONS`),patch:l(`PATCH`),post:l(`POST`),put:l(`PUT`),trace:l(`TRACE`)},trace:c(`TRACE`)}})(T()),D=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/apps`,...e}),O=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/delete`,...e}),k=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/open`,...e}),A=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/publish`,...e}),j=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/apps/{id}/publish-status`,...e}),M=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/apps/{id}/share-cloud`,...e}),N=e=>(e.client??E).post({bodySerializer:null,url:`/v1/assistants/{assistant_id}/apps/import-bundle`,...e,headers:{"Content-Type":`application/octet-stream`,...e.headers}}),P=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/apps/shared/{token}`,...e}),F=e=>(e.client??E).post({...t,url:`/v1/assistants/{assistant_id}/attachments`,...e,headers:{"Content-Type":null,...e.headers}}),I=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/attachments/{id}/content`,...e}),L=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/avatar/character-components`,...e}),R=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/avatar/image`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),z=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/avatar/render-from-traits`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),B=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/avatar/state`,...e}),V=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/backups`,...e}),H=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/backups/create`,...e}),U=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/backups/restore`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),W=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/channels/available`,...e}),G=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/channels/readiness`,...e}),K=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/config`,...e}),q=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),J=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/config/llm/call-sites`,...e}),Y=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/config/llm/profiles`,...e}),X=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/confirm`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Z=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/consolidation/config`,...e}),Q=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/consolidation/run-now`,...e}),ne=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/consolidation/runs`,...e}),re=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/contact-channels/{contactChannelId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ie=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/contacts`,...e}),ae=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/contacts/merge`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),oe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversation-starters`,...e}),se=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations`,...e}),ce=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{conversationId}/slack-channel/resolve`,...e}),le=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations/{id}`,...e}),ue=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/analyze`,...e}),de=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/archive`,...e}),fe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/cancel`,...e}),pe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations/{id}/compaction`,...e}),me=e=>(e.client??E).put({url:`/v1/assistants/{assistant_id}/conversations/{id}/inference-profile`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),he=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/conversations/{id}/name`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ge=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/surface`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),_e=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/unarchive`,...e}),ve=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/{id}/undo`,...e}),ye=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/archive/bulk`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),be=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/fork`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),xe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/conversations/llm-context`,...e}),Se=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/reorder`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ce=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/seen`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),we=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/seen/bulk`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Te=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/conversations/unread`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ee=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/credentials/inspect`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),De=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/dictation`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Oe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/disk-pressure/acknowledge`,...e}),ke=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/disk-pressure/status`,...e}),Ae=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents`,...e}),je=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/documents`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Me=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents/{id}`,...e}),Ne=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents/{id}/comments`,...e}),Pe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/documents/{id}/comments`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Fe=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/documents/{id}/comments/{commentId}`,...e}),Ie=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/documents/{id}/comments/{commentId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Le=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/documents/{id}/conversations`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Re=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/documents/{id}/pdf`,...e}),ze=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/groups`,...e}),Be=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/groups`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ve=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/groups/{groupId}`,...e}),He=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/groups/{groupId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ue=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/healthz`,...e}),We=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/heartbeat/config`,...e}),Ge=e=>(e.client??E).put({url:`/v1/assistants/{assistant_id}/heartbeat/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ke=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/heartbeat/run-now`,...e}),qe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/heartbeat/runs`,...e}),Je=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/home/feed`,...e}),Ye=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/home/feed/{id}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Xe=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/home/feed/{id}/actions/{actionId}`,...e}),Ze=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/home/state`,...e}),Qe=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/identity`,...e}),$e=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/identity/intro`,...e}),et=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth`,...e}),tt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth/exchange`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),nt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,...e}),rt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),it=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,...e}),at=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ot=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/a2a/invite`,...e}),st=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/integrations/slack/channel/config`,...e}),ct=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/slack/channel/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),lt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/integrations/telegram/config`,...e}),ut=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/telegram/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),dt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/integrations/twilio/credentials`,...e}),ft=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/twilio/credentials`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),pt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/integrations/vercel/config`,...e}),mt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/integrations/vercel/config`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ht=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/llm-request-logs/{id}/context`,...e}),gt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/llm-request-logs/{id}/payload`,...e}),_t=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/logs/export`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),vt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/memory/v2/now-text`,...e}),yt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/memory/v2/router-prompt-template`,...e}),bt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/memory/v2/simulate-router`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),xt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/messages`,...e}),St=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/messages`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ct=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/messages/{id}/llm-context`,...e}),wt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/messages/queued/{id}`,...e}),Tt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/messages/queued/{id}/steer`,...e}),Et=e=>(e.client??E).put({url:`/v1/assistants/{assistant_id}/model/image-gen`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Dt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/notification-intent-result`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ot=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/apps`,...e}),kt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/oauth/apps`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),At=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/oauth/apps/{appId}/connect`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),jt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/apps/{appId}/connections`,...e}),Mt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/oauth/apps/{id}`,...e}),Nt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/oauth/connections/{id}`,...e}),Pt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/providers`,...e}),Ft=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/oauth/providers/{providerKey}`,...e}),It=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/pending-interactions`,...e}),Lt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/plugins`,...e}),Rt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/plugins/{name}`,...e}),zt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/plugins/{name}`,...e}),Bt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/plugins/{name}/inspect`,...e}),Vt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/plugins/{name}/upgrade`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ht=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/plugins/install`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Ut=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/plugins/search`,...e}),Wt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/question-response`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Gt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/schedules`,...e}),Kt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/schedules`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),qt=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/schedules/{id}`,...e}),Jt=e=>(e.client??E).patch({url:`/v1/assistants/{assistant_id}/schedules/{id}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Yt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/schedules/{id}/run`,...e}),Xt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/schedules/{id}/runs`,...e}),Zt=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/schedules/{id}/toggle`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Qt=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/schedules/usage-summary`,...e}),$t=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/search/global`,...e}),en=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/secret`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),tn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/secrets`,...e}),nn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/secrets`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),rn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/secrets/read`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),an=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills`,...e}),on=e=>(e.client??E).delete({url:`/v1/assistants/{assistant_id}/skills/{id}`,...e}),sn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills/{id}/files`,...e}),cn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills/{id}/files/content`,...e}),$=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/skills/categories`,...e}),ln=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/skills/install`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),un=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/stt/transcribe`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),dn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/subagents/{id}`,...e}),fn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/subagents/{id}/abort`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),pn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/suggestion`,...e}),mn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/surface-actions`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),hn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/surfaces/{surfaceId}`,...e}),gn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/trace-events`,...e}),_n=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/tts/providers`,...e}),vn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/breakdown`,...e}),yn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/daily`,...e}),bn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/series`,...e}),xn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/usage/totals`,...e}),Sn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/workspace/delete`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Cn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/workspace/file`,...e}),wn=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/workspace/file/content`,...e}),Tn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/workspace/mkdir`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),En=e=>(e.client??E).get({url:`/v1/assistants/{assistant_id}/workspace/tree`,...e}),Dn=e=>(e.client??E).post({url:`/v1/assistants/{assistant_id}/workspace/write`,...e,headers:{"Content-Type":`application/json`,...e.headers}});export{Oe as $,E as $n,At as $t,ae as A,cn as An,rt as At,ge as B,hn as Bn,ht as Bt,q as C,Qt as Cn,Qe as Ct,ne as D,nn as Dn,it as Dt,Q as E,tn as En,et as Et,fe as F,un as Fn,ut as Ft,xe as G,bn as Gn,bt as Gt,ve as H,_n as Hn,_t as Ht,pe as I,fn as In,dt as It,Ce as J,wn as Jn,St as Jt,Se as K,xn as Kn,Ct as Kt,le as L,dn as Ln,ft as Lt,ce as M,$ as Mn,st as Mt,ue as N,an as Nn,ct as Nt,re as O,rn as On,at as Ot,de as P,ln as Pn,lt as Pt,De as Q,Dn as Qn,Dt as Qt,me as R,pn as Rn,pt as Rt,Y as S,Kt as Sn,Ze as St,Z as T,en as Tn,tt as Tt,be as U,vn as Un,vt as Ut,_e as V,gn as Vn,gt as Vt,se as W,yn as Wn,yt as Wt,oe as X,Tn as Xn,Tt as Xt,Te as Y,Cn as Yn,wt as Yt,Ee as Z,En as Zn,Et as Zt,U as _,Jt as _n,Ke as _t,M as a,Ft as an,Le as at,K as b,Zt as bn,Ye as bt,P as c,Rt as cn,Ae as ct,L as d,Vt as dn,He as dt,jt as en,ke as et,R as f,Lt as fn,ze as ft,V as g,qt as gn,Ge as gt,H as h,Wt as hn,We as ht,j as i,Nt as in,Pe as it,ye as j,sn as jn,ot as jt,ie as k,on as kn,nt as kt,I as l,zt as ln,je as lt,B as m,Ut as mn,Ue as mt,k as n,Ot as nn,Ie as nt,D as o,Pt as on,Me as ot,z as p,Ht as pn,Be as pt,we as q,Sn as qn,xt as qt,A as r,kt as rn,Ne as rt,N as s,It as sn,Re as st,O as t,Mt as tn,Fe as tt,F as u,Bt as un,Ve as ut,W as v,Yt as vn,qe as vt,X as w,$t as wn,$e as wt,J as x,Gt as xn,Je as xt,G as y,Xt as yn,Xe as yt,he as z,mn as zn,mt as zt};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./button-C68o-wep.js";import{n as o}from"./resolved-assistants-store-B5ATyCT9.js";import{t as s}from"./is-electron-CavSPgmY.js";import{V as c,c as l,n as u,r as d}from"./auth-store-BDBEYGBC.js";import{i as f}from"./routes-VcLWbBmh.js";import{$a as p,pa as m,za as h}from"./index-Ue-r3LET.js";import{r as g}from"./format-date-Pw0m-fQ8.js";import{t as _}from"./onboarding-layout-40CHAFT0.js";import{t as v}from"./use-onboarding-login-ByZGkreO.js";var y=e(t(),1),b=i();function x(e){return e.name?e.name:e.isLocal?`Local Assistant`:`Cloud Assistant`}function S(e){if(e.hatchedAt)return`Created ${g(e.hatchedAt)}`}function C(){let e=n(),[t]=r(),i=t.get(`fromLogin`)===`1`,p=t.get(`fromSettings`)===`1`,m=s(),h=d(),g=o.use.assistants(),x=l.use.currentOrganizationId(),{loading:S,error:C,login:T,cancel:E}=v(),D=e=>e.isLocal||h,O=g.filter(D),k=g.some(e=>e.isPlatformHosted)&&!h,[A,j]=(0,y.useState)(null),[M,N]=(0,y.useState)(!1),[P,F]=(0,y.useState)(!1),[I,L]=(0,y.useState)(null);(0,y.useEffect)(()=>{if(A!=null||O.length===0)return;let e=c(x);j(O.find(t=>t.id===e)?.id??O[0].id)},[A,O,x]);let R=async t=>{N(!0),L(null);try{t.isLocal?await u.getState().connectLocalAssistant(t.id):await u.getState().connectPlatformAssistant(t.id),e(f.assistant,{replace:!0})}catch{L(`Failed to connect. Please try again.`),N(!1)}};(0,y.useEffect)(()=>{i||p||M||P||g.length!==0&&g.length===1&&O.length===1&&(F(!0),R(O[0]))},[g.length,O.length]);let z=()=>{let e=g.find(e=>e.id===A);e&&R(e)},B=()=>{e(f.welcome)},V=C??I;return P&&!V?(0,b.jsx)(_,{children:(0,b.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Connecting to your assistant…`})})}):(0,b.jsx)(_,{children:(0,b.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${m?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-16`} text-[var(--content-default)]`,children:[(0,b.jsx)(`h1`,{className:m?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Choose an Assistant`}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${m?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Select which assistant you’d like to use.`}),V&&(0,b.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:V}),(0,b.jsx)(`div`,{className:`flex w-full flex-col ${m?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:g.map(e=>{let t=D(e);return(0,b.jsx)(w,{assistant:e,selected:A===e.id,disabled:!t,badge:!t&&e.isPlatformHosted?`Requires Account`:void 0,onSelect:()=>{t&&j(e.id)}},e.id)})}),(0,b.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${m?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[O.length>0&&(0,b.jsx)(a,{variant:`primary`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:z,disabled:!A||M,children:M?`Connecting…`:`Continue`}),(0,b.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:()=>void e(`${f.onboarding.hosting}?from=select-assistant`),disabled:M||S,children:`Create New Assistant`}),k&&(0,b.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:S?E:()=>void T(),disabled:M,children:S?`Cancel`:`Log In`}),(0,b.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:B,disabled:M||S,children:`Back`})]})]})})}function w({assistant:e,selected:t,disabled:n,badge:r,onSelect:i}){let a=S(e),o=s();return(0,b.jsxs)(`button`,{type:`button`,onClick:i,disabled:n,className:[`group flex w-full items-center border text-left`,o?`gap-3 rounded-lg p-3`:`gap-4 rounded-2xl px-5 py-4`,`transition-all duration-200 ease-out`,n?`cursor-not-allowed opacity-50`:`cursor-pointer hover:bg-[var(--surface-secondary)]`,t&&!n?`border-[var(--primary-base)] bg-[var(--primary-base)]/[0.08] shadow-[inset_0_0_0_1px_var(--primary-base)]`:`border-[var(--border-element)] bg-transparent`].join(` `),children:[(0,b.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,o?`h-8 w-8 rounded-lg`:`h-10 w-10 rounded-xl`,t&&!n?`bg-[var(--primary-base)]/15 text-[var(--primary-base)]`:`bg-[var(--surface-tertiary)] text-[var(--content-secondary)]`].join(` `),children:e.isLocal?(0,b.jsx)(m,{className:`h-5 w-5`}):(0,b.jsx)(h,{className:`h-5 w-5`})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:x(e)}),r&&(0,b.jsx)(`span`,{className:`rounded-full bg-[var(--surface-tertiary)] px-2 py-0.5 text-[var(--content-tertiary)] ${o?`text-label-medium-default`:`text-body-small-default`}`,children:r})]}),a&&(0,b.jsx)(`span`,{className:`mt-0.5 block text-[var(--content-tertiary)] ${o?`text-label-medium-default`:`text-body-small-default`}`,children:a})]}),!n&&(0,b.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:t&&(0,b.jsx)(p,{className:`h-3 w-3 text-white`,strokeWidth:3})})]})}export{C as SelectAssistantScreen};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./button-C68o-wep.js";import{n as o}from"./resolved-assistants-store-B5ATyCT9.js";import{t as s}from"./is-electron-CavSPgmY.js";import{V as c,c as l,n as u,r as d}from"./auth-store-C4gcHOWH.js";import{i as f}from"./routes-VcLWbBmh.js";import{eo as p,pa as m,za as h}from"./index-87hTkD_v.js";import{r as g}from"./format-date-6MJxjyy6.js";import{t as _}from"./onboarding-layout-BAx3atHc.js";import{t as v}from"./use-onboarding-login-CYb9P9G7.js";var y=e(t(),1),b=i();function x(e){return e.name?e.name:e.isLocal?`Local Assistant`:`Cloud Assistant`}function S(e){if(e.hatchedAt)return`Created ${g(e.hatchedAt)}`}function C(){let e=n(),[t]=r(),i=t.get(`fromLogin`)===`1`,p=t.get(`fromSettings`)===`1`,m=s(),h=d(),g=o.use.assistants(),x=l.use.currentOrganizationId(),{loading:S,error:C,login:T,cancel:E}=v(),D=e=>e.isLocal||h,O=g.filter(D),k=g.some(e=>e.isPlatformHosted)&&!h,[A,j]=(0,y.useState)(null),[M,N]=(0,y.useState)(!1),[P,F]=(0,y.useState)(!1),[I,L]=(0,y.useState)(null);(0,y.useEffect)(()=>{if(A!=null||O.length===0)return;let e=c(x);j(O.find(t=>t.id===e)?.id??O[0].id)},[A,O,x]);let R=async t=>{N(!0),L(null);try{t.isLocal?await u.getState().connectLocalAssistant(t.id):await u.getState().connectPlatformAssistant(t.id),e(f.assistant,{replace:!0})}catch{L(`Failed to connect. Please try again.`),N(!1)}};(0,y.useEffect)(()=>{i||p||M||P||g.length!==0&&g.length===1&&O.length===1&&(F(!0),R(O[0]))},[g.length,O.length]);let z=()=>{let e=g.find(e=>e.id===A);e&&R(e)},B=()=>{e(f.welcome)},V=C??I;return P&&!V?(0,b.jsx)(_,{children:(0,b.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Connecting to your assistant…`})})}):(0,b.jsx)(_,{children:(0,b.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${m?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-16`} text-[var(--content-default)]`,children:[(0,b.jsx)(`h1`,{className:m?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Choose an Assistant`}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${m?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Select which assistant you’d like to use.`}),V&&(0,b.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:V}),(0,b.jsx)(`div`,{className:`flex w-full flex-col ${m?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:g.map(e=>{let t=D(e);return(0,b.jsx)(w,{assistant:e,selected:A===e.id,disabled:!t,badge:!t&&e.isPlatformHosted?`Requires Account`:void 0,onSelect:()=>{t&&j(e.id)}},e.id)})}),(0,b.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${m?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[O.length>0&&(0,b.jsx)(a,{variant:`primary`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:z,disabled:!A||M,children:M?`Connecting…`:`Continue`}),(0,b.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:()=>void e(`${f.onboarding.hosting}?from=select-assistant`),disabled:M||S,children:`Create New Assistant`}),k&&(0,b.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:S?E:()=>void T(),disabled:M,children:S?`Cancel`:`Log In`}),(0,b.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:m?void 0:`h-11 text-base`,onClick:B,disabled:M||S,children:`Back`})]})]})})}function w({assistant:e,selected:t,disabled:n,badge:r,onSelect:i}){let a=S(e),o=s();return(0,b.jsxs)(`button`,{type:`button`,onClick:i,disabled:n,className:[`group flex w-full items-center border text-left`,o?`gap-3 rounded-lg p-3`:`gap-4 rounded-2xl px-5 py-4`,`transition-all duration-200 ease-out`,n?`cursor-not-allowed opacity-50`:`cursor-pointer hover:bg-[var(--surface-secondary)]`,t&&!n?`border-[var(--primary-base)] bg-[var(--primary-base)]/[0.08] shadow-[inset_0_0_0_1px_var(--primary-base)]`:`border-[var(--border-element)] bg-transparent`].join(` `),children:[(0,b.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,o?`h-8 w-8 rounded-lg`:`h-10 w-10 rounded-xl`,t&&!n?`bg-[var(--primary-base)]/15 text-[var(--primary-base)]`:`bg-[var(--surface-tertiary)] text-[var(--content-secondary)]`].join(` `),children:e.isLocal?(0,b.jsx)(m,{className:`h-5 w-5`}):(0,b.jsx)(h,{className:`h-5 w-5`})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:x(e)}),r&&(0,b.jsx)(`span`,{className:`rounded-full bg-[var(--surface-tertiary)] px-2 py-0.5 text-[var(--content-tertiary)] ${o?`text-label-medium-default`:`text-body-small-default`}`,children:r})]}),a&&(0,b.jsx)(`span`,{className:`mt-0.5 block text-[var(--content-tertiary)] ${o?`text-label-medium-default`:`text-body-small-default`}`,children:a})]}),!n&&(0,b.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:t&&(0,b.jsx)(p,{className:`h-3 w-3 text-white`,strokeWidth:3})})]})}export{C as SelectAssistantScreen};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,u as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./is-electron-CavSPgmY.js";import{i as o}from"./routes-VcLWbBmh.js";import{t as s}from"./assistant-feature-flag-store-BPZq6n_3.js";import{Dn as c,Mr as l,X as u}from"./index-Ue-r3LET.js";import{n as d,t as f}from"./sidebar-tree-CivI4sXe.js";var p=e(t(),1),m=i();function h(){let e=s.use.settingsDeveloperNav(),t=l.use.platformNotifications(),i=c({platformHostedOnly:!0}),h=c(),{pathname:g}=r(),_=(0,p.useMemo)(()=>u.filter(e=>!(e.id===`notifications`&&(!t||i===`gated`)||e.id===`billing`&&h!==`full`||e.id===`devices`&&i===`gated`||e.id===`keyboard-shortcuts`&&!a()||e.id===`developer`)),[t,i,h]),v=(0,p.useMemo)(()=>e?u.filter(e=>e.id===`developer`):[],[e]),y=(0,p.useMemo)(()=>{if(g===o.settings.root)return`Settings`;let e=u.find(e=>g===e.href||g.startsWith(e.href+`/`));return e?e.label:`Settings`},[g]);return(0,m.jsx)(d,{backHref:o.assistant,sidebar:(0,m.jsx)(f,{items:_,bottomItems:v,indexPath:o.settings.root}),title:y,children:(0,m.jsx)(n,{})})}export{h as SettingsLayout};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,u as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./is-electron-CavSPgmY.js";import{i as o}from"./routes-VcLWbBmh.js";import{t as s}from"./assistant-feature-flag-store-BPZq6n_3.js";import{Dn as c,Mr as l,X as u}from"./index-87hTkD_v.js";import{n as d,t as f}from"./sidebar-tree-KVdXcht-.js";var p=e(t(),1),m=i();function h(){let e=s.use.settingsDeveloperNav(),t=l.use.platformNotifications(),i=c({platformHostedOnly:!0}),h=c(),{pathname:g}=r(),_=(0,p.useMemo)(()=>u.filter(e=>!(e.id===`notifications`&&(!t||i===`gated`)||e.id===`billing`&&h!==`full`||e.id===`devices`&&i===`gated`||e.id===`keyboard-shortcuts`&&!a()||e.id===`developer`)),[t,i,h]),v=(0,p.useMemo)(()=>e?u.filter(e=>e.id===`developer`):[],[e]),y=(0,p.useMemo)(()=>{if(g===o.settings.root)return`Settings`;let e=u.find(e=>g===e.href||g.startsWith(e.href+`/`));return e?e.label:`Settings`},[g]);return(0,m.jsx)(d,{backHref:o.assistant,sidebar:(0,m.jsx)(f,{items:_,bottomItems:v,indexPath:o.settings.root}),title:y,children:(0,m.jsx)(n,{})})}export{h as SettingsLayout};
@@ -1 +1 @@
1
- import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-DJZBPgpf.js";import{T as r}from"./portal-container-DIXEBWUe.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{n as o,t as s}from"./button-C68o-wep.js";import{t as c}from"./dropdown-CocFV5yi.js";import{t as l}from"./notice-CF2pptne.js";import{n as u,t as d}from"./input-Cu3PPVCq.js";import{t as f}from"./toggle-CEm3M86o.js";import{t as p}from"./is-electron-CavSPgmY.js";import{t as m}from"./bug-DDEBp29t.js";import{t as h}from"./loader-circle-C563RcPZ.js";import{t as g}from"./x-D1JFrRas.js";import{Vt as _}from"./sdk.gen-18Tp6Ee_.js";import{n as v}from"./auth-store-BDBEYGBC.js";import{t as y}from"./dist-hvfhQWUv.js";import{t as b}from"./impersonate-version-flag-_N7rtwW7.js";import{Cr as x,Ii as ee,Vt as te,Zi as S,da as C,ia as w,ma as ne,sa as re}from"./index-Ue-r3LET.js";var T=e(n(),1),ie=e(r(),1),E=`vellum:debug:`;function D(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(E))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function O(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:b()},overrides:D()}}var k=t({ShareFeedbackModal:()=>z}),A=a(),j=[{value:`bug_report`,label:`Bug Report`,icon:m,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:C,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:w,includesLogsByDefault:!1}],M=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],ae=M.map(e=>({value:e.value,label:e.label})),N=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),P=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),F=10,I=50*1024*1024,oe={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function se(){return p()?`macos`:y.getPlatform()===`ios`?`ios`:`web`}function ce(e){if(e.size>I)return!1;if(e.type&&N.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?P.has(t):!1}return!1}function L(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function R(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await _({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function le(e,t,n,r){if(typeof CompressionStream>`u`)return null;let i=new Date,a=M.find(t=>t.value===e),o=i.getTime(),s=a?.cutoffMs==null?null:o-a.cutoffMs,c=s==null?null:new Date(s).toISOString(),l=null;try{l=r?.()??null}catch{l=null}let u=x(l),d={collected_at:i.toISOString(),time_range:e,cutoff:c,log_window:{start_time_ms:s,end_time_ms:o},assistant_id:t,active_conversation_id:n,user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},f=new TextEncoder().encode(JSON.stringify(d,null,2)),m=new TextEncoder().encode(JSON.stringify(u,null,2)),h=[L(`web-client-context.json`,f),L(`web-chat-diagnostics.json`,m)],g=new TextEncoder().encode(JSON.stringify(O(),null,2));h.push(L(`web-debug-flags.json`,g));try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(L(`web-chat-debug-api-triage.json`,n))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(L(`web-sse-liveness-triage.json`,n))}}catch{}if(p()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));h.push(L(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);h.push(L(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await R(t,{window:{startTime:s,endTime:o},activeConversationId:n});e&&h.push(L(`platform-logs.tar.gz`,e))}h.push(new Uint8Array(1024));let _=h.reduce((e,t)=>e+t.length,0),v=new Uint8Array(_),y=0;for(let e of h)v.set(e,y),y+=e.length;let b=new Blob([v.buffer]),ee=await new Response(b.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([ee],`web-client-logs-${i.getTime()}.tar.gz`,{type:`application/gzip`})}function z({open:e,onClose:t,initialReason:n,onSubmitted:r,assistantId:a,assistantVersion:m,activeConversationId:_,getDiagnosticsSnapshot:y}){let b=v.use.user()?.email,x=(0,T.useId)(),C=(0,T.useRef)(null),w=(0,T.useRef)(null),E=(0,T.useRef)(null),D=(0,T.useRef)(null),[O,k]=(0,T.useState)(n??`bug_report`),[M,N]=(0,T.useState)(``),[P,I]=(0,T.useState)(``),[L,R]=(0,T.useState)(j.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[z,B]=(0,T.useState)(!1),[V,H]=(0,T.useState)(`past_hour`),[U,W]=(0,T.useState)([]),[G,K]=(0,T.useState)(null),[fe,q]=(0,T.useState)(!1),[J,Y]=(0,T.useState)(!1),X=i(te()),[pe,Z]=(0,T.useState)(!1),Q=X.isPending||pe,me=!b,he=(0,T.useMemo)(()=>M.trim().length>0&&P.trim().length>0,[M,P]);(0,T.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;k(t),N(``),I(b??``),R(j.find(e=>e.value===t)?.includesLogsByDefault??!0),B(!1),H(`past_hour`),W([]),Y(!1),K(null),Z(!1),X.reset();let r=setTimeout(()=>{b?E.current?.focus():D.current?.focus()},50);return()=>clearTimeout(r)},[e]),(0,T.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let ge=e=>{k(e),z||R(j.find(t=>t.value===e)?.includesLogsByDefault??!1)},_e=()=>{R(e=>!e),B(!0)},ve=(0,T.useCallback)(e=>{e.key===`Escape`&&!Q&&t()},[t,Q]),ye=(0,T.useCallback)(e=>{e.target===C.current&&!Q&&t()},[t,Q]),$=(0,T.useCallback)(e=>{W(t=>{let n=F-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!ce(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),be=e=>{e.target.files&&$(Array.from(e.target.files)),e.target.value=``},xe=e=>{e.preventDefault(),q(!1),e.dataTransfer.files?.length&&$(Array.from(e.dataTransfer.files))},Se=e=>{e.preventDefault(),q(!0)},Ce=e=>{e.preventDefault(),e.currentTarget===e.target&&q(!1)},we=e=>{W(t=>t.filter((t,n)=>n!==e))};return e?(0,ie.createPortal)((0,A.jsx)(`div`,{ref:C,role:`dialog`,"aria-modal":`true`,"aria-labelledby":x,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:ve,onClick:ye,onDrop:xe,onDragOver:Se,onDragLeave:Ce,children:(0,A.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,A.jsx)(`h2`,{id:x,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,A.jsx)(s,{variant:`ghost`,iconOnly:(0,A.jsx)(g,{}),onClick:t,disabled:Q,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${Q?`pointer-events-none opacity-60`:``}`,children:[me&&(0,A.jsx)(d,{id:`${x}-email`,ref:D,label:`Email`,type:`email`,placeholder:`you@example.com`,value:P,onChange:e=>I(e.target.value),leftIcon:(0,A.jsx)(re,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,A.jsx)(`div`,{className:`flex gap-2`,children:j.map(e=>(0,A.jsx)(ue,{option:e,isSelected:O===e.value,onSelect:()=>ge(e.value)},e.value))})]}),(0,A.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),O===`bug_report`&&(0,A.jsxs)(l,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),O===`feature_request`&&(0,A.jsxs)(l,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,A.jsx)(u,{id:`${x}-message`,ref:E,label:O===`bug_report`?`What went wrong?`:O===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:O===`bug_report`?`What did you expect to happen, and what happened instead?`:O===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:M,onChange:e=>N(e.target.value),fullWidth:!0}),O!==`feature_request`&&(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(f,{checked:L,onChange:_e,"aria-label":`Include browser diagnostics`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,A.jsx)(o,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,A.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,A.jsx)(ne,{className:`h-3.5 w-3.5`})})})]}),L&&(0,A.jsx)(c,{options:ae,value:V,onChange:H,"aria-label":`Diagnostics time range`})]}),p()&&_&&O!==`feature_request`&&(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(f,{checked:J,onChange:()=>Y(e=>!e),"aria-label":`Include the most recent conversation`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,U.length>0&&(0,A.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,U.length,`/`,F]})]}),(0,A.jsx)(s,{variant:`outlined`,size:`compact`,leftIcon:(0,A.jsx)(S,{}),onClick:()=>w.current?.click(),disabled:U.length>=F,children:`Add files`}),(0,A.jsx)(`input`,{ref:w,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:be,className:`hidden`})]}),U.length>0&&(0,A.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:U.map((e,t)=>(0,A.jsx)(de,{file:e,onRemove:()=>we(t)},`${e.name}-${t}`))}),fe&&(0,A.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]}),G&&(0,A.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:G})]}),(0,A.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:Q?(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,A.jsx)(h,{className:`h-4 w-4 animate-spin`}),`Sending feedback…`]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(s,{variant:`ghost`,onClick:t,children:`Cancel`}),(0,A.jsx)(s,{variant:`primary`,leftIcon:(0,A.jsx)(ee,{}),onClick:async()=>{if(!(!he||Q)){K(null),Z(!0);try{let e=L&&O!==`feature_request`?await le(V,a??null,p()?J?_??null:null:_??null,y):null;await X.mutateAsync({headers:{"Content-Type":null},body:{message:M.trim(),classification:oe[O],email:P.trim(),client:se(),client_version:void 0,...a?{assistant_id:a}:{},...m?{assistant_version:m}:{},...e?{logs_file:e}:{},...U.length?{attachments:U}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}}),r?.(),t()}catch(e){K(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Z(!1)}}},disabled:!he,children:`Submit`})]})})]})}),document.body):null}function ue({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,A.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,A.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,A.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function de({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,T.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,T.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,A.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,A.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,A.jsx)(S,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,A.jsx)(s,{variant:`ghost`,size:`compact`,iconOnly:(0,A.jsx)(g,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{k as n,z as t};
1
+ import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-DJZBPgpf.js";import{T as r}from"./portal-container-DIXEBWUe.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{n as o,t as s}from"./button-C68o-wep.js";import{t as c}from"./dropdown-CocFV5yi.js";import{t as l}from"./notice-CF2pptne.js";import{n as u,t as d}from"./input-Cu3PPVCq.js";import{t as f}from"./toggle-CEm3M86o.js";import{t as p}from"./is-electron-CavSPgmY.js";import{t as m}from"./bug-DDEBp29t.js";import{t as h}from"./loader-circle-C563RcPZ.js";import{t as g}from"./x-D1JFrRas.js";import{Ht as _}from"./sdk.gen-DgqwY_WN.js";import{n as v}from"./auth-store-C4gcHOWH.js";import{t as y}from"./dist-hvfhQWUv.js";import{t as b}from"./impersonate-version-flag-_N7rtwW7.js";import{Cr as x,Ii as ee,Vt as te,Zi as S,da as C,ia as w,ma as ne,sa as re}from"./index-87hTkD_v.js";var T=e(n(),1),ie=e(r(),1),E=`vellum:debug:`;function D(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(E))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function O(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:b()},overrides:D()}}var k=t({ShareFeedbackModal:()=>z}),A=a(),j=[{value:`bug_report`,label:`Bug Report`,icon:m,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:C,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:w,includesLogsByDefault:!1}],M=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],ae=M.map(e=>({value:e.value,label:e.label})),N=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),P=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),F=10,I=50*1024*1024,oe={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function se(){return p()?`macos`:y.getPlatform()===`ios`?`ios`:`web`}function ce(e){if(e.size>I)return!1;if(e.type&&N.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?P.has(t):!1}return!1}function L(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function R(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await _({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function le(e,t,n,r){if(typeof CompressionStream>`u`)return null;let i=new Date,a=M.find(t=>t.value===e),o=i.getTime(),s=a?.cutoffMs==null?null:o-a.cutoffMs,c=s==null?null:new Date(s).toISOString(),l=null;try{l=r?.()??null}catch{l=null}let u=x(l),d={collected_at:i.toISOString(),time_range:e,cutoff:c,log_window:{start_time_ms:s,end_time_ms:o},assistant_id:t,active_conversation_id:n,user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},f=new TextEncoder().encode(JSON.stringify(d,null,2)),m=new TextEncoder().encode(JSON.stringify(u,null,2)),h=[L(`web-client-context.json`,f),L(`web-chat-diagnostics.json`,m)],g=new TextEncoder().encode(JSON.stringify(O(),null,2));h.push(L(`web-debug-flags.json`,g));try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(L(`web-chat-debug-api-triage.json`,n))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(L(`web-sse-liveness-triage.json`,n))}}catch{}if(p()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));h.push(L(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);h.push(L(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await R(t,{window:{startTime:s,endTime:o},activeConversationId:n});e&&h.push(L(`platform-logs.tar.gz`,e))}h.push(new Uint8Array(1024));let _=h.reduce((e,t)=>e+t.length,0),v=new Uint8Array(_),y=0;for(let e of h)v.set(e,y),y+=e.length;let b=new Blob([v.buffer]),ee=await new Response(b.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([ee],`web-client-logs-${i.getTime()}.tar.gz`,{type:`application/gzip`})}function z({open:e,onClose:t,initialReason:n,onSubmitted:r,assistantId:a,assistantVersion:m,activeConversationId:_,getDiagnosticsSnapshot:y}){let b=v.use.user()?.email,x=(0,T.useId)(),C=(0,T.useRef)(null),w=(0,T.useRef)(null),E=(0,T.useRef)(null),D=(0,T.useRef)(null),[O,k]=(0,T.useState)(n??`bug_report`),[M,N]=(0,T.useState)(``),[P,I]=(0,T.useState)(``),[L,R]=(0,T.useState)(j.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[z,B]=(0,T.useState)(!1),[V,H]=(0,T.useState)(`past_hour`),[U,W]=(0,T.useState)([]),[G,K]=(0,T.useState)(null),[fe,q]=(0,T.useState)(!1),[J,Y]=(0,T.useState)(!1),X=i(te()),[pe,Z]=(0,T.useState)(!1),Q=X.isPending||pe,me=!b,he=(0,T.useMemo)(()=>M.trim().length>0&&P.trim().length>0,[M,P]);(0,T.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;k(t),N(``),I(b??``),R(j.find(e=>e.value===t)?.includesLogsByDefault??!0),B(!1),H(`past_hour`),W([]),Y(!1),K(null),Z(!1),X.reset();let r=setTimeout(()=>{b?E.current?.focus():D.current?.focus()},50);return()=>clearTimeout(r)},[e]),(0,T.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let ge=e=>{k(e),z||R(j.find(t=>t.value===e)?.includesLogsByDefault??!1)},_e=()=>{R(e=>!e),B(!0)},ve=(0,T.useCallback)(e=>{e.key===`Escape`&&!Q&&t()},[t,Q]),ye=(0,T.useCallback)(e=>{e.target===C.current&&!Q&&t()},[t,Q]),$=(0,T.useCallback)(e=>{W(t=>{let n=F-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!ce(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),be=e=>{e.target.files&&$(Array.from(e.target.files)),e.target.value=``},xe=e=>{e.preventDefault(),q(!1),e.dataTransfer.files?.length&&$(Array.from(e.dataTransfer.files))},Se=e=>{e.preventDefault(),q(!0)},Ce=e=>{e.preventDefault(),e.currentTarget===e.target&&q(!1)},we=e=>{W(t=>t.filter((t,n)=>n!==e))};return e?(0,ie.createPortal)((0,A.jsx)(`div`,{ref:C,role:`dialog`,"aria-modal":`true`,"aria-labelledby":x,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:ve,onClick:ye,onDrop:xe,onDragOver:Se,onDragLeave:Ce,children:(0,A.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,A.jsx)(`h2`,{id:x,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,A.jsx)(s,{variant:`ghost`,iconOnly:(0,A.jsx)(g,{}),onClick:t,disabled:Q,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${Q?`pointer-events-none opacity-60`:``}`,children:[me&&(0,A.jsx)(d,{id:`${x}-email`,ref:D,label:`Email`,type:`email`,placeholder:`you@example.com`,value:P,onChange:e=>I(e.target.value),leftIcon:(0,A.jsx)(re,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,A.jsx)(`div`,{className:`flex gap-2`,children:j.map(e=>(0,A.jsx)(ue,{option:e,isSelected:O===e.value,onSelect:()=>ge(e.value)},e.value))})]}),(0,A.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),O===`bug_report`&&(0,A.jsxs)(l,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),O===`feature_request`&&(0,A.jsxs)(l,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,A.jsx)(u,{id:`${x}-message`,ref:E,label:O===`bug_report`?`What went wrong?`:O===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:O===`bug_report`?`What did you expect to happen, and what happened instead?`:O===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:M,onChange:e=>N(e.target.value),fullWidth:!0}),O!==`feature_request`&&(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(f,{checked:L,onChange:_e,"aria-label":`Include browser diagnostics`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,A.jsx)(o,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,A.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,A.jsx)(ne,{className:`h-3.5 w-3.5`})})})]}),L&&(0,A.jsx)(c,{options:ae,value:V,onChange:H,"aria-label":`Diagnostics time range`})]}),p()&&_&&O!==`feature_request`&&(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(f,{checked:J,onChange:()=>Y(e=>!e),"aria-label":`Include the most recent conversation`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,U.length>0&&(0,A.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,U.length,`/`,F]})]}),(0,A.jsx)(s,{variant:`outlined`,size:`compact`,leftIcon:(0,A.jsx)(S,{}),onClick:()=>w.current?.click(),disabled:U.length>=F,children:`Add files`}),(0,A.jsx)(`input`,{ref:w,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:be,className:`hidden`})]}),U.length>0&&(0,A.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:U.map((e,t)=>(0,A.jsx)(de,{file:e,onRemove:()=>we(t)},`${e.name}-${t}`))}),fe&&(0,A.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]}),G&&(0,A.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:G})]}),(0,A.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:Q?(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,A.jsx)(h,{className:`h-4 w-4 animate-spin`}),`Sending feedback…`]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(s,{variant:`ghost`,onClick:t,children:`Cancel`}),(0,A.jsx)(s,{variant:`primary`,leftIcon:(0,A.jsx)(ee,{}),onClick:async()=>{if(!(!he||Q)){K(null),Z(!0);try{let e=L&&O!==`feature_request`?await le(V,a??null,p()?J?_??null:null:_??null,y):null;await X.mutateAsync({headers:{"Content-Type":null},body:{message:M.trim(),classification:oe[O],email:P.trim(),client:se(),client_version:void 0,...a?{assistant_id:a}:{},...m?{assistant_version:m}:{},...e?{logs_file:e}:{},...U.length?{attachments:U}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}}),r?.(),t()}catch(e){K(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Z(!1)}}},disabled:!he,children:`Submit`})]})})]})}),document.body):null}function ue({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,A.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,A.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,A.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function de({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,T.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,T.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,A.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,A.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,A.jsx)(S,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,A.jsx)(s,{variant:`ghost`,size:`compact`,iconOnly:(0,A.jsx)(g,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{k as n,z as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,t as r,u as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./button-C68o-wep.js";import{t as s}from"./typography-Czgs_2w_.js";import{r as c}from"./src-Bnn6algv.js";import{t as l}from"./is-electron-CavSPgmY.js";import{t as u}from"./chevron-right-C1TiR5qP.js";import{i as d}from"./routes-VcLWbBmh.js";import{ao as f,wn as p}from"./index-Ue-r3LET.js";var m=a();function h({sidebar:e,children:t,actions:a,backHref:c,title:u=`Settings`,menuRoute:h=d.settings.root}){let{pathname:g}=i(),_=n(),v=g===h,y=l(),b=v?c:h,x=v?`Back from ${u}`:`Back to ${u} menu`,S=(0,m.jsx)(o,{variant:`ghost`,iconOnly:(0,m.jsx)(f,{}),"aria-label":x,tintColor:`var(--content-secondary)`,onClick:()=>_(b)}),C=(0,m.jsx)(o,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${u}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,m.jsx)(r,{to:c,className:`flex items-center justify-center no-underline`,children:(0,m.jsx)(f,{size:16,"aria-hidden":`true`})})});return(0,m.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:y?`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 3.75rem)`:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`},children:[(0,m.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[S,(0,m.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:u}),(0,m.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),(0,m.jsx)(p,{className:`px-0 pt-0`}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,m.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,m.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[C,(0,m.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:u})]}),(0,m.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:a})]}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,m.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${u} navigation`,children:e}),v?(0,m.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto pb-6 md:hidden`,children:e}):null,(0,m.jsx)(`main`,{className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto pb-6 md:flex md:px-6 md:pt-0 ${v?`hidden`:`flex`}`,children:t})]})]})]})}var g=e(t(),1);function _({items:e,bottomItems:t,indexPath:r}){let{pathname:a}=i(),o=n(),s=(e,t,n)=>{let i=a===e.href||a.startsWith(e.href+`/`)||n&&r!=null&&a===r;return(0,m.jsxs)(g.Fragment,{children:[(0,m.jsx)(c.Item,{icon:e.icon,label:e.label,active:i,trailingIcon:u,trailingIconClassName:`md:hidden`,href:e.href,onClick:t=>{t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.button!==0||(t.preventDefault(),o(e.href))}}),!t&&(0,m.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,m.jsxs)(`nav`,{"aria-label":`Sidebar navigation`,className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>s(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{className:`flex-1`}),(0,m.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>s(e,n===t.length-1,!1))]})]})}export{h as n,_ as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,t as r,u as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./button-C68o-wep.js";import{t as s}from"./typography-Czgs_2w_.js";import{r as c}from"./src-Bnn6algv.js";import{t as l}from"./is-electron-CavSPgmY.js";import{t as u}from"./chevron-right-C1TiR5qP.js";import{i as d}from"./routes-VcLWbBmh.js";import{oo as f,wn as p}from"./index-87hTkD_v.js";var m=a();function h({sidebar:e,children:t,actions:a,backHref:c,title:u=`Settings`,menuRoute:h=d.settings.root}){let{pathname:g}=i(),_=n(),v=g===h,y=l(),b=v?c:h,x=v?`Back from ${u}`:`Back to ${u} menu`,S=(0,m.jsx)(o,{variant:`ghost`,iconOnly:(0,m.jsx)(f,{}),"aria-label":x,tintColor:`var(--content-secondary)`,onClick:()=>_(b)}),C=(0,m.jsx)(o,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${u}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,m.jsx)(r,{to:c,className:`flex items-center justify-center no-underline`,children:(0,m.jsx)(f,{size:16,"aria-hidden":`true`})})});return(0,m.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:y?`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 3.75rem)`:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`},children:[(0,m.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[S,(0,m.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:u}),(0,m.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),(0,m.jsx)(p,{className:`px-0 pt-0`}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,m.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,m.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[C,(0,m.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:u})]}),(0,m.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:a})]}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,m.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${u} navigation`,children:e}),v?(0,m.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto pb-6 md:hidden`,children:e}):null,(0,m.jsx)(`main`,{className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto pb-6 md:flex md:px-6 md:pt-0 ${v?`hidden`:`flex`}`,children:t})]})]})]})}var g=e(t(),1);function _({items:e,bottomItems:t,indexPath:r}){let{pathname:a}=i(),o=n(),s=(e,t,n)=>{let i=a===e.href||a.startsWith(e.href+`/`)||n&&r!=null&&a===r;return(0,m.jsxs)(g.Fragment,{children:[(0,m.jsx)(c.Item,{icon:e.icon,label:e.label,active:i,trailingIcon:u,trailingIconClassName:`md:hidden`,href:e.href,onClick:t=>{t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.button!==0||(t.preventDefault(),o(e.href))}}),!t&&(0,m.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,m.jsxs)(`nav`,{"aria-label":`Sidebar navigation`,className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>s(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{className:`flex-1`}),(0,m.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>s(e,n===t.length-1,!1))]})]})}export{h as n,_ as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{E as i}from"./auth-store-BDBEYGBC.js";import{n as a,r as o}from"./login-flow-BbNFfr7k.js";var s=e(t(),1),c=r();function l(){let e=(0,s.useRef)(!1),[t]=n(),[r,l]=(0,s.useState)(null);return(0,s.useEffect)(()=>{if(e.current)return;e.current=!0;let n=t.get(`returnTo`);i(a,o(n,{authIntent:`signup`}),{intent:`signup`,returnTo:n}).catch(e=>{console.error(`[signup] auth flow failed:`,e),l(`Something went wrong. Please try again.`)})},[t]),r?(0,c.jsx)(`div`,{className:`flex min-h-screen items-center justify-center`,children:(0,c.jsx)(`p`,{className:`text-[var(--system-negative-strong)]`,children:r})}):null}export{l as SignupPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{E as i}from"./auth-store-C4gcHOWH.js";import{n as a,r as o}from"./login-flow-DmfVD3r_.js";var s=e(t(),1),c=r();function l(){let e=(0,s.useRef)(!1),[t]=n(),[r,l]=(0,s.useState)(null);return(0,s.useEffect)(()=>{if(e.current)return;e.current=!0;let n=t.get(`returnTo`);i(a,o(n,{authIntent:`signup`}),{intent:`signup`,returnTo:n}).catch(e=>{console.error(`[signup] auth flow failed:`,e),l(`Something went wrong. Please try again.`)})},[t]),r?(0,c.jsx)(`div`,{className:`flex min-h-screen items-center justify-center`,children:(0,c.jsx)(`p`,{className:`text-[var(--system-negative-strong)]`,children:r})}):null}export{l as SignupPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{T as i}from"./portal-container-DIXEBWUe.js";import{h as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DKhXIxGb.js";import{t as s}from"./useQuery-B45lW1Kk.js";import{t as c}from"./useMutation-Lj4VunQV.js";import{t as l}from"./jsx-runtime-CVSDxk6A.js";import{t as u}from"./button-C68o-wep.js";import{t as d}from"./card-CL5iEMJO.js";import{t as f}from"./menu-B79-l6IU.js";import"./src-Bnn6algv.js";import{t as p}from"./confirm-dialog-94QFOD8a.js";import{n as m,r as h,t as g}from"./panel-item-FzMfzMJA.js";import{t as _}from"./input-Cu3PPVCq.js";import{n as v}from"./stat-square-BENJGRZr.js";import{t as y}from"./createLucideIcon-D6d6iDdi.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as ee}from"./install-DKeB-cXi.js";import{t as D}from"./calendar-CP_Q3Aw6.js";import{t as O}from"./cloud-off-DxVWIkmM.js";import{t as k}from"./globe-CMrMrZef.js";import{t as A}from"./link-2-C9rNe5kO.js";import{t as j}from"./loader-circle-C563RcPZ.js";import{t as te}from"./x-D1JFrRas.js";import{G as M,H as ne,K as re,U as N,W as P,q as ie}from"./react-query.gen-Bp_whSkG.js";import{n as ae}from"./use-is-mobile-CgLpEUW2.js";import{$a as F,Da as I,Fi as L,Li as R,Oi as z,Qa as B,Qi as V,Ra as H,Si as U,Xa as W,_a as G,ao as K,di as oe,fa as q,gi as se,ia as ce,ji as le,oo as J,sa as ue,ta as de,wa as fe,xa as pe,xi as Y,yi as me}from"./index-Ue-r3LET.js";import{t as he}from"./use-active-assistant-id-B2Zd0B4I.js";import{n as ge,t as _e}from"./file-markdown-B4DVzQ41.js";var ve=y(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),ye=y(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),X=e(r(),1),be={mail:ue,calendar:D,"message-circle":ce,globe:k,zap:oe,code:H,mic:de,"shopping-cart":le,palette:ye,heart:G,settings:L,"link-2":A};function xe(e){return be[e]}var Z=l();function Se({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a}){let o=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":`Skill categories`,children:[(0,Z.jsx)(Ce,{icon:q,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),o.map(r=>(0,Z.jsx)(Ce,{icon:xe(r.icon)??q,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function Ce({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:a}){return(0,Z.jsxs)(u,{variant:`ghost`,onClick:a,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,Z.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,Z.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}var we=e(i(),1);function Te(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function Ee(e,t){let[n,r]=(0,X.useState)(null),i=s({...P({path:{assistant_id:e,id:t}}),select:e=>e??null}),a=(0,X.useMemo)(()=>i.data?.files??[],[i.data]),o=(0,X.useMemo)(()=>a.find(e=>e.name===`SKILL.md`),[a]),c=Te(a,n),l=s({...N({path:{assistant_id:e,id:t},query:{path:c??``}}),select:e=>e??null,enabled:!!c});return{fileEntries:a,skillMd:o,selectedPath:n,setSelectedPath:r,activePath:c,activeFile:a.find(e=>e.path===c),isFilesLoading:i.isLoading,fileContent:l.data?.content??null,isBinary:!!l.data?.isBinary,isContentLoading:l.isLoading}}function De({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,Z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):ge(e,void 0)&&r===`preview`?(0,Z.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Z.jsx)(_e,{content:t})}):(0,Z.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function Oe({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:i,isInstalling:a=!1,isRemoving:o=!1}){let s=T(t),c=b(t),{fileEntries:l,setSelectedPath:f,activePath:p,activeFile:m,isFilesLoading:h,fileContent:g,isBinary:_,isContentLoading:y}=Ee(e,t.id),[x,S]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{S(`preview`)},[p]);let[C,ee]=(0,X.useState)(null);(0,X.useEffect)(()=>{ee(document.getElementById(`viewport-overlays`))},[]);let D=m?ge(m.name,void 0):!1,O=D?x:`raw`,k=(0,Z.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(u,{variant:`ghost`,iconOnly:(0,Z.jsx)(K,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,Z.jsx)(ke,{available:s,removable:c,isInstalling:a,isRemoving:o,onInstall:r,onRemove:i})]}),(0,Z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(E,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Z.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Z.jsx)(w,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description})]}),(0,Z.jsx)(d.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsx)(je,{fileEntries:l,activePath:p,activeName:m?.name??null,onSelect:f}),(0,Z.jsx)(v,{iconOnly:!0,ariaLabel:`File view mode`,value:O,onChange:S,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(I,{"aria-hidden":!0}),disabled:!D},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(H,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:h||y?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m?(0,Z.jsx)(De,{fileName:m.name,content:g,isBinary:_,viewMode:O}):(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return C?(0,we.createPortal)(k,C):k}function ke({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:i,onRemove:a}){return n||r?(0,Z.jsx)(u,{variant:`ghost`,iconOnly:(0,Z.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,Z.jsx)(u,{variant:`ghost`,iconOnly:(0,Z.jsx)(J,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:i,disabled:!i,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Z.jsx)(u,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(Y,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:a,disabled:!a,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,Z.jsx)(u,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(Y,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function Ae(e){return(e??``).endsWith(`/directory`)}function je({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)(Me,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(f.Root,{children:[(0,Z.jsx)(f.Trigger,{children:(0,Z.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)(Me,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(B,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(f.Content,{align:`start`,children:e.map(e=>{let n=Ae(e.mimeType);return(0,Z.jsx)(f.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(pe,{}):(0,Z.jsx)(fe,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Me(){return(0,Z.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,Z.jsx)(fe,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}var Ne=[{value:`all`,label:`All`,icon:q},{value:`installed`,label:`Installed`,icon:W},{value:`available`,label:`Available`,icon:J}],Pe=[{value:`vellum`,label:`Vellum`,icon:x},{value:`clawhub`,label:`Clawhub`,icon:k},{value:`skillssh`,label:`skills.sh`,icon:U},{value:`custom`,label:`Custom`,icon:se}];function Fe({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(_,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,Z.jsx)(R,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,Z.jsx)(Ie,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function Ie(e){let t=ae(),[n,r]=(0,X.useState)(!1),i=(0,Z.jsx)(u,{type:`button`,variant:`outlined`,iconOnly:(0,Z.jsx)(ve,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,Z.jsx)(Le,{...e,open:n,onOpenChange:r,trigger:i}):(0,Z.jsxs)(h.Root,{open:n,onOpenChange:r,children:[(0,Z.jsx)(h.Trigger,{asChild:!0,children:i}),(0,Z.jsx)(h.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,Z.jsxs)(`ul`,{role:`listbox`,children:[(0,Z.jsx)(Re,{label:`Status`,options:Ne,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,Z.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Z.jsx)(Re,{label:`Source`,options:Pe,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function Le({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:a,totalCount:o,showCounts:s,open:c,onOpenChange:l,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(m.Root,{open:c,onOpenChange:l,children:[(0,Z.jsx)(m.Trigger,{asChild:!0,children:d}),(0,Z.jsxs)(m.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,Z.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,Z.jsx)(m.Header,{children:(0,Z.jsx)(m.Title,{children:`Filters`})}),(0,Z.jsxs)(m.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsx)(Q,{label:`Status`,children:Ne.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsx)(Q,{label:`Source`,children:Pe.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsxs)(Q,{label:`Categories`,children:[(0,Z.jsx)($,{icon:q,label:`All`,active:r===null,badge:s?o:void 0,onSelect:()=>i(null)}),f.map(e=>(0,Z.jsx)($,{icon:xe(e.icon)??q,label:e.label,active:r===e.slug,badge:s?a[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,Z.jsx)(m.Footer,{children:(0,Z.jsx)(u,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>l(!1),children:`Done`})})]})]})}function Q({label:e,children:t}){return(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,Z.jsx)(g,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,Z.jsx)(F,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function Re({label:e,options:t,selected:n,onSelect:r}){return(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,Z.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,Z.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,Z.jsx)(W,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ze({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:a=!1}){let o=T(e),s=b(e);return(0,Z.jsx)(d.Root,{asChild:!0,children:(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,Z.jsx)(E,{skill:e,className:`h-7 w-7`})}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,Z.jsx)(w,{origin:e.origin})]}),(0,Z.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),o?i?(0,Z.jsx)(u,{type:`button`,iconOnly:(0,Z.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,Z.jsx)(u,{type:`button`,iconOnly:(0,Z.jsx)(J,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,Z.jsx)(u,{type:`button`,variant:`dangerOutline`,iconOnly:a?(0,Z.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(Y,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!s||a||!r,"aria-label":s?`Remove skill`:`Bundled skill cannot be removed`,title:s?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}function Be(e){return s({...M({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}function Ve(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:return{origin:e};default:return{}}}function He(e){return[...e].sort((e,t)=>{let n=S(e);return n===S(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function Ue(e,t){let[n,r]=(0,X.useState)(e);return(0,X.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var We=300,Ge=`vellum:skills:tipDismissed`;function Ke({assistantId:e,initialSkillId:r}){let i=o(),a=ae(),[l,u]=(0,X.useState)(``),d=Ue(l.trim(),We),[f,m]=(0,X.useState)(`all`),[h,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(r??null),[y,b]=(0,X.useState)(null),[x,S]=(0,X.useState)(null),[w,T]=(0,X.useState)(null),[E,D]=(0,X.useState)(()=>n(Ge,!1)),{data:O=[]}=Be(e),{origin:k,kind:A}=(0,X.useMemo)(()=>Ve(f),[f]),j=s({...re({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0,category:h??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),te=s({...re({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&h!==null}),M=(0,X.useCallback)(()=>{i.invalidateQueries({queryKey:ie({path:{assistant_id:e}})})},[e,i]),N=c({mutationFn:t=>ee(e,t),onMutate:e=>b(e),onSettled:()=>{b(null),M()}}),P=c({...ne(),onMutate:e=>S(e.path.id),onSettled:()=>{S(null),M()}}),F=(0,X.useCallback)(e=>{N.mutate(e.slug??e.id)},[N]),I=(0,X.useCallback)(e=>{T(e)},[]),L=(0,X.useCallback)(()=>{w&&(P.mutate({path:{assistant_id:e,id:w.id}}),T(null))},[e,w,P]),R=(0,X.useCallback)(()=>{D(!0),t(Ge,!0)},[]),z=(0,X.useMemo)(()=>j.data?.skills??[],[j.data?.skills]),B=h===null?j.data:te.data,{counts:V,totalCount:H}=qe(B?.skills??z,B?.categoryCounts,B?.totalCount),U=(0,X.useMemo)(()=>He(z),[z]),W=(0,X.useMemo)(()=>_?z.find(e=>e.id===_)??null:null,[z,_]),G=(0,Z.jsx)(p,{open:w!==null,title:`Remove skill`,message:w?`Remove "${w.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:L,onCancel:()=>T(null)});if(W){let t={assistantId:e,skill:W,onBack:()=>v(null),onInstall:()=>F(W),onRemove:()=>I(W),isInstalling:y===(W.slug??W.id),isRemoving:x===W.id};return(0,Z.jsxs)(Z.Fragment,{children:[a?(0,Z.jsx)(Oe,{...t}):(0,Z.jsx)(C,{...t}),G]})}let K=j.isFetching&&!!d;return(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!E&&(0,Z.jsx)(Je,{onDismiss:R}),(0,Z.jsx)(Fe,{search:l,onSearchChange:u,filter:f,onFilterChange:m,isSearching:K,categories:O,category:h,onCategoryChange:g,counts:V,totalCount:H,showCounts:!K}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,Z.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,Z.jsx)(Se,{selected:h,onSelect:g,counts:V,totalCount:H,showCounts:!K,categories:O})}),(0,Z.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:j.isLoading?(0,Z.jsx)(Ye,{}):j.isError?(0,Z.jsx)(Xe,{}):U.length===0?(0,Z.jsx)(Ze,{filter:f,category:h}):(0,Z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:U.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(ze,{skill:e,onSelect:()=>v(e.id),onInstall:()=>F(e),onRemove:()=>I(e),isInstalling:y===(e.slug??e.id),isRemoving:x===e.id})},e.id))})})]}),G]})}function qe(e,t,n){return(0,X.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function Je({onDismiss:e}){return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,Z.jsx)(z,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,Z.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,Z.jsx)(u,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(te,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function Ye(){return(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,Z.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Xe(){return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(me,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load skills`}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function Ze({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Qe(e,t);return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function Qe(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:q};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:oe};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:W};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:V};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:k};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:U};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:se};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:O}}}function $e(){let e=he(),[t]=a();return(0,Z.jsx)(Ke,{assistantId:e,initialSkillId:t.get(`skill`)??void 0})}export{$e as SkillsPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{T as i}from"./portal-container-DIXEBWUe.js";import{h as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DKhXIxGb.js";import{t as s}from"./useQuery-B45lW1Kk.js";import{t as c}from"./useMutation-Lj4VunQV.js";import{t as l}from"./jsx-runtime-CVSDxk6A.js";import{t as u}from"./button-C68o-wep.js";import{t as d}from"./card-CL5iEMJO.js";import{t as f}from"./menu-B79-l6IU.js";import"./src-Bnn6algv.js";import{t as p}from"./confirm-dialog-94QFOD8a.js";import{n as m,r as h,t as g}from"./panel-item-FzMfzMJA.js";import{t as _}from"./input-Cu3PPVCq.js";import{n as v}from"./stat-square-BENJGRZr.js";import{t as y}from"./createLucideIcon-D6d6iDdi.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as ee}from"./install-BlwjvAKk.js";import{t as D}from"./calendar-CP_Q3Aw6.js";import{t as O}from"./cloud-off-DxVWIkmM.js";import{t as k}from"./globe-CMrMrZef.js";import{t as A}from"./link-2-C9rNe5kO.js";import{t as j}from"./loader-circle-C563RcPZ.js";import{t as te}from"./x-D1JFrRas.js";import{G as ne,J as M,K as N,X as re,Y as ie,q as P}from"./react-query.gen-B_oGDSP8.js";import{n as ae}from"./use-is-mobile-CgLpEUW2.js";import{$a as F,Da as I,Fi as L,Li as R,Oi as z,Qi as B,Ra as V,Si as H,Xa as U,_a as W,di as G,eo as K,fa as q,gi as oe,ia as se,ji as ce,oo as le,sa as ue,so as J,ta as de,wa as fe,xa as pe,xi as Y,yi as me}from"./index-87hTkD_v.js";import{t as he}from"./use-active-assistant-id-B2Zd0B4I.js";import{n as ge,t as _e}from"./file-markdown-B4DVzQ41.js";var ve=y(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),ye=y(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),X=e(r(),1),be={mail:ue,calendar:D,"message-circle":se,globe:k,zap:G,code:V,mic:de,"shopping-cart":ce,palette:ye,heart:W,settings:L,"link-2":A};function xe(e){return be[e]}var Z=l();function Se({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a}){let o=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":`Skill categories`,children:[(0,Z.jsx)(Ce,{icon:q,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),o.map(r=>(0,Z.jsx)(Ce,{icon:xe(r.icon)??q,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function Ce({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:a}){return(0,Z.jsxs)(u,{variant:`ghost`,onClick:a,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,Z.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,Z.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}var we=e(i(),1);function Te(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function Ee(e,t){let[n,r]=(0,X.useState)(null),i=s({...P({path:{assistant_id:e,id:t}}),select:e=>e??null}),a=(0,X.useMemo)(()=>i.data?.files??[],[i.data]),o=(0,X.useMemo)(()=>a.find(e=>e.name===`SKILL.md`),[a]),c=Te(a,n),l=s({...N({path:{assistant_id:e,id:t},query:{path:c??``}}),select:e=>e??null,enabled:!!c});return{fileEntries:a,skillMd:o,selectedPath:n,setSelectedPath:r,activePath:c,activeFile:a.find(e=>e.path===c),isFilesLoading:i.isLoading,fileContent:l.data?.content??null,isBinary:!!l.data?.isBinary,isContentLoading:l.isLoading}}function De({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,Z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):ge(e,void 0)&&r===`preview`?(0,Z.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Z.jsx)(_e,{content:t})}):(0,Z.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function Oe({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:i,isInstalling:a=!1,isRemoving:o=!1}){let s=T(t),c=b(t),{fileEntries:l,setSelectedPath:f,activePath:p,activeFile:m,isFilesLoading:h,fileContent:g,isBinary:_,isContentLoading:y}=Ee(e,t.id),[x,S]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{S(`preview`)},[p]);let[C,ee]=(0,X.useState)(null);(0,X.useEffect)(()=>{ee(document.getElementById(`viewport-overlays`))},[]);let D=m?ge(m.name,void 0):!1,O=D?x:`raw`,k=(0,Z.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(u,{variant:`ghost`,iconOnly:(0,Z.jsx)(le,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,Z.jsx)(ke,{available:s,removable:c,isInstalling:a,isRemoving:o,onInstall:r,onRemove:i})]}),(0,Z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(E,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Z.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Z.jsx)(w,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description})]}),(0,Z.jsx)(d.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsx)(je,{fileEntries:l,activePath:p,activeName:m?.name??null,onSelect:f}),(0,Z.jsx)(v,{iconOnly:!0,ariaLabel:`File view mode`,value:O,onChange:S,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(I,{"aria-hidden":!0}),disabled:!D},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(V,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:h||y?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m?(0,Z.jsx)(De,{fileName:m.name,content:g,isBinary:_,viewMode:O}):(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return C?(0,we.createPortal)(k,C):k}function ke({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:i,onRemove:a}){return n||r?(0,Z.jsx)(u,{variant:`ghost`,iconOnly:(0,Z.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,Z.jsx)(u,{variant:`ghost`,iconOnly:(0,Z.jsx)(J,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:i,disabled:!i,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Z.jsx)(u,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(Y,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:a,disabled:!a,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,Z.jsx)(u,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(Y,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function Ae(e){return(e??``).endsWith(`/directory`)}function je({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)(Me,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(f.Root,{children:[(0,Z.jsx)(f.Trigger,{children:(0,Z.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)(Me,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(F,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(f.Content,{align:`start`,children:e.map(e=>{let n=Ae(e.mimeType);return(0,Z.jsx)(f.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(pe,{}):(0,Z.jsx)(fe,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Me(){return(0,Z.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,Z.jsx)(fe,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}var Ne=[{value:`all`,label:`All`,icon:q},{value:`installed`,label:`Installed`,icon:U},{value:`available`,label:`Available`,icon:J}],Pe=[{value:`vellum`,label:`Vellum`,icon:x},{value:`clawhub`,label:`Clawhub`,icon:k},{value:`skillssh`,label:`skills.sh`,icon:H},{value:`custom`,label:`Custom`,icon:oe}];function Fe({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(_,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,Z.jsx)(R,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,Z.jsx)(Ie,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function Ie(e){let t=ae(),[n,r]=(0,X.useState)(!1),i=(0,Z.jsx)(u,{type:`button`,variant:`outlined`,iconOnly:(0,Z.jsx)(ve,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,Z.jsx)(Le,{...e,open:n,onOpenChange:r,trigger:i}):(0,Z.jsxs)(h.Root,{open:n,onOpenChange:r,children:[(0,Z.jsx)(h.Trigger,{asChild:!0,children:i}),(0,Z.jsx)(h.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,Z.jsxs)(`ul`,{role:`listbox`,children:[(0,Z.jsx)(Re,{label:`Status`,options:Ne,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,Z.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Z.jsx)(Re,{label:`Source`,options:Pe,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function Le({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:a,totalCount:o,showCounts:s,open:c,onOpenChange:l,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(m.Root,{open:c,onOpenChange:l,children:[(0,Z.jsx)(m.Trigger,{asChild:!0,children:d}),(0,Z.jsxs)(m.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,Z.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,Z.jsx)(m.Header,{children:(0,Z.jsx)(m.Title,{children:`Filters`})}),(0,Z.jsxs)(m.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsx)(Q,{label:`Status`,children:Ne.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsx)(Q,{label:`Source`,children:Pe.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsxs)(Q,{label:`Categories`,children:[(0,Z.jsx)($,{icon:q,label:`All`,active:r===null,badge:s?o:void 0,onSelect:()=>i(null)}),f.map(e=>(0,Z.jsx)($,{icon:xe(e.icon)??q,label:e.label,active:r===e.slug,badge:s?a[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,Z.jsx)(m.Footer,{children:(0,Z.jsx)(u,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>l(!1),children:`Done`})})]})]})}function Q({label:e,children:t}){return(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,Z.jsx)(g,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,Z.jsx)(K,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function Re({label:e,options:t,selected:n,onSelect:r}){return(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,Z.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,Z.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,Z.jsx)(U,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ze({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:a=!1}){let o=T(e),s=b(e);return(0,Z.jsx)(d.Root,{asChild:!0,children:(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,Z.jsx)(E,{skill:e,className:`h-7 w-7`})}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,Z.jsx)(w,{origin:e.origin})]}),(0,Z.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),o?i?(0,Z.jsx)(u,{type:`button`,iconOnly:(0,Z.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,Z.jsx)(u,{type:`button`,iconOnly:(0,Z.jsx)(J,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,Z.jsx)(u,{type:`button`,variant:`dangerOutline`,iconOnly:a?(0,Z.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(Y,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!s||a||!r,"aria-label":s?`Remove skill`:`Bundled skill cannot be removed`,title:s?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}function Be(e){return s({...M({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}function Ve(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:return{origin:e};default:return{}}}function He(e){return[...e].sort((e,t)=>{let n=S(e);return n===S(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function Ue(e,t){let[n,r]=(0,X.useState)(e);return(0,X.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var We=300,Ge=`vellum:skills:tipDismissed`;function Ke({assistantId:e,initialSkillId:r}){let i=o(),a=ae(),[l,u]=(0,X.useState)(``),d=Ue(l.trim(),We),[f,m]=(0,X.useState)(`all`),[h,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(r??null),[y,b]=(0,X.useState)(null),[x,S]=(0,X.useState)(null),[w,T]=(0,X.useState)(null),[E,D]=(0,X.useState)(()=>n(Ge,!1)),{data:O=[]}=Be(e),{origin:k,kind:A}=(0,X.useMemo)(()=>Ve(f),[f]),j=s({...ie({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0,category:h??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),te=s({...ie({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&h!==null}),M=(0,X.useCallback)(()=>{i.invalidateQueries({queryKey:re({path:{assistant_id:e}})})},[e,i]),N=c({mutationFn:t=>ee(e,t),onMutate:e=>b(e),onSettled:()=>{b(null),M()}}),P=c({...ne(),onMutate:e=>S(e.path.id),onSettled:()=>{S(null),M()}}),F=(0,X.useCallback)(e=>{N.mutate(e.slug??e.id)},[N]),I=(0,X.useCallback)(e=>{T(e)},[]),L=(0,X.useCallback)(()=>{w&&(P.mutate({path:{assistant_id:e,id:w.id}}),T(null))},[e,w,P]),R=(0,X.useCallback)(()=>{D(!0),t(Ge,!0)},[]),z=(0,X.useMemo)(()=>j.data?.skills??[],[j.data?.skills]),B=h===null?j.data:te.data,{counts:V,totalCount:H}=qe(B?.skills??z,B?.categoryCounts,B?.totalCount),U=(0,X.useMemo)(()=>He(z),[z]),W=(0,X.useMemo)(()=>_?z.find(e=>e.id===_)??null:null,[z,_]),G=(0,Z.jsx)(p,{open:w!==null,title:`Remove skill`,message:w?`Remove "${w.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:L,onCancel:()=>T(null)});if(W){let t={assistantId:e,skill:W,onBack:()=>v(null),onInstall:()=>F(W),onRemove:()=>I(W),isInstalling:y===(W.slug??W.id),isRemoving:x===W.id};return(0,Z.jsxs)(Z.Fragment,{children:[a?(0,Z.jsx)(Oe,{...t}):(0,Z.jsx)(C,{...t}),G]})}let K=j.isFetching&&!!d;return(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!E&&(0,Z.jsx)(Je,{onDismiss:R}),(0,Z.jsx)(Fe,{search:l,onSearchChange:u,filter:f,onFilterChange:m,isSearching:K,categories:O,category:h,onCategoryChange:g,counts:V,totalCount:H,showCounts:!K}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,Z.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,Z.jsx)(Se,{selected:h,onSelect:g,counts:V,totalCount:H,showCounts:!K,categories:O})}),(0,Z.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:j.isLoading?(0,Z.jsx)(Ye,{}):j.isError?(0,Z.jsx)(Xe,{}):U.length===0?(0,Z.jsx)(Ze,{filter:f,category:h}):(0,Z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:U.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(ze,{skill:e,onSelect:()=>v(e.id),onInstall:()=>F(e),onRemove:()=>I(e),isInstalling:y===(e.slug??e.id),isRemoving:x===e.id})},e.id))})})]}),G]})}function qe(e,t,n){return(0,X.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function Je({onDismiss:e}){return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,Z.jsx)(z,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,Z.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,Z.jsx)(u,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(te,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function Ye(){return(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,Z.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Xe(){return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(me,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load skills`}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function Ze({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Qe(e,t);return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function Qe(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:q};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:G};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:U};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:B};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:k};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:H};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:oe};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:O}}}function $e(){let e=he(),[t]=a();return(0,Z.jsx)(Ke,{assistantId:e,initialSkillId:t.get(`skill`)??void 0})}export{$e as SkillsPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-CL5iEMJO.js";import{t as s}from"./toggle-CEm3M86o.js";import{Gn as c,Jn as l,Yn as u}from"./sdk.gen-18Tp6Ee_.js";import{n as d}from"./api-errors-CsfCFJ8r.js";import{d as f,u as p}from"./query-tags-D58uls0S.js";import{Ki as m,Qa as h,xi as g}from"./index-Ue-r3LET.js";import{t as _}from"./use-active-assistant-id-B2Zd0B4I.js";var v=e(t(),1),y=[`aiff`,`wav`,`mp3`,`m4a`,`caf`],b=[`task_complete`,`needs_input`,`task_failed`,`notification`,`new_conversation`,`message_sent`,`character_poke`,`random`],x={task_complete:`Task Complete`,needs_input:`Needs Input`,task_failed:`Task Failed`,notification:`Notification`,new_conversation:`New Conversation`,message_sent:`Message Sent`,character_poke:`Character Poke`,random:`Random`};function S(){let e={};for(let t of b)e[t]={enabled:!1,sounds:[]};return{globalEnabled:!1,volume:.7,events:e}}function C(e){let t=S();if(!e||typeof e!=`object`)return t;let n=e;typeof n.globalEnabled==`boolean`&&(t.globalEnabled=n.globalEnabled),typeof n.volume==`number`&&Number.isFinite(n.volume)&&(t.volume=Math.max(0,Math.min(1,n.volume)));let r=n.events;if(r&&typeof r==`object`){let e=r;for(let n of b){let r=e[n];if(!r||typeof r!=`object`)continue;let i=r,a=typeof i.enabled==`boolean`?i.enabled:!1,o=Array.isArray(i.sounds)?i.sounds.filter(e=>typeof e==`string`):[];t.events[n]={enabled:a,sounds:o}}}return t}function w(e){let t=e.lastIndexOf(`.`);return t<0||t===e.length-1?``:e.slice(t+1).toLowerCase()}function T(e){let t=w(e);return y.includes(t)}function E(e){return!e||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)?!1:T(e)}function D(e){let t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}var O=`data/sounds/config.json`,k=`data/sounds`;async function A(e){try{let{data:t,error:n,response:r}=await c({path:{assistant_id:e},query:{path:O},parseAs:`blob`,throwOnError:!1});if(d(r,n,`Failed to fetch sounds config`),!r.ok||!t)return S();let i=await t.text();if(!i)return S();try{return C(JSON.parse(i))}catch{return S()}}catch{return S()}}async function j(e,t){let n=JSON.stringify(t,null,2),r=btoa(unescape(encodeURIComponent(n))),{error:i,response:a}=await u({path:{assistant_id:e},body:{path:O,content:r,encoding:`base64`},throwOnError:!1});if(d(a,i,`Failed to save sounds config`),!a.ok)throw Error(`Failed to save sounds config (status ${a.status})`)}async function M(e){try{let{data:t,error:n,response:r}=await l({path:{assistant_id:e},query:{path:k,showHidden:`true`},throwOnError:!1});if(d(r,n,`Failed to list sound files`),!r.ok||!t?.entries)return[];let i=[];for(let e of t.entries){if(e.type!==`file`)continue;let t=e.name;!t||t===`config.json`||T(t)&&i.push({label:D(t),filename:t})}return i.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`})),i}catch{return[]}}async function N(e,t){if(!E(t))return null;try{let{data:n,error:r,response:i}=await c({path:{assistant_id:e},query:{path:`${k}/${t}`},parseAs:`blob`,throwOnError:!1});return d(i,r,`Failed to fetch sound file`),!i.ok||!n?null:n}catch{return null}}function P(e){return Number.isFinite(e)?e<0?0:e>1?1:e:.7}var F=class{assistantId=null;config=null;featureEnabled=!1;cache=new Map;pendingFetches=new Map;audioContext=null;setAssistantId(e){e!==this.assistantId&&(this.assistantId=e,this.clearCache())}setConfig(e){this.config=e}setFeatureEnabled(e){this.featureEnabled=e}async play(e){if(!this.featureEnabled)return;let t=this.config;if(!t||!t.globalEnabled)return;let n=t.events[e];if(!n?.enabled)return;let r=P(t.volume),i=n.sounds.filter(E);if(i.length===0){this.playFallbackBlip(r);return}let a=i[Math.floor(Math.random()*i.length)];if(!a){this.playFallbackBlip(r);return}await this.playFile(a,r)||this.playFallbackBlip(r)}async previewSound(e,t){if(!this.featureEnabled)return;let n=P(t??this.config?.volume??.7);await this.playFile(e,n)||this.playFallbackBlip(n)}async previewFallbackBlip(e){if(!this.featureEnabled)return;let t=P(e??this.config?.volume??.7);this.playFallbackBlip(t)}clearCache(){for(let e of this.cache.values())URL.revokeObjectURL(e.url);this.cache.clear(),this.pendingFetches.clear()}async playFile(e,t){if(!E(e))return!1;let n=await this.getOrFetch(e);if(!n)return!1;try{let e=new Audio(n.url);return e.volume=t,await e.play(),!0}catch{return!1}}async getOrFetch(e){let t=this.cache.get(e);if(t)return t;let n=this.pendingFetches.get(e);if(n)return n;let r=this.assistantId;if(!r)return null;let i=(async()=>{try{let t=await N(r,e);if(!t)return null;let n={url:URL.createObjectURL(t)};return this.cache.set(e,n),n}finally{this.pendingFetches.delete(e)}})();return this.pendingFetches.set(e,i),i}playFallbackBlip(e){if(!(typeof window>`u`))try{let t=window.AudioContext||window.webkitAudioContext;if(!t)return;this.audioContext||=new t;let n=this.audioContext;n.state===`suspended`&&n.resume();let r=n.createOscillator(),i=n.createGain();r.type=`sine`,r.frequency.setValueAtTime(880,n.currentTime);let a=Math.max(0,Math.min(1,e))*.25;i.gain.setValueAtTime(0,n.currentTime),i.gain.linearRampToValueAtTime(a,n.currentTime+.01),i.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(i),i.connect(n.destination),r.start(),r.stop(n.currentTime+.2)}catch{}}},I=null;function L(){return I||=new F,I}var R=a();function z({label:e,description:t,checked:n,disabled:r,onChange:i}){return(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),t&&(0,R.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,R.jsx)(s,{checked:n,disabled:r,onChange:i,label:e})]})}function B(){return(0,R.jsx)(`div`,{className:`border-t border-[var(--border-base)]`})}function V({event:e,eventConfig:t,availableSounds:n,globalEnabled:r,onToggle:i,onAddSound:a,onRemoveSound:o,onPreview:c}){let[l,u]=(0,v.useState)(!1),d=n.filter(e=>!t.sounds.includes(e.filename)),f=n.length>0&&d.length===0;return(0,R.jsxs)(`div`,{className:`py-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,R.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:x[e]}),(0,R.jsx)(s,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${x[e]}`})]}),t.enabled&&(0,R.jsxs)(`div`,{className:`mt-2 space-y-1 pl-2`,children:[t.sounds.length===0?(0,R.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default Blip`}):t.sounds.map(e=>(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,R.jsx)(`span`,{className:`truncate text-body-small-default text-[var(--content-secondary)]`,title:e,children:D(e)}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>c(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Preview ${e}`,children:(0,R.jsx)(m,{className:`h-3 w-3`})}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>o(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Remove ${e}`,children:(0,R.jsx)(g,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,R.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):f?(0,R.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,R.jsxs)(`div`,{className:`relative inline-block`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,R.jsx)(h,{className:`h-3 w-3`})]}),l&&(0,R.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>u(!1),children:d.map(e=>(0,R.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),u(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function H(){let e=n(),t=_(),a=(0,v.useMemo)(()=>f(t),[t]),s=(0,v.useMemo)(()=>p(t),[t]),{data:c}=r({queryKey:a,queryFn:()=>A(t)}),{data:l}=r({queryKey:s,queryFn:()=>M(t)}),u=c??S(),d=l??[],h=i({mutationFn:e=>j(t,e),onMutate:async t=>{await e.cancelQueries({queryKey:a});let n=e.getQueryData(a);return e.setQueryData(a,t),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&e.setQueryData(a,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a})}});(0,v.useEffect)(()=>{let e=L();return e.setAssistantId(t||null),e.setConfig(u),e.setFeatureEnabled(!0),()=>{e.setFeatureEnabled(!1)}},[t,u]);let g=(0,v.useCallback)(t=>{let n=t(e.getQueryData(a)??S());h.mutate(n)},[a,e,h]),y=e=>{g(t=>({...t,globalEnabled:e}))},x=e=>{g(t=>({...t,volume:e}))},[C,w]=(0,v.useState)(null),T=C??u.volume,E=(e,t)=>{g(n=>({...n,events:{...n.events,[e]:{...n.events[e]??{enabled:!1,sounds:[]},enabled:t}}}))},D=(e,t)=>{g(n=>{let r=n.events[e]??{enabled:!0,sounds:[]};return r.sounds.includes(t)?n:{...n,events:{...n.events,[e]:{...r,sounds:[...r.sounds,t]}}}})},O=(e,t)=>{g(n=>{let r=n.events[e];return r?{...n,events:{...n.events,[e]:{...r,sounds:r.sounds.filter(e=>e!==t)}}}:n})},k=()=>{L().previewFallbackBlip(u.volume)},N=e=>{L().previewSound(e,u.volume)};return(0,R.jsxs)(`div`,{className:`space-y-6`,children:[(0,R.jsxs)(o,{children:[(0,R.jsx)(z,{label:`Enable sound effects`,description:`Master switch for every event-driven sound.`,checked:u.globalEnabled,onChange:y}),(0,R.jsx)(B,{}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,children:[(0,R.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Volume`}),(0,R.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:T,onChange:e=>w(parseFloat(e.target.value)),onPointerUp:e=>{let t=parseFloat(e.currentTarget.value);w(null),t!==u.volume&&x(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);w(null),t!==u.volume&&x(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);w(null),t!==u.volume&&x(t)},className:`h-1 w-48 cursor-pointer`,disabled:!u.globalEnabled,"aria-label":`Sound effect volume`}),(0,R.jsxs)(`span`,{className:`tabular-nums text-body-small-default text-[var(--content-tertiary)]`,children:[Math.round(T*100),`%`]})]}),(0,R.jsx)(B,{}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,R.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Preview default blip`}),(0,R.jsxs)(`button`,{type:`button`,onClick:k,disabled:!u.globalEnabled,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-white px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] hover:bg-[var(--surface-base)] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[(0,R.jsx)(m,{className:`h-3.5 w-3.5`}),`Preview`]})]})]}),(0,R.jsxs)(o,{children:[(0,R.jsxs)(`div`,{className:`pb-2`,children:[(0,R.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:`Sound Events`}),(0,R.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add one or more sounds per event. When multiple are configured, one plays at random.`})]}),(0,R.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:b.map(e=>(0,R.jsx)(V,{event:e,eventConfig:u.events[e]??{enabled:!1,sounds:[]},availableSounds:d,globalEnabled:u.globalEnabled,onToggle:t=>E(e,t),onAddSound:t=>D(e,t),onRemoveSound:t=>O(e,t),onPreview:e=>N(e)},e))})]})]})}export{H as SoundsPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-CL5iEMJO.js";import{t as s}from"./toggle-CEm3M86o.js";import{Jn as c,Qn as l,Zn as u}from"./sdk.gen-DgqwY_WN.js";import{n as d}from"./api-errors-CsfCFJ8r.js";import{d as f,u as p}from"./query-tags-DPKpdc1_.js";import{$a as m,Ki as h,xi as g}from"./index-87hTkD_v.js";import{t as _}from"./use-active-assistant-id-B2Zd0B4I.js";var v=e(t(),1),y=[`aiff`,`wav`,`mp3`,`m4a`,`caf`],b=[`task_complete`,`needs_input`,`task_failed`,`notification`,`new_conversation`,`message_sent`,`character_poke`,`random`],x={task_complete:`Task Complete`,needs_input:`Needs Input`,task_failed:`Task Failed`,notification:`Notification`,new_conversation:`New Conversation`,message_sent:`Message Sent`,character_poke:`Character Poke`,random:`Random`};function S(){let e={};for(let t of b)e[t]={enabled:!1,sounds:[]};return{globalEnabled:!1,volume:.7,events:e}}function C(e){let t=S();if(!e||typeof e!=`object`)return t;let n=e;typeof n.globalEnabled==`boolean`&&(t.globalEnabled=n.globalEnabled),typeof n.volume==`number`&&Number.isFinite(n.volume)&&(t.volume=Math.max(0,Math.min(1,n.volume)));let r=n.events;if(r&&typeof r==`object`){let e=r;for(let n of b){let r=e[n];if(!r||typeof r!=`object`)continue;let i=r,a=typeof i.enabled==`boolean`?i.enabled:!1,o=Array.isArray(i.sounds)?i.sounds.filter(e=>typeof e==`string`):[];t.events[n]={enabled:a,sounds:o}}}return t}function w(e){let t=e.lastIndexOf(`.`);return t<0||t===e.length-1?``:e.slice(t+1).toLowerCase()}function T(e){let t=w(e);return y.includes(t)}function E(e){return!e||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)?!1:T(e)}function D(e){let t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}var O=`data/sounds/config.json`,k=`data/sounds`;async function A(e){try{let{data:t,error:n,response:r}=await c({path:{assistant_id:e},query:{path:O},parseAs:`blob`,throwOnError:!1});if(d(r,n,`Failed to fetch sounds config`),!r.ok||!t)return S();let i=await t.text();if(!i)return S();try{return C(JSON.parse(i))}catch{return S()}}catch{return S()}}async function j(e,t){let n=JSON.stringify(t,null,2),r=btoa(unescape(encodeURIComponent(n))),{error:i,response:a}=await l({path:{assistant_id:e},body:{path:O,content:r,encoding:`base64`},throwOnError:!1});if(d(a,i,`Failed to save sounds config`),!a.ok)throw Error(`Failed to save sounds config (status ${a.status})`)}async function M(e){try{let{data:t,error:n,response:r}=await u({path:{assistant_id:e},query:{path:k,showHidden:`true`},throwOnError:!1});if(d(r,n,`Failed to list sound files`),!r.ok||!t?.entries)return[];let i=[];for(let e of t.entries){if(e.type!==`file`)continue;let t=e.name;!t||t===`config.json`||T(t)&&i.push({label:D(t),filename:t})}return i.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`})),i}catch{return[]}}async function N(e,t){if(!E(t))return null;try{let{data:n,error:r,response:i}=await c({path:{assistant_id:e},query:{path:`${k}/${t}`},parseAs:`blob`,throwOnError:!1});return d(i,r,`Failed to fetch sound file`),!i.ok||!n?null:n}catch{return null}}function P(e){return Number.isFinite(e)?e<0?0:e>1?1:e:.7}var F=class{assistantId=null;config=null;featureEnabled=!1;cache=new Map;pendingFetches=new Map;audioContext=null;setAssistantId(e){e!==this.assistantId&&(this.assistantId=e,this.clearCache())}setConfig(e){this.config=e}setFeatureEnabled(e){this.featureEnabled=e}async play(e){if(!this.featureEnabled)return;let t=this.config;if(!t||!t.globalEnabled)return;let n=t.events[e];if(!n?.enabled)return;let r=P(t.volume),i=n.sounds.filter(E);if(i.length===0){this.playFallbackBlip(r);return}let a=i[Math.floor(Math.random()*i.length)];if(!a){this.playFallbackBlip(r);return}await this.playFile(a,r)||this.playFallbackBlip(r)}async previewSound(e,t){if(!this.featureEnabled)return;let n=P(t??this.config?.volume??.7);await this.playFile(e,n)||this.playFallbackBlip(n)}async previewFallbackBlip(e){if(!this.featureEnabled)return;let t=P(e??this.config?.volume??.7);this.playFallbackBlip(t)}clearCache(){for(let e of this.cache.values())URL.revokeObjectURL(e.url);this.cache.clear(),this.pendingFetches.clear()}async playFile(e,t){if(!E(e))return!1;let n=await this.getOrFetch(e);if(!n)return!1;try{let e=new Audio(n.url);return e.volume=t,await e.play(),!0}catch{return!1}}async getOrFetch(e){let t=this.cache.get(e);if(t)return t;let n=this.pendingFetches.get(e);if(n)return n;let r=this.assistantId;if(!r)return null;let i=(async()=>{try{let t=await N(r,e);if(!t)return null;let n={url:URL.createObjectURL(t)};return this.cache.set(e,n),n}finally{this.pendingFetches.delete(e)}})();return this.pendingFetches.set(e,i),i}playFallbackBlip(e){if(!(typeof window>`u`))try{let t=window.AudioContext||window.webkitAudioContext;if(!t)return;this.audioContext||=new t;let n=this.audioContext;n.state===`suspended`&&n.resume();let r=n.createOscillator(),i=n.createGain();r.type=`sine`,r.frequency.setValueAtTime(880,n.currentTime);let a=Math.max(0,Math.min(1,e))*.25;i.gain.setValueAtTime(0,n.currentTime),i.gain.linearRampToValueAtTime(a,n.currentTime+.01),i.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(i),i.connect(n.destination),r.start(),r.stop(n.currentTime+.2)}catch{}}},I=null;function L(){return I||=new F,I}var R=a();function z({label:e,description:t,checked:n,disabled:r,onChange:i}){return(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),t&&(0,R.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,R.jsx)(s,{checked:n,disabled:r,onChange:i,label:e})]})}function B(){return(0,R.jsx)(`div`,{className:`border-t border-[var(--border-base)]`})}function V({event:e,eventConfig:t,availableSounds:n,globalEnabled:r,onToggle:i,onAddSound:a,onRemoveSound:o,onPreview:c}){let[l,u]=(0,v.useState)(!1),d=n.filter(e=>!t.sounds.includes(e.filename)),f=n.length>0&&d.length===0;return(0,R.jsxs)(`div`,{className:`py-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,R.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:x[e]}),(0,R.jsx)(s,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${x[e]}`})]}),t.enabled&&(0,R.jsxs)(`div`,{className:`mt-2 space-y-1 pl-2`,children:[t.sounds.length===0?(0,R.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default Blip`}):t.sounds.map(e=>(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,R.jsx)(`span`,{className:`truncate text-body-small-default text-[var(--content-secondary)]`,title:e,children:D(e)}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>c(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Preview ${e}`,children:(0,R.jsx)(h,{className:`h-3 w-3`})}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>o(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Remove ${e}`,children:(0,R.jsx)(g,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,R.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):f?(0,R.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,R.jsxs)(`div`,{className:`relative inline-block`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,R.jsx)(m,{className:`h-3 w-3`})]}),l&&(0,R.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>u(!1),children:d.map(e=>(0,R.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),u(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function H(){let e=n(),t=_(),a=(0,v.useMemo)(()=>f(t),[t]),s=(0,v.useMemo)(()=>p(t),[t]),{data:c}=r({queryKey:a,queryFn:()=>A(t)}),{data:l}=r({queryKey:s,queryFn:()=>M(t)}),u=c??S(),d=l??[],m=i({mutationFn:e=>j(t,e),onMutate:async t=>{await e.cancelQueries({queryKey:a});let n=e.getQueryData(a);return e.setQueryData(a,t),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&e.setQueryData(a,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a})}});(0,v.useEffect)(()=>{let e=L();return e.setAssistantId(t||null),e.setConfig(u),e.setFeatureEnabled(!0),()=>{e.setFeatureEnabled(!1)}},[t,u]);let g=(0,v.useCallback)(t=>{let n=t(e.getQueryData(a)??S());m.mutate(n)},[a,e,m]),y=e=>{g(t=>({...t,globalEnabled:e}))},x=e=>{g(t=>({...t,volume:e}))},[C,w]=(0,v.useState)(null),T=C??u.volume,E=(e,t)=>{g(n=>({...n,events:{...n.events,[e]:{...n.events[e]??{enabled:!1,sounds:[]},enabled:t}}}))},D=(e,t)=>{g(n=>{let r=n.events[e]??{enabled:!0,sounds:[]};return r.sounds.includes(t)?n:{...n,events:{...n.events,[e]:{...r,sounds:[...r.sounds,t]}}}})},O=(e,t)=>{g(n=>{let r=n.events[e];return r?{...n,events:{...n.events,[e]:{...r,sounds:r.sounds.filter(e=>e!==t)}}}:n})},k=()=>{L().previewFallbackBlip(u.volume)},N=e=>{L().previewSound(e,u.volume)};return(0,R.jsxs)(`div`,{className:`space-y-6`,children:[(0,R.jsxs)(o,{children:[(0,R.jsx)(z,{label:`Enable sound effects`,description:`Master switch for every event-driven sound.`,checked:u.globalEnabled,onChange:y}),(0,R.jsx)(B,{}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,children:[(0,R.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Volume`}),(0,R.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:T,onChange:e=>w(parseFloat(e.target.value)),onPointerUp:e=>{let t=parseFloat(e.currentTarget.value);w(null),t!==u.volume&&x(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);w(null),t!==u.volume&&x(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);w(null),t!==u.volume&&x(t)},className:`h-1 w-48 cursor-pointer`,disabled:!u.globalEnabled,"aria-label":`Sound effect volume`}),(0,R.jsxs)(`span`,{className:`tabular-nums text-body-small-default text-[var(--content-tertiary)]`,children:[Math.round(T*100),`%`]})]}),(0,R.jsx)(B,{}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,R.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Preview default blip`}),(0,R.jsxs)(`button`,{type:`button`,onClick:k,disabled:!u.globalEnabled,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-white px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] hover:bg-[var(--surface-base)] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[(0,R.jsx)(h,{className:`h-3.5 w-3.5`}),`Preview`]})]})]}),(0,R.jsxs)(o,{children:[(0,R.jsxs)(`div`,{className:`pb-2`,children:[(0,R.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:`Sound Events`}),(0,R.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add one or more sounds per event. When multiple are configured, one plays at random.`})]}),(0,R.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:b.map(e=>(0,R.jsx)(V,{event:e,eventConfig:u.events[e]??{enabled:!1,sounds:[]},availableSounds:d,globalEnabled:u.globalEnabled,onToggle:t=>E(e,t),onAddSound:t=>D(e,t),onRemoveSound:t=>O(e,t),onPreview:e=>N(e)},e))})]})]})}export{H as SoundsPage};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{Ir as t,wr as n}from"./index-Ue-r3LET.js";var r=`onboarding_v3_2026_05`,i=`onboarding.funnelSessionId`,a=`onboarding.funnelVariant`,o={control:`control`,paredDown:`pared_down`};function s(e){return e===`variant-a`?o.paredDown:o.control}var c={privacyTos:{stepName:`privacy_tos`,stepIndex:0},nameVibe:{stepName:`name_vibe`,stepIndex:1},controlWorkType:{stepName:`work_type`,stepIndex:2},controlTools:{stepName:`tools`,stepIndex:3},controlPriorAssistants:{stepName:`prior_assistants`,stepIndex:4},controlGmailConnect:{stepName:`gmail_connect`,stepIndex:5},controlGetApp:{stepName:`get_app`,stepIndex:6},gmailConnect:{stepName:`gmail_connect`,stepIndex:2}};function l(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function u(){if(typeof window>`u`)return crypto.randomUUID();let e=``;try{e=sessionStorage.getItem(i)??``}catch{e=``}if(e)return e;let t=crypto.randomUUID();try{sessionStorage.setItem(i,t)}catch{}return t}function d(e){return e===o.control||e===o.paredDown}function f(){if(typeof window>`u`)return null;try{let e=sessionStorage.getItem(a);return d(e)?e:null}catch{return null}}function p(e){let t=f();if(t)return t;if(typeof window>`u`)return e;try{sessionStorage.setItem(a,e)}catch{}return e}function m(e,t={}){let n=Date.now(),i=t.variant??f()??o.control;return{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:n,screen:e.stepName,session_id:u(),step_name:e.stepName,step_index:e.stepIndex,completed_at:new Date(n).toISOString(),user_id:t.userId??null,funnel_version:r,ab_variant:i}}function h(e,r={}){if(typeof window>`u`||!t())return;let i=l(m(e,r)),a=JSON.stringify({device_id:n(),assistant_version:`web-dev`,events:[i]});fetch(`/v1/telemetry/ingest/`,{method:`POST`,headers:{"Content-Type":`application/json`},body:a,keepalive:!0}).catch(()=>{})}var g=e();function _({current:e,total:t}){return(0,g.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":`Step ${e+1} of ${t}`,children:Array.from({length:t},(t,n)=>(0,g.jsx)(`div`,{"aria-hidden":`true`,className:`h-[3px] w-8 rounded-full transition-colors ${n<=e?`bg-[var(--content-default)]`:`bg-[var(--content-default)] opacity-20`}`},n))})}export{u as a,p as c,h as i,c as n,s as o,o as r,f as s,_ as t};
1
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{Ir as t,wr as n}from"./index-87hTkD_v.js";var r=`onboarding_v3_2026_05`,i=`onboarding.funnelSessionId`,a=`onboarding.funnelVariant`,o={control:`control`,paredDown:`pared_down`};function s(e){return e===`variant-a`?o.paredDown:o.control}var c={privacyTos:{stepName:`privacy_tos`,stepIndex:0},nameVibe:{stepName:`name_vibe`,stepIndex:1},controlWorkType:{stepName:`work_type`,stepIndex:2},controlTools:{stepName:`tools`,stepIndex:3},controlPriorAssistants:{stepName:`prior_assistants`,stepIndex:4},controlGmailConnect:{stepName:`gmail_connect`,stepIndex:5},controlGetApp:{stepName:`get_app`,stepIndex:6},gmailConnect:{stepName:`gmail_connect`,stepIndex:2}};function l(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function u(){if(typeof window>`u`)return crypto.randomUUID();let e=``;try{e=sessionStorage.getItem(i)??``}catch{e=``}if(e)return e;let t=crypto.randomUUID();try{sessionStorage.setItem(i,t)}catch{}return t}function d(e){return e===o.control||e===o.paredDown}function f(){if(typeof window>`u`)return null;try{let e=sessionStorage.getItem(a);return d(e)?e:null}catch{return null}}function p(e){let t=f();if(t)return t;if(typeof window>`u`)return e;try{sessionStorage.setItem(a,e)}catch{}return e}function m(e,t={}){let n=Date.now(),i=t.variant??f()??o.control;return{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:n,screen:e.stepName,session_id:u(),step_name:e.stepName,step_index:e.stepIndex,completed_at:new Date(n).toISOString(),user_id:t.userId??null,funnel_version:r,ab_variant:i}}function h(e,r={}){if(typeof window>`u`||!t())return;let i=l(m(e,r)),a=JSON.stringify({device_id:n(),assistant_version:`web-dev`,events:[i]});fetch(`/v1/telemetry/ingest/`,{method:`POST`,headers:{"Content-Type":`application/json`},body:a,keepalive:!0}).catch(()=>{})}var g=e();function _({current:e,total:t}){return(0,g.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":`Step ${e+1} of ${t}`,children:Array.from({length:t},(t,n)=>(0,g.jsx)(`div`,{"aria-hidden":`true`,className:`h-[3px] w-8 rounded-full transition-colors ${n<=e?`bg-[var(--content-default)]`:`bg-[var(--content-default)] opacity-20`}`},n))})}export{u as a,p as c,h as i,c as n,s as o,o as r,f as s,_ as t};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./button-C68o-wep.js";import{t as i}from"./typography-Czgs_2w_.js";import"./src-Bnn6algv.js";import{t as a}from"./createLucideIcon-D6d6iDdi.js";import{t as o}from"./dollar-sign-CARQr5C3.js";import{t as s}from"./x-D1JFrRas.js";import{An as c,Ei as l,On as u,Ya as d,_ as f,fi as p,kn as m,na as h,oo as g,v as _,y as v,yi as y}from"./index-Ue-r3LET.js";var b=a(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),x=e(t(),1),S=n();function C({status:e}){let t=m(e);return(0,S.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-0.5 text-label-small-default`,style:{color:t,backgroundColor:`color-mix(in srgb, ${t} 15%, transparent)`},children:c(e)})}var w=4;function T(e){return e.split(`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./button-C68o-wep.js";import{t as i}from"./typography-Czgs_2w_.js";import"./src-Bnn6algv.js";import{t as a}from"./createLucideIcon-D6d6iDdi.js";import{t as o}from"./dollar-sign-CARQr5C3.js";import{t as s}from"./x-D1JFrRas.js";import{An as c,Ei as l,On as u,Ya as d,_ as f,fi as p,kn as m,na as h,so as g,v as _,y as v,yi as y}from"./index-87hTkD_v.js";var b=a(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),x=e(t(),1),S=n();function C({status:e}){let t=m(e);return(0,S.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-0.5 text-label-small-default`,style:{color:t,backgroundColor:`color-mix(in srgb, ${t} 15%, transparent)`},children:c(e)})}var w=4;function T(e){return e.split(`
2
2
  `).length>w}function E(e){return e.split(`
3
3
  `).slice(0,w).join(`
4
4
  `)}function D(e){return e.filter(e=>!(e.type===`text`&&!e.content))}function O({event:e}){let t=`h-3 w-3 shrink-0`;switch(e.type){case`text`:return(0,S.jsx)(h,{className:t,style:{color:`var(--system-positive-strong)`}});case`tool_call`:return(0,S.jsx)(p,{className:t,style:{color:`var(--system-positive-strong)`}});case`tool_result`:return e.isError?(0,S.jsx)(y,{className:t,style:{color:`var(--system-negative-strong)`}}):(0,S.jsx)(d,{className:t,style:{color:`var(--system-positive-strong)`}});case`error`:return(0,S.jsx)(y,{className:t,style:{color:`var(--system-negative-strong)`}});default:return(0,S.jsx)(h,{className:t,style:{color:`var(--system-positive-strong)`}})}}function k(e){return e.type===`error`||e.type===`tool_result`&&e.isError?`color-mix(in srgb, var(--system-negative-strong) 12%, transparent)`:`#E9F2EC`}function A(e){switch(e.type){case`text`:return`Response`;case`tool_call`:return`Tool Call`;case`tool_result`:return`Tool Result`;case`error`:return`Error`;default:return`Response`}}function j({content:e}){let[t,n]=(0,x.useState)(!1),r=T(e);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:r&&!t?E(e):e}),r&&(0,S.jsx)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`mt-1 cursor-pointer hover:underline`,children:(0,S.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:t?`Show less`:`Show more`})})]})}function M({event:e,isLast:t}){return(0,S.jsxs)(`div`,{className:`relative flex gap-3`,children:[(0,S.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,S.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:k(e)},children:(0,S.jsx)(O,{event:e})}),!t&&(0,S.jsx)(`div`,{className:`w-0.5 flex-1 rounded-full`,style:{backgroundColor:`#F5F5F5`,minHeight:16}})]}),(0,S.jsxs)(`div`,{className:`mb-4 min-w-0 flex-1 rounded-lg bg-[#FCFCFC] px-4 py-3`,children:[(0,S.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:A(e)}),e.type===`tool_call`&&(0,S.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-baseline gap-x-2`,children:[e.toolName&&(0,S.jsx)(i,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:e.toolName}),e.content&&(0,S.jsx)(i,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:e.content})]}),(e.type===`text`||e.type===`tool_result`)&&e.content&&(0,S.jsx)(`div`,{className:`mt-1`,children:e.isError?(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--system-negative-strong)]`,children:e.content}):(0,S.jsx)(j,{content:e.content})}),e.type===`error`&&e.content&&(0,S.jsx)(`div`,{className:`mt-1`,children:(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--system-negative-strong)]`,children:e.content})})]})]})}function N({events:e}){let t=(0,x.useMemo)(()=>D(e),[e]);return t.length===0?(0,S.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`}):(0,S.jsx)(`div`,{className:`flex flex-col`,children:t.map((e,n)=>(0,S.jsx)(M,{event:e,isLast:n===t.length-1},e.id))})}function P(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function F(e){return e===0?`0.00`:e<.01?e.toFixed(4):e.toFixed(2)}var I=300;function L(e){let[t,n]=(0,x.useState)(e),r=(0,x.useRef)(0),i=(0,x.useRef)(e);return(0,x.useEffect)(()=>{let t=i.current;if(t===e)return;cancelAnimationFrame(r.current);let a=performance.now(),o=s=>{let c=s-a,l=Math.min(c/I,1),u=1-(1-l)**3,d=t+(e-t)*u;i.current=d,n(d),l<1&&(r.current=requestAnimationFrame(o))};return r.current=requestAnimationFrame(o),()=>cancelAnimationFrame(r.current)},[e]),t}function R({icon:e,value:t,label:n}){return(0,S.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,S.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[#F5F5F5]`,children:e}),(0,S.jsxs)(`div`,{className:`min-w-0`,children:[(0,S.jsx)(i,{variant:`title-small`,className:`block text-[var(--content-default)]`,children:t}),(0,S.jsx)(i,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:n})]})]})}function z({icon:e,label:t,target:n,format:r}){return(0,S.jsx)(R,{icon:e,label:t,value:r(L(n))})}function B({entry:e,onClose:t,onStop:n,onRequestDetail:a}){let c=u(e.status),d=_();return(0,x.useEffect)(()=>{a&&e.conversationId&&e.events.length===0&&a(e.subagentId)},[e.subagentId,e.conversationId,e.events.length,a]),(0,S.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[(0,S.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] px-5 py-4`,children:[d?(0,S.jsx)(v,{components:d,bodyShapeId:f(e.subagentId).bodyShape,eyeStyleId:f(e.subagentId).eyeStyle,colorId:f(e.subagentId).color,size:32}):(0,S.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,S.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate text-[var(--content-default)]`,children:e.label}),(0,S.jsx)(C,{status:e.status}),(0,S.jsx)(`span`,{className:`flex-1`}),c&&n&&(0,S.jsxs)(`button`,{type:`button`,"aria-label":`Stop subagent`,onClick:()=>n(e.subagentId),className:`flex shrink-0 cursor-pointer items-center gap-1.5 rounded-lg bg-[var(--system-negative-strong)] px-3 py-1.5 text-white transition-colors hover:bg-[color-mix(in_srgb,var(--system-negative-strong)_85%,black)]`,children:[(0,S.jsx)(l,{className:`h-3 w-3`,fill:`currentColor`}),(0,S.jsx)(i,{variant:`label-small-default`,className:`text-white`,children:`Stop`})]}),(0,S.jsx)(r,{variant:`ghost`,iconOnly:(0,S.jsx)(s,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0`})]}),(0,S.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:[(0,S.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,S.jsx)(z,{icon:(0,S.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>P(Math.round(e)),label:`Input`}),(0,S.jsx)(z,{icon:(0,S.jsx)(b,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>P(Math.round(e)),label:`Output`}),(0,S.jsx)(z,{icon:(0,S.jsx)(o,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.totalCost,format:F,label:`Cost`})]}),e.objective&&(0,S.jsxs)(`div`,{className:`mb-5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-4 py-3`,children:[(0,S.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap leading-relaxed text-[var(--content-default)]`,children:e.objective})]}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(i,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),(0,S.jsx)(N,{events:e.events})]})]})]})}export{B as SubagentDetailPanel};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import"./src-Bnn6algv.js";import{t as i}from"./notice-CF2pptne.js";import{t as a}from"./tag-Ccr7Quy6.js";import{t as o}from"./loader-circle-C563RcPZ.js";import{i as s}from"./routes-VcLWbBmh.js";import{Dn as c,Ga as l,Qa as u,Rt as d,Tn as f,Xa as p,qa as m,so as h,yi as g}from"./index-Ue-r3LET.js";import{t as _}from"./use-active-assistant-id-B2Zd0B4I.js";var v=e(t(),1),y=r();function b(e){switch(e){case`lifecycle`:return`Lifecycle`;case`upgrade`:return`Upgrade`;case`rollback`:return`Rollback`;case`crash`:return`Crash`;case`idle_sleep`:return`Idle Sleep`;case`wake`:return`Wake`;case`profiler`:return`Profiler`;case`other`:return`Other`;default:return e}}function x(e){switch(e){case`started`:return`Started`;case`succeeded`:return`Succeeded`;case`failed`:return`Failed`;case`in_progress`:return`In Progress`;default:return e}}function S(e){return e===`succeeded`}function C(e){return e===`failed`}function w(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function T(e){if(e.type!==`idle_sleep`)return!1;let t=e.details?.idle_timeout_seconds;return typeof t==`number`&&t>=21600}function E(e,t){switch(e){case`wake`:return`positive`;case`rollback`:return`warning`;case`crash`:return`negative`;case`idle_sleep`:return t&&T(t)?`warning`:`neutral`;default:return`neutral`}}function D({type:e,event:t}){return(0,y.jsx)(a,{tone:E(e,t),children:b(e)})}function O({status:e}){let t=x(e);return S(e)?(0,y.jsx)(a,{tone:`positive`,leftIcon:(0,y.jsx)(p,{}),children:t}):C(e)?(0,y.jsx)(a,{tone:`negative`,leftIcon:(0,y.jsx)(m,{}),children:t}):(0,y.jsx)(a,{tone:`neutral`,children:t})}function k({event:e}){let[t,n]=(0,v.useState)(!1),r=e.details!==null&&e.details!==void 0&&Object.keys(e.details).length>0;return(0,y.jsxs)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,y.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,y.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,y.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.display_text}),(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,y.jsx)(D,{type:e.type,event:e}),(0,y.jsx)(O,{status:e.event_status}),T(e)&&(0,y.jsx)(a,{tone:`warning`,leftIcon:(0,y.jsx)(g,{className:`h-3 w-3`}),children:`Long sleep`})]})]}),(0,y.jsxs)(`div`,{className:`text-body-small-default flex shrink-0 items-center gap-1.5`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(l,{className:`h-3 w-3`}),(0,y.jsx)(`span`,{children:w(e.occurred_at)})]})]}),r&&(0,y.jsxs)(`div`,{className:`mt-2`,children:[(0,y.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`text-body-small-default flex items-center gap-1`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(u,{className:`h-3 w-3 transition-transform ${t?`rotate-180`:``}`}),t?`Hide details`:`Show details`]}),t&&(0,y.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded-md p-3 text-body-small-default`,style:{background:`var(--surface-base)`,color:`var(--content-default)`},children:JSON.stringify(e.details,null,2)})]})]})}function A({assistantId:e}){let{data:t,isLoading:n,isError:r,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:s}=h({...d({path:{assistant_id:e}}),initialPageParam:0,getNextPageParam:(e,t)=>{if(e.next)return t.reduce((e,t)=>e+t.results.length,0)}}),c=t?.pages.flatMap(e=>e.results)??[];return(0,y.jsxs)(`div`,{className:`space-y-4`,children:[(0,y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Lifecycle events for your assistant from the last 30 days, newest first.`}),n?(0,y.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading system events...`]}):r?(0,y.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--system-negative-strong)`},children:[(0,y.jsx)(g,{className:`h-4 w-4 shrink-0`}),`Failed to load system events. Please refresh and try again.`]}):c.length===0?(0,y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No system events recorded in the last 30 days.`}):(0,y.jsxs)(`div`,{className:`space-y-2`,children:[c.map(e=>(0,y.jsx)(k,{event:e},e.id)),a&&(0,y.jsx)(`div`,{className:`pt-2 text-center`,children:(0,y.jsx)(`button`,{type:`button`,onClick:()=>s(),disabled:i,className:`text-body-medium-default flex w-full items-center justify-center gap-2 rounded-md border px-4 py-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-element)`,color:`var(--content-secondary)`},children:i?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading older events...`]}):`Load older events`})})]})]})}function j(){let e=c({platformHostedOnly:!0}),t=f(),r=_();return e===`gated`?(0,y.jsx)(n,{replace:!0,to:s.logs.root}):e===`disabled`?(0,y.jsx)(i,{tone:`info`,children:`Log in to the Vellum platform to view system events.`}):t?(0,y.jsx)(A,{assistantId:r}):(0,y.jsx)(i,{tone:`warning`,children:`System events aren't available for the current assistant.`})}export{j as SystemEventsPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import"./src-Bnn6algv.js";import{t as i}from"./notice-CF2pptne.js";import{t as a}from"./tag-Ccr7Quy6.js";import{t as o}from"./loader-circle-C563RcPZ.js";import{i as s}from"./routes-VcLWbBmh.js";import{$a as c,Dn as l,Ga as u,Rt as d,Tn as f,Xa as p,co as m,qa as h,yi as g}from"./index-87hTkD_v.js";import{t as _}from"./use-active-assistant-id-B2Zd0B4I.js";var v=e(t(),1),y=r();function b(e){switch(e){case`lifecycle`:return`Lifecycle`;case`upgrade`:return`Upgrade`;case`rollback`:return`Rollback`;case`crash`:return`Crash`;case`idle_sleep`:return`Idle Sleep`;case`wake`:return`Wake`;case`profiler`:return`Profiler`;case`other`:return`Other`;default:return e}}function x(e){switch(e){case`started`:return`Started`;case`succeeded`:return`Succeeded`;case`failed`:return`Failed`;case`in_progress`:return`In Progress`;default:return e}}function S(e){return e===`succeeded`}function C(e){return e===`failed`}function w(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function T(e){if(e.type!==`idle_sleep`)return!1;let t=e.details?.idle_timeout_seconds;return typeof t==`number`&&t>=21600}function E(e,t){switch(e){case`wake`:return`positive`;case`rollback`:return`warning`;case`crash`:return`negative`;case`idle_sleep`:return t&&T(t)?`warning`:`neutral`;default:return`neutral`}}function D({type:e,event:t}){return(0,y.jsx)(a,{tone:E(e,t),children:b(e)})}function O({status:e}){let t=x(e);return S(e)?(0,y.jsx)(a,{tone:`positive`,leftIcon:(0,y.jsx)(p,{}),children:t}):C(e)?(0,y.jsx)(a,{tone:`negative`,leftIcon:(0,y.jsx)(h,{}),children:t}):(0,y.jsx)(a,{tone:`neutral`,children:t})}function k({event:e}){let[t,n]=(0,v.useState)(!1),r=e.details!==null&&e.details!==void 0&&Object.keys(e.details).length>0;return(0,y.jsxs)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,y.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,y.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,y.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.display_text}),(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,y.jsx)(D,{type:e.type,event:e}),(0,y.jsx)(O,{status:e.event_status}),T(e)&&(0,y.jsx)(a,{tone:`warning`,leftIcon:(0,y.jsx)(g,{className:`h-3 w-3`}),children:`Long sleep`})]})]}),(0,y.jsxs)(`div`,{className:`text-body-small-default flex shrink-0 items-center gap-1.5`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(u,{className:`h-3 w-3`}),(0,y.jsx)(`span`,{children:w(e.occurred_at)})]})]}),r&&(0,y.jsxs)(`div`,{className:`mt-2`,children:[(0,y.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`text-body-small-default flex items-center gap-1`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(c,{className:`h-3 w-3 transition-transform ${t?`rotate-180`:``}`}),t?`Hide details`:`Show details`]}),t&&(0,y.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded-md p-3 text-body-small-default`,style:{background:`var(--surface-base)`,color:`var(--content-default)`},children:JSON.stringify(e.details,null,2)})]})]})}function A({assistantId:e}){let{data:t,isLoading:n,isError:r,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:s}=m({...d({path:{assistant_id:e}}),initialPageParam:0,getNextPageParam:(e,t)=>{if(e.next)return t.reduce((e,t)=>e+t.results.length,0)}}),c=t?.pages.flatMap(e=>e.results)??[];return(0,y.jsxs)(`div`,{className:`space-y-4`,children:[(0,y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Lifecycle events for your assistant from the last 30 days, newest first.`}),n?(0,y.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading system events...`]}):r?(0,y.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--system-negative-strong)`},children:[(0,y.jsx)(g,{className:`h-4 w-4 shrink-0`}),`Failed to load system events. Please refresh and try again.`]}):c.length===0?(0,y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No system events recorded in the last 30 days.`}):(0,y.jsxs)(`div`,{className:`space-y-2`,children:[c.map(e=>(0,y.jsx)(k,{event:e},e.id)),a&&(0,y.jsx)(`div`,{className:`pt-2 text-center`,children:(0,y.jsx)(`button`,{type:`button`,onClick:()=>s(),disabled:i,className:`text-body-medium-default flex w-full items-center justify-center gap-2 rounded-md border px-4 py-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-element)`,color:`var(--content-secondary)`},children:i?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading older events...`]}):`Load older events`})})]})]})}function j(){let e=l({platformHostedOnly:!0}),t=f(),r=_();return e===`gated`?(0,y.jsx)(n,{replace:!0,to:s.logs.root}):e===`disabled`?(0,y.jsx)(i,{tone:`info`,children:`Log in to the Vellum platform to view system events.`}):t?(0,y.jsx)(A,{assistantId:r}):(0,y.jsx)(i,{tone:`warning`,children:`System events aren't available for the current assistant.`})}export{j as SystemEventsPage};