@amd-gaia/agent-ui 0.25.2-rc.2 → 0.25.2-rc.3
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/assets/notification-icon.png +0 -0
- package/dist/assets/{AdvancedSettings-DlNYuBwr.js → AdvancedSettings-CjFMBzrY.js} +1 -1
- package/dist/assets/{ConnectorsPane-BMuJwbQS.js → ConnectorsPane-C0mIy_8h.js} +1 -1
- package/dist/assets/{DocumentLibrary-BBkaVGFa.js → DocumentLibrary-BaLMM9_k.js} +2 -2
- package/dist/assets/FileBrowser-DGmwRsbJ.js +4 -0
- package/dist/assets/MemoryDashboard-0_w56Tv9.js +1 -0
- package/dist/assets/{MobileAccessModal-Bt5XREFP.js → MobileAccessModal-CvPI6iz2.js} +1 -1
- package/dist/assets/{ScheduleManager-ia8OmdHV.js → ScheduleManager-DFFKqsC8.js} +1 -1
- package/dist/assets/index-Bp5BAewB.js +79 -0
- package/dist/assets/index-DktitYpA.css +1 -0
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/services/app-icon.cjs +12 -1
- package/services/notification-service.cjs +3 -2
- package/dist/assets/FileBrowser-B3rdG7Th.js +0 -4
- package/dist/assets/MemoryDashboard-CI0XsMok.js +0 -1
- package/dist/assets/eye-CwjwlxR5.js +0 -1
- package/dist/assets/index-CfiDLYYM.js +0 -79
- package/dist/assets/index-CtsaRdvF.css +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{l as t,n,o as r,s as i,u as a}from"./apiBase-BmPG2Rib.js";import{t as o}from"./message-square-DuVoNniw.js";import{Gt as s,It as c,K as l,Pt as u,Vt as d,
|
|
1
|
+
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{l as t,n,o as r,s as i,u as a}from"./apiBase-BmPG2Rib.js";import{t as o}from"./message-square-DuVoNniw.js";import{Gt as s,It as c,K as l,Pt as u,Vt as d,an as f,n as p,ut as m}from"./index-Bp5BAewB.js";var h={name:`pause`,size:24,node:[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]};h.node;var g=t(h),_={name:`play`,size:24,node:[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]};_.node;var v=t(_),y=e(a(),1),b=n(),x=8e3;function S(e,t){if(!e)return`never`;let n=new Date(e),r=(t||new Date).getTime()-n.getTime(),i=Math.floor(r/1e3);if(i<0){let e=Math.abs(i);if(e<60)return`in ${e}s`;let t=Math.floor(e/60);if(t<60)return`in ${t}m`;let n=Math.floor(t/60);return n<24?`in ${n}h`:`in ${Math.floor(n/24)}d`}if(i<60)return`just now`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:n.toLocaleDateString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function C(e,t){if(!e)return`never`;let n=S(e,t),r=new Date(e);return r.getTime()<=(t||new Date).getTime()?n:`${r.toLocaleString(void 0,{weekday:`short`,hour:`numeric`,minute:`2-digit`})} (${n})`}function w(e){if(!e)return!1;let t=new Date(e).getTime()-Date.now();return t>0&&t<6e4}function T(e){let[t,n]=e.split(`:`).map(Number),r=t>=12?`PM`:`AM`;return`${t===0?12:t>12?t-12:t}:${n.toString().padStart(2,`0`)} ${r}`}function E(e){let t=e>=12?`PM`:`AM`;return`${e===0?12:e>12?e-12:e} ${t}`}function D(e){let t=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`];return e.length===5&&!e.includes(5)&&!e.includes(6)?`Weekdays`:e.length===2&&e.includes(5)&&e.includes(6)?`Weekends`:e.length===7?`Every day`:e.map(e=>t[e]).join(`, `)}function O({schedule:e}){let{selectedSchedule:t,selectSchedule:n,updateScheduleStatus:r,deleteSchedule:a,results:s,resultsLoading:c,loadSchedules:l,loadResults:m}=p(),{setCurrentSession:h,setShowSchedules:_}=u(),T=t===e.name,[E,D]=(0,y.useState)(!1),O=(0,y.useRef)(null),k=(0,y.useCallback)(()=>{O.current&&=(clearTimeout(O.current),null)},[]);(0,y.useEffect)(()=>k,[k]);let[A,j]=(0,y.useState)(()=>new Date),M=(0,y.useRef)(null);(0,y.useEffect)(()=>{let t=e.status===`active`&&w(e.next_run_at);return t&&!M.current?M.current=setInterval(()=>{j(new Date),e.next_run_at&&new Date(e.next_run_at).getTime()<=Date.now()&&l()},1e3):!t&&M.current&&(clearInterval(M.current),M.current=null),()=>{M.current&&=(clearInterval(M.current),null)}},[e.status,e.next_run_at,l]);let N=(0,y.useRef)(e.last_run_at);(0,y.useEffect)(()=>{T&&e.last_run_at!==N.current&&(N.current=e.last_run_at,m(e.name))},[T,e.last_run_at,e.name,m]);let P=e.last_run_at&&Date.now()-new Date(e.last_run_at).getTime()<5e3,F=(0,y.useCallback)(t=>{t.stopPropagation();let n=e.status===`active`?`paused`:`active`;i.ui.info(`Schedule "${e.name}": ${e.status} -> ${n}`),r(e.name,n)},[e.name,e.status,r]),I=(0,y.useCallback)(t=>{t.stopPropagation(),k(),E?(i.ui.info(`Deleting schedule "${e.name}"`),a(e.name)):(D(!0),O.current=setTimeout(()=>{O.current=null,D(!1)},x))},[e.name,E,a,k]),L=(0,y.useCallback)(t=>{t.stopPropagation(),e.session_id&&(i.ui.info(`Opening chat session for schedule "${e.name}"`),h(e.session_id),_(!1))},[e.session_id,e.name,h,_]);return(0,b.jsxs)(`div`,{className:`schedule-card ${T?`selected`:``} ${P?`just-ran`:``}`,onClick:()=>n(T?null:e.name),children:[(0,b.jsxs)(`div`,{className:`schedule-card-header`,children:[(0,b.jsx)(`span`,{className:`schedule-card-name`,children:e.name}),(0,b.jsx)(`span`,{className:`schedule-card-status ${e.status}`,children:e.status})]}),(0,b.jsx)(`div`,{className:`schedule-card-prompt`,children:e.prompt}),(0,b.jsxs)(`div`,{className:`schedule-card-meta`,children:[(0,b.jsxs)(`span`,{title:e.description,children:[(0,b.jsx)(f,{size:11}),` `,e.description]}),(0,b.jsxs)(`span`,{children:[`Runs: `,e.run_count]}),e.error_count>0&&(0,b.jsxs)(`span`,{children:[`Errors: `,e.error_count]}),(0,b.jsxs)(`span`,{children:[`Last: `,S(e.last_run_at)]}),(0,b.jsxs)(`span`,{children:[`Next: `,C(e.next_run_at,A)]})]}),e.last_error&&(0,b.jsxs)(`div`,{className:`schedule-card-error`,children:[`Last run failed: `,e.last_error]}),(0,b.jsxs)(`div`,{className:`schedule-card-actions`,children:[e.session_id&&(0,b.jsxs)(`button`,{className:`btn-sm chat`,onClick:L,title:`Open chat session`,children:[(0,b.jsx)(o,{size:11}),` Open Chat`]}),(0,b.jsx)(`button`,{className:`btn-sm`,onClick:F,title:e.status===`active`?`Pause`:`Resume`,children:e.status===`active`?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g,{size:11}),` Pause`]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{size:11}),` Resume`]})}),(0,b.jsxs)(`button`,{className:`btn-sm danger`,onClick:I,title:`Delete`,children:[(0,b.jsx)(d,{size:11}),` `,E?`Confirm?`:`Delete`]})]}),T&&(0,b.jsxs)(`div`,{className:`schedule-results`,children:[(0,b.jsx)(`h4`,{children:`Execution history`}),c?(0,b.jsx)(`p`,{className:`schedule-results-empty`,children:`Loading...`}):s.length===0?(0,b.jsx)(`p`,{className:`schedule-results-empty`,children:`No executions yet`}):(0,b.jsx)(`div`,{className:`schedule-results-list`,children:s.map(e=>(0,b.jsxs)(`div`,{className:`schedule-result-item`,children:[(0,b.jsx)(`div`,{className:`schedule-result-time`,children:S(e.executed_at)}),e.error?(0,b.jsx)(`div`,{className:`schedule-result-content schedule-result-error`,children:e.error}):(0,b.jsx)(`div`,{className:`schedule-result-content`,children:e.result||`(no output)`})]},e.id))})]})]})}function k(){let{setShowSchedules:e}=u(),{schedules:t,loading:n,error:a,loadSchedules:o,createSchedule:d}=p(),h=(0,y.useCallback)(()=>e(!1),[e]);r(!0,h);let g=(0,y.useRef)(null);l(g,!0);let[_,v]=(0,y.useState)(!1),[x,S]=(0,y.useState)(``),[C,w]=(0,y.useState)(``),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)(null),[N,P]=(0,y.useState)(!1),[F,I]=(0,y.useState)(!1),[L,R]=(0,y.useState)(null),z=(0,y.useId)(),B=`${z}-when`,V=`${z}-when-error`,H=`${z}-name`,U=`${z}-prompt`,W=!N&&j!==null&&!j.valid,G=(0,y.useRef)(null);(0,y.useEffect)(()=>{if(!x.trim())M(null);else return G.current&&clearTimeout(G.current),G.current=window.setTimeout(async()=>{P(!0);try{let e=await m(x);M(e)}catch{M(null)}finally{P(!1)}},400),()=>{G.current&&clearTimeout(G.current)}},[x]);let K=(0,y.useRef)(null);(0,y.useEffect)(()=>(i.ui.info(`Schedule Manager opened`),o(),K.current=window.setInterval(()=>o(),5e3),()=>{K.current&&clearInterval(K.current)}),[o]);let q=x.trim()&&C.trim()&&k.trim()&&(j===null||j.valid),J=(0,y.useCallback)(async()=>{if(q){I(!0),R(null);try{await d(C.trim(),x.trim(),k.trim()),S(``),w(``),A(``),M(null),v(!1),i.ui.info(`Schedule "${C}" created`)}catch(e){let t=e instanceof Error?e.message:`Failed to create schedule`;R(t)}finally{I(!1)}}},[q,C,x,k,d]);return(0,b.jsx)(`div`,{ref:g,className:`modal-overlay`,onClick:()=>e(!1),role:`dialog`,"aria-modal":`true`,"aria-label":`Scheduled tasks`,children:(0,b.jsxs)(`div`,{className:`modal-panel schedule-modal`,onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)(`div`,{className:`modal-header`,children:[(0,b.jsx)(`h3`,{children:`Scheduled tasks`}),(0,b.jsx)(`button`,{className:`btn-icon`,onClick:()=>e(!1),"aria-label":`Close schedule manager`,children:(0,b.jsx)(c,{size:18})})]}),(0,b.jsxs)(`div`,{className:`modal-body`,children:[(0,b.jsx)(`section`,{className:`schedule-section`,children:_?(0,b.jsxs)(`div`,{className:`schedule-create-form`,children:[(0,b.jsxs)(`div`,{className:`schedule-field`,children:[(0,b.jsx)(`label`,{className:`schedule-field-label`,htmlFor:B,children:`When to run`}),(0,b.jsx)(`textarea`,{id:B,className:`schedule-nl-input`,placeholder:`Describe your schedule in natural language...
|
|
2
2
|
Examples: "every 30m", "daily at 9pm", "every hour from 8am to 6pm on weekdays"`,value:x,onChange:e=>S(e.target.value),"aria-invalid":W,"aria-describedby":W?V:void 0,autoFocus:!0,rows:2})]}),(j||N)&&(0,b.jsx)(`div`,{className:`schedule-parsed-preview ${j?.valid?`valid`:`invalid`}`,"aria-live":`polite`,children:N?(0,b.jsx)(`span`,{className:`schedule-parsed-loading`,children:`Parsing...`}):j?(0,b.jsxs)(b.Fragment,{children:[j.valid?(0,b.jsx)(`div`,{className:`schedule-parsed-description`,children:j.description}):(0,b.jsxs)(`div`,{id:V,children:[(0,b.jsx)(`div`,{className:`schedule-parsed-description`,children:`GAIA didn't understand that schedule.`}),(0,b.jsx)(`div`,{className:`schedule-parsed-hint`,children:j.description})]}),j.valid&&j.next_run_at&&(0,b.jsxs)(`div`,{className:`schedule-parsed-next`,children:[`Next run: `,new Date(j.next_run_at).toLocaleString()]}),j.valid&&(0,b.jsxs)(`div`,{className:`schedule-parsed-details`,children:[j.time_of_day&&(0,b.jsxs)(`span`,{className:`schedule-parsed-tag`,children:[(0,b.jsx)(f,{size:10}),` `,T(j.time_of_day)]}),j.start_hour!=null&&j.end_hour!=null&&(0,b.jsxs)(`span`,{className:`schedule-parsed-tag`,children:[(0,b.jsx)(f,{size:10}),` `,E(j.start_hour),` - `,E(j.end_hour)]}),j.days_of_week&&(0,b.jsx)(`span`,{className:`schedule-parsed-tag`,children:D(j.days_of_week)})]})]}):null}),(0,b.jsxs)(`div`,{className:`schedule-field`,children:[(0,b.jsx)(`label`,{className:`schedule-field-label`,htmlFor:H,children:`Name`}),(0,b.jsx)(`div`,{className:`schedule-form-row`,children:(0,b.jsx)(`input`,{id:H,type:`text`,placeholder:`Schedule name (e.g. daily-summary)`,value:C,onChange:e=>w(e.target.value),className:!C.trim()&&x.trim()?`schedule-field-missing`:``})})]}),(0,b.jsxs)(`div`,{className:`schedule-field`,children:[(0,b.jsx)(`label`,{className:`schedule-field-label`,htmlFor:U,children:`Prompt`}),(0,b.jsx)(`textarea`,{id:U,className:`schedule-prompt-input ${!k.trim()&&x.trim()?`schedule-field-missing`:``}`,placeholder:`Prompt to execute on each run...`,value:k,onChange:e=>A(e.target.value)})]}),L&&(0,b.jsx)(`p`,{className:`schedule-form-error`,children:L}),(0,b.jsxs)(`div`,{className:`schedule-create-actions`,children:[(0,b.jsx)(`button`,{className:`btn-secondary`,onClick:()=>{v(!1),R(null),M(null),S(``),w(``),A(``)},children:`Cancel`}),(0,b.jsx)(`button`,{className:`btn-primary`,onClick:J,disabled:!q||F,children:F?`Creating...`:`Create Schedule`})]})]}):(0,b.jsxs)(`button`,{className:`btn-primary`,onClick:()=>v(!0),children:[(0,b.jsx)(s,{size:14}),` New schedule`]})}),(0,b.jsxs)(`section`,{className:`schedule-section`,children:[(0,b.jsx)(`h4`,{children:`Active schedules`}),n?(0,b.jsx)(`p`,{className:`schedule-empty`,children:`Loading schedules...`}):a?(0,b.jsx)(`p`,{className:`schedule-empty`,children:a}):t.length===0?(0,b.jsx)(`p`,{className:`schedule-empty`,children:`No scheduled tasks yet. Create one to get started.`}):(0,b.jsx)(`div`,{className:`schedule-list`,children:t.map(e=>(0,b.jsx)(O,{schedule:e},e.id))})]})]})]})})}export{k as ScheduleManager};
|