@whoz-oss/coday-client 3.25.0 → 3.27.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/3rdpartylicenses.txt +234 -0
- package/browser/{chunk-B6pr9Now.js → chunk-1xKCP6gl.js} +1 -1
- package/browser/{chunk-OqElmTmR.js → chunk-B1gTtKFG.js} +1 -1
- package/browser/{chunk-Cc6av_kK.js → chunk-BIdH1XJF.js} +2 -2
- package/browser/chunk-BSAXfS2x.js +1 -0
- package/browser/{chunk-B2UoGfZ3.js → chunk-Bbb2Oy9I.js} +6 -6
- package/browser/{chunk-CmWqV8dc.js → chunk-BjBW1d-u.js} +6 -6
- package/browser/{chunk-DEUnwPWC.js → chunk-BlUiCEeR.js} +1 -1
- package/browser/{chunk-BH0AuKDN.js → chunk-BloWX02p.js} +1 -1
- package/browser/{chunk-sI2K91LE.js → chunk-BmHNWYuZ.js} +1 -1
- package/browser/{chunk-CXFeBkf0.js → chunk-Bo1DjeiW.js} +1 -1
- package/browser/{chunk-DT0j_Tak.js → chunk-Boc0RvBR.js} +1 -1
- package/browser/{chunk-BWE4takb.js → chunk-Bol7PdRu.js} +1 -1
- package/browser/{chunk-BUi4VbRk.js → chunk-BtBbv-Bf.js} +1 -1
- package/browser/{chunk-DuGczpUf.js → chunk-BvO---8Y.js} +2 -2
- package/browser/chunk-Bv_n_Pea.js +141 -0
- package/browser/chunk-C-VoWDOg.js +10 -0
- package/browser/chunk-C0DMx9CU.js +1 -0
- package/browser/chunk-C3cvHmBJ.js +1 -0
- package/browser/chunk-C5mPb_F4.js +1 -0
- package/browser/chunk-C6x9SBjG.js +1 -0
- package/browser/{chunk-ByqToPFV.js → chunk-CBwpP2V0.js} +1 -1
- package/browser/{chunk-DyyifT6r.js → chunk-CCEiNYBj.js} +1 -1
- package/browser/chunk-CCQAu0MS.js +1 -0
- package/browser/chunk-CE5rgBGE.js +182 -0
- package/browser/{chunk-iT-BBh_o.js → chunk-CERsD1uZ.js} +1 -1
- package/browser/chunk-CFY3CFkD.js +1 -0
- package/browser/{chunk-CWfLK-02.js → chunk-CFfiJ53b.js} +1 -1
- package/browser/{chunk-Bsd6cfhc.js → chunk-CG4buEjj.js} +1 -1
- package/browser/{chunk-OZvSiKvx.js → chunk-CGL1Leue.js} +1 -1
- package/browser/{chunk-DpWl8Hmh.js → chunk-CGlvdEI7.js} +1 -1
- package/browser/chunk-CHSLALZZ.js +111 -0
- package/browser/chunk-CRrjfkUg.js +5 -0
- package/browser/{chunk-CfZ8rkw0.js → chunk-CdkqXKu3.js} +1 -1
- package/browser/{chunk-pyvVjc-9.js → chunk-ChTqQ8HQ.js} +1 -1
- package/browser/chunk-CjKxvXTd.js +1 -0
- package/browser/{chunk-iiREShnX.js → chunk-Cmp8otOQ.js} +1 -1
- package/browser/{chunk-Ce6h2FeE.js → chunk-CpGwP-5T.js} +1 -1
- package/browser/{chunk--j9cf9d6.js → chunk-CrYRdxC9.js} +2 -2
- package/browser/chunk-CrZEE1qa.js +1 -0
- package/browser/chunk-Cw62GRPX.js +1 -0
- package/browser/{chunk-C0cIJD6B.js → chunk-CxozF4Vf.js} +1 -1
- package/browser/{chunk-CDteNbQE.js → chunk-D-vld_6F.js} +1 -1
- package/browser/{chunk-CU9SkJlG.js → chunk-D2pgQ9ii.js} +1 -1
- package/browser/{chunk-Ccwn8U1w.js → chunk-D5UGtM5T.js} +1 -1
- package/browser/{chunk-D62ekcvB.js → chunk-DG8M0PqZ.js} +1 -1
- package/browser/chunk-DKg7p59a.js +1 -0
- package/browser/chunk-DOV6c8DN.js +4 -0
- package/browser/{chunk-BAyZlfDb.js → chunk-DX05HUs9.js} +1 -1
- package/browser/{chunk-D26Rjl-2.js → chunk-DZe-m4Sd.js} +1 -1
- package/browser/chunk-D_aTK145.js +37 -0
- package/browser/chunk-DczzZnS1.js +1 -0
- package/browser/{chunk-Bv19t8Yr.js → chunk-Ddpg0y75.js} +1 -1
- package/browser/chunk-DgmZwFcU.js +2 -0
- package/browser/chunk-DpKLsgM9.js +1 -0
- package/browser/chunk-DuNMllH-.js +2 -0
- package/browser/{chunk-GWd9G-Nj.js → chunk-Dz1wgxrF.js} +1 -1
- package/browser/{chunk-rWPj3GdK.js → chunk-Fh0Lvh-K.js} +1 -1
- package/browser/{chunk-6ZQ87jQV.js → chunk-G_l8BMaJ.js} +3 -3
- package/browser/{chunk-RFOuzDB-.js → chunk-Ov4I3GYD.js} +1 -1
- package/browser/{chunk-BRAKs_V4.js → chunk-RUBMO7Yb.js} +3 -3
- package/browser/{chunk-BorcVzNx.js → chunk-WuZ8xi__.js} +1 -1
- package/browser/chunk-_2qKLbuS.js +1 -0
- package/browser/{chunk-2dXF6kxO.js → chunk-a4RWgm8g.js} +1 -1
- package/browser/{chunk-ComIIQUU.js → chunk-bIJnspzL.js} +1 -1
- package/browser/{chunk-CIFgO2HT.js → chunk-cNEt2yX6.js} +1 -1
- package/browser/{chunk-AfeufHde.js → chunk-cg5smJeu.js} +1 -1
- package/browser/{chunk-ehgi4mB8.js → chunk-q9uyoVUw.js} +1 -1
- package/browser/chunk-sqjr_Ky0.js +1 -0
- package/browser/{chunk-C3uyXZ11.js → chunk-u3jxNXQ8.js} +1 -1
- package/browser/chunk-vQXZQsZC.js +1 -0
- package/browser/index.html +1 -1
- package/browser/main-2GG5NZ4C.js +1811 -0
- package/package.json +1 -1
- package/browser/chunk-BP7WYYNR.js +0 -1
- package/browser/chunk-BSmtz5y3.js +0 -2
- package/browser/chunk-BZIfffSY.js +0 -1
- package/browser/chunk-BaAG5SRs.js +0 -9
- package/browser/chunk-BkZ4nMy0.js +0 -1
- package/browser/chunk-Bkl_Vpe1.js +0 -1
- package/browser/chunk-Btjdv26a.js +0 -1
- package/browser/chunk-C4kiVp0I.js +0 -1
- package/browser/chunk-CBsoAXBW.js +0 -1
- package/browser/chunk-CCSxTkZ-.js +0 -1
- package/browser/chunk-CKdscASQ.js +0 -1
- package/browser/chunk-CPuMGlfm.js +0 -37
- package/browser/chunk-CgtOp5dr.js +0 -5
- package/browser/chunk-Cyh4DuAi.js +0 -1
- package/browser/chunk-DIKc_N9D.js +0 -1
- package/browser/chunk-DIY-0Lon.js +0 -1
- package/browser/chunk-DaphJW96.js +0 -1
- package/browser/chunk-Dgr7xggj.js +0 -4
- package/browser/chunk-DrcS-IIH.js +0 -182
- package/browser/chunk-DwD-3Qe0.js +0 -1
- package/browser/chunk-Dx97073t.js +0 -141
- package/browser/chunk-L0O9mlbO.js +0 -2
- package/browser/chunk-OpIcFxMt.js +0 -1
- package/browser/chunk-bEyVnMri.js +0 -1
- package/browser/main-4LGWVPVH.js +0 -1811
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {c}from'./chunk-BaAG5SRs.js';import {g,ao as V,dq as W,W as Wi,an as ue$1,cd as Wf,j as jw,s as si,cF as $b,k as Cs,J as JC,m as hl,o as aC,u as sI,v as cC,bR as Sd,bS as Da,cB as on,S as Wy,a7 as va,a9 as vC,n as Lg,ai as sm,a3 as ZI,ac as CC,ak as im,a6 as QI,a8 as em,q as dC,w as fC,cg as pT,b4 as fT,bf as gT,bg as yT,b0 as tm,bi as vT,aa as Sf,ab as _f,aj as iT,a5 as Dl}from'./main-4LGWVPVH.js';import {t as ti,J as Jn,Y as Ye,Z as Zn,l as Xn,g as gt,c as cn,d as an}from'./chunk-CPuMGlfm.js';import'./chunk-6ZQ87jQV.js';import'./chunk-CmWqV8dc.js';import'./chunk-B2UoGfZ3.js';var ne=e=>({title:"By agent",rows:e}),ie=e=>({title:"By model",rows:e}),ae=(e,o)=>[e,o],oe=(e,o)=>o.title,re=(e,o)=>o.key;function se(e,o){e&1&&(Cs(0,"p",2),JC(1,"Loading usage settings\u2026"),hl());}function le(e,o){if(e&1){let t=vC();Cs(0,"p",3),JC(1,"Could not load usage settings. Please try again."),hl(),Cs(2,"button",4),Lg("click",function(){Sf(t);let s=CC();return _f(s.configuration.retry())}),JC(3,"Retry usage settings"),hl();}}function me(e,o){e&1&&(Cs(0,"p",2),JC(1,"Usage tracking is disabled."),hl());}function de(e,o){e&1&&(Cs(0,"p",3),JC(1),hl()),e&2&&(sI(),em(o));}function ce(e,o){e&1&&(Cs(0,"p",2),JC(1,"Loading usage\u2026"),hl());}function pe(e,o){e&1&&(Cs(0,"p"),JC(1,"No recorded usage for this period."),hl());}function ge(e,o){if(e&1&&(Cs(0,"small"),JC(1),hl()),e&2){let t=CC().$implicit;sI(),Dl("",t.aggregate.unknownCostCount," record(s) with unknown cost");}}function ue(e,o){if(e&1&&(Cs(0,"tr")(1,"th",11),JC(2),hl(),Cs(3,"td"),JC(4),gT(5,"number"),hl(),Cs(6,"td"),JC(7),gT(8,"number"),gT(9,"number"),hl(),Cs(10,"td"),JC(11),gT(12,"number"),gT(13,"number"),hl(),Cs(14,"td"),JC(15),gT(16,"number"),aC(17,ge,2,1,"small"),hl()()),e&2){let t=o.$implicit;sI(2),em(t.key),sI(2),em(yT(5,9,t.aggregate.totalTokens)),sI(3),tm("",yT(8,11,t.aggregate.inputTokens)," / ",yT(9,13,t.aggregate.outputTokens)),sI(4),tm(" ",yT(12,15,t.aggregate.cacheReadTokens)," / ",yT(13,17,t.aggregate.cacheWriteTokens)," "),sI(4),tm(" ",t.aggregate.unknownCostCount>0?"At least ":"","",vT(16,19,t.aggregate.cost,"1.2-6")," "),sI(2),cC(t.aggregate.unknownCostCount>0?17:-1);}}function _e(e,o){if(e&1&&(Cs(0,"div",9)(1,"table")(2,"thead")(3,"tr")(4,"th",10),JC(5,"Name"),hl(),Cs(6,"th",10),JC(7,"Tokens"),hl(),Cs(8,"th",10),JC(9,"Input / output"),hl(),Cs(10,"th",10),JC(11,"Cache read / write"),hl(),Cs(12,"th",10),JC(13,"Estimated cost"),hl()()(),Cs(14,"tbody"),dC(15,ue,18,22,"tr",null,re),hl()()()),e&2){let t=CC().$implicit;sI(15),fC(t.rows);}}function Ce(e,o){if(e&1&&(Cs(0,"h2"),JC(1),hl(),aC(2,pe,2,0,"p")(3,_e,17,0,"div",9)),e&2){let t=o.$implicit;sI(),em(t.title),sI(),cC(t.rows.length===0?2:3);}}function fe(e,o){if(e&1&&(dC(0,Ce,4,2,null,null,oe),Cs(2,"p"),JC(3,"Unpriced usage is kept separate from known costs. Active agent runs appear here after they finish."),hl()),e&2){let t=CC(2);fC(pT(4,ae,fT(0,ne,t.agents()),fT(2,ie,t.models())));}}function ye(e,o){if(e&1){let t=vC();Cs(0,"p"),JC(1,"Recorded LLM usage across this namespace. Costs are estimates in the platform currency."),hl(),Cs(2,"form",5),Lg("ngSubmit",function(){Sf(t);let s=CC();return _f(s.load())}),Cs(3,"label"),JC(4,"From (UTC)"),Cs(5,"input",6),sm("ngModelChange",function(s){Sf(t);let d=CC();return iT(d.from,s)||(d.from=s),_f(s)}),hl(),ZI(),hl(),Cs(6,"label"),JC(7,"To (UTC)"),Cs(8,"input",7),sm("ngModelChange",function(s){Sf(t);let d=CC();return iT(d.to,s)||(d.to=s),_f(s)}),hl(),ZI(),hl(),Cs(9,"button",8),JC(10,"Refresh"),hl()(),aC(11,de,2,1,"p",3),aC(12,ce,2,0,"p",2)(13,fe,4,7);}if(e&2){let t,r=CC();sI(5),im("ngModel",r.from),QI(),sI(3),im("ngModel",r.to),QI(),sI(3),cC((t=r.error())?11:-1,t),sI(),cC(r.loading()?12:r.error()?-1:13);}}var te=class e{route=g(V);api=g(W);configuration=g(c);namespaceId=this.route.snapshot.params.namespaceId;agents=Wi([]);models=Wi([]);error=Wi(null);loading=Wi(false);from=new Date(Date.now()-30*864e5).toISOString().slice(0,10);to=new Date().toISOString().slice(0,10);refresh=new ue$1;constructor(){Wf(o=>{if(!this.configuration.enabled())return;let t=this.refresh.pipe(Sd(void 0),Da(()=>{this.error.set(null),this.agents.set([]),this.models.set([]);let r=new Date(`${this.from}T00:00:00.000Z`),s=new Date(`${this.to}T23:59:59.999Z`);return !Number.isFinite(r.getTime())||!Number.isFinite(s.getTime())||r>s?(this.error.set("Select a valid date range."),this.loading.set(false),on):(this.loading.set(true),Wy({agents:this.api.aggregateByAgentUsageRecord(this.namespaceId,r.toISOString(),s.toISOString()),models:this.api.aggregateByModelUsageRecord(this.namespaceId,r.toISOString(),s.toISOString())}).pipe(va(d=>(this.loading.set(false),this.error.set(d.status===403?"Namespace admin permission is required to view this report.":"Could not load usage. Please try again."),on))))})).subscribe(({agents:r,models:s})=>{this.agents.set(r),this.models.set(s),this.loading.set(false);});o(()=>t.unsubscribe());});}load(){this.configuration.enabled()&&this.refresh.next();}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=jw({type:e,selectors:[["agentos-namespace-usage"]],decls:9,vars:1,consts:[[1,"report"],["routerLink","/agentos/namespaces"],["role","status"],["role","alert"],["type","button",3,"click"],[1,"filters",3,"ngSubmit"],["type","date","name","from","required","",3,"ngModelChange","ngModel"],["type","date","name","to","required","",3,"ngModelChange","ngModel"],["type","submit"],[1,"table-wrap"],["scope","col"],["scope","row"]],template:function(t,r){t&1&&(Cs(0,"section",0)(1,"a",1),JC(2,"\u2190 Namespaces"),hl(),Cs(3,"h1"),JC(4,"Usage and costs"),hl(),aC(5,se,2,0,"p",2)(6,le,4,0)(7,me,2,0,"p",2)(8,ye,14,4),hl()),t&2&&(sI(5),cC(r.configuration.state()==="loading"?5:r.configuration.state()==="error"?6:r.configuration.state()==="disabled"?7:8));},dependencies:[ti,Jn,Ye,Zn,Xn,gt,cn,an,si,$b],styles:["[_nghost-%COMP%]{display:block}.report[_ngcontent-%COMP%]{max-width:1100px;margin:auto;padding:1.5rem;color:var(--color-text, inherit)}a[_ngcontent-%COMP%]{color:inherit}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.5rem 0}label[_ngcontent-%COMP%]{display:grid;gap:.4rem}input[_ngcontent-%COMP%], button[_ngcontent-%COMP%]{font:inherit;color:inherit;background:transparent;border:1px solid var(--color-border, rgba(136, 136, 136, .5333333333));border-radius:.4rem;padding:.5rem .75rem}button[_ngcontent-%COMP%]{cursor:pointer}.table-wrap[_ngcontent-%COMP%]{overflow-x:auto}table[_ngcontent-%COMP%]{border-collapse:collapse;width:100%}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{text-align:left;padding:.75rem;border-bottom:1px solid var(--color-border, rgba(136, 136, 136, .3333333333))}small[_ngcontent-%COMP%]{display:block;margin-top:.3rem}h2[_ngcontent-%COMP%]{margin-top:2rem}"]})};export{te as NamespaceUsageComponent};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {n as ne}from'./chunk-CWfLK-02.js';import {g,Z as z$1,_ as Ue,j as jw,$ as zt,a0 as jt,a1 as Vt,a2 as Nt,h as hr,e as pr,k as Cs,J as JC,m as hl,o as aC,n as Lg,u as sI,y as qg,a5 as Dl,a8 as em,v as cC,x as xg,a9 as vC,ai as sm,aa as Sf,ac as CC,aj as iT,ab as _f,a3 as ZI,ak as im,a6 as QI}from'./main-4LGWVPVH.js';import {y as yt,w as wt,t as ti,Z as Zn,c as cn}from'./chunk-CPuMGlfm.js';function G(c,p){if(c&1){let t=vC();Cs(0,"mat-checkbox",5),sm("ngModelChange",function(l){Sf(t);let f=CC();return iT(f.checkboxChecked,l)||(f.checkboxChecked=l),_f(l)}),JC(1),hl(),ZI();}if(c&2){let t=CC();im("ngModel",t.checkboxChecked),QI(),sI(),em(t.data.checkboxLabel);}}var z=class c{dialogRef=g(z$1);data=g(Ue);checkboxChecked=false;confirm(){this.dialogRef.close({confirmed:true,checkboxChecked:this.checkboxChecked});}cancel(){this.dialogRef.close({confirmed:false});}static \u0275fac=function(t){return new(t||c)};static \u0275cmp=jw({type:c,selectors:[["app-confirm-dialog"]],decls:13,vars:8,consts:[["mat-dialog-title",""],[3,"ngModel"],["align","end"],["mat-button","",3,"click"],["mat-flat-button","",3,"click","color"],[3,"ngModelChange","ngModel"]],template:function(t,e){t&1&&(Cs(0,"h2",0)(1,"mat-icon"),JC(2,"warning"),hl(),JC(3),hl(),Cs(4,"mat-dialog-content")(5,"p"),JC(6),hl(),aC(7,G,2,2,"mat-checkbox",1),hl(),Cs(8,"mat-dialog-actions",2)(9,"button",3),Lg("click",function(){return e.cancel()}),JC(10),hl(),Cs(11,"button",4),Lg("click",function(){return e.confirm()}),JC(12),hl()()),t&2&&(sI(),qg("destructive",!!e.data.isDestructive),sI(2),Dl(" ",e.data.title,`
|
|
2
|
-
`),sI(3),em(e.data.message),sI(),cC(e.data.checkboxLabel?7:-1),sI(3),em(e.data.cancelLabel??"Cancel"),sI(),xg("color",e.data.isDestructive?"warn":"primary"),sI(),Dl(" ",e.data.confirmLabel??"Confirm"," "));},dependencies:[zt,jt,Vt,Nt,hr,pr,yt,wt,ne,ti,Zn,cn],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}h2[mat-dialog-title][_ngcontent-%COMP%] mat-icon.destructive[_ngcontent-%COMP%]{color:var(--color-error, #f44336)}mat-dialog-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--color-text-secondary);line-height:1.5}mat-dialog-content[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block;margin-top:8px;font-size:.875rem}"]})};export{z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {c}from'./chunk-D26Rjl-2.js';import {g,ao as V,G,C as Ce$1,da as M,db as Pe$1,dc as ve$1,W as Wi,dd as je,F,bR as Sd,T as TT,S as Wy,b as U,a7 as va,X as br,z as z$1,a as P,j as jw,k as Cs,n as Lg,J as JC,m as hl,o as aC,u as sI,a5 as Dl,v as cC,a9 as vC,A as Ag,a3 as ZI,q as dC,ac as CC,x as xg,y as qg,a6 as QI,w as fC,a8 as em,aa as Sf,ab as _f,bk as wh}from'./main-4LGWVPVH.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-CPuMGlfm.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(),em(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);xg("href","/agentos/"+e.namespaceId+"/agent-configs/new",wh);}}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;xg("value",e.id),sI(),em(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);xg("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;xg("value",e.value),sI(),em(e.label);}}function be(n,t){if(n&1){let e=vC();Cs(0,"label",48)(1,"input",49),Lg("change",function(){let g=Sf(e).$implicit,v=CC(3);return _f(v.toggleDay(g.value))}),hl(),Cs(2,"span",50),JC(3),hl()();}if(n&2){let e=t.$implicit,d=CC(3);sI(),xg("checked",d.isDaySelected(e.value)),sI(2),em(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;xg("value",e.value),sI(),em(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()(),Ag(5,"input",52),ZI(),aC(6,Oe,2,0,"span",12),hl()),n&2){let e=CC(2);sI(5),qg("scheduled-prompt-form__input--invalid",e.form.hasError("endDateRequired")&&e.endDateControl.touched),xg("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()(),Ag(5,"input",54),ZI(),aC(6,Te,2,0,"span",12),hl()),n&2){let e=CC(2);sI(5),qg("scheduled-prompt-form__input--invalid",e.form.hasError("occurrenceCountRequired")&&e.occurrenceCountControl.touched),xg("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(),em(e.errorMessage());}}function Fe(n,t){if(n&1){let e=vC();Cs(0,"form",7),Lg("ngSubmit",function(){Sf(e);let g=CC();return _f(g.submit())}),Cs(1,"div",8)(2,"label",9),JC(3," Name "),Cs(4,"span",10),JC(5,"*"),hl()(),Ag(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(),Ag(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()(),Ag(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),Ag(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()(),Ag(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),Ag(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(),Ag(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),Lg("click",function(){Sf(e);let g=CC();return _f(g.cancel())}),JC(92,"Cancel"),hl()()();}if(n&2){let e=CC();xg("formGroup",e.form),sI(6),qg("scheduled-prompt-form__input--invalid",e.nameControl.invalid&&e.nameControl.touched),xg("formControl",e.nameControl),QI(),sI(),cC(e.nameControl.invalid&&e.nameControl.touched?7:-1),sI(6),xg("formControl",e.descriptionControl),QI(),sI(6),cC(e.isEditMode()?19:e.availableAgentConfigs().length===0?20:21),sI(8),qg("scheduled-prompt-form__textarea--invalid",e.promptContentControl.invalid&&e.promptContentControl.touched),xg("formControl",e.promptContentControl),QI(),sI(),cC(e.promptContentControl.invalid&&e.promptContentControl.touched?28:-1),sI(11),xg("formControl",e.unitControl),QI(),sI(),fC(e.schedulerUnits),sI(2),cC(e.showDayFilter()?42:-1),sI(7),xg("formControl",e.timeUtcControl),QI(),sI(3),cC(e.timeUtcControl.invalid&&e.timeUtcControl.touched?52:-1),sI(9),qg("scheduled-prompt-form__input--invalid",e.startDateControl.invalid&&e.startDateControl.touched),xg("formControl",e.startDateControl),QI(),sI(),cC(e.startDateControl.invalid&&e.startDateControl.touched?62:-1),sI(6),xg("formControl",e.endTypeControl),QI(),sI(),fC(e.endTypes),sI(2),cC(e.showEndDate()?71:-1),sI(),cC(e.showOccurrenceCount()?72:-1),sI(3),xg("formControl",e.enabledControl),QI(),sI(8),xg("formControl",e.externalMetadataJsonControl),QI(),sI(),cC(e.externalMetadataJsonControl.invalid&&e.externalMetadataJsonControl.touched?84:-1),sI(3),cC(e.errorMessage()?87:-1),sI(2),xg("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(ve$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(Pe$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=ve$1;SchedulerEndType=Pe$1;schedulerUnits=[{value:ve$1.WEEK,label:"Week(s)"},{value:ve$1.MONTH,label:"Month(s)"}];endTypes=[{value:Pe$1.NEVER,label:"Never"},{value:Pe$1.ON_DATE,label:"On date"},{value:Pe$1.OCCURRENCES,label:"After N occurrences"}];dayOptions=Object.entries(je).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()===ve$1.WEEK);showEndDate=TT(()=>this.endTypeSignal()===Pe$1.ON_DATE);showOccurrenceCount=TT(()=>this.endTypeSignal()===Pe$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),Wy({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===Pe$1.ON_DATE?this.endDateControl.value??void 0:void 0,maxOccurrenceCount:e===Pe$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),Lg("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===Pe$1.ON_DATE&&!e?{endDateRequired:true}:null}function Ve(n){let t=n.get("endType")?.value,e=n.get("occurrenceCount")?.value;return t===Pe$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};
|