@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.
- package/dist/assets/{BundleConfirmPage-jkqaLCJa.js → BundleConfirmPage-YJRCo0Hn.js} +1 -1
- package/dist/assets/{account-page-CnPPGmfm.js → account-page-Dj92GjiR.js} +1 -1
- package/dist/assets/{add-credits-modal-BxO-aOIt.js → add-credits-modal-CsP4udDc.js} +1 -1
- package/dist/assets/{advanced-page-B-9YunGO.js → advanced-page-BCnHb6oY.js} +1 -1
- package/dist/assets/{ai-page-Ccq4dwgh.js → ai-page-DcBsmsTv.js} +1 -1
- package/dist/assets/ai-utils-NK8I8SN2.js +1 -0
- package/dist/assets/{api-OKSSIP8W.js → api-DiLLlhgt.js} +1 -1
- package/dist/assets/{api-key-screen-BdonZw0y.js → api-key-screen-Nxq7EclW.js} +1 -1
- package/dist/assets/{app-html-cache-D7jkI5-i.js → app-html-cache-DuUq2_RD.js} +1 -1
- package/dist/assets/{archive-page-D-lt2ew2.js → archive-page-DGVZ9qUU.js} +1 -1
- package/dist/assets/{assistant-status-panel-DXNBZech.js → assistant-status-panel-B-yM7DE5.js} +1 -1
- package/dist/assets/{auth-store-BDBEYGBC.js → auth-store-C4gcHOWH.js} +1 -1
- package/dist/assets/{avatar-api-DbhDkml8.js → avatar-api-CLSAZR4o.js} +1 -1
- package/dist/assets/billing-page-C_pAWHkv.js +3 -0
- package/dist/assets/{command-palette-oEhmGGJ_.js → command-palette-CmihDJi0.js} +1 -1
- package/dist/assets/{command-palette-window-page-CDLfRYDZ.js → command-palette-window-page-CHxcr6A6.js} +1 -1
- package/dist/assets/{community-page-BwBAzLWc.js → community-page-BgwEi2WM.js} +1 -1
- package/dist/assets/{connect-page-BmHjyuVm.js → connect-page-DKR1ECD0.js} +1 -1
- package/dist/assets/contacts-page-route-ALOLGdXW.js +1 -0
- package/dist/assets/{debug-page-DIjs01B3.js → debug-page-DwWy2v03.js} +1 -1
- package/dist/assets/{deploy-dialogs-K3jkgI2T.js → deploy-dialogs-DrOvG0Ma.js} +1 -1
- package/dist/assets/{developer-page-DFhuZ_hl.js → developer-page-CNY0EBWx.js} +1 -1
- package/dist/assets/{devices-page-DdDILkUC.js → devices-page-DyJCd4s2.js} +1 -1
- package/dist/assets/{dictation-overlay-page-CxBuw-hP.js → dictation-overlay-page-bAy1yMeW.js} +1 -1
- package/dist/assets/{document-viewer-page-Y69T82fT.js → document-viewer-page-B1YXPDXM.js} +1 -1
- package/dist/assets/{earn-credits-modal-CYjyqSQ0.js → earn-credits-modal-BVhrVwKQ.js} +1 -1
- package/dist/assets/{emails-page-DBN4Tl5W.js → emails-page-xMdxei56.js} +1 -1
- package/dist/assets/{general-page-Bp5ucjKX.js → general-page-CzxX_ytO.js} +1 -1
- package/dist/assets/{hatching-screen-CzrL6chE.js → hatching-screen-BvaGi8x7.js} +1 -1
- package/dist/assets/{home-page-route-CaqhLSrL.js → home-page-route-Bxgs4dcd.js} +1 -1
- package/dist/assets/{hosting-screen-WK7sHIGI.js → hosting-screen-Jp346VHw.js} +1 -1
- package/dist/assets/{identity-page-route-B3RBccXw.js → identity-page-route-DHz3LOu0.js} +1 -1
- package/dist/assets/{index-Ue-r3LET.js → index-87hTkD_v.js} +20 -20
- package/dist/assets/inspect-page-B9wa3RHM.js +3 -0
- package/dist/assets/{install-DKeB-cXi.js → install-BlwjvAKk.js} +1 -1
- package/dist/assets/integrations-page-2soaHaLH.js +1 -0
- package/dist/assets/{intelligence-layout-CmazwWMA.js → intelligence-layout-DRGbJocy.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-jZLFffHe.js → keyboard-shortcuts-page-DqPqhIaF.js} +1 -1
- package/dist/assets/{library-detail-page-arp0ms3i.js → library-detail-page-DLekVuPD.js} +1 -1
- package/dist/assets/{library-page-B_Um_0PB.js → library-page-DFBGqpq4.js} +1 -1
- package/dist/assets/{login-flow-BbNFfr7k.js → login-flow-DmfVD3r_.js} +1 -1
- package/dist/assets/{login-page-C1onXPvg.js → login-page-CaI9s3W4.js} +1 -1
- package/dist/assets/{logout-page-CZh6Uq_T.js → logout-page-DMO7Ro8q.js} +1 -1
- package/dist/assets/{logs-layout-DH3tK8BL.js → logs-layout-XvmAJO6n.js} +1 -1
- package/dist/assets/{memory-router-playground-page-BWcZZNFJ.js → memory-router-playground-page-DbSrBXJN.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-BRnz4Jvz.js → mobile-sidebar-drawer-CBYUCY4b.js} +1 -1
- package/dist/assets/{notifications-page-BdpIL_Je.js → notifications-page-BWn1NfeD.js} +1 -1
- package/dist/assets/{oauth-complete-page-CYJsWX1G.js → oauth-complete-page-qd6rU5o-.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-B4P5UDKV.js → oauth-popup-complete-page-EU9BzQqV.js} +1 -1
- package/dist/assets/{platform-loopback-page-C1Kd436W.js → platform-loopback-page-ZNZz8YUX.js} +1 -1
- package/dist/assets/plugin-detail-page-D7tzIKVl.js +1 -0
- package/dist/assets/plugins-page-D-kijwJP.js +1 -0
- package/dist/assets/{pre-chat-flow-CpevOsrA.js → pre-chat-flow-BSXfD6S0.js} +1 -1
- package/dist/assets/{privacy-page-DbFKqGg4.js → privacy-page-BiyTmDHN.js} +1 -1
- package/dist/assets/{privacy-screen-CpDWfUis.js → privacy-screen-mhJ5CnV4.js} +1 -1
- package/dist/assets/{provider-callback-page-CQuLD5No.js → provider-callback-page-BuPFhW7i.js} +1 -1
- package/dist/assets/{provider-key-BYLNbH9o.js → provider-key-Clqsm-h7.js} +1 -1
- package/dist/assets/{provider-signup-page-C6xTOqI6.js → provider-signup-page-DhOuxnxY.js} +1 -1
- package/dist/assets/{query-tags-D58uls0S.js → query-tags-DPKpdc1_.js} +1 -1
- package/dist/assets/react-query.gen-B_oGDSP8.js +1 -0
- package/dist/assets/{review-terms-screen-itzeD0QH.js → review-terms-screen-BgLGEzR9.js} +1 -1
- package/dist/assets/{schedules-CULDXQU7.js → schedules-Cxb9otxN.js} +1 -1
- package/dist/assets/schedules-page-SwCpd9Y6.js +1 -0
- package/dist/assets/{sdk.gen-18Tp6Ee_.js → sdk.gen-DgqwY_WN.js} +1 -1
- package/dist/assets/{select-assistant-screen-DXbNAlGe.js → select-assistant-screen-CIVt4gg2.js} +1 -1
- package/dist/assets/{settings-layout-N_A_6E3u.js → settings-layout-L6c6Zaje.js} +1 -1
- package/dist/assets/{share-feedback-modal-B9w8RmIj.js → share-feedback-modal-BlMDGejV.js} +1 -1
- package/dist/assets/{sidebar-tree-CivI4sXe.js → sidebar-tree-KVdXcht-.js} +1 -1
- package/dist/assets/{signup-page-COvQK9fm.js → signup-page-FdYQKUli.js} +1 -1
- package/dist/assets/{skills-page-BoipXRsU.js → skills-page-Cs1mTTpA.js} +1 -1
- package/dist/assets/{sounds-page-2GDbwQsL.js → sounds-page-BtPyTbtD.js} +1 -1
- package/dist/assets/{step-indicator-dots-BusA89ya.js → step-indicator-dots-C_x0ZHGS.js} +1 -1
- package/dist/assets/{subagent-detail-panel-CN_sN89F.js → subagent-detail-panel-C6FfdUDE.js} +1 -1
- package/dist/assets/{system-events-page-DJIYOd5W.js → system-events-page-D9gAK-2s.js} +1 -1
- package/dist/assets/{tiptap-document-editor-B5IBRg7q.js → tiptap-document-editor-Cl8KJbb0.js} +1 -1
- package/dist/assets/{tool-detail-panel-CAZdGcvz.js → tool-detail-panel-DP9ZUGgW.js} +1 -1
- package/dist/assets/{trace-page-Db3S2Hsr.js → trace-page-ClDbcKcm.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-mjlsJGp8.js → upgrade-cancel-page-BXZOicV3.js} +1 -1
- package/dist/assets/{upgrade-success-page-BHISIP3f.js → upgrade-success-page-CeM_gFIj.js} +1 -1
- package/dist/assets/{usage-page-BlvccKgv.js → usage-page-DHofU58j.js} +1 -1
- package/dist/assets/{use-daemon-config-DBKbFpqu.js → use-daemon-config-BLCgqB8a.js} +1 -1
- package/dist/assets/use-is-org-ready-BgB6QXom.js +1 -0
- package/dist/assets/{use-oauth-complete-deep-link-listener-Bteh0USx.js → use-oauth-complete-deep-link-listener-DnDBZsXG.js} +1 -1
- package/dist/assets/{use-onboarding-login-ByZGkreO.js → use-onboarding-login-CYb9P9G7.js} +1 -1
- package/dist/assets/use-plugin-drift-uJRE3xTx.js +1 -0
- package/dist/assets/{viewer-store-cX7oqdcL.js → viewer-store-o5byTOZU.js} +1 -1
- package/dist/assets/{voice-page-DOpV3VSS.js → voice-page-sB7S0uAp.js} +1 -1
- package/dist/assets/{weather-forecast-display-ByPBvVhv.js → weather-forecast-display-C5PORkTk.js} +1 -1
- package/dist/assets/{welcome-screen-3d2lXMb8.js → welcome-screen-Rm6Zm5dD.js} +1 -1
- package/dist/assets/{workspace-page-JSb7VYXM.js → workspace-page-zV0pbQfl.js} +1 -1
- package/dist/index.html +11 -11
- package/package.json +1 -1
- package/dist/assets/ai-utils-C-JayVoL.js +0 -1
- package/dist/assets/billing-page-BJ__Ep9o.js +0 -3
- package/dist/assets/contacts-page-route-CcDLyEf6.js +0 -1
- package/dist/assets/inspect-page-B3_pcn__.js +0 -3
- package/dist/assets/integrations-page-BaDzdFWK.js +0 -1
- package/dist/assets/plugin-detail-page-BEjyf-Ux.js +0 -1
- package/dist/assets/plugins-page-B6qln-fF.js +0 -1
- package/dist/assets/react-query.gen-Bp_whSkG.js +0 -1
- package/dist/assets/schedules-page-LaB58sYQ.js +0 -1
- package/dist/assets/use-is-org-ready-7bL7PowO.js +0 -1
- /package/dist/assets/{avatar-bundled-components-CL39cwfR.js → avatar-bundled-components-D1Q_IPFc.js} +0 -0
- /package/dist/assets/{danger-zone-redirect-page-KLttOmNm.js → danger-zone-redirect-page-B7We5zLz.js} +0 -0
- /package/dist/assets/{environment-store-BFK2MIjF.js → environment-store-D3R6E-cP.js} +0 -0
- /package/dist/assets/{format-CCVadvyp.js → format-Bx7lme44.js} +0 -0
- /package/dist/assets/{format-date-Pw0m-fQ8.js → format-date-6MJxjyy6.js} +0 -0
- /package/dist/assets/{format-file-size-DRikIrHj.js → format-file-size-DkWrZmJq.js} +0 -0
- /package/dist/assets/{llm-dimension-CN3sxcTZ.js → llm-dimension-v8X-KTEz.js} +0 -0
- /package/dist/assets/{onboarding-layout-40CHAFT0.js → onboarding-layout-BAx3atHc.js} +0 -0
- /package/dist/assets/{system-events-redirect-page-BAb2LAAA.js → system-events-redirect-page-De2HLo0x.js} +0 -0
- /package/dist/assets/{usage-window-BZdZL5mo.js → usage-window-DIaL-FoL.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n,t as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-CL5iEMJO.js";import"./src-Bnn6algv.js";import{t as s}from"./input-Cu3PPVCq.js";import{t as c}from"./chevron-right-C1TiR5qP.js";import{t as l}from"./loader-circle-C563RcPZ.js";import{ln as u}from"./sdk.gen-18Tp6Ee_.js";import{B as d,R as f}from"./react-query.gen-Bp_whSkG.js";import{i as p}from"./routes-VcLWbBmh.js";import{t as m}from"./assistant-feature-flag-store-BPZq6n_3.js";import{Li as h,Ui as g,yi as _}from"./index-Ue-r3LET.js";import{t as v}from"./use-active-assistant-id-B2Zd0B4I.js";var y=e(t(),1),b=a();function x({match:e}){return(0,b.jsx)(o.Root,{asChild:!0,children:(0,b.jsxs)(r,{to:p.plugin(e.name),className:`group flex cursor-pointer items-center gap-4 px-5 py-4 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,b.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center text-2xl`,children:`📦`}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,b.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e.name})}),e.description&&(0,b.jsx)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.description}),(0,b.jsx)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},title:e.path,children:e.path})]}),(0,b.jsx)(c,{className:`h-5 w-5 shrink-0 opacity-0 transition-opacity group-hover:opacity-100`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})})}function S({plugin:e}){return(0,b.jsx)(o.Root,{asChild:!0,children:(0,b.jsxs)(r,{to:p.plugin(e.name),className:`group flex cursor-pointer items-center gap-4 px-5 py-4 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,b.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center text-2xl`,children:`🧩`}),(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:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e.name}),e.version?(0,b.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,e.version]}):null]}),(0,b.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:e.description??`No description provided.`}),e.issues&&e.issues.length>0?(0,b.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:e.issues.join(`; `),children:[e.issues[0],e.issues.length>1?` (+${e.issues.length-1} more)`:``]}):null]}),(0,b.jsx)(c,{className:`h-5 w-5 shrink-0 opacity-0 transition-opacity group-hover:opacity-100`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})})}var C=300*1e3;function w(e,...t){return e?t.some(t=>t?.toLowerCase().includes(e)):!0}function T({assistantId:e}){let[t,n]=(0,y.useState)(``),r=t.trim().toLowerCase(),a=i({queryKey:f({path:{assistant_id:e},query:{q:void 0}}),queryFn:async({signal:t})=>{let n=await u({path:{assistant_id:e},query:{q:void 0},signal:t,throwOnError:!1});if(n.response?.status===404)return{plugins:[]};if(!n.response?.ok)throw Error(`Failed to load plugins`);return n.data??{plugins:[]}},enabled:!!e,staleTime:C}),o=i({...d({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e,staleTime:C}),s=(0,y.useMemo)(()=>E(a.data?.plugins??[]),[a.data?.plugins]),c=(0,y.useMemo)(()=>new Set(s.map(e=>e.name)),[s]),l=(0,y.useMemo)(()=>s.filter(e=>w(r,e.name,e.description)),[s,r]),p=(0,y.useMemo)(()=>(o.data?.matches??[]).filter(e=>!c.has(e.name)&&w(r,e.name,e.description)),[o.data?.matches,c,r]),m=a.isFetching&&!a.isLoading||o.isFetching&&!o.isLoading,h=a.isLoading,g=o.isLoading,_=!h&&!a.isError&&l.length===0,v=!g&&p.length===0;return(0,b.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[(0,b.jsx)(D,{search:t,onSearchChange:n,isSearching:m}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:[(0,b.jsx)(O,{title:`Installed`}),h?(0,b.jsx)(k,{}):a.isError?(0,b.jsx)(M,{}):_?(0,b.jsx)(A,{hasQuery:!!r}):(0,b.jsx)(`ul`,{className:`flex flex-col gap-2`,children:l.map(e=>(0,b.jsx)(`li`,{children:(0,b.jsx)(S,{plugin:e})},e.id))}),(0,b.jsx)(`div`,{className:`mt-6`}),(0,b.jsx)(O,{title:`Available to install`}),g?(0,b.jsx)(k,{}):o.isError?(0,b.jsx)(N,{}):v?(0,b.jsx)(j,{hasQuery:!!r}):(0,b.jsx)(`ul`,{className:`flex flex-col gap-2`,children:p.map(e=>(0,b.jsx)(`li`,{children:(0,b.jsx)(x,{match:e})},e.path))})]})]})}function E(e){return[...e].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`}))}function D({search:e,onSearchChange:t,isSearching:n}){return(0,b.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,b.jsx)(s,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search Plugins`,"aria-label":`Search Plugins`,leftIcon:(0,b.jsx)(h,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:n?(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`})})}function O({title:e}){return(0,b.jsx)(`h3`,{className:`mb-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e})}function k(){return(0,b.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,b.jsx)(l,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function A({hasQuery:e}){let t=e?`No installed plugins match`:`No Plugins Installed`,n=e?`Try a different search term, or browse the catalog below.`:`Install a plugin with the CLI, or browse the catalog below.`,r=e?h:g;return(0,b.jsx)(o.Root,{children:(0,b.jsxs)(o.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,b.jsx)(r,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,b.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:t}),(0,b.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n})]})})}function j({hasQuery:e}){let t=e?`No catalog entries match`:`Catalog is empty`,n=e?`Try a different search term, or remove the filter to browse everything.`:`No plugins are currently published in the catalog.`;return(0,b.jsx)(o.Root,{children:(0,b.jsxs)(o.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,b.jsx)(h,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,b.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:t}),(0,b.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n})]})})}function M(){return(0,b.jsx)(o.Root,{children:(0,b.jsxs)(o.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,b.jsx)(_,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,b.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load plugins`}),(0,b.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 N(){return(0,b.jsx)(o.Root,{children:(0,b.jsxs)(o.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,b.jsx)(g,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,b.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Couldn't load catalog`}),(0,b.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Catalog browsing is temporarily unavailable. Installed plugins are still listed above.`})]})})}function P(){let e=m.use.hasHydrated(),t=m.use.externalPlugins(),r=v();return e?t?(0,b.jsx)(T,{assistantId:r}):(0,b.jsx)(n,{to:p.identity,replace:!0}):null}export{P as PluginsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./queryOptions-BtNi-_9H.js";import{$t as t,A as n,An as r,Dn as i,En as a,O as o,On as s,Qt as c,St as l,Xn as u,an as ee,cn as te,ct as ne,dn as re,dt as ie,en as ae,ft as oe,in as se,jt as ce,k as d,kn as f,kt as p,nn as m,o as h,pt as g,rn as _,sn as v,tn as y,un as b,ut as x,v as S,x as C,y as w,zn as T}from"./sdk.gen-18Tp6Ee_.js";var E=(e,t,n,r)=>{let i={_id:e,baseUrl:t?.baseUrl||(t?.client??u).getConfig().baseUrl};return n&&(i._infinite=n),r&&(i.tags=r),t?.body&&(i.body=t.body),t?.headers&&(i.headers=t.headers),t?.path&&(i.path=t.path),t?.query&&(i.query=t.query),[i]},D=e=>E(`appsGet`,e),O=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await h({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:D(t)}),k=e=>E(`channelsAvailableGet`,e),A=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await S({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:k(t)}),j=e=>E(`channelsReadinessGet`,e),M=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await w({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:j(t)}),N=e=>E(`configGet`,e),P=e=>E(`configLlmCallsitesGet`,e),F=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await C({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:P(t)}),I=e=>({mutationFn:async t=>{let{data:n}=await o({...e,...t,throwOnError:!0});return n}}),L=e=>E(`contactsGet`,e),R=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await d({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:L(t)}),z=e=>({mutationFn:async t=>{let{data:r}=await n({...e,...t,throwOnError:!0});return r}}),B=e=>E(`documentsGet`,e),V=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await ne({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:B(t)}),H=e=>E(`groupsGet`,e),U=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await oe({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:H(t)}),W=e=>({mutationFn:async t=>{let{data:n}=await g({...e,...t,throwOnError:!0});return n}}),G=e=>({mutationFn:async t=>{let{data:n}=await x({...e,...t,throwOnError:!0});return n}}),le=e=>({mutationFn:async t=>{let{data:n}=await ie({...e,...t,throwOnError:!0});return n}}),ue=e=>E(`homeFeedGet`,e),K=e=>E(`homeStateGet`,e),de=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await l({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:K(t)}),q=e=>E(`inferenceProviderconnectionsGet`,e),fe=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await p({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:q(t)}),pe=e=>({mutationFn:async t=>{let{data:n}=await ce({...e,...t,throwOnError:!0});return n}}),J=e=>E(`oauthAppsGet`,e),me=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await y({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:J(t)}),he=e=>({mutationFn:async t=>{let{data:n}=await m({...e,...t,throwOnError:!0});return n}}),ge=e=>({mutationFn:async t=>{let{data:n}=await c({...e,...t,throwOnError:!0});return n}}),Y=e=>E(`oauthAppsByAppIdConnectionsGet`,e),_e=n=>e({queryFn:async({queryKey:e,signal:r})=>{let{data:i}=await t({...n,...e[0],signal:r,throwOnError:!0});return i},queryKey:Y(n)}),ve=e=>({mutationFn:async t=>{let{data:n}=await ae({...e,...t,throwOnError:!0});return n}}),ye=e=>({mutationFn:async t=>{let{data:n}=await _({...e,...t,throwOnError:!0});return n}}),be=e=>E(`oauthProvidersGet`,e),xe=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await ee({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:be(t)}),Se=e=>E(`oauthProvidersByProviderKeyGet`,e),Ce=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await se({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:Se(t)}),we=e=>E(`pluginsGet`,e),Te=e=>({mutationFn:async t=>{let{data:n}=await v({...e,...t,throwOnError:!0});return n}}),X=e=>E(`pluginsByNameGet`,e),Ee=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await te({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:X(t)}),De=e=>({mutationFn:async t=>{let{data:n}=await b({...e,...t,throwOnError:!0});return n}}),Z=e=>E(`pluginsSearchGet`,e),Oe=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await re({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:Z(t)}),Q=e=>E(`skillsGet`,e),ke=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:i}=await r({...t,...e[0],signal:n,throwOnError:!0});return i},queryKey:Q(t)}),Ae=e=>({mutationFn:async t=>{let{data:n}=await a({...e,...t,throwOnError:!0});return n}}),$=e=>E(`skillsByIdFilesGet`,e),je=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await s({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:$(t)}),Me=e=>E(`skillsByIdFilesContentGet`,e),Ne=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await i({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:Me(t)}),Pe=e=>E(`skillsCategoriesGet`,e),Fe=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await f({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:Pe(t)}),Ie=e=>E(`ttsProvidersGet`,e),Le=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await T({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:Ie(t)});export{J as A,Oe as B,q as C,Y as D,_e as E,Te as F,Fe as G,Ae as H,Ee as I,Le as J,ke as K,X as L,ye as M,Ce as N,ve as O,xe as P,we as R,fe as S,ge as T,Ne as U,Z as V,je as W,H as _,j as a,de as b,I as c,z as d,V as f,U as g,le as h,M as i,he as j,me as k,R as l,G as m,D as n,N as o,B as p,Q as q,A as r,F as s,O as t,L as u,W as v,pe as w,K as x,ue as y,De as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dze4ISSQ.js";import{t as n}from"./react-DJZBPgpf.js";import{d as r,p as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./cn-DFqQkJlk.js";import{t as l}from"./button-C68o-wep.js";import{t as u}from"./dropdown-CocFV5yi.js";import{n as d}from"./src-Bnn6algv.js";import{t as f}from"./notice-CF2pptne.js";import{t as p}from"./tag-Ccr7Quy6.js";import{t as m}from"./panel-item-FzMfzMJA.js";import{n as h,t as g}from"./input-Cu3PPVCq.js";import{t as _}from"./toggle-CEm3M86o.js";import{n as v}from"./stat-square-BENJGRZr.js";import{t as y}from"./modal-BYMhDpQo.js";import{n as b}from"./toast-BL8OPiip.js";import{t as x}from"./calendar-CP_Q3Aw6.js";import{t as S}from"./chevron-right-C1TiR5qP.js";import{t as C}from"./loader-circle-C563RcPZ.js";import{D as w,E as T,T as E,_n as D,_t as O,bn as k,gn as A,gt as j,hn as M,ht as N,mn as P,pn as F,vt as I,yn as L}from"./sdk.gen-18Tp6Ee_.js";import{n as R,r as z,t as B}from"./api-errors-CsfCFJ8r.js";import{a as ee}from"./api-OKSSIP8W.js";import{i as V}from"./routes-VcLWbBmh.js";import{c as te,l as ne,s as re}from"./query-tags-D58uls0S.js";import{t as ie}from"./effective-timezone-CIYaAgHc.js";import{Fi as ae,Ga as oe,Ki as se,Qa as ce,Wi as le,Wn as H,ao as U,eo as ue,na as de,xi as fe}from"./index-Ue-r3LET.js";import{t as pe}from"./use-active-assistant-id-B2Zd0B4I.js";import{t as W}from"./detail-card-BOk0V4_4.js";import{n as me}from"./usage-window-BZdZL5mo.js";import{t as he}from"./schedules-CULDXQU7.js";var G=e(n(),1);async function ge(e,t){let{error:n,response:r}=await L({path:{assistant_id:e},body:t,throwOnError:!1});if(R(r,n,`Failed to create schedule.`),!r.ok)throw new B(r.status,z(n,r,`Failed to create schedule.`))}async function _e(e,t,n){let{error:r,response:i}=await P({path:{assistant_id:e,id:t},body:n,throwOnError:!1});if(R(i,r,`Failed to update schedule.`),!i.ok)throw new B(i.status,z(r,i,`Failed to update schedule.`))}async function ve(e){return he(e)}async function ye(e,t,n=10){let{data:r,error:i,response:a}=await A({path:{assistant_id:e,id:t},query:{limit:n},throwOnError:!1});if(R(a,i,`Failed to load schedule runs.`),!a.ok)throw new B(a.status,z(i,a,`Failed to load schedule runs.`));return r?.runs??[]}async function be(e,t){let{data:n,error:r,response:i}=await k({path:{assistant_id:e},query:{from:t.from,to:t.to},throwOnError:!1});if(R(i,r,`Failed to load schedule usage.`),!i.ok)throw new B(i.status,z(r,i,`Failed to load schedule usage.`));return n?.summaries??[]}async function xe(e,t,n){let{error:r,response:i}=await D({path:{assistant_id:e,id:t},body:{enabled:n},throwOnError:!1});if(R(i,r,`Failed to toggle schedule.`),!i.ok)throw new B(i.status,z(r,i,`Failed to toggle schedule.`))}async function Se(e,t){let{error:n,response:r}=await F({path:{assistant_id:e,id:t},throwOnError:!1});if(R(r,n,`Failed to delete schedule.`),!r.ok&&r.status!==204)throw new B(r.status,z(n,r,`Failed to delete schedule.`))}async function Ce(e,t){let{error:n,response:r}=await M({path:{assistant_id:e,id:t},throwOnError:!1});if(R(r,n,`Failed to run schedule.`),!r.ok)throw new B(r.status,z(n,r,`Failed to run schedule.`))}async function K(e,t=10){let{data:n,error:r,response:i}=await I({path:{assistant_id:e},query:{limit:t},throwOnError:!1});if(R(i,r,`Failed to load heartbeat runs.`),!i.ok)throw new B(i.status,z(r,i,`Failed to load heartbeat runs.`));return(n?.runs??[]).map(e=>({id:e.id,jobId:`heartbeat`,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:e.skipReason?`Skipped: ${e.skipReason}`:null,error:e.error,conversationId:e.conversationId,conversationExists:e.conversationExists,conversationArchivedAt:e.conversationArchivedAt,estimatedCostUsd:e.estimatedCostUsd,createdAt:e.createdAt}))}async function we(e,t=10){let{data:n,error:r,response:i}=await w({path:{assistant_id:e},query:{limit:t},throwOnError:!1});if(R(i,r,`Failed to load consolidation runs.`),!i.ok)throw new B(i.status,z(r,i,`Failed to load consolidation runs.`));return(n?.runs??[]).map(e=>({id:e.id,jobId:`consolidation`,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:null,error:e.error,conversationId:e.conversationId,conversationExists:e.conversationExists,conversationArchivedAt:e.conversationArchivedAt,estimatedCostUsd:e.estimatedCostUsd,createdAt:e.createdAt}))}async function Te(e){let{data:t,error:n,response:r}=await N({path:{assistant_id:e},throwOnError:!1});if(R(r,n,`Failed to load heartbeat config.`),!r.ok||!t)throw new B(r.status,z(n,r,`Failed to load heartbeat config.`));return t}async function Ee(e,t){let{data:n,error:r,response:i}=await e();if(R(i,r,t),!i.ok||!n)throw new B(i.status,z(r,i,t));return n}async function De(e,t){return Ee(()=>j({path:{assistant_id:e},body:t,throwOnError:!1}),`Failed to update heartbeat config.`)}async function Oe(e){let{data:t,error:n,response:r}=await O({path:{assistant_id:e},throwOnError:!1});if(R(r,n,`Failed to run heartbeat.`),!r.ok||!t)throw new B(r.status,z(n,r,`Failed to run heartbeat.`));return t}async function ke(e){let{data:t,error:n,response:r}=await E({path:{assistant_id:e},throwOnError:!1});if(R(r,n,`Failed to load consolidation config.`),!r.ok||!t)throw new B(r.status,z(n,r,`Failed to load consolidation config.`));return t}async function Ae(e){let{data:t,error:n,response:r}=await T({path:{assistant_id:e},throwOnError:!1});if(R(r,n,`Failed to run consolidation.`),!r.ok||!t)throw new B(r.status,z(n,r,`Failed to run consolidation.`));return t}var je={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},q=[{value:0,letter:`S`,short:`Sun`,full:`Sunday`},{value:1,letter:`M`,short:`Mon`,full:`Monday`},{value:2,letter:`T`,short:`Tue`,full:`Tuesday`},{value:3,letter:`W`,short:`Wed`,full:`Wednesday`},{value:4,letter:`T`,short:`Thu`,full:`Thursday`},{value:5,letter:`F`,short:`Fri`,full:`Friday`},{value:6,letter:`S`,short:`Sat`,full:`Saturday`}],Me=[1,2,3,4,5];function J(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function Ne(e){let t=Array.from(new Set(e.map(e=>J(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function Pe(e){let t=J(e.minute,0,59),n=J(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${Ne(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${J(e.dayOfMonth,1,28)} * *`}}function Fe(e,t){let n=J(e,0,23),r=J(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function Ie(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function Le(e){let t=Ne(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&Me.every(e=>n.has(e)))return`every weekday`;if(t.length===2&&n.has(0)&&n.has(6))return`every weekend`;if(t.length===1)return`every ${q[t[0]]?.full??`day`}`;let r=t.map(e=>q[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function Re(e){let t=Fe(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=J(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${Le(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${Ie(J(e.dayOfMonth,1,28))} of every month at ${t}`}}var Y=s(),ze=[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],Be=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),Ve=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}}),He=[...Array.from({length:28},(e,t)=>{let n=t+1;return{value:String(n),label:Ie(n)}}),{value:`last`,label:`Last day`}],Ue=[{value:`AM`,label:`AM`},{value:`PM`,label:`PM`}];function We(e,t){let n=e%12;return t===`PM`?n+12:n}function Ge(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function Ke({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,Y.jsx)(y.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,Y.jsx)(qe,{assistantId:t,onClose:n,onCreated:r}):null})}function qe({assistantId:e,onClose:t,onCreated:n}){let r=H(),[i,a]=(0,G.useState)(``),[o,s]=(0,G.useState)(``),[c,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(`simple`),[p,m]=(0,G.useState)(je),[_,v]=(0,G.useState)(``),[b,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(null),w=i.trim(),T=o.trim(),E=c.trim(),D=_.trim(),O=(0,G.useMemo)(()=>d===`simple`?Pe(p):D,[d,p,D]),k=(0,G.useMemo)(()=>d===`simple`?Re(p):D||`Enter a cron expression to continue.`,[d,p,D]),A=(0,G.useMemo)(()=>Ge(r),[r]),j=w.length>0&&T.length>0&&E.length>0&&O.length>0&&!b;return(0,Y.jsxs)(y.Content,{size:`md`,children:[(0,Y.jsxs)(y.Header,{children:[(0,Y.jsx)(y.Title,{children:`Create schedule`}),(0,Y.jsx)(y.Description,{children:`Schedule a recurring instruction for your assistant. Runs in execute mode — the message is delivered to the assistant on each fire.`})]}),(0,Y.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),j){x(!0),C(null);try{await ge(e,{name:w,description:T,expression:O,message:E,timezone:r}),x(!1),n()}catch(e){C(e instanceof Error?e.message:`Failed to create schedule.`),x(!1)}}},children:[(0,Y.jsx)(y.Body,{children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Y.jsx)(g,{label:`Name`,placeholder:`Morning briefing`,value:i,onChange:e=>a(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,Y.jsx)(h,{label:`Description`,placeholder:`What is this schedule for?`,value:o,onChange:e=>s(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,Y.jsx)(Qe,{label:`Repeat`,children:d===`simple`?(0,Y.jsx)(Je,{cadence:p,onChange:m}):(0,Y.jsx)(Ze,{value:_,onChange:v,onUseSimple:()=>f(`simple`)})}),(0,Y.jsx)($e,{summary:k,mono:d===`advanced`&&D.length>0,timezoneLabel:A}),d===`simple`?(0,Y.jsx)(`button`,{type:`button`,onClick:()=>{v(e=>e||Pe(p)),f(`advanced`)},className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`Advanced — write a cron expression`}):null,(0,Y.jsx)(h,{label:`Message`,placeholder:`What should the assistant do on each fire?`,value:c,onChange:e=>u(e.target.value),required:!0,fullWidth:!0,rows:4}),S?(0,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:S}):null]})}),(0,Y.jsxs)(y.Footer,{children:[(0,Y.jsx)(l,{variant:`outlined`,onClick:t,type:`button`,children:`Cancel`}),(0,Y.jsx)(l,{variant:`primary`,type:`submit`,disabled:!j,children:b?`Creating…`:`Create schedule`})]})]})]})}function Je({cadence:e,onChange:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(v,{items:ze,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:`How often the schedule runs`}),e.frequency===`hourly`?(0,Y.jsx)(X,{label:`At minute`,children:(0,Y.jsx)(u,{options:Ve,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":`Minute`,className:`w-24`})}):null,e.frequency===`weekly`?(0,Y.jsx)(X,{label:`On these days`,children:(0,Y.jsx)(Xe,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,Y.jsx)(X,{label:`On day`,children:(0,Y.jsx)(u,{options:He,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":`Day of month`,className:`w-32`})}):null,e.frequency===`hourly`?null:(0,Y.jsx)(X,{label:`At time`,children:(0,Y.jsx)(Ye,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function Ye({hour24:e,minute:t,onChange:n}){let r=e<12?`AM`:`PM`,i=e%12==0?12:e%12;return(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(u,{options:Be,value:String(i),onChange:e=>n(We(Number(e),r),t),"aria-label":`Hour`,className:`w-[72px]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,Y.jsx)(u,{options:Ve,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":`Minute`,className:`w-[72px]`}),(0,Y.jsx)(`div`,{className:`w-[112px]`,children:(0,Y.jsx)(v,{items:Ue,value:r,onChange:e=>n(We(i,e),t),ariaLabel:`AM or PM`})})]})}function Xe({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,Y.jsx)(`div`,{className:`flex gap-1.5`,children:q.map(e=>{let t=n.has(e.value);return(0,Y.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:c(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function Ze({value:e,onChange:t,onUseSimple:n}){return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(g,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":`Cron expression`,helperText:`Standard 5-field cron (minute hour day month weekday). RRULE expressions are also accepted.`}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`← Back to the simple builder`})]})}function Qe({label:e,children:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function X({label:e,children:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,Y.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function $e({summary:e,mono:t,timezoneLabel:n}){return(0,Y.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,Y.jsx)(oe,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:c(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,Y.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Times use your timezone — `,n,`.`]})]})]})}function et(e=ie(),t=Date.now()){return me(`7d`,e,t)}function Z(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function tt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var nt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Q(e){return e==null||!Number.isFinite(e)?`—`:nt.format(e)}function rt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function it(e){let t=Math.round(e/6e4);return t>=60&&t%60==0?`Every ${t/60} hr`:`Every ${t} min`}function at(e){return!!e.createdFromConversationId&&e.createdFromConversationExists===!0&&e.createdFromConversationArchivedAt==null}function ot(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function st(e){return at(e)?e.createdFromConversationId??null:null}function ct(e){return ot(e)?e.conversationId??null:null}function lt(e){return typeof e==`string`&&e.length>0}var $={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`};function ut(e){switch(e){case $.heartbeat:return`heartbeat`;case $.consolidation:return`consolidation`;default:return null}}function dt(e){if(e.cronExpression)return e.timezone?`Cron: ${e.cronExpression} (${e.timezone})`:`Cron: ${e.cronExpression}`;let t=it(e.intervalMs);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(t+=` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),t}function ft(e){return it(e.intervalMs)}var pt={execute:`positive`,notify:`warning`,script:`neutral`},mt=1800;function ht(e,t){return e.status===`fired`||e.status===`cancelled`?!0:e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t}function gt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?ht(a,t)?i.push(a):r.push(a):n.push(a);return n.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),r.sort((e,t)=>(e.nextRunAt??1/0)-(t.nextRunAt??1/0)),i.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:n,upcomingOneTime:r,pastOneTime:i}}function _t(e){return e.lastStatus===`error`||e.lastStatus===`failed`?{label:`Failed`,tone:`negative`}:e.status===`cancelled`?{label:`Cancelled`,tone:`neutral`}:e.lastRunAt==null?{label:`Expired`,tone:`neutral`}:{label:`Completed`,tone:`positive`}}function vt(e,t,n=!0){return{queryKey:te(e,t),queryFn:()=>e?be(e,et(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function yt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function bt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return t>=n.from&&t<=n.to});return{scheduleId:e,runCount:r.length,totalEstimatedCostUsd:r.reduce((e,t)=>{let n=t.estimatedCostUsd;return typeof n==`number`&&Number.isFinite(n)?e+n:e},0),eventCount:0}}function xt({status:e}){return(0,Y.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??`unknown`})}function St({scheduleName:e,usage:t,onOpenUsage:n}){if(t.status===`loading`)return(0,Y.jsxs)(`div`,{"aria-label":`Loading schedule usage`,className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,Y.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,Y.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`})]});let r=t.status===`error`,i=r?`--`:Q(t.summary.totalEstimatedCostUsd),a=r?`--`:rt(t.summary.runCount),o=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),s=t.status===`ready`&&t.summary.runCount===0,c=o?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,l=s?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,Y.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,Y.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`View usage for ${e}`,className:`min-w-[64px] cursor-pointer rounded px-1 py-0.5 text-right transition-colors hover:bg-[var(--surface-hover)] ${c}`,children:i}):(0,Y.jsx)(`span`,{"aria-label":`Cost for ${e} in the last 7 days: ${i}`,className:`block min-w-[64px] px-1 py-0.5 ${c}`,children:i}),(0,Y.jsx)(`span`,{"aria-label":`Runs for ${e} in the last 7 days: ${a}`,className:`block min-w-[64px] px-1 py-0.5 ${l}`,children:a})]})}function Ct(){return(0,Y.jsxs)(`div`,{"aria-hidden":`true`,className:`flex items-center gap-3 px-2 pb-1`,children:[(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex w-[156px] items-center justify-end gap-3 text-right text-label-small-default text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(`span`,{className:`block min-w-[64px] px-1`,children:`Cost (7d)`}),(0,Y.jsx)(`span`,{className:`block min-w-[64px] px-1`,children:`Runs (7d)`})]}),(0,Y.jsx)(`span`,{className:`block w-9`}),(0,Y.jsx)(`span`,{className:`block w-7`})]})]})}function wt({runs:e,isLoading:t,emptyMessage:n=`No runs yet.`}){let i=r(),[a,o]=(0,G.useState)(null);return(0,Y.jsx)(W,{title:`Recent runs`,children:t?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Y.jsx)(C,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:n}):(0,Y.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>{let n=ct(e),r=lt(e.output),s=lt(e.error),c=!n&&(r||s),l=a===e.id,u=`schedule-run-details-${t}`;return(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(m,{label:(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Y.jsx)(xt,{status:e.status}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block text-body-medium-lighter text-[var(--content-default)]`,children:Z(e.startedAt)}),(0,Y.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[tt(e.durationMs),` ·`,` `,Q(e.estimatedCostUsd),e.status===`error`&&e.error&&(0,Y.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||c?(0,Y.jsx)(S,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${l?`rotate-90`:``}`}):null]}),onSelect:n?()=>i(V.conversation(n)):c?()=>o(l?null:e.id):void 0,"aria-label":`Run at ${Z(e.startedAt)}`,"aria-expanded":c?l:void 0,"aria-controls":c?u:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),c&&l?(0,Y.jsx)(`div`,{id:u,className:`px-2 pb-3`,children:(0,Y.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,Y.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,s?(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,Y.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)})})})}function Tt({schedule:e,assistantId:n,onUpdated:r}){let i=Math.round((e.timeoutMs??6e4)/1e3),[a,o]=(0,G.useState)(!1),[s,c]=(0,G.useState)(String(i)),[u,d]=(0,G.useState)(!1),f=()=>{c(String(i)),o(!0)},p=async i=>{d(!0);try{await _e(n,e.id,{timeoutMs:i}),o(!1),r()}catch(e){t(e,{context:`schedule_update_timeout`}),b.error(`Failed to update timeout.`)}finally{d(!1)}};return a?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Timeout`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(g,{type:`number`,min:1,max:mt,value:s,onChange:e=>c(e.target.value),className:`w-24`,"aria-label":`Timeout in seconds`}),(0,Y.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:`sec`}),(0,Y.jsx)(l,{size:`compact`,onClick:()=>{let e=Number(s);if(!Number.isInteger(e)||e<1||e>1800){b.error(`Timeout must be a whole number between 1 and ${mt} seconds.`);return}p(e*1e3)},disabled:u,children:u?`Saving…`:`Save`}),(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,onClick:()=>o(!1),disabled:u,children:`Cancel`})]})]}):(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Timeout`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`span`,{children:[i,`s`,e.timeoutMs==null?` (default)`:``]}),(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,onClick:f,children:`Edit`}),e.timeoutMs!=null&&(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,onClick:()=>void p(null),disabled:u,children:`Reset`})]})]})}function Et({schedule:e,assistantId:n,onBack:i,onDeleted:a,onUpdated:s}){let c=r(),{data:u,isLoading:d,refetch:f}=o({queryKey:re(n,e.id),queryFn:()=>ye(n,e.id),staleTime:1e4}),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(!1),x=async()=>{h(!0);try{await Ce(n,e.id),f()}catch(e){t(e,{context:`schedule_run_now`}),b.error(`Failed to run schedule.`)}finally{h(!1)}},S=async()=>{y(!0);try{await Se(n,e.id),a()}catch(e){t(e,{context:`schedule_delete`}),b.error(`Failed to delete schedule.`),y(!1),_(!1)}},w=st(e);return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:i,className:`flex items-center gap-1.5 text-body-medium-lighter text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,children:[(0,Y.jsx)(U,{className:`h-4 w-4`}),`Back to schedules`]}),(0,Y.jsx)(W,{title:e.name,subtitle:e.description,accessory:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(p,{tone:pt[e.mode]??`neutral`,children:e.mode}),(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,leftIcon:(0,Y.jsx)(ue,{className:`h-3.5 w-3.5`}),onClick:()=>c(V.logs.usageForSchedule(e.id)),children:`View usage`}),w?(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,leftIcon:(0,Y.jsx)(de,{className:`h-3.5 w-3.5`}),onClick:()=>c(V.conversation(w)),children:`Source`}):null,e.mode===`script`&&(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,leftIcon:m?(0,Y.jsx)(C,{className:`h-3.5 w-3.5 animate-spin`}):(0,Y.jsx)(se,{className:`h-3.5 w-3.5`}),onClick:x,disabled:m,children:m?`Running…`:`Run now`})]}),children:(0,Y.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[e.mode===`script`&&e.script&&(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)] text-body-small-default`,children:`Command`}),(0,Y.jsx)(`pre`,{className:`mt-1 rounded-md bg-[var(--surface-sunken)] p-2 text-body-small-default font-mono text-[var(--content-default)] whitespace-pre-wrap break-all`,children:e.script})]}),e.mode===`script`&&(0,Y.jsx)(Tt,{schedule:e,assistantId:n,onUpdated:s}),e.cadenceDescription?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Cadence`}),(0,Y.jsx)(`span`,{className:`min-w-0 text-right`,children:e.cadenceDescription})]}):null,(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,Y.jsx)(`span`,{children:e.enabled?`Enabled`:`Disabled`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,Y.jsx)(`span`,{children:Z(e.nextRunAt)})]}),e.lastRunAt&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(xt,{status:e.lastStatus}),Z(e.lastRunAt)]})]})]})}),(0,Y.jsx)(wt,{runs:u,isLoading:d}),(0,Y.jsx)(W,{title:`Danger zone`,children:(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Delete this schedule`}),(0,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Permanently removes the schedule and all its run history. This cannot be undone.`})]}),g?(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Y.jsx)(l,{variant:`ghost`,size:`compact`,onClick:()=>_(!1),disabled:v,children:`Cancel`}),(0,Y.jsx)(l,{variant:`danger`,size:`compact`,onClick:()=>void S(),disabled:v,children:v?`Deleting…`:`Yes, delete`})]}):(0,Y.jsx)(l,{variant:`dangerOutline`,size:`compact`,leftIcon:(0,Y.jsx)(fe,{className:`h-3.5 w-3.5`}),onClick:()=>_(!0),children:`Delete`})]})})]})}function Dt(e){let t=e.cadenceDescription.trim();return!t||e.isOneShot||t===e.description.trim()?null:t}function Ot(e){let t=e.description.trim();return!t||t.toLowerCase()===e.name.trim().toLowerCase()?null:t}function kt(e,t){return e.lastRunAt==null?e.nextRunAt==null?null:t?`Scheduled ${Z(e.nextRunAt)}`:`Next ${Z(e.nextRunAt)}`:`Last ${Z(e.lastRunAt)}`}function At({schedule:e,usage:t,onClick:n,onToggle:r,onOpenUsage:i,pastStatus:a}){let o=Dt(e),s=Ot(e),c=kt(e,a!=null);return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:n,className:`min-w-0 flex-1 cursor-pointer text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name})}),s?(0,Y.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:s}):null]}),(o||c)&&(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 text-body-small-default text-[var(--content-tertiary)]`,children:[o?(0,Y.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:o}):null,c?(0,Y.jsx)(`span`,{className:`shrink-0`,children:c}):null]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,Y.jsx)(St,{scheduleName:e.name,usage:t,onOpenUsage:i}),a?(0,Y.jsx)(p,{tone:a.tone,children:a.label}):(0,Y.jsx)(_,{checked:e.enabled,onChange:e=>r?.(e),"aria-label":`Toggle ${e.name}`}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Open ${e.name}`,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-hover)]`,children:(0,Y.jsx)(S,{className:`h-4 w-4`})})]})]})}function jt({kind:e,assistantId:t,name:n,subtitle:r,enabled:i,nextRunAt:a,lastRunAt:s,isRunning:c,onBack:u,onRunNow:d,onToggleEnabled:m,onOpenMemorySettings:h}){let g=e===`consolidation`,v=g&&!i,y=c||v,b=g?i?`On · Managed by Memory`:`Paused`:i?`Enabled`:`Disabled`,{data:x,isLoading:S}=o({queryKey:[`system-task-runs`,t,e],queryFn:()=>e===`heartbeat`?K(t):we(t),staleTime:1e4});return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:u,className:`flex items-center gap-1.5 text-body-medium-lighter text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,children:[(0,Y.jsx)(U,{className:`h-4 w-4`}),`Back to schedules`]}),(0,Y.jsxs)(W,{title:n,subtitle:r,accessory:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(p,{tone:`neutral`,children:`system`}),g&&i&&h?(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,leftIcon:(0,Y.jsx)(ae,{className:`h-3.5 w-3.5`}),onClick:h,children:`Memory settings`}):null,(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,leftIcon:c?(0,Y.jsx)(C,{className:`h-3.5 w-3.5 animate-spin`}):(0,Y.jsx)(se,{className:`h-3.5 w-3.5`}),onClick:d,disabled:y,children:c?`Running…`:`Run now`})]}),children:[(0,Y.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{children:b}),!g&&m?(0,Y.jsx)(_,{checked:i,onChange:m,"aria-label":`Toggle ${n}`}):null]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,Y.jsx)(`span`,{children:Z(a)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,Y.jsx)(`span`,{children:Z(s)})]})]}),v?(0,Y.jsx)(f,{tone:`warning`,className:`mt-4`,actions:h?(0,Y.jsx)(l,{variant:`outlined`,size:`compact`,onClick:h,children:`Turn on Memory`}):void 0,children:`Memory is off, so consolidation is paused. Turn Memory back on to resume consolidation.`}):null]}),(0,Y.jsx)(wt,{runs:x,isLoading:S})]})}function Mt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){return(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:l,"aria-label":`Open ${e}`,className:`flex min-w-0 flex-1 cursor-pointer flex-wrap items-center gap-3 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,Y.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,Y.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,Y.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,Y.jsxs)(`span`,{children:[`Next: `,Z(r)]}):null,i?(0,Y.jsxs)(`span`,{children:[`Last: `,Z(i)]}):null]})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,Y.jsx)(St,{scheduleName:e,usage:a}),s?(0,Y.jsx)(p,{tone:c,children:s}):(0,Y.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":n?`enabled`:`disabled`}),(0,Y.jsx)(S,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Nt({heartbeatConfig:e,consolidationConfig:t,heartbeatUsage:n,consolidationUsage:r,isLoading:i,hasError:a,onRetry:o,onSelectHeartbeat:s,onSelectConsolidation:c}){let l=e!=null,u=t?.available===!0;if(!i&&!a&&!l&&!u)return null;let p=[...l?[n]:[],...u?[r]:[]].filter(e=>e.status===`ready`),m=p.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),h=i?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Y.jsx)(C,{className:`h-5 w-5 animate-spin text-stone-400`})}):a&&!l&&!u?(0,Y.jsxs)(f,{tone:`error`,children:[`Failed to load system jobs.`,` `,(0,Y.jsx)(`button`,{type:`button`,onClick:o,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):(0,Y.jsxs)(`div`,{children:[l?(0,Y.jsx)(Mt,{name:`Heartbeat`,subtitle:dt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:n,onClick:s}):null,u?(0,Y.jsx)(Mt,{name:`Consolidation`,subtitle:ft(t),enabled:t.enabled,helperText:t.enabled?void 0:`Memory is off, so consolidation is paused.`,nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:r,statusLabel:t.enabled?void 0:`Paused`,statusTone:`warning`,onClick:c}):null,a?(0,Y.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,Y.jsxs)(f,{tone:`error`,children:[`Some system jobs failed to load.`,` `,(0,Y.jsx)(`button`,{type:`button`,onClick:o,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})}):null]});return(0,Y.jsx)(W,{children:(0,Y.jsx)(d.Root,{type:`multiple`,children:(0,Y.jsxs)(d.Item,{value:`system-jobs`,children:[(0,Y.jsxs)(d.Trigger,{className:`group justify-between gap-3`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`System`}),(0,Y.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Built-in jobs managed by the assistant runtime`})]}),(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[p.length>0?(0,Y.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Q(m),` (7d)`]}):null,(0,Y.jsx)(ce,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,Y.jsx)(d.Content,{children:(0,Y.jsx)(`div`,{className:`mt-3`,children:h})})]})})})}function Pt(e,n){let r=a(),{data:i,isLoading:s,isError:c,refetch:l}=o({queryKey:[`heartbeat-config`,e],queryFn:()=>Te(e),enabled:!!e,staleTime:1e4}),{data:u,isLoading:d,isError:f,refetch:p}=o({queryKey:[`consolidation-config`,e],queryFn:()=>ke(e),enabled:!!e,staleTime:1e4}),{data:m,isLoading:h,isError:g,refetch:_}=o({queryKey:[`system-task-runs-summary`,e,`heartbeat`,100],queryFn:()=>K(e,100),enabled:!!e&&i!=null,staleTime:1e4}),{data:v,isLoading:y,isError:x,refetch:S}=o({queryKey:[`system-task-runs-summary`,e,`consolidation`,100],queryFn:()=>we(e,100),enabled:!!e&&u?.available===!0,staleTime:1e4}),C=(0,G.useMemo)(()=>et(n),[n]),w=(0,G.useMemo)(()=>h?{status:`loading`}:g?{status:`error`}:{status:`ready`,summary:bt($.heartbeat,m,C)},[m,g,h,C]),T=(0,G.useMemo)(()=>y?{status:`loading`}:x?{status:`error`}:{status:`ready`,summary:bt($.consolidation,v,C)},[v,x,y,C]),[E,D]=(0,G.useState)(!1),[O,k]=(0,G.useState)(!1),A=(0,G.useRef)([]),j=(0,G.useCallback)(t=>{if(!e)return;let n=()=>{r.invalidateQueries({queryKey:[`system-task-runs`,e,t]})};n();let i=setTimeout(n,1e3),a=setTimeout(n,5e3);A.current.push(i,a)},[e,r]),M=(0,G.useCallback)(async n=>{if(!e)return;let r=n===`heartbeat`?D:k,i=n===`heartbeat`?Oe:Ae,a=n===`heartbeat`?l:p,o=n===`heartbeat`?_:S,s=n===`heartbeat`?`Heartbeat started.`:`Consolidation queued.`,c=n===`heartbeat`?`Heartbeat skipped.`:`Consolidation already queued or running.`;r(!0);try{let t=await i(e);a(),j(n),o(),t.ran?b.success(s):b.info(c)}catch(e){t(e,{context:`${n}_run_now`}),b.error(`Failed to run ${n}.`)}finally{r(!1)}},[e,p,S,l,_,j]),N=(0,G.useCallback)(async(n,i)=>{if(!e||n!==`heartbeat`)return;let a=[`${n}-config`,e],o=`Heartbeat`;try{let t=await De(e,{enabled:i});r.setQueryData(a,t),b.success(i?`${o} enabled.`:`${o} disabled.`)}catch(e){t(e,{context:`${n}_toggle`}),b.error(`Failed to toggle heartbeat.`)}},[e,r]),P=(0,G.useCallback)(()=>{l(),p(),_(),S()},[p,S,l,_]);return(0,G.useEffect)(()=>{let e=A;return()=>{for(let t of e.current)clearTimeout(t);e.current=[]}},[]),{heartbeatConfig:i,consolidationConfig:u,heartbeatUsage:w,consolidationUsage:T,isLoading:s||d,hasError:c||f,isHeartbeatRunning:E,isConsolidationRunning:O,isHeartbeatLoading:s,isHeartbeatError:c,isConsolidationLoading:d,isConsolidationError:f,refetchHeartbeat:l,refetchConsolidation:p,handleRunNow:M,handleToggle:N,refetchAll:P}}function Ft({onCreate:e}){return(0,Y.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-6 py-16 text-center`,children:[(0,Y.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)]`,children:(0,Y.jsx)(x,{className:`h-6 w-6 text-[var(--content-faint)]`})}),(0,Y.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No schedules`}),(0,Y.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-quiet)]`,children:`Scheduled automations will appear here once created. You can create one yourself or ask your assistant to set it up.`}),(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsxs)(l,{variant:`primary`,onClick:e,children:[(0,Y.jsx)(le,{className:`h-4 w-4`}),`Create schedule`]})})]})}function It({label:e,children:t}){return(0,Y.jsxs)(`div`,{className:`[&+&]:mt-4`,children:[(0,Y.jsx)(`div`,{className:`px-2 pb-1 text-label-medium-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:e}),(0,Y.jsx)(`div`,{children:t})]})}function Lt({onBack:e}){return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:e,className:`flex items-center gap-1.5 text-body-medium-lighter text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,children:[(0,Y.jsx)(U,{className:`h-4 w-4`}),`Back to schedules`]}),(0,Y.jsx)(f,{tone:`error`,children:`Schedule not found. It may have been deleted or the link may be out of date.`})]})}function Rt(){let e=r(),{scheduleId:n}=i(),a=H(),s=pe(),{data:c,isLoading:u,isError:p,refetch:m}=o({queryKey:ne(s),queryFn:()=>ve(s),staleTime:1e4}),{data:h,isLoading:g,isError:_}=o(vt(s,a,n==null)),v=Pt(s,a),{data:y=!1}=o({queryKey:[`assistant-memory-opt-out-capability`,s],queryFn:async()=>{let e=await ee(s);return e.ok&&e.data.capabilities?.memoryOptOut===!0},retry:!1,staleTime:1e4}),x=ut(n),[S,w]=(0,G.useState)(!1),[T]=(0,G.useState)(()=>Date.now()),E=(0,G.useMemo)(()=>n&&!x?c?.find(e=>e.id===n)??null:null,[c,n,x]),D=(0,G.useMemo)(()=>new Map((h??[]).map(e=>[e.scheduleId,e])),[h]),O=(0,G.useCallback)(e=>g?{status:`loading`}:_?{status:`error`}:{status:`ready`,summary:D.get(e)??yt(e)},[_,g,D]),k=()=>e(V.settings.schedules),A=t=>e(V.settings.schedule(t)),j=()=>e(V.settings.advanced),M=(0,G.useCallback)(()=>{w(!1),m(),b.success(`Schedule created.`)},[m]),N=(0,G.useCallback)(async(e,n)=>{try{await xe(s,e,n),m()}catch(e){t(e,{context:`schedule_toggle`}),b.error(`Failed to toggle schedule.`)}},[s,m]);if(x===`heartbeat`&&v.heartbeatConfig)return(0,Y.jsx)(jt,{kind:`heartbeat`,assistantId:s,name:`Heartbeat`,subtitle:dt(v.heartbeatConfig),enabled:v.heartbeatConfig.enabled,nextRunAt:v.heartbeatConfig.nextRunAt,lastRunAt:v.heartbeatConfig.lastRunAt,isRunning:v.isHeartbeatRunning,onBack:k,onRunNow:()=>void v.handleRunNow(`heartbeat`),onToggleEnabled:e=>void v.handleToggle(`heartbeat`,e)},`heartbeat`);if(x===`consolidation`&&v.consolidationConfig?.available===!0)return(0,Y.jsx)(jt,{kind:`consolidation`,assistantId:s,name:`Consolidation`,subtitle:ft(v.consolidationConfig),enabled:v.consolidationConfig.enabled,nextRunAt:v.consolidationConfig.nextRunAt,lastRunAt:v.consolidationConfig.lastRunAt,isRunning:v.isConsolidationRunning,onBack:k,onRunNow:()=>void v.handleRunNow(`consolidation`),onOpenMemorySettings:y?j:void 0},`consolidation`);if(E)return(0,Y.jsx)(Et,{schedule:E,assistantId:s,onBack:k,onDeleted:()=>{k(),m()},onUpdated:()=>void m()},E.id);if(u||x&&v.isLoading)return(0,Y.jsx)(`div`,{className:`w-full`,children:(0,Y.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,Y.jsx)(C,{className:`h-6 w-6 animate-spin text-stone-400`})})});if(p&&!c)return(0,Y.jsx)(`div`,{className:`w-full`,children:(0,Y.jsxs)(f,{tone:`error`,children:[`Failed to load schedules.`,` `,(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void m(),className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})});if(x&&v.hasError)return(0,Y.jsxs)(`div`,{className:`mx-auto max-w-[940px] space-y-3`,children:[(0,Y.jsxs)(f,{tone:`error`,children:[`Failed to load`,` `,x===`heartbeat`?`heartbeat`:`consolidation`,` `,`schedule.`,` `,(0,Y.jsx)(`button`,{type:`button`,onClick:()=>{x===`heartbeat`?v.refetchHeartbeat():v.refetchConsolidation()},className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}),(0,Y.jsxs)(l,{variant:`outlined`,onClick:k,children:[(0,Y.jsx)(U,{className:`h-4 w-4`}),`Back to schedules`]})]});if(n!=null)return(0,Y.jsx)(Lt,{onBack:k});let P=c??[],{recurring:F,upcomingOneTime:I,pastOneTime:L}=gt(P,T),R=F.length>0||I.length>0,z=(t,n=!1)=>(0,Y.jsx)(At,{schedule:t,usage:O(t.id),onClick:()=>A(t.id),onToggle:e=>void N(t.id,e),onOpenUsage:()=>e(V.logs.usageForSchedule(t.id)),pastStatus:n?_t(t):void 0},t.id);return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[P.length>0?(0,Y.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,Y.jsxs)(l,{variant:`primary`,onClick:()=>w(!0),children:[(0,Y.jsx)(le,{className:`h-4 w-4`}),`New schedule`]})}):null,_?(0,Y.jsx)(f,{tone:`warning`,className:`py-2 text-body-small-default`,children:`Schedule usage stats are unavailable right now.`}):null,P.length===0?(0,Y.jsx)(Ft,{onCreate:()=>w(!0)}):(0,Y.jsx)(W,{title:`Schedules`,children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(Ct,{}),F.length>0&&(0,Y.jsx)(It,{label:`Recurring`,children:F.map(e=>z(e))}),I.length>0&&(0,Y.jsx)(It,{label:`One-time`,children:I.map(e=>z(e))}),!R&&(0,Y.jsx)(`p`,{className:`px-2 py-3 text-body-small-default text-[var(--content-tertiary)]`,children:`No upcoming schedules.`}),L.length>0&&(0,Y.jsx)(d.Root,{type:`multiple`,className:`mt-3 border-t border-[var(--border-base)] pt-1`,children:(0,Y.jsxs)(d.Item,{value:`past-one-time`,children:[(0,Y.jsxs)(d.Trigger,{className:`group gap-2 rounded-md px-2 py-2 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,Y.jsx)(ce,{className:`h-4 w-4 shrink-0 transition-transform group-data-[state=open]:rotate-180`}),`Past one-time (`,L.length,`)`]}),(0,Y.jsx)(d.Content,{children:(0,Y.jsx)(`div`,{children:L.map(e=>z(e,!0))})})]})})]})}),(0,Y.jsx)(Nt,{heartbeatConfig:v.heartbeatConfig,consolidationConfig:v.consolidationConfig,heartbeatUsage:v.heartbeatUsage,consolidationUsage:v.consolidationUsage,isLoading:v.isLoading,hasError:v.hasError,onRetry:v.refetchAll,onSelectHeartbeat:()=>A($.heartbeat),onSelectConsolidation:()=>A($.consolidation)}),s?(0,Y.jsx)(Ke,{isOpen:S,assistantId:s,onClose:()=>w(!1),onCreated:M}):null]})}export{Rt as SchedulesPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,r as t}from"./auth-store-BDBEYGBC.js";function n(){let n=e.use.currentOrganizationId();return!t()||n!=null}export{n as t};
|
/package/dist/assets/{avatar-bundled-components-CL39cwfR.js → avatar-bundled-components-D1Q_IPFc.js}
RENAMED
|
File without changes
|
/package/dist/assets/{danger-zone-redirect-page-KLttOmNm.js → danger-zone-redirect-page-B7We5zLz.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|