@whoz-oss/coday-client 3.16.0 → 3.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/chunk--yaU4Sri.js +1 -0
- package/browser/{chunk-kvCfAm7Z.js → chunk-4uEZjTft.js} +1 -1
- package/browser/chunk-4v7WiOTx.js +1 -0
- package/browser/chunk-B-UKlpjJ.js +1 -0
- package/browser/chunk-B13_C_P9.js +675 -0
- package/browser/chunk-B17Inq8D.js +2 -0
- package/browser/chunk-B1vuv-dv.js +1 -0
- package/browser/{chunk-Bhq5earA.js → chunk-BEdQqXxw.js} +1 -1
- package/browser/{chunk-B_9LxHBv.js → chunk-BGTRsbsl.js} +1 -1
- package/browser/{chunk-pH1k_bet.js → chunk-BHiaH1Jm.js} +1 -1
- package/browser/chunk-BJld3zB5.js +9 -0
- package/browser/{chunk-7jUQT_3F.js → chunk-BVmICoo4.js} +1 -1
- package/browser/chunk-BXCHG0wB.js +1 -0
- package/browser/{chunk-DOq0u21j.js → chunk-B_Sx6nwb.js} +1 -1
- package/browser/{chunk-CXLytVC3.js → chunk-BbPMe8u2.js} +1 -1
- package/browser/{chunk-6gdeYlLc.js → chunk-Bb_J3EoX.js} +1 -1
- package/browser/chunk-BfE6wTUj.js +1 -0
- package/browser/chunk-Bnj9Hkqy.js +276 -0
- package/browser/chunk-BqWEyotW.js +55 -0
- package/browser/{chunk-Dcftf7UY.js → chunk-Buu9Jf-V.js} +2 -2
- package/browser/{chunk-0OiZWE88.js → chunk-CJAdjOmi.js} +1 -1
- package/browser/{chunk-Bn3R3VC2.js → chunk-CJEW8Ogd.js} +5 -5
- package/browser/chunk-CM1_Z4h5.js +1 -0
- package/browser/{chunk-BTS5TBK0.js → chunk-CP3b1EMm.js} +1 -1
- package/browser/chunk-CR817PBg.js +1 -0
- package/browser/{chunk-YfG457Nc.js → chunk-CXgj_KJY.js} +3 -3
- package/browser/{chunk-CYulIMKp.js → chunk-CakkML6n.js} +1 -1
- package/browser/{chunk-DQLU3kYb.js → chunk-CfPmQ0Fw.js} +1 -1
- package/browser/chunk-CgNkwpQ7.js +508 -0
- package/browser/chunk-Cjk-zAXy.js +1 -0
- package/browser/chunk-ClCDsg8D.js +5 -0
- package/browser/{chunk-BdpJ2ZCM.js → chunk-CmyT-Z4A.js} +1 -1
- package/browser/{chunk-C_s4Z3Dk.js → chunk-CqJ7rGVY.js} +1 -1
- package/browser/{chunk-SbH2L3h2.js → chunk-CxpHnwnx.js} +1 -1
- package/browser/{chunk-CtWMrBfw.js → chunk-D1ZnLng-.js} +1 -1
- package/browser/{chunk-swj7IkJA.js → chunk-D26Y186i.js} +1 -1
- package/browser/chunk-D2zGvbD2.js +190 -0
- package/browser/{chunk-IUvEtpfr.js → chunk-D30bRRTP.js} +1 -1
- package/browser/{chunk-CTuHnJP4.js → chunk-D4dmZgr6.js} +1 -1
- package/browser/{chunk-CiWu4t_i.js → chunk-D6nkbOg1.js} +1 -1
- package/browser/chunk-D8nXP3jN.js +2 -0
- package/browser/{chunk-BNS6Fgaw.js → chunk-D92adUD_.js} +1 -1
- package/browser/{chunk-Bib1Seeu.js → chunk-DDu5Ufv3.js} +1 -1
- package/browser/{chunk-HjD5Rk4C.js → chunk-DFjZf9oL.js} +3 -3
- package/browser/{chunk-B0vRsgnD.js → chunk-DJjbZAaS.js} +1 -1
- package/browser/{chunk-CgqDTJ5-.js → chunk-DKQvH1hP.js} +1 -1
- package/browser/{chunk-UzUd84Qf.js → chunk-DMUiJ7oP.js} +1 -1
- package/browser/chunk-DMyGIjcZ.js +1 -0
- package/browser/chunk-DOHvMo5p.js +1 -0
- package/browser/{chunk-CbK5Lcu9.js → chunk-DVTNoWCQ.js} +1 -1
- package/browser/chunk-DV_7IOl_.js +1 -0
- package/browser/chunk-DaoWXYMw.js +1 -0
- package/browser/{chunk-jv0lz5Ah.js → chunk-DmaEv05C.js} +1 -1
- package/browser/{chunk-BSSDDOqW.js → chunk-DoqL_RuM.js} +2 -2
- package/browser/chunk-FMHkoXwM.js +37 -0
- package/browser/{chunk-axGY7UtD.js → chunk-Fr6-w83-.js} +1 -1
- package/browser/{chunk-iNIQR015.js → chunk-HHPhxe9B.js} +1 -1
- package/browser/{chunk-fhFxOLYS.js → chunk-IYMfBoNU.js} +1 -1
- package/browser/chunk-PQu4_Hy2.js +2 -0
- package/browser/chunk-Qpb04pBJ.js +1 -0
- package/browser/{chunk-CBNhmZDS.js → chunk-W5DNK5PC.js} +1 -1
- package/browser/{chunk-BHZY3TvC.js → chunk-WSA7xa0h.js} +5 -5
- package/browser/{chunk-BJYyjaQ6.js → chunk-lX2E6ugr.js} +1 -1
- package/browser/{chunk-CGMAzvSo.js → chunk-o2LY9dfG.js} +1 -1
- package/browser/{chunk-DzlrRiVM.js → chunk-py_Q_oQH.js} +1 -1
- package/browser/{chunk-BUJoEGsf.js → chunk-t87lD8bQ.js} +1 -1
- package/browser/{chunk-Be1LOFvg.js → chunk-vL7dLM7S.js} +1 -1
- package/browser/{chunk-Co81dkbz.js → chunk-zvR-rokl.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/main-YYHD6X7H.js +1811 -0
- package/package.json +1 -1
- package/browser/chunk-BEKR4Un_.js +0 -1
- package/browser/chunk-BEUXx3TO.js +0 -1
- package/browser/chunk-BJeLQooO.js +0 -1
- package/browser/chunk-BY7uKZAo.js +0 -9
- package/browser/chunk-BdApeECy.js +0 -1
- package/browser/chunk-C-aF2_1R.js +0 -55
- package/browser/chunk-CFZbDe5T.js +0 -5
- package/browser/chunk-CPBcDx4G.js +0 -1
- package/browser/chunk-Ci1jk71f.js +0 -276
- package/browser/chunk-CjrWXBiR.js +0 -2
- package/browser/chunk-CtkiOUdU.js +0 -675
- package/browser/chunk-CwaAd8kk.js +0 -1
- package/browser/chunk-DDnWPYAA.js +0 -2
- package/browser/chunk-Dfujxxcr.js +0 -1
- package/browser/chunk-DgrvmqY2.js +0 -2
- package/browser/chunk-DoKoAMs6.js +0 -1
- package/browser/chunk-Dtu-PLbq.js +0 -1
- package/browser/chunk-S8F5_Te_.js +0 -508
- package/browser/chunk-YS-vAhPY.js +0 -190
- package/browser/chunk-fYErSEXN.js +0 -1
- package/browser/chunk-gmPqDrDS.js +0 -1
- package/browser/chunk-izARvh_2.js +0 -1
- package/browser/chunk-rwEyLSEP.js +0 -1
- package/browser/chunk-tTmeIHGS.js +0 -37
- package/browser/main-5PAOSHSM.js +0 -1811
|
@@ -1 +1 @@
|
|
|
1
|
-
import {g,G,cb as
|
|
1
|
+
import {g,G,cb as JB,cc as XB,W as Wi,j as jw,k as Cs,J as JC,m as hl,o as aC,t as sI,a8 as Kg,u as cC,ac as CC,a9 as vC,n as kg,_ as _g,aa as Cf,ab as Tf}from'./main-YYHD6X7H.js';import {K as Kn,Z as Zn,S as Se}from'./chunk-B13_C_P9.js';function P(n,o){if(n&1&&(Cs(0,"span",3),JC(1),hl()),n&2){let e=CC();sI(),Kg(e.config().modelName);}}function k(n,o){if(n&1&&(Cs(0,"span",4),JC(1),hl()),n&2){let e=CC();sI(),Kg(e.config().description);}}function S(n,o){if(n&1){let e=vC();Cs(0,"span",7),JC(1,"Delete?"),hl(),Cs(2,"ds-icon-button",8),kg("action",function(){Cf(e);let l=CC();return Tf(l.onDeleteConfirmed())}),hl(),Cs(3,"ds-icon-button",9),kg("action",function(){Cf(e);let l=CC();return Tf(l.onDeleteCancelled())}),hl();}}function E(n,o){if(n&1){let e=vC();Cs(0,"ds-kebab-menu",10),kg("itemSelected",function(l){Cf(e);let A=CC();return Tf(A.onMenuAction(l))}),hl();}if(n&2){let e=CC();_g("items",e.readOnly()?e.readOnlyMenuItems:e.menuItems);}}var O=class n{router=g(G);config=JB.required();namespaceId=JB(void 0);platformMode=JB(false);readOnly=JB(false);deleteRequested=XB();pendingDelete=Wi(false);menuItems=[{key:"edit",label:"Edit agent config",icon:"edit"},{key:"inspect",label:"Inspect definition",icon:"search"},{key:"delete",label:"Delete agent config",icon:"delete",variant:"danger"}];readOnlyMenuItems=[{key:"inspect",label:"Inspect definition",icon:"search"}];onMenuAction(o){switch(o){case "edit":this.platformMode()?this.router.navigate(["/agentos","admin","agent-configs",this.config().id,"edit"]):this.router.navigate(["/agentos",this.namespaceId(),"agent-configs",this.config().id,"edit"]);break;case "inspect":this.platformMode()?this.router.navigate(["/agentos","admin","agent-configs",this.config().id,"inspect"]):this.router.navigate(["/agentos",this.namespaceId(),"agent-configs",this.config().id,"inspect"]);break;case "delete":this.pendingDelete.set(true);break}}onDeleteConfirmed(){this.pendingDelete.set(false),this.deleteRequested.emit(this.config());}onDeleteCancelled(){this.pendingDelete.set(false);}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=jw({type:n,selectors:[["agentos-agent-config-item"]],inputs:{config:[1,"config"],namespaceId:[1,"namespaceId"],platformMode:[1,"platformMode"],readOnly:[1,"readOnly"]},outputs:{deleteRequested:"deleteRequested"},decls:9,vars:4,consts:[["role","listitem","dsBlueprint","",1,"agent-config-item"],[1,"agent-config-item__body"],[1,"agent-config-item__name"],[1,"agent-config-item__model"],[1,"agent-config-item__description"],[1,"agent-config-item__actions"],[3,"items"],[1,"agent-config-item__confirm-label"],["icon","check","variant","danger","title","Confirm deletion",3,"action"],["icon","close","title","Cancel deletion",3,"action"],[3,"itemSelected","items"]],template:function(e,a){e&1&&(Cs(0,"div",0)(1,"div",1)(2,"span",2),JC(3),hl(),aC(4,P,2,1,"span",3),aC(5,k,2,1,"span",4),hl(),Cs(6,"div",5),aC(7,S,4,0)(8,E,1,1,"ds-kebab-menu",6),hl()()),e&2&&(sI(3),Kg(a.config().name),sI(),cC(a.config().modelName?4:-1),sI(),cC(a.config().description?5:-1),sI(2),cC(a.pendingDelete()?7:8));},dependencies:[Kn,Zn,Se],styles:[".agent-config-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:14px 16px;position:relative;border-radius:0;border:1px solid var(--color-divider);background:var(--color-bg);box-shadow:var(--shadow-sm);overflow:visible;transition:border-color .15s ease}.agent-config-item[_ngcontent-%COMP%]:hover{border-color:var(--color-accent)}.agent-config-item__body[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.agent-config-item__name[_ngcontent-%COMP%]{font-size:15px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__model[_ngcontent-%COMP%], .agent-config-item__description[_ngcontent-%COMP%]{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__actions[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.agent-config-item[_ngcontent-%COMP%]:hover .agent-config-item__actions[_ngcontent-%COMP%], .agent-config-item[_ngcontent-%COMP%]:focus-within .agent-config-item__actions[_ngcontent-%COMP%]{opacity:1}.agent-config-item[_ngcontent-%COMP%]:has(.agent-config-item__confirm-label) .agent-config-item__actions[_ngcontent-%COMP%]{opacity:1}.agent-config-item__confirm-label[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);margin-right:.25rem;white-space:nowrap}"]})};export{O};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {c}from'./chunk-DVTNoWCQ.js';import {g,ao as V,G,C as Ce$1,d8 as M,d9 as me$1,da as xe$1,W as Wi,db as ye$1,F,bR as Sd,T as TT,$ as $y,b as U,a7 as va,I as br,z as z$1,a as P,j as jw,k as Cs,n as kg,J as JC,m as hl,o as aC,t as sI,a5 as Dl,u as cC,a9 as vC,M as Mg,a3 as ZI,q as dC,ac as CC,_ as _g,w as zg,a6 as QI,v as fC,a8 as Kg,aa as Cf,ab as Tf,bk as Dh}from'./main-YYHD6X7H.js';import {o as z,k as _t,b as _e$1,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,f as fn,a as wt,A as At,Z as Zn,l as Xn,$ as $t,C as Cn,E as En}from'./chunk-FMHkoXwM.js';var A=(n,t)=>t.value,me=(n,t)=>t.id;function pe(n,t){n&1&&(Cs(0,"p",5),JC(1,"Loading\u2026"),hl());}function ue(n,t){n&1&&(Cs(0,"span",12),JC(1," Name is required. "),hl());}function fe(n,t){if(n&1&&(Cs(0,"p",42),JC(1),hl(),Cs(2,"span",13),JC(3,"Agent Config cannot be changed after creation."),hl()),n&2){let e=CC(2);sI(),Kg(e.resolveAgentConfigName(e.agentConfigIdControl.value));}}function _e(n,t){if(n&1&&(Cs(0,"a",43),JC(1,"Add an agent config"),hl(),JC(2," first. ")),n&2){let e=CC(3);_g("href","/agentos/"+e.namespaceId+"/agent-configs/new",Dh);}}function he(n,t){if(n&1&&(Cs(0,"p",13),JC(1," No agent configs available in this scope yet. "),aC(2,_e,3,1),hl()),n&2){let e=CC(2);sI(2),cC(e.isPlatformMode?-1:2);}}function ge(n,t){if(n&1&&(Cs(0,"option",23),JC(1),hl()),n&2){let e=t.$implicit;_g("value",e.id),sI(),Kg(e.name);}}function Ce(n,t){n&1&&(Cs(0,"span",12),JC(1,"Agent Config is required."),hl());}function ve(n,t){if(n&1&&(Cs(0,"select",44)(1,"option",45),JC(2,"Select an agent config\u2026"),hl(),dC(3,ge,2,2,"option",23,me),hl(),ZI(),aC(5,Ce,2,0,"span",12),Cs(6,"span",13),JC(7,"Immutable after creation."),hl()),n&2){let e=CC(2);_g("formControl",e.agentConfigIdControl),QI(),sI(3),fC(e.availableAgentConfigs()),sI(2),cC(e.agentConfigIdControl.invalid&&e.agentConfigIdControl.touched?5:-1);}}function xe(n,t){n&1&&(Cs(0,"span",12),JC(1,"Opening message is required."),hl());}function ye(n,t){if(n&1&&(Cs(0,"option",23),JC(1),hl()),n&2){let e=t.$implicit;_g("value",e.value),sI(),Kg(e.label);}}function be(n,t){if(n&1){let e=vC();Cs(0,"label",48)(1,"input",49),kg("change",function(){let g=Cf(e).$implicit,v=CC(3);return Tf(v.toggleDay(g.value))}),hl(),Cs(2,"span",50),JC(3),hl()();}if(n&2){let e=t.$implicit,d=CC(3);sI(),_g("checked",d.isDaySelected(e.value)),sI(2),Kg(e.label);}}function Se(n,t){if(n&1&&(Cs(0,"div",8)(1,"span",46),JC(2,"Days of week"),hl(),Cs(3,"div",47),dC(4,be,4,2,"label",48,A),hl(),Cs(6,"span",13),JC(7,"Leave empty to run every day of the week."),hl()()),n&2){let e=CC(2);sI(4),fC(e.dayOptions);}}function Ee(n,t){n&1&&(Cs(0,"span",12),JC(1,"Valid time is required (HH:mm)."),hl());}function Pe(n,t){n&1&&(Cs(0,"span",12),JC(1,"Start date is required."),hl());}function Me(n,t){if(n&1&&(Cs(0,"option",23),JC(1),hl()),n&2){let e=t.$implicit;_g("value",e.value),sI(),Kg(e.label);}}function Oe(n,t){n&1&&(Cs(0,"span",12),JC(1,"End date is required."),hl());}function De(n,t){if(n&1&&(Cs(0,"div",8)(1,"label",51),JC(2," End date "),Cs(3,"span",10),JC(4,"*"),hl()(),Mg(5,"input",52),ZI(),aC(6,Oe,2,0,"span",12),hl()),n&2){let e=CC(2);sI(5),zg("scheduled-prompt-form__input--invalid",e.form.hasError("endDateRequired")&&e.endDateControl.touched),_g("formControl",e.endDateControl),QI(),sI(),cC(e.form.hasError("endDateRequired")&&e.endDateControl.touched?6:-1);}}function Te(n,t){n&1&&(Cs(0,"span",12),JC(1,"Must be at least 1."),hl());}function we(n,t){if(n&1&&(Cs(0,"div",8)(1,"label",53),JC(2," Number of occurrences "),Cs(3,"span",10),JC(4,"*"),hl()(),Mg(5,"input",54),ZI(),aC(6,Te,2,0,"span",12),hl()),n&2){let e=CC(2);sI(5),zg("scheduled-prompt-form__input--invalid",e.form.hasError("occurrenceCountRequired")&&e.occurrenceCountControl.touched),_g("formControl",e.occurrenceCountControl),QI(),sI(),cC(e.form.hasError("occurrenceCountRequired")&&e.occurrenceCountControl.touched?6:-1);}}function ke(n,t){n&1&&(Cs(0,"span",12),JC(1,"Invalid JSON."),hl());}function Ne(n,t){if(n&1&&(Cs(0,"p",38),JC(1),hl()),n&2){let e=CC(2);sI(),Kg(e.errorMessage());}}function Fe(n,t){if(n&1){let e=vC();Cs(0,"form",7),kg("ngSubmit",function(){Cf(e);let g=CC();return Tf(g.submit())}),Cs(1,"div",8)(2,"label",9),JC(3," Name "),Cs(4,"span",10),JC(5,"*"),hl()(),Mg(6,"input",11),ZI(),aC(7,ue,2,0,"span",12),Cs(8,"span",13),JC(9,'Free-form name (e.g. "Weekly Report"). Cannot be changed after creation.'),hl()(),Cs(10,"div",8)(11,"label",14),JC(12,"Description"),hl(),Mg(13,"input",15),ZI(),hl(),Cs(14,"div",8)(15,"label",16),JC(16," Agent Config "),Cs(17,"span",10),JC(18,"*"),hl()(),aC(19,fe,4,1)(20,he,3,1,"p",13)(21,ve,8,2),hl(),Cs(22,"div",8)(23,"label",17),JC(24," Opening message "),Cs(25,"span",10),JC(26,"*"),hl()(),Mg(27,"textarea",18),ZI(),aC(28,xe,2,0,"span",12),Cs(29,"span",13),JC(30," The message sent to the agent when the scheduled prompt fires. "),hl()(),Cs(31,"fieldset",19)(32,"legend",20),JC(33,"Recurrence"),hl(),Cs(34,"div",8)(35,"label",21),JC(36," Unit "),Cs(37,"span",10),JC(38,"*"),hl()(),Cs(39,"select",22),dC(40,ye,2,2,"option",23,A),hl(),ZI(),hl(),aC(42,Se,8,0,"div",8),Cs(43,"div",8)(44,"label",24),JC(45," Time (UTC) "),Cs(46,"span",10),JC(47,"*"),hl()(),Cs(48,"div",25),Mg(49,"input",26),ZI(),Cs(50,"span",27),JC(51,"UTC"),hl()(),aC(52,Ee,2,0,"span",12),hl()(),Cs(53,"fieldset",19)(54,"legend",20),JC(55,"Planning"),hl(),Cs(56,"div",8)(57,"label",28),JC(58," Start date "),Cs(59,"span",10),JC(60,"*"),hl()(),Mg(61,"input",29),ZI(),aC(62,Pe,2,0,"span",12),hl(),Cs(63,"div",8)(64,"label",30),JC(65," Ends "),Cs(66,"span",10),JC(67,"*"),hl()(),Cs(68,"select",31),dC(69,Me,2,2,"option",23,A),hl(),ZI(),hl(),aC(71,De,7,4,"div",8),aC(72,we,7,4,"div",8),hl(),Cs(73,"div",8)(74,"label",32),Mg(75,"input",33),ZI(),Cs(76,"span",34),JC(77,"Enabled"),hl()(),Cs(78,"p",35),JC(79," When disabled, the scheduled prompt is saved but will not run on schedule. "),hl()(),Cs(80,"div",8)(81,"label",36),JC(82,"External Metadata"),hl(),Mg(83,"textarea",37),ZI(),aC(84,ke,2,0,"span",12),Cs(85,"span",13),JC(86,"Optional. Opaque JSON object stored as-is. Leave empty to clear."),hl()(),aC(87,Ne,2,1,"p",38),Cs(88,"div",39)(89,"button",40),JC(90),hl(),Cs(91,"button",41),kg("click",function(){Cf(e);let g=CC();return Tf(g.cancel())}),JC(92,"Cancel"),hl()()();}if(n&2){let e=CC();_g("formGroup",e.form),sI(6),zg("scheduled-prompt-form__input--invalid",e.nameControl.invalid&&e.nameControl.touched),_g("formControl",e.nameControl),QI(),sI(),cC(e.nameControl.invalid&&e.nameControl.touched?7:-1),sI(6),_g("formControl",e.descriptionControl),QI(),sI(6),cC(e.isEditMode()?19:e.availableAgentConfigs().length===0?20:21),sI(8),zg("scheduled-prompt-form__textarea--invalid",e.promptContentControl.invalid&&e.promptContentControl.touched),_g("formControl",e.promptContentControl),QI(),sI(),cC(e.promptContentControl.invalid&&e.promptContentControl.touched?28:-1),sI(11),_g("formControl",e.unitControl),QI(),sI(),fC(e.schedulerUnits),sI(2),cC(e.showDayFilter()?42:-1),sI(7),_g("formControl",e.timeUtcControl),QI(),sI(3),cC(e.timeUtcControl.invalid&&e.timeUtcControl.touched?52:-1),sI(9),zg("scheduled-prompt-form__input--invalid",e.startDateControl.invalid&&e.startDateControl.touched),_g("formControl",e.startDateControl),QI(),sI(),cC(e.startDateControl.invalid&&e.startDateControl.touched?62:-1),sI(6),_g("formControl",e.endTypeControl),QI(),sI(),fC(e.endTypes),sI(2),cC(e.showEndDate()?71:-1),sI(),cC(e.showOccurrenceCount()?72:-1),sI(3),_g("formControl",e.enabledControl),QI(),sI(8),_g("formControl",e.externalMetadataJsonControl),QI(),sI(),cC(e.externalMetadataJsonControl.invalid&&e.externalMetadataJsonControl.touched?84:-1),sI(3),cC(e.errorMessage()?87:-1),sI(2),_g("disabled",e.form.invalid||e.isSubmitting()),sI(),Dl(" ",e.isEditMode()?"Save changes":"Create scheduled prompt"," ");}}var se=class n{route=g(V);router=g(G);destroyRef=g(Ce$1);state=g(c);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=!this.namespaceId;form=new z({name:new _t("",{nonNullable:true,validators:[_e$1.required]}),description:new _t(null),agentConfigId:new _t("",{nonNullable:true,validators:[_e$1.required]}),promptContent:new _t("",{nonNullable:true,validators:[_e$1.required]}),unit:new _t(xe$1.WEEK,{nonNullable:true,validators:[_e$1.required]}),days:new _t([],{nonNullable:true}),timeUtc:new _t("09:00",{nonNullable:true,validators:[_e$1.required,_e$1.pattern(/^([01]\d|2[0-3]):[0-5]\d$/)]}),startDate:new _t("",{nonNullable:true,validators:[_e$1.required]}),endType:new _t(me$1.NEVER,{nonNullable:true,validators:[_e$1.required]}),endDate:new _t(null),occurrenceCount:new _t(null),enabled:new _t(true,{nonNullable:true}),externalMetadataJson:new _t("",{nonNullable:true,validators:[Ae]})},{validators:[Ie,Ve]});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get agentConfigIdControl(){return this.form.controls.agentConfigId}get promptContentControl(){return this.form.controls.promptContent}get unitControl(){return this.form.controls.unit}get daysControl(){return this.form.controls.days}get timeUtcControl(){return this.form.controls.timeUtc}get startDateControl(){return this.form.controls.startDate}get endTypeControl(){return this.form.controls.endType}get endDateControl(){return this.form.controls.endDate}get occurrenceCountControl(){return this.form.controls.occurrenceCount}get enabledControl(){return this.form.controls.enabled}get externalMetadataJsonControl(){return this.form.controls.externalMetadataJson}isEditMode=Wi(false);isSubmitting=Wi(false);isLoading=Wi(false);errorMessage=Wi(null);SchedulerUnit=xe$1;SchedulerEndType=me$1;schedulerUnits=[{value:xe$1.WEEK,label:"Week(s)"},{value:xe$1.MONTH,label:"Month(s)"}];endTypes=[{value:me$1.NEVER,label:"Never"},{value:me$1.ON_DATE,label:"On date"},{value:me$1.OCCURRENCES,label:"After N occurrences"}];dayOptions=Object.entries(ye$1).map(([t,e])=>({value:t,label:e}));unitSignal=F(this.unitControl.valueChanges.pipe(Sd(this.unitControl.value)));endTypeSignal=F(this.endTypeControl.valueChanges.pipe(Sd(this.endTypeControl.value)));showDayFilter=TT(()=>this.unitSignal()===xe$1.WEEK);showEndDate=TT(()=>this.endTypeSignal()===me$1.ON_DATE);showOccurrenceCount=TT(()=>this.endTypeSignal()===me$1.OCCURRENCES);agentConfigs=Wi([]);availableAgentConfigs=this.agentConfigs.asReadonly();existingPrompt=null;ngOnInit(){this.startDateControl.setValue(Re());let t=this.route.snapshot.paramMap.get("scheduledPromptId");t?(this.isEditMode.set(true),this.loadPromptAndResources(t)):this.loadResources();}loadPromptAndResources(t){this.isLoading.set(true),$y({prompt:this.state.getById(t),agentConfigs:this.agentConfigs$()}).pipe(U(this.destroyRef)).subscribe({next:({prompt:e,agentConfigs:d})=>{this.existingPrompt=e,this.agentConfigs.set(d),this.hydrateForm(e),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),this.navigateBack();}});}loadResources(){this.agentConfigs$().pipe(U(this.destroyRef)).subscribe(t=>this.agentConfigs.set(t));}agentConfigs$(){return (this.isPlatformMode?this.agentConfigController.listPlatformAgentsAgentConfig():this.agentConfigController.listByParentAgentConfig(this.namespaceId)).pipe(va(()=>br([])))}hydrateForm(t){this.nameControl.setValue(t.name),this.descriptionControl.setValue(t.description??null),this.agentConfigIdControl.setValue(t.agentConfigId),this.promptContentControl.setValue(t.promptContent),this.unitControl.setValue(t.recurrence.unit),this.daysControl.setValue(t.recurrence.days??[]),this.timeUtcControl.setValue(t.recurrence.timeUtc),this.startDateControl.setValue(t.planning.startDate),this.endTypeControl.setValue(t.planning.endType),this.endDateControl.setValue(t.planning.endDate??null),this.occurrenceCountControl.setValue(t.planning.maxOccurrenceCount??null),this.enabledControl.setValue(t.enabled),this.externalMetadataJsonControl.setValue(t.externalMetadata?JSON.stringify(t.externalMetadata,null,2):"");}isDaySelected(t){return this.daysControl.value.includes(t)}toggleDay(t){let e=this.daysControl.value,d=e.includes(t)?e.filter(g=>g!==t):[...e,t];this.daysControl.setValue(d);}resolveAgentConfigName(t){return this.agentConfigs().find(e=>e.id===t)?.name??t}submit(){if(this.form.invalid||this.isSubmitting())return;this.isSubmitting.set(true),this.errorMessage.set(null);let t=this.isEditMode()&&!!this.existingPrompt?.id,e=this.endTypeControl.value,d=z$1(P({},this.existingPrompt??{}),{namespaceId:this.namespaceId??null,name:this.nameControl.value.trim(),description:this.descriptionControl.value?.trim()||void 0,agentConfigId:t?this.existingPrompt.agentConfigId:this.agentConfigIdControl.value,promptContent:this.promptContentControl.value.trim(),recurrence:{unit:this.unitControl.value,days:this.daysControl.value,timeUtc:this.timeUtcControl.value},planning:{startDate:this.startDateControl.value,endType:e,endDate:e===me$1.ON_DATE?this.endDateControl.value??void 0:void 0,maxOccurrenceCount:e===me$1.OCCURRENCES?this.occurrenceCountControl.value??void 0:void 0},enabled:this.enabledControl.value,removed:this.existingPrompt?.removed??false,externalMetadata:(()=>{let v=this.externalMetadataJsonControl.value.trim();return v?JSON.parse(v):null})()});(t?this.state.update(this.existingPrompt.id,d):this.state.create(d)).pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:v=>{this.isSubmitting.set(false),v.status===409?this.errorMessage.set(`A scheduled prompt named "${d.name}" already exists in this scope.`):v.status===400?this.errorMessage.set(v.error?.message??"Invalid scheduled prompt data."):this.errorMessage.set("An unexpected error occurred. Please try again.");}});}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","scheduled-prompts"]):this.router.navigate(["/agentos",this.namespaceId,"scheduled-prompts"]);}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=jw({type:n,selectors:[["agentos-scheduled-prompt-form"]],decls:10,vars:3,consts:[[1,"scheduled-prompt-form"],[1,"scheduled-prompt-form__header"],["type","button","title","Back to scheduled prompts",1,"scheduled-prompt-form__back",3,"click"],[1,"scheduled-prompt-form__back-icon"],[1,"scheduled-prompt-form__title"],[1,"scheduled-prompt-form__loading"],[1,"scheduled-prompt-form__form",3,"formGroup"],[1,"scheduled-prompt-form__form",3,"ngSubmit","formGroup"],[1,"scheduled-prompt-form__field"],["for","sp-name",1,"scheduled-prompt-form__label"],["aria-hidden","true"],["id","sp-name","type","text","placeholder","e.g. Weekly Report","autocomplete","off",1,"scheduled-prompt-form__input",3,"formControl"],[1,"scheduled-prompt-form__field-error"],[1,"scheduled-prompt-form__field-hint"],["for","sp-description",1,"scheduled-prompt-form__label"],["id","sp-description","type","text","placeholder","Optional \u2014 short description","autocomplete","off",1,"scheduled-prompt-form__input",3,"formControl"],["for","sp-agent-config",1,"scheduled-prompt-form__label"],["for","sp-prompt-content",1,"scheduled-prompt-form__label"],["id","sp-prompt-content","rows","6","placeholder","Enter the message sent to the agent when the scheduled prompt fires\u2026",1,"scheduled-prompt-form__textarea",3,"formControl"],[1,"scheduled-prompt-form__fieldset"],[1,"scheduled-prompt-form__legend"],["for","sp-unit",1,"scheduled-prompt-form__label"],["id","sp-unit",1,"scheduled-prompt-form__select",3,"formControl"],[3,"value"],["for","sp-time",1,"scheduled-prompt-form__label"],[1,"scheduled-prompt-form__time-wrapper"],["id","sp-time","type","time",1,"scheduled-prompt-form__input","scheduled-prompt-form__input--time",3,"formControl"],[1,"scheduled-prompt-form__utc-badge"],["for","sp-start-date",1,"scheduled-prompt-form__label"],["id","sp-start-date","type","date",1,"scheduled-prompt-form__input",3,"formControl"],["for","sp-end-type",1,"scheduled-prompt-form__label"],["id","sp-end-type",1,"scheduled-prompt-form__select",3,"formControl"],[1,"scheduled-prompt-form__toggle-label"],["type","checkbox",1,"scheduled-prompt-form__toggle-checkbox",3,"formControl"],[1,"scheduled-prompt-form__toggle-text"],[1,"scheduled-prompt-form__toggle-hint"],["for","sp-external-metadata",1,"scheduled-prompt-form__label"],["id","sp-external-metadata","rows","6","placeholder",'{ "key": "value" }',"spellcheck","false","autocomplete","off",1,"scheduled-prompt-form__textarea","scheduled-prompt-form__textarea--code",3,"formControl"],[1,"scheduled-prompt-form__error"],[1,"scheduled-prompt-form__actions"],["type","submit",1,"scheduled-prompt-form__btn","scheduled-prompt-form__btn--primary",3,"disabled"],["type","button",1,"scheduled-prompt-form__btn",3,"click"],[1,"scheduled-prompt-form__readonly-value"],[3,"href"],["id","sp-agent-config",1,"scheduled-prompt-form__select",3,"formControl"],["value","","disabled",""],[1,"scheduled-prompt-form__label"],[1,"scheduled-prompt-form__day-grid"],[1,"scheduled-prompt-form__day-label"],["type","checkbox",1,"scheduled-prompt-form__day-checkbox",3,"change","checked"],[1,"scheduled-prompt-form__day-text"],["for","sp-end-date",1,"scheduled-prompt-form__label"],["id","sp-end-date","type","date",1,"scheduled-prompt-form__input",3,"formControl"],["for","sp-occurrence-count",1,"scheduled-prompt-form__label"],["id","sp-occurrence-count","type","number","min","1",1,"scheduled-prompt-form__input","scheduled-prompt-form__input--number",3,"formControl"]],template:function(e,d){e&1&&(Cs(0,"div",0)(1,"header",1)(2,"button",2),kg("click",function(){return d.cancel()}),Cs(3,"span",3),JC(4,"\u2190"),hl(),JC(5),hl(),Cs(6,"h1",4),JC(7),hl()(),aC(8,pe,2,0,"p",5)(9,Fe,93,28,"form",6),hl()),e&2&&(sI(5),Dl(" ",d.isPlatformMode?"Platform Scheduled Prompts":"Scheduled Prompts"," "),sI(2),Dl(" ",d.isEditMode()?"Edit scheduled prompt":"New scheduled prompt"," "),sI(),cC(d.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,fn,wt,At,Zn,Xn,$t,Cn,En],styles:[".scheduled-prompt-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.scheduled-prompt-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.scheduled-prompt-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.scheduled-prompt-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.scheduled-prompt-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.scheduled-prompt-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.scheduled-prompt-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.scheduled-prompt-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.scheduled-prompt-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.scheduled-prompt-form__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.scheduled-prompt-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text, #1d1d1f)}.scheduled-prompt-form__input[_ngcontent-%COMP%], .scheduled-prompt-form__select[_ngcontent-%COMP%], .scheduled-prompt-form__textarea[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.scheduled-prompt-form__input[_ngcontent-%COMP%]:focus, .scheduled-prompt-form__select[_ngcontent-%COMP%]:focus, .scheduled-prompt-form__textarea[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.scheduled-prompt-form__input[_ngcontent-%COMP%]::placeholder, .scheduled-prompt-form__select[_ngcontent-%COMP%]::placeholder, .scheduled-prompt-form__textarea[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.scheduled-prompt-form__select[_ngcontent-%COMP%]{cursor:pointer;appearance:auto}.scheduled-prompt-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:100px;line-height:1.5}.scheduled-prompt-form__input--time[_ngcontent-%COMP%]{flex:1;min-width:0}.scheduled-prompt-form__input--number[_ngcontent-%COMP%]{max-width:120px}.scheduled-prompt-form__time-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.scheduled-prompt-form__utc-badge[_ngcontent-%COMP%]{flex-shrink:0;font-size:.75rem;font-weight:600;font-family:monospace;color:var(--color-text-secondary, #6e6e73);background:var(--color-surface, rgba(0, 0, 0, .05));padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}.scheduled-prompt-form__fieldset[_ngcontent-%COMP%]{border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;padding:1rem 1.25rem 1.25rem;margin:0;display:flex;flex-direction:column;gap:1.25rem}.scheduled-prompt-form__legend[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #6e6e73);padding:0 .375rem}.scheduled-prompt-form__day-grid[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem}.scheduled-prompt-form__day-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;cursor:pointer;-webkit-user-select:none;user-select:none}.scheduled-prompt-form__day-checkbox[_ngcontent-%COMP%]{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-primary, #007aff);cursor:pointer}.scheduled-prompt-form__day-text[_ngcontent-%COMP%]{font-size:.875rem;color:var(--color-text, #1d1d1f)}.scheduled-prompt-form__hint[_ngcontent-%COMP%]{margin:0;font-size:.875rem;color:var(--color-text-secondary, #6e6e73)}.scheduled-prompt-form__hint[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--color-primary, #007aff);text-decoration:none}.scheduled-prompt-form__hint[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.scheduled-prompt-form__error[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-error, #ff3b30);margin:0}.scheduled-prompt-form__field-error[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-error, #ff3b30)}.scheduled-prompt-form__field-hint[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary, #6e6e73);line-height:1.4}.scheduled-prompt-form__field-hint[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--color-primary, #007aff);text-decoration:none}.scheduled-prompt-form__field-hint[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.scheduled-prompt-form__readonly-value[_ngcontent-%COMP%]{margin:0;font-size:.9375rem;color:var(--color-text, #1d1d1f);padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--color-surface, rgba(0, 0, 0, .03))}.scheduled-prompt-form__input--invalid[_ngcontent-%COMP%], .scheduled-prompt-form__textarea--invalid[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30)}.scheduled-prompt-form__toggle-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.scheduled-prompt-form__toggle-checkbox[_ngcontent-%COMP%]{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-primary, #007aff);cursor:pointer}.scheduled-prompt-form__toggle-text[_ngcontent-%COMP%]{font-size:.9rem;font-weight:500;color:var(--color-text, #1d1d1f)}.scheduled-prompt-form__toggle-hint[_ngcontent-%COMP%]{margin:.25rem 0 0 1.5rem;font-size:.8rem;color:var(--color-text-secondary, #6e6e73);line-height:1.4}.scheduled-prompt-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.scheduled-prompt-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.scheduled-prompt-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.scheduled-prompt-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.scheduled-prompt-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.scheduled-prompt-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"]})};function Ie(n){let t=n.get("endType")?.value,e=n.get("endDate")?.value;return t===me$1.ON_DATE&&!e?{endDateRequired:true}:null}function Ve(n){let t=n.get("endType")?.value,e=n.get("occurrenceCount")?.value;return t===me$1.OCCURRENCES&&(e==null||e<1)?{occurrenceCountRequired:true}:null}function Ae(n){let t=n.value?.trim();if(!t)return null;try{return JSON.parse(t),null}catch(e){return {invalidJson:true}}}function Re(){let n=new Date,t=n.getFullYear(),e=String(n.getMonth()+1).padStart(2,"0"),d=String(n.getDate()).padStart(2,"0");return `${t}-${e}-${d}`}export{se as ScheduledPromptFormComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {n}from'./chunk-CfgXrte_.js';import {O}from'./chunk-
|
|
1
|
+
import {n}from'./chunk-CfgXrte_.js';import {O}from'./chunk-D30bRRTP.js';import {v}from'./chunk-DV_7IOl_.js';import {R}from'./chunk-CR817PBg.js';import {g,ao as V,G,C as Ce,W as Wi,r as re,b as U$1,bS as Da,I as br,j as jw,aK as Lb,k as Cs,bf as gT,n as kg,m as hl,af as wg,A as AC,_ as _g,bg as yT,ah as dT,o as aC,ac as CC,u as cC,J as JC,t as sI,a8 as Kg,a9 as vC,aa as Cf,ab as Tf,ag as ET}from'./main-YYHD6X7H.js';import'./chunk-BJld3zB5.js';import {W as Wn,S as Se}from'./chunk-B13_C_P9.js';import'./chunk-CgNkwpQ7.js';import'./chunk-FMHkoXwM.js';import'./chunk-DaoWXYMw.js';import'./chunk-4uEZjTft.js';var W=()=>[];function z(s,e){if(s&1&&(Cs(0,"p",3),JC(1),hl()),s&2){let t=CC().$implicit;sI(),Kg(t.name);}}function U(s,e){if(s&1){let t=vC();Cs(0,"agentos-auth-setting-item",5),kg("editRequested",function(){let i=Cf(t),r=CC(2);return Tf(r.onEdit(i))})("deleteRequested",function(){let i=Cf(t),r=CC(2);return Tf(r.onDelete(i))})("duplicateRequested",function(){let i=Cf(t),r=CC(2);return Tf(r.onDuplicate(i))}),hl();}if(s&2){let t=e,n=CC(2);_g("config",t.config)("scope",t.scope)("readOnly",t.scope==="platform"||t.scope==="namespace"&&!n.isAdmin());}}function X(s,e){if(s&1&&aC(0,z,2,1,"p",3)(1,U,1,3,"agentos-auth-setting-item",4),s&2){let t,n=e.$implicit,i=CC();cC(i.isEmptyPlaceholder(n.id)?0:(t=i.resolve(n.id))?1:-1,t);}}var k=Object.freeze({platform:"Platform (read-only)",namespace:"Auth Settings du namespace",userOnNs:"Mes overrides sur ce namespace",userGlobal:"Mes overrides globaux"}),F="__empty__",j=class s{route=g(V);router=g(G);destroyRef=g(Ce);state=g(R);namespaceRole=g(v);namespaceId=this.route.snapshot.params.namespaceId;isAdmin=Wi(false);listItems$=this.state.vm$.pipe(re(e=>this.toListItems(e)));isLoading=Wi(true);resolved=new Map;ngOnInit(){this.route.paramMap.pipe(U$1(this.destroyRef)).subscribe(e=>{let t=e.get("namespaceId")??"";t&&t!==this.namespaceId&&(this.namespaceId=t),this.state.setNamespace(t);}),this.route.paramMap.pipe(re(e=>e.get("namespaceId")??""),Da(e=>e?this.namespaceRole.isAdminOfNamespace$(e):br(false)),U$1(this.destroyRef)).subscribe(e=>this.isAdmin.set(e)),this.state.vm$.pipe(U$1(this.destroyRef)).subscribe(e=>{this.isLoading.set(false);let t=new Map;e.platform.forEach(n=>{n.id&&t.set(this.itemKey("platform",n.id),{config:n,scope:"platform"});}),e.namespace.forEach(n=>{n.id&&t.set(this.itemKey("namespace",n.id),{config:n,scope:"namespace"});}),e.userOnNs.forEach(n=>{n.id&&t.set(this.itemKey("userOnNs",n.id),{config:n,scope:"userOnNs"});}),e.userGlobal.forEach(n=>{n.id&&t.set(this.itemKey("userGlobal",n.id),{config:n,scope:"userGlobal"});}),this.resolved=t;});}isEmptyPlaceholder(e){return e.startsWith(F)}resolve(e){return this.resolved.get(e)??null}itemKey(e,t){return `${e}:${t}`}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"auth-settings","new"],{queryParams:{scope:n(this.isAdmin())}});}onEdit(e){let t=e.config.id;t&&this.router.navigate(["/agentos",this.namespaceId,"auth-settings",t,"edit"],{queryParams:{scope:e.scope}});}onDelete(e){let t=e.config.id;t&&this.state.delete(t,e.scope).pipe(U$1(this.destroyRef)).subscribe({error:n=>{console.error(`[AuthSettingsAllScopes] Delete failed for ${e.scope}:${t}:`,n);}});}onDuplicate(e){if(!e.config.id)return;let t=e.scope==="platform"||e.scope==="namespace"&&!this.isAdmin()?"userOnNs":e.scope;this.router.navigate(["/agentos",this.namespaceId,"auth-settings","new"],{queryParams:{scope:t,template:e.config.id,templateScope:e.scope}});}toListItems(e){let t=[];return t.push(...this.sectionItems("platform",e.platform)),t.push(...this.sectionItems("namespace",e.namespace)),t.push(...this.sectionItems("userOnNs",e.userOnNs)),t.push(...this.sectionItems("userGlobal",e.userGlobal)),t}sectionItems(e,t){return t.length===0?[{id:`${F}${e}`,name:"Aucun Auth Setting",groupKey:e,groupLabel:k[e]}]:t.filter(n=>!!n.id).map(n=>({id:this.itemKey(e,n.id),name:n.name,description:n.authType,groupKey:e,groupLabel:k[e]}))}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=jw({type:s,selectors:[["agentos-auth-settings-all-scopes"]],decls:5,vars:7,consts:[["authSettingItemTpl",""],["title","Auth Settings","emptyMessage","No auth settings available.","cardMinWidth","400px",3,"createRequested","items","loading","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[1,"auth-settings-all-scopes__empty"],[3,"config","scope","readOnly"],[3,"editRequested","deleteRequested","duplicateRequested","config","scope","readOnly"]],template:function(t,n){if(t&1&&(Cs(0,"ds-entity-list",1),gT(1,"async"),kg("createRequested",function(){return n.openCreateForm()}),Cs(2,"ds-icon-button",2),kg("action",function(){return n.goBack()}),hl()(),wg(3,X,2,1,"ng-template",null,0,ET)),t&2){let i=AC(4);_g("items",yT(1,4,n.listItems$)??dT(6,W))("loading",n.isLoading())("showCreate",true)("itemTemplate",i);}},dependencies:[Wn,O,Se,Lb],encapsulation:2})};export{j as AuthSettingsAllScopesComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {O}from'./chunk-
|
|
1
|
+
import {O}from'./chunk-BVmICoo4.js';import {g,ao as V$1,G as G$1,C as Ce,d8 as M,aJ as Tr,W as Wi,bS as Da,$ as $y,a7 as va,I as br,r as re,b as U$1,j as jw,aK as Lb,k as Cs,bf as gT,n as kg,J as JC,m as hl,af as wg,A as AC,_ as _g,bg as yT,ah as dT,o as aC,ac as CC,u as cC,a9 as vC,aa as Cf,ab as Tf,ag as ET}from'./main-YYHD6X7H.js';import {W as Wn}from'./chunk-B13_C_P9.js';import'./chunk-CgNkwpQ7.js';import'./chunk-FMHkoXwM.js';var U=()=>[];function V(i,t){if(i&1){let n=vC();Cs(0,"agentos-agent-config-item",4),kg("deleteRequested",function(o){Cf(n);let F=CC(2);return Tf(F.deleteConfig(o))}),hl();}if(i&2){let n=CC().$implicit,e=CC();_g("config",t)("namespaceId",e.namespaceId)("readOnly",e.isPlatformConfig(n.id));}}function j(i,t){if(i&1&&aC(0,V,1,3,"agentos-agent-config-item",3),i&2){let n,e=t.$implicit,o=CC();cC((n=o.resolveConfig(e.id))?0:-1,n);}}var G="namespace",K="platform",q=class i{route=g(V$1);router=g(G$1);destroyRef=g(Ce);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new Tr(void 0);isLoading=Wi(true);allConfigs$=this.refresh$.pipe(Da(()=>(this.isLoading.set(true),$y({namespace:this.agentConfigController.listByParentAgentConfig(this.namespaceId),platform:this.agentConfigController.listPlatformAgentsAgentConfig().pipe(va(()=>br([])))}))));configItems$=this.allConfigs$.pipe(re(({namespace:t,platform:n})=>[...n.map(e=>({id:e.id??"",name:e.name,description:e.description,groupKey:K,groupLabel:"Platform (read-only)"})),...t.map(e=>({id:e.id??"",name:e.name,description:e.description,groupKey:G,groupLabel:"Namespace"}))]));namespaceConfigsById=new Map;platformConfigsById=new Map;constructor(){this.allConfigs$.pipe(U$1(this.destroyRef)).subscribe({next:({namespace:t,platform:n})=>{this.namespaceConfigsById=new Map(t.map(e=>[e.id??"",e])),this.platformConfigsById=new Map(n.map(e=>[e.id??"",e])),this.isLoading.set(false);},error:()=>this.isLoading.set(false)});}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"agent-configs","new"]);}deleteConfig(t){this.agentConfigController.deleteAgentConfig(t.id??"").pipe(U$1(this.destroyRef)).subscribe(()=>this.refresh$.next());}resolveConfig(t){return this.namespaceConfigsById.get(t)??this.platformConfigsById.get(t)??null}isPlatformConfig(t){return this.platformConfigsById.has(t)}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=jw({type:i,selectors:[["agentos-namespace-agent-configs"]],decls:6,vars:7,consts:[["agentConfigItemTpl",""],["title","Agent Configs","emptyMessage","No agent configs defined yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","loading","showCreate","itemTemplate"],["toolbar-start","","type","button",1,"namespace-agent-configs__back",3,"click"],[3,"config","namespaceId","readOnly"],[3,"deleteRequested","config","namespaceId","readOnly"]],template:function(n,e){if(n&1&&(Cs(0,"ds-entity-list",1),gT(1,"async"),kg("createRequested",function(){return e.openCreateForm()}),Cs(2,"button",2),kg("click",function(){return e.goBack()}),JC(3," \u2190 Namespaces "),hl()(),wg(4,j,1,1,"ng-template",null,0,ET)),n&2){let o=AC(5);_g("items",yT(1,4,e.configItems$)??dT(6,U))("loading",e.isLoading())("showCreate",true)("itemTemplate",o);}},dependencies:[Wn,O,Lb],styles:[".namespace-agent-configs__back[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.namespace-agent-configs__back[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})};export{q as NamespaceAgentConfigsComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {O}from'./chunk-
|
|
1
|
+
import {O}from'./chunk-DKQvH1hP.js';import {N as N$1}from'./chunk-vL7dLM7S.js';import {g,G,C as Ce,d7 as U,aJ as Tr,W as Wi,bS as Da,r as re,b as U$1,j as jw,aK as Lb,k as Cs,bf as gT,n as kg,m as hl,af as wg,A as AC,_ as _g,bg as yT,ah as dT,o as aC,ac as CC,u as cC,a9 as vC,aa as Cf,ab as Tf,ag as ET}from'./main-YYHD6X7H.js';import'./chunk-BJld3zB5.js';import {W as Wn,S as Se}from'./chunk-B13_C_P9.js';import'./chunk-CgNkwpQ7.js';import'./chunk-FMHkoXwM.js';import'./chunk-DaoWXYMw.js';import'./chunk-4uEZjTft.js';var F=()=>[];function N(i,t){if(i&1){let e=vC();Cs(0,"agentos-integration-config-item",4),kg("editRequested",function(n){Cf(e);let f=CC(2);return Tf(f.onEdit(n))})("deleteRequested",function(n){Cf(e);let f=CC(2);return Tf(f.deleteConfig(n))}),hl();}i&2&&_g("config",t);}function j(i,t){if(i&1&&aC(0,N,1,1,"agentos-integration-config-item",3),i&2){let e,o=t.$implicit,n=CC();cC((e=n.resolveConfig(o.id))?0:-1,e);}}var V=class i{router=g(G);destroyRef=g(Ce);state=g(N$1);integrationConfigController=g(U);refresh$=new Tr(void 0);isLoading=Wi(true);configs$=this.refresh$.pipe(Da(()=>(this.isLoading.set(true),this.state.loadPlatformConfigs())));configItems$=this.configs$.pipe(re(t=>t.map(e=>({id:e.id??"",name:e.name,description:e.integrationType}))));configsById=new Map;constructor(){this.configs$.pipe(U$1(this.destroyRef)).subscribe({next:t=>{this.configsById=new Map(t.map(e=>[e.id??"",e])),this.isLoading.set(false);},error:()=>this.isLoading.set(false)});}goBack(){this.router.navigate(["/agentos","admin"]);}openCreateForm(){this.router.navigate(["/agentos","admin","integration-configs","new"]);}deleteConfig(t){this.integrationConfigController.deleteIntegrationConfig(t.id??"").pipe(U$1(this.destroyRef)).subscribe(()=>this.refresh$.next());}onEdit(t){this.router.navigate(["/agentos","admin","integration-configs",t.id??"","edit"]);}resolveConfig(t){return this.configsById.get(t)??null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=jw({type:i,selectors:[["agentos-platform-integration-configs"]],decls:5,vars:7,consts:[["integrationConfigItemTpl",""],["title","Platform Integration Configs","emptyMessage","No platform integration configs defined yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","loading","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],["scope","platform",3,"config"],["scope","platform",3,"editRequested","deleteRequested","config"]],template:function(e,o){if(e&1&&(Cs(0,"ds-entity-list",1),gT(1,"async"),kg("createRequested",function(){return o.openCreateForm()}),Cs(2,"ds-icon-button",2),kg("action",function(){return o.goBack()}),hl()(),wg(3,j,1,1,"ng-template",null,0,ET)),e&2){let n=AC(4);_g("items",yT(1,4,o.configItems$)??dT(6,F))("loading",o.isLoading())("showCreate",true)("itemTemplate",n);}},dependencies:[Wn,O,Se,Lb],styles:[".platform-integration-configs__back[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.platform-integration-configs__back[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})};export{V as PlatformIntegrationConfigsComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {d}from'./chunk-BJld3zB5.js';import {g,ao as V,G as G$1,C as Ce,d8 as M,W as Wi,b as U$1,j as jw,s as si,k as Cs,n as kg,J as JC,m as hl,o as aC,t as sI,_ as _g,u as cC,a8 as Kg,w as zg,a5 as Dl,a9 as vC,ac as CC,S as Sg,q as dC,v as fC,M as Mg,bf as gT,bg as yT,aa as Cf,ab as Tf,bj as gE}from'./main-YYHD6X7H.js';import'./chunk-4uEZjTft.js';import'./chunk-B13_C_P9.js';import'./chunk-CgNkwpQ7.js';import'./chunk-FMHkoXwM.js';var F=(n,o)=>o.name;function B(n,o){n&1&&(Cs(0,"p",6),JC(1,"Loading\u2026"),hl());}function $(n,o){n&1&&(Cs(0,"p",7),JC(1,"Failed to load agent definition."),hl());}function j(n,o){if(n&1&&(Cs(0,"dt",12),JC(1,"User context"),hl(),Cs(2,"dd",14),JC(3),hl()),n&2){let e=CC();sI(3),Kg(e.userId);}}function H(n,o){if(n&1&&(Cs(0,"pre",21),JC(1),hl()),n&2){let e=CC(2);sI(),Kg(e.systemPrompt);}}function J(n,o){if(n&1){let e=vC();Cs(0,"section",9)(1,"button",19),kg("click",function(){Cf(e);let g=CC(2);return Tf(g.toggleSystemPrompt())}),Cs(2,"h2",10),JC(3,"System Prompt"),hl(),Cs(4,"span",20),JC(5," \u25BC "),hl()(),aC(6,H,2,1,"pre",21),hl();}if(n&2){let e=CC(2);sI(),Sg("aria-expanded",!e.systemPromptCollapsed()),sI(3),zg("agent-config-inspect__chevron--open",!e.systemPromptCollapsed()),sI(2),cC(e.systemPromptCollapsed()?-1:6);}}function U(n,o){if(n&1&&(Cs(0,"pre",21),JC(1),hl()),n&2){let e=CC(2);sI(),Kg(e.instructions);}}function G(n,o){if(n&1){let e=vC();Cs(0,"section",9)(1,"button",19),kg("click",function(){Cf(e);let g=CC(2);return Tf(g.toggleInstructions())}),Cs(2,"h2",10),JC(3,"Instructions"),hl(),Cs(4,"span",20),JC(5," \u25BC "),hl()(),aC(6,U,2,1,"pre",21),hl();}if(n&2){let e=CC(2);sI(),Sg("aria-expanded",!e.instructionsCollapsed()),sI(3),zg("agent-config-inspect__chevron--open",!e.instructionsCollapsed()),sI(2),cC(e.instructionsCollapsed()?-1:6);}}function q(n,o){n&1&&(Cs(0,"p",17),JC(1,"No tools available for this agent."),hl());}function K(n,o){if(n&1&&(Mg(0,"div",26),gT(1,"agentosMarkdown")),n&2){let e=CC(2).$implicit;_g("innerHTML",yT(1,1,e.description),gE);}}function Q(n,o){if(n&1&&(Cs(0,"div",25),aC(1,K,2,3,"div",26),Cs(2,"pre",27),JC(3),hl()()),n&2){let e=CC().$implicit,c=CC(3);sI(),cC(e.description?1:-1),sI(2),Kg(c.formatSchema(e.inputSchema));}}function W(n,o){if(n&1){let e=vC();Cs(0,"li",22)(1,"button",23),kg("click",function(){let g=Cf(e).$implicit,V=CC(3);return Tf(V.toggleTool(g))}),Cs(2,"span",24),JC(3),hl(),Cs(4,"span",20),JC(5," \u25BC "),hl()(),aC(6,Q,4,2,"div",25),hl();}if(n&2){let e=o.$implicit,c=CC(3);sI(),Sg("aria-expanded",c.isToolExpanded(e)),sI(2),Kg(e.name),sI(),zg("agent-config-inspect__chevron--open",c.isToolExpanded(e)),sI(2),cC(c.isToolExpanded(e)?6:-1);}}function X(n,o){if(n&1&&(Cs(0,"ul",18),dC(1,W,7,5,"li",22,F),hl()),n&2){let e=CC();sI(),fC(e.tools);}}function Y(n,o){if(n&1&&(Cs(0,"div",8)(1,"section",9)(2,"h2",10),JC(3,"General"),hl(),Cs(4,"dl",11)(5,"dt",12),JC(6,"Name"),hl(),Cs(7,"dd",13),JC(8),hl(),Cs(9,"dt",12),JC(10,"Resolved model"),hl(),Cs(11,"dd",14),JC(12),hl(),Cs(13,"dt",12),JC(14,"Provider"),hl(),Cs(15,"dd",13),JC(16),hl(),Cs(17,"dt",12),JC(18,"Advanced execution"),hl(),Cs(19,"dd",13)(20,"span",15),JC(21),hl()(),aC(22,j,4,1),hl()(),aC(23,J,7,4,"section",9),aC(24,G,7,4,"section",9),Cs(25,"section",9)(26,"h2",10),JC(27," Tools "),Cs(28,"span",16),JC(29),hl()(),aC(30,q,2,0,"p",17)(31,X,3,0,"ul",18),hl()()),n&2){let e=o;sI(8),Kg(e.name),sI(4),Kg(e.resolvedModelApiName),sI(4),Kg(e.resolvedProviderName),sI(4),zg("agent-config-inspect__badge--active",e.advancedExecution),sI(),Dl(" ",e.advancedExecution?"Enabled":"Disabled"," "),sI(),cC(e.userId?22:-1),sI(),cC(e.systemPrompt?23:-1),sI(),cC(e.instructions?24:-1),sI(5),Dl("(",e.tools.length,")"),sI(),cC(e.tools.length===0?30:31);}}var R=class n{route=g(V);router=g(G$1);destroyRef=g(Ce);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;agentConfigId=this.route.snapshot.params.agentConfigId;isPlatformMode=!this.namespaceId;isLoading=Wi(true);hasError=Wi(false);definition=Wi(null);expandedTools=Wi(new Set);systemPromptCollapsed=Wi(true);instructionsCollapsed=Wi(true);ngOnInit(){this.agentConfigController.getDefinitionAgentConfig(this.agentConfigId).pipe(U$1(this.destroyRef)).subscribe({next:o=>{this.definition.set(o),this.isLoading.set(false);},error:()=>{this.hasError.set(true),this.isLoading.set(false);}});}toggleTool(o){this.expandedTools.update(e=>{let c=new Set(e);return c.has(o.name)?c.delete(o.name):c.add(o.name),c});}isToolExpanded(o){return this.expandedTools().has(o.name)}toggleSystemPrompt(){this.systemPromptCollapsed.update(o=>!o);}toggleInstructions(){this.instructionsCollapsed.update(o=>!o);}formatSchema(o){try{return JSON.stringify(JSON.parse(o),null,2)}catch(e){return o}}editRoute(){return this.isPlatformMode?["/agentos","admin","agent-configs",this.agentConfigId,"edit"]:["/agentos",this.namespaceId,"agent-configs",this.agentConfigId,"edit"]}back(){this.isPlatformMode?this.router.navigate(["/agentos","admin","agent-configs"]):this.router.navigate(["/agentos",this.namespaceId,"agent-configs"]);}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=jw({type:n,selectors:[["agentos-agent-config-inspect"]],decls:13,vars:2,consts:[[1,"agent-config-inspect"],[1,"agent-config-inspect__header"],["type","button","title","Back to agent configs",1,"agent-config-inspect__back",3,"click"],[1,"agent-config-inspect__back-icon"],[1,"agent-config-inspect__title"],[1,"agent-config-inspect__sibling-link",3,"routerLink"],[1,"agent-config-inspect__loading"],[1,"agent-config-inspect__error"],[1,"agent-config-inspect__content"],[1,"agent-config-inspect__section"],[1,"agent-config-inspect__section-title"],[1,"agent-config-inspect__dl"],[1,"agent-config-inspect__dt"],[1,"agent-config-inspect__dd"],[1,"agent-config-inspect__dd","agent-config-inspect__dd--mono"],[1,"agent-config-inspect__badge"],[1,"agent-config-inspect__count"],[1,"agent-config-inspect__empty"],[1,"agent-config-inspect__tools"],["type","button",1,"agent-config-inspect__collapsible",3,"click"],[1,"agent-config-inspect__chevron"],[1,"agent-config-inspect__instructions"],[1,"agent-config-inspect__tool"],["type","button",1,"agent-config-inspect__tool-header",3,"click"],[1,"agent-config-inspect__tool-name"],[1,"agent-config-inspect__tool-body"],[1,"agent-config-inspect__tool-description",3,"innerHTML"],[1,"agent-config-inspect__schema"]],template:function(e,c){if(e&1&&(Cs(0,"div",0)(1,"header",1)(2,"button",2),kg("click",function(){return c.back()}),Cs(3,"span",3),JC(4,"\u2190"),hl(),JC(5," Agent Configs "),hl(),Cs(6,"h1",4),JC(7,"Agent definition"),hl(),Cs(8,"a",5),JC(9,"Edit config \u2192"),hl()(),aC(10,B,2,0,"p",6)(11,$,2,0,"p",7)(12,Y,32,11,"div",8),hl()),e&2){let g;sI(8),_g("routerLink",c.editRoute()),sI(2),cC(c.isLoading()?10:c.hasError()?11:(g=c.definition())?12:-1,g);}},dependencies:[si,d],styles:[".agent-config-inspect[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:720px;margin:0 auto;padding:2rem 1rem}.agent-config-inspect__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.agent-config-inspect__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.agent-config-inspect__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.agent-config-inspect__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.agent-config-inspect__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.agent-config-inspect__sibling-link[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--color-primary, #007aff);text-decoration:none}.agent-config-inspect__sibling-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.agent-config-inspect__loading[_ngcontent-%COMP%], .agent-config-inspect__error[_ngcontent-%COMP%], .agent-config-inspect__empty[_ngcontent-%COMP%]{margin:0;font-size:.9rem;color:var(--color-text-secondary, #6e6e73)}.agent-config-inspect__error[_ngcontent-%COMP%]{color:var(--color-error, #ff3b30)}.agent-config-inspect__content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.agent-config-inspect__section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:10px}.agent-config-inspect__section-title[_ngcontent-%COMP%]{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text, #1d1d1f)}.agent-config-inspect__count[_ngcontent-%COMP%]{font-weight:400;color:var(--color-text-secondary, #6e6e73);font-size:.875rem;margin-left:.25rem}.agent-config-inspect__dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.25rem;margin:0}.agent-config-inspect__dt[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, #6e6e73);align-self:center}.agent-config-inspect__dd[_ngcontent-%COMP%]{margin:0;font-size:.9375rem;color:var(--color-text, #1d1d1f);align-self:center;word-break:break-word}.agent-config-inspect__dd--mono[_ngcontent-%COMP%]{font-family:monospace;font-size:.875rem}.agent-config-inspect__badge[_ngcontent-%COMP%]{display:inline-block;padding:.2em .6em;border-radius:4px;font-size:.75rem;font-weight:500;background:var(--color-surface-muted, rgba(0, 0, 0, .06));color:var(--color-text-secondary, #6e6e73)}.agent-config-inspect__badge--active[_ngcontent-%COMP%]{background:var(--color-success-bg, #e3f5e1);color:var(--color-success, #34c759)}.agent-config-inspect__collapsible[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-align:left}.agent-config-inspect__chevron[_ngcontent-%COMP%]{font-size:.7rem;color:var(--color-text-secondary, #6e6e73);transition:transform .15s ease;flex-shrink:0}.agent-config-inspect__chevron--open[_ngcontent-%COMP%]{transform:rotate(180deg)}.agent-config-inspect__instructions[_ngcontent-%COMP%]{margin:0;padding:.875rem 1rem;border-radius:6px;background:var(--color-surface-muted, rgba(0, 0, 0, .04));font-size:.875rem;font-family:inherit;color:var(--color-text, #1d1d1f);white-space:pre-wrap;word-break:break-word;line-height:1.6;max-height:400px;overflow-y:auto}.agent-config-inspect__tools[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.agent-config-inspect__tool[_ngcontent-%COMP%]{border:1px solid var(--color-border, rgba(0, 0, 0, .08));border-radius:6px;overflow:hidden}.agent-config-inspect__tool-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .1s ease}.agent-config-inspect__tool-header[_ngcontent-%COMP%]:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.agent-config-inspect__tool-name[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;font-family:monospace;color:var(--color-text, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-inspect__tool-body[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem .75rem;border-top:1px solid var(--color-border, rgba(0, 0, 0, .08))}.agent-config-inspect__tool-description[_ngcontent-%COMP%]{margin:0;padding-top:.75rem;font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary, #6e6e73)}.agent-config-inspect__tool-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 .25rem}.agent-config-inspect__tool-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.agent-config-inspect__tool-description[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font-family:monospace;font-size:.8em;background:var(--color-surface-muted, rgba(0, 0, 0, .06));padding:.1em .3em;border-radius:3px}.agent-config-inspect__schema[_ngcontent-%COMP%]{margin:0;padding:.875rem 1rem;background:var(--color-surface-muted, rgba(0, 0, 0, .04));font-size:.8125rem;font-family:monospace;color:var(--color-text, #1d1d1f);white-space:pre;overflow-x:auto;line-height:1.5;max-height:360px;overflow-y:auto}"]})};export{R as AgentConfigInspectComponent};
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import {x as xe}from'./chunk-BqWEyotW.js';import {P as Pt$1,L as Lt}from'./chunk-D2zGvbD2.js';import {v as ve,n as ne}from'./chunk-Buu9Jf-V.js';import {d}from'./chunk-CmyT-Z4A.js';import {W,k as ke,s as se}from'./chunk-DoqL_RuM.js';import {T as Tn,S as Sn,n as nt,a as ae,l as le,c as ce}from'./chunk-CXgj_KJY.js';import {W as Wn,o as ot,i as it,I as In,D as De,B as Be,y as ya,E as En,F as Fn,g as gt$1,A as An}from'./chunk-B13_C_P9.js';import'./chunk-CgNkwpQ7.js';import {g,bm as xm,R as Re,W as Wi,T as TT,j as jw,h as hr,i as Gn,k as Cs,n as kg,J as JC,m as hl,a3 as ZI,o as aC,af as wg,ag as ET,A as AC,t as sI,_ as _g,a6 as QI,u as cC,X as z,Y as Ue,am as Ym,Z as zt$1,a0 as jt$1,a1 as Vt,a2 as Nt$1,e as pr,ai as rm,aj as iT,q as dC,a8 as Kg,ak as nm,v as fC,a5 as Dl,ac as CC,a9 as vC,aa as Cf,ab as Tf,bp as yl,bq as vl,ah as dT,b4 as fT,aL as wo,aM as Zn$1,br as sn,aO as wt$1,bs as bl,bt as Qn,aT as Ut$1,al as vt$1,aW as C,bu as Ve,aZ as Bs,a_ as rb,b5 as lT,S as Sg,w as zg,bv as Lg,y as MC,N as NC,az as Xt$1,bw as St,aS as K$1,aX as D$1,bx as on,by as dm,bz as Oi,bA as bC,bB as SC,M as Mg,x as jg,bC as _i,bo as uC}from'./main-YYHD6X7H.js';import {y as yt$1,w as wt,t as ti,Z as Zn,c as cn,Y as Ye,f as fn,g as gt,$ as $t$1,D}from'./chunk-FMHkoXwM.js';var Pt=["button"],Ot=["*"];function Ft(l,a){if(l&1&&(Cs(0,"div",2),Mg(1,"mat-pseudo-checkbox",6),hl()),l&2){let e=CC();sI(),_g("disabled",e.disabled);}}var yt=new C("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:()=>({hideSingleSelectionIndicator:false,hideMultipleSelectionIndicator:false,disabledInteractive:false})}),vt=new C("MatButtonToggleGroup"),Dt={provide:D,useExisting:_i(()=>ie),multi:true},K=class{source;value;constructor(a,e){this.source=a,this.value=e;}},ie=(()=>{class l{_changeDetector=g(bl);_dir=g(Qn,{optional:true});_multiple=false;_disabled=false;_disabledInteractive=false;_selectionModel;_rawValue;_controlValueAccessorChangeFn=()=>{};_onTouched=()=>{};_buttonToggles;appearance;get name(){return this._name}set name(e){this._name=e,this._markButtonsForCheck();}_name=g(Ut$1).getId("mat-button-toggle-group-");vertical=false;get value(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e.map(t=>t.value):e[0]?e[0].value:void 0}set value(e){this._setSelectionByValue(e),this.valueChange.emit(this.value);}valueChange=new vt$1;get selected(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e:e[0]||null}get multiple(){return this._multiple}set multiple(e){this._multiple=e,this._markButtonsForCheck();}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._markButtonsForCheck();}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e,this._markButtonsForCheck();}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}change=new vt$1;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._markButtonsForCheck();}_hideSingleSelectionIndicator;get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(e){this._hideMultipleSelectionIndicator=e,this._markButtonsForCheck();}_hideMultipleSelectionIndicator;constructor(){let e=g(yt,{optional:true});this.appearance=e&&e.appearance?e.appearance:"standard",this._hideSingleSelectionIndicator=e?.hideSingleSelectionIndicator??false,this._hideMultipleSelectionIndicator=e?.hideMultipleSelectionIndicator??false;}ngOnInit(){this._selectionModel=new gt$1(this.multiple,void 0,false);}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(e=>e.checked)),this.multiple||this._initializeTabIndex();}writeValue(e){this.value=e,this._changeDetector.markForCheck();}registerOnChange(e){this._controlValueAccessorChangeFn=e;}registerOnTouched(e){this._onTouched=e;}setDisabledState(e){this.disabled=e;}_keydown(e){if(this.multiple||this.disabled||Ve(e))return;let n=e.target.id,o=this._buttonToggles.toArray().findIndex(I=>I.buttonId===n),u=null;switch(e.keyCode){case 32:case 13:u=this._buttonToggles.get(o)||null;break;case 38:u=this._getNextButton(o,-1);break;case 37:u=this._getNextButton(o,this.dir==="ltr"?-1:1);break;case 40:u=this._getNextButton(o,1);break;case 39:u=this._getNextButton(o,this.dir==="ltr"?1:-1);break;default:return}u&&(e.preventDefault(),u._onButtonClick(),u.focus());}_emitChangeEvent(e){let t=new K(e,this.value);this._rawValue=t.value,this._controlValueAccessorChangeFn(t.value),this.change.emit(t);}_syncButtonToggle(e,t,n=false,o=false){!this.multiple&&this.selected&&!e.checked&&(this.selected.checked=false),this._selectionModel?t?this._selectionModel.select(e):this._selectionModel.deselect(e):o=true,o?Promise.resolve().then(()=>this._updateModelValue(e,n)):this._updateModelValue(e,n);}_isSelected(e){return this._selectionModel&&this._selectionModel.isSelected(e)}_isPrechecked(e){return typeof this._rawValue>"u"?false:this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(t=>e.value!=null&&t===e.value):e.value===this._rawValue}_initializeTabIndex(){if(this._buttonToggles.forEach(e=>{e.tabIndex=-1;}),this.selected)this.selected.tabIndex=0;else for(let e=0;e<this._buttonToggles.length;e++){let t=this._buttonToggles.get(e);if(!t.disabled){t.tabIndex=0;break}}}_getNextButton(e,t){let n=this._buttonToggles;for(let o=1;o<=n.length;o++){let u=(e+t*o+n.length)%n.length,I=n.get(u);if(I&&!I.disabled)return I}return null}_setSelectionByValue(e){if(this._rawValue=e,!this._buttonToggles)return;let t=this._buttonToggles.toArray();if(this.multiple&&e?(this._clearSelection(),e.forEach(n=>this._selectValue(n,t))):(this._clearSelection(),this._selectValue(e,t)),!this.multiple&&t.every(n=>n.tabIndex===-1)){for(let n of t)if(!n.disabled){n.tabIndex=0;break}}}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(e=>{e.checked=false,this.multiple||(e.tabIndex=-1);});}_selectValue(e,t){for(let n of t)if(n.value===e){n.checked=true,this._selectionModel.select(n),this.multiple||(n.tabIndex=0);break}}_updateModelValue(e,t){t&&this._emitChangeEvent(e),this.valueChange.emit(this.value);}_markButtonsForCheck(){this._buttonToggles?.forEach(e=>e._markForCheck());}static \u0275fac=function(t){return new(t||l)};static \u0275dir=Bs({type:l,selectors:[["mat-button-toggle-group"]],contentQueries:function(t,n,o){if(t&1&&Lg(o,X,5),t&2){let u;MC(u=NC())&&(n._buttonToggles=u);}},hostAttrs:[1,"mat-button-toggle-group"],hostVars:6,hostBindings:function(t,n){t&1&&kg("keydown",function(u){return n._keydown(u)}),t&2&&(Sg("role",n.multiple?"group":"radiogroup")("aria-disabled",n.disabled),zg("mat-button-toggle-vertical",n.vertical)("mat-button-toggle-group-appearance-standard",n.appearance==="standard"));},inputs:{appearance:"appearance",name:"name",vertical:[2,"vertical","vertical",rb],value:"value",multiple:[2,"multiple","multiple",rb],disabled:[2,"disabled","disabled",rb],disabledInteractive:[2,"disabledInteractive","disabledInteractive",rb],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",rb],hideMultipleSelectionIndicator:[2,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",rb]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[lT([Dt,{provide:vt,useExisting:l}])]})}return l})(),X=(()=>{class l{_changeDetectorRef=g(bl);_elementRef=g(Xt$1);_focusMonitor=g(St);_idGenerator=g(Ut$1);_animationDisabled=K$1();_checked=false;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return `${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex()}set tabIndex(e){this._tabIndex.set(e);}_tabIndex;disableRipple=false;get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(e){this._appearance=e;}_appearance;get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(e){e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck());}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(e){this._disabled=e;}_disabled=false;get disabledInteractive(){return this._disabledInteractive||this.buttonToggleGroup!==null&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e;}_disabledInteractive;change=new vt$1;constructor(){g(D$1).load(on);let e=g(vt,{optional:true}),t=g(new dm("tabindex"),{optional:true})||"",n=g(yt,{optional:true});this._tabIndex=Wi(parseInt(t)||0),this.buttonToggleGroup=e,this._appearance=n&&n.appearance?n.appearance:"standard",this._disabledInteractive=n?.disabledInteractive??false;}ngOnInit(){let e=this.buttonToggleGroup;this.id=this.id||this._idGenerator.getId("mat-button-toggle-"),e&&(e._isPrechecked(this)?this.checked=true:e._isSelected(this)!==this._checked&&e._syncButtonToggle(this,this._checked));}ngAfterViewInit(){this._animationDisabled||this._elementRef.nativeElement.classList.add("mat-button-toggle-animations-enabled"),this._focusMonitor.monitor(this._elementRef,true);}ngOnDestroy(){let e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&e._syncButtonToggle(this,false,false,true);}focus(e){this._buttonElement.nativeElement.focus(e);}_onButtonClick(){if(this.disabled)return;let e=this.isSingleSelector()?true:!this._checked;if(e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,true),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){let t=this.buttonToggleGroup._buttonToggles.find(n=>n.tabIndex===0);t&&(t.tabIndex=-1),this.tabIndex=0;}this.change.emit(new K(this,this.value));}_markForCheck(){this._changeDetectorRef.markForCheck();}_getButtonName(){return this.isSingleSelector()?this.buttonToggleGroup.name:this.name||null}isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=jw({type:l,selectors:[["mat-button-toggle"]],viewQuery:function(t,n){if(t&1&&jg(Pt,5),t&2){let o;MC(o=NC())&&(n._buttonElement=o.first);}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function(t,n){t&1&&kg("focus",function(){return n.focus()}),t&2&&(Sg("aria-label",null)("aria-labelledby",null)("id",n.id)("name",null),zg("mat-button-toggle-standalone",!n.buttonToggleGroup)("mat-button-toggle-checked",n.checked)("mat-button-toggle-disabled",n.disabled)("mat-button-toggle-disabled-interactive",n.disabledInteractive)("mat-button-toggle-appearance-standard",n.appearance==="standard"));},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",disableRipple:[2,"disableRipple","disableRipple",rb],appearance:"appearance",checked:[2,"checked","checked",rb],disabled:[2,"disabled","disabled",rb],disabledInteractive:[2,"disabledInteractive","disabledInteractive",rb]},outputs:{change:"change"},exportAs:["matButtonToggle"],ngContentSelectors:Ot,decls:7,vars:13,consts:[["button",""],["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"click","id","disabled"],[1,"mat-button-toggle-checkbox-wrapper"],[1,"mat-button-toggle-label-content"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"],["state","checked","aria-hidden","true","appearance","minimal",3,"disabled"]],template:function(t,n){if(t&1&&(bC(),Cs(0,"button",1,0),kg("click",function(){return n._onButtonClick()}),aC(2,Ft,2,1,"div",2),Cs(3,"span",3),SC(4),hl()(),Mg(5,"span",4)(6,"span",5)),t&2){let o=AC(1);_g("id",n.buttonId)("disabled",n.disabled&&!n.disabledInteractive||null),Sg("role",n.isSingleSelector()?"radio":"button")("tabindex",n.disabled&&!n.disabledInteractive?-1:n.tabIndex)("aria-pressed",n.isSingleSelector()?null:n.checked)("aria-checked",n.isSingleSelector()?n.checked:null)("name",n._getButtonName())("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledby)("aria-disabled",n.disabled&&n.disabledInteractive?"true":null),sI(2),cC(n.buttonToggleGroup&&(!n.buttonToggleGroup.multiple&&!n.buttonToggleGroup.hideSingleSelectionIndicator||n.buttonToggleGroup.multiple&&!n.buttonToggleGroup.hideMultipleSelectionIndicator)?2:-1),sI(4),_g("matRippleTrigger",o)("matRippleDisabled",n.disableRipple||n.disabled);}},dependencies:[Oi,An],styles:[`.mat-button-toggle-standalone,
|
|
2
|
+
.mat-button-toggle-group {
|
|
3
|
+
position: relative;
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
flex-direction: row;
|
|
6
|
+
white-space: nowrap;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
-webkit-tap-highlight-color: transparent;
|
|
9
|
+
border-radius: var(--mat-button-toggle-legacy-shape);
|
|
10
|
+
transform: translateZ(0);
|
|
11
|
+
}
|
|
12
|
+
.mat-button-toggle-standalone:not([class*=mat-elevation-z]),
|
|
13
|
+
.mat-button-toggle-group:not([class*=mat-elevation-z]) {
|
|
14
|
+
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
|
|
15
|
+
}
|
|
16
|
+
@media (forced-colors: active) {
|
|
17
|
+
.mat-button-toggle-standalone,
|
|
18
|
+
.mat-button-toggle-group {
|
|
19
|
+
outline: solid 1px;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
|
|
24
|
+
.mat-button-toggle-group-appearance-standard {
|
|
25
|
+
border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
26
|
+
border: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
27
|
+
}
|
|
28
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,
|
|
29
|
+
.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox {
|
|
30
|
+
--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));
|
|
31
|
+
}
|
|
32
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),
|
|
33
|
+
.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]) {
|
|
34
|
+
box-shadow: none;
|
|
35
|
+
}
|
|
36
|
+
@media (forced-colors: active) {
|
|
37
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
|
|
38
|
+
.mat-button-toggle-group-appearance-standard {
|
|
39
|
+
outline: 0;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.mat-button-toggle-vertical {
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
}
|
|
46
|
+
.mat-button-toggle-vertical .mat-button-toggle-label-content {
|
|
47
|
+
display: block;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.mat-button-toggle {
|
|
51
|
+
white-space: nowrap;
|
|
52
|
+
position: relative;
|
|
53
|
+
color: var(--mat-button-toggle-legacy-text-color);
|
|
54
|
+
font-family: var(--mat-button-toggle-legacy-label-text-font);
|
|
55
|
+
font-size: var(--mat-button-toggle-legacy-label-text-size);
|
|
56
|
+
line-height: var(--mat-button-toggle-legacy-label-text-line-height);
|
|
57
|
+
font-weight: var(--mat-button-toggle-legacy-label-text-weight);
|
|
58
|
+
letter-spacing: var(--mat-button-toggle-legacy-label-text-tracking);
|
|
59
|
+
--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-legacy-selected-state-text-color);
|
|
60
|
+
}
|
|
61
|
+
.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay {
|
|
62
|
+
opacity: var(--mat-button-toggle-legacy-focus-state-layer-opacity);
|
|
63
|
+
}
|
|
64
|
+
.mat-button-toggle .mat-icon svg {
|
|
65
|
+
vertical-align: top;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.mat-button-toggle-checkbox-wrapper {
|
|
69
|
+
display: inline-block;
|
|
70
|
+
justify-content: flex-start;
|
|
71
|
+
align-items: center;
|
|
72
|
+
width: 0;
|
|
73
|
+
height: 18px;
|
|
74
|
+
line-height: 18px;
|
|
75
|
+
overflow: hidden;
|
|
76
|
+
box-sizing: border-box;
|
|
77
|
+
position: absolute;
|
|
78
|
+
top: 50%;
|
|
79
|
+
left: 16px;
|
|
80
|
+
transform: translate3d(0, -50%, 0);
|
|
81
|
+
}
|
|
82
|
+
[dir=rtl] .mat-button-toggle-checkbox-wrapper {
|
|
83
|
+
left: auto;
|
|
84
|
+
right: 16px;
|
|
85
|
+
}
|
|
86
|
+
.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper {
|
|
87
|
+
left: 12px;
|
|
88
|
+
}
|
|
89
|
+
[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper {
|
|
90
|
+
left: auto;
|
|
91
|
+
right: 12px;
|
|
92
|
+
}
|
|
93
|
+
.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper {
|
|
94
|
+
width: 18px;
|
|
95
|
+
}
|
|
96
|
+
.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper {
|
|
97
|
+
transition: width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
98
|
+
}
|
|
99
|
+
.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper {
|
|
100
|
+
transition: none;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.mat-button-toggle-checked {
|
|
104
|
+
color: var(--mat-button-toggle-legacy-selected-state-text-color);
|
|
105
|
+
background-color: var(--mat-button-toggle-legacy-selected-state-background-color);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.mat-button-toggle-disabled {
|
|
109
|
+
pointer-events: none;
|
|
110
|
+
color: var(--mat-button-toggle-legacy-disabled-state-text-color);
|
|
111
|
+
background-color: var(--mat-button-toggle-legacy-disabled-state-background-color);
|
|
112
|
+
--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-legacy-disabled-state-text-color);
|
|
113
|
+
}
|
|
114
|
+
.mat-button-toggle-disabled.mat-button-toggle-checked {
|
|
115
|
+
background-color: var(--mat-button-toggle-legacy-disabled-selected-state-background-color);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.mat-button-toggle-disabled-interactive {
|
|
119
|
+
pointer-events: auto;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.mat-button-toggle-appearance-standard {
|
|
123
|
+
color: var(--mat-button-toggle-text-color, var(--mat-sys-on-surface));
|
|
124
|
+
background-color: var(--mat-button-toggle-background-color, transparent);
|
|
125
|
+
font-family: var(--mat-button-toggle-label-text-font, var(--mat-sys-label-large-font));
|
|
126
|
+
font-size: var(--mat-button-toggle-label-text-size, var(--mat-sys-label-large-size));
|
|
127
|
+
line-height: var(--mat-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));
|
|
128
|
+
font-weight: var(--mat-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));
|
|
129
|
+
letter-spacing: var(--mat-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking));
|
|
130
|
+
}
|
|
131
|
+
.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard + .mat-button-toggle-appearance-standard {
|
|
132
|
+
border-left: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
133
|
+
}
|
|
134
|
+
[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard + .mat-button-toggle-appearance-standard {
|
|
135
|
+
border-left: none;
|
|
136
|
+
border-right: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
137
|
+
}
|
|
138
|
+
.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard + .mat-button-toggle-appearance-standard {
|
|
139
|
+
border-left: none;
|
|
140
|
+
border-right: none;
|
|
141
|
+
border-top: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
142
|
+
}
|
|
143
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-checked {
|
|
144
|
+
color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));
|
|
145
|
+
background-color: var(--mat-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container));
|
|
146
|
+
}
|
|
147
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-disabled {
|
|
148
|
+
color: var(--mat-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
|
|
149
|
+
background-color: var(--mat-button-toggle-disabled-state-background-color, transparent);
|
|
150
|
+
}
|
|
151
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox {
|
|
152
|
+
--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
|
|
153
|
+
}
|
|
154
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked {
|
|
155
|
+
color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
|
|
156
|
+
background-color: var(--mat-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));
|
|
157
|
+
}
|
|
158
|
+
.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
|
|
159
|
+
background-color: var(--mat-button-toggle-state-layer-color, var(--mat-sys-on-surface));
|
|
160
|
+
}
|
|
161
|
+
.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay {
|
|
162
|
+
opacity: var(--mat-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));
|
|
163
|
+
}
|
|
164
|
+
.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay {
|
|
165
|
+
opacity: var(--mat-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));
|
|
166
|
+
}
|
|
167
|
+
@media (hover: none) {
|
|
168
|
+
.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay {
|
|
169
|
+
display: none;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.mat-button-toggle-label-content {
|
|
174
|
+
-webkit-user-select: none;
|
|
175
|
+
user-select: none;
|
|
176
|
+
display: inline-block;
|
|
177
|
+
padding: 0 16px;
|
|
178
|
+
line-height: var(--mat-button-toggle-legacy-height);
|
|
179
|
+
position: relative;
|
|
180
|
+
}
|
|
181
|
+
.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
|
|
182
|
+
padding: 0 12px;
|
|
183
|
+
line-height: var(--mat-button-toggle-height, 40px);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.mat-button-toggle-label-content > * {
|
|
187
|
+
vertical-align: middle;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.mat-button-toggle-focus-overlay {
|
|
191
|
+
top: 0;
|
|
192
|
+
left: 0;
|
|
193
|
+
right: 0;
|
|
194
|
+
bottom: 0;
|
|
195
|
+
position: absolute;
|
|
196
|
+
border-radius: inherit;
|
|
197
|
+
pointer-events: none;
|
|
198
|
+
opacity: 0;
|
|
199
|
+
background-color: var(--mat-button-toggle-legacy-state-layer-color);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@media (forced-colors: active) {
|
|
203
|
+
.mat-button-toggle-checked .mat-button-toggle-focus-overlay {
|
|
204
|
+
border-bottom: solid 500px;
|
|
205
|
+
opacity: 0.5;
|
|
206
|
+
height: 0;
|
|
207
|
+
}
|
|
208
|
+
.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay {
|
|
209
|
+
opacity: 0.6;
|
|
210
|
+
}
|
|
211
|
+
.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
|
|
212
|
+
border-bottom: solid 500px;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
.mat-button-toggle .mat-button-toggle-ripple {
|
|
216
|
+
top: 0;
|
|
217
|
+
left: 0;
|
|
218
|
+
right: 0;
|
|
219
|
+
bottom: 0;
|
|
220
|
+
position: absolute;
|
|
221
|
+
pointer-events: none;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.mat-button-toggle-button {
|
|
225
|
+
border: 0;
|
|
226
|
+
background: none;
|
|
227
|
+
color: inherit;
|
|
228
|
+
padding: 0;
|
|
229
|
+
margin: 0;
|
|
230
|
+
font: inherit;
|
|
231
|
+
outline: none;
|
|
232
|
+
width: 100%;
|
|
233
|
+
cursor: pointer;
|
|
234
|
+
}
|
|
235
|
+
.mat-button-toggle-animations-enabled .mat-button-toggle-button {
|
|
236
|
+
transition: padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
237
|
+
}
|
|
238
|
+
.mat-button-toggle-vertical .mat-button-toggle-button {
|
|
239
|
+
transition: none;
|
|
240
|
+
}
|
|
241
|
+
.mat-button-toggle-disabled .mat-button-toggle-button {
|
|
242
|
+
cursor: default;
|
|
243
|
+
}
|
|
244
|
+
.mat-button-toggle-button::-moz-focus-inner {
|
|
245
|
+
border: 0;
|
|
246
|
+
}
|
|
247
|
+
.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper) {
|
|
248
|
+
padding-left: 30px;
|
|
249
|
+
}
|
|
250
|
+
[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper) {
|
|
251
|
+
padding-left: 0;
|
|
252
|
+
padding-right: 30px;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard {
|
|
256
|
+
--mat-focus-indicator-border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before {
|
|
260
|
+
border-top-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
261
|
+
border-bottom-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
262
|
+
}
|
|
263
|
+
.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before {
|
|
264
|
+
border-top-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
265
|
+
border-bottom-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before {
|
|
269
|
+
border-bottom-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
270
|
+
border-bottom-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
271
|
+
}
|
|
272
|
+
.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before {
|
|
273
|
+
border-top-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
274
|
+
border-top-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
275
|
+
}
|
|
276
|
+
`],encapsulation:2})}return l})(),Mt=(()=>{class l{static \u0275fac=function(t){return new(t||l)};static \u0275mod=wo({type:l});static \u0275inj=Zn$1({imports:[sn,X,wt$1]})}return l})();var Wt=(l,a)=>a.id,Nt=(l,a)=>a.value;function Gt(l,a){l&1&&(Cs(0,"mat-option",5),JC(1,"Loading prompts..."),hl());}function zt(l,a){if(l&1&&(Cs(0,"mat-option",6),JC(1),hl()),l&2){let e=a.$implicit;_g("value",e.id),sI(),Dl(" ",e.name," ");}}function Ut(l,a){if(l&1){let e=vC();Cs(0,"mat-checkbox",37),kg("change",function(){let n=Cf(e).$implicit,o=CC();return Tf(o.toggleDayOfWeek(n.value))}),JC(1),hl();}if(l&2){let e=a.$implicit,t=CC();_g("checked",t.isDaySelected(e.value)),sI(),Dl(" ",e.label," ");}}function qt(l,a){if(l&1){let e=vC();Cs(0,"mat-form-field",2)(1,"mat-label"),JC(2,"Number of Occurrences"),hl(),Cs(3,"input",11),rm("ngModelChange",function(n){Cf(e);let o=CC();return iT(o.endOccurrences,n)||(o.endOccurrences=n),Tf(n)}),hl(),ZI(),hl();}if(l&2){let e=CC();sI(3),nm("ngModel",e.endOccurrences),QI();}}function Ht(l,a){if(l&1){let e=vC();Cs(0,"mat-form-field",2)(1,"mat-label"),JC(2,"End Date"),hl(),Cs(3,"input",38),rm("ngModelChange",function(n){Cf(e);let o=CC();return iT(o.endTimestamp,n)||(o.endTimestamp=n),Tf(n)}),hl(),ZI(),hl();}if(l&2){let e=CC();sI(3),nm("ngModel",e.endTimestamp),QI();}}function jt(l,a){if(l&1){let e=vC();Cs(0,"div")(1,"mat-form-field",2)(2,"mat-label"),JC(3,"Parameter Value"),hl(),Cs(4,"input",39),rm("ngModelChange",function(n){Cf(e);let o=CC();return iT(o.simpleParameter,n)||(o.simpleParameter=n),Tf(n)}),hl(),ZI(),Cs(5,"mat-hint"),JC(6),hl()()();}if(l&2){let e=CC();sI(4),nm("ngModel",e.simpleParameter),QI(),sI(2),Dl("Simple value for ","{{PARAMETERS}}"," placeholder or appended to first command");}}function Qt(l,a){if(l&1){let e=vC();Cs(0,"div",42)(1,"mat-form-field",43)(2,"mat-label"),JC(3,"Key"),hl(),Cs(4,"input",44),rm("ngModelChange",function(n){let o=Cf(e).$implicit;return iT(o.key,n)||(o.key=n),Tf(n)}),hl(),ZI(),hl(),Cs(5,"mat-form-field",45)(6,"mat-label"),JC(7,"Value"),hl(),Cs(8,"input",46),rm("ngModelChange",function(n){let o=Cf(e).$implicit;return iT(o.value,n)||(o.value=n),Tf(n)}),hl(),ZI(),hl(),Cs(9,"button",47),kg("click",function(){let n=Cf(e).$index,o=CC(3);return Tf(o.removeParameter(n))}),Cs(10,"mat-icon"),JC(11,"delete"),hl()()();}if(l&2){let e=a.$implicit;sI(4),nm("ngModel",e.key),QI(),sI(4),nm("ngModel",e.value),QI();}}function $t(l,a){if(l&1&&(Cs(0,"div",41),dC(1,Qt,12,2,"div",42,uC),hl()),l&2){let e=CC(2);sI(),fC(e.parameters);}}function Kt(l,a){if(l&1){let e=vC();Cs(0,"div")(1,"div",28)(2,"button",40),kg("click",function(){Cf(e);let n=CC();return Tf(n.addParameter())}),Cs(3,"mat-icon"),JC(4,"add"),hl()()(),aC(5,$t,3,0,"div",41),Cs(6,"p",21),JC(7),hl()();}if(l&2){let e=CC();sI(5),cC(e.parameters.length>0?5:-1),sI(2),Dl("Key-value pairs for ","{{key}}"," placeholders in prompt commands");}}function Xt(l,a){if(l&1&&(Cs(0,"div",33)(1,"mat-icon"),JC(2,"error"),hl(),Cs(3,"span"),JC(4),hl()()),l&2){let e=CC();sI(4),Kg(e.errorMessage);}}var B=class l{schedulerApi=g(xe);promptApi=g(d);dialogRef=g(z);availablePrompts=[];isLoadingPrompts=false;name="";promptId="";enabled=true;startTimestamp="";intervalValue=1;intervalUnit="h";daysOfWeek=[];endConditionType="none";endOccurrences=10;endTimestamp="";parameterMode="simple";simpleParameter="";parameters=[];isSaving=false;errorMessage="";isEditMode=false;schedulerId="";data=g(Ue);daysOfWeekOptions=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:2,label:"Tuesday"},{value:3,label:"Wednesday"},{value:4,label:"Thursday"},{value:5,label:"Friday"},{value:6,label:"Saturday"}];constructor(){this.isEditMode=this.data.mode==="edit";}ngOnInit(){if(this.loadPrompts(),this.isEditMode||(this.startTimestamp=this.formatDateForInput(new Date)),this.isEditMode&&this.data.scheduler){if(this.schedulerId=this.data.scheduler.id,this.name=this.data.scheduler.name,this.promptId=this.data.scheduler.promptId??"",this.enabled=this.data.scheduler.enabled,this.data.scheduler.schedule.startTimestamp){let e=new Date(this.data.scheduler.schedule.startTimestamp);this.startTimestamp=this.formatDateForInput(e);}let a=this.data.scheduler.schedule.interval.match(/^(\d+)(min|h|d|M)$/);a&&a[1]&&a[2]&&(this.intervalValue=parseInt(a[1],10),this.intervalUnit=a[2]),this.daysOfWeek=this.data.scheduler.schedule.daysOfWeek||[],this.data.scheduler.schedule.endCondition&&(this.endConditionType=this.data.scheduler.schedule.endCondition.type,this.endConditionType==="occurrences"?this.endOccurrences=this.data.scheduler.schedule.endCondition.value:this.endConditionType==="endTimestamp"&&(this.endTimestamp=this.data.scheduler.schedule.endCondition.value)),this.data.scheduler.parameters&&(typeof this.data.scheduler.parameters=="object"&&Object.keys(this.data.scheduler.parameters).length===1&&"PARAMETERS"in this.data.scheduler.parameters?(this.parameterMode="simple",this.simpleParameter=String(this.data.scheduler.parameters.PARAMETERS)):(this.parameterMode="structured",this.parameters=Object.entries(this.data.scheduler.parameters).map(([e,t])=>({key:e,value:String(t)}))));}}loadPrompts(){this.isLoadingPrompts=true,this.promptApi.listPrompts().subscribe({next:a=>{this.availablePrompts=a,this.isLoadingPrompts=false;},error:a=>{console.error("Error loading prompts:",a),this.errorMessage="Failed to load prompts",this.isLoadingPrompts=false;}});}toggleDayOfWeek(a){let e=this.daysOfWeek.indexOf(a);e>-1?this.daysOfWeek.splice(e,1):this.daysOfWeek.push(a),this.daysOfWeek.sort();}isDaySelected(a){return this.daysOfWeek.includes(a)}addParameter(){this.parameters.push({key:"",value:""});}removeParameter(a){this.parameters.splice(a,1);}trackByIndex(a){return a}formatDateForInput(a){let e=a.getFullYear(),t=String(a.getMonth()+1).padStart(2,"0"),n=String(a.getDate()).padStart(2,"0"),o=String(a.getHours()).padStart(2,"0"),u=String(a.getMinutes()).padStart(2,"0");return `${e}-${t}-${n}T${o}:${u}`}validateForm(){if(!this.name.trim())return this.errorMessage="Name is required",false;if(!this.promptId)return this.errorMessage="Prompt is required",false;if(this.intervalValue<1)return this.errorMessage="Interval must be at least 1",false;switch(this.intervalUnit){case "min":if(this.intervalValue>59)return this.errorMessage="Minutes interval must be between 1 and 59 (use hours for longer)",false;break;case "h":if(this.intervalValue>24)return this.errorMessage="Hours interval must be between 1 and 24 (use days for longer)",false;break;case "d":if(this.intervalValue>31)return this.errorMessage="Days interval must be between 1 and 31 (use months for longer)",false;break;case "M":if(this.intervalValue>12)return this.errorMessage="Months interval must be between 1 and 12",false;break}return this.endConditionType==="occurrences"&&this.endOccurrences<1?(this.errorMessage="Occurrences must be at least 1",false):this.endConditionType==="endTimestamp"&&!this.endTimestamp?(this.errorMessage="End date is required",false):true}buildSchedule(){let e={startTimestamp:(this.startTimestamp?new Date(this.startTimestamp):new Date).toISOString(),interval:`${this.intervalValue}${this.intervalUnit}`};return this.daysOfWeek.length>0&&(e.daysOfWeek=[...this.daysOfWeek]),this.endConditionType==="occurrences"?e.endCondition={type:"occurrences",value:this.endOccurrences}:this.endConditionType==="endTimestamp"&&(e.endCondition={type:"endTimestamp",value:this.endTimestamp}),e}buildParameters(){if(this.parameterMode==="simple")return this.simpleParameter.trim()?{PARAMETERS:this.simpleParameter.trim()}:void 0;let a=this.parameters.filter(t=>t.key.trim());if(a.length===0)return;let e={};return a.forEach(t=>{e[t.key]=t.value;}),e}save(){if(this.errorMessage="",!this.validateForm())return;let a=this.buildSchedule(),e=this.buildParameters();this.isSaving=true,this.isEditMode&&this.schedulerId?this.schedulerApi.updateScheduler(this.schedulerId,{name:this.name.trim(),enabled:this.enabled,promptId:this.promptId,schedule:a,parameters:e}).subscribe({next:()=>{this.isSaving=false,this.dialogRef.close(true);},error:t=>{console.error("Error updating scheduler:",t),this.errorMessage=t?.error?.error||t?.message||"Failed to update scheduler",this.isSaving=false;}}):this.schedulerApi.createScheduler({name:this.name.trim(),promptId:this.promptId,schedule:a,parameters:e,enabled:this.enabled}).subscribe({next:()=>{this.isSaving=false,this.dialogRef.close(true);},error:t=>{console.error("Error creating scheduler:",t),this.errorMessage=t?.error?.error||t?.message||"Failed to create scheduler",this.isSaving=false;}});}cancel(){this.dialogRef.close(false);}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=jw({type:l,selectors:[["app-scheduler-form"]],decls:90,vars:20,consts:[["mat-dialog-title",""],[1,"form-container"],["appearance","outline",1,"full-width"],["matInput","","placeholder","My Scheduler","required","",3,"ngModelChange","ngModel"],["required","",3,"ngModelChange","ngModel","disabled"],["disabled",""],[3,"value"],["matInput","","type","datetime-local",3,"ngModelChange","ngModel"],[1,"interval-section"],[1,"interval-fields"],["appearance","outline",1,"interval-value"],["matInput","","type","number","min","1","required","",3,"ngModelChange","ngModel"],["appearance","outline",1,"interval-unit"],["required","",3,"ngModelChange","ngModel"],["value","min"],["value","h"],["value","d"],["value","M"],[1,"days-section"],[1,"days-checkboxes"],[3,"checked"],[1,"hint"],[1,"end-condition-section"],[3,"ngModelChange","ngModel"],["value","none"],["value","occurrences"],["value","endTimestamp"],[1,"parameters-section"],[1,"section-header"],[1,"mode-toggle",3,"ngModelChange","ngModel"],["value","simple"],["value","structured"],[1,"enabled-section"],[1,"error-message"],["align","end"],["mat-button","",3,"click","disabled"],["mat-raised-button","","color","primary",3,"click","disabled"],[3,"change","checked"],["matInput","","type","datetime-local","required","",3,"ngModelChange","ngModel"],["matInput","","placeholder","e.g., 1234 or staging",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","title","Add parameter",3,"click"],[1,"parameters-list"],[1,"parameter-item"],["appearance","outline",1,"param-key"],["matInput","","placeholder","parameterName",3,"ngModelChange","ngModel"],["appearance","outline",1,"param-value"],["matInput","","placeholder","value",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","title","Remove parameter",1,"remove-btn",3,"click"]],template:function(e,t){e&1&&(Cs(0,"h2",0),JC(1),hl(),Cs(2,"mat-dialog-content")(3,"div",1)(4,"mat-form-field",2)(5,"mat-label"),JC(6,"Name"),hl(),Cs(7,"input",3),rm("ngModelChange",function(o){return iT(t.name,o)||(t.name=o),o}),hl(),ZI(),Cs(8,"mat-hint"),JC(9,"A descriptive name for this scheduler"),hl()(),Cs(10,"mat-form-field",2)(11,"mat-label"),JC(12,"Prompt"),hl(),Cs(13,"mat-select",4),rm("ngModelChange",function(o){return iT(t.promptId,o)||(t.promptId=o),o}),aC(14,Gt,2,0,"mat-option",5),dC(15,zt,2,2,"mat-option",6,Wt),hl(),ZI(),Cs(17,"mat-hint"),JC(18),hl()(),Cs(19,"mat-form-field",2)(20,"mat-label"),JC(21,"Start Date & Time"),hl(),Cs(22,"input",7),rm("ngModelChange",function(o){return iT(t.startTimestamp,o)||(t.startTimestamp=o),o}),hl(),ZI(),Cs(23,"mat-hint"),JC(24,"When to start the scheduler (leave empty for now)"),hl()(),Cs(25,"div",8)(26,"h3"),JC(27,"Schedule Interval"),hl(),Cs(28,"div",9)(29,"mat-form-field",10)(30,"mat-label"),JC(31,"Every"),hl(),Cs(32,"input",11),rm("ngModelChange",function(o){return iT(t.intervalValue,o)||(t.intervalValue=o),o}),hl(),ZI(),hl(),Cs(33,"mat-form-field",12)(34,"mat-label"),JC(35,"Unit"),hl(),Cs(36,"mat-select",13),rm("ngModelChange",function(o){return iT(t.intervalUnit,o)||(t.intervalUnit=o),o}),Cs(37,"mat-option",14),JC(38,"Minutes (1-59)"),hl(),Cs(39,"mat-option",15),JC(40,"Hours (1-24)"),hl(),Cs(41,"mat-option",16),JC(42,"Days (1-31)"),hl(),Cs(43,"mat-option",17),JC(44,"Months (1-12)"),hl()(),ZI(),hl()()(),Cs(45,"div",18)(46,"h3"),JC(47,"Days of Week (Optional)"),hl(),Cs(48,"div",19),dC(49,Ut,2,2,"mat-checkbox",20,Nt),hl(),Cs(51,"p",21),JC(52,"Leave empty to run every day"),hl()(),Cs(53,"div",22)(54,"h3"),JC(55,"End Condition (Optional)"),hl(),Cs(56,"mat-form-field",2)(57,"mat-label"),JC(58,"End Type"),hl(),Cs(59,"mat-select",23),rm("ngModelChange",function(o){return iT(t.endConditionType,o)||(t.endConditionType=o),o}),Cs(60,"mat-option",24),JC(61,"Never (run indefinitely)"),hl(),Cs(62,"mat-option",25),JC(63,"After X occurrences"),hl(),Cs(64,"mat-option",26),JC(65,"Until specific date"),hl()(),ZI(),hl(),aC(66,qt,4,1,"mat-form-field",2),aC(67,Ht,4,1,"mat-form-field",2),hl(),Cs(68,"div",27)(69,"div",28)(70,"h3"),JC(71,"Parameters (Optional)"),hl(),Cs(72,"mat-button-toggle-group",29),rm("ngModelChange",function(o){return iT(t.parameterMode,o)||(t.parameterMode=o),o}),Cs(73,"mat-button-toggle",30),JC(74,"Simple"),hl(),Cs(75,"mat-button-toggle",31),JC(76,"Structured"),hl()(),ZI(),hl(),aC(77,jt,7,2,"div"),aC(78,Kt,8,2,"div"),hl(),Cs(79,"div",32)(80,"mat-checkbox",23),rm("ngModelChange",function(o){return iT(t.enabled,o)||(t.enabled=o),o}),JC(81,"Enabled"),hl(),ZI(),Cs(82,"p",21),JC(83,"Scheduler will only run if enabled"),hl()(),aC(84,Xt,5,1,"div",33),hl()(),Cs(85,"mat-dialog-actions",34)(86,"button",35),kg("click",function(){return t.cancel()}),JC(87,"Cancel"),hl(),Cs(88,"button",36),kg("click",function(){return t.save()}),JC(89),hl()()),e&2&&(sI(),Kg(t.isEditMode?"Edit Scheduler":"Create Scheduler"),sI(6),nm("ngModel",t.name),QI(),sI(6),nm("ngModel",t.promptId),_g("disabled",t.isLoadingPrompts),QI(),sI(),cC(t.isLoadingPrompts?14:-1),sI(),fC(t.availablePrompts),sI(3),Kg(t.isLoadingPrompts?"Loading available prompts...":"Select the prompt to execute"),sI(4),nm("ngModel",t.startTimestamp),QI(),sI(10),nm("ngModel",t.intervalValue),QI(),sI(4),nm("ngModel",t.intervalUnit),QI(),sI(13),fC(t.daysOfWeekOptions),sI(10),nm("ngModel",t.endConditionType),QI(),sI(7),cC(t.endConditionType==="occurrences"?66:-1),sI(),cC(t.endConditionType==="endTimestamp"?67:-1),sI(5),nm("ngModel",t.parameterMode),QI(),sI(5),cC(t.parameterMode==="simple"?77:-1),sI(),cC(t.parameterMode==="structured"?78:-1),sI(2),nm("ngModel",t.enabled),QI(),sI(4),cC(t.errorMessage?84:-1),sI(2),_g("disabled",t.isSaving),sI(2),_g("disabled",t.isSaving),sI(),Dl(" ",t.isSaving?"Saving...":"Save"," "));},dependencies:[Ym,ti,Ye,fn,Zn,gt,$t$1,cn,zt$1,jt$1,Vt,Nt$1,hr,pr,Gn,Tn,Sn,nt,ae,le,ce,yt$1,wt,Pt$1,Lt,Fn,ve,ne,Mt,ie,X],styles:[".form-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0;min-width:600px}@media(max-width:768px){.form-container[_ngcontent-%COMP%]{min-width:auto}}.full-width[_ngcontent-%COMP%]{width:100%}.interval-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1rem;font-weight:600}.interval-section[_ngcontent-%COMP%] .interval-fields[_ngcontent-%COMP%]{display:flex;gap:1rem}.interval-section[_ngcontent-%COMP%] .interval-fields[_ngcontent-%COMP%] .interval-value[_ngcontent-%COMP%], .interval-section[_ngcontent-%COMP%] .interval-fields[_ngcontent-%COMP%] .interval-unit[_ngcontent-%COMP%]{flex:1}.days-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1rem;font-weight:600}.days-section[_ngcontent-%COMP%] .days-checkboxes[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.days-section[_ngcontent-%COMP%] .days-checkboxes[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{min-width:120px}.days-section[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.end-condition-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1rem;font-weight:600}.parameters-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.parameters-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:600}.parameters-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .mode-toggle[_ngcontent-%COMP%]{height:32px}.parameters-section[_ngcontent-%COMP%] .parameters-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.5rem}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%] .param-key[_ngcontent-%COMP%]{flex:1}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%] .param-value[_ngcontent-%COMP%]{flex:2}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{margin-top:8px}.parameters-section[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{margin:.5rem 0 0;font-size:.85rem;color:var(--color-text-secondary)}.enabled-section[_ngcontent-%COMP%]{padding:1rem;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border)}.enabled-section[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem}.enabled-section[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.error-message[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f443361a;border:1px solid var(--color-error);border-radius:4px;color:var(--color-error)}.error-message[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}.error-message[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1}"],changeDetection:1})};var Yt=()=>[],Zt=l=>({id:l});function Jt(l,a){if(l&1&&(Cs(0,"div",6),JC(1),hl()),l&2){let e=CC();sI(),Kg(e.errorMessage());}}function en(l,a){if(l&1){let e=vC();Cs(0,"ds-entity-card",8),kg("selected",function(n){Cf(e);let o=CC();return Tf(o.onEdit(n))}),yl(1,9),Cs(2,"button",10),kg("click",function(n){return n.stopPropagation()}),Cs(3,"mat-icon"),JC(4,"more_vert"),hl()(),vl(),hl();}if(l&2){let e=a.$implicit;CC();let t=AC(11);_g("id",e.id)("name",e.name)("description",e.description)("badges",e.badges??dT(6,Yt)),sI(2),_g("matMenuTriggerFor",t)("matMenuTriggerData",fT(7,Zt,e.id));}}function tn(l,a){if(l&1){let e=vC();Cs(0,"button",11),kg("click",function(){let n=Cf(e).id,o=CC();return Tf(o.onEdit(n))}),Cs(1,"mat-icon"),JC(2,"edit"),hl(),JC(3," Edit "),hl(),Cs(4,"button",11),kg("click",function(){let n=Cf(e).id,o=CC();return Tf(o.onToggleEnabled(n))}),Cs(5,"mat-icon"),JC(6),hl(),JC(7),hl(),Cs(8,"button",11),kg("click",function(){let n=Cf(e).id,o=CC();return Tf(o.onRunNow(n))}),Cs(9,"mat-icon"),JC(10,"play_arrow"),hl(),JC(11," Run now "),hl(),Cs(12,"button",12),kg("click",function(){let n=Cf(e).id,o=CC();return Tf(o.onDelete(n))}),Cs(13,"mat-icon"),JC(14,"delete"),hl(),JC(15," Delete "),hl();}if(l&2){let e=a.id,t=CC();sI(6),Kg(t.isEnabled(e)?"pause_circle":"play_circle"),sI(),Dl(" ",t.isEnabled(e)?"Disable":"Enable"," ");}}var Ct=class l{schedulerApi=g(xe);promptApi=g(d);configApi=g(W);location=g(xm);dialog=g(Re);schedulers=Wi([]);prompts=Wi([]);isLoading=Wi(false);errorMessage=Wi(null);showOnlyMine=Wi(true);currentUsername=Wi("");schedulerItems=TT(()=>{let a=this.schedulers(),e=this.currentUsername(),n=this.showOnlyMine()&&e?a.filter(C=>this.isMyScheduler(C)):a,u=[...new Set(n.map(C=>C.createdBy))].sort((C,F)=>C===e&&F!==e?-1:F===e&&C!==e?1:C.localeCompare(F)),I=[];for(let C of u){let F=C===e?`${C} (you)`:C;for(let V of n.filter(St=>St.createdBy===C))I.push({id:V.id,name:V.name,description:this.buildDescription(V),badges:this.buildBadges(V),groupKey:C,groupLabel:F});}return I});ngOnInit(){this.configApi.getUserConfig().subscribe({next:a=>this.currentUsername.set(a.username??""),error:()=>{}}),this.loadPrompts(),this.loadSchedulers();}loadPrompts(){this.promptApi.listPrompts().subscribe({next:a=>this.prompts.set(a),error:()=>{}});}loadSchedulers(){this.isLoading.set(true),this.schedulerApi.listSchedulers().subscribe({next:a=>{this.schedulers.set(a),this.isLoading.set(false);},error:a=>{this.errorMessage.set(a?.error?.error??"Failed to load schedulers"),this.isLoading.set(false);}});}onBack(){this.location.back();}onCreate(){this.dialog.open(B,{width:"700px",maxHeight:"90vh",data:{mode:"create"}}).afterClosed().subscribe(e=>{e&&this.loadSchedulers();});}onEdit(a){this.schedulerApi.getScheduler(a).subscribe({next:e=>{this.dialog.open(B,{width:"700px",maxHeight:"90vh",data:{mode:"edit",scheduler:e}}).afterClosed().subscribe(n=>{n&&this.loadSchedulers();});},error:e=>this.errorMessage.set(e?.error?.error??"Failed to load scheduler")});}onToggleEnabled(a){let e=this.schedulers().find(n=>n.id===a);if(!e)return;(e.enabled?this.schedulerApi.disableScheduler(a):this.schedulerApi.enableScheduler(a)).subscribe({next:()=>this.loadSchedulers(),error:n=>this.errorMessage.set(n?.error?.error??"Failed to toggle scheduler")});}onRunNow(a){this.schedulerApi.runSchedulerNow(a).subscribe({next:e=>{alert(`Scheduler executed successfully! Thread ID: ${e.threadId}`),this.loadSchedulers();},error:e=>this.errorMessage.set(e?.error?.error??"Failed to run scheduler")});}onDelete(a){confirm("Are you sure you want to delete this scheduler?")&&this.schedulerApi.deleteScheduler(a).subscribe({next:()=>this.loadSchedulers(),error:e=>this.errorMessage.set(e?.error?.error??"Failed to delete scheduler")});}isEnabled(a){return this.schedulers().find(e=>e.id===a)?.enabled??false}buildDescription(a){let e;if(a.promptId)e=this.getPromptName(a.promptId);else if(a.agentName&&a.instruction){let o=a.instruction.length>40?a.instruction.slice(0,40)+"\u2026":a.instruction;e=`${a.agentName}: ${o}`;}else console.error(`Scheduler "${a.name}" (${a.id}) has neither promptId nor agentName+instruction`),e="Unknown source";let t=this.formatInterval(a.schedule.interval),n=a.nextRun?new Date(a.nextRun).toLocaleString():"Expired";return `${e} \xB7 ${t} \xB7 Next: ${n}`}buildBadges(a){return [a.enabled?{label:"enabled",variant:"success"}:{label:"disabled",variant:"warning"}]}getPromptName(a){let e=this.prompts().find(t=>t.id===a);return e?e.name:a}formatInterval(a){let e=/^(\d+)(min|h|d|M)$/.exec(a);if(!e)return a;let[,t,n]=e;if(!t||!n)return a;let u={min:"minute",h:"hour",d:"day",M:"month"}[n]??n;return `Every ${t} ${u}${parseInt(t,10)>1?"s":""}`}isMyScheduler(a){let e=t=>t.replace(/[.\s]+/g,"_").toLowerCase();return e(a.createdBy)===e(this.currentUsername())}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=jw({type:l,selectors:[["app-scheduler-list"]],decls:13,vars:6,consts:[["schedulerCard",""],["cardMenu","matMenu"],[1,"scheduler-list-page"],["title","Schedulers","cardMinWidth","384px","contentMaxWidth","1400px","searchPlaceholder","Filter schedulers\u2026","emptyMessage","No schedulers found.",3,"createRequested","items","loading","showCreate","itemTemplate"],["toolbar-start","","mat-icon-button","","title","Back",3,"click"],["toolbar-extras","","color","primary",1,"scheduler-list__mine-toggle",3,"ngModelChange","ngModel"],[1,"scheduler-list__error"],["matMenuContent",""],[3,"selected","id","name","description","badges"],["dsCardActions",""],["mat-icon-button","",3,"click","matMenuTriggerFor","matMenuTriggerData"],["mat-menu-item","",3,"click"],["mat-menu-item","",1,"scheduler-list__delete-item",3,"click"]],template:function(e,t){if(e&1&&(Cs(0,"div",2)(1,"ds-entity-list",3),kg("createRequested",function(){return t.onCreate()}),Cs(2,"button",4),kg("click",function(){return t.onBack()}),Cs(3,"mat-icon"),JC(4,"chevron_left"),hl()(),Cs(5,"mat-slide-toggle",5),kg("ngModelChange",function(o){return t.showOnlyMine.set(o)}),JC(6," Mine "),hl(),ZI(),hl(),aC(7,Jt,2,1,"div",6),hl(),wg(8,en,5,9,"ng-template",null,0,ET),Cs(10,"mat-menu",null,1),wg(12,tn,16,2,"ng-template",7),hl()),e&2){let n=AC(9);sI(),_g("items",t.schedulerItems())("loading",t.isLoading())("showCreate",true)("itemTemplate",n),sI(4),_g("ngModel",t.showOnlyMine()),QI(),sI(2),cC(t.errorMessage()?7:-1);}},dependencies:[Wn,ot,it,hr,Gn,yt$1,wt,ke,se,In,De,Be,ya,En,ti,Zn,cn],styles:["[_nghost-%COMP%]{display:block;width:100%;min-height:100vh;background:var(--color-bg);overflow-y:auto}.scheduler-list__mine-toggle[_ngcontent-%COMP%]{flex-shrink:0;font-size:.875rem}.scheduler-list__delete-item[_ngcontent-%COMP%]{color:var(--color-error, #ff3b30)}.scheduler-list__delete-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:inherit}.scheduler-list__error[_ngcontent-%COMP%]{margin:1rem auto;max-width:900px;padding:.75rem 1rem;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:8px;color:var(--color-error, #ff3b30);font-size:.875rem}"],changeDetection:1})};export{Ct as SchedulerListComponent};
|